:root{
  --bg:#0b0d12;--bg2:#10131a;--ink:#f2efe6;--muted:#9aa1ae;--line:#20242e;
  --card:#12151d;--accent:#5de0c4;--accent-dim:#2f6f61;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:16px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:999;background:radial-gradient(120% 90% at 50% 100%,#131a2a 0%,#0b0d12 60%);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .7s ease,visibility .7s}
#loader.done{opacity:0;visibility:hidden}
#loader .stars,#loader .stars2{position:absolute;inset:-50%;background-image:radial-gradient(1.6px 1.6px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 70% 60%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 40% 80%,#cfe8ff 50%,transparent 51%),radial-gradient(1.8px 1.8px at 85% 20%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 10% 70%,#fff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 55% 15%,#dfeaff 50%,transparent 51%);background-size:340px 340px;opacity:.55;animation:drift 6s linear infinite}
#loader .stars2{background-size:200px 200px;opacity:.3;animation-duration:3.2s}
@keyframes drift{from{transform:translateY(-120px)}to{transform:translateY(120px)}}
#loader .moon{position:absolute;top:8%;left:50%;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle at 34% 32%,#fffdf5,#d9d3c0 58%,#8d8778);box-shadow:0 0 70px 14px rgba(242,239,230,.18);animation:moonIn 2.6s cubic-bezier(.2,.7,.2,1) both}
#loader .moon::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(5px 5px at 62% 40%,rgba(0,0,0,.14),transparent 60%),radial-gradient(9px 9px at 38% 62%,rgba(0,0,0,.12),transparent 60%),radial-gradient(4px 4px at 55% 72%,rgba(0,0,0,.12),transparent 60%)}
@keyframes moonIn{0%{transform:scale(.35);opacity:0}60%{opacity:1}100%{transform:scale(1);opacity:1}}
#loader .rocket{position:absolute;left:50%;bottom:-90px;width:46px;margin-left:-23px;animation:launch 2.6s cubic-bezier(.45,.05,.35,1) forwards}
@keyframes launch{0%{bottom:-90px;transform:translateX(0) rotate(0)}25%{transform:translateX(-14px) rotate(-5deg)}55%{transform:translateX(12px) rotate(5deg)}100%{bottom:calc(92% - 60px);transform:translateX(0) scale(.4) rotate(0);opacity:.1}}
#loader .rocket svg{position:relative;z-index:2}
#loader .flame{position:absolute;left:50%;margin-left:-11px;top:68px;z-index:1;width:22px;height:46px;border-radius:0 0 60% 60%;background:linear-gradient(#fff3c4 0%,#ffd36e 28%,#ff8a3d 62%,rgba(255,90,40,0) 100%);filter:blur(1.2px);transform-origin:top center;animation:flicker .09s steps(2) infinite}
#loader .flame::after{content:"";position:absolute;left:50%;margin-left:-26px;top:-6px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,rgba(255,170,80,.42),transparent 68%)}
@keyframes flicker{0%{transform:scaleY(1) scaleX(1)}100%{transform:scaleY(.72) scaleX(.85)}}
#loader .trail{position:absolute;left:50%;bottom:0;width:2px;margin-left:-1px;height:0;background:linear-gradient(to top,rgba(93,224,196,0),rgba(93,224,196,.55));animation:trail 2.6s cubic-bezier(.45,.05,.35,1) forwards}
@keyframes trail{0%{height:0;opacity:0}30%{opacity:1}100%{height:92%;opacity:0}}
#loader .lbl{position:absolute;bottom:52px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);animation:fadeUp .8s ease .3s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){#loader .rocket,#loader .moon,#loader .trail,#loader .stars,#loader .stars2{animation-duration:.01s!important}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- chrome ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,13,18,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;letter-spacing:.01em}
.nav nav{display:flex;gap:26px;font-size:14px;align-items:center}
.nav nav a{text-decoration:none;color:var(--muted)}
.nav nav a:hover{color:var(--ink)}
.nav .btn-sm{border:1px solid var(--line);padding:8px 16px;border-radius:999px;color:var(--ink)}
.nav .btn-sm:hover{border-color:var(--accent-dim)}

h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.015em;line-height:1.1}
h1{font-size:clamp(40px,6.4vw,70px);max-width:17ch}
h2{font-size:clamp(28px,3.8vw,42px);margin-bottom:14px}
h3{font-size:17px;margin-bottom:7px}
.kicker{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.lede{font-size:19px;color:var(--muted);max-width:58ch;margin-top:24px}
.sub{color:var(--muted);max-width:62ch}
.btn{display:inline-block;background:var(--accent);color:#07241e;text-decoration:none;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;margin-top:34px;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px -12px rgba(93,224,196,.6)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);margin-left:10px}

.hero{position:relative;padding:118px 0 96px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.orbit{position:relative;width:100%;max-width:400px;margin-left:auto;aspect-ratio:1;animation:bob 7s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
.orbit .ring{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%}
.orbit .ring.r2{inset:13%;border-style:dashed;border-color:#1b2b28}
.orbit .ring.r3{inset:26%}
.orbit .spin{position:absolute;inset:13%;animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit .dot{position:absolute;top:-5px;left:50%;margin-left:-5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px 4px rgba(93,224,196,.5)}
.orbit .core{position:absolute;inset:34%;border-radius:50%;background:radial-gradient(circle at 34% 32%,#fffdf5,#d9d3c0 58%,#7e7868);box-shadow:0 0 60px 10px rgba(242,239,230,.12)}
.orbit .core::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(7px 7px at 62% 38%,rgba(0,0,0,.14),transparent 60%),radial-gradient(12px 12px at 36% 64%,rgba(0,0,0,.12),transparent 60%)}
.hero::before{content:"";position:absolute;top:-120px;left:50%;width:900px;height:520px;margin-left:-450px;background:radial-gradient(50% 50% at 50% 50%,rgba(93,224,196,.12),transparent 70%);pointer-events:none}
section{padding:84px 0;border-top:1px solid var(--line)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;transition:border-color .25s,transform .25s}
.card:hover{border-color:var(--accent-dim);transform:translateY(-3px)}
.card p{color:var(--muted);font-size:15px}
.card .n{font-family:Fraunces,Georgia,serif;font-size:15px;color:var(--accent);margin-bottom:20px;display:block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.step{padding:30px 26px;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step .num{font-size:12px;letter-spacing:.2em;color:var(--accent);font-weight:600;margin-bottom:14px}
.step p{color:var(--muted);font-size:15px}

.contact{background:linear-gradient(140deg,#121a24,#0d1016);border:1px solid var(--line);border-radius:20px;padding:56px}
.contact .mail{display:inline-block;margin-top:22px;font-size:clamp(20px,3vw,30px);font-weight:600;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-dim);padding-bottom:4px}
.contact .mail:hover{border-color:var(--accent)}

footer{border-top:1px solid var(--line);padding:34px 0 56px;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer nav{display:flex;gap:22px}
footer a{text-decoration:none}

.legal{max-width:780px;margin:0 auto;padding:72px 22px 88px}
.legal h1{font-size:clamp(34px,5vw,46px);max-width:none}
.legal .date{color:var(--muted);margin:12px 0 34px}
.legal h2{font-family:Inter,system-ui,sans-serif;font-size:18px;font-weight:700;margin:34px 0 8px}
.legal p,.legal li{color:#c6cad3;margin-bottom:12px}
.legal ul{padding-left:22px}

@media (max-width:1000px){.hero-grid{grid-template-columns:1fr}.orbit{display:none}}
@media (max-width:820px){
  .nav nav a:not(.btn-sm){display:none}
  .hero{padding:76px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .orbit{display:none}
  .grid,.split,.steps{grid-template-columns:1fr}
  .step{border-right:0;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:0}
  .split{gap:24px}
  .contact{padding:34px 26px}
  .btn.ghost{margin-left:0;margin-top:12px}
}
