:root{--navy:#10131d;--sky:#abc4e6;--paper:#fff;--ink:#171c29;--muted:#566171;--line:#d6dde6;--dark-line:#343b4a;--body:'DM Sans',Arial,sans-serif;--display:'Newsreader',Georgia,serif;--gutter:clamp(24px,5.6vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;font-family:var(--body);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}button{color:inherit}p,h1,h2,h3,h4,figure{margin:0}h1,h2,h3,h4{font-weight:400;line-height:1.08}h2{font-size:clamp(42px,4.8vw,72px);letter-spacing:-.045em}h2 em,h3 em{font-family:var(--display);font-weight:400;color:inherit;letter-spacing:-.04em}img,svg{display:block;max-width:100%}button{border-radius:0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:var(--sky);color:var(--navy)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}.section{padding-block:110px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:11px;line-height:1.5;display:flex;align-items:center;gap:16px}.line{height:1px;width:44px;background:currentColor;display:block}.section-number{font-size:10px;font-weight:400;letter-spacing:.08em;opacity:.65}.dark-section{background:var(--navy);color:var(--paper)}.dark-section .eyebrow{color:var(--sky)}.dark-section h2 em,.dark-section h3 em{color:var(--sky)}.text-link{display:inline-flex;align-items:center;gap:24px;font-weight:500;font-size:14px;text-decoration:none;padding:10px 0;border:0;border-bottom:1px solid transparent;background:none;transition:border-color .2s}.text-link:hover{border-color:currentColor}.text-link span{font-size:20px;line-height:1;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:58px;padding:16px 24px;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:23px;line-height:1;font-weight:400}.button-sky{color:var(--navy);background:var(--sky)}.button-sky:hover{background:#c5d7ee}.button-navy{color:var(--paper);background:var(--navy)}.button-navy:hover{background:#2b3447}.skip{position:fixed;z-index:200;top:10px;left:14px;padding:12px 18px;background:var(--sky);color:var(--navy);transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.js-control{display:none}.js .js-control{display:inline-flex}[hidden]{display:none!important}

/* The small preview strip belongs only to this independent design study. */
.preview-bar{height:31px;padding-inline:var(--gutter);background:var(--sky);color:var(--navy);font-size:10px;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;gap:15px}.preview-bar>span{display:flex;gap:9px;align-items:center}.preview-bar i{width:5px;height:5px;border-radius:50%;background:var(--navy)}.preview-bar a{text-decoration:none;display:flex;gap:16px;align-items:center}.preview-bar a:hover{text-decoration:underline}.masthead{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--paper);border-bottom:1px solid var(--dark-line)}.header-inner{height:89px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand svg{width:40px;height:34px;fill:var(--sky)}.lockup{display:flex;flex-direction:column}.wordmark{font-family:var(--display);font-size:30px;line-height:1;letter-spacing:-.035em;font-weight:600}.tagline{font-size:8px;letter-spacing:.45em;text-transform:uppercase;color:var(--sky);margin-top:7px;line-height:1}.desktop-nav{display:flex;gap:38px;align-items:center;font-size:13px}.desktop-nav>a{text-decoration:none;position:relative;transition:color .2s}.desktop-nav>a:hover{color:var(--sky)}.desktop-nav .nav-contact{display:flex;align-items:center;gap:28px;margin-left:15px;padding:10px 0;border-bottom:1px solid #69768d}.nav-contact span{font-size:20px}.menu-toggle{display:none!important;background:none;border:0;align-items:center;gap:17px;min-height:48px;padding:4px 0;font-size:13px}.menu-icon{width:21px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(-45deg)}.mobile-nav{padding:10px var(--gutter) 27px;border-top:1px solid var(--dark-line)}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--dark-line);font-size:17px}.mobile-nav a span{font-size:11px;color:var(--sky)}

.hero{position:relative;isolation:isolate;min-height:690px;height:min(800px,calc(100svh - 120px));color:var(--paper);background:var(--navy);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:58% 52%;animation:architectural-drift 26s ease-in-out infinite alternate;transform:scale(1.065);will-change:transform}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,16,29,.82),rgba(10,16,29,.56) 47%,rgba(10,16,29,.17)),linear-gradient(0deg,rgba(10,16,29,.88),transparent 35%)}.hero-content{padding-top:clamp(64px,6.5vw,106px);padding-bottom:118px}.hero .eyebrow{color:#dce6f4;font-size:10px;letter-spacing:.17em}.hero h1{font-size:clamp(66px,7.3vw,110px);letter-spacing:-.055em;line-height:1.04;margin:36px 0 24px;max-width:1120px}.hero h1 em{font-family:var(--display);font-weight:400;color:#c5d8f2;font-size:1.08em;letter-spacing:-.047em}.hero-description{font-size:clamp(16px,1.35vw,20px);line-height:1.7;max-width:480px;color:#e2e8f2;text-wrap:pretty}.hero-actions{display:flex;align-items:center;gap:37px;margin-top:29px}.hero-actions .text-link{font-size:14px;gap:20px}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;font-size:11px;line-height:1.55;color:#d2dcea}
@keyframes architectural-drift{from{transform:scale(1.065) translate3d(-1.2%,0,0)}to{transform:scale(1.14) translate3d(1.2%,-1%,0)}}

.introduction{display:grid;grid-template-columns:.7fr 2fr auto;gap:50px;align-items:start;padding-block:80px}.introduction>.eyebrow{padding-top:10px;color:var(--muted)}.introduction>div{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:45px}.introduction h2{font-size:clamp(30px,2.65vw,40px);letter-spacing:-.035em;line-height:1.15}.introduction h2 em{color:#536d90}.introduction p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;max-width:400px}.circle-link{border:1px solid var(--line);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:23px;margin-top:6px;transition:background .2s}.circle-link:hover{background:var(--sky)}

.section-heading{display:grid;grid-template-columns:1.65fr 1fr;gap:90px;align-items:end;margin-bottom:58px}.section-heading h2{margin-top:27px}.section-heading>p{font-size:16px;line-height:1.8;max-width:370px;justify-self:end;color:var(--muted);padding-bottom:5px}.dark-section .section-heading>p{color:#bac6d7}.applications{padding-bottom:100px}.application-explorer{display:grid;grid-template-columns:1.12fr 1fr;gap:50px;align-items:center}.orbit-block{min-width:0}.orbit{height:525px;position:relative;max-width:650px;margin:auto}.orbit-art{position:absolute;inset:0}.orbit-ring{position:absolute;width:74%;aspect-ratio:1;border:1px solid #313d50;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.inner-ring{width:44%;border-color:#252f40}.orbit-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:148px;height:148px;border-radius:50%;background:#abc4e609;border:1px solid #59677c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;box-shadow:0 0 0 15px #abc4e603}.orbit-core svg{width:48px;height:41px;fill:var(--sky)}.orbit-core span{text-transform:uppercase;letter-spacing:.13em;font-size:8px;color:#b4c2d8}.orbit-tracer{position:absolute;width:74%;aspect-ratio:1;top:50%;left:50%;margin:0;translate:-50% -50%;animation:orbit-turn 45s linear infinite;border-radius:50%;border:1px solid transparent;border-top-color:#abc4e66e;transform:rotate(20deg)}.orbit-tracer span{position:absolute;width:6px;height:6px;top:14.6%;right:14.6%;background:var(--sky);box-shadow:0 0 14px #abc4e6;border-radius:50%}.orbit-cross{position:absolute;font-size:13px;color:#62738d;line-height:1}.cross-one{left:34%;top:33%}.cross-two{right:33%;bottom:31%}.orbit-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:45px;background:var(--navy);color:#b3bfd1;padding:7px 14px 7px 7px;font-size:13px;line-height:1.4;text-align:left;white-space:nowrap;min-height:52px;transition:background .2s,color .2s,border-color .2s}.node-number{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #48566c;border-radius:50%;font-size:10px;color:#cad7e9}.node-1{left:50%;top:11%}.node-2{left:82%;top:40%}.node-3{left:72%;top:83%}.node-4{left:26%;top:83%}.node-5{left:17%;top:40%}.orbit-node[aria-selected=true]{background:var(--sky);color:var(--navy);border-color:#abc4e6}.orbit-node[aria-selected=true] .node-number{background:var(--navy);color:var(--sky);border-color:var(--navy)}.orbit-node:hover:not([aria-selected=true]){border-color:#7187a8;color:white;background:#1a2130}.orbit-hint{font-size:10px;color:#9aabc2;text-align:center;margin:13px 0 0;display:flex;align-items:center;justify-content:center;gap:13px}.orbit-hint>span{font-size:19px}.application-panel{position:relative;min-width:0;padding:31px 35px 24px;border:1px solid #3c475c;background:linear-gradient(135deg,#273247 0%,#1a2332 76%);align-self:stretch;display:flex;flex-direction:column}.application-panel:before{content:'';position:absolute;left:-1px;top:-1px;height:3px;width:67px;background:var(--sky);transition:width .3s}.panel-topline{display:flex;justify-content:space-between;gap:15px;align-items:center}.panel-topline .eyebrow{font-size:9px;letter-spacing:.1em;line-height:1.6}.panel-star{color:#b6c7e0;font-size:20px}.application-panel h3{font-size:clamp(32px,3.15vw,49px);letter-spacing:-.045em;line-height:1.09;margin-top:29px}.application-description{font-size:14px;color:#c5cfde;line-height:1.8;margin-top:21px;max-width:520px}.application-steps{padding:0;margin:23px 0 0;list-style:none}.application-steps li{border-top:1px solid #455064;padding:12px 0;display:flex;align-items:center;gap:14px;font-size:13px}.application-steps li:last-child{border-bottom:1px solid #455064}.application-steps li span{color:var(--sky);font-size:16px}.application-boundary{font-size:11px;line-height:1.75;color:#c1ccdc;margin-top:20px;max-width:500px}.panel-bottom{padding-top:20px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-bottom .text-link{font-size:12px;color:var(--sky);gap:24px;white-space:nowrap}.example-label{font-size:9px;color:#9dacbf;text-align:right;max-width:90px}.no-script-note{padding-top:20px}.no-script-note a{text-decoration:underline}@keyframes orbit-turn{to{transform:rotate(380deg)}}

.approach{background:#f3f6fa}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:65px;border-top:1px solid #bdcbdc;border-bottom:1px solid #bdcbdc}.stage{padding:33px 38px 30px 0;min-width:0}.stage+ .stage{padding-left:38px;border-left:1px solid #bdcbdc}.stage:last-child{padding-right:0}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#4e6685}.stage-top svg{width:40px;height:40px;stroke:#557498;stroke-width:1.2}.stage h3{font-family:var(--display);font-size:43px;letter-spacing:-.035em;margin-top:36px}.stage>p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:20px;min-height:132px}.stage-deliverable{margin-top:28px;padding-top:23px;border-top:1px solid #bdcbdc}.stage-deliverable>span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#566b85}.stage-deliverable p{font-size:14px;line-height:1.7;margin-top:9px}.data-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:110px}.data-intro h2{font-size:clamp(37px,3.5vw,54px);margin-top:27px;line-height:1.12}.data-intro h2 em{color:#536d90}.data-intro>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:360px;line-height:1.8;margin-top:25px}.data-intro>.text-link{margin-top:25px;font-size:12px}.data-accordions{border-top:1px solid var(--line)}.data-accordions details{border-bottom:1px solid var(--line)}summary{cursor:pointer}summary::-webkit-details-marker{display:none}.data-accordions summary{list-style:none;display:flex;align-items:center;gap:17px;padding:25px 0;font-size:18px;line-height:1.45}.accordion-number{font-size:10px;color:#6b7b90;margin-right:4px}.accordion-plus{margin-left:auto;font-weight:400;font-size:25px;color:#6d7f98;transition:transform .2s}.data-accordions details[open] .accordion-plus{transform:rotate(45deg)}.accordion-body{padding:0 28px 26px 39px}.accordion-body p{font-size:13px;line-height:1.85;color:var(--muted)}.accordion-body p+p{margin-top:15px}

.background{padding-top:110px;padding-bottom:94px;overflow:hidden}.background-heading{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:75px}.background-heading h2{margin-top:28px;font-size:clamp(41px,4.5vw,68px)}.background-heading>p{font-size:15px;line-height:1.8;color:#bac6d7;max-width:330px;justify-self:end;padding-bottom:5px}.logo-ribbon{margin-top:62px;padding-block:30px;border-top:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.logo-track{width:max-content;display:flex}.js .logo-track{animation:logo-scroll var(--ribbon-duration,50s) linear infinite;will-change:transform}.logo-set{display:flex;gap:18px;padding-right:18px;flex-shrink:0}.credential{margin:0;width:224px;height:156px;background:#f3f6fb;color:#36475b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:26px 25px 21px;border-radius:2px}.credential-mark{height:65px;display:flex;align-items:center;justify-content:center;width:100%}.credential-mark img{width:auto;max-width:165px;height:auto;max-height:58px;object-fit:contain;mix-blend-mode:normal;filter:none}.credential-catalyst .credential-mark img{width:58px}.credential figcaption{text-transform:uppercase;letter-spacing:.1em;font-size:8px;line-height:1.5}.logo-ribbon:hover .logo-track,.logo-ribbon:focus-within .logo-track{animation-play-state:paused}.ribbon-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px}.ribbon-caption p{font-size:10px;color:#aebcd0;line-height:1.8;max-width:610px}.founder-row{display:grid;grid-template-columns:220px 1fr 190px;gap:75px;border-top:1px solid var(--dark-line);padding-top:68px;margin-top:65px;align-items:center}.founder-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:none}.founder-photo figcaption{font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.055em;display:block;padding-top:16px;color:var(--paper)}.founder-photo figcaption span{color:#aebbd0;font-size:10px}.founder-copy h3{font-size:37px;line-height:1.14;letter-spacing:-.035em;margin-bottom:23px}.founder-copy>p{font-size:13px;line-height:1.9;color:#becadb;max-width:530px}.founder-copy>p+p{margin-top:12px}.founder-copy .text-link{margin-top:15px;color:var(--sky);font-size:12px}.founder-aside{align-self:stretch;display:flex;justify-content:space-between;flex-direction:column;border-left:1px solid var(--dark-line);padding-left:35px;padding-block:10px}.founder-aside>span{font-size:21px;line-height:1.5;letter-spacing:-.02em;color:#a9b7cd}.founder-aside svg{width:60px;height:51px;fill:#526078}@keyframes logo-scroll{to{transform:translate3d(calc(var(--ribbon-shift,50%)*-1),0,0)}}

.contact{background:var(--sky);color:var(--navy);position:relative;isolation:isolate;overflow:hidden;padding-block:110px}.contact-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:115px;position:relative;z-index:2}.contact h2{margin-top:30px;font-size:clamp(49px,5.1vw,77px);line-height:1.02;letter-spacing:-.05em}.contact h2 em{letter-spacing:-.045em}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:385px;margin-top:24px;color:#2b3e58}.contact-copy .button{margin-top:30px}.contact-copy>.booking-note{font-size:10px!important;margin-top:13px!important}.direct-contact{margin-top:44px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;word-break:break-word}.direct-contact a:first-child{font-size:15px}.direct-contact a:last-child{font-size:13px;text-decoration:none}.contact-form-panel{padding-top:7px;min-width:0}.contact-form-panel>.eyebrow{font-size:10px;margin-bottom:34px}.js #inquiry-form{display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{margin-bottom:23px;min-width:0}.field label{display:block;font-size:11px;margin-bottom:9px;font-weight:500}.field label span{font-size:10px;opacity:.75;font-weight:400}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #6b83a0;background:#d0def050;min-height:48px;padding:11px 13px;color:var(--navy);border-radius:0;box-shadow:none;line-height:1.5;font-size:14px;max-width:100%}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--navy)}.field input:focus,.field textarea:focus,.field select:focus{background:#e5edf8;outline:2px solid var(--navy);outline-offset:2px}.field textarea{min-height:119px;resize:vertical}.field textarea::placeholder{color:#445b78;font-size:12px}.field select{padding-right:30px;cursor:pointer}.form-submit{font-size:12px;min-height:53px;padding:13px 23px}.form-note{font-size:10px;line-height:1.7;color:#304763;margin-top:13px}.form-status{font-size:11px;line-height:1.7;margin-top:10px}.contact-geometry{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.contact-square{position:absolute;right:-180px;top:20%;width:690px;aspect-ratio:1;border:1px solid #314d7433;animation:square-turn 110s linear infinite;transform:rotate(31deg)}.square-two{right:-90px;top:27%;width:510px;border-color:#314d7424;animation-direction:reverse;animation-duration:150s;transform:rotate(12deg)}@keyframes square-turn{to{transform:rotate(391deg)}}

.footer{padding-block:47px 24px}.footer-top{display:flex;align-items:center;gap:50px;padding-bottom:40px}.footer-top .brand .wordmark{font-size:26px}.footer-top .brand svg{width:35px;height:30px}.footer-top>p{font-size:12px;color:#aebcd1}.footer-top>.text-link{margin-left:auto;font-size:11px;color:var(--sky)}.footer-bottom{padding-top:22px;border-top:1px solid var(--dark-line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;line-height:1.7;color:#adbcd0}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}.footer-draft{color:#8698b0}

/* Native dialog gives the examples focus containment and Escape-to-close. */
dialog{position:fixed;border:1px solid #556078;width:min(960px,calc(100% - 48px));max-height:88svh;padding:0;color:var(--ink);background:#f5f7fa;overscroll-behavior:contain;overflow:auto;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#080d18b8;backdrop-filter:blur(5px)}.dialog-heading{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#f5f7fa;padding:26px 34px;border-bottom:1px solid var(--line)}.dialog-heading .eyebrow{font-size:9px;color:#5c708b}.dialog-heading h2{font-size:29px;letter-spacing:-.03em;margin-top:7px}.dialog-close{height:44px;width:44px;border:1px solid #bac8d9;background:none;font-size:28px;line-height:1;display:grid;place-items:center}.dialog-close:hover{background:var(--sky)}#example-content{display:grid;grid-template-columns:.9fr 1.2fr;gap:34px;padding:34px}.workflow-story h3{font-family:var(--display);font-size:34px;letter-spacing:-.035em;line-height:1.1;margin-bottom:21px}.workflow-story>p{font-size:13px;line-height:1.9;color:var(--muted)}.workflow-story .workflow-boundary{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:24px;color:#3d5676}.workflow-contact{display:inline-block;margin-top:24px;font-size:12px;text-decoration:none;border-bottom:1px solid #96aac4;padding-bottom:5px}.sample{padding:24px;background:#fff;border:1px solid #cfdae7;min-width:0}.sample-header{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:8px;line-height:1.6;border-bottom:1px solid var(--line);padding-bottom:14px;letter-spacing:.05em}.sample-label{color:#576d89;white-space:nowrap}.sample h4{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin-top:19px}.sample-intro{font-size:12px;line-height:1.85;color:var(--muted);margin-top:14px}.tracker-record{margin:20px 0;font-size:11px;border-top:1px solid var(--line)}.tracker-record>div{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid var(--line);padding-block:10px}.tracker-record dt{color:var(--muted)}.tracker-record dd{margin:0;text-align:right;font-weight:500}.review-question{border-left:2px solid var(--sky);padding:4px 0 4px 14px;margin-top:18px}.small-label{font-size:8px;font-weight:600;letter-spacing:.12em;color:#546c8b}.review-question p{font-size:11px;line-height:1.8;color:#4c5c70;margin-top:7px}.sample details{margin-top:23px;border-top:1px solid var(--line)}.sample summary{display:flex;justify-content:space-between;gap:10px;font-size:10px;padding-top:13px;list-style:none}.sample summary>span{font-size:17px}.source-content{font-size:10px;line-height:1.8;color:var(--muted);padding-top:14px}.source-content ul{padding-left:14px;margin:0}.source-content li+li{margin-top:10px}.source-content p{margin-top:12px}.source-content b{color:var(--ink)}.source-table{font-size:9px;width:100%;border-collapse:collapse;margin-block:7px}.source-table caption{text-align:left;font-size:9px;margin-bottom:7px}.source-table td,.source-table th{text-align:right;border-bottom:1px solid var(--line);padding:7px 3px;vertical-align:top}.source-table th:first-child{text-align:left}.source-table tbody th{font-weight:400}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:17px 0;margin-top:18px;border-block:1px solid var(--line)}.metric-row>div>span{display:block;font-size:9px;color:var(--muted)}.metric-row strong{display:block;font-family:var(--display);font-weight:400;font-size:27px;line-height:1.3;margin-top:6px}.email-preview{padding:20px 0;margin-top:20px;border-block:1px solid var(--line)}.email-preview p{font-size:12px;line-height:1.85;margin-top:10px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 34px;border-top:1px solid var(--line)}.dialog-footer p{font-size:10px;color:var(--muted)}.dialog-footer .text-link{font-size:12px}

/* Small screens keep the same content with a direct, readable selector. */
@media(min-width:1700px){.hero{min-height:790px}.hero h1{font-size:116px}.hero-content{padding-top:100px}.hero-description{max-width:510px}.application-explorer{gap:80px}.orbit{height:570px}.orbit-node{font-size:15px}.application-panel{padding:38px 43px 30px}.application-description{font-size:16px}.application-steps li{font-size:15px}.application-boundary{font-size:12px}}
@media(max-width:1199px){:root{--gutter:40px}.section{padding-block:86px}.desktop-nav{gap:25px;font-size:12px}.desktop-nav .nav-contact{margin-left:0;gap:20px}.introduction{grid-template-columns:1fr auto;gap:24px;padding-block:60px}.introduction>.eyebrow{grid-column:1/-1;padding-top:0}.introduction>div{grid-template-columns:1fr 1.3fr;gap:50px}.section-heading{gap:45px;grid-template-columns:1.5fr 1fr}.section-heading>p{font-size:14px}.application-explorer{gap:28px;grid-template-columns:1.03fr 1fr}.orbit{height:480px}.orbit-core{width:124px;height:124px}.orbit-node{font-size:11px;gap:8px;padding-right:11px}.node-number{width:31px;height:31px;flex-basis:31px;font-size:9px}.node-2{left:79%}.node-5{left:19%}.application-panel{padding:26px 26px 20px}.application-description{font-size:13px}.application-steps li{font-size:12px}.application-panel h3{font-size:36px}.stage{padding-right:28px}.stage+.stage{padding-left:28px}.stage>p{font-size:13px;min-height:148px}.data-layout{gap:60px}.data-accordions summary{font-size:16px;gap:12px}.background-heading{gap:40px}.background-heading>p{font-size:13px}.founder-row{grid-template-columns:200px 1fr 150px;gap:42px}.founder-aside{padding-left:24px}.founder-aside>span{font-size:18px}.contact-layout{gap:70px}.contact h2{font-size:60px}}
@media(max-width:899px){.header-inner{height:78px}.desktop-nav{gap:22px}.desktop-nav>a:not(.nav-contact){display:none}.desktop-nav .nav-contact{font-size:12px;padding:8px 0}.section-heading{grid-template-columns:1fr;gap:25px;align-items:start;margin-bottom:40px}.section-heading>p{justify-self:start;max-width:550px;padding-bottom:0}.section-heading h2{font-size:54px;margin-top:23px}.application-explorer{grid-template-columns:1fr;gap:30px}.orbit{max-width:600px;height:510px}.orbit-ring,.orbit-tracer{width:70%}.orbit-core{width:150px;height:150px}.orbit-node{font-size:14px;gap:12px}.node-number{width:38px;height:38px;flex-basis:38px;font-size:11px}.node-2{left:80%}.node-5{left:19%}.application-panel{padding:32px;min-height:0}.application-panel h3{font-size:43px;max-width:600px}.application-description{max-width:640px;font-size:15px}.application-steps li{font-size:14px}.application-boundary{font-size:12px}.panel-bottom .text-link{font-size:13px}.example-label{font-size:10px;max-width:none}.stage-grid{margin-top:43px}.stage{padding-right:22px}.stage+.stage{padding-left:22px}.stage h3{font-size:36px}.stage>p{min-height:185px}.stage-deliverable p{font-size:12px}.data-layout{grid-template-columns:1fr;gap:37px}.data-intro h2{font-size:48px}.data-intro>p:not(.eyebrow){max-width:570px}.data-accordions summary{font-size:19px}.accordion-body p{font-size:14px}.background-heading{grid-template-columns:1fr;gap:26px}.background-heading h2{font-size:52px}.background-heading>p{justify-self:start;max-width:550px;font-size:15px}.founder-row{grid-template-columns:185px 1fr;gap:42px}.founder-aside{display:none}.contact-layout{gap:45px;grid-template-columns:1fr 1fr}.contact h2{font-size:51px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-copy .button{font-size:12px;gap:24px;padding-inline:18px}.direct-contact a:first-child{font-size:12px}.contact-form-panel>.eyebrow{margin-bottom:25px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:18px}.contact-copy>.booking-note{max-width:240px}.footer-bottom{flex-wrap:wrap}.footer-draft{display:none}}
@media(max-width:649px){:root{--gutter:24px}html{scroll-padding-top:88px}.section{padding-block:65px}h2{font-size:43px}.preview-bar{height:30px;font-size:8px;letter-spacing:.035em}.preview-bar>span{gap:6px}.preview-bar a{gap:8px}.preview-label{display:none}.header-inner{height:72px}.brand{gap:10px}.brand svg{width:31px;height:27px}.wordmark{font-size:25px}.tagline{font-size:6px;margin-top:6px}.desktop-nav{display:none}.js .menu-toggle{display:inline-flex!important}.hero{height:auto;min-height:660px}.hero-content{padding-top:66px;padding-bottom:152px}.hero-image img{object-position:60% 50%}.hero-shade{background:linear-gradient(90deg,#0a101dcf,#0a101d4d),linear-gradient(0deg,#0a101dee,transparent 68%)}.hero .eyebrow{font-size:8px;gap:12px;letter-spacing:.13em}.hero .line{width:25px}.hero h1{font-size:clamp(46px,9.8vw,64px);letter-spacing:-.058em;line-height:1.1;margin-top:37px;margin-bottom:25px}.hero h1 em{font-size:1.08em}.hero-description{max-width:340px;font-size:16px;line-height:1.75}.hero-actions{gap:26px;flex-wrap:wrap;margin-top:31px}.hero-actions .button{min-height:53px;font-size:12px;padding:13px 18px;gap:30px}.hero-actions .text-link{font-size:12px;gap:15px}.hero-bottom{bottom:23px;font-size:10px;gap:18px;align-items:end}.introduction{padding-block:45px;gap:25px}.introduction>.eyebrow{font-size:9px}.introduction>div{display:block}.introduction h2{font-size:35px}.introduction p:not(.eyebrow){font-size:13px;line-height:1.85;margin-top:21px;max-width:410px}.circle-link{width:41px;height:41px;font-size:20px;margin-top:0}.eyebrow{font-size:9px;gap:12px}.section-heading{gap:22px;margin-bottom:29px}.section-heading h2{font-size:43px;margin-top:23px;line-height:1.08}.section-heading>p{font-size:13px;line-height:1.85}.application-explorer{gap:20px}.orbit{height:auto;max-width:none}.orbit-art{display:none}.orbit-tabs{display:flex;overflow-x:auto;gap:9px;padding:6px 2px 16px;scrollbar-width:thin;scrollbar-color:#526581 transparent;scroll-snap-type:x proximity}.orbit-node{position:static;transform:none;flex-shrink:0;white-space:nowrap;padding:8px 14px 8px 8px;border:1px solid #404d64;border-radius:0;gap:10px;font-size:12px;scroll-snap-align:start}.orbit-node br{display:none}.orbit-node br:after{content:' '}.node-number{height:29px;width:29px;flex-basis:29px;font-size:9px}.orbit-hint{justify-content:flex-start;text-align:left;font-size:9px;margin:0 0 8px;gap:9px}.application-panel{padding:24px 22px 19px}.panel-topline .eyebrow{font-size:8px}.application-panel h3{font-size:34px;line-height:1.12;margin-top:23px}.application-description{font-size:13px;margin-top:19px;line-height:1.8}.application-steps{margin-top:21px}.application-steps li{font-size:12px;gap:10px;padding:12px 0}.application-boundary{font-size:10px}.panel-bottom{padding-top:14px}.panel-bottom .text-link{font-size:11px;gap:15px}.example-label{font-size:8px;max-width:78px}.stage-grid{grid-template-columns:1fr;margin-top:31px}.stage,.stage+.stage{padding:25px 0!important;border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.stage+.stage{border-top:1px solid #bdcbdc}.stage-top{grid-column:1/-1}.stage-top svg{width:32px;height:32px}.stage h3{grid-column:1/-1;margin-top:4px;font-size:36px}.stage>p{grid-column:1/-1;min-height:0;margin-top:0;font-size:13px}.stage-deliverable{grid-column:1/-1;margin-top:0;padding-top:0;border:0;display:flex;gap:35px;align-items:start}.stage-deliverable>span{padding-top:8px;white-space:nowrap;font-size:8px}.stage-deliverable p{font-size:12px;margin-top:4px}.stage-deliverable p br{display:none}.stage-deliverable p br:after{content:' '}.data-layout{gap:30px}.data-intro h2{font-size:40px;margin-top:23px}.data-intro>p:not(.eyebrow){font-size:13px;line-height:1.85;margin-top:21px}.data-intro>.text-link{font-size:11px;margin-top:16px}.data-accordions summary{font-size:16px;gap:10px;padding:23px 0}.accordion-number{font-size:8px;margin-right:0}.accordion-body{padding-left:24px;padding-right:0}.accordion-body p{font-size:12px}.background-heading h2{font-size:39px;margin-top:23px;line-height:1.12}.background-heading{gap:22px}.background-heading>p{font-size:13px}.logo-ribbon{margin-top:35px;padding-block:20px}.credential{width:183px;height:132px;padding:20px 20px 16px;gap:13px}.logo-set{gap:13px;padding-right:13px}.credential-mark{height:57px}.credential-mark img{max-width:142px;max-height:48px}.credential-catalyst .credential-mark img{width:49px;max-height:49px}.credential figcaption{font-size:7px}.ribbon-caption{gap:15px;align-items:start;margin-top:16px}.ribbon-caption p{font-size:9px;max-width:290px}.founder-row{grid-template-columns:1fr;gap:30px;padding-top:37px;margin-top:33px}.founder-photo{max-width:190px}.founder-copy h3{font-size:35px;margin-bottom:20px}.founder-copy>p{font-size:13px}.founder-copy .text-link{font-size:11px}.contact-layout{grid-template-columns:1fr;gap:49px}.contact h2{font-size:56px;line-height:1.04;margin-top:26px}.contact-copy>p:not(.eyebrow){font-size:14px;max-width:360px;margin-top:23px}.contact-copy .button{margin-top:25px}.direct-contact{margin-top:27px}.direct-contact a:first-child{font-size:13px}.direct-contact a:last-child{font-size:12px}.contact-copy>.booking-note{max-width:none}.contact-form-panel{border-top:1px solid #7d98ba;padding-top:31px}.contact-form-panel>.eyebrow{font-size:9px}.form-row{grid-template-columns:1fr 1fr;gap:15px}.field input,.field textarea,.field select{font-size:16px;min-height:48px}.field label{font-size:10px}.contact-square{right:-310px;top:30%;width:700px}.square-two{right:-200px;top:48%;width:510px}.footer{padding-block:34px 24px}.footer-top{gap:25px;flex-wrap:wrap;padding-bottom:26px}.footer-top .brand .wordmark{font-size:24px}.footer-top>p{font-size:10px;order:3;width:100%;margin-top:-10px}.footer-top>.text-link{font-size:10px;margin-left:auto;gap:14px}.footer-bottom{font-size:8px;gap:12px}.footer-bottom a{width:100%}dialog{width:calc(100% - 24px);max-height:92svh}.dialog-heading{padding:19px 20px}.dialog-heading h2{font-size:25px}.dialog-close{height:39px;width:39px;font-size:24px}#example-content{grid-template-columns:1fr;padding:23px 20px;gap:25px}.workflow-story h3{font-size:30px}.workflow-story>p{font-size:12px}.workflow-story .workflow-boundary{margin-top:17px;padding-top:15px}.workflow-contact{margin-top:16px;font-size:11px}.sample{padding:20px}.sample h4{font-size:20px}.sample-header{gap:9px;font-size:7px}.dialog-footer{padding:17px 20px;display:block}.dialog-footer .text-link{margin-top:9px;font-size:11px}.source-table{font-size:8px}}
@media(max-width:359px){:root{--gutter:19px}.hero h1{font-size:42px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:14px;gap:19px}.hero h1 em{font-size:1.08em}.section-heading h2,.background-heading h2{font-size:35px}.application-panel{padding:22px 17px}.application-panel h3{font-size:31px}.application-steps li{font-size:11px}.data-accordions summary{font-size:14px}.contact h2{font-size:49px}.form-row{grid-template-columns:1fr;gap:0}.panel-bottom .text-link{gap:13px}.sample{padding:16px}.metric-row{gap:7px}.metric-row strong{font-size:23px}}

/* Reduced motion: nothing animates and every logo is laid out in a static grid. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-image img{transform:scale(1.065);will-change:auto}.logo-ribbon{mask-image:none;-webkit-mask-image:none}.logo-track{transform:none;will-change:auto;width:100%}.logo-set{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:0 var(--gutter)}.credential{width:100%}.logo-duplicate{display:none!important}.button:hover{transform:none}}
@media(prefers-reduced-motion:reduce) and (max-width:899px){.logo-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce) and (max-width:420px){.logo-set{gap:10px}.credential{padding-inline:12px}.credential-mark img{max-width:100%}}

@media(max-width:899px){.js .desktop-nav{display:none}.js .menu-toggle{display:inline-flex!important}}
html:not(.js) .logo-ribbon{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
html:not(.js) .logo-set{padding-inline:var(--gutter)}
@media(max-width:649px){html:not(.js) .desktop-nav{display:flex}}

/* Original site copy, fitted to the approved draft design. */
.hero{height:auto;min-height:740px}.hero-content{padding-bottom:150px}.hero-description{max-width:565px}.hero-audience{max-width:270px}.applications{border-top:1px solid var(--dark-line)}
.application-description{font-size:15px;line-height:1.85;margin-top:27px}.application-boundary{border-top:1px solid #455064;padding-top:24px;margin-top:30px}.application-contact{align-self:flex-start;margin-top:18px;color:var(--sky);font-size:12px}.application-panel .panel-bottom{border-top:1px solid #455064;margin-top:30px;padding-top:18px}
.data-accordions .data-policies{border-top:1px solid var(--line);border-bottom:0;margin-top:22px}.data-accordions .data-policies>summary{font-size:13px;padding:17px 0;justify-content:space-between}.data-policies .policy-toggle{font-size:19px;transition:transform .2s}.data-policies[open] .policy-toggle{transform:rotate(45deg)}.data-policies>p{margin-top:12px}.provider-links{display:flex;flex-wrap:wrap;gap:7px 20px;margin-block:16px}.provider-links a{display:inline-flex;gap:7px;align-items:center;min-height:31px;font-size:11px;line-height:1.7;text-decoration:underline;text-decoration-color:#a3b4ca}.provider-links a:hover{text-decoration-color:currentColor}.model-group{margin-top:24px}.model-group h3{font:500 10px/1.6 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#53677f;margin-bottom:8px}.model-links{display:flex;flex-wrap:wrap;gap:3px 20px;list-style:none;padding:0;margin:0}.model-links a{display:inline-flex;align-items:center;gap:7px;font-size:13px;min-height:36px;text-decoration:none;border-bottom:1px solid transparent}.model-links a:hover{border-color:currentColor}.model-note{margin-top:22px!important}
.background-heading>p{max-width:420px}.background-ribbon-label{margin-top:51px}.background-ribbon-label+.logo-ribbon{margin-top:20px}.background-ribbon-label .eyebrow{font-size:10px}.founder-copy>p{font-size:15px;max-width:620px}.founder-aside{justify-content:center}.footer-details{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:0 0 35px}.footer-navigation,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}.footer-details .footer-label{color:var(--sky);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.footer-details a{text-decoration:none;overflow-wrap:anywhere}.footer-details a:hover{color:var(--sky)}.footer-contact>p:last-child{color:#adbcd0;font-size:11px;margin-top:10px}
@media(min-width:650px){.stage{display:flex;flex-direction:column}.stage h3{font-size:clamp(25px,2.55vw,40px);overflow-wrap:anywhere}.stage>p{min-height:0;flex:1}.stage-deliverable{margin-top:26px}}
@media(max-width:899px){.desktop-nav{gap:25px}.application-panel{min-height:470px}.application-panel .panel-bottom{margin-top:auto;padding-top:19px}.application-contact{margin-bottom:27px}.background-heading>p{max-width:600px}.founder-copy>p{font-size:14px}}
@media(max-width:649px){.hero{min-height:660px}.hero-content{padding-bottom:150px}.hero-description{max-width:420px}.hero-audience{max-width:180px}.application-panel{min-height:0}.application-description{font-size:13px;margin-top:21px}.application-boundary{margin-top:23px;padding-top:19px}.application-contact{font-size:11px;margin-top:12px;margin-bottom:22px;gap:15px}.application-panel .panel-bottom{padding-top:14px}.background-ribbon-label{margin-top:32px}.background-ribbon-label .eyebrow{font-size:9px}.founder-copy>p{font-size:13px}.provider-links{gap:6px 17px}.provider-links a{font-size:10px}.footer-details{grid-template-columns:1fr;gap:29px;padding-bottom:28px}.model-links a{min-height:40px}.footer-top>p{margin-top:0}}

/* ==========================================================================
   Design study 02 refinements. Copy, structure and the Terrain mark are unchanged.
   Unconditional rules come first, then one block per breakpoint, so nothing here
   silently outranks a responsive rule above.
   ========================================================================== */
:root{--slate:#536d90;--ease:cubic-bezier(.22,.7,.2,1)}
html{scroll-padding-top:90px;scrollbar-gutter:stable;background:var(--navy)}
body{text-rendering:optimizeLegibility;font-kerning:normal}
h1,h2,h3{text-wrap:balance}
.hero-description,.section-heading>p,.background-heading>p,.stage>p,.stage-deliverable p,.accordion-body p,.founder-copy>p,.application-description,.application-boundary,.contact-copy>p,.ribbon-caption p,.form-note{text-wrap:pretty}

/* Arrows are drawn, not typeset: the bundled fonts have no diagonal arrow, and the
   system fallback differs by device (phones can substitute a color emoji). */
.ico{display:inline-block;flex:none;width:.62em;height:.62em;overflow:hidden;text-indent:120%;white-space:nowrap;line-height:1;vertical-align:-.02em;background:currentColor;-webkit-mask:var(--ico-src) center/100% 100% no-repeat;mask:var(--ico-src) center/100% 100% no-repeat;transition:transform .35s var(--ease)}
.ico-ne{--ico-src:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M3.5 12.5 12 4M5.5 3.75h6.75v6.75'/%3E%3C/svg%3E")}
.ico-s{--ico-src:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M8 2.5v10.5M3.25 8.75 8 13.5l4.75-4.75'/%3E%3C/svg%3E")}
.ico-n{--ico-src:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M8 13.5V3M3.25 7.25 8 2.5l4.75 4.75'/%3E%3C/svg%3E")}
.text-link .ico,.button .ico,.nav-contact .ico{width:.7em;height:.7em}
.preview-bar .ico,.provider-links .ico,.model-links .ico,.footer-bottom .ico,.workflow-contact .ico{width:.78em;height:.78em}
.mobile-nav a .ico{width:12px;height:12px}
a:hover>.ico-ne,button:hover>.ico-ne,a:focus-visible>.ico-ne,button:focus-visible>.ico-ne{transform:translate(2px,-2px)}
a:hover>.ico-s,a:focus-visible>.ico-s{transform:translateY(3px)}
a:hover>.ico-n,a:focus-visible>.ico-n{transform:translateY(-3px)}

/* The study strip shares the page's measure on wide screens. */
.preview-bar{padding-inline:max(var(--gutter),calc((100% - 1440px)/2))}

/* Header: reading progress along the lower edge, quiet underline on hover. */
.masthead{transition:box-shadow .4s ease}
.masthead.is-scrolled{box-shadow:0 22px 44px -30px rgba(3,6,12,.85)}
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sky);transform:scaleX(0);transform-origin:0 50%;pointer-events:none;z-index:2}
html:not(.js) .scroll-progress{display:none}
.desktop-nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--sky);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}
.desktop-nav>a:not(.nav-contact):hover::after,.desktop-nav>a:not(.nav-contact):focus-visible::after{transform:scaleX(1)}
.desktop-nav .nav-contact{transition:border-color .25s,color .2s}
.desktop-nav .nav-contact:hover{border-bottom-color:var(--sky)}
.button{transition:background-color .25s,transform .35s var(--ease),box-shadow .35s var(--ease)}
.button-sky:hover{box-shadow:0 14px 30px -18px rgba(171,196,230,.65)}
.button-navy:hover{box-shadow:0 14px 30px -18px rgba(16,19,29,.7)}

/* Mobile menu: the toggle resolves into a true close mark, the list eases in,
   and it scrolls inside short landscape screens instead of running off them. */
.menu-icon{border:0;position:relative;transition:none}
.menu-icon::before,.menu-icon::after{content:'';position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.menu-icon::before{top:0}
.menu-icon::after{top:11px}
.menu-toggle[aria-expanded=true] .menu-icon{transform:none}
.menu-toggle[aria-expanded=true] .menu-icon::before{top:5.5px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon::after{top:5.5px;transform:rotate(-45deg)}
.mobile-nav{max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav:not([hidden]){animation:menu-in .4s var(--ease)}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Hero: copy settles in once; the photograph keeps its slow drift and fades in when it has loaded. */
.hero .eyebrow{font-size:11px}
.hero-bottom{font-size:12px}
.reveal-pending .hero-image img{opacity:0;transition:opacity 1.4s ease}
.reveal-pending .hero-image img.is-loaded,.reveal-all .hero-image img{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .hero .eyebrow,.hero h1,.hero-description,.hero-actions,.hero-bottom{animation:hero-rise 1.1s var(--ease) both}
  .hero h1{animation-delay:.08s}.hero-description{animation-delay:.2s}.hero-actions{animation-delay:.3s}.hero-bottom{animation-delay:.55s}
}
@keyframes hero-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

/* Sections settle as they are reached. Armed by the inline script in <head>, which also
   shows everything if site.js never runs; without any script nothing is hidden at all. */
.reveal-pending:not(.reveal-all) [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.reveal-pending:not(.reveal-all) [data-reveal=fade]{transform:none}
.reveal-pending:not(.reveal-all) [data-reveal].is-in{opacity:1;transform:none}

/* Applications: the panel copy cross-fades between selections; both rules run the full width. */
.application-panel>*{transition:opacity .17s ease,transform .17s ease}
.application-panel>.text-link{transition:opacity .17s ease,transform .17s ease,border-color .2s}
.application-panel.is-switching>*:not(.panel-bottom){opacity:0;transform:translateY(5px)}
.application-panel.is-switching:before{width:0}
.application-boundary{max-width:none;padding-right:max(0px,calc(100% - 500px));font-size:12px}
.panel-topline .eyebrow{font-size:10px}
.panel-star{width:15px;height:15px}
.application-contact,.panel-bottom .text-link{font-size:13px}
.orbit-core span{font-size:8.5px}

/* One accent rule for the italic phrase: sky on navy, slate on light grounds. */
.approach h2 em{color:var(--slate)}
.stage-deliverable>span{font-size:10px}

/* Data and tools */
.accordion-plus,.data-policies .policy-toggle{transition:transform .2s,color .2s}
.data-accordions>details>summary:hover .accordion-plus,.data-policies>summary:hover .policy-toggle{color:var(--navy)}
.accordion-number{font-size:11px;color:#5a697f}
.accordion-body p{font-size:14px}
.provider-links a{font-size:12px}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .data-accordions details::details-content{height:0;overflow:clip;transition:height .5s var(--ease),content-visibility .5s allow-discrete}
  .data-accordions details[open]::details-content{height:auto}
}

/* Experience ribbon: official artwork in each organization's own colors, all on one white card.
   Widths are optical, so marks of very different proportions carry similar weight. */
.logo-ribbon:focus-visible{outline:2px solid var(--sky);outline-offset:-5px}
.background-ribbon-label .eyebrow{font-size:11px}
.credential{background:#fff;color:#3d4d63;border-radius:3px;--logo-scale:1}
.credential-mark img,.credential-catalyst .credential-mark img{width:calc(var(--w,150px)*var(--logo-scale));max-width:100%;height:auto;max-height:none}
.credential-keystone{--w:166px}
.credential-landmark{--w:166px}
.credential-stahl{--w:122px}
.credential-cor{--w:150px}
.credential-catalyst{--w:68px}
.credential-hines{--w:116px}
.credential-destined{--w:174px}
.credential-emory{--w:152px}
.credential figcaption{font-size:9px;letter-spacing:.14em;font-weight:500}
.ribbon-caption p{font-size:12px;max-width:640px}

/* Contact: fields sit above the line drawing rather than letting it run through typed text. */
.contact .section-number{opacity:.82}
.contact-form-panel>.eyebrow{font-size:11px}
.contact-copy>.booking-note{font-size:12px!important}
.field label{font-size:12px}
.field label span{font-size:11px}
.field input,.field textarea,.field select{background-color:#b8cdea;transition:border-color .2s,background-color .2s}
.field select,.field select:focus{-webkit-appearance:none;appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%2310131d' stroke-width='1.4'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:11px 8px}
.form-note,.form-status{font-size:12px}

/* Footer */
.footer-top>.text-link{font-size:12px}
.footer-contact>p:last-child{font-size:12px}
.footer-bottom{font-size:11px}

/* Example dialog: small print raised to a readable floor. */
.sample-header{font-size:9.5px}
.small-label{font-size:9px}
.review-question p,.tracker-record,.workflow-story .workflow-boundary,.sample summary,.dialog-footer p{font-size:12px}
.source-content{font-size:11.5px}
.source-table,.source-table caption,.metric-row>div>span{font-size:10.5px}
dialog::backdrop{-webkit-backdrop-filter:blur(5px)}
dialog[open]{animation:dialog-in .35s var(--ease)}
dialog[open]::backdrop{animation:fade-in .3s ease-out}
@keyframes dialog-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Anchor targets land flush under the header at every size (the header is 90, 79 and 73px tall). */
@media(max-width:899px){html{scroll-padding-top:79px}}

/* Short laptop screens: keep both hero actions above the fold. */
@media(min-width:900px) and (max-height:780px){
  .hero{min-height:0}
  .hero-content{padding-top:clamp(34px,5.5vh,56px);padding-bottom:104px}
  .hero h1{font-size:clamp(52px,min(6.4vw,11.5vh),96px);margin:24px 0 18px}
  .hero-description{font-size:clamp(15px,1.2vw,18px);line-height:1.62}
  .hero-actions{margin-top:24px}
}

@media(min-width:650px){
  .orbit-node[aria-selected=true]{box-shadow:0 0 0 7px rgba(171,196,230,.09)}
}

@media(max-width:649px){
  html{scroll-padding-top:73px}
  .credential{--logo-scale:.84}
  .hero .eyebrow{font-size:9.5px}
  .hero-bottom{font-size:11.5px}
  .eyebrow{font-size:10px}
  .orbit-tabs.is-scrollable:not(.is-at-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 46px),transparent)}
  .panel-topline .eyebrow{font-size:9.5px}
  .application-contact,.panel-bottom .text-link{font-size:12.5px}
  .stage-deliverable>span{font-size:9.5px}
  .accordion-number{font-size:10px}
  .accordion-body p{font-size:13.5px}
  .background-ribbon-label .eyebrow,.contact-form-panel>.eyebrow{font-size:10px}
  .credential figcaption{font-size:8.5px;letter-spacing:.12em}
  .ribbon-caption p{font-size:11.5px;max-width:none}
  .footer-top>p,.footer-top>.text-link{font-size:12px}
  .workflow-story>p{font-size:13px}
  .sample-header{font-size:9px}
  .source-table,.source-table caption{font-size:10px}
  .metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .metric-row strong{font-size:clamp(18px,5.2vw,27px);white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){
  .logo-set{padding-inline:max(var(--gutter),calc((100% - 1440px)/2))}
}

@media(forced-colors:active){
  .ico{forced-color-adjust:none;background:CanvasText}
  .orbit-node[aria-selected=true]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .orbit-node[aria-selected=true] .node-number{background:HighlightText;color:Highlight;border-color:HighlightText}
  .field select,.field select:focus{-webkit-appearance:auto;appearance:auto;background-image:none;padding-right:13px}
  .contact-geometry{display:none}
  .scroll-progress{background:Highlight}
}

@media print{
  .skip,.preview-bar,.scroll-progress,.menu-toggle{display:none!important}
  .masthead{position:static}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .hero-image img{opacity:1!important}
}


/* ==========================================================================
   Design studies 03 and 04. Section 01 is a ring of functions around the firm's
   brain, a section explains the brain, and the contact band takes the slate blue
   of the function panel (study 04). Everything above this line is study 02, unchanged.
   ========================================================================== */

main section[tabindex="-1"]:focus,main [id][tabindex="-1"]:focus,body[tabindex="-1"]:focus{outline:none}
/* Over the photograph the default ring (the button's own navy) measured 1.19:1. */
.hero .button-sky:focus-visible{outline-color:#fff}
/* "All functions" and a tapped function land clear of the sticky header. */
#functions{scroll-margin-top:20px}.fn-panel{scroll-margin-top:16px}

/* Hero: his paragraph is the statement; one quieter line of examples sits under it. The bottom line carries
   the audience on the left and independence on the right, and the spacing keeps both on the first screen. */
.hero-description{max-width:610px}
.hero-example{margin-top:14px;max-width:610px;font-size:14.5px;line-height:1.7;color:#d5deeb;text-wrap:pretty}
.hero-independence{max-width:280px;text-align:right;text-wrap:balance}
@media(min-width:650px) and (min-height:781px){.hero-content{padding-top:clamp(56px,4.9vw,80px);padding-bottom:122px}.hero h1{margin-bottom:20px}.hero-actions{margin-top:25px}}
@media(min-width:900px) and (max-height:780px){.hero-example{font-size:13.5px;line-height:1.6;margin-top:9px}.hero-actions{margin-top:20px}}
@media(max-width:649px){.hero-content{padding-top:40px}.hero h1{margin-top:24px;margin-bottom:16px}.hero-description{line-height:1.6}.hero-example{font-size:13.5px;line-height:1.55;margin-top:10px;max-width:340px}.hero-actions{margin-top:22px;gap:14px 26px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:5px}.hero-audience,.hero-independence{max-width:none;text-align:left}}

/* Two-line display headings: the italic phrase is a block, so each line balances on its own
   (text-wrap: balance does nothing across a <br>). */
.hero h1 em,.section-heading h2 em,.background-heading h2 em,.data-intro h2 em,.contact h2 em{display:block}

/* --- Blue options. A Slate is the default: the blue of the function panel, chosen by Andrew on Sept 19.
   The study strip switches to B Cobalt (study 03's default) and C Sky (the live palette) for comparison. --- */
.contact{--c-bg:linear-gradient(135deg,#273247 0%,#1b2433 78%);--c-ink:#fff;--c-soft:#cdd7e6;--c-em:#c5d8f2;--c-line:#56647c;--c-square:rgba(171,196,230,.5);--c-square-2:rgba(171,196,230,.3);--c-card:#1a2130;--c-card-line:#46536a;--c-field:#141a27;--c-field-focus:#0f1420;--c-field-border:#6b7c98;--c-field-ink:#fff;--c-placeholder:#93a3ba;--c-note:#b4c1d4;--c-btn:var(--sky);--c-btn-ink:var(--navy);--c-btn-hover:#c5d7ee;--c-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23ffffff' stroke-width='1.4'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E")}
html[data-palette=cobalt] .contact{--c-bg:#244989;--c-soft:#d9e4f5;--c-line:#6f8cc0;--c-square:rgba(171,196,230,.62);--c-square-2:rgba(171,196,230,.4);--c-card:#20407d;--c-card-line:rgba(171,196,230,.34);--c-field:#1b3872;--c-field-focus:#173063;--c-field-border:#86a2d2;--c-placeholder:#b5c6e3;--c-note:#cdd9ee}
html[data-palette=sky] .contact{--c-bg:#abc4e6;--c-ink:#10131d;--c-soft:#2b3e58;--c-em:inherit;--c-line:#7d98ba;--c-square:rgba(16,19,29,.42);--c-square-2:rgba(16,19,29,.27);--c-card:#b3cae9;--c-card-line:#8ea9cc;--c-field:#c0d3ee;--c-field-focus:#e5edf8;--c-field-border:#4f6685;--c-field-ink:#10131d;--c-placeholder:#445b78;--c-note:#304763;--c-btn:var(--navy);--c-btn-ink:#fff;--c-btn-hover:#2b3447;--c-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%2310131d' stroke-width='1.4'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E")}
.contact{background:var(--c-bg);color:var(--c-ink);border-top:1px solid #2c3546}
.contact h2 em{color:var(--c-em)}
.contact-copy>p:not(.eyebrow){color:var(--c-soft);max-width:430px}
.contact-copy>.contact-desks{margin-top:26px;padding-top:22px;border-top:1px solid var(--c-line);font-size:14px;line-height:1.8}
.contact-copy>.contact-desks+.contact-desks{margin-top:14px;padding-top:0;border-top:0}
.contact-desks+.direct-contact{margin-top:26px}
/* The two-desk link sits on the band, not on a function panel, so it takes the band's own ink. */
.contact-desks .application-contact{display:inline;align-self:auto;margin:0;color:var(--c-ink);font-size:inherit;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.contact-desks .application-contact .ico{width:.68em;height:.68em}
.contact .eyebrow,.direct-contact a,.field label,.form-status{color:var(--c-ink)}
.contact-layout{grid-template-columns:1.2fr 1fr;gap:88px;align-items:start}
.contact h2{font-size:clamp(40px,4.35vw,66px);line-height:1.04}
/* The form sits on its own card, so the line drawing passes behind it instead of through the labels. */
.contact-form-panel{position:relative;padding:34px 36px 30px;border:1px solid var(--c-card-line);background:var(--c-card)}
.contact-form-panel>.eyebrow{margin-bottom:28px}
.field input,.field textarea,.field select{border-color:var(--c-field-border);background-color:var(--c-field);color:var(--c-field-ink)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--c-ink)}
.field input:focus,.field textarea:focus,.field select:focus{background-color:var(--c-field-focus);outline-color:var(--c-ink)}
.field textarea::placeholder{color:var(--c-placeholder)}
.field select,.field select:focus{background-image:var(--c-chevron)}
.field select option{color:#10131d;background:#fff}
/* Chrome paints autofilled fields pale blue; keep the card's own field color and ink instead. */
.field input:-webkit-autofill,.field input:-webkit-autofill:hover,.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--c-field-ink);caret-color:var(--c-field-ink);box-shadow:0 0 0 1000px var(--c-field) inset;transition:background-color 9999s}
.form-note{color:var(--c-note)}
.contact-square{border-color:var(--c-square)}
.square-two{border-color:var(--c-square-2)}
.button-band{color:var(--c-btn-ink);background:var(--c-btn)}
.button-band:hover{background:var(--c-btn-hover);box-shadow:0 14px 30px -18px rgba(3,6,12,.6)}
.contact .button-band:focus-visible{outline-color:var(--c-ink)}

/* Study strip: the blue switcher. ?present=1 hides the strip for a showing. */
.preview-bar{gap:12px}
.palette-switch{align-items:center;gap:5px;margin-inline:auto 0}
.js .palette-switch{display:flex}
.palette-label{text-transform:uppercase;letter-spacing:.1em;opacity:.72;margin-right:5px}
.palette-switch button{display:inline-flex;align-items:center;gap:4px;min-height:22px;min-width:24px;justify-content:center;padding:0 9px;border:1px solid rgba(16,19,29,.4);border-radius:20px;background:transparent;color:var(--navy);font-size:10px;letter-spacing:.04em;line-height:1;transition:background-color .2s,color .2s}
.palette-switch button b{font-weight:600}
.palette-switch button:hover{background:rgba(16,19,29,.1)}
.palette-switch button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.palette-switch button:focus-visible{outline-offset:2px}
.preview-bar>a{margin-left:18px}
html[data-present] .preview-bar,html[data-present] .footer-draft{display:none}

/* --- 01 Across your firm: the ring. Every numbered badge sits exactly on the ring and its label reads outward. --- */
.fn-explorer{align-items:center}
html:not(.js) .fn-explorer{align-items:start}
.orbit.fn-orbit{height:auto;aspect-ratio:1.18;max-width:650px;container-type:inline-size;--ar:1.18;--r:29%;--rq:29cqw;--core-r:74px;--anchor:26px}
.fn-orbit .orbit-ring,.fn-orbit .orbit-tracer{width:calc(var(--r)*2)}
.fn-orbit .orbit-tracer span{margin:-3px -3px 0 0}
.fn-orbit .inner-ring{width:34%}
.fn-orbit .cross-one{left:6%;top:9%}
.fn-orbit .cross-two{right:6%;bottom:9%}
.fn-node{left:calc(50% + var(--r)*var(--sx));top:calc(50% - var(--r)*var(--ar)*var(--cx));z-index:2}
.fn-node .node-label{display:block}
.fn-east{transform:translate(calc(var(--anchor)*-1),-50%)}
.fn-west{transform:translate(calc(-100% + var(--anchor)),-50%);flex-direction:row-reverse;text-align:right;padding:7px 7px 7px 14px}
.fn-north,.fn-south{gap:7px;padding:7px 14px;text-align:center;border-radius:30px}
.fn-north{flex-direction:column-reverse;padding-top:9px;transform:translate(-50%,calc(-100% + var(--anchor)))}
.fn-south{flex-direction:column;padding-bottom:9px;transform:translate(-50%,calc(var(--anchor)*-1))}
.orbit-node:focus-visible,.fn-chip:focus-visible{outline-color:var(--sky)}
.fn-spokes{position:absolute;inset:0;pointer-events:none}
.fn-spoke{--len:calc(var(--rq) - var(--core-r) - 34px);position:absolute;left:50%;top:50%;width:1px;height:var(--len);background:linear-gradient(to bottom,rgba(171,196,230,.18),rgba(171,196,230,.7));transform-origin:0 0;transform:rotate(calc(var(--a) + 180deg)) translateY(calc(var(--core-r) + 10px));opacity:0;transition:opacity .5s var(--ease)}
.fn-spoke.is-on{opacity:1}
.fn-spoke::after{content:'';position:absolute;left:-2.5px;top:100%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--sky);box-shadow:0 0 12px var(--sky);opacity:0}
.fn-spoke.is-on::after{animation:spoke-pulse 2.8s cubic-bezier(.5,0,.35,1) infinite}
@keyframes spoke-pulse{0%{transform:translateY(0);opacity:0}14%{opacity:1}80%{opacity:1}100%{transform:translateY(calc(var(--len)*-1));opacity:0}}
.fn-core{z-index:3;text-decoration:none;color:inherit;gap:11px;transition:border-color .3s,background-color .3s,box-shadow .4s var(--ease)}
.fn-core svg{width:40px;height:34px}
.fn-core span{font-size:10px;letter-spacing:.12em;text-align:center;line-height:1.35}
.fn-core small{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;color:var(--sky);letter-spacing:.02em}
.fn-core small .ico{width:8px;height:8px}
.fn-core:hover,.fn-core:focus-visible{border-color:var(--sky);background:#abc4e614;box-shadow:0 0 0 15px #abc4e608}
.fn-orbit.is-firmwide .inner-ring{border-color:#abc4e688}
.fn-orbit.is-firmwide .fn-core{border-color:#abc4e6aa}

/* Firm-wide row */
.fn-firmwide{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:4px;padding-top:22px;border-top:1px solid var(--dark-line);max-width:650px;margin-inline:auto}
.fn-firmwide .eyebrow{font-size:10px;color:#9aabc2}
.fn-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fn-chip{min-height:40px;padding:0 16px;border:1px solid #404d64;border-radius:40px;background:transparent;color:#b3bfd1;font-size:12.5px;line-height:1;transition:background-color .2s,color .2s,border-color .2s}
.fn-chip:hover:not([aria-selected=true]){border-color:#7187a8;color:#fff;background:#1a2130}
.fn-chip[aria-selected=true]{background:var(--sky);border-color:var(--sky);color:var(--navy)}

/* Function panels */
.fn-panels{min-width:0;align-self:stretch}
html.reveal-pending:not(.js) .fn-panel:not(.is-active){display:none}
html.reveal-all:not(.js) .fn-panel{display:flex!important}
html:not(.js) .fn-panel+.fn-panel{margin-top:18px}
.js .fn-panel:not(.is-active){display:none}
.fn-panel h3{font-size:clamp(29px,2.6vw,41px);margin-top:24px}
.fn-panel h3 span{display:block}
.fn-panel .application-description{margin-top:18px;font-size:14.5px;line-height:1.78;max-width:none}
.fn-workflows{margin-top:20px}
.fn-workflows li{justify-content:space-between;min-height:46px;padding:4px 0;font-size:13.5px;color:#e4eaf3}
.fn-workflows li span{font-size:inherit;color:inherit}
.fn-example{align-items:center;gap:10px;flex:none;padding:8px 0;border:0;border-bottom:1px solid transparent;background:none;color:var(--sky);font-size:12px;font-weight:500;white-space:nowrap;transition:border-color .2s}
.fn-example:hover{border-bottom-color:currentColor}
.fn-workflows li .fn-example .ico{width:.72em;height:.72em;font-size:12px}
.fn-also{margin-top:14px;font-size:13px;line-height:1.72;color:#c5cfde;text-wrap:pretty}
.application-description+.fn-also{margin-top:20px;padding-top:16px;border-top:1px solid #455064}
.fn-also .small-label,.fn-keeps .small-label{font-size:10px;color:#9fb4d3;text-transform:uppercase}
.fn-also .small-label{margin-right:8px}
.fn-keeps{display:grid;grid-template-columns:1fr 1.55fr;gap:28px;margin-top:22px;padding-top:22px;border-top:1px solid #455064}
.fn-keeps .small-label{display:block}
.fn-keeps p:not(.small-label){font-size:12.5px;line-height:1.72;color:#c5cfde;margin-top:8px;text-wrap:pretty}
.fn-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:16px;border-top:1px solid #455064}
.fn-keeps{padding-bottom:26px}
.fn-foot .application-contact{margin:0}
.fn-back{display:none;align-items:center;gap:9px;padding:10px 0;font-size:12px;color:#9fb4d3;text-decoration:none}
.fn-back:hover{color:#fff}
.fn-back .ico{width:.7em;height:.7em}
@media(prefers-reduced-motion:no-preference){.js .fn-panel.is-active>*{animation:panel-in .5s var(--ease) both}.js .fn-panel.is-active>*:nth-child(n+3){animation-delay:.05s}.js .fn-panel.is-active>*:nth-child(n+5){animation-delay:.1s}}
@keyframes panel-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Beside the ring, every panel shares one grid cell, so the tallest reserves the height and
   nothing below the section moves when the function changes. */
@media(min-width:1100px){
  .js .fn-panels{display:grid}
  .js .fn-panels>.fn-panel{grid-area:1/1}
  .js .fn-panels>.fn-panel:not(.is-active){display:flex;visibility:hidden;pointer-events:none}
}

/* --- 02 The firm's brain --- */
.brain{background:var(--paper)}
.brain h2 em{color:var(--slate)}
.brain-main{display:grid;grid-template-columns:1.02fr 1fr;gap:90px;align-items:center}
.brain-loop{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto;container-type:inline-size}
.loop-art{position:absolute;inset:0}
.loop-ring,.loop-tracer{position:absolute;inset:11%;border-radius:50%}
.loop-ring{border:1px solid #c3cfdf}
.loop-tracer{border:1px solid transparent;border-top-color:#5b779f;transform:rotate(20deg);animation:orbit-turn 44s linear infinite}
.loop-tracer span{position:absolute;top:14.6%;right:14.6%;width:7px;height:7px;margin:-3.5px -3.5px 0 0;border-radius:50%;background:#244989;box-shadow:0 0 0 4px rgba(36,73,137,.14)}
.loop-arrow{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-top:1.5px solid #5b779f;border-right:1.5px solid #5b779f}
.arrow-1{left:77.58%;top:22.42%;transform:rotate(90deg)}
.arrow-2{left:77.58%;top:77.58%;transform:rotate(180deg)}
.arrow-3{left:22.42%;top:77.58%;transform:rotate(270deg)}
.arrow-4{left:22.42%;top:22.42%;transform:rotate(0deg)}
.station{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:6px 17px 6px 6px;border:1px solid #c3cfdf;border-radius:40px;background:#fff;color:var(--ink);font-size:13.5px;white-space:nowrap}
.station i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--sky);font-style:normal;font-size:10px}
.station-1{left:50%;top:11%}
.station-2{left:89%;top:50%}
.station-3{left:50%;top:89%}
.station-4{left:11%;top:50%}
.loop-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46%;padding:1.9em 1.8em 1.5em;background:var(--navy);color:#fff;font-size:12px;font-size:clamp(10px,2.2cqw,12.5px);box-shadow:0 30px 60px -34px rgba(16,19,29,.55)}
.loop-core svg{width:2.9em;height:2.45em;fill:var(--sky)}
.loop-core .small-label{display:block;margin-top:1.3em;font-size:max(10px,.76em);color:#9fb4d3;text-transform:uppercase}
.loop-core ul{list-style:none;margin:.8em 0 0;padding:0;line-height:1.4}
.loop-core li{padding:.5em 0;border-top:1px solid #2c3546;color:#dbe4f1}
.brain-copy>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:570px;text-wrap:pretty}
.brain-copy>p+p{margin-top:16px}
.brain-copy>.brain-definition{font-size:17px;line-height:1.75;color:var(--ink)}
.loop-steps{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line);max-width:570px}
.loop-steps li{display:grid;grid-template-columns:46px 1fr;padding:16px 0 17px;border-bottom:1px solid var(--line)}
.step-number{padding-top:7px;font-size:10.5px;color:#4e6685}
.loop-steps h3{font-family:var(--display);font-size:23px;letter-spacing:-.025em;line-height:1.2}
.loop-steps p{font-size:13.5px;line-height:1.72;color:var(--muted);margin-top:4px;text-wrap:pretty}
.brain-notes{--note-gap:54px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--note-gap) 90px;margin-top:84px;padding-top:56px;border-top:1px solid var(--line)}
@media(min-width:900px){@supports(grid-template-rows:subgrid){.brain-notes{row-gap:0}.brain-notes>div{display:grid;grid-row:span 2;grid-template-rows:subgrid;align-content:start}.brain-notes>div:nth-child(n+3){margin-top:var(--note-gap)}.brain-notes h3{align-self:end}}}
.brain-notes h3{font-family:var(--display);font-size:30px;letter-spacing:-.033em;line-height:1.16;text-wrap:balance}
.brain-notes p{font-size:14px;line-height:1.82;color:var(--muted);margin-top:15px;text-wrap:pretty}
.brain-promises{list-style:none;margin:70px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #bdcbdc}
.brain-promises li{padding:32px 38px 32px 0}
.brain-promises li+li{padding-left:38px;border-left:1px solid #bdcbdc}
.brain-promises li:last-child{padding-right:0}
.brain-promises h3{font-family:var(--display);font-size:29px;letter-spacing:-.03em;line-height:1.15}
.brain-promises p{font-size:13.5px;line-height:1.82;color:var(--muted);margin-top:13px;text-wrap:pretty}
.brain-measure{display:grid;grid-template-columns:230px 1fr;gap:34px;margin-top:36px;padding:26px 30px;background:#f3f6fa;border-left:2px solid var(--slate)}
.brain-measure .small-label{font-size:10px;text-transform:uppercase;padding-top:6px}
.brain-measure p:last-child{font-size:14px;line-height:1.8;color:#3c4a5e;text-wrap:pretty}

/* Approach: the pilot paragraph runs longer now, so the stage copy sets its own height. */
.stage{display:flex;flex-direction:column}
.stage>p{min-height:0;margin-bottom:28px}
.stage-deliverable{margin-top:auto}

/* Data: independence statement; open weights as a sentence */
.data-intro>.data-independence{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:var(--ink)}
.model-group>.model-note{margin-top:8px}
.data-intro>p{text-wrap:pretty}.stage-deliverable p{text-wrap:balance}
/* Accordion numbers share one left edge, and each body starts under its label. */
.accordion-number{flex:0 0 18px;margin-right:4px}.accordion-body{padding-left:39px}
@media(max-width:1199px){.accordion-body{padding-left:34px}}
@media(max-width:649px){.accordion-number{flex-basis:14px;margin-right:0}.accordion-body{padding-left:24px}}

/* About: the note sits above the ribbon so it is read first; captions are one line, as on the live site.
   ?logos=text sets each organization's name in type instead of its logo. */
.background-ribbon-label{display:flex;align-items:end;justify-content:space-between;gap:16px 40px;flex-wrap:wrap}
.ribbon-note{font-size:12px;line-height:1.7;color:#aebcd0;max-width:560px;text-wrap:pretty}
.credential{height:158px;gap:14px;padding:22px 18px 18px}
.credential figcaption{text-align:center;font-size:10px;letter-spacing:.11em}
.credential figcaption span{display:block;margin-top:4px;font-size:10.5px;letter-spacing:.01em;font-weight:400;text-transform:none;color:#56667b}
.credential-name{display:none}
html[data-logos=text] .credential-mark img{display:none}
html[data-logos=text] .credential-name{display:block;font-family:var(--display);font-size:21px;line-height:1.14;letter-spacing:-.02em;color:#1d2433;text-align:center;text-wrap:balance}
@media(max-width:649px){html[data-logos=text] .credential-name{font-size:17px}}
.background .founder-row{border-top:0;margin-top:8px}
.founder-photo figcaption strong,.founder-photo figcaption span{display:block}
.founder-photo figcaption strong{font-weight:700}
.founder-photo figcaption span{font-size:12px;margin-top:2px}

/* Footer: site notice and a quiet motion control. Pausing stops the ambient loops only;
   entrance animations must still run, or panels, dialogs and the menu would stay invisible. */
.footer-notice{margin:0 0 26px;padding:26px max(0px,calc(100% - 980px)) 0 0;border-top:1px solid var(--dark-line);font-size:11.5px;line-height:1.8;color:#93a4bb;text-wrap:pretty}
.motion-toggle{padding:4px 0;border:0;background:none;color:#adbcd0;font-size:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#5b6a80}
.motion-toggle:hover{color:#fff}
html.motion-paused :is(.hero-image img,.orbit-tracer,.loop-tracer,.logo-track,.contact-square),html.motion-paused .fn-spoke::after{animation-play-state:paused!important}

/* Example dialog: readable floor for the proof, citations beside statements, new block types */
.dialog-heading .eyebrow{font-size:10px}
.workflow-story>p+p:not(.workflow-boundary){margin-top:12px}
.sample-label{letter-spacing:.04em}
.sample-intro,.review-question p,.tracker-record,.check-list{font-size:13px}
.source-content{font-size:12.5px}
.sample details[open]>summary>span{transform:rotate(45deg)}
.sample summary>span{transition:transform .25s var(--ease)}
.sample summary{align-items:center}
.cite{display:inline-block;margin-left:2px;font-size:10.5px;letter-spacing:.03em;color:#546c8b;white-space:normal}
.cite::before{content:'['}.cite::after{content:']'}
.record-long>div{display:grid;grid-template-columns:118px 1fr;gap:14px;justify-content:start}
.record-long dd{text-align:left;font-weight:400;color:var(--ink);line-height:1.65}
.review-question p+p{margin-top:9px}
.check-list{margin:7px 0 0;padding-left:17px;line-height:1.75;color:#4c5c70}
.check-list li+li{margin-top:8px}
.check-list li::marker{color:#546c8b;font-size:.92em}
.compare-table{margin-top:18px;font-size:12.5px}
.compare-table caption{font-size:11px;color:var(--muted);padding-bottom:4px}
.compare-table th,.compare-table td{text-align:left;padding:9px 6px 9px 0;line-height:1.5}
.compare-table thead th{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#546c8b}
.compare-table tbody th{color:var(--muted)}
.compare-table tr.is-flagged td:first-of-type{color:var(--ink);font-weight:600}
.compare-table tr.is-flagged th::after{content:' \2022';color:#244989}

/* ---- breakpoints ---- */
/* Hero scrim: tied to the text column rather than to a percentage of the viewport, so the copy clears AA
   (4.5:1 body, 3:1 display) against any pixel of the photograph as it drifts, at every width. */
.hero-shade{--hero-left:max(var(--gutter),calc((100% - 1440px)/2));background:linear-gradient(90deg,rgba(10,16,29,.84) 0,rgba(10,16,29,.66) calc(var(--hero-left) + 600px),rgba(10,16,29,.58) calc(var(--hero-left) + 800px),rgba(10,16,29,.17) 100%),linear-gradient(0deg,rgba(10,16,29,.88),transparent 35%)}
@media(max-width:649px){.hero-shade{background:linear-gradient(90deg,rgba(10,16,29,.86),rgba(10,16,29,.66)),linear-gradient(0deg,#0a101dee,transparent 68%)}}
@media(min-width:1700px){.orbit.fn-orbit{--r:28%;--rq:28cqw}.fn-panel h3{font-size:44px}.fn-keeps p:not(.small-label),.fn-also{font-size:13.5px}.fn-workflows li{font-size:15px}.fn-chip{font-size:14px}}
@media(max-width:1399px){
  .orbit.fn-orbit{--r:27%;--rq:27cqw;--anchor:24px}
  .fn-orbit .orbit-node{font-size:12px;gap:9px;min-height:48px}
  .fn-orbit .fn-north,.fn-orbit .fn-south{gap:6px}
  .fn-orbit .node-number{width:32px;height:32px;flex-basis:32px;font-size:9.5px}
}
@media(max-width:1199px){
  .orbit.fn-orbit{--core-r:62px}
  .fn-orbit .orbit-node{font-size:11.5px}
  .fn-core svg{width:32px;height:27px}
  .fn-core{gap:8px}
  .fn-chip{font-size:11.5px;padding:0 13px;min-height:38px}
  .fn-panel h3{font-size:31px}
  .fn-panel .application-description{font-size:13.5px}
  .fn-workflows li{font-size:12.5px}
  .fn-keeps{gap:20px}
  .brain-main{gap:50px}
  .station{font-size:12px;padding:5px 13px 5px 5px;gap:8px}
  .station i{width:28px;height:28px}
  .brain-notes{--note-gap:44px;column-gap:50px}
  .brain-notes h3{font-size:27px}
  .brain-promises li{padding-right:26px}.brain-promises li+li{padding-left:26px}
  .contact-layout{gap:56px}
  .contact-form-panel{padding:28px 28px 26px}
  .contact-square{right:-360px}
  .square-two{right:-300px}
}
@media(min-width:900px) and (max-width:999px){.contact-square{right:-430px}.square-two{right:-370px}}
@media(min-width:900px) and (max-width:1199px){.brain-promises h3{min-height:2.35em}}
@media(max-width:1099px){
  .fn-explorer{grid-template-columns:1fr;gap:34px}
  .orbit.fn-orbit{--r:28%;--rq:28cqw;--core-r:75px;--anchor:27px;max-width:620px}
  .fn-orbit .orbit-core{width:150px;height:150px}
  .fn-orbit .orbit-node{font-size:14px;gap:12px}
  .fn-orbit .fn-north,.fn-orbit .fn-south{gap:7px}
  .fn-orbit .node-number{width:38px;height:38px;flex-basis:38px;font-size:11px}
  .fn-core svg{width:40px;height:34px}
  .fn-panel h3{font-size:38px}
  .fn-panel .application-description{font-size:15px}
  .fn-workflows li{font-size:14px}
  .fn-keeps p:not(.small-label),.fn-also{font-size:13px}
  .fn-back{display:inline-flex}
}
@media(max-width:999px){
  .brain-main{grid-template-columns:1fr;gap:46px}
  .brain-copy>p,.loop-steps{max-width:none}
}
@media(max-width:932px){.field input,.field textarea,.field select{font-size:16px}}
@media(max-width:899px){
  .contact-layout{grid-template-columns:1fr;gap:50px}
  .contact h2{font-size:54px}
  .contact-copy>p:not(.eyebrow){max-width:560px}
  .contact-square{top:54%}
  .square-two{top:62%}
  .fn-panel{min-height:0!important}
  .brain-notes{grid-template-columns:1fr;gap:40px;margin-top:60px;padding-top:44px}
  .brain-promises{grid-template-columns:1fr;margin-top:54px}
  .brain-promises li,.brain-promises li+li{padding:26px 0;border-left:0}
  .brain-promises li+li{border-top:1px solid #bdcbdc}
  .brain-measure{grid-template-columns:1fr;gap:10px}
}
@media(max-width:699px){
  .contact-square{top:69%}
  .square-two{top:77%}
  .orbit.fn-orbit{--r:27%;--rq:27cqw;--anchor:24px}
  .fn-orbit .orbit-node{font-size:12.5px;gap:9px}
  .fn-orbit .fn-north,.fn-orbit .fn-south{gap:6px}
  .fn-orbit .node-number{width:32px;height:32px;flex-basis:32px;font-size:9.5px}
}
@media(max-width:649px){
  .palette-label{display:none}
  .palette-switch button span,.preview-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .palette-switch button{padding:0 7px}
  .preview-bar>a{margin-left:10px}
  .orbit.fn-orbit{aspect-ratio:auto;display:flex;flex-direction:column;gap:10px;container-type:normal}
  .fn-tabs.orbit-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible;padding:0;scroll-snap-type:none}
  .fn-tabs>.fn-node{min-width:0}
  .fn-orbit .fn-node,.fn-orbit .fn-east,.fn-orbit .fn-west,.fn-orbit .fn-north,.fn-orbit .fn-south{position:static;transform:none;flex-direction:row;text-align:left;white-space:normal;padding:8px 12px 8px 8px;min-height:50px;font-size:12.5px;line-height:1.3;gap:10px;border-radius:0}
  .fn-orbit .fn-core{position:static;transform:none;order:2;width:auto;height:auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px;border-radius:0;box-shadow:none}
  .fn-orbit .fn-core svg{width:26px;height:22px}
  .fn-core small{margin-left:auto}
  .fn-firmwide{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;margin-top:14px;padding-top:16px}
  .fn-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
  .fn-chip{min-height:44px;min-width:0;border-radius:0;font-size:12.5px;padding:0 8px;grid-column:span 2}
  .fn-chip:nth-child(n+4){grid-column:span 3}
  .fn-panel h3{font-size:31px;margin-top:20px}
  .fn-panel h3 span{display:inline}
  .fn-panel .application-description{font-size:13.5px}
  .fn-workflows li{font-size:13px;gap:10px}
  .fn-keeps{grid-template-columns:1fr;gap:18px}
  .fn-foot{flex-wrap:wrap;gap:6px 16px}
  .contact h2{font-size:clamp(30px,9.5vw,46px)}
  .contact-form-panel{padding:24px 18px 22px;border-top:1px solid var(--c-card-line)}
  .contact-square{top:69%}
  .square-two{top:77%}
  .brain-loop{aspect-ratio:auto;max-width:none;container-type:normal}
  .loop-art{display:none}
  .loop-core{position:static;transform:none;width:100%;font-size:13px;padding:22px 20px 16px}
  .brain-copy>.brain-definition{font-size:15.5px}
  .brain-copy>p{font-size:14px}
  .brain-notes h3{font-size:26px}
  .brain-promises h3{font-size:26px}
  .brain-measure{padding:20px}
  .credential{height:150px}
  .footer-notice{font-size:11px}
  .record-long>div{grid-template-columns:1fr;gap:3px}
}
@media(max-width:389px){.section-heading h2{font-size:clamp(34px,10.6vw,43px)}.data-intro h2{font-size:clamp(31px,9.6vw,40px)}}
/* Phones: each half of a two-line heading stays on one line, so no heading breaks into three or four. */
@media(max-width:479px){.brain .section-heading h2{font-size:clamp(26px,8.5vw,43px)}.background-heading h2{font-size:clamp(30px,9.5vw,39px)}}
@media(max-width:649px){
  .fn-example,.hero-actions .text-link,.application-contact,.fn-back,.provider-links a,.model-links a,.footer-top>.text-link{min-height:44px}
  .direct-contact,.footer-navigation,.footer-contact{gap:0}
  .direct-contact a,.footer-details a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
  .brand,.motion-toggle{min-height:44px}
}
@media(max-width:359px){
  .fn-orbit .fn-node,.fn-orbit .fn-east,.fn-orbit .fn-west,.fn-orbit .fn-north,.fn-orbit .fn-south{font-size:12px;gap:8px;padding:7px 8px 7px 7px}
  .fn-orbit .fn-node .node-number{width:26px;height:26px;flex-basis:26px;font-size:8.5px}
  .fn-tabs.orbit-tabs{gap:6px}
  .fn-chips{gap:6px}
  .fn-chip{padding:0 6px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.fn-spoke::after{display:none}.motion-toggle{display:none!important}}
@media(forced-colors:active){
  .fn-chip[aria-selected=true]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .orbit-node:focus-visible,.fn-chip:focus-visible{outline-color:CanvasText}
  .fn-spoke,.loop-tracer,.orbit-tracer{display:none}
  .palette-switch{display:none!important}
  .credential{forced-color-adjust:none}
  .menu-icon::before,.menu-icon::after{forced-color-adjust:none;background:CanvasText}
}
@media print{
  .fn-panel{display:flex!important;visibility:visible!important;min-height:0!important;break-inside:avoid;margin-bottom:12px}
  .fn-panels{display:block!important}
  .fn-orbit,.fn-firmwide,.palette-switch,.motion-toggle,.loop-art,.fn-example,.fn-back,.example-open,.preview-bar{display:none!important}
  .js .menu-toggle,.menu-toggle{display:none!important}
  .loop-core{position:static;transform:none;width:100%}
  .brain-loop{aspect-ratio:auto}
  /* Dark sections print as ink on white; the ribbon prints as a grid of all eight; headings stay with their text. */
  .hero,.dark-section,.contact,.application-panel,.loop-core,.contact-form-panel{background:#fff!important;color:#10131d!important}
  .hero *,.dark-section *,.contact *,.loop-core *{color:#10131d!important}
  .hero{min-height:0!important}
  .hero-image,.hero-shade,.contact-geometry{display:none!important}
  h1,h2,h3{break-after:avoid;break-inside:avoid}
  .logo-ribbon{-webkit-mask-image:none;mask-image:none}
  .logo-track{animation:none!important;transform:none!important;width:100%}
  .logo-set{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;padding:0 var(--gutter)}
  .logo-duplicate{display:none!important}
  .credential{width:100%;border:1px solid #d6dde6}
}

/* Study 06 review: a concrete, readable flow replaces the abstract brain orbit. */
.brain .section-heading{grid-template-columns:1fr;margin-bottom:30px}
.brain-reference{font-size:18px;line-height:1.7;max-width:760px;color:var(--muted);margin-bottom:40px;text-wrap:pretty}
.brain-walkthrough{border:1px solid #ccd5e0;background:#f5f7fa}
.brain-example-label{padding:20px 28px;display:flex;align-items:center;gap:24px;border-bottom:1px solid #ccd5e0}
.brain-example-label .small-label{font-size:10px;color:#4c607b}
.brain-example-label>p:last-child{font-size:13px;color:#3c4a5e}
.brain-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.brain-flow-step{min-width:0;padding:30px 28px;display:flex;flex-direction:column;background:#fff;position:relative}
.brain-flow-step+.brain-flow-step{border-left:1px solid #ccd5e0}
.brain-flow-kicker{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.brain-flow-kicker>span{font-size:11px;color:#516987;font-variant-numeric:tabular-nums}
.brain-flow-kicker>p{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#425570}
.brain-flow-step h3{font-family:var(--display);font-size:30px;font-weight:400;line-height:1.12;letter-spacing:-.025em;max-width:270px;text-wrap:balance}
.brain-flow-body{font-size:14px;line-height:1.7;color:#536074;margin-top:16px;margin-bottom:26px}
.brain-flow-step ul{list-style:none;padding:0;margin:auto 0 0;display:grid;gap:0}
.brain-flow-step ul li{font-size:13px;line-height:1.6;padding:12px 0;border-top:1px solid #dce2ea;display:flex;gap:10px;align-items:baseline}
.brain-flow-step ul li::before{content:'—';color:#617897;flex:none}
.brain-flow-result{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.085em;margin-top:24px;color:#425570}
.brain-flow-step-2{background:#182131;color:#fff}
.brain-flow-step-2 h3{color:#fff}
.brain-flow-step-2 .brain-flow-body{color:#d1dbea}
.brain-flow-step-2 .brain-flow-kicker>span,.brain-flow-step-2 .brain-flow-kicker>p,.brain-flow-step-2 .brain-flow-result{color:#c3d5ec}
.brain-flow-step-2 ul li{border-color:#39465a;color:#eef3fa}
.brain-flow-step-2 ul li::before{color:#b9d0ed}
.brain-flow-step-3{background:#edf2f8}
.brain-feedback{display:grid;grid-template-columns:24px 1fr;gap:16px;padding:22px 28px;border-top:1px solid #ccd5e0}
.brain-feedback>span{font-size:26px;line-height:1.2;color:#4c6484}
.brain-feedback h3{font-size:14px;font-weight:500;line-height:1.5;margin-bottom:5px}
.brain-feedback p{font-size:13px;line-height:1.7;color:#536074;max-width:810px}
.brain-scope{font-size:14px;line-height:1.8;color:var(--muted);max-width:850px;margin-top:24px;text-wrap:pretty}
.brain-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}
.brain-principles h3{font-family:var(--display);font-size:25px;line-height:1.2;font-weight:400;letter-spacing:-.02em}
.brain-principles p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:12px;text-wrap:pretty}
@media(min-width:900px){.background-heading>p{justify-self:start;position:relative;left:-32px}}
@media(min-width:900px) and (max-width:1099px){.brain-flow-step{padding:24px 20px}.brain-flow-step h3{font-size:27px}.brain-principles{gap:26px}}
@media(max-width:899px){
 .brain-reference{font-size:16px;margin-bottom:30px}
 .brain-flow{grid-template-columns:1fr}
 .brain-flow-step{padding:28px}
 .brain-flow-step+.brain-flow-step{border-left:0;border-top:1px solid #ccd5e0}
 .brain-flow-step h3{max-width:none}
 .brain-flow-kicker{margin-bottom:18px}
 .brain-flow-body{margin-bottom:20px}
 .brain-flow-result{margin-top:20px}
 .brain-principles{grid-template-columns:1fr;gap:26px;margin-top:32px}
 .brain-principles p{margin-top:8px}
}
@media(max-width:479px){.brain-example-label{display:block;padding:18px 22px}.brain-example-label>p:last-child{margin-top:7px}.brain-flow-step{padding:26px 22px}.brain-feedback{padding:22px;grid-template-columns:18px 1fr;gap:12px}.brain-flow-step h3{font-size:29px}.brain-scope{font-size:13px}}
@media print{.brain-walkthrough,.brain-flow-step,.brain-flow-step-2,.brain-flow-step-3{background:white!important;color:#10131d!important}.brain-flow-step *{color:#10131d!important}.brain-flow-step,.brain-principles>div{break-inside:avoid}.brain-reference,.brain-scope{color:#344054!important}}
