/* Figma 366:378 — 2026-09-15. Base tokens and mobile typography remain in main.css. */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 0%,rgba(102,119,153,.66) 45.465%,#667799 74.493%)}
.hero h1{font-size:calc(120 * var(--u));line-height:calc(120 * var(--u));font-weight:700}
.hero-copy>p{font-size:calc(40 * var(--u))}
.site-header{align-items:flex-start}.header-actions{padding-top:calc(11 * var(--u))}
.story-stage{position:relative;isolation:isolate}
.story-visual{position:absolute;right:0;top:0;width:50.21%;height:100%;pointer-events:none;z-index:-1}
.story-art-frame{position:sticky;top:0;height:100svh;min-height:560px;overflow:clip}
.story .story-art{left:auto;right:0;top:calc(-133.376 * var(--u));width:100%;height:auto;max-width:none;z-index:0}
.story-glow{position:absolute;width:100%;height:auto;right:calc(10 * var(--u));top:calc(160 * var(--u));opacity:.78}
.story-panels{width:50%;direction:rtl;margin-right:auto}
.story .story-copy{width:calc(782 * var(--u));max-width:calc(100% - 48px);margin-inline-start:calc(20 * var(--u));margin-inline-end:auto}
.story .about{padding-top:calc(303.624 * var(--u))}
.story .about h2{font-size:calc(70 * var(--u));line-height:calc(70 * var(--u));margin-bottom:calc(26 * var(--u))}
.story .about .prose,.story .challenge .prose{font-size:calc(24 * var(--u));line-height:calc(34 * var(--u))}
.story .prose p+p{margin-top:calc(15 * var(--u))}
.story .challenge{padding-top:calc(177.624 * var(--u))}
.story .challenge h2{font-size:calc(70 * var(--u));line-height:calc(70 * var(--u));margin-bottom:calc(36 * var(--u));letter-spacing:calc(-2.8 * var(--u));width:calc(874.5 * var(--u));max-width:calc(100% + 92.5 * var(--u))}
.story.is-pinned .story-stage{height:100svh;min-height:680px;max-height:1250px;display:flex;align-items:center}
.story.is-pinned .story-panels{display:grid;align-items:center;margin-right:auto}
.story.is-pinned .story-section{grid-area:1/1;min-height:0;padding:44px 0}
.story.is-pinned .story-art-frame{position:relative;height:100%;min-height:0}
.story.is-pinned .story-visual{height:100%}
.story.is-pinned .story-art{width:min(100%,87svh)}
.story.is-pinned .story-glow{width:min(100%,87svh)}
.story.is-pinned .story-copy{will-change:transform,opacity}
.method-step{outline-offset:7px;border-radius:2px}
.method-step h3,.method-step p,.method-step{transition:color .22s,border-color .22s}
.method-step:hover,.method-step:focus-visible{border-bottom-color:var(--orange)}
.method-step:hover h3,.method-step:focus-visible h3{color:var(--orange)}
.method-steps:has(.method-step:hover) .method-step:not(:hover):not(:focus-visible) h3,
.method-steps:has(.method-step:focus-visible) .method-step:not(:focus-visible):not(:hover) h3{color:white}
.method-step:hover p strong,.method-step:focus-visible p strong{color:#ffd1c5}
.marquee-shell{position:relative;overflow:hidden;direction:ltr}
.marquee-track{display:flex;align-items:center;width:max-content;max-width:none;transform:none;direction:ltr;gap:0}
.marquee-group{display:flex;align-items:center;flex-shrink:0;min-width:min(100vw,1920px)}
.marquee>.marquee-track>.marquee-group{min-width:0;text-transform:capitalize}
.marquee-group>span{display:block;padding-right:calc(54 * var(--u));white-space:nowrap}
.marquee{height:calc(355.43 * var(--u));padding-top:calc(0 * var(--u));display:flex;align-items:flex-start}
.marquee-track{font-size:calc(60 * var(--u))}
.marquee.is-moving .marquee-track,.clients.is-moving .marquee-track{will-change:transform}
.clients{display:block;height:calc(180.216 * var(--u));padding:0}
.clients .marquee-track{height:100%}
.clients-group{height:100%;gap:calc(60 * var(--u));padding:0 calc(30 * var(--u))}
.clients-group>div{display:flex;align-items:center;justify-content:center;width:calc(214.2857 * var(--u));flex:none}
.clients img{max-height:calc(79 * var(--u));max-width:100%;width:auto;height:auto}
.motion-toggle{position:absolute;z-index:2;left:12px;bottom:8px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ffffffdf;color:#242424;border:1px solid #24242430;font:700 14px Arial;opacity:0;transition:opacity .2s}
.marquee .motion-toggle{top:calc(75 * var(--u));bottom:auto}
.marquee-shell:hover .motion-toggle,.motion-toggle:focus-visible{opacity:1}
.team-person--2{top:calc(225.17 * var(--u))}
.team-person--3{top:calc(345 * var(--u));left:calc(1167 * var(--u));width:calc(461 * var(--u))}
.team-person--3 .person-bio{margin-inline-start:0;max-width:none;padding:calc(26 * var(--u)) calc(30 * var(--u));font-size:calc(14 * var(--u));line-height:calc(24 * var(--u))}
.team-orange{top:calc(257 * var(--u))}
.faq{min-height:calc(1285.744 * var(--u));padding-top:calc(218.624 * var(--u))}
.contact{min-height:calc(1047 * var(--u));padding-top:calc(139.55 * var(--u))}
.contact .section-background{height:100%}
.contact-layout{grid-template-columns:calc(745 * var(--u)) calc(687 * var(--u))}
.contact-copy{padding-top:calc(61.55 * var(--u))}
.contact h2{font-size:calc(70 * var(--u));font-weight:700}
.contact-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:calc(93 * var(--u));gap:30px}
.contact-links{margin:0;justify-content:flex-start}
.social-links{margin:0;flex:none;gap:calc(31 * var(--u))}
.site-footer{background:#242424;color:white;padding:calc(15 * var(--u)) calc(80 * var(--u));min-height:calc(62 * var(--u));display:flex;justify-content:space-between;align-items:center;gap:28px}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:calc(16 * var(--u))}
.footer-legal a:hover{text-decoration:underline}
.footer-credit{width:calc(281 * var(--u));flex:none}.footer-credit img{width:100%;height:auto}
@media(min-width:901px){.services-list{padding-inline-start:calc(141 * var(--u));padding-inline-end:0}.service-thumb{left:auto;right:calc(-61 * var(--u));top:calc(-17 * var(--u));transform:none}.services-list li{position:relative}.service-arrow{right:calc(-100 * var(--u))}}
@media(min-width:901px) and (max-width:1199px){.story .about .prose,.story .challenge .prose{font-size:15px;line-height:1.5}.footer-legal{font-size:12px}.team-person--3 .person-bio{font-size:11px;line-height:1.5}}
@media(max-width:900px){
 .hero h1{font-size:clamp(44px,8vw,72px);line-height:1.03}.hero-copy>p{font-size:22px}.hero::after{background:linear-gradient(0deg,#27384fcc,transparent 85%)}.hero-image{object-position:32% center}.site-header{align-items:center}.header-actions{padding-top:0}
 .story-visual{position:relative;width:100%;height:360px;z-index:0}.story-art-frame{position:relative;top:0;height:100%;min-height:0}.story .story-art{width:300px;top:-44px;right:0;opacity:1}.story-glow{width:420px;right:-80px;top:-40px}
 .story-panels{width:100%}.story .story-copy{width:auto;max-width:100%;margin:0}.story .story-section{min-height:0;padding:35px 24px 60px}.story .about h2,.story .challenge h2{font-size:36px;line-height:1.13;width:auto;margin-bottom:24px;letter-spacing:-1px}.story .about .prose,.story .challenge .prose{font-size:17px;line-height:1.55}.story .prose p+p{margin-top:16px}
 .marquee{height:155px;padding-top:38px}.marquee-track{font-size:32px}.marquee-group>span{padding-right:32px}.marquee .motion-toggle{top:86px}
 .clients{height:100px;min-height:100px}.clients-group{gap:36px;padding:0 18px}.clients-group>div{width:130px}.clients img{max-height:42px;max-width:124px}.clients:not(.is-moving){height:auto}.clients:not(.is-moving) .marquee-track{width:100%}.clients:not(.is-moving) .clients-group{width:100%;min-width:0;flex-wrap:wrap;justify-content:center;padding:25px 18px;gap:24px}.clients:not(.is-moving) .clients-group>div{width:110px}
 .team-person--2,.team-person--3{top:auto;left:auto;width:auto}.team-person--3 .person-bio{padding:16px;font-size:15px;line-height:1.6}.team-orange{top:200px}
 .faq{min-height:0;padding-top:80px}.contact{min-height:0;padding-top:55px}.contact-layout{grid-template-columns:1fr}.contact-copy{padding-top:0}.contact h2{font-size:36px;line-height:1.15}.contact-bottom{flex-direction:column;margin-top:40px;gap:28px}.contact-links{justify-content:center}.social-links{gap:22px}
 .site-footer{padding:20px 24px;flex-direction:column;gap:18px}.footer-legal{font-size:12px;justify-content:center}.footer-credit{width:210px}
}
@media(min-width:601px) and (max-width:900px){.story-visual{height:420px}.story .story-art{width:380px;top:-72px}.story .story-section{padding-inline:7.5%}.contact-layout{grid-template-columns:1fr 1fr}.contact h2{font-size:30px}.hero h1{font-size:54px}}
@media(hover:none){.motion-toggle{opacity:1}}
@media(prefers-reduced-motion:reduce){.story .story-art-frame{position:relative}.marquee-track{transform:none!important}.motion-toggle{display:none!important}}
