:root{
  --ink:#050608;--deep:#070E1C;--panel:#0D1A2E;--rule:#1B2E4A;--haze:#7E93B8;--mist:#C6D2E6;--paper:#F1F5FC;--ember:#FF6A1A;--volt:#5CFF7A;
  --head:"Space Grotesk",Arial,sans-serif;--body:"Source Sans 3","Source Sans Pro",Arial,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace;
  --max:1120px;--gap:128px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--mist);font-family:var(--body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--paper);text-decoration:none}
a:hover{color:var(--volt)}
img,svg{max-width:100%;display:block}
h1,h2,h3{font-family:var(--head);font-weight:700;color:var(--paper);letter-spacing:-0.02em;margin:0}
h1{font-size:72px;line-height:1.02}
h2{font-size:44px;line-height:1.1}
h3{font-size:24px;line-height:1.2}
p{margin:0}
.lead{font-size:22px;font-weight:600;color:var(--mist)}
.mono{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:var(--haze)}
.volt{color:var(--volt)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
section{padding:var(--gap) 0;border-top:1px solid var(--rule)}
section.deep{background:var(--deep);border-top:0;text-align:center}
section.hero{border-top:0;padding:0}
.stack>*+*{margin-top:20px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--volt);margin-left:8px;vertical-align:middle;animation:pulse 3s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(5,6,8,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark b{font-family:var(--head);font-size:17px;letter-spacing:0.02em;color:var(--paper)}
.wordmark span{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--haze);margin-top:3px}
.links{display:flex;gap:28px;align-items:center}
.links a{font-family:var(--mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mist)}
.links a.on{color:var(--paper)}
.burger{display:none;background:none;border:1px solid var(--haze);color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.18em;padding:8px 12px;border-radius:2px}
/* buttons */
.btn{display:inline-block;font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:0.18em;text-transform:uppercase;padding:14px 24px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn.primary{background:var(--ember);color:var(--ink)}
.btn.primary:hover{background:var(--volt);color:var(--ink)}
.btn.secondary{border-color:var(--haze);color:var(--paper);background:transparent}
.btn.secondary:hover{border-color:var(--volt);color:var(--paper)}
.btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
/* hero */
.hero .grid{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;align-items:center;gap:48px;padding-top:72px}
.hero .img{height:calc(100vh - 72px);min-height:520px;background-size:cover;background-position:center;position:relative}
.hero .img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(5,6,8,.2) 40%,rgba(5,6,8,0) 100%)}
.hero.text-only .grid{grid-template-columns:1fr;min-height:70vh}
/* cards */
.cards{display:grid;gap:24px;margin-top:48px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:32px;display:flex;flex-direction:column;gap:14px}
.card .mono .dot{margin-left:6px}
.card h3{margin-top:4px}
.card p{font-size:17px}
.card .who{margin-top:auto;padding-top:8px}
.card a.more{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid var(--rule);align-self:flex-start;padding-bottom:4px}
.card a.more:hover{border-color:var(--volt);color:var(--volt)}
/* tables */
table{width:100%;border-collapse:collapse;margin-top:40px;background:var(--panel);border:1px solid var(--rule)}
th,td{padding:18px 20px;border:1px solid var(--rule);text-align:left;vertical-align:top;font-size:17px}
th{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--haze);font-weight:500;background:var(--deep)}
td.row{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--haze);white-space:nowrap}
/* two col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:48px}
.two-col.top{align-items:start}
.split{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
/* steps */
.steps{display:flex;gap:0;margin-top:40px;flex-wrap:wrap;align-items:center}
.steps span{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);padding:10px 0}
.steps i{width:40px;height:1px;background:var(--rule);margin:0 12px;display:inline-block}
.numlist{margin:40px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.numlist li{display:flex;gap:20px;padding:16px 0;border-top:1px solid var(--rule);font-size:17px}
.numlist li b{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--haze);padding-top:5px;min-width:24px}
.numlist li strong{color:var(--paper);font-weight:600}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.cols.four{grid-template-columns:repeat(4,1fr)}
.cols .mono{display:block;margin-bottom:10px}
.cols p{font-size:17px}
.callout{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:32px;margin-top:48px}
.callout .mono{display:block;margin-bottom:10px}
.terms{margin-top:40px;border-top:1px solid var(--rule)}
.terms div{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:17px}
.terms div span:first-child{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);padding-top:4px}
.line{margin-top:28px;color:var(--haze);font-size:17px}
.diagram{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:24px}
.portrait{aspect-ratio:4/5;background:var(--panel);border:1px solid var(--rule);display:flex;align-items:flex-end;padding:20px;background-size:cover;background-position:center}
.compliance{font-family:var(--mono);font-size:11px;letter-spacing:.04em;line-height:1.6;color:var(--haze);text-transform:none}
.monolist{font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);line-height:2.2;margin-top:32px}
/* form */
form{margin-top:40px;display:grid;gap:22px;max-width:680px}
label{display:block}
label .mono{display:block;margin-bottom:8px}
input,select,textarea{width:100%;background:var(--panel);border:1px solid var(--rule);border-radius:2px;color:var(--paper);font-family:var(--body);font-size:17px;padding:14px 16px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--volt);box-shadow:0 0 0 2px rgba(92,255,122,.25)}
textarea{min-height:160px;resize:vertical}
.check{display:flex;gap:12px;align-items:center;font-size:17px}
.check input{width:18px;height:18px;accent-color:var(--volt)}
.hp{position:absolute;left:-9999px}
.ok{display:none;margin-top:32px;font-size:22px;color:var(--paper);font-weight:600}
/* footer */
footer{border-top:1px solid var(--rule);padding:64px 0 40px;background:var(--deep)}
footer .row{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
footer .links a{color:var(--mist)}
footer .meta{margin-top:32px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--haze);display:flex;flex-wrap:wrap;gap:24px}
footer .compliance{margin-top:24px;max-width:900px}
/* motion */
.fade{opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}
.fade.in{opacity:1;transform:none}
@media (max-width:900px){
  :root{--gap:80px}
  h1{font-size:44px}h2{font-size:32px}h3{font-size:20px}.lead{font-size:19px}body{font-size:17px}.mono{font-size:12px}
  .links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);flex-direction:column;padding:24px;border-bottom:1px solid var(--rule);gap:20px}
  .links.open{display:flex}
  .burger{display:block}
  .hero .grid{grid-template-columns:1fr;min-height:0;padding-top:96px;padding-bottom:48px}
  .hero .img{height:44vh;min-height:280px;order:-1}
  .hero .img::after{background:linear-gradient(180deg,rgba(5,6,8,0) 30%,var(--ink) 100%)}
  .cards.three,.cards.two,.cards.four,.two-col,.split,.cols,.cols.four,.numlist{grid-template-columns:1fr}
  .terms div{grid-template-columns:1fr;gap:6px}
  table{display:block;overflow-x:auto}
  .steps i{width:16px}
}
