/* Full-screen photographic chapters, shared across light and dark themes. */
:root{--bg:#152432;--bg-2:#1b2c3b;--bg-3:#243747;--fg:#f5f6f7;--fg-2:#dde3e8;--muted:#bac5cf;--line:rgba(218,228,238,.15);--line-2:rgba(218,228,238,.3);--signal:#b1c5d9;--signal-2:#d0dce8;--ember:#e87836;--ember-ink:#142330;--wash-start:rgba(20,37,53,.92);--wash-mid:rgba(23,41,57,.76);--wash-end:rgba(29,48,63,.45);--photo-filter:saturate(.23);--f-display:var(--f-body);--max:1440px}
:root[data-theme="light"]{--bg:#f8f9f9;--bg-2:#fff;--bg-3:#edf0f2;--fg:#172c41;--fg-2:#3e5162;--muted:#5a6b7a;--line:rgba(23,44,65,.12);--line-2:rgba(23,44,65,.25);--signal:#274b6c;--signal-2:#274b6c;--ember:#d96327;--ember-ink:#fff;--wash-start:rgba(247,249,250,.94);--wash-mid:rgba(242,246,248,.77);--wash-end:rgba(239,244,248,.28);--photo-filter:saturate(.23);color-scheme:light}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f8f9f9;--bg-2:#fff;--bg-3:#edf0f2;--fg:#172c41;--fg-2:#3e5162;--muted:#5a6b7a;--line:rgba(23,44,65,.12);--line-2:rgba(23,44,65,.25);--signal:#274b6c;--signal-2:#274b6c;--ember:#d96327;--ember-ink:#fff;--wash-start:rgba(247,249,250,.94);--wash-mid:rgba(242,246,248,.77);--wash-end:rgba(239,244,248,.28);--photo-filter:saturate(.23);color-scheme:light}}
html{scroll-padding-top:0}html.story-scroll{scroll-snap-type:y mandatory}
body{font-size:17px}body::before{display:none}
.wrap{max-width:var(--max);padding-inline:clamp(24px,5vw,84px)}
.nav{position:fixed;inset:0 0 auto;top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body[data-route="home"] .nav,body[data-route="service"] .nav,body[data-route="industry"] .nav,body[data-route="about"] .nav,body[data-route="approach"] .nav{background:color-mix(in srgb,var(--bg) 64%,transparent);border-color:transparent}
.nav .wrap{height:88px;gap:24px}.brand svg{height:48px}.navlinks{gap:12px}.navlinks a{font-size:16px;padding:10px 8px;border-radius:0}.navlinks a:hover,.navlinks a[aria-current="page"]{background:none;text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--ember)}
.nav .btn{height:43px;font-size:15px;border-radius:4px;font-weight:500}.theme-toggle{width:42px;height:42px;border:0;background:transparent;font-size:24px}.theme-toggle:hover{background:var(--line)}.nav .btn-ghost{border:1px solid var(--line-2)}
main{padding-top:88px}body[data-route="home"] main,body[data-route="service"] main,body[data-route="industry"] main,body[data-route="about"] main,body[data-route="approach"] main{padding-top:0}
.page.on{animation:none}.display,.h3{font-family:var(--f-body);font-stretch:normal;text-transform:none;font-weight:500;letter-spacing:-.045em;line-height:1.08}.h1{font-size:clamp(45px,6vw,80px)}.h2{font-size:clamp(34px,4.3vw,56px)}.h3{font-size:clamp(24px,2.3vw,31px);letter-spacing:-.03em;line-height:1.22}.lede{font-size:20px;line-height:1.6}.eyebrow{font:500 14px/1.5 var(--f-body);letter-spacing:.09em}.eyebrow b{display:none}.btn{border-radius:4px;font-weight:500;height:52px;padding-inline:24px}.btn-ember{background:var(--ember);color:var(--ember-ink)}.btn:hover{transform:none}.link{font-weight:500}.band{padding-block:clamp(56px,7vw,96px)}.sec-head{grid-template-columns:1.2fr 1fr;align-items:end;gap:48px;margin-bottom:52px}
.screen{position:relative;isolation:isolate;min-height:100svh;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-block:140px 132px;overflow:hidden;scroll-snap-align:start;background:var(--bg)}
@supports(height:100svh){.screen{min-height:100svh}}
.screen-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--position,center);z-index:-3;filter:var(--photo-filter);pointer-events:none}
.screen::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--wash-start) 0%,var(--wash-mid) 48%,var(--wash-end) 100%)}
.screen::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 14%,transparent),transparent 30%,transparent 65%,color-mix(in srgb,var(--bg) 28%,transparent));pointer-events:none}
.screen>.wrap{width:100%}.screen-copy{max-width:860px}.screen-kicker{font-size:15px;letter-spacing:.1em;font-weight:500;margin:0 0 26px;text-transform:uppercase;color:var(--fg-2);display:flex;align-items:center;gap:13px}.screen-kicker::before{content:"";width:24px;height:1px;background:var(--ember)}
.screen h1,.screen h2{font-size:clamp(44px,5.8vw,82px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0;text-wrap:balance;max-width:16ch}.screen h1{max-width:19ch}.screen p.screen-lede{font-size:clamp(18px,1.65vw,23px);line-height:1.55;color:var(--fg-2);max-width:44ch;margin:26px 0 0;text-wrap:pretty}.screen-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.screen-link{display:inline-flex;align-items:center;gap:14px;color:var(--fg);font-size:17px;text-decoration:none;padding-block:9px;border-bottom:1px solid var(--line-2);font-weight:500}.screen-link:hover{border-color:var(--ember)}
.screen-bottom{position:absolute;inset:auto 0 30px;display:flex;justify-content:space-between;align-items:center;gap:28px;width:100%;color:var(--fg-2);font-size:15px}.screen-bottom>span{color:var(--muted)}.screen-bottom button{display:inline-flex;align-items:center;gap:16px;background:transparent;border:0;padding:12px 0;color:var(--fg);font:inherit;cursor:pointer}.screen-bottom button span{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-size:20px}
.trust-inline{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:15px}.trust-inline span+span{border-left:1px solid var(--line-2);padding-left:24px}.trust-inline svg{width:19px;height:19px;vertical-align:-4px;margin-right:8px}
.chapter-nav{position:fixed;right:23px;top:50%;transform:translateY(-50%);display:none;flex-direction:column;gap:4px;z-index:30}body[data-route="home"] .chapter-nav{display:flex}.chapter-nav button{width:24px;height:28px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;padding:0}.chapter-nav button::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--fg);opacity:.28;transition:all .25s}.chapter-nav button[aria-current="step"]::before{width:7px;height:22px;border-radius:5px;opacity:.8}
.security-pair{display:flex;gap:42px;margin-top:34px;flex-wrap:wrap}.security-item{border-top:1px solid var(--line-2);padding-top:20px;min-width:210px;display:flex;align-items:center;gap:13px}.security-item svg{width:27px;height:27px;color:var(--fg-2)}.security-item b{font-size:18px;font-weight:500;display:block}.security-item small{display:block;font-size:15px;color:var(--fg-2);margin-top:3px}
.technology-line{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap;font-size:15px;color:var(--fg-2)}.technology-line span{display:flex;align-items:center;gap:8px}.technology-line img{height:21px;width:21px;filter:grayscale(1);opacity:.8}:root[data-theme="dark"] .technology-line img{filter:grayscale(1) invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .technology-line img{filter:grayscale(1) invert(1)}}
.service-row{display:grid;grid-template-columns:50px 1fr 1.1fr 40px;align-items:center;gap:28px;border-top:1px solid var(--line-2);padding:34px 0;text-decoration:none}.service-row:last-child{border-bottom:1px solid var(--line-2)}.service-row>span:first-child{font-size:15px;color:var(--muted)}.service-row h2{font-size:clamp(25px,2.5vw,34px);font-weight:400;line-height:1.18;letter-spacing:-.03em;margin:0}.service-row p{font-size:18px;line-height:1.55;color:var(--fg-2)}.service-row>span:last-child{font-size:24px;justify-self:end}.service-row:hover h2{color:var(--ember)}
.service-body{padding-block:76px}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:0 65px}.service-intro h2{font-size:38px;line-height:1.2;font-weight:400;letter-spacing:-.04em;margin:0}.service-intro>p{font-size:20px;line-height:1.6;color:var(--fg-2)}.deliver-list{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin:0;padding:0;list-style:none}.deliver-list li{border-top:1px solid var(--line);padding:25px 0;font-size:20px;display:flex;gap:24px}.deliver-list li span{font-size:15px;padding-top:3px;color:var(--muted)}.service-cta{border-top:1px solid var(--line-2);padding-top:38px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:32px}.service-cta p{font-size:25px;letter-spacing:-.025em}.approach-intro{font-size:20px;color:var(--fg-2);max-width:42ch}
.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:80px 1fr 1.3fr;gap:35px;padding:40px 0;border-top:1px solid var(--line)}.process-list li>span{font-size:24px;color:var(--muted)}.process-list h3{margin:0;font-size:30px;font-weight:400;letter-spacing:-.03em}.process-list p{font-size:20px;color:var(--fg-2)}.process-list small{font-size:16px;display:block;margin-top:14px;color:var(--fg)}
.premium-image{filter:saturate(.2) contrast(.88)}.case,.ind{border-radius:4px;border:0;background:transparent}.case .art{border:0;border-radius:3px}.case .body{padding:24px 0}.case .who,.case .metric span{font-size:16px}.case .metric b{font-family:var(--f-body);font-size:32px;font-weight:400;font-stretch:normal;color:var(--fg)!important}.case h3{font-size:26px;font-weight:400;line-height:1.2}.work{gap:44px 32px}.ind .t{padding:20px 0}.ind .t b{font:400 25px/1.2 var(--f-body);letter-spacing:-.025em}.ind .t span{font-size:16px}.inds{grid-template-columns:repeat(3,1fr);gap:40px 30px}.inds .art{aspect-ratio:1.35/1}.detail,.detail-head{border-radius:0}.detail{scroll-margin-top:105px}.detail-grid ul{font-size:18px;line-height:1.6}.kpi span{font-size:16px}.kpi b{font-family:var(--f-body);font-weight:400;font-stretch:normal}.usecase .num{font:500 14px var(--f-body)}.usecase h4{font-size:15px}.usecase p,.usecase li{font-size:18px}.usecase .video{display:none}.uc-blocks{grid-template-columns:1fr!important}.usecase{scroll-margin-top:110px}.chips{gap:10px}.chip{border:0;border-radius:0;background:transparent;font-size:15px;padding:0 14px 0 0;color:var(--muted)}.chip:not(:last-child){border-right:1px solid var(--line-2)}
.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:75px}.about-copy h2{font-size:42px;line-height:1.15;font-weight:400;letter-spacing:-.04em;margin:0}.about-copy p{font-size:20px;line-height:1.65;color:var(--fg-2)}.about-copy p+p{margin-top:20px}.team-heading{margin:0 0 35px;font-size:35px;font-weight:400;letter-spacing:-.03em}.solvers{grid-template-columns:repeat(3,1fr);gap:28px 40px}.solver{border:0;border-radius:0;border-top:1px solid var(--line);background:transparent;padding:22px 0}.solver .av{display:none}.solver b{font-size:19px;font-weight:500}.solver span{font-size:16px;color:var(--muted)}.team-section{padding-bottom:70px}.quote-clean{padding-block:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-clean blockquote{font-size:clamp(25px,3vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1.35;max-width:900px;margin:0 0 25px}.quote-clean p{font-size:17px;color:var(--muted)}
footer{background:var(--bg);scroll-snap-align:start;padding-block:60px 32px}.foot svg.logo{height:50px}.foot h5{font:500 15px var(--f-body);text-transform:none;letter-spacing:0;color:var(--fg)}.foot a,.foot p{font-size:16px!important}.foot .certs{display:none}.legal{font-size:14px}.foot{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}.form label{font-size:16px}.form input,.form textarea,.form select{font-size:17px}.form{border-radius:4px}.formok{font-size:16px}.reach .item{font-size:17px}
.skip-link{position:fixed;top:8px;left:12px;z-index:200;background:var(--bg);color:var(--fg);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}
@media(min-width:1600px){.screen .screen-copy{max-width:900px}.screen h1,.screen h2{font-size:90px}}
@media(max-width:1100px){.navlinks{gap:4px}.nav .wrap{gap:14px}.brand svg{height:44px}.screen h1,.screen h2{font-size:clamp(44px,6.4vw,72px)}.screen-copy{max-width:75%}.service-row{grid-template-columns:30px 1fr 1fr 25px;gap:20px}.chapter-nav{right:10px}}
@media(max-width:980px){.navlinks{top:88px;background:var(--bg);padding:16px 24px 24px;gap:4px;border-bottom:1px solid var(--line)}.navlinks a{font-size:21px;padding:13px 8px}.nav .theme-toggle{margin-left:auto}.nav .menubtn{margin-left:0;border:0;font-size:22px}.nav .cta-desk{display:none}.foot{grid-template-columns:1fr 1fr}.sec-head{gap:28px}.solvers{grid-template-columns:1fr 1fr}}
@media(max-width:700px){html.story-scroll{scroll-snap-type:y proximity}.nav .wrap{height:76px}.navlinks{top:76px}.brand svg{height:42px}.wrap{padding-inline:25px}.screen{padding-block:126px 140px}.screen-copy{max-width:100%}.screen h1,.screen h2{font-size:clamp(42px,8.7vw,61px);line-height:1.1;max-width:17ch}.screen h1{max-width:18ch}.screen-kicker{font-size:13px;margin-bottom:22px}.screen p.screen-lede{font-size:19px;max-width:30ch;margin-top:23px}.screen-actions{gap:24px;margin-top:27px}.screen-actions .btn{height:49px;padding-inline:20px;font-size:16px}.screen-link{font-size:16px}.screen-bottom{bottom:22px;font-size:14px;gap:20px}.screen-bottom>span{max-width:40%}.screen-bottom button{font-size:14px;gap:10px}.screen-bottom button span{width:30px;height:30px}.trust-inline{gap:10px;font-size:12px;flex-direction:column;align-items:start}.trust-inline span+span{padding-left:0;border:0}.trust-inline svg{width:16px;height:16px;margin-right:5px}.screen::before{background:linear-gradient(90deg,var(--wash-start),var(--wash-mid) 100%)}.screen-photo{object-position:62% center}.chapter-nav{display:none!important}.security-pair{gap:20px;margin-top:28px}.security-item{min-width:unset;width:100%;padding-top:13px}.security-item b{font-size:18px}.security-item small{font-size:15px}.technology-line{gap:16px;font-size:14px}.technology-line img{width:19px;height:19px}.sec-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.lede{font-size:19px}.service-row{grid-template-columns:26px 1fr 24px;gap:14px;padding:26px 0}.service-row h2{font-size:26px}.service-row p{grid-column:2;grid-row:2;font-size:17px}.service-row>span:last-child{grid-column:3;grid-row:1}.service-body{padding-block:50px}.service-intro{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.service-intro h2{font-size:32px}.service-intro>p{font-size:19px}.deliver-list{grid-template-columns:1fr}.deliver-list li{font-size:19px;padding-block:22px}.service-cta{flex-direction:column;align-items:start;gap:25px}.service-cta p{font-size:25px}.process-list li{grid-template-columns:30px 1fr;gap:15px;padding:30px 0}.process-list li>span{font-size:17px}.process-list h3{font-size:27px}.process-list li>div{grid-column:2}.process-list p{font-size:19px}.about-copy{grid-template-columns:1fr;gap:30px;padding-block:50px}.about-copy h2{font-size:35px}.about-copy p{font-size:19px}.solvers{grid-template-columns:1fr;gap:0}.inds{grid-template-columns:1fr 1fr;gap:28px 20px}.ind .t b{font-size:22px}.ind .t span{font-size:15px}.work{grid-template-columns:1fr;gap:28px}.case .art{aspect-ratio:1.9/1}.foot{gap:30px 22px}.foot>div:first-child{grid-column:1/-1}.foot>div:last-child{grid-column:1/-1}.foot>div:last-child ul{display:grid;grid-template-columns:1fr 1fr;gap:10px}.foot a{font-size:15px!important}.legal{font-size:13px;gap:22px}.quote-clean{padding-block:40px}.quote-clean blockquote{font-size:28px}.contact{gap:40px}.contact .h1{font-size:45px}.reach .item b{font-size:17px}.nav .btn{font-size:14px}main{padding-top:76px}}
@media(max-height:650px) and (min-width:701px){.screen{padding-top:115px;padding-bottom:120px}.screen h1,.screen h2{font-size:55px}.screen-kicker{margin-bottom:16px}.screen p.screen-lede{font-size:20px;margin-top:18px}.screen-actions{margin-top:25px}.screen-bottom{bottom:20px}}
@media(prefers-reduced-motion:reduce){html.story-scroll{scroll-snap-type:none}html{scroll-behavior:auto}.chapter-nav button::before{transition:none}}

.navlinks .nav-contact{display:none}.scroll-word{font-weight:400}#company-story,#process-steps,#service-delivery,#industry-usecases{scroll-margin-top:88px}@media(max-width:980px){.navlinks .nav-contact{display:block}}@media(max-width:700px){.trust-inline{font-size:14px}.screen-bottom .scroll-word{display:none}#company-story,#process-steps,#service-delivery,#industry-usecases{scroll-margin-top:76px}}
