/* 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;}}
