:root {
  --bg: #07090d;
  --panel: #0e1219;
  --panel-2: #131925;
  --text: #f5f7fb;
  --muted: #aeb7c6;
  --line: rgba(255,255,255,.11);
  --hot: #ff2f8c;
  --cyan: #4ce5ff;
  --acid: #d7ff43;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 85% 8%, rgba(255,47,140,.16), transparent 26rem),
    radial-gradient(circle at 10% 40%, rgba(76,229,255,.08), transparent 24rem),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
.shell { width: min(calc(100% - 2.5rem), var(--max)); margin-inline: auto; }

.skip-link {
  position: absolute; left: -9999px; top: 1rem;
  background: var(--acid); color: #111; padding: .7rem 1rem; z-index: 1000;
}
.skip-link:focus { left: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: rgba(7,9,13,.82);
  backdrop-filter: blur(18px);
}
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand img { width: 190px; max-height: 56px; object-fit: contain; }
nav { display: flex; gap: 1.35rem; font: 700 .78rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; letter-spacing: .08em; }
nav a { text-decoration: none; color: var(--muted); }
nav a:hover, nav a:focus-visible { color: var(--cyan); }

.hero {
  min-height: calc(100vh - 82px);
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 6rem);
  padding-block: clamp(3rem, 7vw, 7rem);
}
.eyebrow, .section-kicker {
  margin: 0 0 1rem;
  color: var(--cyan);
  font: 800 .78rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1 {
  margin-bottom: 1.25rem;
  font-size: clamp(4rem, 9vw, 8rem);
  line-height: .84;
  letter-spacing: -.07em;
  text-transform: uppercase;
}
h1 span { color: var(--hot); text-shadow: 6px 6px 0 rgba(255,47,140,.13); }
.lede { color: var(--muted); font-size: clamp(1.15rem, 2vw, 1.45rem); max-width: 32rem; }
.button {
  display: inline-flex; gap: .6rem; align-items: center;
  margin-top: 1rem; padding: .9rem 1.2rem;
  background: var(--acid); color: #10130a; text-decoration: none;
  font-weight: 900; text-transform: uppercase; letter-spacing: .04em;
  box-shadow: 7px 7px 0 var(--hot);
  transition: transform .15s ease, box-shadow .15s ease;
}
.button:hover, .button:focus-visible { transform: translate(3px,3px); box-shadow: 4px 4px 0 var(--hot); }

.sticker-wrap { margin: 0; position: relative; }
.sticker-wrap::before {
  content: ""; position: absolute; inset: 7% -3% -4% 9%; z-index: -1;
  border: 1px solid rgba(255,255,255,.14); background: var(--panel);
  transform: rotate(3deg);
}
.sticker-wrap img {
  width: 100%; aspect-ratio: 1; object-fit: cover;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 28px 80px rgba(0,0,0,.45);
  transform: rotate(-1.3deg);
}

.mission-section { border-block: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.018), transparent); padding: clamp(5rem, 9vw, 9rem) 0; }
.mission-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem, 6vw, 7rem); align-items: start; }
h2 { font-size: clamp(2.6rem, 5vw, 5.2rem); line-height: .93; letter-spacing: -.055em; text-transform: uppercase; }
.terminal-card { border: 1px solid var(--line); background: #090c11; box-shadow: 14px 14px 0 rgba(76,229,255,.07); }
.terminal-bar { min-height: 48px; display:flex; align-items:center; gap:.5rem; padding: 0 1rem; border-bottom:1px solid var(--line); background:#111620; }
.terminal-bar span { width: 10px; height:10px; border-radius:50%; background:#3a4351; }
.terminal-bar span:first-child { background:var(--hot); }
.terminal-bar span:nth-child(2) { background:var(--acid); }
.terminal-bar span:nth-child(3) { background:var(--cyan); }
.terminal-bar code { margin-left:auto; color:#788394; font-size:.75rem; }
.terminal-body { padding: clamp(1.5rem, 4vw, 3rem); }
.terminal-body p { font: 500 clamp(1.05rem, 1.8vw, 1.35rem)/1.7 ui-monospace, SFMono-Regular, Menlo, monospace; color:#e7ebf2; }
.terminal-body p:last-child { margin-bottom:0; }

.good-stuff { padding-block: clamp(5rem, 9vw, 9rem); }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section-heading > p:last-child { color: var(--muted); font-size: 1.15rem; }
.org-grid { display:grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.org-card {
  grid-column: span 4;
  min-height: 300px;
  display:flex; flex-direction:column;
  padding: 1.55rem;
  border:1px solid var(--line);
  background: linear-gradient(160deg, var(--panel-2), #0c1017 70%);
  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition: transform .18s ease, border-color .18s ease;
}
.org-card::after { content:""; position:absolute; width:130px; height:130px; right:-65px; bottom:-65px; border:1px solid rgba(255,47,140,.28); transform:rotate(45deg); }
.org-card:hover, .org-card:focus-visible { transform: translateY(-5px); border-color: rgba(76,229,255,.65); }
.org-number { color: var(--hot); font: 800 .78rem ui-monospace, monospace; margin-bottom: 3rem; }
.org-card h3 { font-size: clamp(1.55rem, 2.2vw, 2.25rem); line-height:1; letter-spacing:-.035em; margin-bottom:1rem; }
.org-card h3 small { font-size:.58em; line-height:1.2; color:#d4d9e1; }
.org-card p { color:var(--muted); max-width:30ch; }
.visit { margin-top:auto; color:var(--cyan); font:700 .8rem ui-monospace, monospace; text-transform:uppercase; letter-spacing:.07em; }
.org-card:nth-child(4), .org-card:nth-child(5) { grid-column: span 6; }

.fine-print { padding: clamp(5rem, 8vw, 8rem) 0; background: var(--hot); color:#10070c; }
.fine-print-inner { max-width: 980px; }
.big-quote { font-weight: 950; font-size: clamp(2.4rem, 6vw, 6rem); line-height:.96; letter-spacing:-.055em; text-transform:uppercase; margin-bottom:1.5rem; }
.subtle { font: 800 1rem/1.5 ui-monospace, monospace; max-width:48rem; }

footer { padding: 3rem 0; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns: 1fr 1fr; gap:2rem; align-items:end; }
.footer-logo { width:180px; margin-bottom:1rem; }
footer p { color:var(--muted); margin-bottom:.4rem; }
.footer-meta { text-align:right; }
.footer-meta a { color:var(--cyan); text-decoration:none; font-weight:700; }

@media (max-width: 900px) {
  .hero, .mission-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-copy { max-width:680px; }
  .sticker-wrap { max-width:680px; }
  .org-card, .org-card:nth-child(4), .org-card:nth-child(5) { grid-column:span 6; }
}

@media (max-width: 640px) {
  .shell { width:min(calc(100% - 1.4rem), var(--max)); }
  .nav-wrap { min-height:68px; }
  .brand img { width:145px; }
  nav { gap:.75rem; font-size:.65rem; }
  nav a:nth-child(3) { display:none; }
  h1 { font-size: clamp(3.4rem, 20vw, 5rem); }
  .org-card, .org-card:nth-child(4), .org-card:nth-child(5) { grid-column:span 12; min-height:250px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-meta { text-align:left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
