/* ============================================================
   ASCEND STUDIOS — DESIGN SYSTEM
   Bebas Neue (display) · DM Sans (body)
   Black / White / Lime #C6FF00 accent
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --bg:       #080808;
  --bg2:      #111111;
  --bg3:      #1c1c1c;
  --bg4:      #282828;
  --white:    #ffffff;
  --g1:       #888888;
  --g2:       #444444;
  --g3:       #222222;
  --lime:     #C6FF00;
  --lime-d:   #a8d900;
  --surface:  var(--bg2);
  --border:   #252525;
  --text:     var(--white);
  --muted:    var(--g1);
  --font-d:   'Bebas Neue', 'Impact', sans-serif;
  --font-b:   'DM Sans', sans-serif;
  --r-sm:     6px;
  --r-md:     12px;
  --r-lg:     18px;
  --r-xl:     28px;
  --ease:     cubic-bezier(.16,1,.3,1);
  --spring:   cubic-bezier(.34,1.56,.64,1);

  /* ─── Spacing scale (used CONSISTENTLY on every page) ─── */
  --pad-x:    clamp(1.5rem, 5vw, 3rem);       /* horizontal page padding */
  --pad-y:    clamp(4.5rem, 9vw, 8rem);        /* vertical section spacing */
  --pad-hero: clamp(3rem, 7vw, 6rem);          /* page headers */
}

[data-theme="light"] {
  --bg:       #f4f4f4;
  --bg2:      #ececec;
  --bg3:      #e0e0e0;
  --bg4:      #d0d0d0;
  --surface:  #ececec;
  --border:   #d8d8d8;
  --text:     #0a0a0a;
  --muted:    #666666;
  --g1:       #666;
  --g2:       #999;
  --g3:       #bbb;
}

/* ── RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-b);
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  transition: background .25s, color .25s;
}
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--lime); color: #000; }

/* ── TYPOGRAPHY ──────────────────────────────────────────── */
h1 { font-family:var(--font-d); font-size:clamp(2.6rem,5.5vw,5rem); line-height:.98; letter-spacing:.02em; text-transform:uppercase; color:var(--text); }
h2 { font-family:var(--font-d); font-size:clamp(1.9rem,4vw,3.8rem); line-height:.98; letter-spacing:.02em; text-transform:uppercase; color:var(--text); }
h3 { font-family:var(--font-d); font-size:clamp(1.4rem,2.5vw,2.4rem); line-height:.98; letter-spacing:.02em; text-transform:uppercase; color:var(--text); }
h4 { font-family:var(--font-b); font-size:1.05rem; font-weight:600; color:var(--text); }
h5 { font-family:var(--font-b); font-size:.9rem; font-weight:600; color:var(--text); }
p  { line-height:1.75; color:var(--muted); }
.label { font-family:var(--font-b); font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--g2); }

/* ── LAYOUT ──────────────────────────────────────────────── */
.wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--pad-x);
}

/* Every section on every page */
.section {
  padding: var(--pad-y) 0;
}

.section + .section,
.section + .section-bordered {
  border-top: 1px solid var(--border);
}

.section-bordered {
  padding: var(--pad-y) 0;
  border-top: 1px solid var(--border);
}

.hr { height:1px; background:var(--border); }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.7rem 1.5rem; border-radius:var(--r-sm);
  font-family:var(--font-b); font-size:.85rem; font-weight:600;
  cursor:pointer; border:none;
  transition:transform .2s var(--spring), box-shadow .2s, background .2s, opacity .2s;
  letter-spacing:.02em; white-space:nowrap;
}
.btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); }

.btn-lime  { background:var(--lime); color:#000; }
.btn-lime:hover { background:var(--lime-d); box-shadow:0 4px 20px rgba(198,255,0,.25); }

.btn-white { background:var(--white); color:#000; }
[data-theme="light"] .btn-white { background:#0a0a0a; color:#fff; }
.btn-white:hover { opacity:.85; }

.btn-outline {
  background:transparent; color:var(--text); border:1px solid var(--border);
}
.btn-outline:hover { border-color:var(--g2); background:rgba(255,255,255,.04); }
[data-theme="light"] .btn-outline:hover { background:rgba(0,0,0,.04); }

.btn-ghost {
  background:var(--surface); color:var(--muted); border:1px solid var(--border);
}
.btn-ghost:hover { color:var(--text); border-color:var(--g2); }

/* ── NAVBAR ──────────────────────────────────────────────── */
.navbar {
  position:sticky; top:0; z-index:200;
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  background:rgba(8,8,8,.88);
  transition:background .25s;
}
[data-theme="light"] .navbar { background:rgba(244,244,244,.92); }

.nav-inner {
  display:flex; align-items:center; justify-content:space-between; height:62px;
}

.logo {
  display:flex; align-items:center; gap:.55rem;
  font-family:var(--font-d); font-size:1.35rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text);
}
.logo-mark {
  width:32px; height:32px; background:var(--lime); border-radius:5px;
  display:flex; align-items:center; justify-content:center;
  color:#000; font-family:var(--font-d); font-size:1.05rem; flex-shrink:0;
  transition:transform .2s var(--spring);
}
.logo:hover .logo-mark { transform:rotate(-8deg) scale(1.08); }

.nav-links { display:flex; align-items:center; gap:.05rem; list-style:none; }
.nav-links a {
  padding:.4rem .85rem; border-radius:var(--r-sm);
  font-size:.85rem; font-weight:500; color:var(--muted);
  transition:color .15s, background .15s;
}
.nav-links a:hover, .nav-links a.active {
  color:var(--text); background:rgba(255,255,255,.05);
}
[data-theme="light"] .nav-links a:hover,
[data-theme="light"] .nav-links a.active { background:rgba(0,0,0,.05); }

.nav-right { display:flex; align-items:center; gap:.65rem; }

.theme-toggle {
  width:36px; height:36px; border-radius:50%;
  background:var(--surface); border:1px solid var(--border);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:1rem;
  transition:transform .2s var(--spring), border-color .2s;
}
.theme-toggle:hover { transform:rotate(20deg) scale(1.1); border-color:var(--g2); }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:.3rem; background:none; border:none; }
.hamburger span { display:block; width:22px; height:1.5px; background:var(--text); border-radius:2px; transition:transform .3s, opacity .3s; }

.mobile-menu { display:none; background:var(--surface); border-bottom:1px solid var(--border); padding:.85rem var(--pad-x); }
.mobile-menu.open { display:block; }
.mobile-menu a { display:block; padding:.65rem .75rem; border-radius:var(--r-sm); font-size:.9rem; color:var(--muted); transition:color .15s, background .15s; }
.mobile-menu a:hover { color:var(--text); background:rgba(255,255,255,.05); }
[data-theme="light"] .mobile-menu a:hover { background:rgba(0,0,0,.05); }
.mobile-menu .btn { width:100%; justify-content:center; margin-top:.75rem; }

/* ════════════════════════════════════════════════════════════
   PAGE HEADER — same padding on every inner page
   ════════════════════════════════════════════════════════════ */
.page-header {
  padding: var(--pad-hero) 0 calc(var(--pad-hero) * .7);
  border-bottom: 1px solid var(--border);
}
.page-header .label { display:block; margin-bottom:.85rem; }
.page-header h1     { margin-bottom:.65rem; }
.page-header p      { max-width:500px; font-size:1.05rem; }

/* ════════════════════════════════════════════════════════════
   HERO (home page)
   ════════════════════════════════════════════════════════════ */
.hero-wrap { padding: clamp(2.5rem,4vw,4rem) 0 0; }
.hero-text { margin-bottom:2rem; }
.hero-headline {
  font-family:var(--font-d);
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:.98; letter-spacing:.02em; text-transform:uppercase;
  color:var(--text); display:block; margin-bottom:.6rem;
}
.hero-sub {
  font-size:clamp(.9rem,1.5vw,1.05rem);
  font-weight:400; color:var(--muted);
  max-width:520px; line-height:1.65;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-bottom:.75rem; }
.hero-proof {
  display:flex; align-items:center; gap:.5rem;
  font-size:.77rem; color:var(--g2); letter-spacing:.03em;
}
.hero-proof::before {
  content:''; width:7px; height:7px; border-radius:50%;
  background:#4ade80; flex-shrink:0; animation:blink 2s infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.35} }

/* ════════════════════════════════════════════════════════════
   VIDEO REEL
   ════════════════════════════════════════════════════════════ */
.reel-section {
  padding: 2rem 0 var(--pad-y);
}
.reel-label-row {
  padding: 0 var(--pad-x) .85rem;
  display:flex; justify-content:space-between; align-items:center;
  max-width:1280px; margin:0 auto;
}
.reel-hint { font-size:.7rem; color:var(--g2); }

.reel-outer {
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
}
.reel-track {
  display:flex; gap:1rem;
  width:max-content;
  animation:reel-scroll 40s linear infinite;
}
.reel-outer:hover .reel-track { animation-play-state:paused; }
@keyframes reel-scroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

.reel-card {
  position:relative; width:240px; flex-shrink:0;
  border-radius:var(--r-lg); overflow:hidden;
  background:var(--bg3); border:1px solid var(--border);
  aspect-ratio:9/16; cursor:pointer;
  transition:transform .3s var(--ease), border-color .3s;
  user-select:none;
}
.reel-card:hover { transform:scale(1.02); border-color:var(--g2); }
.reel-card video { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }

.reel-ph {
  width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:2.5rem; gap:.4rem; background:var(--bg3);
}
.reel-ph small { font-size:.65rem; color:var(--g2); font-family:var(--font-b); letter-spacing:.06em; text-transform:uppercase; }

.reel-grad {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 45%,transparent 70%);
  pointer-events:none;
}

.reel-play-indicator {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .2s; pointer-events:none; z-index:5;
}
.reel-card.is-paused .reel-play-indicator { opacity:1; }
.play-ring {
  width:50px; height:50px; border-radius:50%;
  background:rgba(0,0,0,.55); backdrop-filter:blur(8px);
  border:1.5px solid rgba(255,255,255,.28);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem;
}

/* Mute button — always visible */
.mute-btn {
  position:absolute; top:.7rem; right:.7rem;
  width:30px; height:30px; border-radius:50%;
  background:rgba(0,0,0,.65);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);
  color:#fff; font-size:.82rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:10; pointer-events:all;
  transition:background .18s, transform .18s var(--spring), border-color .18s;
}
.mute-btn:hover { background:rgba(0,0,0,.85); border-color:rgba(255,255,255,.5); transform:scale(1.12); }
.mute-btn.unmuted { background:rgba(198,255,0,.18); border-color:rgba(198,255,0,.5); }

.reel-info {
  position:absolute; bottom:.8rem; left:.8rem; right:2.8rem;
  z-index:4; pointer-events:none;
}
.reel-info strong { display:block; font-family:var(--font-b); font-weight:600; font-size:.78rem; color:#fff; line-height:1.25; }
.reel-info em     { display:block; font-style:normal; font-size:.68rem; color:var(--lime); font-weight:600; letter-spacing:.04em; margin-top:.15rem; }

/* ── STATS ───────────────────────────────────────────────── */
.stats-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden;
}
.stat-cell {
  padding:clamp(1.75rem,4vw,2.75rem) 2rem;
  border-right:1px solid var(--border); text-align:center;
  transition:background .2s;
}
.stat-cell:last-child { border-right:none; }
.stat-cell:hover { background:var(--surface); }
.stat-num {
  font-family:var(--font-d); font-size:clamp(2.4rem,5vw,4rem); line-height:1;
  letter-spacing:.02em; color:var(--lime); display:block; margin-bottom:.35rem;
}
[data-theme="light"] .stat-num { color:#0a0a0a; }
.stat-label { font-size:.82rem; color:var(--muted); }

/* ── SECTION HEADING ─────────────────────────────────────── */
.sh { margin-bottom:clamp(2.5rem,5vw,3.75rem); }
.sh .label { display:block; margin-bottom:.7rem; }
.sh h2     { margin-bottom:.6rem; }
.sh p      { max-width:500px; font-size:1rem; }

/* ── CARDS ───────────────────────────────────────────────── */
.card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:1.6rem;
  transition:border-color .25s, transform .25s var(--ease);
}
.card:hover { border-color:var(--g2); transform:translateY(-3px); }

.step-num-d {
  font-family:var(--font-d); font-size:3.8rem; line-height:1;
  color:var(--border); letter-spacing:.02em; margin-bottom:.25rem;
  transition:color .25s;
}
.card:hover .step-num-d { color:var(--lime); }
[data-theme="light"] .card:hover .step-num-d { color:#0a0a0a; }

/* ── CTA BLOCK ───────────────────────────────────────────── */
.cta-block {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-xl);
  padding:clamp(3rem,7vw,5.5rem) clamp(2rem,6vw,4.5rem);
  text-align:center;
}
.cta-block h2 { margin-bottom:.65rem; }
.cta-block p  { max-width:460px; margin:0 auto 2rem; font-size:1rem; }
.btns { display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; }

/* ── WORK GRID ───────────────────────────────────────────── */
.work-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.25rem; }
.work-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  overflow:hidden; cursor:pointer; transition:border-color .25s, transform .25s var(--ease);
}
.work-card:hover { border-color:var(--g2); transform:translateY(-4px); }
.work-thumb {
  aspect-ratio:16/9; background:var(--bg3);
  display:flex; align-items:center; justify-content:center; font-size:2.2rem;
  position:relative; overflow:hidden;
}
.work-thumb-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,.65);
  display:flex; align-items:center; justify-content:center; opacity:0;
  transition:opacity .22s; font-size:.78rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
}
.work-card:hover .work-thumb-overlay { opacity:1; }
.work-body { padding:1.35rem; }
.work-tag    { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--g2); margin-bottom:.4rem; }
.work-title  { font-weight:600; font-size:.95rem; margin-bottom:.5rem; color:var(--text); }
.work-metric { font-family:var(--font-d); font-size:2.4rem; line-height:1; color:var(--lime); letter-spacing:.02em; }
[data-theme="light"] .work-metric { color:#0a0a0a; }
.work-result { font-size:.78rem; color:var(--muted); margin-top:.2rem; }

/* ── FILTERS ─────────────────────────────────────────────── */
.filter-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2.5rem; }
.filter-pill {
  padding:.38rem 1rem; border-radius:100px; border:1px solid var(--border);
  font-size:.8rem; font-weight:600; cursor:pointer;
  background:transparent; color:var(--muted); transition:all .18s;
}
.filter-pill:hover { color:var(--text); border-color:var(--g2); }
.filter-pill.active { background:var(--white); color:#000; border-color:var(--white); }
[data-theme="light"] .filter-pill.active { background:#0a0a0a; color:#fff; border-color:#0a0a0a; }

/* ── FEATURE LIST ────────────────────────────────────────── */
.feat-list { list-style:none; margin:1rem 0; }
.feat-list li {
  padding:.5rem 0; font-size:.875rem; color:var(--muted);
  display:flex; align-items:flex-start; gap:.6rem;
  border-bottom:1px solid var(--border);
}
.feat-list li:last-child { border-bottom:none; }
.feat-list li::before { content:'✓'; color:var(--lime); font-weight:700; flex-shrink:0; }
[data-theme="light"] .feat-list li::before { color:#0a0a0a; }

/* ── TABLE ───────────────────────────────────────────────── */
.compare-table { width:100%; border-collapse:collapse; }
.compare-table th, .compare-table td { padding:.9rem 1.1rem; text-align:left; border-bottom:1px solid var(--border); font-size:.875rem; }
.compare-table th { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--g2); }
.compare-table td:first-child { font-weight:600; color:var(--text); }
.compare-table td:not(:first-child) { color:var(--muted); }
.compare-table td:last-child { color:var(--lime); font-weight:700; }
[data-theme="light"] .compare-table td:last-child { color:#0a0a0a; }
.compare-table tbody tr:hover td { background:var(--surface); }

/* ── TIMELINE ────────────────────────────────────────────── */
.timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.tl-dot {
  width:26px; height:26px; border-radius:50%; background:var(--lime);
  display:flex; align-items:center; justify-content:center;
  font-size:.72rem; font-weight:700; color:#000; margin-bottom:.9rem;
}
[data-theme="light"] .tl-dot { background:#0a0a0a; color:#fff; }
.tl-week { font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--g2); margin-bottom:.35rem; }
.task-list { list-style:none; margin-top:.6rem; }
.task-list li { padding:.32rem 0; font-size:.82rem; color:var(--muted); display:flex; gap:.45rem; border-bottom:1px solid var(--border); }
.task-list li:last-child { border-bottom:none; }
.task-list li::before { content:'—'; color:var(--g2); flex-shrink:0; }

/* ── GUARANTEES ──────────────────────────────────────────── */
.g-icon {
  width:42px; height:42px; background:var(--bg3); border:1px solid var(--border);
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; margin-bottom:.9rem;
}

/* ── FAQ ─────────────────────────────────────────────────── */
details.faq { border-bottom:1px solid var(--border); }
details.faq summary {
  display:flex; justify-content:space-between; align-items:center;
  padding:1.05rem 0; cursor:pointer; font-weight:600; font-size:.95rem;
  list-style:none; gap:1rem; color:var(--text); transition:color .15s;
}
details.faq summary:hover { color:var(--muted); }
details.faq summary::marker, details.faq summary::-webkit-details-marker { display:none; }
.faq-ch { font-size:.85rem; color:var(--g2); transition:transform .3s var(--ease); flex-shrink:0; }
details[open] .faq-ch { transform:rotate(180deg); color:var(--text); }
details.faq p { padding-bottom:1rem; font-size:.9rem; }

/* ── FORM ────────────────────────────────────────────────── */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-full  { grid-column:1 / -1; }
.form-group { display:flex; flex-direction:column; gap:.38rem; }
.form-group label { font-size:.8rem; font-weight:600; color:var(--muted); }
.form-group input, .form-group select, .form-group textarea {
  padding:.78rem 1rem; border-radius:var(--r-md); border:1px solid var(--border);
  background:var(--surface); color:var(--text); font-family:var(--font-b); font-size:.9rem;
  outline:none; transition:border-color .2s; -webkit-appearance:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--lime); }
[data-theme="light"] .form-group input:focus,
[data-theme="light"] .form-group select:focus,
[data-theme="light"] .form-group textarea:focus { border-color:#0a0a0a; }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--g2); }
.form-group select option { background:var(--surface); }
.form-group textarea { resize:vertical; min-height:120px; }

.success-msg { display:none; border:1px solid #2d4d2d; background:#0d1f0d; border-radius:var(--r-md); padding:1.75rem; text-align:center; }
.success-msg.show { display:block; }
.success-msg h4 { color:#4ade80; margin-bottom:.5rem; font-family:var(--font-d); font-size:1.5rem; letter-spacing:.02em; }
.success-msg p  { font-size:.9rem; }

/* ── CONTACT INFO ────────────────────────────────────────── */
.contact-row { display:flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--border); }
.contact-row:last-child { border-bottom:none; }
.c-icon { width:34px; height:34px; background:var(--bg3); border:1px solid var(--border); border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; font-size:.9rem; flex-shrink:0; }
.contact-row a { font-size:.875rem; color:var(--muted); transition:color .15s; }
.contact-row a:hover { color:var(--text); }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer {
  border-top:1px solid var(--border);
  padding: var(--pad-y) 0 2.5rem;
  background:var(--bg);
}
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem; }
.footer-brand p { font-size:.875rem; margin-top:.85rem; max-width:230px; }
.footer h5 { font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--g2); margin-bottom:1rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer-links a { font-size:.875rem; color:var(--muted); transition:color .15s; }
.footer-links a:hover { color:var(--text); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:1.5rem; border-top:1px solid var(--border); font-size:.8rem; color:var(--g2); flex-wrap:wrap; gap:.65rem; }
.footer-legal { display:flex; gap:1.5rem; }
.footer-legal a { color:var(--g2); transition:color .15s; }
.footer-legal a:hover { color:var(--text); }

/* ── ANIMATIONS ──────────────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
.anim { opacity:0; animation:fadeUp .6s var(--ease) forwards; }
.d1{animation-delay:.06s} .d2{animation-delay:.14s} .d3{animation-delay:.22s} .d4{animation-delay:.32s}

.reveal { opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.in { opacity:1; transform:translateY(0); }
.r1{transition-delay:.06s} .r2{transition-delay:.13s} .r3{transition-delay:.2s} .r4{transition-delay:.28s}

/* ── GRID HELPERS ────────────────────────────────────────── */
.g2   { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.g3   { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.gauto{ display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1.25rem; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:960px) {
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .timeline    { grid-template-columns:1fr 1fr; }
  .g3          { grid-template-columns:1fr 1fr; }
}
@media(max-width:720px) {
  .nav-links, .nav-right .btn { display:none; }
  .hamburger { display:flex; }
  .g2, .g3   { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:1.5rem; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .form-grid   { grid-template-columns:1fr; }
  .form-full   { grid-column:auto; }
  .compare-table th, .compare-table td { padding:.65rem .65rem; font-size:.78rem; }
  .stats-grid  { grid-template-columns:1fr; }
  .stat-cell   { border-right:none; border-bottom:1px solid var(--border); }
  .stat-cell:last-child { border-bottom:none; }
  .reel-card   { width:190px; }
}
@media(max-width:480px) {
  .timeline    { grid-template-columns:1fr; }
  .btns, .hero-actions { flex-direction:column; }
  .btns .btn, .hero-actions .btn { justify-content:center; }
}
