:root{
  --radius:0px;
  --background:rgb(17 20 24);
  --foreground:rgb(234 237 240);
  --surface:rgb(27 30 34);
  --surface-2:rgb(37 41 46);
  --steel:rgb(86 95 104);
  --signal:rgb(212 238 72);
  --signal-foreground:rgb(17 20 24);
  --muted-foreground:rgb(140 147 155);
  --border:rgb(47 51 56);
  --destructive:rgb(230 67 67);
  --font-display:"Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-body:"Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-mono:ui-monospace, "SF Mono", Menlo, monospace;
  --ease:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--background); color:var(--foreground); font-family:var(--font-body);
  margin:0; -webkit-font-smoothing:antialiased;
}
.font-display{font-family:var(--font-display);}
.font-mono{font-family:var(--font-mono);}

.eyebrow{
  letter-spacing:.22em; text-transform:uppercase; color:var(--muted-foreground);
  font-size:.6875rem; font-weight:700;
}
.eyebrow-signal{ color:var(--signal); }
.section-num{
  font-family:var(--font-mono); font-variant-numeric:tabular-nums;
  font-size:.75rem; font-weight:800; color:var(--signal);
}
.section-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.section-line{ height:1px; width:2.5rem; background:var(--signal); }

.display-lg{ letter-spacing:-.03em; text-transform:uppercase; font-weight:800; line-height:1; }
.display-xl{ letter-spacing:-.035em; text-transform:uppercase; font-weight:800; line-height:.94; }

.rule-grid{
  pointer-events:none; position:absolute; inset:0; opacity:.4;
  background-image:
    linear-gradient(to right, var(--border) 1px, transparent 1px),
    linear-gradient(var(--border) 1px, transparent 1px);
  background-size:64px 64px, 64px 64px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:1rem 1.75rem; font-size:.875rem; font-weight:800; text-transform:uppercase;
  letter-spacing:.08em; border-radius:0; transition:transform .15s var(--ease);
  will-change:transform; cursor:pointer; border:none; text-decoration:none;
}
.btn-primary{ background:var(--signal); color:var(--signal-foreground); box-shadow:6px 6px 0 0 var(--border); }
.btn-primary:hover{ transform:translateY(-2px); }
.btn-inverted{ background:var(--signal-foreground); color:var(--signal); }
.btn-inverted:hover{ transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--foreground); border:1px solid color-mix(in oklab, var(--signal-foreground) 40%, transparent); }
.btn-outline:hover{ background:rgba(255,255,255,.06); }
.btn-link{
  border-bottom:2px solid var(--signal); padding-bottom:.15rem; font-size:.75rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.12em; color:var(--foreground); text-decoration:none;
}
.btn-link:hover{ color:var(--signal); }

.bg-bg{ background:var(--background); }
.bg-surface{ background:var(--surface); }
.card-grid{ display:grid; gap:1px; background:var(--border); border:1px solid var(--border); }
.card-grid > *{ background:var(--surface); }

.check{ color:var(--signal); flex-shrink:0; }
.cross{ color:var(--destructive); flex-shrink:0; opacity:.85; }

.fade-up{
  opacity:0; transition:opacity .5s var(--ease), transform .5s var(--ease);
  transform:translateY(14px);
}
.fade-up.in-view{ opacity:1; transform:translateY(0); }

details > summary{ list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker{ display:none; }
details[open] summary .faq-chevron{ transform:rotate(180deg); }

::selection{ background:var(--signal); color:var(--signal-foreground); }
