@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Caveat:wght@400;700&family=JetBrains+Mono:wght@400;500&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:      #0B1510;
  --bg2:     #0F1A14;
  --chalk:   #E8EFE9;
  --dim:     rgba(232,239,233,.55);
  --sub:     rgba(232,239,233,.42);
  --sub2:    rgba(232,239,233,.22);
  --pink:    #FF2D55;
  --cyan:    #00FFD1;
  --yellow:  #FFE600;
  --border:  rgba(232,239,233,.1);
  --border2: rgba(232,239,233,.2);
  --glass:   rgba(232,239,233,.04);
  --font:    'Space Grotesk', sans-serif;
  --hand:    'Caveat', cursive;
  --mono:    'JetBrains Mono', monospace;
  --r:       8px;
  --rec:     #FF2D55;
  /* aliases for inline styles on sub-pages */
  --text:    #E8EFE9;
  --teal:    #00FFD1;
  --card:    rgba(232,239,233,.04);
  --surface: rgba(232,239,233,.07);
  --teal-dim:rgba(0,255,209,.07);
  --violet:  #FF2D55;
  --blue:    #00FFD1;
  --glow-v:  rgba(255,45,85,.3);
  --glow-b:  rgba(0,255,209,.2);
  --grad:    linear-gradient(135deg,#FF2D55,#00FFD1);
  --grad-text:linear-gradient(135deg,#fff 0%,#FF2D55 50%,#00FFD1 100%);
}

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--chalk);
  font-family: var(--font);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* chalk grain */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 256px 256px;
}

/* scanlines */
body::after {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,.07) 2px, rgba(0,0,0,.07) 4px);
}

::selection { background: rgba(255,45,85,.3); color: #fff; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--pink); border-radius: 2px; }

/* ── Progress bar ── */
#progress-bar {
  position: fixed; top: 0; left: 0;
  height: 2px; background: var(--pink);
  z-index: 9999; width: 0%;
  transition: width .1s linear;
  box-shadow: 0 0 10px rgba(255,45,85,.7);
}

/* ═══════════════════════════════════
   GLITCH
═══════════════════════════════════ */
.glitch-text { position: relative; }

.glitch-text::before,
.glitch-text::after {
  content: attr(data-text);
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  opacity: 0; pointer-events: none;
}

.glitching::before {
  color: var(--pink);
  clip-path: polygon(0 15%, 100% 15%, 100% 40%, 0 40%);
  transform: translate(-5px, 2px);
  opacity: 1;
  animation: gcl-1 .3s steps(3) forwards;
}

.glitching::after {
  color: var(--cyan);
  clip-path: polygon(0 60%, 100% 60%, 100% 82%, 0 82%);
  transform: translate(5px, -2px);
  opacity: 1;
  animation: gcl-2 .3s steps(3) forwards;
}

@keyframes gcl-1 {
  0%   { clip-path:polygon(0 15%,100% 15%,100% 40%,0 40%); transform:translate(-5px,2px); }
  33%  { clip-path:polygon(0 28%,100% 28%,100% 52%,0 52%); transform:translate(4px,-1px); }
  66%  { clip-path:polygon(0 5%,100% 5%,100% 22%,0 22%);   transform:translate(-2px,4px); }
  100% { opacity:0; }
}

@keyframes gcl-2 {
  0%   { clip-path:polygon(0 60%,100% 60%,100% 82%,0 82%); transform:translate(5px,-2px); }
  33%  { clip-path:polygon(0 72%,100% 72%,100% 92%,0 92%); transform:translate(-4px,2px); }
  66%  { clip-path:polygon(0 48%,100% 48%,100% 68%,0 68%); transform:translate(3px,-3px); }
  100% { opacity:0; }
}

/* glitch scan sweep on cards */
@keyframes glitch-sweep {
  from { transform:translateX(-120%); }
  to   { transform:translateX(120%); opacity:0; }
}

/* ═══════════════════════════════════
   NAV
═══════════════════════════════════ */
nav {
  position: fixed; top: 16px; left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; height: 56px;
  width: calc(100% - 48px); max-width: 1100px;
  background: rgba(11,21,16,.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--border2);
  border-radius: 14px;
  transition: border-color .3s, box-shadow .3s;
}

nav.scrolled {
  border-color: rgba(0,255,209,.25);
  box-shadow: 0 0 24px rgba(0,255,209,.06);
}

.nav-logo { display:flex; align-items:center; gap:9px; text-decoration:none; }

.nav-logo-mark {
  width:28px; height:28px;
  background: var(--pink);
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:10px; font-weight:500; color:#fff;
  box-shadow:0 0 12px rgba(255,45,85,.5);
  animation: logo-pulse 3s ease-in-out infinite;
}

@keyframes logo-pulse {
  0%,100% { box-shadow:0 0 12px rgba(255,45,85,.5); }
  50%      { box-shadow:0 0 22px rgba(255,45,85,.9),0 0 40px rgba(255,45,85,.3); }
}

.nav-logo-text { font-size:16px; font-weight:700; color:var(--chalk); letter-spacing:-.02em; }

.nav-links { display:flex; align-items:center; gap:24px; list-style:none; }

.nav-links a {
  font-size:13.5px; color:var(--sub); text-decoration:none;
  transition:color .2s; font-weight:500; position:relative;
}

.nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:0;
  width:0; height:1px; background:var(--cyan);
  box-shadow:0 0 6px var(--cyan);
  transition:width .25s;
}

.nav-links a:hover,
.nav-links a.active { color:var(--chalk); }

.nav-links a:hover::after,
.nav-links a.active::after { width:100%; }

.nav-rec {
  display:flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:11px; color:var(--rec); letter-spacing:.06em;
}

.rec-dot {
  width:6px; height:6px; background:var(--rec); border-radius:50%;
  animation:blink 1.5s ease-in-out infinite;
  box-shadow:0 0 8px var(--rec);
}

@keyframes blink {
  0%,100% { opacity:1; box-shadow:0 0 8px var(--rec); }
  50%      { opacity:.2; box-shadow:none; }
}

/* ═══════════════════════════════════
   BUTTONS
═══════════════════════════════════ */
.btn-primary {
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--pink); color:#fff;
  font-family:var(--font); font-size:14px; font-weight:700;
  letter-spacing:.02em; text-decoration:none;
  padding:13px 28px; border-radius:var(--r);
  border:none; cursor:pointer; overflow:hidden;
  transition:transform .15s,box-shadow .15s;
  box-shadow:0 0 20px rgba(255,45,85,.4),0 4px 16px rgba(0,0,0,.4);
}

.btn-primary::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(-100%); transition:transform .5s ease;
}

.btn-primary:hover::before { transform:translateX(100%); }
.btn-primary:hover {
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 0 32px rgba(255,45,85,.7),0 8px 24px rgba(0,0,0,.4);
}

.btn-secondary {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:var(--chalk);
  font-family:var(--font); font-size:14px; font-weight:600;
  text-decoration:none; padding:12px 26px;
  border-radius:var(--r); border:1px solid var(--border2);
  cursor:pointer; transition:border-color .2s,color .2s,transform .2s,box-shadow .2s;
}

.btn-secondary:hover {
  border-color:var(--cyan); color:var(--cyan);
  transform:translateY(-2px);
  box-shadow:0 0 16px rgba(0,255,209,.2);
}

/* ═══════════════════════════════════
   HERO
═══════════════════════════════════ */
.hero {
  position:relative; z-index:1;
  min-height:100vh;
  display:flex; flex-direction:column; justify-content:center;
  padding:120px 64px 96px;
  border-bottom:1px solid var(--border);
}

.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  margin-bottom:44px; width:fit-content;
  animation:badge-in .6s ease both;
}

.hero-badge-dot {
  width:6px; height:6px; border-radius:50%;
  background:var(--cyan); box-shadow:0 0 8px var(--cyan);
  animation:pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%,100% { box-shadow:0 0 8px var(--cyan); }
  50%     { box-shadow:0 0 18px var(--cyan),0 0 30px rgba(0,255,209,.4); }
}

.hero-badge-label {
  font-family:var(--hand); font-size:20px; color:var(--cyan);
}

@keyframes badge-in {
  from { opacity:0; transform:translateY(-10px); }
  to   { opacity:1; transform:translateY(0); }
}

.hero-title {
  font-size:clamp(64px,9.5vw,140px);
  font-weight:700; line-height:.88;
  letter-spacing:-.04em;
  margin-bottom:32px; max-width:1000px;
}

.hero-title .word { display:inline-block; overflow:hidden; }

.hero-title .word-inner {
  display:inline-block;
  animation:word-in .7s cubic-bezier(.16,1,.3,1) both;
}

.hero-title .word:nth-child(1) .word-inner { animation-delay:.1s; }
.hero-title .word:nth-child(2) .word-inner { animation-delay:.2s; }
.hero-title .word:nth-child(3) .word-inner { animation-delay:.3s; }
.hero-title .word:nth-child(4) .word-inner { animation-delay:.4s; }

@keyframes word-in {
  from { transform:translateY(110%); opacity:0; }
  to   { transform:translateY(0); opacity:1; }
}

.accent-pink {
  color:var(--pink);
  text-shadow:0 0 24px rgba(255,45,85,.6);
}

.accent-cyan {
  color:var(--cyan);
  text-shadow:0 0 20px rgba(0,255,209,.5);
}

.gradient-text {
  color:var(--pink);
  text-shadow:0 0 24px rgba(255,45,85,.6);
}

.hero-desc {
  max-width:500px; font-size:17px; color:var(--sub);
  line-height:1.75; margin-bottom:48px;
  animation:fade-up .8s ease .5s both;
}

@keyframes fade-up {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}

.hero-actions {
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  animation:fade-up .8s ease .6s both;
}

.hero-meta {
  display:flex; gap:0; flex-wrap:wrap;
  margin-top:80px; border:1px solid var(--border2);
  border-radius:10px; overflow:hidden; width:fit-content;
  background:var(--glass); animation:fade-up .8s ease .7s both;
}

.hero-meta-item {
  padding:18px 28px; border-right:1px solid var(--border);
}

.hero-meta-item:last-child { border-right:none; }

.hero-meta-label {
  font-family:var(--hand); font-size:14px; color:var(--sub2); margin-bottom:5px;
}

.hero-meta-value { font-size:14px; font-weight:600; color:var(--chalk); }

/* ═══════════════════════════════════
   STATS
═══════════════════════════════════ */
.stats-strip {
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--border);
}

.stat-item {
  padding:56px 48px; border-right:1px solid var(--border);
  transition:background .3s; position:relative; overflow:hidden;
}

.stat-item::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--pink);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s ease;
}

.stat-item:hover::after { transform:scaleX(1); }
.stat-item:hover { background:rgba(255,45,85,.03); }
.stat-item:last-child { border-right:none; }

.stat-value {
  font-size:54px; font-weight:700; line-height:1;
  letter-spacing:-.04em; color:var(--chalk); margin-bottom:8px;
}

.stat-label { font-family:var(--hand); font-size:16px; color:var(--sub); }

/* ═══════════════════════════════════
   SECTIONS
═══════════════════════════════════ */
section { position:relative; z-index:1; padding:100px 64px; }

.section-eyebrow {
  display:inline-block;
  font-family:var(--hand); font-size:20px; color:var(--cyan);
  margin-bottom:14px; position:relative;
}

.section-eyebrow::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:100%; height:2px;
  background:linear-gradient(90deg,var(--cyan),transparent);
  opacity:.4; border-radius:2px;
}

.section-title {
  font-size:clamp(34px,4.5vw,60px);
  font-weight:700; line-height:1;
  letter-spacing:-.04em; margin-bottom:16px;
}

.section-title em {
  font-style:normal; color:var(--pink);
  text-shadow:0 0 20px rgba(255,45,85,.4);
}

.section-sub { font-size:16px; color:var(--sub); line-height:1.75; max-width:420px; }

.section-header {
  display:grid; grid-template-columns:1fr 1fr;
  gap:32px; align-items:end; margin-bottom:56px;
}

.section-header.full { grid-template-columns:1fr; max-width:640px; }

hr.divider { border:none; border-top:1px solid var(--border); }

/* ═══════════════════════════════════
   CARDS
═══════════════════════════════════ */
.cards-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}

.card {
  background:var(--glass); border:1px solid var(--border);
  border-radius:var(--r); padding:32px 28px;
  transition:border-color .25s,transform .25s,box-shadow .25s,background .25s;
  position:relative; overflow:hidden;
}

/* top glitch line */
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--pink),var(--cyan),transparent);
  opacity:0; transition:opacity .3s;
}

/* sweep flash */
.card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,45,85,.06),transparent);
  transform:translateX(-120%);
}

.card:hover { border-color:rgba(255,45,85,.3); background:rgba(255,45,85,.04); transform:translateY(-4px); box-shadow:0 16px 48px rgba(255,45,85,.1); }
.card:hover::before { opacity:1; }
.card:hover::after { animation:glitch-sweep .45s ease forwards; }
.card:hover .card-title { text-shadow:1px 0 rgba(255,45,85,.5),-1px 0 rgba(0,255,209,.5); }

.card > * { position:relative; z-index:1; }

.card-number { font-family:var(--mono); font-size:10px; color:var(--sub2); letter-spacing:.08em; margin-bottom:20px; }

.card-icon { width:40px; height:40px; color:var(--cyan); margin-bottom:18px; filter:drop-shadow(0 0 8px rgba(0,255,209,.4)); }

.card-title { font-size:16px; font-weight:700; color:var(--chalk); margin-bottom:10px; letter-spacing:-.01em; transition:text-shadow .2s; }

.card-text { font-size:14px; color:var(--sub); line-height:1.7; }

/* ═══════════════════════════════════
   FEATURE ROW
═══════════════════════════════════ */
.feature-row {
  background:var(--glass); border:1px solid var(--border);
  border-radius:12px; overflow:hidden; margin-bottom:16px;
  transition:border-color .3s;
}

.feature-row:hover { border-color:rgba(0,255,209,.2); }

/* ═══════════════════════════════════
   STEPS
═══════════════════════════════════ */
.steps { max-width:720px; }

.step {
  display:grid; grid-template-columns:52px 1fr;
  gap:0 28px; padding:40px 0;
  border-bottom:1px solid var(--border);
  position:relative;
}

.step::before {
  content:''; position:absolute; left:-20px; top:0; bottom:0; width:2px;
  background:transparent; transition:background .4s;
}

.step:hover::before { background:linear-gradient(180deg,var(--pink),var(--cyan)); }

.step:last-child { border-bottom:none; }

.step-num { font-family:var(--hand); font-size:26px; color:var(--pink); font-weight:700; padding-top:2px; }

.step-tag { font-family:var(--hand); font-size:17px; color:var(--cyan); margin-bottom:10px; }

.step-title { font-size:20px; font-weight:700; letter-spacing:-.02em; margin-bottom:10px; color:var(--chalk); }

.step-desc { font-size:14px; color:var(--sub); line-height:1.75; }

/* ═══════════════════════════════════
   USE CASES
═══════════════════════════════════ */
.usecase-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }

.usecase-card {
  background:var(--glass); border:1px solid var(--border);
  border-radius:var(--r); padding:32px 28px;
  transition:border-color .25s,transform .25s,box-shadow .25s,background .25s;
  position:relative; overflow:hidden;
}

.usecase-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:0; transition:opacity .3s;
}

.usecase-card:hover { border-color:rgba(0,255,209,.3); transform:translateY(-4px); box-shadow:0 16px 48px rgba(0,255,209,.08); background:rgba(0,255,209,.03); }
.usecase-card:hover::before { opacity:1; }

.usecase-title { font-size:18px; font-weight:700; letter-spacing:-.02em; margin-bottom:10px; margin-top:12px; color:var(--chalk); }

.usecase-text { font-size:14px; color:var(--sub); line-height:1.75; }

.usecase-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }

.tag {
  font-family:var(--mono); font-size:11px; color:var(--cyan);
  background:rgba(0,255,209,.07); border:1px solid rgba(0,255,209,.2);
  padding:3px 10px; border-radius:4px; letter-spacing:.02em;
}

/* ═══════════════════════════════════
   TICKER
═══════════════════════════════════ */
.ticker-wrap {
  overflow:hidden; background:var(--bg2);
  border-bottom:1px solid var(--border);
  padding:14px 0; white-space:nowrap;
  position:relative; z-index:1;
}

.ticker-wrap::before,
.ticker-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2;
}

.ticker-wrap::before { left:0; background:linear-gradient(90deg,var(--bg2),transparent); }
.ticker-wrap::after  { right:0; background:linear-gradient(-90deg,var(--bg2),transparent); }

.ticker-track { display:inline-block; animation:ticker 28s linear infinite; }

.ticker-item {
  display:inline-block; font-family:var(--hand);
  font-size:16px; color:var(--sub); padding:0 28px;
}

.ticker-item::before { content:'×'; margin-right:14px; font-size:14px; color:var(--pink); }

@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ═══════════════════════════════════
   CONTACT
═══════════════════════════════════ */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }

.contact-fact { display:flex; gap:20px; padding:18px 0; border-bottom:1px solid var(--border); }
.contact-fact:first-child { border-top:1px solid var(--border); }

.contact-fact-label { font-family:var(--hand); font-size:16px; color:var(--sub2); min-width:80px; padding-top:2px; }
.contact-fact-value { font-size:14px; color:var(--chalk); line-height:1.6; }

.form-group { margin-bottom:16px; }

.form-group label { display:block; font-family:var(--hand); font-size:17px; color:var(--sub); margin-bottom:8px; }

.form-group input,
.form-group textarea,
.form-group select {
  width:100%; background:var(--glass);
  border:1px solid var(--border); border-radius:var(--r);
  color:var(--chalk); font-family:var(--font); font-size:14px;
  padding:12px 16px; outline:none;
  transition:border-color .2s,background .2s,box-shadow .2s;
  appearance:none;
}

.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--sub2); }

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color:rgba(0,255,209,.4);
  background:rgba(0,255,209,.04);
  box-shadow:0 0 0 3px rgba(0,255,209,.08);
}

.form-group textarea { resize:vertical; min-height:110px; }
.form-group select option { background:#0B1510; }

/* ═══════════════════════════════════
   PAGE HERO
═══════════════════════════════════ */
.page-hero {
  position:relative; z-index:1;
  padding:148px 64px 80px;
  border-bottom:1px solid var(--border);
}

.page-hero-title {
  font-size:clamp(44px,7vw,88px); font-weight:700;
  line-height:.95; letter-spacing:-.04em;
  max-width:700px; margin-top:20px;
  animation:fade-up .7s ease .1s both;
}

.page-hero-title em { font-style:normal; color:var(--pink); text-shadow:0 0 20px rgba(255,45,85,.4); }

.page-hero-sub { margin-top:20px; font-size:16px; color:var(--sub); max-width:460px; line-height:1.75; animation:fade-up .7s ease .2s both; }

/* ═══════════════════════════════════
   PLAN CARDS
═══════════════════════════════════ */
.plan-card {
  padding:28px 28px 32px; border:1px solid var(--border);
  border-radius:12px; background:var(--glass);
  transition:border-color .25s,transform .25s,box-shadow .25s;
}

.plan-card:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(255,45,85,.1); }

.plan-card.featured {
  border-color:rgba(255,45,85,.4);
  background:rgba(255,45,85,.06);
  box-shadow:0 0 40px rgba(255,45,85,.1);
}

/* ═══════════════════════════════════
   FAQ
═══════════════════════════════════ */
.faq-item { padding:22px 0; border-bottom:1px solid var(--border); cursor:pointer; }
.faq-item:first-child { border-top:1px solid var(--border); }

.faq-question { display:flex; justify-content:space-between; align-items:center; gap:20px; }

.faq-q-text { font-size:15px; font-weight:600; color:var(--chalk); letter-spacing:-.01em; }

.faq-icon {
  flex-shrink:0; width:24px; height:24px;
  background:rgba(255,45,85,.1); border:1px solid rgba(255,45,85,.3);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--pink); font-size:15px; transition:transform .3s,background .2s;
}

.faq-answer { display:none; padding-top:12px; font-size:14px; color:var(--sub); line-height:1.75; max-width:580px; }

.faq-item.open .faq-icon { transform:rotate(45deg); background:rgba(255,45,85,.25); }
.faq-item.open .faq-answer { display:block; }

/* ═══════════════════════════════════
   FOOTER
═══════════════════════════════════ */
footer {
  position:relative; z-index:1;
  border-top:1px solid var(--border);
  padding:60px 64px 44px; background:var(--bg2);
}

.footer-top {
  display:flex; justify-content:space-between;
  padding-bottom:48px; border-bottom:1px solid var(--border);
  flex-wrap:wrap; gap:40px;
}

.footer-tagline { font-family:var(--hand); font-size:16px; color:var(--sub); margin-top:10px; max-width:200px; line-height:1.5; }

.footer-nav-group h4 { font-family:var(--hand); font-size:18px; color:var(--cyan); margin-bottom:16px; }

.footer-nav-group ul { list-style:none; }
.footer-nav-group ul li { margin-bottom:10px; }
.footer-nav-group ul li a { font-size:14px; color:var(--sub); text-decoration:none; transition:color .2s; }
.footer-nav-group ul li a:hover { color:var(--chalk); }

.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:28px; flex-wrap:wrap; gap:12px; }

.footer-copy { font-family:var(--mono); font-size:11px; color:var(--sub2); }

.footer-rec { font-family:var(--mono); font-size:11px; color:var(--rec); display:flex; align-items:center; gap:6px; letter-spacing:.04em; }

/* ═══════════════════════════════════
   ANIMATIONS
═══════════════════════════════════ */
.reveal {
  opacity:0; transform:translateY(24px);
  transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);
}

.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:.1s; }
.reveal-d2 { transition-delay:.2s; }
.reveal-d3 { transition-delay:.3s; }
.reveal-d4 { transition-delay:.4s; }

/* cursor glow */
.cursor-glow {
  position:fixed; width:320px; height:320px; border-radius:50%;
  pointer-events:none; z-index:0;
  background:radial-gradient(circle,rgba(255,45,85,.055) 0%,transparent 70%);
  transform:translate(-50%,-50%);
  transition:left .12s ease,top .12s ease;
  mix-blend-mode:screen;
}

/* ═══════════════════════════════════
   MOBILE
═══════════════════════════════════ */
.hamburger { display:none; flex-direction:column; gap:4px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { display:block; width:20px; height:1.5px; background:var(--chalk); transition:.3s; }

.mobile-menu {
  display:none; position:fixed; inset:0;
  background:rgba(11,21,16,.97); backdrop-filter:blur(20px);
  z-index:400; flex-direction:column; justify-content:center; align-items:center; gap:28px;
}

.mobile-menu.open { display:flex; }

.mobile-menu a { font-family:var(--hand); font-size:30px; font-weight:700; color:var(--chalk); text-decoration:none; transition:color .2s; }
.mobile-menu a:hover { color:var(--pink); }

.mobile-close { position:absolute; top:20px; right:24px; background:none; border:none; color:var(--sub); font-size:26px; cursor:pointer; }

@media (max-width:900px) {
  nav { width:calc(100% - 24px); padding:0 16px; top:8px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  section, .hero, .page-hero { padding-left:24px; padding-right:24px; }
  .stats-strip { grid-template-columns:repeat(2,1fr); }
  .stat-item { padding:36px 24px; }
  .section-header { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; gap:48px; }
  footer { padding:48px 24px 36px; }
  .footer-top { flex-direction:column; }
  .hero-meta { width:100%; }
  .hero { padding:120px 24px 80px; }
  .page-hero { padding:130px 24px 64px; }
}

@media (max-width:480px) {
  .stats-strip { grid-template-columns:1fr 1fr; }
  .stat-value { font-size:38px; }
  .step { grid-template-columns:1fr; gap:4px; }
}
