:root{
  --bg:#04050a; --bg2:#080b16; --ink:#eaf0ff; --muted:#8b95b5; --faint:#566089;
  --brand:#46e0d0; --brand2:#5b8cff; --sun:#ffc24d;
  --line:rgba(120,140,200,.14); --panel:rgba(10,14,28,.72); --panel-brd:rgba(120,150,255,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Be Vietnam Pro',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.mono{font-family:'JetBrains Mono',monospace}
a{color:inherit;text-decoration:none}
::selection{background:var(--brand);color:#04121a}
::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#1c2440;border-radius:5px}

/* LOADER */
#loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .9s ease}
#loader.hide{opacity:0;pointer-events:none}
.loader-mark{display:flex;gap:9px;align-items:center}
.loader-mark .d{width:11px;height:11px;border-radius:50%;background:var(--faint);animation:pulse 1.4s infinite ease-in-out}
.loader-mark .d:nth-child(2){animation-delay:.18s;background:var(--brand2)}
.loader-mark .d:nth-child(3){animation-delay:.36s;background:var(--brand)}
.loader-mark .d:nth-child(4){animation-delay:.54s;background:var(--sun)}
@keyframes pulse{0%,80%,100%{transform:scale(.55);opacity:.35}40%{transform:scale(1);opacity:1}}
#loader .lt{font-size:11px;letter-spacing:.45em;color:var(--muted);text-transform:uppercase}

/* CANVAS / HERO */
#space{position:fixed;inset:0;z-index:0;display:block}
.hero{position:relative;height:100vh;width:100%;overflow:hidden}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 42%,transparent 40%,rgba(2,3,8,.55) 78%,rgba(2,3,8,.95) 100%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#labels{position:fixed;inset:0;z-index:2;pointer-events:none}
.plabel{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;font-size:11px;letter-spacing:.06em;white-space:nowrap;transition:opacity .3s}
.plabel .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:middle;box-shadow:0 0 8px currentColor}
.plabel .txt{color:var(--ink);opacity:.82;border-bottom:1px solid transparent;padding-bottom:1px;transition:.2s}
.plabel:hover .txt{opacity:1;border-bottom-color:rgba(255,255,255,.4)}
.plabel.focus .txt{font-weight:600}
.plabel.sunlabel .txt{letter-spacing:.16em;font-weight:600;text-transform:uppercase;font-size:10px}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,54px)}
.brand{display:flex;align-items:center;gap:13px;font-weight:700;letter-spacing:.02em}
.brand .logo{display:flex;gap:5px;align-items:flex-end}
.brand .logo i{display:block;width:7px;height:7px;border-radius:50%;background:var(--faint)}
.brand .logo i:nth-child(1){background:var(--sun);height:7px}
.brand .logo i:nth-child(2){background:var(--brand2);height:12px}
.brand .logo i:nth-child(3){background:var(--brand);height:18px;box-shadow:0 0 12px var(--brand)}
.brand b{font-size:18px}.brand b span{color:var(--brand)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-size:13px;color:var(--muted);transition:.2s;letter-spacing:.02em}
.nav-links a:hover{color:var(--ink)}
.nav-cta{border:1px solid var(--panel-brd);padding:9px 18px;border-radius:30px;font-size:13px;color:var(--ink)!important;background:rgba(70,224,208,.06);transition:.25s}
.nav-cta:hover{background:rgba(70,224,208,.16);border-color:var(--brand)}
@media(max-width:820px){.nav-links a:not(.nav-cta){display:none}}

/* HERO COPY */
.hero-copy{position:absolute;left:clamp(20px,4vw,54px);top:50%;transform:translateY(-50%);z-index:10;max-width:430px;pointer-events:none}
.hero-copy .eyebrow{font-size:11px;letter-spacing:.42em;color:var(--brand);text-transform:uppercase;margin-bottom:20px;opacity:0;animation:rise .9s .3s forwards}
.hero-copy h1{font-size:clamp(34px,5vw,58px);line-height:1.02;font-weight:700;letter-spacing:-.02em;opacity:0;animation:rise 1s .45s forwards}
.hero-copy h1 em{font-style:normal;color:transparent;background:linear-gradient(120deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text}
.hero-copy p{margin-top:22px;color:var(--muted);font-size:15px;line-height:1.7;font-weight:300;max-width:380px;opacity:0;animation:rise 1s .65s forwards}
.hero-copy .hint{margin-top:30px;font-size:11px;letter-spacing:.1em;color:var(--faint);display:flex;align-items:center;gap:10px;opacity:0;animation:rise 1s .9s forwards}
.hero-copy .hint .ring{width:26px;height:26px;border:1px solid var(--faint);border-radius:50%;position:relative;flex:none}
.hero-copy .hint .ring::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--brand);top:2px;left:50%;transform:translateX(-50%)}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.hero-copy{top:auto;bottom:140px;transform:none;max-width:none;right:clamp(20px,4vw,54px)}}

/* DETAIL PANEL */
#panel{position:fixed;top:0;right:0;height:100vh;width:min(420px,90vw);z-index:30;background:linear-gradient(180deg,rgba(10,14,28,.92),rgba(6,8,18,.96));border-left:1px solid var(--panel-brd);backdrop-filter:blur(16px);transform:translateX(100%);transition:transform .55s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;padding:90px clamp(26px,3vw,40px) 40px;overflow-y:auto}
#panel.open{transform:translateX(0)}
#panel .close{position:absolute;top:26px;right:28px;width:38px;height:38px;border:1px solid var(--panel-brd);border-radius:50%;background:none;color:var(--muted);cursor:pointer;font-size:18px;transition:.2s}
#panel .close:hover{color:var(--ink);border-color:var(--ink);transform:rotate(90deg)}
#panel .tag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
#panel .focuspill{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px;border-radius:20px;margin-bottom:16px;font-weight:600}
#panel h2{font-size:32px;line-height:1.05;letter-spacing:-.02em;display:flex;align-items:center;gap:14px}
#panel h2 .orb{width:34px;height:34px;border-radius:50%;flex:none;box-shadow:0 0 24px -2px currentColor}
#panel .desc{margin-top:20px;color:var(--muted);font-size:14.5px;line-height:1.75;font-weight:300}
#panel .sub{margin-top:30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:600}
#panel ul{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:11px}
#panel li{font-size:13.5px;color:var(--ink);opacity:.85;line-height:1.5;padding-left:22px;position:relative;font-weight:300}
#panel li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--brand)}
#panel .navp{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--faint)}
#panel .navp button{background:none;border:none;color:var(--muted);cursor:pointer;font-family:inherit;font-size:12px;transition:.2s;display:flex;gap:6px;align-items:center}
#panel .navp button:hover{color:var(--ink)}

/* BOTTOM HUD */
.hud{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;align-items:flex-end;justify-content:space-between;padding:0 clamp(20px,4vw,54px) 26px;pointer-events:none}
.hud-readout{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--faint);line-height:1.9;letter-spacing:.04em}
.hud-readout b{color:var(--brand);font-weight:400}
.hud-ctrls{display:flex;gap:10px;pointer-events:auto}
.hud-ctrls button{width:42px;height:42px;border:1px solid var(--panel-brd);border-radius:12px;background:var(--panel);backdrop-filter:blur(10px);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.22s}
.hud-ctrls button:hover{color:var(--ink);border-color:var(--brand);background:rgba(70,224,208,.08)}
.hud-ctrls svg{width:17px;height:17px}
.scrolldown{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:15;font-size:10px;letter-spacing:.3em;color:var(--faint);text-transform:uppercase;text-align:center;pointer-events:auto;animation:bob 2.4s infinite}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
@media(max-width:680px){.hud-readout{display:none}.scrolldown{display:none}}

/* CONTENT SECTIONS */
.content{position:relative;z-index:5;background:linear-gradient(180deg,transparent,var(--bg) 8%,var(--bg) 100%)}
.sec{max-width:1180px;margin:0 auto;padding:clamp(70px,10vw,140px) clamp(20px,4vw,54px)}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}
.sec-head .num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--brand)}
.sec-head h3{font-size:clamp(26px,3.6vw,42px);font-weight:700;letter-spacing:-.02em}
.sec-lead{color:var(--muted);font-size:16px;line-height:1.75;font-weight:300;max-width:620px;margin-bottom:54px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:840px){.svc-grid{grid-template-columns:1fr}}
.svc{position:relative;padding:38px 34px;border:1px solid var(--panel-brd);border-radius:20px;background:linear-gradient(160deg,rgba(20,26,48,.5),rgba(8,11,22,.4));overflow:hidden;transition:.35s}
.svc:hover{border-color:rgba(120,150,255,.4);transform:translateY(-4px)}
.svc .glow{position:absolute;width:240px;height:240px;border-radius:50%;filter:blur(70px);opacity:.22;top:-90px;right:-60px;transition:.4s}
.svc:hover .glow{opacity:.4}
.svc .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:24px;border:1px solid var(--panel-brd)}
.svc .ic svg{width:26px;height:26px}
.svc .k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.svc h4{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:16px}
.svc p{color:var(--muted);font-size:14.5px;line-height:1.7;font-weight:300;margin-bottom:22px}
.svc .pts{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.svc .pts li{font-size:13.5px;color:var(--ink);opacity:.82;font-weight:300;padding-left:20px;position:relative;line-height:1.5}
.svc .pts li::before{content:"›";position:absolute;left:0;top:0;color:var(--brand);font-weight:600}
.svc .more{font-size:13px;color:var(--brand);font-weight:500;display:inline-flex;gap:7px;transition:.2s}
.svc .more:hover{gap:12px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:10px;border-top:1px solid var(--line)}
@media(max-width:840px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:34px 26px 34px 0;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:none}
.step .sn{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--brand);margin-bottom:18px}
.step h5{font-size:17px;font-weight:600;margin-bottom:10px}
.step p{font-size:13px;color:var(--muted);line-height:1.65;font-weight:300}

/* about */
.about{display:grid;grid-template-columns:1.2fr .9fr;gap:60px;align-items:start}
@media(max-width:840px){.about{grid-template-columns:1fr;gap:40px}}
.about p{color:var(--muted);font-size:15px;line-height:1.85;font-weight:300;margin-bottom:20px}
.about p strong{color:var(--ink);font-weight:500}
.infocard{border:1px solid var(--panel-brd);border-radius:18px;padding:32px;background:rgba(10,14,28,.5)}
.infocard .row{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.infocard .row:last-child{border-bottom:none}
.infocard .row span{color:var(--faint)}
.infocard .row b{font-weight:500;text-align:right}
.infocard .row b.mono{font-family:'JetBrains Mono',monospace;color:var(--brand)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:60px}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}}
.stat .v{font-size:clamp(30px,4vw,46px);font-weight:700;letter-spacing:-.02em;background:linear-gradient(120deg,var(--ink),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .l{color:var(--muted);font-size:13px;font-weight:300;margin-top:8px;line-height:1.5}

/* CTA */
.cta{text-align:center;padding:clamp(70px,9vw,120px) clamp(20px,4vw,54px);position:relative;z-index:5;border-top:1px solid var(--line)}
.cta h3{font-size:clamp(28px,4.4vw,52px);font-weight:700;letter-spacing:-.025em;line-height:1.05;max-width:760px;margin:0 auto 24px}
.cta h3 em{font-style:normal;color:transparent;background:linear-gradient(120deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text}
.cta p{color:var(--muted);font-size:15px;font-weight:300;max-width:520px;margin:0 auto 40px;line-height:1.7}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:32px;font-size:14.5px;font-weight:500;background:linear-gradient(120deg,var(--brand),var(--brand2));color:#04121a;transition:.3s;box-shadow:0 8px 40px -10px var(--brand)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 50px -8px var(--brand)}
.btn.ghost{background:none;border:1px solid var(--panel-brd);color:var(--ink);box-shadow:none;margin-left:12px}
.btn.ghost:hover{border-color:var(--brand);background:rgba(70,224,208,.06)}

/* footer */
footer{position:relative;z-index:5;border-top:1px solid var(--line);padding:54px clamp(20px,4vw,54px) 40px}
.foot-grid{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.foot-grid .col h6{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.foot-grid .col a,.foot-grid .col p{display:block;color:var(--muted);font-size:13.5px;font-weight:300;margin-bottom:9px;transition:.2s}
.foot-grid .col a:hover{color:var(--brand)}
.foot-bottom{max-width:1180px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:12px;color:var(--faint)}

/* =================== SUB-PAGE LAYOUT =================== */
body.subpage{background:var(--bg)}
body.subpage .stars{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.7),transparent),
    radial-gradient(1px 1px at 70% 20%,rgba(160,200,255,.7),transparent),
    radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.5),transparent),
    radial-gradient(1px 1px at 85% 60%,rgba(120,224,255,.6),transparent),
    radial-gradient(1px 1px at 55% 45%,rgba(255,255,255,.4),transparent),
    radial-gradient(2px 2px at 30% 85%,rgba(255,210,150,.5),transparent),
    radial-gradient(900px 600px at 80% -10%,rgba(70,224,208,.06),transparent),
    radial-gradient(800px 500px at 0% 30%,rgba(91,140,255,.07),transparent);
  opacity:.9}
body.subpage .nav{background:rgba(4,5,10,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.page-wrap{position:relative;z-index:5}
.page-hero{position:relative;padding:150px clamp(20px,4vw,54px) 64px;max-width:1180px;margin:0 auto}
.page-hero .crumb{font-size:12px;letter-spacing:.04em;color:var(--faint);margin-bottom:24px;display:flex;gap:10px;align-items:center}
.page-hero .crumb a{color:var(--muted);transition:.2s}.page-hero .crumb a:hover{color:var(--brand)}
.page-hero .crumb .sep{color:var(--faint)}
.page-hero h1{font-size:clamp(34px,5.5vw,62px);font-weight:700;letter-spacing:-.025em;line-height:1.03;max-width:880px}
.page-hero h1 em{font-style:normal;color:transparent;background:linear-gradient(120deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text}
.page-hero .sub{margin-top:24px;color:var(--muted);font-size:18px;font-weight:300;line-height:1.65;max-width:680px}
.page-hero::after{content:"";display:block;height:1px;background:var(--line);margin-top:60px}
.page-body{max-width:820px;margin:0 auto;padding:10px clamp(20px,4vw,54px) clamp(60px,8vw,110px)}
.block{margin-bottom:60px}
.block .bheading{font-size:clamp(22px,3vw,30px);font-weight:600;letter-spacing:-.01em;margin-bottom:22px}
.block p.body{color:var(--muted);font-size:16.5px;line-height:1.85;font-weight:300}
.block ul.blist{list-style:none;display:flex;flex-direction:column;gap:14px}
.block ul.blist li{font-size:16px;color:var(--ink);opacity:.86;font-weight:300;line-height:1.5;padding-left:28px;position:relative}
.block ul.blist li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--brand);box-shadow:0 0 10px var(--brand)}
.block .cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.pcard{border:1px solid var(--panel-brd);border-radius:16px;padding:28px 26px;background:linear-gradient(160deg,rgba(20,26,48,.45),rgba(8,11,22,.35));transition:.3s}
.pcard:hover{border-color:rgba(120,150,255,.4);transform:translateY(-3px)}
.pcard h4{font-size:17px;font-weight:600;margin-bottom:12px}
.pcard p{color:var(--muted);font-size:14px;line-height:1.65;font-weight:300}
.block.ctablock{text-align:center;border:1px solid var(--panel-brd);border-radius:22px;padding:clamp(40px,6vw,64px) 34px;background:radial-gradient(120% 140% at 50% 0%,rgba(70,224,208,.07),transparent)}
.block.ctablock h3{font-size:clamp(24px,3.4vw,34px);font-weight:700;letter-spacing:-.02em;margin-bottom:16px}
.block.ctablock p{color:var(--muted);font-size:15px;font-weight:300;max-width:520px;margin:0 auto 32px;line-height:1.7}
.page-notfound{max-width:600px;margin:0 auto;padding:200px 24px;text-align:center}
.page-notfound h1{font-size:40px;margin-bottom:16px}
.page-notfound p{color:var(--muted);margin-bottom:30px}
