/* Impronta page, scoped under .imp, generated by build2.py */
/* shared helpers first, so page rules below can override them */
.imp .container{width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto;padding:0 28px}
.imp .h2{margin:0 0 .6em}
.imp .lead{color:var(--text-dim);font-size:1.12rem;max-width:62ch}
.imp .section{padding:clamp(90px,11vw,140px) 0;position:relative}
.imp .section--alt{background:var(--bg-alt,#070D1B);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.imp .eyebrow{display:inline-block;font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1.4rem}
.imp .lead{color:var(--text-dim);font-size:1.12rem;max-width:62ch}
.imp .h2{font-size:clamp(2rem,3.6vw,2.9rem);font-family:'Space Grotesk','Inter',system-ui,sans-serif}
.imp /* nav */
.nav{position:fixed;left:0;right:0;top:0;z-index:20;background:rgba(5,10,20,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.imp /* video hero */
.vhero{position:relative;min-height:calc(100vh - 64px);display:grid;align-items:start;overflow:clip;background:#020509}
.imp .vhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imp .vhero__scrim{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 52%,rgba(5,10,20,.55),rgba(5,10,20,.18) 70%),linear-gradient(180deg,rgba(5,10,20,.5) 0%,rgba(5,10,20,.1) 40%,rgba(5,10,20,.86) 84%,#050A14 100%)}
.imp .vhero__content{position:relative;text-align:center;display:grid;justify-items:center;margin-top:clamp(140px,20vh,240px)}
.imp .vhero h1{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;font-weight:700;letter-spacing:-.028em;font-size:clamp(3.4rem,7vw,6rem);line-height:1.04;margin:0 0 .42em}
.imp .vhero__tag{font-size:clamp(1.05rem,1.6vw,1.4rem);font-weight:500;color:rgba(245,247,250,.9);margin:0;max-width:56ch;text-wrap:balance}
.imp /* hero fingerprint: field based ridges (loop with delta), .imp glow + crisp layers, .imp edge fade, .imp scan with match flash */
.vhero__fp{position:absolute;left:50%;top:51%;transform:translate(-50%,0);width:clamp(128px,22vh,212px);pointer-events:none;filter:drop-shadow(0 0 18px rgba(32,212,232,.32));transition:transform .9s cubic-bezier(.16,1,.3,1);will-change:transform}
.imp .fp{display:block;width:100%;height:auto;overflow:visible}
#fpP path{stroke-dasharray:1400;stroke-dashoffset:1400;animation:fpdraw 1.6s cubic-bezier(.2,.7,.2,1) both;}
.imp .fp__glow{stroke:#20D4E8;stroke-width:4.6;opacity:.45;filter:url(#fpBlur);animation:fpbreathe 4.5s ease-in-out 4.4s infinite}
.imp .fp__ridges{stroke:#8AF1FB;stroke-width:1.55;animation:fpmatch 4.2s cubic-bezier(.45,0,.55,1) 4.4s infinite}
.imp .fp__scan{opacity:0;animation:fpscan 4.2s cubic-bezier(.45,0,.55,1) 4.4s infinite}
@keyframes fpdraw{to{stroke-dashoffset:0}}
@keyframes fpbreathe{0%,100%{opacity:.45}50%{opacity:.26}}
@keyframes fpscan{0%{transform:translateY(0);opacity:0}6%{opacity:1}46%{transform:translateY(370px);opacity:1}52%{opacity:0}100%{transform:translateY(0);opacity:0}}
@keyframes fpmatch{0%,44%{stroke:#8AF1FB}49%{stroke:#FFFFFF}62%,100%{stroke:#8AF1FB}}
@media (prefers-reduced-motion:reduce){#fpP path{stroke-dashoffset:0;animation:none}
.imp .fp__glow, .imp .fp__ridges, .imp .fp__scan{animation:none}
.imp .vhero__fp{transition:none}}
@media (max-height:620px){.imp .vhero__fp{display:none}}
.imp /* iOS: no native play glyph over paused inline videos (Low Power Mode blocks autoplay) */
video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
.imp video::-webkit-media-controls{display:none!important}
.imp video::-webkit-media-controls-panel{display:none!important}
.imp /* hero scroll cue, .imp same as rentadomus.com: mouse outline with a bobbing dot */
.vhero__scroll{position:absolute;left:50%;bottom:clamp(18px,3vh,36px);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#f5f5f7;opacity:0;transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);user-select:none}
.imp .vhero__scroll.show{opacity:.55}
.imp .vhero__scroll.show:hover{opacity:.95;transform:translateX(-50%) translateY(2px)}
.imp .vhero__scroll.hide{opacity:0;pointer-events:none}
.imp .vhero__scroll .mouse{width:22px;height:36px;border:2px solid currentColor;border-radius:12px;position:relative;display:flex;justify-content:center;opacity:.7}
.imp .vhero__scroll i{display:block;width:3px;height:8px;background:currentColor;border-radius:2px;margin-top:5px;animation:cuebob 1.7s cubic-bezier(.6,.05,.3,1) infinite}
@keyframes cuebob{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(11px);opacity:.3}}
@media (max-height:600px){.imp .vhero__scroll{display:none}}
.imp /* scroll layers */
.ltrack{height:520vh;position:relative;background:#000}
.imp .lsticky{position:sticky;top:0;height:100vh;overflow:clip}
.imp .lsticky video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imp .lcap{position:absolute;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-out)}
.imp .lcap--c{left:0;right:0;bottom:9%;text-align:center;font-size:clamp(16px,1.9vw,26px);font-weight:500;color:rgba(245,247,250,.92);padding:0 24px}
.imp /* principle */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:start}
.imp .callout{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:34px 34px 28px;position:relative}
.imp .callout::before{content:"";position:absolute;left:34px;right:auto;top:0;width:56px;height:3px;background:var(--brand-bright);border-radius:0 0 3px 3px}
.imp .callout h3{font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-bright);margin:0 0 1rem}
.imp .callout p{color:var(--text-dim);font-size:1rem}
.imp .callout p:last-child{margin-bottom:0}
.imp /* triangle */
.tri{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center}
.imp .tri__fig{position:relative;width:100%;max-width:560px;justify-self:center;margin:96px 0 118px}
.imp .tri__fig>svg{display:block;width:100%;height:auto;aspect-ratio:600/560;overflow:visible}
.imp .tri__edge{stroke:rgba(245,247,250,.82);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;transition:stroke-dashoffset 1.1s var(--ease-out)}
.imp .tri__tick{stroke:rgba(245,247,250,.38);stroke-width:1.2;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .6s var(--ease-out)}
.imp .tri__node circle{fill:#F5F7FA;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s var(--ease-out);filter:drop-shadow(0 0 8px rgba(245,247,250,.7))}
.imp .tri__node .halo{fill:none;stroke:rgba(245,247,250,.45);stroke-width:1;filter:none}
.imp .tri__mark{color:#F5F7FA;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.92);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);filter:drop-shadow(0 0 22px rgba(245,247,250,.28))}
.imp .tri__lab{position:absolute;width:250px;opacity:0;transform:translateY(8px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.imp .tri__lab strong{display:block;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;font-size:1.08rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.32rem}
.imp .tri__lab span{display:block;color:var(--text-dim);font-size:.92rem;line-height:1.45}
.imp .tri__lab.l1{left:50%;bottom:calc(100% - 9.6%);transform:translate(-50%,8px);text-align:center}
.imp .tri__lab.l2{left:0;top:89.3%;text-align:left}
.imp .tri__lab.l3{right:0;top:89.3%;text-align:right}
.imp .tri__fig.on .e1{stroke-dashoffset:0}
.imp .tri__fig.on .e2{stroke-dashoffset:0;transition-delay:.5s}
.imp .tri__fig.on .e3{stroke-dashoffset:0;transition-delay:1s}
.imp .tri__fig.on .k1{stroke-dashoffset:0;transition-delay:.2s}
.imp .tri__fig.on .k2{stroke-dashoffset:0;transition-delay:.7s}
.imp .tri__fig.on .k3{stroke-dashoffset:0;transition-delay:1.2s}
.imp .tri__fig.on .n1 circle{transform:scale(1)}
.imp .tri__fig.on .n2 circle{transform:scale(1);transition-delay:.5s}
.imp .tri__fig.on .n3 circle{transform:scale(1);transition-delay:1s}
.imp .tri__fig.on .halo{animation:halo 2.6s ease-out 1.8s infinite}
.imp .tri__fig.on .tri__mark{opacity:1;transform:scale(1);transition-delay:1.4s}
.imp .tri__fig.on .l1{opacity:1;transform:translate(-50%,0);transition-delay:.35s}
.imp .tri__fig.on .l2{opacity:1;transform:none;transition-delay:.85s}
.imp .tri__fig.on .l3{opacity:1;transform:none;transition-delay:1.35s}
@keyframes halo{0%{transform:scale(.6);opacity:.9}70%{transform:scale(1.15);opacity:0}100%{transform:scale(1.15);opacity:0}}
.imp /* four areas (scroll) */
.areas{background:#000}
.imp .atrack{height:220vh;position:relative}
.imp .asticky{position:sticky;top:0;height:100vh;overflow:clip;background:#000}
.imp .asticky video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imp .ascrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 34%,rgba(0,0,0,.6) 68%,rgba(0,0,0,.9) 100%)}
.imp .acap{position:absolute;left:0;right:0;bottom:clamp(48px,9vh,110px);padding:0 28px;max-width:var(--maxw);margin:0 auto;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.imp .acap.on{opacity:1;transform:none}
.imp .acap .eyebrow{margin-bottom:.8rem}
.imp .acap h2{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;font-weight:700;letter-spacing:-.022em;font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.06;margin:0 0 .5rem;max-width:20ch}
.imp .acap p{color:var(--text-dim);font-size:clamp(1rem,1.3vw,1.18rem);max-width:56ch;margin:0}
.imp /* release facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:2.6rem}
.imp .fact{border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 26px 22px;background:var(--bg-elev)}
.imp .fact__icon{color:var(--brand-bright);margin-bottom:1rem}
.imp .fact__icon svg{width:24px;height:24px}
.imp .fact h3{font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;margin:0 0 .35rem}
.imp .fact p{color:var(--text-dim);font-size:.94rem;margin:0}
.imp /* sovereignty */
.sov{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-top:2.8rem}
.imp .sov__item{border-top:1px solid var(--border-strong);padding-top:18px}
.imp .sov__item strong{display:block;font-size:1rem;font-weight:600;margin-bottom:.3rem}
.imp .sov__item span{color:var(--text-dim);font-size:.92rem;line-height:1.5;display:block}
.imp /* stanag: light editorial section, .imp Apple style */
.stanag{background:#F5F5F7;color:#1D1D1F;padding:clamp(96px,12vw,150px) 0}
.imp .stanag__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,110px);align-items:start}
.imp .stanag__emblem{width:120px;height:auto;display:block;margin-bottom:34px}
.imp .stanag__eyebrow{display:block;font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#6E6E73;margin-bottom:14px}
.imp .stanag__title{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;font-weight:700;letter-spacing:-.025em;font-size:clamp(2rem,3.6vw,3rem);line-height:1.06;color:#1D1D1F;margin:0 0 .45rem}
.imp .stanag__sub{font-family:'Space Grotesk',monospace;font-size:.9rem;letter-spacing:.12em;color:#6E6E73;margin:0}
.imp .stanag__body{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.6;color:#3A3A3C;margin:0;max-width:60ch;padding-top:6px}
.imp /* who: two cinematic panels */
.who{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2.8rem}
.imp .who__panel{position:relative;min-height:min(88vh,780px);border-radius:var(--radius-lg);overflow:hidden;background:#000;isolation:isolate}
.imp .who__panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.08);transition:transform 7s var(--ease-out),filter .6s var(--ease-out);filter:brightness(.82)}
.imp .who.on .who__panel img{transform:scale(1)}
.imp .who__panel:hover img{filter:brightness(1)}
.imp .who__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.1) 0%,rgba(5,10,20,0) 35%,rgba(5,10,20,.72) 68%,rgba(5,10,20,.96) 100%)}
.imp .who__body{position:absolute;left:0;right:0;bottom:0;padding:0 clamp(24px,3vw,40px) clamp(28px,3.4vw,40px)}
.imp .who__body h3{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;font-weight:700;letter-spacing:-.02em;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.08;margin:0 0 .55rem}
.imp .who__body p{color:rgba(245,247,250,.78);font-size:clamp(.98rem,1.15vw,1.08rem);margin:0 0 1.2rem;max-width:46ch}
.imp .who__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.imp .who__tags li{font-family:'Space Grotesk',monospace;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,247,250,.85);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 12px;background:rgba(5,10,20,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.imp /* closing cta */
.cta{padding:clamp(70px,9vw,120px) 0 clamp(80px,10vw,130px);border-top:1px solid var(--border)}
.imp .cta__inner{display:flex;justify-content:center}
.imp .cta .btn{font-size:1.02rem;padding:16px 34px}
.imp /* footer */
.footer{border-top:1px solid var(--border);padding:56px 0 48px}
@media (max-width:900px){.imp .split{grid-template-columns:1fr}
.imp .tri{grid-template-columns:1fr}
.imp .stanag__grid{grid-template-columns:1fr}
.imp .who{grid-template-columns:1fr}
.imp .who__panel{min-height:72vh}
.imp .tri__lab{width:44%}
.imp .tri__lab.l1{width:70%}}
@media (prefers-reduced-motion:reduce){.imp .tri__edge, .imp .tri__tick{stroke-dashoffset:0}
.imp .tri__node circle{transform:scale(1)}
.imp .tri__mark, .imp .tri__lab{opacity:1;transform:none}
.imp .tri__lab.l1{transform:translateX(-50%)}
.imp .tri__fig.on .halo{animation:none}
.imp .acap{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.imp .vhero h1{animation:rise 1s var(--ease-out) both .15s}
.imp .vhero__tag{animation:slowfade 2.6s ease-out both .9s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes glassin{from{opacity:0;transform:translateY(16px) scale(.96);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes slowfade{from{opacity:0}to{opacity:1}}}
#fpP path:nth-child(1){animation-delay:1.900s}
#fpP path:nth-child(2){animation-delay:1.945s}
#fpP path:nth-child(3){animation-delay:1.990s}
#fpP path:nth-child(4){animation-delay:2.035s}
#fpP path:nth-child(5){animation-delay:2.080s}
#fpP path:nth-child(6){animation-delay:2.125s}
#fpP path:nth-child(7){animation-delay:2.170s}
#fpP path:nth-child(8){animation-delay:2.215s}
#fpP path:nth-child(9){animation-delay:2.260s}
#fpP path:nth-child(10){animation-delay:2.305s}
#fpP path:nth-child(11){animation-delay:2.350s}
#fpP path:nth-child(12){animation-delay:2.395s}
#fpP path:nth-child(13){animation-delay:2.440s}
#fpP path:nth-child(14){animation-delay:2.485s}
#fpP path:nth-child(15){animation-delay:2.530s}
#fpP path:nth-child(16){animation-delay:2.575s}
#fpP path:nth-child(17){animation-delay:2.620s}
#fpP path:nth-child(18){animation-delay:2.665s}
#fpP path:nth-child(19){animation-delay:2.710s}
#fpP path:nth-child(20){animation-delay:2.710s}
#fpP path:nth-child(21){animation-delay:2.755s}
#fpP path:nth-child(22){animation-delay:2.755s}
#fpP path:nth-child(23){animation-delay:2.800s}
#fpP path:nth-child(24){animation-delay:2.800s}
#fpP path:nth-child(25){animation-delay:2.845s}
#fpP path:nth-child(26){animation-delay:2.845s}
#fpP path:nth-child(27){animation-delay:2.845s}
#fpP path:nth-child(28){animation-delay:2.890s}
#fpP path:nth-child(29){animation-delay:2.890s}
#fpP path:nth-child(30){animation-delay:2.890s}
#fpP path:nth-child(31){animation-delay:2.935s}
#fpP path:nth-child(32){animation-delay:2.935s}
#fpP path:nth-child(33){animation-delay:2.935s}
#fpP path:nth-child(34){animation-delay:2.980s}
#fpP path:nth-child(35){animation-delay:2.980s}
#fpP path:nth-child(36){animation-delay:3.025s}
#fpP path:nth-child(37){animation-delay:3.025s}
#fpP path:nth-child(38){animation-delay:3.070s}
#fpP path:nth-child(39){animation-delay:3.115s}
#fpP path:nth-child(40){animation-delay:3.160s}
