/* Thermal case v7.1: large unmasked image, copy on the right. */
.thermal-feature { position:relative; min-height:1600px; height:1600px; margin:0 0 clamp(110px,14vw,210px); overflow:visible; isolation:isolate; }
.thermal-feature > img { animation:none!important; clip-path:none!important; opacity:1!important; }
.thermal-feature > img { position:absolute; z-index:0; top:0; left:var(--gutter); right:auto; width:auto; height:1600px; max-width:none; max-height:none; object-fit:contain; object-position:left top; transform:translate3d(0,var(--thermal-shift,0px),0); filter:none; will-change:transform; }
.thermal-copy { position:absolute; z-index:1; top:0; left:calc(50% + 40px); width:min(560px,38vw); padding:clamp(120px,10vw,220px) 0 0; }
.thermal-copy h2 { margin:18px 0 25px; font:400 clamp(32px,4vw,68px)/1.16 LongPixel,monospace; overflow-wrap:normal; }
.thermal-copy p { max-width:520px; font-size:clamp(16px,1.3vw,21px); line-height:1.55; color:#c7c7c3; }
@media(min-width:701px) {
 .thermal-feature { margin-left:calc(var(--gutter) * -1); margin-right:calc(var(--gutter) * -1); }
 .thermal-feature > img { left:var(--gutter); }
}
@media(max-width:700px) {
 .thermal-feature { min-height:980px; height:980px; margin:25px 0 90px; overflow:hidden; }
 .thermal-feature > img { top:260px; left:50%; right:auto; width:auto; height:1000px; transform:translate3d(-50%,var(--thermal-shift,0px),0); }
 .thermal-copy { position:relative; top:0; left:0; width:auto; padding:35px var(--gutter) 0; }
 .thermal-copy h2 { font-size:clamp(27px,7.5vw,40px); line-height:1.28; }
 .thermal-copy p { font-size:15px; line-height:1.48; }
}
.pixel-title,.glitch-title { position:relative; isolation:isolate; }
.pixel-title.pixel-active,.glitch-title.pixel-active { animation:v7-pixel-text .72s steps(7,end) both; }
.pixel-title.pixel-active::after,.glitch-title.pixel-active::after { content:""; position:absolute; z-index:2; inset:-.08em -.04em; pointer-events:none; background:var(--bg,#202020); animation:v7-pixel-mask .72s steps(7,end) both; }
@keyframes v7-pixel-text { 0% { opacity:.12; filter:blur(3px); } 45% { opacity:.72; filter:blur(1px); } 100% { opacity:1; filter:none; } }
@keyframes v7-pixel-mask { 0% { clip-path:polygon(0 0,100% 0,100% 100%,0 100%); opacity:1; } 100% { clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%); opacity:0; } }
@media(min-width:701px) {
 .thermal-feature { margin-left:calc(var(--gutter) * -1); margin-right:calc(var(--gutter) * -1); }
 .thermal-feature > img { right:0; }
}

/* v7.1 final overrides: keep the Figma composition after legacy rules. */
.thermal-feature { height:1600px!important; min-height:1600px!important; overflow:visible!important; }
.thermal-feature::after { display:none!important; content:none!important; background:none!important; }
.thermal-feature > img { top:0!important; left:var(--gutter)!important; right:auto!important; width:auto!important; height:1600px!important; max-width:none!important; max-height:none!important; object-fit:contain!important; transform:translate3d(0,var(--thermal-shift,0px),0)!important; rotate:none!important; filter:none!important; opacity:1!important; clip-path:none!important; }
.thermal-copy { position:absolute!important; top:0!important; left:calc(50% + 40px)!important; width:min(560px,38vw)!important; padding:clamp(120px,10vw,220px) 0 0!important; }
@media(max-width:700px) {
 .thermal-feature { height:980px!important; min-height:980px!important; overflow:hidden!important; }
 .thermal-feature > img { top:260px!important; left:50%!important; right:auto!important; width:auto!important; height:1000px!important; max-width:none!important; max-height:none!important; transform:translate3d(-50%,var(--thermal-shift,0px),0)!important; }
 .thermal-copy { position:relative!important; top:0!important; left:0!important; width:auto!important; padding:35px var(--gutter) 0!important; }
}

/* v8 final editorial adjustments */
.shade { display:none!important; }
.portfolio { padding-top:clamp(28px,3vw,48px)!important; }
.portfolio-kicker { display:none!important; }
.thermal-feature { margin-top:0!important; margin-bottom:clamp(28px,3vw,48px)!important; }
.thermal-copy { left:calc(50% + 40px)!important; padding-top:clamp(260px,18vw,340px)!important; font-family:LongPixel,monospace!important; }
.thermal-copy h2 { color:#f1f1ef!important; font-family:LongPixel,monospace!important; font-size:clamp(34px,3.6vw,60px)!important; line-height:1.16!important; }
.thermal-copy p { color:#a8a8a5!important; font-family:LongPixel,monospace!important; font-size:clamp(16px,1.25vw,21px)!important; line-height:1.55!important; }
@media(max-width:700px) {
  .portfolio { padding-top:28px!important; }
  .thermal-feature { margin-top:0!important; margin-bottom:28px!important; }
  .thermal-copy { padding-top:35px!important; }
}

/* Align the case copy with the right-hand carousel heading column. */
.thermal-copy { left:auto!important; right:var(--gutter)!important; width:min(500px,38vw)!important; padding-top:clamp(300px,20vw,380px)!important; font-family:LongPixel,monospace!important; }
.thermal-copy h2,.thermal-copy p { font-family:LongPixel,monospace!important; }
@media(max-width:700px) {
  .thermal-copy { left:0!important; right:0!important; width:auto!important; padding-top:35px!important; }
}

/* v12: full-width featured cases */
.section-case { width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#202020; }
.section-case figure { margin:0; position:relative; }
.section-case img { display:block; width:100%; height:auto; object-fit:cover; }
.section-case figcaption { padding:12px var(--gutter) 0; color:#d7d7d4; font:400 14px/1.4 LongPixel,monospace; text-transform:uppercase; }
.case-arena { margin-bottom:clamp(44px,6vw,110px); }
.case-zolotoy { margin-top:clamp(60px,9vw,150px); }
.section-logo-band { height:clamp(150px,18vw,320px); display:grid; place-items:center; background:transparent; overflow:hidden; }
.section-logo-band img { width:min(68vw,920px); height:auto; opacity:.36; filter:brightness(.34); }
@media(prefers-reduced-motion:no-preference) {
 .section-logo-band img { animation:logo-approach 1.2s steps(9,end) both; animation-timeline:view(); animation-range:entry 0% cover 60%; }
}
@keyframes logo-approach { from {transform:scale(.82) translateY(22px);opacity:0} to {transform:scale(1);opacity:.36} }
/* The final case caption is on the image and follows the carousel heading right grid. */
.case-zolotoy figcaption { position:absolute; z-index:2; top:clamp(24px,5vw,90px); right:var(--gutter); width:min(480px,36vw); box-sizing:border-box; padding:18px; margin:0; color:#f1f1ef; font:400 clamp(20px,2.1vw,32px)/1.35 LongPixel,monospace; background:rgba(23,23,23,.72); }
/* One and only one black blinking arrow in the navigation band. */
.next-direction { position:relative; }
.next-direction strong { display:inline; }
.next-direction strong::after { content:'↗'; color:#101c17; display:inline-block; margin-left:.24em; font:inherit; animation:next-arrow 1s steps(2,end) infinite; }
@keyframes next-arrow { 0%,49% {opacity:1} 50%,100% {opacity:0} }
@media(prefers-reduced-motion:reduce) {.next-direction strong::after { animation:none; }}
/* Project index and about */
.case-index { padding:0; margin:42px 0 0; list-style:none; }
.case-index li { border-top:1px solid #535350; }
.case-index a { display:grid; grid-template-columns:minmax(88px,130px) minmax(0,1fr) auto; align-items:center; gap:clamp(12px,2vw,35px); padding:14px 0; text-decoration:none; color:inherit; }
.case-index img { width:100%; height:74px; object-fit:cover; }
.case-index .case-name { font:clamp(16px,1.6vw,25px)/1.3 LongPixel,monospace; overflow-wrap:anywhere; }
.case-index a:hover .case-name,.case-index a:focus-visible .case-name {color:#abd2be;}
.case-index .case-arrow {font:30px/1 LongPixel,monospace;}
.case-index h2 {font:clamp(28px,3vw,48px)/1.25 LongPixel,monospace; margin:50px 0 18px;}
.about-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,2vw,36px); margin:65px 0; }
.about-stat { border-top:1px solid #aaa; padding:22px 0; font-family:LongPixel,monospace; }
.about-stat strong { display:block; color:#d4eadb; font:clamp(46px,7vw,110px)/1 LongPixel,monospace; }
.about-stat span { display:block; margin-top:15px; font:clamp(14px,1.3vw,20px)/1.4 LongPixel,monospace; }
@media(prefers-reduced-motion:no-preference) { .about-stat strong {animation:stats-pixel .8s steps(8,end) both;animation-timeline:view();animation-range:entry 15% cover 45%;} }
@keyframes stats-pixel {from {opacity:0;filter:blur(5px);transform:translateY(20px)}to{opacity:1;filter:none;transform:none}}
.about-clients {margin:55px 0;}
.about-clients h2 {font:clamp(27px,3vw,48px)/1.25 LongPixel,monospace;}
.about-clients ul {display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;}
.about-clients li {border:1px solid #777;padding:12px 18px;font:clamp(15px,1.3vw,20px)/1.25 LongPixel,monospace;}
@media(max-width:700px) {
 .case-arena img {min-height:800px;object-position:center;}
 .case-zolotoy img {min-height:2000px;object-position:center;}
 .case-zolotoy figcaption {top:30px;right:var(--gutter);width:min(82vw,370px);font-size:clamp(18px,5vw,26px);}
 .section-logo-band {height:180px;}
 .section-logo-band img {width:84vw;}
 .case-index a {grid-template-columns:84px minmax(0,1fr) auto;gap:10px;}
 .case-index img {height:64px;}
 .case-index .case-name {font-size:15px;}
 .about-stats {grid-template-columns:1fr;gap:7px;margin:35px 0;}
 .about-stat strong {font-size:58px;}
}

/* v13: predictable animations that start on visibility, not scroll-timeline. */
.section-logo-band { position:relative; isolation:isolate; overflow:hidden; }
.section-logo-band > img:not(.logo-fragment) { position:relative; z-index:2; filter:none; opacity:.52; }
.section-logo-band > .logo-fragment { position:absolute; inset:auto; width:min(68vw,920px); height:auto; opacity:0; pointer-events:none; filter:none; }
.section-logo-band .fragment-1 { clip-path:inset(0 0 68% 0); }
.section-logo-band .fragment-2 { clip-path:inset(34% 0 32% 0); }
.section-logo-band .fragment-3 { clip-path:inset(69% 0 0 0); }
.section-logo-band img { animation:none!important; }
@media (prefers-reduced-motion:no-preference) {
 .nau-motion .section-logo-band:not(.is-visible) > img { opacity:0; }
 .nau-motion .section-logo-band.is-visible > img:not(.logo-fragment) { animation:logo-solid-v13 1.65s steps(13,end) both!important; }
 .nau-motion .section-logo-band.is-visible > .fragment-1 { animation:logo-shard-1 1.45s steps(7,end) both!important; }
 .nau-motion .section-logo-band.is-visible > .fragment-2 { animation:logo-shard-2 1.6s steps(9,end) both!important; }
 .nau-motion .section-logo-band.is-visible > .fragment-3 { animation:logo-shard-3 1.8s steps(9,end) both!important; }
 .nau-motion .about-stat { opacity:0; transform:translateY(24px); filter:blur(5px); transition:opacity .65s steps(9,end), transform .9s steps(12,end), filter .9s steps(12,end); transition-delay:calc(var(--stat-order) * 230ms); }
 .nau-motion .about-stats.is-visible .about-stat { opacity:1; transform:translateY(0); filter:none; }
 .nau-motion .about-stat strong { animation:none!important; text-shadow:3px 3px 0 #345348; }
 .nau-motion .about-stats.is-visible .about-stat strong { animation:stat-flicker-v13 2.65s steps(18,end) both!important; animation-delay:calc(var(--stat-order) * 230ms); }
}
@keyframes logo-solid-v13 {0%{clip-path:inset(0 100% 0 0);opacity:0;transform:scale(.93)} 25%{opacity:.55} 78%{clip-path:inset(0 0 0 0);transform:scale(1.02)} 100%{clip-path:inset(0);opacity:.52;transform:none}}
@keyframes logo-shard-1 {0%{opacity:0;transform:translate(52px,-9px)} 15%,46%{opacity:.53} 80%{opacity:0;transform:translate(0,0)} 100%{opacity:0}}
@keyframes logo-shard-2 {0%{opacity:0;transform:translate(-65px,5px)} 20%,55%{opacity:.48} 88%{opacity:0;transform:none}100%{opacity:0}}
@keyframes logo-shard-3 {0%{opacity:0;transform:translate(42px,12px)} 30%,60%{opacity:.5} 95%,100%{opacity:0;transform:none}}
@keyframes stat-flicker-v13 { 0%,6%{opacity:.2} 9%,13%{opacity:1} 16%,23%{opacity:.5} 30%,100%{opacity:1} }
@media(max-width:700px) { .section-logo-band > .logo-fragment { width:84vw; } }
@media(prefers-reduced-motion:reduce) { .section-logo-band > img:not(.logo-fragment){opacity:.52!important} .section-logo-band > .logo-fragment{display:none!important} .nau-motion .about-stat{opacity:1!important;transform:none!important;filter:none!important} }

/* Layer identical SVG fragments in the same grid cell: no layout shift. */
.section-logo-band > img:not(.logo-fragment),.section-logo-band > .logo-fragment { grid-area:1 / 1; }
.section-logo-band > .logo-fragment { position:relative; inset:auto; margin:0; }

/* v14 shared header: full-width, LongPixel, understated terminal treatment */
.site-header.nau-header-v14 {position:fixed;z-index:80;inset:0 0 auto;width:100%;box-sizing:border-box;background:#202020;border:0;border-bottom:1px solid #343434;backdrop-filter:none;}
.site-header.nau-header-v14 .header-row {width:100%;max-width:none;min-height:72px;box-sizing:border-box;padding:8px clamp(18px,4.8vw,78px);display:grid;grid-template-columns:minmax(108px,auto) minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,34px);}
.site-header.nau-header-v14 .brand {min-width:0;}
.site-header.nau-header-v14 .brand img {width:min(152px,16vw);height:auto;max-height:34px;object-fit:contain;}
.site-header.nau-header-v14 .desktop-menu {display:flex;min-width:0;justify-content:flex-end;align-items:center;gap:clamp(12px,2.05vw,34px);margin:0;}
.site-header.nau-header-v14 .desktop-menu a,.site-header.nau-header-v14 .directions-list a {font:400 clamp(12px,.95vw,15px)/1.25 LongPixel,monospace;color:#eee;text-decoration:none;text-transform:lowercase;white-space:nowrap;transition:color .18s,text-shadow .18s;}
.site-header.nau-header-v14 .desktop-menu a:hover,.site-header.nau-header-v14 .desktop-menu a[aria-current=page],.site-header.nau-header-v14 .desktop-menu .directions-dropdown:hover>a {color:#39ff88;text-shadow:0 0 9px #39ff8866;}
.site-header.nau-header-v14 .directions-dropdown>a {padding:12px 0;}
.site-header.nau-header-v14 .directions-dropdown>a::after {color:#39ff88;}
.site-header.nau-header-v14 .directions-list {background:#202020;border:1px solid #39ff8880;box-shadow:0 0 18px #39ff881c;}
.site-header.nau-header-v14 .directions-list a {white-space:normal;padding:10px 4px;}
.site-header.nau-header-v14 .desktop-menu .consult-action {border:1px solid #39ff88;padding:9px 12px;color:#39ff88;box-shadow:inset 0 0 12px #39ff8814;}
.site-header.nau-header-v14 .head-contacts {font:400 11px/1.35 LongPixel,monospace;min-width:max-content;color:#e8e8e5;}
.site-header.nau-header-v14 .head-contacts a {color:#e8e8e5;text-decoration:none;}
.site-header.nau-header-v14 .head-contacts a:hover {color:#39ff88;}
.site-header.nau-header-v14 .menu-toggle {border:1px solid #39ff8880;background:#202020;}
.site-header.nau-header-v14 .menu-toggle span {background:#39ff88;}
.site-header.nau-header-v14 .mobile-menu:not([hidden]) {background:#202020;border-top:1px solid #39ff8866;}
.site-header.nau-header-v14 .mobile-menu a {font:400 16px/1.4 LongPixel,monospace;color:#eee;text-transform:lowercase;}
.site-header.nau-header-v14 .mobile-menu a[aria-current=page],.site-header.nau-header-v14 .mobile-menu a:hover {color:#39ff88;}
@media(max-width:1100px) and (min-width:901px) {
 .site-header.nau-header-v14 .header-row {padding-left:24px;padding-right:24px;gap:15px;grid-template-columns:minmax(100px,auto) minmax(0,1fr) auto;}
 .site-header.nau-header-v14 .brand img {width:132px;height:auto;max-height:30px;}
 .site-header.nau-header-v14 .desktop-menu {gap:clamp(8px,1vw,14px);}
 .site-header.nau-header-v14 .desktop-menu a {font-size:12px;}
 .site-header.nau-header-v14 .head-contacts {font-size:10px;}
}
@media(max-width:900px) {
 .site-header.nau-header-v14 .header-row {display:flex;min-height:64px;gap:14px;}
 .site-header.nau-header-v14 .brand img {width:136px;height:auto;max-height:32px;}
 .site-header.nau-header-v14 .desktop-menu {display:none;}
 .site-header.nau-header-v14 .head-contacts {margin-left:auto;}
 .site-header.nau-header-v14 .menu-toggle {display:grid;margin-left:0;flex:none;}
}
@media(max-width:520px) {
 .site-header.nau-header-v14 .header-row {min-height:60px;padding:6px 16px;gap:9px;}
 .site-header.nau-header-v14 .brand img {width:116px;height:auto;max-height:28px;}
 .site-header.nau-header-v14 .head-contacts {font-size:9px;gap:2px;}
 .site-header.nau-header-v14 .menu-toggle {width:38px;height:38px;}
}
/* Homepage Figma offer: top-left below fixed menu, followed by the scroll hero. */
.home-offer {position:relative;z-index:1;box-sizing:border-box;width:100%;margin:0;padding:clamp(132px,12.5vw,190px) clamp(18px,8.45vw,122px) clamp(48px,6.5vw,94px);background:#202020;color:#f1f1ef;}
.home-offer .offer-line {margin:0;font:400 clamp(24px,2.5vw,36px)/1.38 LongPixel,monospace;letter-spacing:0;text-transform:uppercase;white-space:nowrap;}
.home-offer .offer-letter {display:inline-block;white-space:pre;}
.nau-offer-enabled .home-offer .offer-letter {opacity:0;}
.home-offer.is-playing .offer-letter {animation:offer-letter-v14 .34s steps(5,end) both;animation-delay:var(--reveal-delay,0ms);}
@keyframes offer-letter-v14 {0%{opacity:0;transform:translateY(.22em);filter:blur(3px);color:#39ff88;text-shadow:0 0 12px #39ff88}35%{opacity:1;color:#39ff88;text-shadow:0 0 9px #39ff8888}65%{opacity:.55}100%{opacity:1;transform:none;filter:none;color:#f1f1ef;text-shadow:none}}
.home-offer .offer-cta {margin:24px 0 0;font:400 clamp(17px,1.67vw,24px)/1.45 LongPixel,monospace;text-transform:uppercase;color:#d2d2cf;}
.home-offer .offer-cta a {color:inherit;text-decoration:none;}
.home-offer .offer-cta a:hover {color:#39ff88;}
@media(max-width:1100px) {.home-offer {padding-left:6vw;padding-right:5vw;}.home-offer .offer-line {font-size:clamp(20px,2.7vw,31px);white-space:normal;}}
@media(max-width:700px) {.home-offer {padding:110px 20px 44px;}.home-offer .offer-line {font-size:clamp(18px,4.5vw,24px);line-height:1.5;white-space:normal;}.home-offer .offer-cta {font-size:clamp(15px,3.9vw,20px);margin-top:18px;}}
@media(prefers-reduced-motion:reduce) {.home-offer .offer-letter,.nau-offer-enabled .home-offer .offer-letter {opacity:1!important;animation:none!important;}}
/* Requested +30% emphasis in homepage scroll-story copy. */
.hero .copy .hero-accent {font-size:1.3em;line-height:inherit;color:#f1f1ef;}
/* Smaller final case image with the same strong parallax travel as the SPA case. */
.case-zolotoy figure {height:clamp(500px,69vh,860px);overflow:hidden;}
.case-zolotoy img {position:absolute;inset:-13% 0;width:100%;height:126%;max-height:none;object-fit:cover;object-position:center;will-change:transform;transform:translate3d(0,var(--case-shift,0px),0) scale(1.04);}
.thermal-feature > img {will-change:transform;}
@media(max-width:700px) {.case-zolotoy figure {height:clamp(480px,72svh,760px);}.case-zolotoy figcaption {top:20px;right:var(--gutter);width:min(84vw,360px);font-size:clamp(17px,4.7vw,23px);}}

/* Align the offer close to Figma reference, just below the fixed navigation. */
.home-offer {padding-top:clamp(105px,9vw,138px);}
@media(max-width:700px){.home-offer{padding-top:110px;}}

.case-zolotoy img {min-height:0!important;aspect-ratio:auto!important;}
@media(max-width:700px){.case-zolotoy img{min-height:0!important;aspect-ratio:auto!important;height:126%!important;}}

/* v15: keep case title and its editable descriptive line independent. */
.section-case figcaption { display:flex; flex-direction:column; gap:8px; }
.section-case .case-caption-title { display:block; font:inherit; }
.section-case .case-caption-details { display:block; color:#b6b6b2; font:400 clamp(11px,.95vw,14px)/1.5 LongPixel,monospace; text-transform:uppercase; }
.case-zolotoy .case-caption-title { font:inherit; color:#f1f1ef; }
.case-zolotoy .case-caption-details { font-size:clamp(10px,.85vw,13px); }
@media(max-width:700px) { .section-case .case-caption-details { font-size:11px; } .case-zolotoy .case-caption-details { font-size:10px; } }

/* v16 mobile fixes and client logo section */
/* Mobile offer uses a simple reveal transition; avoid many blurred CSS animations freezing in iOS. */
.home-offer .offer-letter { opacity:0!important; transform:translate3d(0,.14em,0); filter:none!important; animation:none!important; transition:opacity .13s linear,transform .18s ease-out; transition-delay:0ms!important; }
.home-offer .offer-letter.is-visible { opacity:1!important; transform:none; }
@media(prefers-reduced-motion:reduce) { .home-offer .offer-letter {opacity:1!important;transform:none!important;transition:none!important;} }
/* On mobile, headings remain crisp and have enough top leading; no glitch masks/crop. */
@media(max-width:700px) {
 .glitch-title,.pixel-title,.hero h1,.group-intro h2 { overflow:visible!important; clip-path:none!important; filter:none!important; transform:none!important; }
 .glitch-title.pixel-active,.pixel-title.pixel-active { animation:none!important; opacity:1!important; }
 .glitch-title.pixel-active::before,.glitch-title.pixel-active::after,.pixel-title.pixel-active::before,.pixel-title.pixel-active::after {display:none!important;content:none!important;}
 .group-intro h2 { padding-top:.16em!important; padding-bottom:.05em; line-height:1.42!important; scroll-margin-top:94px; }
 .hero h1 { padding-top:.1em; line-height:1.34!important; }
 h1,h2,h3 { scroll-margin-top:92px; }
}
/* Borderless hamburger aligned on the far right of the shared header. */
.site-header.nau-header-v14 .menu-toggle {border:0!important;outline:0;box-shadow:none!important;background:transparent!important;margin-left:auto!important;padding:0;}
.site-header.nau-header-v14 .menu-toggle:focus-visible {outline:1px solid #39ff88!important;outline-offset:4px;}
.site-header.nau-header-v14 .mobile-menu:not([hidden]) {border:0!important;border-top:1px solid #39ff8840!important;}
@media(max-width:700px) {
 .site-header.nau-header-v14 .head-contacts {display:none!important;}
 .site-header.nau-header-v14 .menu-toggle {margin-left:auto!important;}
}
/* Client marks on the studio page */
.client-logo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);margin-top:30px;align-items:stretch;}
.client-logo {margin:0;min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px 14px;background:#1e1e1e;border:1px solid #363636;}
.client-logo img {display:block;width:auto;max-width:min(100%,300px);height:auto;max-height:62px;object-fit:contain;mix-blend-mode:screen;}
.client-logo figcaption {font:400 clamp(11px,.85vw,13px)/1.35 LongPixel,monospace;color:#bcbcb9;text-align:center;text-transform:uppercase;}
@media(max-width:850px) {.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.client-logo{min-height:110px;}.client-logo img{max-height:55px;}}
@media(max-width:440px) {.client-logo-grid{gap:10px;}.client-logo{min-height:94px;padding:12px 7px;}.client-logo img{max-width:100%;max-height:48px;}.client-logo figcaption{font-size:10px;}}
/* Keep desktop anchors smooth; Lenis provides eased wheel scrolling on desktop only. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference) {html:not(.lenis){scroll-behavior:smooth;}}
.lenis.lenis-smooth {scroll-behavior:auto!important;}

.client-logo .client-wordmark {display:grid;place-items:center;min-width:130px;height:60px;color:#f1f1ef;font:900 42px/1 Arial,Helvetica,sans-serif;letter-spacing:.05em;text-shadow:2px 0 #e87517;}
@media(max-width:440px){.client-logo .client-wordmark{font-size:34px;min-width:100px;height:45px;}}

@media(max-width:700px){.group-intro h2{max-width:100%!important;box-sizing:border-box;letter-spacing:-.01em;overflow-wrap:anywhere!important;}}

/* Offer v16: requestAnimationFrame controls the reveal on desktop and mobile. */
.home-offer .offer-letter,.nau-offer-enabled .home-offer .offer-letter {opacity:0!important;animation:none!important;transition:none!important;filter:none!important;text-shadow:none!important;}
.home-offer .offer-letter.is-visible {opacity:1!important;transform:none!important;color:#f1f1ef!important;filter:none!important;text-shadow:none!important;}

.client-logo img[src$="/tsk.svg"] {max-width:min(100%,340px);max-height:62px;}


/* v17 verified fixes and overrides */
/* v17 hero vertical metrics: the supplied LongPixel font has glyphs reaching 1.2em above baseline. */
@font-face {font-family:LongPixelHero;src:url('/LongPixel-7.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;ascent-override:125%;descent-override:25%;line-gap-override:0%;}
.sequence .hero {overflow:visible!important;}
.sequence .hero h1 {font-family:LongPixelHero,LongPixel,monospace!important;line-height:1.52!important;padding:.24em 0 .12em!important;overflow:visible!important;clip-path:none!important;}
.sequence .hero h1 span {display:block;overflow:visible!important;padding-top:.04em;}
.sequence .hero .copy {overflow:visible!important;}
@media(max-width:700px) {
 .sequence .hero {top:auto!important;bottom:clamp(108px,14vh,154px)!important;transform:none!important;overflow:visible!important;}
 .sequence .hero h1 {line-height:1.55!important;padding:.26em 0 .14em!important;font-size:clamp(28px,7.1vw,48px)!important;}
 .sequence .hero h1 span {padding-top:.045em;}
}
/* Offer CTA waits until the four-line statement has finished revealing. */
.home-offer .offer-cta {opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1);}
.home-offer.offer-cta-visible .offer-cta {opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce) {.home-offer .offer-cta{opacity:1;transform:none;transition:none;}}
/* One borderless frame for all original supplied client JPEGs, preserving each image's full aspect ratio. */
.client-logos-frame {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:clamp(24px,4vw,58px) clamp(22px,5vw,76px);width:100%;margin-top:clamp(28px,4vw,58px);padding:clamp(12px,2vw,24px) 0;background:transparent;border:0;}
.client-logos-frame img {display:block;width:auto;height:auto;max-width:min(100%,360px);max-height:100px;object-fit:contain;object-position:center;background:transparent;border:0;border-radius:0;box-shadow:none;filter:none;mix-blend-mode:normal;}
@media(max-width:700px) {.client-logos-frame{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:24px;padding:8px 0;}.client-logos-frame img{max-width:100%;max-height:76px;}}
@media(max-width:390px) {.client-logos-frame{gap:20px 12px;}.client-logos-frame img{max-height:66px;}}
