@charset "UTF-8";
:root{--paper:#f5f5f3;--ivory:#F3F0E8;--ink:#11110F;--gray:#686866;--line:#d1d1ce;--heading:'Anybody',Arial,sans-serif;--body:'Instrument Sans',Arial,sans-serif;--serif:'Newsreader',Georgia,serif;color-scheme:light;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:6px}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}[hidden]{display:none!important}
.skip-link{position:fixed;top:12px;left:24px;z-index:100;background:var(--ink);color:white;padding:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.eyebrow{font-size:10px;font-weight:500;line-height:1.6;letter-spacing:.13em}.wordmark{font-family:var(--heading);font-size:27px;letter-spacing:-1.8px;font-weight:550;line-height:1;font-variation-settings:'wdth' 90}
.story{margin:12px 12px 0}.hero-frame{position:relative;border-radius:22px;overflow:clip;background:#e9e9e6}.hero-nav{position:absolute;z-index:6;top:34px;left:clamp(26px,4.4vw,70px);right:clamp(26px,4.4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:28px}.hero-nav nav{display:flex;gap:32px;align-items:center;font-size:12px;font-weight:500}.hero-nav nav a{padding:10px 0}.hero-nav nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero-nav .nav-contact{display:flex;align-items:center;gap:26px;border-bottom:1px solid #11110f65}.nav-contact span{font-size:17px}
.hero-scene{position:relative;min-height:690px;height:calc(100svh - 24px);display:flex;align-items:center;isolation:isolate}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-transition-video{z-index:-1;opacity:var(--transition-opacity,1)}.hero-idle-video{z-index:-2;opacity:calc(1 - var(--transition-opacity,1))}.copy-fade{position:absolute;inset:0 auto 0 0;width:68%;z-index:-1;background:linear-gradient(90deg,rgba(243,240,232,.99) 0%,rgba(243,240,232,.96) 38%,rgba(243,240,232,.82) 60%,rgba(243,240,232,.36) 80%,rgba(243,240,232,0) 100%)}
.hero-copy{width:54%;padding:112px 0 106px clamp(26px,4.4vw,70px)}.hero-copy>.eyebrow{display:flex;gap:11px;align-items:center;margin-bottom:27px}.small-cross{font-size:20px;font-weight:400;line-height:.7}h1{font-family:var(--heading);font-size:clamp(55px,6.2vw,97px);font-weight:480;font-variation-settings:'wdth' 80;line-height:.99;letter-spacing:-.055em}h1 em{display:block;font-family:var(--serif);font-weight:400;font-size:1.1em;line-height:1.06;letter-spacing:-.035em;margin-top:8px}.hero-description{font-size:clamp(14px,1.15vw,17px);line-height:1.65;margin:26px 0 28px;max-width:370px}
.button{min-height:49px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:15px 21px;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:500;line-height:1.4;transition:background .2s,color .2s}.button span{font-size:17px;line-height:1}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#363635}
.hero-meta{position:absolute;left:clamp(26px,4.4vw,70px);right:clamp(26px,4.4vw,70px);bottom:28px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:9px;letter-spacing:.09em;font-weight:500}.scroll-cue{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:0;background:rgba(243,240,232,.88);padding:10px 12px;border-radius:3px}.scroll-cue span{font-size:19px}
.story-bridge{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:110px clamp(26px,4.4vw,70px);background:#e9e9e6;min-height:650px}.bridge-copy h2{font-family:var(--heading);font-size:clamp(37px,4.2vw,66px);font-weight:450;font-variation-settings:'wdth' 85;line-height:1.04;letter-spacing:-.045em;margin-top:25px}.bridge-copy h2 em{display:block;font-family:var(--serif);font-weight:400;font-size:1.2em;margin-top:4px;letter-spacing:-.035em}.bridge-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:390px;margin-top:24px}.bridge-copy .secondary-copy{color:#60605e;margin-top:12px!important}.connected-flow>.eyebrow{margin-bottom:22px;color:#626260}.flow-step{display:flex;align-items:baseline;gap:22px;padding:25px 0;border-top:1px solid #bdbdba}.flow-step:last-child{border-bottom:1px solid #bdbdba}.flow-number{font-size:11px;font-variant-numeric:tabular-nums;color:#686866}.flow-step h3{font-size:21px;line-height:1.25;letter-spacing:-.04em;font-weight:500}.flow-step p{margin-top:8px;font-size:13px;line-height:1.6;color:#555553}.flow-symbol{font-size:24px;font-weight:400;margin-left:auto}.flow-note{font-size:11px;line-height:1.6;color:#626260;margin-top:22px;max-width:310px}.bridge-footer{position:absolute;bottom:28px;left:clamp(26px,4.4vw,70px);right:clamp(26px,4.4vw,70px);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.07em}.bridge-footer>span:last-child{font-size:20px}
.story-progress{display:none;position:absolute;bottom:0;left:0;right:0;height:2px;z-index:7;background:#11110f15}.story-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(var(--story-progress,0));transform-origin:left}.has-scroll-story .story{height:210svh}.has-scroll-story .hero-frame{position:sticky;top:12px;height:calc(100svh - 24px);min-height:580px}.has-scroll-story .hero-scene{min-height:0;height:100%}.has-scroll-story .hero-copy,.has-scroll-story .hero-meta,.has-scroll-story .copy-fade{opacity:var(--intro-opacity,1)}.has-scroll-story .hero-copy{transform:translateY(var(--copy-offset,0px));visibility:var(--intro-visibility,visible)}.has-scroll-story .hero-meta{visibility:var(--intro-visibility,visible)}.has-scroll-story .story-bridge{position:absolute;inset:0;min-height:0;opacity:var(--bridge-opacity,0);visibility:var(--bridge-visibility,hidden);pointer-events:none}.has-scroll-story .flow-step:nth-child(1){opacity:var(--flow-one,0);transform:translateY(calc((1 - var(--flow-one,0))*12px))}.has-scroll-story .flow-step:nth-child(2){opacity:var(--flow-two,0);transform:translateY(calc((1 - var(--flow-two,0))*12px))}.has-scroll-story .flow-step:nth-child(3){opacity:var(--flow-three,0);transform:translateY(calc((1 - var(--flow-three,0))*12px))}.has-scroll-story .story-progress{display:block}
.section{max-width:1440px;margin:0 auto;padding:112px clamp(30px,6.2vw,100px)}.section-heading{max-width:770px}.section-heading h2,.case-description h2,.contact h2{font-family:var(--heading);font-weight:430;font-variation-settings:'wdth' 92;font-size:clamp(36px,4.1vw,61px);letter-spacing:-.05em;line-height:1.12;margin-top:24px}.section-heading h2 em,.case-description h2 em,.contact h2 em{font-family:var(--serif);font-size:1.14em;font-weight:400;letter-spacing:-.035em}.section-heading>p:last-child:not(.eyebrow){font-size:15px;line-height:1.75;color:var(--gray);max-width:460px;margin-top:26px}
.service-list{margin-top:62px}.service-row{border-top:1px solid var(--line);padding:36px 0;display:grid;grid-template-columns:7% 43% 1fr;gap:18px}.service-row:last-child{border-bottom:1px solid var(--line)}.section-number{font-size:11px;padding-top:7px;color:var(--gray)}.service-name h3{font-family:var(--heading);font-weight:430;font-variation-settings:'wdth' 90;letter-spacing:-.04em;font-size:clamp(25px,2.25vw,34px);line-height:1.16}.service-name>span{display:block;font-size:8px;letter-spacing:.12em;margin-top:20px;color:var(--gray)}.service-detail>p{font-size:14px;line-height:1.8;color:#4d4d4b;max-width:430px}.service-detail details{margin-top:18px;font-size:13px}.service-detail summary{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:7px 0;list-style:none;max-width:430px}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary span{font-size:21px;font-weight:400}.service-detail details[open] summary span{transform:rotate(45deg)}.service-detail details p{font-size:13px;line-height:1.8;color:#656563;max-width:430px;margin-top:12px}.technology-note{max-width:610px;font-size:12px;line-height:1.8;color:var(--gray);margin:26px 0 0 auto}
.case-study{margin:0 12px;border-radius:20px;background:#1c1c1b;color:#f4f4f1;padding:48px clamp(28px,5.5vw,88px) 30px}.case-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ffffff30;padding-bottom:22px}.case-topline>span{font-size:9px;letter-spacing:.1em;color:#b1b1ae}.case-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:64px 0}.case-identity{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.case-wordmark{font-family:var(--heading);font-weight:450;font-variation-settings:'wdth' 82;font-size:clamp(66px,8.4vw,136px);line-height:1;letter-spacing:-.075em}.case-identity>p:not(.case-wordmark){font-size:14px;line-height:1.8;color:#b8b8b4;margin-top:24px}.case-index{margin-top:44px;padding:16px 0;border-top:1px solid #ffffff30;width:100%;max-width:390px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.1em;color:#c8c8c4}.case-index>span:last-child{font-size:22px}.case-description h2{margin-top:0;font-size:clamp(31px,3vw,44px)}.case-description>p{color:#bdbdb9;font-size:14px;line-height:1.8;margin-top:22px;max-width:430px}.case-capabilities{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:24px 22px}.case-capabilities li{display:flex;gap:12px;border-top:1px solid #ffffff30;padding-top:16px}.case-capabilities li>span{font-size:9px;color:#aaa9a5;line-height:1.9}.case-capabilities h3{font-size:12px;line-height:1.5;font-weight:500}.case-capabilities p{font-size:11px;line-height:1.7;color:#b7b7b3;margin-top:6px}.case-bottom{border-top:1px solid #ffffff30;padding-top:23px;display:flex;gap:25px;justify-content:space-between;align-items:center}.case-bottom>span{font-size:8px;letter-spacing:.08em;color:#b0b0ac}.case-bottom a{font-size:12px;display:flex;align-items:center;gap:30px}.case-bottom a span{font-size:19px}.case-study a:focus-visible{outline-color:#fff}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:52px}.process-list li{border-top:1px solid var(--line);padding-top:20px}.process-list li>span{font-size:10px;color:var(--gray)}.process-list h3{font-weight:500;font-size:20px;letter-spacing:-.04em;margin-top:27px}.process-list p{font-size:13px;line-height:1.8;margin-top:13px;color:var(--gray);max-width:225px}.project-terms{display:flex;gap:32px;justify-content:space-between;border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:11px;line-height:1.6;color:#5f5f5d}
.contact{max-width:none;background:#e8e8e5;border-radius:20px;margin:0 12px;padding:80px clamp(30px,6.2vw,100px);display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{font-size:clamp(44px,5vw,75px)}.contact-copy>p:not(.eyebrow){max-width:315px;font-size:14px;line-height:1.8;color:#5a5a58;margin-top:28px}.contact-email{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #888885;padding:12px 0;font-size:15px;letter-spacing:-.03em;margin-top:30px}.contact-email>span{font-size:20px}.project-form{display:flex;flex-direction:column;align-self:center}.project-form label{display:flex;gap:15px;justify-content:space-between;font-size:12px;margin-bottom:10px}.project-form label>span{font-size:10px;color:var(--gray)}.project-form input,.project-form textarea{width:100%;min-width:0;font-size:16px;line-height:1.5;background:transparent;border:0;border-bottom:1px solid #b2b2ae;border-radius:0;color:var(--ink);padding:10px 0 15px;margin:0 0 25px}.project-form textarea{resize:vertical;min-height:110px}.project-form input::placeholder,.project-form textarea::placeholder{color:#73736f;opacity:1;font-size:14px}.project-form .button{align-self:flex-start;min-width:185px}.form-disclosure{font-size:11px;line-height:1.8;color:#5c5c58;margin-top:18px;max-width:430px}.form-disclosure a{text-decoration:underline;text-underline-offset:3px}.email-draft{border-top:1px solid #aaa9a4;margin-top:23px;padding-top:18px;font-size:12px;line-height:1.7}.email-draft>p:last-child{color:#5c5c58;font-size:11px}.draft-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding:10px 0;margin:8px 0 13px;font-size:13px;font-weight:500}
.site-footer{padding:38px clamp(30px,6.2vw,100px);display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .wordmark{font-size:22px}.site-footer>p{font-size:10px;color:var(--gray)}.site-footer>div{display:flex;gap:22px;align-items:center;font-size:10px;color:#53534f}.site-footer>div>a:last-child{font-size:19px;min-width:32px;text-align:right;padding:10px 0}.is-reduced .hero-video{visibility:hidden}
@media(min-width:1600px){.hero-copy{padding-left:6vw}.hero-nav,.hero-meta{left:6vw;right:6vw}.hero-description{max-width:420px}}
@media(max-height:760px) and (min-width:900px){.has-scroll-story .hero-frame{min-height:540px}.hero-copy{padding-top:94px;padding-bottom:80px}h1{font-size:clamp(56px,5.7vw,80px)}.hero-copy>.eyebrow{margin-bottom:17px}.hero-description{margin:17px 0 20px}.hero-nav{top:25px}.story-bridge{padding-top:100px;padding-bottom:70px}.bridge-copy h2{font-size:43px}.bridge-copy>p:not(.eyebrow){font-size:13px;margin-top:18px}.flow-step{padding:20px 0}}
@media(max-width:1100px){.hero-copy{width:60%}h1{font-size:clamp(55px,6.8vw,77px)}.copy-fade{width:73%}.hero-nav nav{gap:24px}.service-row{grid-template-columns:5% 43% 1fr}.case-layout{gap:7%}.contact{gap:8%}.process-list{gap:22px}}
@media(max-width:899px){.hero-scene{min-height:620px}.hero-copy{width:65%}.hero-description{max-width:295px}.desktop-break{display:none}.hero-meta>span{font-size:8px;max-width:170px;line-height:1.6}.hero-nav{top:28px}.story-bridge{min-height:0;padding-top:70px;padding-bottom:85px;gap:7%}.bridge-copy h2{font-size:36px}.bridge-copy>p:not(.eyebrow){font-size:13px}.flow-step{gap:14px;padding:21px 0}.flow-step h3{font-size:18px}.flow-step p{font-size:12px}.flow-symbol{font-size:20px}.flow-note{font-size:10px}.section{padding-top:80px;padding-bottom:80px}.service-row{grid-template-columns:30px 1fr;gap:12px}.service-detail{grid-column:2}.service-name h3 br{display:none}.service-name>span{margin-top:10px}.service-detail{margin-top:8px}.service-detail>p,.service-detail summary,.service-detail details p{max-width:none}.technology-note{margin-left:42px}.case-layout{grid-template-columns:1fr;gap:48px;padding:45px 0}.case-identity{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:28px}.case-wordmark{font-size:90px}.case-identity>p:not(.case-wordmark){margin:0;font-size:13px}.case-index{grid-column:1/-1;max-width:none;margin-top:24px}.case-description h2 br{display:none}.case-description>p{max-width:600px}.case-capabilities{grid-template-columns:repeat(4,1fr);gap:18px}.case-capabilities li{display:block}.case-capabilities li>span{display:block;margin-bottom:7px}.process-list{grid-template-columns:1fr 1fr;gap:32px}.process-list p{max-width:none}.contact{gap:6%}.contact h2{font-size:48px}.site-footer{flex-wrap:wrap}.site-footer>p{display:none}}
@media(max-width:599px){html{scroll-padding-top:16px}.story{margin:12px 12px 0}.hero-frame{border-radius:22px}.hero-scene{height:calc(100svh - 24px);min-height:670px}.hero-nav{top:24px;left:24px;right:24px;gap:14px}.wordmark{font-size:24px}.hero-nav nav{gap:18px;font-size:10px}.hero-nav nav>a:first-child{display:none}.hero-nav .nav-contact{gap:14px}.hero-nav .nav-contact span{font-size:14px}.hero-copy{width:100%;padding:105px 24px 100px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:26px}.hero-copy .small-cross{font-size:16px}h1{font-size:clamp(43px,12vw,67px);font-variation-settings:'wdth' 75;letter-spacing:-.06em}h1 em{font-size:.92em;letter-spacing:-.045em}.hero-description{font-size:13px;max-width:250px;line-height:1.75;margin:25px 0}.copy-fade{width:95%;background:linear-gradient(90deg,rgba(243,240,232,.98),rgba(243,240,232,.91) 48%,rgba(243,240,232,.7) 68%,rgba(243,240,232,0) 100%)}.button{font-size:11px;padding:15px 17px;gap:24px}.hero-meta{left:24px;right:24px;bottom:22px}.hero-meta>span{display:none}.scroll-cue{font-size:10px;padding:7px 0;background:transparent;gap:18px}.story-bridge{grid-template-columns:1fr;padding:52px 24px 74px;gap:40px}.bridge-copy h2{font-size:36px}.bridge-copy>p:not(.eyebrow){max-width:330px}.connected-flow>.eyebrow{font-size:8px}.flow-step h3{font-size:19px}.flow-step p{font-size:12px}.flow-number{font-size:10px}.flow-note{max-width:270px}.bridge-footer{left:24px;right:24px;bottom:22px;font-size:7px;gap:20px}.section{padding:64px 30px}.section-heading h2{font-size:34px}.section-heading h2 em{font-size:1.13em}.eyebrow{font-size:8px}.section-heading>p:last-child:not(.eyebrow){font-size:13px;margin-top:21px}.service-list{margin-top:38px}.service-row{padding:27px 0;grid-template-columns:22px 1fr;gap:8px}.service-name h3{font-size:24px}.service-name h3 br{display:block}.service-name>span{font-size:7px}.service-detail>p{font-size:13px}.service-detail details{font-size:12px}.service-detail details p{font-size:12px}.technology-note{margin-left:30px;font-size:11px}.case-study{border-radius:18px;padding:30px 24px 25px}.case-topline>span{font-size:8px}.case-layout{gap:32px;padding:36px 0}.case-identity{display:flex;align-items:flex-start;gap:0}.case-wordmark{font-size:85px}.case-identity>p:not(.case-wordmark){margin-top:16px;font-size:12px}.case-index{margin-top:25px;font-size:7px}.case-description h2{font-size:31px}.case-description>p{font-size:13px;margin-top:17px}.case-capabilities{grid-template-columns:1fr 1fr;gap:20px}.case-capabilities h3{font-size:12px}.case-capabilities p{font-size:11px}.case-bottom{display:block;padding-top:19px}.case-bottom>span{display:block;font-size:7px;line-height:1.7;max-width:250px}.case-bottom>a{margin-top:22px;justify-content:space-between;font-size:12px}.process-list{gap:25px 22px;margin-top:38px}.process-list h3{font-size:18px;margin-top:18px}.process-list p{font-size:12px;margin-top:11px}.project-terms{display:block;margin-top:32px;font-size:11px}.project-terms p+p{margin-top:8px}.contact{grid-template-columns:1fr;gap:44px;padding:48px 24px}.contact h2{font-size:48px}.contact-copy>p:not(.eyebrow){font-size:13px;max-width:270px}.contact-email{font-size:14px;margin-top:17px}.project-form label{font-size:12px}.project-form .button{min-width:190px}.form-disclosure{font-size:10px}.site-footer{padding:30px;gap:25px}.site-footer .wordmark{font-size:21px}.site-footer>div{gap:18px;font-size:9px}}
.idea-note,.case-takeaway{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:36px 0;border-top:1px solid var(--line);margin-top:42px}
.idea-note h3,.case-takeaway h3{font-family:var(--heading);font-size:clamp(23px,2.5vw,36px);font-weight:430;letter-spacing:-.04em;line-height:1.2}
.idea-note h3 em,.case-takeaway h3 em{font-family:var(--serif);font-weight:400;font-size:1.15em}
.idea-note p,.case-takeaway p{font-size:14px;line-height:1.8;color:#555553;max-width:510px}.idea-note p+p{margin-top:16px}
.case-journey{counter-reset:journey;margin-top:24px}.case-journey li{counter-increment:journey;position:relative;padding:12px 0 12px 27px;border-top:1px solid #ffffff25;font-size:13px;line-height:1.75;color:#bdbdb9}.case-journey li::before{content:counter(journey,decimal-leading-zero);position:absolute;left:0;top:15px;font-size:9px;color:#bdbdb9}.case-journey strong{color:#f4f4f1;font-weight:500}
.case-description .case-build-label{font-size:9px;letter-spacing:.1em;margin-top:30px}.case-capabilities{margin-top:16px}.case-index:hover{color:white}.case-index:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}.case-takeaway{border-color:#ffffff30;margin-top:0;padding:32px 0 40px}.case-takeaway p{color:#bdbdb9}
@media(max-width:599px){.idea-note,.case-takeaway{grid-template-columns:1fr;gap:22px}.idea-note{margin-top:30px;padding:28px 0 0}.idea-note p,.case-takeaway p{font-size:14px}.case-journey li{font-size:13px}.case-description .case-build-label{font-size:8px}.case-capabilities{gap:22px 16px}}
.wordmark:has(.brand-logo){display:block;flex-shrink:0;line-height:0}
.brand-logo{width:176px;height:auto;object-fit:contain}
.site-footer .brand-logo{width:158px}
@media(max-width:599px){.hero-nav{top:18px}.hero-nav .brand-logo{width:124px}.site-footer .brand-logo{width:140px}}
@media(max-width:359px){.hero-nav .brand-logo{width:106px}.hero-nav{gap:10px}}
/* The actual camera movement comes from the video; only its time follows scroll. */
.has-scroll-story .story{height:180svh}
.has-scroll-story{scroll-behavior:auto}
.has-scroll-story .story{touch-action:auto}
.has-scroll-story .hero-nav{opacity:max(var(--intro-opacity,1),var(--bridge-opacity,0))}
.has-scroll-story .story-bridge{background:#dededb}
@media(max-width:899px){.has-scroll-story .story{height:175svh}.has-scroll-story .story-bridge{padding-top:95px;padding-bottom:55px}}
@media(max-width:599px){
  .has-scroll-story .hero-frame{min-height:0}
  .has-scroll-story .hero-scene{min-height:0}
  .has-scroll-story .hero-copy{padding-top:100px;padding-bottom:90px}
  .has-scroll-story .story-bridge{align-content:center;gap:23px;padding:85px 24px 48px}
  .has-scroll-story .bridge-copy h2{font-size:30px;margin-top:14px}
  .has-scroll-story .bridge-copy>p:not(.eyebrow){font-size:12px;line-height:1.6;margin-top:15px}
  .has-scroll-story .bridge-copy .secondary-copy,.has-scroll-story .flow-note{display:none}
  .has-scroll-story .connected-flow>.eyebrow{margin-bottom:12px;font-size:7px}
  .has-scroll-story .flow-step{padding:13px 0;gap:14px}
  .has-scroll-story .flow-step h3{font-size:16px}
  .has-scroll-story .flow-step p{font-size:11px;margin-top:5px;line-height:1.5}
  .has-scroll-story .bridge-footer{font-size:6px;bottom:17px}
}
/* Keep navigation legible where the window's dark mullion crosses the video. */
/* Preserve every edge of the portrait take on phones of different aspect ratios. */
.hero-video{pointer-events:none;backface-visibility:hidden}
@media(max-width:899px) and (orientation:portrait){
  .hero-scene{background:#d5d6d4}
  .hero-video,.hero-poster{object-fit:contain;object-position:center;background:#d5d6d4}
  .has-scroll-story .story-bridge{background:#d5d6d4}
}
.hero-nav nav{background:rgba(243,240,232,.9);padding:0 14px;border-radius:4px}
@media(max-width:599px){.hero-nav nav{padding:0 8px;gap:12px}.service-detail>p,.contact-copy>p:not(.eyebrow){font-size:14px}.case-capabilities p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-video{visibility:hidden}}

/* Only opacity transitions; the native scroll position remains unmodified. */
.hero-idle-video,.hero-transition-video{transition:opacity .18s linear}
@media(prefers-reduced-motion:reduce){.hero-idle-video,.hero-transition-video{transition:none}}

/* The quiet middle of the camera transition now carries the story forward. */
.hero-build-sequence{position:absolute;z-index:5;left:50%;bottom:48px;width:min(520px,calc(100% - 48px));padding:17px 19px 15px;border:1px solid #ffffff28;border-radius:5px;background:rgba(17,17,15,.88);color:#f3f0e8;opacity:var(--build-path-opacity,0);visibility:var(--build-path-visibility,hidden);transform:translate3d(-50%,var(--build-path-shift,14px),0);pointer-events:none}
.hero-build-sequence>p{font-size:8px;line-height:1.5;letter-spacing:.13em;opacity:.7}
.hero-build-sequence ol{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.hero-build-sequence li{opacity:.25;transform:translateY(3px);transition:opacity .25s ease,transform .25s ease}
.hero-build-sequence li:nth-child(1){opacity:calc(.25 + var(--build-one,0)*.75);transform:translateY(calc((1 - var(--build-one,0))*3px))}
.hero-build-sequence li:nth-child(2){text-align:center;opacity:calc(.25 + var(--build-two,0)*.75);transform:translateY(calc((1 - var(--build-two,0))*3px))}
.hero-build-sequence li:nth-child(3){text-align:right;opacity:calc(.25 + var(--build-three,0)*.75);transform:translateY(calc((1 - var(--build-three,0))*3px))}
.hero-build-line{display:block;height:1px;margin-top:9px;background:#ffffff33;overflow:hidden}
.hero-build-line i{display:block;width:100%;height:100%;background:#f3f0e8;transform:scaleX(var(--build-line,0));transform-origin:left}
@media(max-width:599px){.hero-build-sequence{bottom:67px;padding:14px 15px 13px;width:calc(100% - 48px)}.hero-build-sequence>p{font-size:7px}.hero-build-sequence ol{gap:8px;font-size:8px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.hero-build-sequence{display:none}}

