:root{
  --bg:#071012; --bg2:#0c181b; --ink:#f2f6f7; --mute:#8aa0a5; --line:#1a2b2f;
  --accent:#ffc21a; --accent2:#ffd769; --teal:#00a8b8;
  --serif:'Fraunces',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:300 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--accent)}

.nav{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;
  background:linear-gradient(var(--bg),transparent);backdrop-filter:blur(8px)}
.logo img{display:block;height:42px;width:auto}
.nav nav{display:flex;align-items:center;gap:30px;font-size:14px;color:var(--mute)}
.nav nav a:hover{color:var(--ink)}
.pill{border:1px solid var(--accent);color:var(--accent)!important;padding:8px 18px;border-radius:99px;transition:.25s}
.pill:hover{background:var(--accent);color:var(--bg)!important}

.eyebrow{font:400 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}
h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:1.1}
h1{font-size:clamp(42px,7vw,96px)}
h2{font-size:clamp(30px,4.2vw,56px);max-width:18em}
h3{font-size:26px;font-weight:400}
.lede{color:var(--mute);font-size:19px;max-width:36em;margin-top:26px}

.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 5vw 80px;overflow:hidden}
#orbit{position:absolute;right:-8vw;top:50%;transform:translateY(-50%);width:min(70vw,900px);height:min(70vw,900px);opacity:.9}
.hero-copy{position:relative;max-width:760px}
.cta{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 28px;border-radius:99px;font-size:15px;transition:.25s;border:1px solid transparent}
.btn.primary{background:var(--accent);color:#17120a}
.btn.primary:hover{background:var(--accent2);transform:translateY(-2px)}
.btn.ghost{border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn.big{font:400 clamp(20px,3vw,34px) var(--serif);padding:22px 44px;margin-top:40px}
.scroll-hint{position:absolute;bottom:28px;left:5vw;font:12px var(--mono);letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.scroll-hint::after{content:"";display:block;width:1px;height:44px;background:linear-gradient(var(--accent),transparent);margin-top:10px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:0 5vw}
.stats div{padding:44px 24px;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats b{display:block;font:300 clamp(40px,5vw,68px)/1 var(--serif);color:var(--accent);font-weight:300}
.stats span{color:var(--mute);font-size:14px}

.block{padding:140px 5vw}
.block.dark{background:var(--bg2);border-block:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--bg);padding:42px 36px;transition:.3s;position:relative}
.card:hover{background:var(--bg2)}
.card.wide{grid-column:span 2}
.card i{font:normal 12px var(--mono);color:var(--teal);display:block;margin-bottom:60px}
.card p{color:var(--mute);margin-top:14px;font-size:16px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
.cycle{list-style:none;padding:0;counter-reset:s;border-left:1px solid var(--line)}
.cycle li{counter-increment:s;padding:0 0 34px 38px;position:relative}
.cycle li::before{content:counter(s);position:absolute;left:-14px;top:0;width:27px;height:27px;border-radius:50%;background:var(--bg2);border:1px solid var(--teal);color:var(--teal);font:12px/25px var(--mono);text-align:center}
.cycle h3{font-size:24px}
.cycle span{color:var(--mute);font-size:15px}
.term{margin-top:80px;background:#040a0b;border:1px solid var(--line);border-radius:12px;padding:30px 34px;font:13.5px/2 var(--mono);color:#c9d1d9;overflow-x:auto}
.term .d{color:var(--teal)} .term .g{color:#7ee0a3}

.timeline{list-style:none;padding:0;margin-top:70px;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:200px 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line)}
.timeline time{font:300 clamp(30px,3.5vw,48px) var(--serif);color:var(--accent)}
.timeline p{color:var(--mute);max-width:40em;align-self:center}

.contact{text-align:center;background:radial-gradient(ellipse at 50% 100%,#2b2208 0,transparent 60%)}
.contact h2,.contact .lede{margin-inline:auto}

footer{display:flex;justify-content:space-between;padding:34px 5vw;border-top:1px solid var(--line);color:var(--mute);font-size:13px}
footer a:hover{color:var(--accent)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .nav nav a:not(.pill){display:none}
  .grid{grid-template-columns:1fr}.card.wide{grid-column:auto}
  .split{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}
  .stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .timeline li{grid-template-columns:1fr;gap:8px}
  #orbit{opacity:.35;right:-30vw}
  .block{padding:90px 5vw}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.stats b span{display:inline;font:inherit;color:inherit}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:720px;margin:44px auto 0;text-align:left}
.form label{display:flex;flex-direction:column;gap:8px;font:400 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.form .full,.form button,.form .status{grid-column:1/-1}
.form input,.form textarea{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--ink);font:300 16px var(--sans);letter-spacing:0;text-transform:none;transition:.2s}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--accent)}
.form button{justify-self:start;cursor:pointer;border:0}
.form .hp{position:absolute;left:-9999px}
.form .status{color:var(--teal);font-size:15px;min-height:1.5em}
@media(max-width:900px){.form{grid-template-columns:1fr}}

.timeline h3{font:inherit;letter-spacing:0}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:70px;background:var(--line);border:1px solid var(--line)}
.faq div{background:var(--bg);padding:38px 34px}
.faq h3{font-size:22px}
.faq p{color:var(--mute);margin-top:12px;font-size:16px}
@media(max-width:900px){.faq{grid-template-columns:1fr}}

.card h3 a{transition:.2s}.card h3 a::after{content:" →";color:var(--accent);opacity:0;transition:.2s}
.card:hover h3 a::after{opacity:1}.card h3 a::before{content:"";position:absolute;inset:0}
.page-hero{padding:170px 5vw 90px;max-width:1100px}
.page-hero .eyebrow a:hover{color:var(--accent)}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}
.chips li{border:1px solid var(--line);border-radius:99px;padding:10px 20px;font:400 13px var(--mono);color:var(--ink)}
.related{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:60px;font-size:14px;color:var(--mute)}
.related a:hover,.foot-links a:hover{color:var(--accent)}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px}
@media(max-width:900px){footer{flex-direction:column;gap:14px}.page-hero{padding-top:130px}}
