@font-face{
    font-family:'Outfit';
    font-style:normal;
    font-weight:100 900;
    font-display:swap;
    src:url('../fonts/outfit-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
    font-family:'Outfit';
    font-style:normal;
    font-weight:100 900;
    font-display:swap;
    src:url('../fonts/outfit-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
    --navy-deep:#050F26;
    --navy:#0A1A38;
    --navy-2:#132B55;
    --blue:#1668D6;
    --cyan:#2FC0F5;

    --canvas:#EDECE8;
    --surface:#E4E3DE;
    --lift:#FAF9F7;
    --hairline:#D8D7D1;

    --ink:#111820;
    --ink-mute:#5D646D;
    --ink-faint:#8D939A;

    --panel-ink:#F1F4F9;
    --panel-mute:#93A1B8;
    --panel-line:rgba(255,255,255,.10);

    --accent:#1668D6;
    --accent-wash:rgba(22,104,214,.08);
    --live:#2FC0F5;

    --s1:8px; --s2:16px; --s3:24px;
    --s4:clamp(28px,3.2vw,44px);
    --s5:clamp(40px,5vw,72px);
    --s6:clamp(64px,8vw,112px);
    --s7:clamp(88px,13vh,168px);
    --s8:clamp(120px,19vh,240px);
    --gap:18px;
    --gutter:clamp(18px,3.5vw,44px);

    --sh-1:0 1px 2px rgba(17,24,32,.05);
    --sh-2:0 2px 6px rgba(17,24,32,.06), 0 8px 24px -12px rgba(17,24,32,.14);
    --sh-3:0 4px 12px rgba(17,24,32,.07), 0 22px 48px -20px rgba(17,24,32,.24);
    --sh-4:0 8px 20px rgba(17,24,32,.09), 0 40px 80px -32px rgba(17,24,32,.32);

    --nav-bg:rgba(253,252,250,.82);
    --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-2xl:36px; --pill:999px;

    --rv-step:.08s;

    --ease:cubic-bezier(.16,1,.3,1);
    --ease-reveal:cubic-bezier(.5,.08,.22,1);
    --ease-fold:cubic-bezier(.22,1.2,.36,1);
    --ease-media:cubic-bezier(.22,.61,.36,1);
}

:root[data-theme="dark"]{
    --canvas:#0D0D0F;
    --surface:#171719;
    --lift:#1F1F23;
    --hairline:#28282D;

    --ink:#F2F2F3;
    --ink-mute:#9A9AA1;
    --ink-faint:#6C6C74;

    --accent:#4E9BEE;
    --accent-wash:rgba(78,155,238,.12);

    --sh-1:0 1px 2px rgba(0,0,0,.34);
    --sh-2:0 1px 3px rgba(0,0,0,.38), 0 5px 12px -8px rgba(0,0,0,.46);
    --sh-3:0 2px 6px rgba(0,0,0,.4), 0 10px 22px -14px rgba(0,0,0,.52);
    --sh-4:0 3px 10px rgba(0,0,0,.42), 0 18px 36px -24px rgba(0,0,0,.58);

    --nav-bg:rgba(24,24,27,.82);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    background:var(--canvas);
    color:var(--ink);
    font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    overflow-x:clip;
    transition:background .35s var(--ease),color .35s var(--ease);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip-path:inset(50%);white-space:nowrap;border:0}

.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter);
    padding-left:calc(var(--gutter) + env(safe-area-inset-left,0px));
    padding-right:calc(var(--gutter) + env(safe-area-inset-right,0px))}
.section{padding:var(--s7) 0}
.section-tight{padding-top:0}

.label{
    display:inline-flex;align-items:center;gap:var(--s1);
    font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--ink-mute);
    background:var(--surface);border-radius:var(--pill);padding:8px 16px;box-shadow:var(--sh-1);
}
.label-light{
    color:rgba(255,255,255,.88);background:rgba(255,255,255,.13);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);backdrop-filter:blur(12px);
}

.title{font-weight:600;letter-spacing:-.045em;line-height:.98;font-size:clamp(34px,5.6vw,72px);margin-top:var(--s3)}
.title span{color:var(--ink-faint);font-weight:500}
.title .mark{
    background:var(--lift);color:var(--ink);font-weight:600;border-radius:12px;padding:0 .14em;
    box-shadow:var(--sh-1);box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.body{font-size:clamp(15px,1.35vw,17.5px);line-height:1.62;color:var(--ink-mute);max-width:520px;margin-top:var(--s3)}
.body b{font-weight:500;color:var(--ink)}

.btn{
    display:inline-flex;align-items:center;gap:var(--s1);
    font-size:13.5px;font-weight:500;font-family:inherit;
    padding:13px 24px;border-radius:var(--pill);border:none;cursor:pointer;white-space:nowrap;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
}
.btn-dark{background:var(--navy);color:var(--panel-ink);box-shadow:var(--sh-2)}
.btn-dark:disabled{opacity:.55;cursor:default;transform:none}
.btn-white{background:#fff;color:var(--navy);box-shadow:var(--sh-2)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.btn svg{width:13px;height:13px;flex:none;display:block}

.arrow{display:inline-flex;align-items:center;gap:7px;line-height:1;font-size:13.5px;color:var(--ink-mute);
    transition:color .2s,gap .2s}
.arrow svg{width:13px;height:13px;display:block;flex:none}

.head{max-width:660px}
.head-split{display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:end;max-width:none}
.head+*{margin-top:var(--s6)}

.nav{position:fixed;top:14px;left:0;right:0;z-index:200;display:flex;justify-content:center;
    padding:0 14px;pointer-events:none;
    top:calc(14px + env(safe-area-inset-top,0px));
    padding-left:calc(14px + env(safe-area-inset-left,0px));
    padding-right:calc(14px + env(safe-area-inset-right,0px))}
.nav-rail{display:flex;align-items:center;gap:var(--s1);max-width:100%;pointer-events:auto}
.pill{background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);border-radius:var(--pill);box-shadow:var(--sh-2)}

.nav-brand{display:grid;place-items:center;width:42px;height:42px;flex:none;transition:transform .4s var(--ease-fold)}
.nav-mark{width:23px;height:auto;display:block}
:root[data-theme="dark"] .nav-mark{filter:brightness(1.3) saturate(1.05)}

.nav-links{display:flex;align-items:center;padding:5px;overflow:hidden;max-width:520px;opacity:1;
    transition:max-width .55s var(--ease-fold),opacity .3s var(--ease),
               padding .45s var(--ease-fold),transform .5s var(--ease-fold)}
.nav-link{font-size:13px;color:var(--ink-mute);padding:8px 14px;border-radius:var(--pill);white-space:nowrap;
    transition:color .2s,background .2s}

.nav-right{display:flex;align-items:center;gap:var(--s1)}
.tt{width:42px;height:42px;display:grid;place-items:center;border:none;cursor:pointer;
    background:transparent;-webkit-appearance:none;appearance:none;padding:0;border-radius:var(--pill);
    color:var(--ink-mute);flex:none;transition:color .2s,transform .4s var(--ease-fold)}
.tt svg{width:15px;height:15px}
.tt .i-sun{display:none}
:root[data-theme="dark"] .tt .i-sun{display:block}
:root[data-theme="dark"] .tt .i-moon{display:none}

.nav-cta{height:42px;padding:0 20px;gap:9px;
    transition:width .5s var(--ease-fold),padding .5s var(--ease-fold),
               background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.nav-cta-label{display:inline-block;overflow:hidden;white-space:nowrap;max-width:220px;
    transition:max-width .5s var(--ease-fold),opacity .28s var(--ease)}

.nav.folded .nav-links{max-width:0;opacity:0;padding-left:0;padding-right:0;transform:translateX(6px)}
.nav.folded .nav-cta{width:42px;padding:0;justify-content:center;gap:0}
.nav.folded .nav-cta-label{max-width:0;opacity:0}
.nav.folded.near .nav-links{max-width:520px;opacity:1;padding-left:5px;padding-right:5px;transform:none}
.nav.folded.near .nav-cta{width:auto;padding:0 20px;gap:9px}
.nav.folded.near .nav-cta-label{max-width:220px;opacity:1}

.hero{
    position:sticky;top:0;z-index:1;
    background:var(--canvas);
    height:100vh;height:100svh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;overflow:hidden;
    perspective:1100px;perspective-origin:50% 42%;
}
.hero-inner{will-change:transform,opacity;transform-style:preserve-3d}

.over{
    position:relative;z-index:2;
    background:var(--canvas);
    border-radius:var(--r-2xl);
    box-shadow:0 -24px 60px -30px rgba(17,24,32,.28), 0 24px 60px -30px rgba(17,24,32,.28),
               0 0 0 1px rgba(17,24,32,.05);
    padding-top:var(--s6);
}
:root[data-theme="dark"] .over{
    box-shadow:0 -14px 30px -24px rgba(0,0,0,.55), 0 14px 30px -24px rgba(0,0,0,.55),
               0 0 0 1px rgba(255,255,255,.06);
}

.scrollcue{
    position:absolute;left:0;right:0;bottom:clamp(24px,4vh,44px);
    bottom:calc(clamp(24px,4vh,44px) + env(safe-area-inset-bottom,0px));
    margin-inline:auto;width:max-content;
    display:flex;flex-direction:column;align-items:center;gap:10px;
    opacity:0;animation:up 1s 1.15s var(--ease) forwards;
}
.scrollcue span{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}
.scrollcue i{width:1px;height:46px;display:block;position:relative;overflow:hidden;
    background:linear-gradient(var(--hairline),transparent)}
.scrollcue i::after{content:"";position:absolute;top:-46px;left:0;width:1px;height:46px;
    background:linear-gradient(transparent,var(--ink-faint));animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(0)}60%{transform:translateY(92px)}100%{transform:translateY(92px)}}

.hero-wordmark{
    position:relative;display:inline-flex;align-items:baseline;justify-content:center;
    font-weight:700;font-size:clamp(56px,12.5vw,190px);line-height:.86;letter-spacing:-.055em;
    text-transform:uppercase;white-space:nowrap;opacity:0;animation:up .9s .1s var(--ease) forwards;
}
.hero-seg{display:inline-block;position:relative;will-change:transform}
.hero-morph{
    position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;font-weight:700;
    font-size:clamp(56px,12.5vw,190px);line-height:.86;letter-spacing:-.055em;text-transform:uppercase;
    white-space:nowrap;color:var(--ink);opacity:0;pointer-events:none;
}
.hero-morph-ghost{opacity:.13}
.hero-morph-slot{visibility:hidden}
.hero-sub{max-width:540px;margin:var(--s4) auto 0;font-size:clamp(16px,1.5vw,19.5px);line-height:1.52;
    color:var(--ink-mute);letter-spacing:-.02em;opacity:0;animation:up .9s .42s var(--ease) forwards}
.hero-sub b{font-weight:600;color:var(--ink)}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.stage{position:relative}
.stage-frame{
    position:relative;overflow:hidden;height:clamp(340px,58vh,620px);
    width:var(--stage-w,82%);margin:0 auto;border-radius:var(--stage-r,44px);
    box-shadow:var(--sh-4);
    transform:translateZ(0);backface-visibility:hidden;
}
.stage-frame img{width:100%;height:100%;object-fit:cover;translate:0 var(--py,0px);scale:1.08;
    border-radius:inherit}
.stage-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(180deg,rgba(5,15,38,.3) 0%,rgba(5,15,38,.08) 36%,rgba(5,15,38,.74) 100%)}
.stage-cap{position:absolute;z-index:3;left:clamp(24px,4vw,60px);right:clamp(24px,4vw,60px);
    bottom:clamp(24px,4vw,54px);text-align:left;
    display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.stage-cap h2{font-size:clamp(22px,3vw,40px);font-weight:600;letter-spacing:-.045em;color:#fff;line-height:1.04}
.stage-cap p{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72);margin-top:var(--s2);max-width:350px}
.stage-facts{display:flex;gap:clamp(20px,3vw,44px);padding-bottom:4px}
.stage-fact b{display:block;font-size:clamp(17px,1.9vw,24px);font-weight:600;color:#fff;letter-spacing:-.035em}
.stage-fact span{display:block;font-size:12.5px;color:rgba(255,255,255,.58);margin-top:4px}

.marquee{margin-top:var(--s7);overflow:hidden;position:relative;
    mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;will-change:transform;animation:slide 36s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{display:flex;align-items:center;gap:clamp(30px,4vw,64px);padding-right:clamp(30px,4vw,64px)}
.marquee-item span{font-size:clamp(17px,2vw,26px);font-weight:600;letter-spacing:-.035em;color:var(--ink-faint);
    opacity:.5;white-space:nowrap}

.manifest{position:relative;height:185vh}
.manifest-stage{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center}
.manifest-stage>.wrap{width:100%}
.manifest-lines{font-size:clamp(26px,4vw,58px);font-weight:500;line-height:1.2;letter-spacing:-.04em;max-width:17ch}
.ln{display:block;overflow:hidden;padding:.06em 0}
.ln em{display:block;font-style:normal;color:var(--ink-faint);will-change:transform,opacity}
.sc .ln em{transform:translateY(120%) rotate(2.5deg);opacity:0}
.ln b{font-weight:600;color:var(--ink)}
.ln .dots{font-style:normal;color:var(--ink-faint);display:inline-flex;gap:.04em;margin-left:.08em}
.ln .dots b{font-weight:inherit;display:inline-block}
@keyframes dotOut{
    0%{transform:translateY(0);opacity:1}
    30%{transform:translateY(-.16em);opacity:.95}
    100%{transform:translateY(.34em);opacity:0}
}
.ln .dots.hide b{animation:dotOut .8s cubic-bezier(.32,.86,.4,1) forwards}
.ln .dots.hide b:nth-child(2){animation-delay:.09s}
.ln .dots.hide b:nth-child(3){animation-delay:.18s}

.manifest-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);
    padding-top:var(--s4);border-top:1px solid var(--hairline)}
.manifest-foot h3{font-size:14.5px;font-weight:600;letter-spacing:-.02em;margin-bottom:var(--s1)}
.manifest-foot p{font-size:13.5px;line-height:1.6;color:var(--ink-mute);max-width:260px}

.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.svc{background:var(--surface);border-radius:var(--r-2xl);padding:var(--s4);display:flex;flex-direction:column;
    position:relative;overflow:hidden;box-shadow:var(--sh-1);
    transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease)}
.svc-hero{grid-column:span 2;padding:0;flex-direction:row}
.svc-hero-txt{padding:var(--s4);display:flex;flex-direction:column;flex:1;z-index:2}
.svc-hero-img{position:relative;width:44%;flex:none;overflow:hidden;
    border-radius:0 var(--r-2xl) var(--r-2xl) 0;
    transform:translateZ(0);backface-visibility:hidden}
.svc-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;
    translate:0 var(--py,0px);scale:1.05;transition:scale .55s var(--ease-media)}
.svc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4)}
.svc-icon{color:var(--ink);transition:transform .45s var(--ease)}
.svc-icon svg{width:21px;height:21px;display:block}
.svc-idx{font-size:12.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.svc-name{font-size:clamp(17px,1.7vw,21px);font-weight:600;letter-spacing:-.03em;margin-bottom:var(--s1)}
.svc-hero .svc-name{font-size:clamp(22px,2.4vw,30px)}
.svc-body{font-size:13.5px;line-height:1.62;color:var(--ink-mute);flex:1}
.svc-hero .svc-body{font-size:15px;max-width:340px}
.svc-more{margin-top:var(--s3);font-size:12.5px;color:var(--ink-faint);
    display:inline-flex;align-items:center;gap:6px;line-height:1;align-self:flex-start;
    transition:color .25s,gap .25s}
.svc-more svg{width:12px;height:12px;display:block;flex:none}

.stack{position:relative;--stack-top:100px;--stack-step:16px}
.stack::after{content:"";display:block;height:var(--s6)}
.stack.plain::after{display:none}
.stack.plain .stack-item{position:static}
.stack.plain .stack-card{filter:none}
.stack-item{position:sticky;
    top:calc(var(--stack-top) + var(--stack-i,0) * var(--stack-step));
    padding-bottom:calc(var(--s2) + var(--stack-j,0) * var(--stack-step))}
.stack-item:nth-child(2){--stack-i:1}
.stack-item:nth-child(3){--stack-i:2}
.stack-item:nth-child(4){--stack-i:3}
.stack-item:nth-child(5){--stack-i:4}
.stack-item:nth-child(6){--stack-i:5}
.stack-item:nth-child(7){--stack-i:6}
.stack-item:nth-child(8){--stack-i:7}
.stack-item:nth-last-child(2){--stack-j:1}
.stack-item:nth-last-child(3){--stack-j:2}
.stack-item:nth-last-child(4){--stack-j:3}
.stack-item:nth-last-child(5){--stack-j:4}
.stack-item:nth-last-child(6){--stack-j:5}
.stack-item:nth-last-child(7){--stack-j:6}
.stack-item:nth-last-child(8){--stack-j:7}
.stack-item+.stack-item{margin-top:calc(-1 * (var(--stack-j,0) + 1) * var(--stack-step))}
.stack-card{background:var(--surface);border-radius:var(--r-2xl);padding:var(--s5) var(--s4);
    display:grid;grid-template-columns:clamp(72px,8vw,132px) 1fr clamp(150px,18vw,260px);
    gap:var(--s4);align-items:center;box-shadow:var(--sh-3);
    transform-origin:50% 0;transform-style:preserve-3d;will-change:transform,filter}
.stack-num{font-size:clamp(44px,6vw,88px);font-weight:600;line-height:.8;letter-spacing:-.06em;
    color:var(--ink-faint);opacity:.4}
.stack-title{font-size:clamp(20px,2.3vw,30px);font-weight:600;letter-spacing:-.035em;margin-bottom:var(--s1)}
.stack-text{font-size:14.5px;line-height:1.62;color:var(--ink-mute);max-width:460px}
.stack-meta{font-size:13px;color:var(--ink-faint);text-align:right}

.pin{position:relative;height:300vh}
.pin-stage{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;
    transform:translateZ(0);will-change:transform;backface-visibility:hidden}
.pin-stage>.wrap{width:100%}

.why{background:var(--navy);color:var(--panel-ink);border-radius:var(--r-2xl);
    overflow:hidden;box-shadow:var(--sh-4)}
.why-inner{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;height:min(78svh,680px)}
.why-media{position:relative;overflow:hidden;border-radius:var(--r-2xl) 0 0 var(--r-2xl);
    transform:translateZ(0);backface-visibility:hidden}
.why-media figure{position:absolute;inset:0;opacity:0;transform:scale(1.06);border-radius:inherit;
    transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.why-media figure.on{opacity:1;transform:scale(1)}
.why-media img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.why-media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(90deg,
        rgba(10,26,56,0) 0%,rgba(10,26,56,.06) 42%,rgba(10,26,56,.30) 66%,
        rgba(10,26,56,.72) 84%,rgba(10,26,56,1) 100%)}

.why-list{padding:var(--s5);display:flex;flex-direction:column;justify-content:center;position:relative;z-index:3}
.why-intro{margin-bottom:var(--s4)}
.why-intro .title{font-size:clamp(28px,3.4vw,44px);margin-top:0}
.why .title{color:var(--panel-ink)}
.why .title span{color:var(--panel-mute)}

.why-rows{--desc-h:calc(var(--s4) + 96px);position:relative;padding-left:var(--s3);padding-bottom:var(--desc-h)}
.why-rail{position:absolute;left:0;top:0;bottom:var(--desc-h);width:2px;border-radius:2px;
    background:var(--panel-line);overflow:hidden}
.why-rail i{position:absolute;left:0;right:0;top:0;border-radius:2px;
    background:linear-gradient(var(--cyan),var(--blue));height:var(--rail,25%);
    transition:height .5s var(--ease)}

.why-row{padding:var(--s2) 0}
.why-row h3{font-size:clamp(16px,1.7vw,20px);font-weight:600;letter-spacing:-.03em;
    display:flex;align-items:center;gap:var(--s2);color:var(--panel-mute);
    transition:color .5s var(--ease-reveal)}
.why-row h3 svg{width:18px;height:18px;flex:none;opacity:.45;display:block;
    transition:opacity .5s var(--ease-reveal);transform:translateZ(0);backface-visibility:hidden}
.why-row.on h3{color:var(--panel-ink)}
.why-row.on h3 svg{opacity:1}

.why-row p{position:absolute;left:0;right:0;bottom:0;min-height:96px;
    font-size:14.5px;line-height:1.65;color:var(--panel-mute);max-width:430px;
    opacity:0;transition:opacity .4s var(--ease-media)}
.why-row.on p{opacity:1;transition:opacity .6s var(--ease-media)}

.stats{position:relative;border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-3);isolation:isolate;
    background:var(--navy-deep);transform:translateZ(0);backface-visibility:hidden}
.stats img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    translate:0 var(--py,0px);scale:1.14;border-radius:inherit}
.stats::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;
    background:linear-gradient(120deg,rgba(5,15,38,.88),rgba(5,15,38,.58))}
.stats-inner{position:relative;z-index:2;padding:var(--s6);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.stat-v{font-size:clamp(34px,4.6vw,62px);font-weight:600;letter-spacing:-.055em;line-height:1;color:#fff}
.stat-v em{font-style:normal;color:rgba(255,255,255,.45)}
.stat-l{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.62);margin-top:var(--s2);max-width:180px}

.prj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.prj{position:relative;display:block;overflow:hidden;border-radius:var(--r-xl);aspect-ratio:1/1;
    background:var(--navy-deep);
    box-shadow:var(--sh-2);transform:translateZ(0);backface-visibility:hidden;
    transition:translate .45s var(--ease-media),scale .45s var(--ease-media),
               box-shadow .45s var(--ease-media)}
.prj-lg{grid-column:span 2;aspect-ratio:2.07/1}
.prj img{width:100%;height:100%;object-fit:cover;border-radius:inherit;
    translate:0 var(--py,0px);scale:1.12;transition:scale .55s var(--ease-media)}
.prj::after{content:"";position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(180deg,transparent 35%,rgba(5,15,38,.82) 100%)}
.prj-cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:var(--s3);
    display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s2)}
.prj-name{font-size:16px;font-weight:600;color:#fff;letter-spacing:-.03em}
.prj-meta{font-size:12.5px;color:rgba(255,255,255,.62);margin-top:4px;display:block}
.prj-go{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;
    background:rgba(255,255,255,.14);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
    transition:background .3s,transform .3s var(--ease)}
.prj-go svg{width:13px;height:13px;display:block}

.faq{display:flex;flex-direction:column;gap:12px;max-width:860px}
.faq-i{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.faq-i.open{background:var(--lift);box-shadow:var(--sh-2)}
.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;
    display:flex;align-items:center;justify-content:space-between;gap:var(--s3);
    padding:var(--s3) var(--s4);font-size:16.5px;font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.faq-s{width:16px;height:16px;flex:none;display:block;color:var(--ink-faint);transition:transform .35s var(--ease)}
.faq-i.open .faq-s{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-a p{font-size:14.5px;line-height:1.72;color:var(--ink-mute);max-width:640px;padding:0 var(--s4) var(--s4)}

.cta{position:relative;border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--sh-4);isolation:isolate;
    background:var(--navy-deep);transform:translateZ(0);backface-visibility:hidden}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
    translate:0 var(--py,0px);scale:1.14;border-radius:inherit}
.cta::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;
    background:linear-gradient(105deg,rgba(5,15,38,.92) 35%,rgba(10,26,56,.6))}
.cta-inner{position:relative;z-index:2;padding:var(--s6);display:flex;align-items:center;
    justify-content:space-between;gap:var(--s5);flex-wrap:wrap}
.cta h2{font-size:clamp(24px,3.4vw,46px);font-weight:600;letter-spacing:-.045em;color:#fff;line-height:1.04}
.cta p{font-size:15px;color:rgba(255,255,255,.66);margin-top:var(--s2);max-width:380px;line-height:1.55}
.cta-act{display:flex;gap:10px;flex-wrap:wrap}

.contact{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--s6);align-items:stretch}
.contact-side{display:flex;flex-direction:column}
.contact-side .title{font-size:clamp(30px,3.9vw,50px)}
.c-list{margin-top:auto;padding-top:var(--s5);display:flex;flex-direction:column;gap:10px}
.c-item{display:flex;justify-content:space-between;gap:var(--s2);align-items:center;
    background:var(--surface);border-radius:var(--r-md);padding:var(--s2) var(--s3);box-shadow:var(--sh-1)}
.c-k{font-size:12.5px;color:var(--ink-faint)}
.c-v{font-size:14.5px;color:var(--ink)}

.card{position:relative;background:var(--surface);border-radius:var(--r-2xl);padding:var(--s4);
    box-shadow:var(--sh-2);display:flex;flex-direction:column}
.form{display:flex;flex-direction:column;gap:var(--s3);flex:1}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.field{display:flex;flex-direction:column;gap:var(--s1)}
.field-msg{flex:1}
.field-msg textarea{flex:1}
.field-l{font-size:12.5px;color:var(--ink-mute)}
.field-opt{color:var(--ink-faint)}
.field-i{background:var(--lift);border:1px solid transparent;color:var(--ink);font-family:inherit;font-size:14.5px;
    padding:13px 15px;border-radius:var(--r-sm);width:100%;outline:none;box-shadow:var(--sh-1);
    transition:border-color .2s,box-shadow .2s}
.field-i::placeholder{color:var(--ink-faint)}
.field-i:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}
.field-i.has-error{border-color:#C0504D}
textarea.field-i{resize:vertical;min-height:104px}
select.field-i{appearance:none;cursor:pointer;padding-right:38px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238D939A' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center}
.field-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.form-note{font-size:12px;color:var(--ink-faint);line-height:1.5;max-width:280px}
.status{font-size:13.5px;line-height:1.6;padding:12px 16px;border-radius:var(--r-sm);border:1px solid}
.status-ok{background:rgba(30,139,103,.08);border-color:rgba(30,139,103,.28);color:#1E8B67}
.status-err{background:rgba(192,80,77,.08);border-color:rgba(192,80,77,.28);color:#C0504D}

.footer{position:relative;z-index:0;
    display:flex;align-items:flex-end;background:var(--canvas);overflow:hidden;
    padding:var(--s7) 0 var(--s4);
    padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px))}
.footer>.wrap{width:100%;will-change:transform,opacity;transform-origin:50% 100%}
html:not(.sc) .footer>.wrap{transform:none;opacity:1}
.flat .footer>.wrap{transform:none;opacity:1;will-change:auto}

html:not(.fx) .hero{z-index:0}
.fx .footer{position:fixed;left:0;right:0;bottom:0;background:transparent}
.fx .over{margin-bottom:var(--footer-h,0px)}

.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--s5);padding-bottom:var(--s6)}
.f-brand{display:inline-flex;align-items:center}
.f-logo{height:30px;width:auto;display:block}
:root[data-theme="dark"] .f-logo{filter:brightness(0) invert(1);opacity:.9}
.f-tag{font-size:13.5px;line-height:1.6;color:var(--ink-mute);margin-top:var(--s3);max-width:290px}
.f-col h2{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:var(--s2)}
.f-col a{display:block;font-size:13.5px;color:var(--ink-mute);padding:5px 0;transition:color .2s}
.f-col a:hover{color:var(--ink)}
.f-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;
    padding-top:var(--s3);border-top:1px solid var(--hairline);font-size:12.5px;color:var(--ink-faint)}
.f-made{display:inline-flex;align-items:center;gap:7px;line-height:1}
.f-heart{width:14px;height:14px;display:block;fill:#D64545;transform-origin:50% 60%;
    animation:beat 2.4s var(--ease) infinite}
@keyframes beat{0%,72%,100%{transform:scale(1)}78%{transform:scale(1.22)}84%{transform:scale(1.02)}90%{transform:scale(1.13)}}
.f-flag{width:14px;height:14px;display:block}
.f-flag rect{fill:#D64545}
.f-flag path{fill:#fff}

.lede{position:relative;z-index:1;padding:calc(var(--s8) + var(--s2)) 0 var(--s5);background:var(--canvas)}
.lede-title{max-width:16ch;hyphens:auto;overflow-wrap:break-word}
.lede-meta{font-size:12.5px;color:var(--ink-faint);margin-top:var(--s4)}
.lede-action{margin-top:var(--s4)}

.legal{display:grid;grid-template-columns:clamp(190px,17vw,240px) 1fr;gap:var(--s6);align-items:start}
.legal-solo{grid-template-columns:1fr}
.legal-doc{max-width:720px;min-width:0}

.legal-toc{position:sticky;top:88px;transform:translateZ(0);backface-visibility:hidden}
.legal-toc h2{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:var(--s2)}
.legal-toc ol{list-style:none;counter-reset:toc}
.legal-toc li{counter-increment:toc}
.legal-toc a{display:flex;gap:9px;padding:5px 0;font-size:13px;line-height:1.45;color:var(--ink-faint);
    transition:color .25s var(--ease)}
.legal-toc a::before{content:counter(toc);flex:none;width:1.3em;opacity:.6;font-variant-numeric:tabular-nums}
.legal-toc a:hover,.legal-toc a.on{color:var(--ink)}

.legal-sec{scroll-margin-top:96px}
.legal-sec+.legal-sec{margin-top:var(--s6)}
.legal-h{display:flex;gap:var(--s2);align-items:baseline;margin-bottom:var(--s3);
    font-size:clamp(20px,2.3vw,28px);font-weight:600;letter-spacing:-.035em;line-height:1.12}
.legal-n{flex:none;font-size:13px;font-weight:500;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.legal-sub{font-size:15.5px;font-weight:600;letter-spacing:-.025em;color:var(--ink);
    margin:var(--s4) 0 var(--s2)}
.legal-p{font-size:14.5px;line-height:1.75;color:var(--ink-mute)}
.legal-p+.legal-p{margin-top:var(--s2)}
.legal-rows+.legal-p,.legal-tw+.legal-p,.legal-defs+.legal-p,
.legal-list+.legal-p,.legal-addr+.legal-p{margin-top:var(--s3)}
.legal-doc strong{font-weight:600;color:var(--ink)}
.legal-doc a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;
    text-underline-offset:3px;text-decoration-color:var(--ink-faint);
    transition:color .2s,text-decoration-color .2s}
.legal-doc a:hover{color:var(--accent);text-decoration-color:var(--accent)}

.legal-list{list-style:none;margin-top:var(--s2);display:flex;flex-direction:column;gap:9px}
.legal-list li{position:relative;padding-left:19px;font-size:14.5px;line-height:1.7;color:var(--ink-mute)}
.legal-list li::before{content:"";position:absolute;left:1px;top:.78em;width:7px;height:1px;background:var(--ink-faint)}

.legal-defs{margin-top:var(--s3);border-top:1px solid var(--hairline)}
.legal-defs dt{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--ink);padding-top:var(--s3)}
.legal-defs dd{font-size:14.5px;line-height:1.7;color:var(--ink-mute);padding:5px 0 var(--s3);
    border-bottom:1px solid var(--hairline)}

.legal-tw{margin-top:var(--s3);overflow-x:auto;background:var(--surface);border-radius:var(--r-md);
    box-shadow:var(--sh-1)}
.legal-table{width:100%;min-width:540px;border-collapse:collapse}
.legal-table th{text-align:left;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;
    padding:var(--s2) var(--s3);border-bottom:1px solid var(--hairline)}
.legal-table td{font-size:13.5px;line-height:1.62;color:var(--ink-mute);vertical-align:top;
    padding:var(--s2) var(--s3)}
.legal-table tbody tr+tr td{border-top:1px solid var(--hairline)}

.legal-addr{font-style:normal;margin-top:var(--s3);display:flex;flex-direction:column;gap:2px;
    font-size:14.5px;line-height:1.6;color:var(--ink-mute)}
.legal-addr span:first-child{color:var(--ink);font-weight:500}

.legal-rows{margin-top:var(--s3);display:flex;flex-direction:column;gap:10px;max-width:520px}
.legal-rows .c-v{text-align:right}
.c-link{transition:color .2s}
.c-link:hover{color:var(--accent)}

.legal-note{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--hairline);
    font-size:12.5px;line-height:1.6;color:var(--ink-faint)}

.rv{transition:clip-path 1.7s var(--ease-reveal),transform 1.7s var(--ease-reveal);
    transition-delay:calc(var(--rv-i,0) * var(--rv-step))}
.sc .rv{clip-path:inset(-4px -40px 103% -40px);transform:translateY(10px)}
.rv.on{clip-path:inset(-4px -40px -40px -40px);transform:none}

.wipe{position:relative}
.wipe::before{content:"";position:absolute;inset:-1px;z-index:6;pointer-events:none;
    background:var(--canvas);border-radius:inherit;
    transform-origin:50% 100%;transform:scaleY(1);
    transition:transform 2s var(--ease-reveal);
    transition-delay:calc(var(--rv-i,0) * var(--rv-step))}
.wipe.on::before{transform:scaleY(0)}
html:not(.sc) .wipe::before{display:none}

@media (hover:hover){
    .nav-brand:hover{transform:scale(1.06) rotate(-4deg)}
    .nav-link:hover{color:var(--ink);background:var(--lift)}
    .tt:hover{color:var(--ink);transform:rotate(22deg)}
    .nav.folded .nav-rail:hover .nav-links{max-width:520px;opacity:1;padding-left:5px;padding-right:5px;transform:none}
    .nav.folded .nav-rail:hover .nav-cta{width:auto;padding:0 20px;gap:9px}
    .nav.folded .nav-rail:hover .nav-cta-label{max-width:220px;opacity:1}

    .btn-dark:hover{background:var(--navy-2);transform:translateY(-2px);box-shadow:var(--sh-3)}
    .btn-white:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}
    .btn-glass:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
    .arrow:hover{color:var(--ink);gap:11px}

    .svc:hover{transform:translateY(-4px);box-shadow:var(--sh-3);background:var(--lift)}
    .svc:hover .svc-icon{transform:translateY(-3px) rotate(-8deg)}
    .svc:hover .svc-more{color:var(--accent);gap:10px}
    .svc-hero:hover .svc-hero-img img{scale:1.12}

    .prj:hover{translate:0 -7px;scale:1.015;box-shadow:var(--sh-4)}
    .prj:hover img{scale:1.20}
    .prj:hover .prj-go{background:rgba(255,255,255,.28);transform:translate(3px,-3px)}
}

@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{animation:none!important;transition:none!important}
    .rv,.wipe,.ln em{opacity:1;transform:none;clip-path:none}
    .wipe::before{display:none}
    .hero-wordmark,.hero-sub,.scrollcue{opacity:1}
    .hero{position:relative}
    .stack::after{display:none}
    .stack-item{position:static}
    .manifest{height:auto}
    .manifest-stage{position:static;height:auto;padding:var(--s7) 0}
    .pin{height:auto}
    .pin-stage{position:static;height:auto}
    .why-inner{height:auto}
    .why-media{min-height:280px}
    .why-media figure{opacity:1;transform:none}
    .why-media figure+figure{display:none}
    .why-rows{padding-bottom:0}
    .why-row p{position:static;min-height:0;opacity:1;margin-top:var(--s1)}
}

@media (max-width:1040px){
    html{scroll-padding-top:76px}
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .svc-hero{grid-column:span 2}
    .pin{height:auto}
    .pin-stage{position:static;height:auto;padding:0 0 var(--s7)}
    .why-inner{grid-template-columns:1fr;height:auto}
    .why-media{height:clamp(280px,42vh,420px);height:clamp(280px,42svh,420px);
        border-radius:var(--r-2xl) var(--r-2xl) 0 0}
    .why-media::after{background:linear-gradient(180deg,
        rgba(10,26,56,0) 0%,rgba(10,26,56,.25) 60%,rgba(10,26,56,.85) 88%,rgba(10,26,56,1) 100%)}
    .why-list{padding:var(--s5) var(--s4)}
    .why-rail{display:none}
    .why-rows{padding-left:0;padding-bottom:0}
    .why-row{padding:var(--s3) 0}
    .why-row+.why-row{border-top:1px solid var(--panel-line)}
    .why-row p{position:static;min-height:0;max-width:none;opacity:1;margin-top:10px}
    .stats-inner{grid-template-columns:repeat(2,1fr)}
    .prj-grid{grid-template-columns:repeat(2,1fr)}
    .prj-lg{grid-column:span 2;aspect-ratio:2/1}
    .contact{grid-template-columns:1fr}
    .c-list{margin-top:var(--s4);padding-top:0}
    .legal{grid-template-columns:1fr;gap:var(--s5)}
    .legal-toc{position:static;padding-bottom:var(--s4);border-bottom:1px solid var(--hairline)}
    .legal-doc{max-width:none}
    .f-top{grid-template-columns:1fr 1fr}
    .f-col a{padding:9px 0}
    .nav-links{display:none}
    .manifest{height:auto}
    .manifest-stage{position:static;height:auto;padding:var(--s7) 0}
    .manifest-foot{grid-template-columns:1fr}
    .stack-card{grid-template-columns:clamp(60px,10vw,90px) 1fr;row-gap:var(--s2)}
    .stack-meta{grid-column:2;text-align:left}
    .stage-frame{width:100%;border-radius:28px;
        height:clamp(340px,58vh,620px);height:clamp(340px,58svh,620px)}
}

@media (max-width:660px){
    :root{
        --s5:clamp(32px,6vw,40px);
        --s6:clamp(44px,10vw,64px);
        --s7:clamp(60px,14vw,88px);
        --s8:clamp(84px,20vw,124px);
    }
    .svc-grid{grid-template-columns:1fr}
    .svc-hero{grid-column:span 1;flex-direction:column}
    .svc-hero-img{width:100%;height:190px;border-radius:0 0 var(--r-2xl) var(--r-2xl)}
    .svc:not(.svc-hero){padding:var(--s3)}
    .svc-hero-txt{padding:var(--s3)}
    .svc-top{margin-bottom:var(--s3)}
    .stats-inner{grid-template-columns:1fr;padding:var(--s5) var(--s4);gap:var(--s4)}
    .stat-l{max-width:none}
    .prj-grid{grid-template-columns:1fr}
    .prj-lg{grid-column:span 1;aspect-ratio:3/2}
    .cta-inner{padding:var(--s5) var(--s4);gap:var(--s4)}
    .cta-act{width:100%}
    .cta-act .btn{flex:1 1 auto;justify-content:center}
    .form-row{grid-template-columns:1fr}
    .field-i{font-size:16px}
    .form-foot{gap:var(--s2)}
    .form-note{max-width:none}
    .hero-wordmark,.hero-morph{font-size:clamp(38px,13vw,64px)}
    .head-split{grid-template-columns:1fr}
    .manifest-lines{max-width:none}
    .stack-card{padding:var(--s4) var(--s3)}
    .stage-frame{border-radius:24px}
    .stage-cap{left:var(--s3);right:var(--s3);bottom:var(--s3)}
    .stage-facts{flex-wrap:wrap;gap:var(--s3)}
    .faq-q{padding:var(--s3)}
    .faq-a p{padding:0 var(--s3) var(--s3)}
    .card{padding:var(--s3)}
    .lede{padding-top:calc(var(--s7) + var(--s3))}
    .f-top{gap:var(--s4)}
    .f-top>:first-child{grid-column:1/-1}
    .legal-rows .c-item{flex-direction:column;align-items:flex-start;gap:3px}
    .legal-rows .c-v{text-align:left}
}

@media (max-width:420px){
    .stage-facts{gap:var(--s2) var(--s3)}
    .stage-cap{gap:var(--s3)}
}

@media (max-width:359px){
    .c-item{flex-direction:column;align-items:flex-start;gap:3px}
}

@media (max-width:1040px) and (max-height:560px){
    .hero{height:auto;min-height:100svh;padding:96px 0 var(--s4)}
    .scrollcue{display:none}
}
