/* ============================================================
   hoooz.io — Brand Template Management Platform
   Dark premium tech, monochrome + lime accent
   pipopstudio® — pilot 002
   ============================================================ */

/* ---------- 0. Tokens ---------- */
:root {
  --bg: #0A0B0D;
  --bg-2: #0E1015;
  --surface: #12141A;
  --surface-2: #1B1E26;
  --text: #F2F3F5;
  --text-muted: #6B7280;
  --text-dim: #3B4049;
  --accent: #C6F24E;
  --accent-dim: #8AB534;
  --border: #1B1E26;
  --border-strong: #262A33;
  --danger: #FF5C5C;

  --font-display: 'Geist', 'Geist Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter Tight', 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --max: 1480px;
  --gutter: clamp(20px, 4vw, 56px);

  --t-fast: 200ms cubic-bezier(.2, .7, .2, 1);
  --t-med:  380ms cubic-bezier(.2, .7, .2, 1);
  --t-slow: 800ms cubic-bezier(.2, .7, .2, 1);

  --fs-mono: 11px;
  --fs-body: clamp(15px, 1vw, 17px);
  --fs-lead: clamp(17px, 1.2vw, 21px);
  --fs-h3: clamp(20px, 1.5vw, 26px);
  --fs-h2: clamp(28px, 3vw, 56px);
  --fs-h1: clamp(40px, 6.5vw, 110px);

  --lh-tight: 0.95;
  --lh-snug: 1.12;
  --lh-body: 1.55;
}

/* ---------- 1. Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  overflow-x: hidden;
}
img, video, svg { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; font-family: var(--font-display); font-weight: 500; }
p { font-family: var(--font-body); font-weight: 400; }
input, textarea, select { font: inherit; color: inherit; }
::selection { background: var(--accent); color: var(--bg); }

/* ---------- 2. Utility ---------- */
.skip {
  position: absolute; top: 0; left: 0;
  background: var(--accent); color: var(--bg);
  padding: 12px 18px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  transform: translateY(-200%);
  z-index: 1000; transition: transform var(--t-fast);
}
.skip:focus { transform: translateY(0); }

.wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }

.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-mono); letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  display: inline-flex; align-items: center; gap: 12px;
  font-weight: 400;
}
.eyebrow::before {
  content: ""; width: 28px; height: 1px; background: var(--accent);
}
.eyebrow--accent { color: var(--accent); }
.eyebrow--accent::before { background: var(--accent); }

.lead {
  font-size: var(--fs-lead); line-height: 1.45;
  max-width: 56ch; color: var(--text);
  font-weight: 400;
}
.muted { color: var(--text-muted); }

/* ---------- 3. Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 28px;
  border-radius: 6px;
  font-family: var(--font-display);
  font-size: 14px; font-weight: 500;
  letter-spacing: -0.005em;
  transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
  white-space: nowrap;
  border: 1px solid transparent;
}
.btn .arrow {
  display: inline-flex; align-items: center;
  transition: transform var(--t-fast);
}
.btn:hover .arrow { transform: translateX(4px); }

.btn--primary {
  background: var(--accent);
  color: var(--bg);
}
.btn--primary:hover {
  background: var(--text);
  transform: translateY(-1px);
}

.btn--ghost {
  border-color: var(--border-strong);
  color: var(--text);
  background: transparent;
}
.btn--ghost:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.btn--lg { padding: 20px 32px; font-size: 16px; }

a.text-link {
  color: var(--text);
  border-bottom: 1px solid var(--border-strong);
  padding-bottom: 2px;
  transition: color var(--t-fast), border-color var(--t-fast);
}
a.text-link:hover { color: var(--accent); border-color: var(--accent); }

/* ---------- 4. Header ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px var(--gutter);
  background: rgba(10, 11, 13, 0.78);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--t-fast);
}
.site-header.is-scrolled { border-bottom-color: var(--border); }

.brand {
  position: relative; z-index: 102;
  display: inline-flex; align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--text);
  letter-spacing: -0.01em;
  line-height: 1;
}
.brand-leds {
  display: inline-flex; gap: 4px; align-items: center;
}
.brand-led {
  width: 6px; height: 6px;
  border: 1px solid var(--accent-dim);
  border-radius: 50%;
  position: relative;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.brand-led.is-active {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 8px rgba(198, 242, 78, 0.6);
}

/* Animation séquentielle 1 → 2 → 3 → 1 sur 3 secondes */
@keyframes led-cycle {
  0%, 8%   { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 8px rgba(198, 242, 78, 0.6); }
  16%, 100% { background: transparent; border-color: var(--accent-dim); box-shadow: none; }
}
.brand-led:nth-child(1) { animation: led-cycle 3s ease-in-out infinite; animation-delay: 0s; }
.brand-led:nth-child(2) { animation: led-cycle 3s ease-in-out infinite; animation-delay: 1s; }
.brand-led:nth-child(3) { animation: led-cycle 3s ease-in-out infinite; animation-delay: 2s; }

.brand:hover .brand-led:nth-child(1),
.brand:focus .brand-led:nth-child(1) { animation-duration: 1.2s; }
.brand:hover .brand-led:nth-child(2),
.brand:focus .brand-led:nth-child(2) { animation-duration: 1.2s; }
.brand:hover .brand-led:nth-child(3),
.brand:focus .brand-led:nth-child(3) { animation-duration: 1.2s; }

.site-nav {
  display: flex; align-items: center; gap: 32px;
}
.site-nav a {
  font-family: var(--font-display);
  font-size: 12px; font-weight: 500;
  color: var(--text);
  position: relative;
  padding: 8px 0;
}
.site-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 4px;
  height: 1px; background: var(--accent);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--t-med);
}
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav a[aria-current="page"] { color: var(--accent); }

.lang-select {
  display: flex; gap: 2px;
  padding-left: 24px; margin-left: 8px;
  border-left: 1px solid var(--border-strong);
}
.lang-select a {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .1em;
  padding: 6px 8px;
  color: var(--text-muted);
}
.lang-select a:hover, .lang-select a[aria-current="true"] { color: var(--accent); }

.header-cta {
  display: inline-flex;
  margin-left: 16px;
}

.burger {
  display: none;
  position: relative; z-index: 102;
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: var(--bg);
  cursor: pointer;
}
.burger span { display: block; width: 18px; height: 1.5px; background: var(--text); position: relative; }
.burger span::before, .burger span::after {
  content: ""; position: absolute; left: 0; width: 18px; height: 1.5px; background: var(--text);
  transition: transform var(--t-fast);
}
.burger span::before { top: -5px; }
.burger span::after { top: 5px; }
.burger[aria-expanded="true"] span { background: transparent; }
.burger[aria-expanded="true"] span::before { transform: translateY(5px) rotate(45deg); }
.burger[aria-expanded="true"] span::after  { transform: translateY(-5px) rotate(-45deg); }

@media (max-width: 1000px) {
  .burger { display: inline-flex; }
  .header-cta { display: none; }
  .site-nav {
    position: fixed; inset: 0;
    z-index: 101;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    padding: 110px var(--gutter) 48px;
    background: var(--bg);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-12px);
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s;
    overflow-y: auto;
  }
  .site-nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: none;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear 0s;
  }
  .site-nav a { font-size: 32px; padding: 8px 0; }
  .site-nav a::after { display: none; }
  .lang-select {
    margin: 24px 0 0;
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid var(--border-strong);
    align-self: stretch;
    gap: 8px;
  }
  .lang-select a { font-size: 13px; padding: 8px 14px 8px 0; }
}

/* ---------- 5. Hero (home) — split text left + probe right ---------- */
.hero {
  position: relative;
  min-height: 92vh; min-height: 92svh;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 80px);
  align-items: end;
  padding: clamp(140px, 18vh, 200px) var(--gutter) clamp(56px, 8vh, 110px);
  background: var(--bg);
  overflow: hidden;
  isolation: isolate;
}

/* Subtle grid background */
.hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.4) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: -1px -1px;
  mask-image: radial-gradient(ellipse 80% 60% at 30% 60%, #000 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 30% 60%, #000 0%, transparent 80%);
  pointer-events: none;
}

.hero__inner {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  justify-content: flex-end;
  gap: clamp(24px, 3vh, 40px);
  min-width: 0;
}

.hero__hud {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px;
  font-family: var(--font-mono);
  font-size: var(--fs-mono); letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.hero__hud .hud-left { color: var(--text); }
.hero__hud .hud-right { color: var(--accent); }

.hero h1 {
  font-family: var(--font-display);
  font-size: clamp(56px, 6vw, 112px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  font-weight: 600;
  text-wrap: balance;
  color: var(--text);
  margin: 0;
  max-width: 14ch;
}
.hero h1 .line { display: block; }
.hero h1 .line:nth-child(2) {
  color: var(--accent);
  padding-left: clamp(32px, 6vw, 96px);
  font-style: italic;
  font-weight: 400;
}

.hero__sub {
  font-size: var(--fs-lead);
  color: var(--text);
  max-width: 52ch;
  font-weight: 400;
  line-height: 1.45;
}

.hero__actions {
  display: flex; gap: 12px; flex-wrap: wrap;
}

/* Hero probe canvas (right column, signature visual) */
.hero-probe {
  position: relative; z-index: 2;
  align-self: stretch;
  display: flex; flex-direction: column;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface);
  overflow: hidden;
  min-height: clamp(357px, 51vh, 544px);
}
.hero-probe__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.hero-probe__head .dots { display: inline-flex; gap: 6px; }
.hero-probe__head .dots span {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--border-strong);
}
.hero-probe__head .dots span:nth-child(1) { background: #FF5C5C; }
.hero-probe__head .dots span:nth-child(2) { background: #FFB341; }
.hero-probe__head .dots span:nth-child(3) { background: var(--accent); }
.hero-probe__head .filename { color: var(--text); }

.hero-probe__canvas {
  position: relative;
  flex: 1;
  background: var(--bg-2);
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.45) 1px, transparent 1px);
  background-size: 24px 24px;
  overflow: hidden;
}

/* Mock template inside the canvas */
.probe-template {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 75%; height: 80%;
  background: var(--surface-2);
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  display: flex; flex-direction: column;
  padding: 16px;
  gap: 10px;
}
.probe-zone {
  position: relative;
  border: 1px dashed var(--text-dim);
  border-radius: 2px;
  padding: 8px 10px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
  transition: border-color var(--t-fast), color var(--t-fast), background var(--t-fast);
}
.probe-zone.zone-image {
  flex: 1;
  display: flex; align-items: flex-end;
  background: linear-gradient(135deg, rgba(38, 42, 51, 0.4) 0%, rgba(18, 20, 26, 0.4) 100%);
}
.probe-zone.zone-headline { font-size: 14px; padding: 12px; }
.probe-zone.zone-cta { align-self: flex-start; }

.probe-zone.is-locked {
  border-color: var(--accent);
  border-style: solid;
  color: var(--accent);
  background: rgba(198, 242, 78, 0.04);
}
.probe-zone.is-locked::before {
  content: "🔒";
  position: absolute;
  top: 4px; right: 6px;
  font-size: 10px;
  filter: hue-rotate(50deg) saturate(2);
}

/* Scan bar that traverses the probe */
.probe-scanbar {
  position: absolute; left: 0; right: 0;
  height: 2px;
  background: var(--accent);
  box-shadow: 0 0 16px rgba(198, 242, 78, 0.7), 0 0 32px rgba(198, 242, 78, 0.3);
  top: 0;
  pointer-events: none;
  animation: probe-scan 6s ease-in-out infinite;
}
@keyframes probe-scan {
  0%, 100% { top: 0; opacity: 0; }
  10% { opacity: 1; }
  50% { top: calc(100% - 2px); opacity: 1; }
  60% { opacity: 0; }
}

/* Lock animation: zones become locked one by one as the scan passes */
.probe-template .probe-zone:nth-child(1) { animation: lock-in 6s ease-in-out infinite; animation-delay: 1.2s; }
.probe-template .probe-zone:nth-child(2) { animation: lock-in 6s ease-in-out infinite; animation-delay: 1.8s; }
.probe-template .probe-zone:nth-child(3) { animation: lock-in 6s ease-in-out infinite; animation-delay: 2.4s; }
.probe-template .probe-zone:nth-child(4) { animation: lock-in 6s ease-in-out infinite; animation-delay: 3.0s; }

@keyframes lock-in {
  0%, 18% {
    border-color: var(--text-dim);
    border-style: dashed;
    color: var(--text-dim);
    background: transparent;
  }
  22%, 92% {
    border-color: var(--accent);
    border-style: solid;
    color: var(--accent);
    background: rgba(198, 242, 78, 0.04);
  }
  100% {
    border-color: var(--text-dim);
    border-style: dashed;
    color: var(--text-dim);
    background: transparent;
  }
}

.hero-probe__foot {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.hero-probe__foot .scan-status {
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 6px;
}
.hero-probe__foot .scan-status::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent);
  animation: pulse 1.4s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1.2fr 1fr; gap: clamp(20px, 3vw, 48px); }
  .hero-probe { min-height: clamp(360px, 50vh, 540px); }
}
@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 130px;
    padding-bottom: 56px;
  }
  .hero-probe { min-height: 360px; }
}
@media (max-width: 700px) {
  .hero h1 { font-size: clamp(48px, 13vw, 80px); max-width: 12ch; }
  .hero h1 .line:nth-child(2) { padding-left: 0; }
  .hero__sub { font-size: 16px; }
  .hero-probe { min-height: 320px; }
}

/* ---------- 6. Section base ---------- */
section { position: relative; }
.section {
  padding: clamp(80px, 11vw, 160px) var(--gutter);
  border-top: 1px solid var(--border);
}
.section--surface { background: var(--bg-2); }

.section__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: clamp(24px, 5vw, 80px);
  margin-bottom: clamp(48px, 7vw, 96px);
  align-items: end;
}
.section__head h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  line-height: var(--lh-snug);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-wrap: balance;
  max-width: 18ch;
}
@media (max-width: 900px) {
  .section__head { grid-template-columns: 1fr; }
}

/* ---------- 7. Problem (stats) ---------- */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--border-strong);
}
.stat {
  padding: clamp(32px, 4vw, 56px) clamp(20px, 3vw, 40px);
  border-bottom: 1px solid var(--border-strong);
  border-right: 1px solid var(--border-strong);
}
.stat:nth-child(3n) { border-right: 0; }
.stat__value {
  font-family: var(--font-display);
  font-size: clamp(56px, 7vw, 110px);
  line-height: 0.95;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--accent);
  margin-bottom: 12px;
}
.stat__label {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text);
  margin-bottom: 14px;
}
.stat__body {
  font-size: 15px; line-height: 1.5;
  color: var(--text-muted);
  max-width: 30ch;
}
@media (max-width: 900px) {
  .stats-grid { grid-template-columns: 1fr; }
  .stat { border-right: 0; }
}

/* ---------- 8. How it works (3 steps) ---------- */
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--border-strong);
}
.step {
  padding: clamp(32px, 4vw, 56px) clamp(20px, 3vw, 40px);
  border-right: 1px solid var(--border-strong);
  position: relative;
}
.step:nth-child(3n) { border-right: 0; }
.step__num {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 24px;
  display: inline-flex; align-items: center; gap: 10px;
}
.step__num::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(198, 242, 78, 0.5);
}
.step__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 500;
  letter-spacing: -0.015em;
  margin-bottom: 16px;
  line-height: 1.15;
}
.step__body {
  font-size: 15px; line-height: 1.55;
  color: var(--text-muted);
  max-width: 36ch;
}
@media (max-width: 900px) {
  .steps { grid-template-columns: 1fr; }
  .step { border-right: 0; border-bottom: 1px solid var(--border-strong); }
}

/* ---------- 9. Features (vertical tabs) ---------- */
.features-tabs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
}
.feature-list {
  display: flex; flex-direction: column;
  border-left: 1px solid var(--border-strong);
}
.feature-item {
  padding: 18px 0 18px 24px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  position: relative;
}
.feature-item:last-child { border-bottom: 0; }
.feature-item::before {
  content: "";
  position: absolute;
  left: -1px; top: 0; bottom: 0;
  width: 2px;
  background: transparent;
  transition: background var(--t-fast);
}
.feature-item.is-active::before { background: var(--accent); }
.feature-item__title {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 500;
  color: var(--text-muted);
  letter-spacing: -0.005em;
  transition: color var(--t-fast);
}
.feature-item.is-active .feature-item__title { color: var(--text); }
.feature-item__body {
  font-size: 14px; line-height: 1.55;
  color: var(--text-muted);
  margin-top: 8px;
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--t-med);
}
.feature-item.is-active .feature-item__body { max-height: 200px; }

.feature-preview {
  position: sticky;
  top: 120px;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-dim);
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.45) 1px, transparent 1px);
  background-size: 24px 24px;
}
@media (max-width: 1000px) {
  .features-tabs { grid-template-columns: 1fr; }
  .feature-preview { display: none; }
}

/* ---------- 10. Enterprise grid (icons) ---------- */
.ent-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
}
.ent-item {
  padding: clamp(28px, 3vw, 42px);
  background: var(--bg);
}
.ent-item__title {
  font-family: var(--font-display);
  font-size: 17px; font-weight: 500;
  margin-bottom: 10px;
  color: var(--text);
  display: flex; align-items: center; gap: 10px;
}
.ent-item__title::before {
  content: ""; width: 6px; height: 6px;
  background: var(--accent);
  border-radius: 50%;
}
.ent-item__body {
  font-size: 14px; line-height: 1.5;
  color: var(--text-muted);
}
@media (max-width: 900px) { .ent-grid { grid-template-columns: 1fr; } }

/* ---------- 11. Pricing teaser ---------- */
.pricing-teaser {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.5vw, 20px);
  margin-top: clamp(40px, 5vw, 64px);
}
.tier-mini {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface);
  display: flex; flex-direction: column;
  gap: 12px;
}
.tier-mini__name {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.tier-mini__price {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--text);
  line-height: 1;
}
.tier-mini__price small {
  font-size: 13px;
  font-weight: 400;
  color: var(--text-muted);
  letter-spacing: 0;
}
.tier-mini__audience {
  font-size: 14px;
  color: var(--text-muted);
}
@media (max-width: 900px) { .pricing-teaser { grid-template-columns: 1fr; } }

/* ---------- 12. FAQ accordion — premium interactive ---------- */
.faq {
  display: flex; flex-direction: column;
  max-width: 960px;
  margin: 0 auto;
  counter-reset: faq-counter;
}
.faq-item {
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.faq-item:hover { border-color: var(--text-dim); }
.faq-item[open] {
  border-color: var(--accent);
  background: rgba(198, 242, 78, 0.02);
}
.faq-item summary {
  list-style: none;
  display: flex; align-items: center;
  gap: 20px;
  padding: 22px 24px;
  font-family: var(--font-display);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  transition: color var(--t-fast);
  counter-increment: faq-counter;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before {
  content: counter(faq-counter, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--text-dim);
  flex-shrink: 0;
  width: 28px;
  transition: color var(--t-fast);
}
.faq-item[open] summary::before { color: var(--accent); }
.faq-item summary::after {
  content: "+";
  font-family: var(--font-mono);
  font-size: 20px; font-weight: 300;
  color: var(--accent);
  flex-shrink: 0;
  margin-left: auto;
  width: 28px;
  height: 28px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  transition: transform var(--t-fast), background var(--t-fast), border-color var(--t-fast);
}
.faq-item[open] summary::after {
  content: "−";
  background: var(--accent);
  color: var(--bg);
  border-color: var(--accent);
  transform: rotate(90deg);
}
.faq-item summary:hover { color: var(--accent); }
.faq-item summary:hover::after { border-color: var(--accent); }
.faq-item__body {
  padding: 0 24px 24px 72px;
  font-size: 15px; line-height: 1.6;
  color: var(--text-muted);
  max-width: 60ch;
}
@media (max-width: 700px) {
  .faq-item__body { padding-left: 24px; }
}

/* ---------- 13. Final CTA band — left-aligned ---------- */
.cta-band {
  padding: clamp(100px, 14vh, 180px) 0;
  text-align: left;
  border-top: 1px solid var(--border);
  background: var(--bg-2);
}
.cta-band .wrap {
  max-width: var(--max);
  margin: 0 auto;
}
.cta-band .eyebrow {
  margin-bottom: 32px;
}
.cta-band h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 80px);
  line-height: 0.95;
  letter-spacing: -0.035em;
  font-weight: 500;
  text-wrap: balance;
  max-width: 18ch;
  margin: 0 0 24px;
}
.cta-band__sub {
  font-size: var(--fs-lead);
  color: var(--text-muted);
  max-width: 52ch;
  margin: 0 0 36px;
}
.cta-band__actions {
  display: flex; gap: 12px; flex-wrap: wrap;
}

/* ---------- 14. Footer ---------- */
.site-footer {
  background: var(--bg);
  border-top: 1px solid var(--border-strong);
  padding: clamp(56px, 8vw, 96px) var(--gutter) 32px;
}
.site-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
  margin-bottom: 56px;
}
.site-footer__brand {
  display: flex; flex-direction: column; gap: 16px;
}
.site-footer__tagline {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.6vw, 26px);
  font-weight: 500;
  letter-spacing: -0.01em;
  max-width: 14ch;
  color: var(--text);
  line-height: 1.2;
}
.site-footer__col h4 {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 18px;
}
.site-footer__col a {
  display: block;
  padding: 6px 0;
  font-size: 14px;
  color: var(--text);
}
.site-footer__col a:hover { color: var(--accent); }
.site-footer__bottom {
  display: flex; justify-content: space-between; align-items: center;
  gap: 24px; flex-wrap: wrap;
  padding-top: 32px;
  border-top: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
}
.site-footer__bottom a:hover { color: var(--accent); }
@media (max-width: 1000px) {
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .site-footer__top { grid-template-columns: 1fr; }
}

/* ---------- 15. Page header (non-home) ---------- */
.page-head {
  position: relative;
  padding: clamp(160px, 22vh, 260px) var(--gutter) clamp(56px, 8vh, 110px);
  border-bottom: 1px solid var(--border);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: clamp(24px, 5vw, 80px);
  align-items: end;
}
.page-head__index {
  display: flex; flex-direction: column;
  gap: 14px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.page-head__index strong { color: var(--accent); font-weight: 500; }
.page-head h1 {
  font-family: var(--font-display);
  font-size: clamp(40px, 7vw, 124px);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 500;
  text-wrap: balance;
}
.page-head__lead {
  margin-top: 24px;
  font-size: clamp(18px, 1.4vw, 24px);
  color: var(--text-muted);
  max-width: 56ch;
}
@media (max-width: 900px) {
  .page-head { grid-template-columns: 1fr; }
}

/* ---------- 16. About page ---------- */
.manifesto-block {
  padding: clamp(60px, 9vw, 140px) var(--gutter);
  border-top: 1px solid var(--border);
  background: var(--bg-2);
}
.manifesto-block__inner {
  max-width: 920px; margin: 0 auto;
}
.manifesto-block h2 {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 32px;
  font-weight: 500;
}
.manifesto-block p {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.45;
  letter-spacing: -0.015em;
  color: var(--text);
  font-weight: 400;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  margin-top: clamp(48px, 6vw, 80px);
}
.value-card {
  padding: clamp(28px, 3vw, 42px);
  background: var(--bg);
}
.value-card h3 {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 500;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
  color: var(--text);
}
.value-card p {
  font-size: 14px; line-height: 1.55;
  color: var(--text-muted);
}
@media (max-width: 700px) { .values-grid { grid-template-columns: 1fr; } }

.founder-card {
  margin-top: clamp(48px, 6vw, 80px);
  padding: clamp(32px, 5vw, 56px);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface);
  max-width: 720px;
  margin-left: auto; margin-right: auto;
  text-align: center;
}
.founder-card .quote {
  font-family: var(--font-display);
  font-size: clamp(18px, 1.5vw, 22px);
  font-style: italic;
  line-height: 1.5;
  color: var(--text);
  margin-bottom: 18px;
}
.founder-card .role {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}

/* ---------- 17. Pricing page ---------- */
.pricing-toggle {
  display: inline-flex;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  padding: 4px;
  margin: 0 auto clamp(32px, 4vw, 48px);
}
.pricing-toggle button {
  padding: 10px 22px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 13px; font-weight: 500;
  color: var(--text-muted);
  transition: background var(--t-fast), color var(--t-fast);
}
.pricing-toggle button.is-active {
  background: var(--accent);
  color: var(--bg);
}

.currency-toggle {
  display: inline-flex;
  margin-left: 12px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  padding: 4px;
}
.currency-toggle button {
  padding: 10px 14px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px; font-weight: 500; letter-spacing: .08em;
  color: var(--text-muted);
}
.currency-toggle button.is-active {
  background: var(--accent);
  color: var(--bg);
}

.pricing-controls {
  display: flex; justify-content: center; align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 auto clamp(32px, 4vw, 48px);
}

.tier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}
.tier {
  padding: clamp(32px, 4vw, 48px);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  background: var(--surface);
  display: flex; flex-direction: column;
  gap: 24px;
  position: relative;
}
.tier.is-highlight {
  border-color: var(--accent);
  background: linear-gradient(180deg, rgba(198, 242, 78, 0.04) 0%, var(--surface) 80%);
  transform: scale(1.02);
}
.tier__highlight-label {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: var(--accent);
  color: var(--bg);
  padding: 4px 14px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 600;
}
.tier__name {
  font-family: var(--font-display);
  font-size: 20px; font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--text);
}
.tier__audience {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 4px;
}
.tier__price {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--text);
  display: flex; align-items: baseline; gap: 6px;
}
.tier__price .currency { font-size: 0.5em; font-weight: 500; color: var(--text-muted); letter-spacing: 0; }
.tier__price .period { font-size: 14px; font-weight: 400; color: var(--text-muted); margin-left: 6px; letter-spacing: 0; }
.tier__billed {
  font-size: 13px;
  color: var(--text-muted);
}
.tier__features {
  display: flex; flex-direction: column;
  gap: 12px;
  border-top: 1px solid var(--border-strong);
  padding-top: 24px;
}
.tier__features li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 14px; line-height: 1.45;
  color: var(--text);
}
.tier__features li::before {
  content: "";
  width: 14px; height: 14px;
  margin-top: 4px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23C6F24E' stroke-width='2'><polyline points='3 8 7 12 13 4'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}
.tier__cta { margin-top: auto; }
.tier__cta-secondary {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
  text-align: center;
  margin-top: 8px;
}

@media (max-width: 1000px) {
  .tier-grid { grid-template-columns: 1fr; }
  .tier.is-highlight { transform: none; }
}

.compare-table {
  margin-top: clamp(80px, 10vw, 140px);
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  font-size: 14px;
}
.compare-table caption {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--text);
  text-align: left;
  margin-bottom: 32px;
}
.compare-table {
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  overflow: hidden;
}
.compare-table th, .compare-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid var(--border);
}
.compare-table thead th {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 500;
  color: var(--text-muted);
  text-align: center;
  padding: 24px 20px;
  background: var(--surface);
  border-bottom: 1px solid var(--border-strong);
}
.compare-table thead th:first-child {
  text-align: left;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim);
}
/* Highlight the Scale column (2nd data column = 3rd th/td) */
.compare-table th:nth-child(3),
.compare-table td:nth-child(3) {
  background: rgba(198, 242, 78, 0.03);
  border-left: 1px solid rgba(198, 242, 78, 0.12);
  border-right: 1px solid rgba(198, 242, 78, 0.12);
}
.compare-table thead th:nth-child(3) {
  color: var(--accent);
  font-weight: 600;
  background: rgba(198, 242, 78, 0.06);
  position: relative;
}
.compare-table thead th:nth-child(3)::after {
  content: "★";
  margin-left: 8px;
  font-size: 12px;
}
.compare-table th:first-child, .compare-table td:first-child {
  text-align: left;
  color: var(--text-muted);
  font-size: 14px;
}
.compare-table td {
  text-align: center;
  color: var(--text);
  font-size: 14px;
}
.compare-table tbody tr:hover td { background: var(--surface); }
.compare-table tbody tr:hover td:nth-child(3) { background: rgba(198, 242, 78, 0.06); }
.compare-table tbody tr:last-child td { border-bottom: 0; }

.guarantee {
  margin-top: clamp(48px, 6vw, 80px);
  padding: clamp(32px, 4vw, 48px);
  border: 1px solid var(--accent);
  border-radius: 12px;
  background: rgba(198, 242, 78, 0.04);
  text-align: center;
  max-width: 720px;
  margin-left: auto; margin-right: auto;
}
.guarantee h3 {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 500;
  color: var(--accent);
  margin-bottom: 12px;
  letter-spacing: -0.015em;
}
.guarantee p {
  color: var(--text);
  max-width: 56ch;
  margin: 0 auto;
}

/* ---------- 18. Contact page ---------- */
.contact-body {
  padding: clamp(60px, 9vw, 140px) var(--gutter);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: clamp(32px, 6vw, 96px);
}
.contact-aside h3 {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 18px;
}
.contact-aside ul li {
  padding: 14px 0;
  border-top: 1px solid var(--border);
  font-size: 14px; line-height: 1.5;
  color: var(--text);
  display: flex; align-items: flex-start; gap: 12px;
}
.contact-aside ul li::before {
  content: "→";
  color: var(--accent);
  font-family: var(--font-mono);
  flex-shrink: 0;
}
.contact-aside ul li:first-child { border-top: 0; }

.contact-direct {
  margin-top: 40px;
  padding: 28px;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: var(--surface);
}
.contact-direct h3 {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 18px;
}
.contact-block {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.contact-block:last-child { border-bottom: 0; }
.contact-block .label {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
}
.contact-block a, .contact-block span { font-size: 14px; color: var(--text); }
.contact-block a:hover { color: var(--accent); }

.contact-form h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-bottom: 32px;
}
.contact-form form { display: grid; gap: 24px; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 700px) { .row { grid-template-columns: 1fr; } }

.field { display: grid; gap: 8px; }
.field label {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
}
.field input, .field select, .field textarea {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  padding: 14px 16px;
  color: var(--text);
  outline: none;
  transition: border-color var(--t-fast);
  font-size: 15px;
  font-family: var(--font-body);
}
.field textarea { resize: vertical; min-height: 120px; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); }
.field select option { background: var(--surface); color: var(--text); }

.consent {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}
.consent input[type="checkbox"] {
  margin-top: 4px;
  accent-color: var(--accent);
}

.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }

.form-status {
  font-size: 14px;
  color: var(--text-muted);
  min-height: 1.2em;
}
.form-status[data-state="success"] { color: var(--accent); }
.form-status[data-state="error"] { color: var(--danger); }

@media (max-width: 900px) { .contact-body { grid-template-columns: 1fr; } }

/* ---------- 19. Legal pages ---------- */
.legal-body {
  padding: clamp(60px, 9vw, 140px) var(--gutter);
  max-width: 880px;
  margin: 0 auto;
}
.legal-body section { padding: 24px 0; border-top: 1px solid var(--border); }
.legal-body section:first-of-type { border-top: 0; padding-top: 0; }
.legal-body h2 {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 26px);
  margin-bottom: 12px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.legal-body p { color: var(--text); white-space: pre-wrap; }
.legal-body .updated {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 32px;
}

/* ---------- 20. 404 ---------- */
.not-found {
  min-height: 100vh; min-height: 100svh;
  display: grid; place-items: center; text-align: center;
  padding: 120px var(--gutter);
}
.not-found h1 {
  font-family: var(--font-display);
  font-size: clamp(80px, 18vw, 240px);
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 600;
  color: var(--accent);
}
.not-found p {
  color: var(--text-muted);
  margin: 18px auto 28px;
  max-width: 40ch;
}

/* ---------- 21. Reveal animations ---------- */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .9s ease, transform .9s ease; }
.reveal.is-in { opacity: 1; transform: none; }
.reveal.delay-1 { transition-delay: .08s; }
.reveal.delay-2 { transition-delay: .16s; }
.reveal.delay-3 { transition-delay: .24s; }
.reveal.delay-4 { transition-delay: .32s; }

/* ---------- 22. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .brand-led:nth-child(1), .brand-led:nth-child(2), .brand-led:nth-child(3) { animation: none; background: var(--accent); }
  .probe-scanbar { animation: none; opacity: 0; }
  .probe-template .probe-zone { border-color: var(--accent); border-style: solid; color: var(--accent); }
}

/* ---------- 23. Focus ---------- */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ============================================================
   24. PILOT 002 — Premium micro-interactions
   ============================================================ */

/* ---------- 24.1 Page enter ---------- */
@keyframes page-enter {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}
main { animation: page-enter .7s ease both; }

/* ---------- 24.2 Scroll progress bar ---------- */
.scroll-progress {
  position: fixed; top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: var(--accent);
  z-index: 200;
  box-shadow: 0 0 12px rgba(198, 242, 78, 0.6);
  transition: width .08s linear;
  pointer-events: none;
}

/* ---------- 24.3 Cursor blob (desktop only) ---------- */
.cursor-blob {
  position: fixed;
  top: 0; left: 0;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--accent);
  mix-blend-mode: difference;
  pointer-events: none;
  z-index: 999;
  transform: translate(-50%, -50%);
  transition: width .25s ease, height .25s ease, opacity .2s ease;
  opacity: 0;
  will-change: transform;
}
.cursor-blob.is-visible { opacity: 0.8; }
.cursor-blob.is-link { width: 56px; height: 56px; opacity: 1; }
.cursor-blob.is-text { width: 4px; height: 28px; border-radius: 0; }
@media (pointer: coarse), (max-width: 1000px) {
  .cursor-blob { display: none; }
}

/* ---------- 24.4 Magnetic buttons ---------- */
.btn.magnetic {
  position: relative;
  will-change: transform;
}

/* ---------- 24.5 Word stagger reveal ---------- */
.stagger-words {
  display: inline-block;
}
.stagger-words .word {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.6em);
  filter: blur(6px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease;
}
.stagger-words.is-in .word { opacity: 1; transform: none; filter: blur(0); }
.stagger-words.is-in .word:nth-child(1) { transition-delay: 0.00s; }
.stagger-words.is-in .word:nth-child(2) { transition-delay: 0.06s; }
.stagger-words.is-in .word:nth-child(3) { transition-delay: 0.12s; }
.stagger-words.is-in .word:nth-child(4) { transition-delay: 0.18s; }
.stagger-words.is-in .word:nth-child(5) { transition-delay: 0.24s; }
.stagger-words.is-in .word:nth-child(6) { transition-delay: 0.30s; }
.stagger-words.is-in .word:nth-child(7) { transition-delay: 0.36s; }
.stagger-words.is-in .word:nth-child(8) { transition-delay: 0.42s; }
.stagger-words.is-in .word:nth-child(9) { transition-delay: 0.48s; }
.stagger-words.is-in .word:nth-child(n+10) { transition-delay: 0.54s; }

/* ---------- 24.6 Card hover lift + accent line ---------- */
.stat, .step, .ent-item, .value-card, .feature-item {
  position: relative;
  transition: transform var(--t-fast), background var(--t-fast);
}
.stat::after, .step::after, .ent-item::after, .value-card::after {
  content: "";
  position: absolute;
  left: 0; right: 100%;
  bottom: 0;
  height: 1px;
  background: var(--accent);
  transition: right var(--t-med);
}
.stat:hover::after, .step:hover::after, .ent-item:hover::after, .value-card:hover::after {
  right: 0;
}
.stat:hover, .step:hover, .ent-item:hover, .value-card:hover {
  background: var(--surface);
}
.tier {
  transition: transform var(--t-med), border-color var(--t-med), background var(--t-med);
}
.tier:not(.is-highlight):hover {
  transform: translateY(-4px);
  border-color: var(--text-muted);
}
.tier.is-highlight:hover {
  transform: scale(1.04) translateY(-4px);
}

/* Tier highlight glow that follows cursor */
.tier.is-highlight {
  position: relative;
  overflow: hidden;
}
.tier.is-highlight::before {
  content: "";
  position: absolute;
  top: var(--mouse-y, 50%); left: var(--mouse-x, 50%);
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(198, 242, 78, 0.15) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--t-med);
}
.tier.is-highlight:hover::before { opacity: 1; }
.tier.is-highlight > * { position: relative; z-index: 1; }

/* ---------- 24.7 Animated text underlines ---------- */
a.text-link {
  position: relative;
  display: inline-block;
  border-bottom: 0;
  padding-bottom: 2px;
}
a.text-link::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform-origin: right;
  transform: scaleX(1);
  transition: transform .3s ease, color .2s ease;
}
a.text-link:hover::after {
  transform-origin: left;
  animation: underline-swap .5s ease forwards;
}
@keyframes underline-swap {
  0%   { transform-origin: right; transform: scaleX(1); }
  49%  { transform-origin: right; transform: scaleX(0); }
  50%  { transform-origin: left; transform: scaleX(0); background: var(--accent); }
  100% { transform-origin: left; transform: scaleX(1); background: var(--accent); }
}

/* ---------- 24.8 Pricing toggle sliding pill ---------- */
.pricing-toggle, .currency-toggle {
  position: relative;
}
.pricing-toggle::before, .currency-toggle::before {
  content: "";
  position: absolute;
  top: 4px; left: 4px;
  height: calc(100% - 8px);
  background: var(--accent);
  border-radius: 999px;
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), width .35s cubic-bezier(.2, .7, .2, 1);
  pointer-events: none;
  z-index: 0;
}
.pricing-toggle button, .currency-toggle button {
  position: relative;
  z-index: 1;
  background: transparent;
}
.pricing-toggle button.is-active, .currency-toggle button.is-active {
  background: transparent;
}

/* ---------- 24.9 Comparison table row reveal ---------- */
.compare-table tbody tr {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity .5s ease, transform .5s ease;
}
.compare-table.is-in tbody tr { opacity: 1; transform: none; }
.compare-table.is-in tbody tr:nth-child(1) { transition-delay: 0.00s; }
.compare-table.is-in tbody tr:nth-child(2) { transition-delay: 0.04s; }
.compare-table.is-in tbody tr:nth-child(3) { transition-delay: 0.08s; }
.compare-table.is-in tbody tr:nth-child(4) { transition-delay: 0.12s; }
.compare-table.is-in tbody tr:nth-child(5) { transition-delay: 0.16s; }
.compare-table.is-in tbody tr:nth-child(6) { transition-delay: 0.20s; }
.compare-table.is-in tbody tr:nth-child(7) { transition-delay: 0.24s; }
.compare-table.is-in tbody tr:nth-child(8) { transition-delay: 0.28s; }
.compare-table.is-in tbody tr:nth-child(9) { transition-delay: 0.32s; }
.compare-table.is-in tbody tr:nth-child(10) { transition-delay: 0.36s; }

/* ---------- 24.10 Form field focus animations ---------- */
.field {
  position: relative;
}
.field input, .field select, .field textarea {
  position: relative;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.field input:focus, .field select:focus, .field textarea:focus {
  background: var(--surface-2);
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px rgba(198, 242, 78, 0.12);
}
.field label {
  transition: color .25s ease, transform .25s ease;
}
.field:focus-within label {
  color: var(--accent);
  transform: translateX(2px);
}

/* Submit button progress state */
.contact-form button[type="submit"] {
  position: relative;
  overflow: hidden;
}
.contact-form button[type="submit"]:disabled::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  height: 2px;
  width: 100%;
  background: var(--bg);
  animation: btn-progress 1.5s ease-in-out infinite;
  transform-origin: left;
}
@keyframes btn-progress {
  0% { transform: scaleX(0); transform-origin: left; }
  50% { transform: scaleX(1); transform-origin: left; }
  51% { transform: scaleX(1); transform-origin: right; }
  100% { transform: scaleX(0); transform-origin: right; }
}

/* ---------- 24.11 Aside items reveal ---------- */
.contact-aside ul li {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity .5s ease, transform .5s ease;
}
.contact-aside.is-in ul li { opacity: 1; transform: none; }
.contact-aside.is-in ul li:nth-child(1) { transition-delay: 0.00s; }
.contact-aside.is-in ul li:nth-child(2) { transition-delay: 0.08s; }
.contact-aside.is-in ul li:nth-child(3) { transition-delay: 0.16s; }
.contact-aside.is-in ul li:nth-child(4) { transition-delay: 0.24s; }
.contact-aside.is-in ul li:nth-child(5) { transition-delay: 0.32s; }

/* ---------- 24.12 About sticky section progress (left margin dots) ---------- */
.about-progress {
  position: fixed;
  top: 50%;
  left: clamp(16px, 2vw, 32px);
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 50;
  opacity: 0;
  transition: opacity .4s ease;
}
.about-progress.is-visible { opacity: 1; }
.about-progress__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--text-dim);
  transition: background .3s ease, transform .3s ease;
  position: relative;
}
.about-progress__dot.is-active {
  background: var(--accent);
  transform: scale(1.4);
  box-shadow: 0 0 12px rgba(198, 242, 78, 0.6);
}
.about-progress__dot::before {
  content: attr(data-label);
  position: absolute;
  left: 18px; top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.about-progress__dot:hover::before,
.about-progress__dot.is-active::before { opacity: 1; }
@media (max-width: 1280px) { .about-progress { display: none; } }

/* ---------- 24.13 Manifesto paragraph reveal (line by line) ---------- */
.manifesto-block p {
  font-size: clamp(20px, 1.8vw, 30px);
  line-height: 1.5;
  letter-spacing: -0.015em;
}
.manifesto-block p .ml-line {
  display: block;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .8s ease, transform .8s ease;
}
.manifesto-block p.is-in .ml-line { opacity: 1; transform: none; }
.manifesto-block p.is-in .ml-line:nth-child(1) { transition-delay: 0.00s; }
.manifesto-block p.is-in .ml-line:nth-child(2) { transition-delay: 0.05s; }
.manifesto-block p.is-in .ml-line:nth-child(3) { transition-delay: 0.10s; }
.manifesto-block p.is-in .ml-line:nth-child(4) { transition-delay: 0.15s; }
.manifesto-block p.is-in .ml-line:nth-child(5) { transition-delay: 0.20s; }
.manifesto-block p.is-in .ml-line:nth-child(n+6) { transition-delay: 0.25s; }

/* ---------- 24.14 Founder card subtle floating ---------- */
@keyframes founder-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.founder-card {
  animation: founder-float 6s ease-in-out infinite;
}

/* ---------- 24.15 Brand wordmark hover state — accelerate LEDs ---------- */
.brand:hover .brand-led {
  animation-duration: 0.9s !important;
}

/* ---------- 24.16 Probe canvas hover — accelerate scan ---------- */
.hero-probe:hover .probe-scanbar { animation-duration: 2s; }
.hero-probe:hover .probe-template .probe-zone { animation-duration: 2s; }

/* ---------- 24.17 Section number badges (sticky on About) ---------- */
.section-badge {
  position: absolute;
  top: clamp(40px, 6vh, 80px);
  right: clamp(20px, 3vw, 48px);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}
.section-badge::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(198, 242, 78, 0.5);
}

/* ---------- 24.18 Stat counter (numbers count up) ---------- */
.stat__value[data-counted="false"] { opacity: 0.4; }
.stat__value[data-counted="true"] { opacity: 1; transition: opacity .5s ease; }

/* ---------- 24.19 Reveal vars on cursor for tier glow ---------- */
.tier { --mouse-x: 50%; --mouse-y: 50%; }

/* ---------- 24.20 Pricing toggle initial position ---------- */
.pricing-toggle, .currency-toggle {
  position: relative;
}

/* ---------- 24.21 Animated arrow in primary buttons ---------- */
.btn--primary .arrow {
  display: inline-flex;
  width: 18px;
  height: 12px;
  position: relative;
}
.btn--primary .arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1.5px;
  background: currentColor;
  transform: translateY(-50%);
  transform-origin: right;
  transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.btn--primary .arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn--primary:hover .arrow::before {
  animation: arrow-shoot .5s cubic-bezier(.2, .7, .2, 1);
}
@keyframes arrow-shoot {
  0%   { transform: translateY(-50%) scaleX(1); transform-origin: right; }
  50%  { transform: translateY(-50%) scaleX(0); transform-origin: right; }
  51%  { transform: translateY(-50%) scaleX(0); transform-origin: left; }
  100% { transform: translateY(-50%) scaleX(1); transform-origin: left; }
}

/* ---------- 24.22 Reduced motion override for new effects ---------- */
@media (prefers-reduced-motion: reduce) {
  main { animation: none; }
  .scroll-progress { display: none; }
  .cursor-blob { display: none !important; }
  .stagger-words .word { opacity: 1; transform: none; filter: none; }
  .compare-table tbody tr { opacity: 1; transform: none; }
  .contact-aside ul li { opacity: 1; transform: none; }
  .manifesto-block p .ml-line { opacity: 1; transform: none; }
  .founder-card { animation: none; }
}


/* ============================================================
   25. PILOT 002 — Bespoke page sections
   ============================================================ */

/* ---------- 25.1 Editorial hero (about page) ---------- */
.editorial-hero {
  position: relative;
  padding: clamp(140px, 18vh, 220px) var(--gutter) clamp(80px, 10vh, 140px);
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--border);
}

.editorial-hero__inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(40px, 6vw, 100px);
  align-items: end;
  max-width: var(--max);
  margin: 0 auto;
}
.editorial-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(56px, 8vw, 156px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  font-weight: 600;
  text-wrap: balance;
  color: var(--text);
  max-width: 16ch;
}
.editorial-hero h1 em {
  color: var(--accent);
  font-style: italic;
  font-weight: 400;
}
.editorial-hero__meta {
  display: flex; flex-direction: column; gap: 24px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.editorial-hero__meta strong { color: var(--accent); display: block; font-weight: 500; }
.editorial-hero__lead {
  margin-top: 32px;
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.45;
  color: var(--text-muted);
  max-width: 56ch;
}
@media (max-width: 1000px) {
  .editorial-hero__inner { grid-template-columns: 1fr; gap: 40px; }
}

/* ---------- 25.2 3-act timeline (About page) ---------- */
.timeline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--border-strong);
  border-bottom: 1px solid var(--border-strong);
}
.timeline__act {
  padding: clamp(48px, 6vw, 96px) clamp(28px, 3vw, 56px);
  border-right: 1px solid var(--border-strong);
  position: relative;
  transition: background var(--t-med);
}
.timeline__act:nth-child(3n) { border-right: 0; }
.timeline__act:hover { background: var(--surface); }
.timeline__act:hover .timeline__num { color: var(--accent); }
.timeline__num {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 24px;
  transition: color var(--t-fast);
}
.timeline__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
  margin-bottom: 24px;
  color: var(--text);
  max-width: 14ch;
}
.timeline__body {
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-muted);
  max-width: 40ch;
}
.timeline__act::after {
  content: "";
  position: absolute;
  top: 50%; right: -8px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--bg);
  border: 1px solid var(--border-strong);
  transform: translateY(-50%);
  z-index: 2;
}
.timeline__act:nth-child(3)::after { display: none; }
.timeline__act:hover::after { border-color: var(--accent); background: var(--accent); }
@media (max-width: 1000px) {
  .timeline { grid-template-columns: 1fr; }
  .timeline__act { border-right: 0; border-bottom: 1px solid var(--border-strong); }
  .timeline__act::after { display: none; }
}

/* ---------- 25.3 Bento values grid (About page) ---------- */
.bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(180px, auto);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  overflow: hidden;
}
.bento__cell {
  background: var(--bg);
  padding: clamp(28px, 3vw, 44px);
  display: flex; flex-direction: column; justify-content: space-between;
  position: relative;
  transition: background var(--t-med);
}
.bento__cell:hover { background: var(--surface); }
.bento__cell--lg { grid-column: span 2; grid-row: span 2; }
.bento__cell--md { grid-column: span 2; }
.bento__num {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
}
.bento__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 16px 0 12px;
  color: var(--text);
}
.bento__cell--lg .bento__title { font-size: clamp(28px, 2.4vw, 40px); }
.bento__body {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
}
.bento__cell--lg .bento__body { font-size: 16px; max-width: 38ch; }
@media (max-width: 1000px) {
  .bento { grid-template-columns: 1fr; }
  .bento__cell--lg, .bento__cell--md { grid-column: span 1; grid-row: auto; }
}

/* ---------- 25.4 Founder card with signature (About page) ---------- */
.founder-block {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding: clamp(60px, 8vw, 120px) var(--gutter);
  border-top: 1px solid var(--border);
  max-width: 880px;
  margin: 0 auto;
}
.founder-block__avatar {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  color: var(--accent);
  position: relative;
  overflow: visible;
}
.founder-block__avatar::after {
  content: "";
  position: absolute; inset: -6px;
  border: 2px solid var(--accent);
  border-top-color: transparent;
  border-radius: 50%;
  opacity: 0.5;
  animation: founder-rotate 8s linear infinite;
}
.founder-block__avatar {
  box-shadow: 0 0 48px rgba(198, 242, 78, 0.12);
}
@keyframes founder-rotate { to { transform: rotate(360deg); } }
.founder-block__quote {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.45;
  letter-spacing: -0.015em;
  color: var(--text);
  font-style: italic;
  font-weight: 400;
  margin-bottom: 24px;

}
.founder-block__signature {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 22px;
  color: var(--accent);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.founder-block__role {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
@media (max-width: 800px) {
  .founder-block { flex-direction: column; align-items: center; text-align: center; }
}

/* ---------- 25.5 Big-number hero (Pricing page) ---------- */
.bignum-hero {
  position: relative;
  padding: clamp(140px, 18vh, 220px) var(--gutter) clamp(60px, 8vh, 110px);
  overflow: hidden;
  border-bottom: 1px solid var(--border);
  isolation: isolate;
}
.bignum-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.4) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 70% 50%, #000 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 70% 50%, #000 0%, transparent 80%);
  z-index: 0; pointer-events: none;
}
.bignum-hero__inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
  max-width: var(--max);
  margin: 0 auto;
}
.bignum {
  font-family: var(--font-display);
  font-size: clamp(120px, 18vw, 280px);
  line-height: 0.85;
  letter-spacing: -0.05em;
  font-weight: 600;
  color: var(--accent);
  display: flex; align-items: flex-start;
}
.bignum sup {
  font-size: 0.4em;
  font-weight: 500;
  color: var(--text-muted);
  margin-left: 8px;
  margin-top: 0.2em;
}
.bignum sub {
  font-size: 0.18em;
  font-weight: 400;
  color: var(--text-muted);
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-left: 12px;
  margin-top: 1.5em;
  display: inline-block;
  vertical-align: bottom;
}
.bignum-hero__right h1 {
  font-family: var(--font-display);
  font-size: clamp(32px, 3.5vw, 56px);
  line-height: 1;
  letter-spacing: -0.025em;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 24px;
  text-wrap: balance;
}
.bignum-hero__right p {
  font-size: var(--fs-lead);
  color: var(--text-muted);
  margin-bottom: 32px;
  max-width: 48ch;
}
@media (max-width: 1000px) {
  .bignum-hero__inner { grid-template-columns: 1fr; gap: 32px; }
  .bignum { font-size: clamp(80px, 22vw, 180px); }
}

/* ---------- 25.6 Competitor comparison strip (Pricing) ---------- */
.competitors {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  overflow: hidden;
}
.competitor {
  display: grid;
  grid-template-columns: 200px 180px 1fr;
  gap: clamp(16px, 2vw, 32px);
  align-items: center;
  padding: clamp(20px, 2.5vw, 32px) clamp(24px, 3vw, 40px);
  border-bottom: 1px solid var(--border);
  text-align: left;
  transition: background var(--t-fast);
}
.competitor:last-child { border-bottom: 0; }
.competitor:hover { background: var(--surface); }
.competitor__name {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.2vw, 20px);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 0;
}
.competitor__verdict {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.competitor__verdict::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--danger);
  flex-shrink: 0;
}
.competitor__verdict.is-yes { color: var(--accent); }
.competitor__verdict.is-yes::before { background: var(--accent); box-shadow: 0 0 8px rgba(198, 242, 78, 0.5); }
.competitor__verdict.is-no { color: var(--danger); }
.competitor__verdict.is-no::before { background: var(--danger); }
.competitor__body {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}
.competitor.is-us {
  background: rgba(198, 242, 78, 0.03);
  border-bottom: 0;
}
.competitor.is-us .competitor__name { color: var(--accent); font-weight: 600; }
@media (max-width: 900px) {
  .competitor {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* ---------- 25.7 Use cases (Pricing) ---------- */
.usecases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  overflow: hidden;
}
.usecase {
  background: var(--bg);
  padding: clamp(32px, 3.5vw, 48px);
  display: flex; flex-direction: column; gap: 16px;
  transition: background var(--t-med);
}
.usecase:hover { background: var(--surface); }
.usecase__tag {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 8px;
  align-self: flex-start;
  padding: 6px 12px;
  border: 1px solid var(--accent);
  border-radius: 999px;
}
.usecase__tier {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
}
.usecase__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.15;
  color: var(--text);
}
.usecase__body {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
}
.usecase__quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  color: var(--text);
  border-left: 2px solid var(--accent);
  padding-left: 14px;
  margin-top: auto;
}
@media (max-width: 900px) { .usecases { grid-template-columns: 1fr; } }

/* ---------- 25.8 ROI calculator (Pricing) ---------- */
.roi-calc {
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  background: var(--surface);
  padding: clamp(32px, 4vw, 56px);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
}
.roi-calc__inputs {
  display: flex; flex-direction: column; gap: 28px;
}
.roi-calc__field label {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.roi-calc__field label strong {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.roi-calc__field input[type="range"] {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  height: 4px;
  background: var(--border-strong);
  border-radius: 2px;
  outline: none;
  border: 0;
  padding: 0;
}
.roi-calc__field input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px; height: 20px;
  background: var(--accent);
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid var(--bg);
  box-shadow: 0 0 12px rgba(198, 242, 78, 0.5);
}
.roi-calc__field input[type="range"]::-moz-range-thumb {
  width: 20px; height: 20px;
  background: var(--accent);
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid var(--bg);
}
.roi-calc__output {
  text-align: center;
  padding: clamp(28px, 3vw, 48px);
  border: 1px solid var(--accent);
  border-radius: 12px;
  background: rgba(198, 242, 78, 0.04);
}
.roi-calc__output-label {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.roi-calc__output-value {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--accent);
}
.roi-calc__output-value small {
  font-size: 0.4em;
  color: var(--text-muted);
  font-weight: 400;
  margin-left: 4px;
}
.roi-calc__output-sub {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 12px;
}
@media (max-width: 900px) { .roi-calc { grid-template-columns: 1fr; } }

/* ---------- 25.9 Contact 3-channel hero ---------- */
.contact-channels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border-top: 1px solid var(--border-strong);
  border-bottom: 1px solid var(--border-strong);
}
.channel {
  background: var(--bg);
  padding: clamp(40px, 5vw, 72px) clamp(28px, 3vw, 48px);
  display: flex; flex-direction: column; gap: 20px;
  text-align: left;
  position: relative;
  transition: background var(--t-med);
}
.channel:hover { background: var(--surface); }
.channel__num {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
}
.channel__icon {
  width: 48px; height: 48px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
  transition: background var(--t-fast);
}
.channel:hover .channel__icon { background: rgba(198, 242, 78, 0.08); }
.channel__icon svg { width: 22px; height: 22px; stroke: var(--accent); fill: none; stroke-width: 1.6; }
.channel__title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.15;
  color: var(--text);
}
.channel__body {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
  flex: 1;
}
.channel__action {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--accent);
  transition: gap var(--t-fast);
}
.channel:hover .channel__action { gap: 14px; }
@media (max-width: 900px) { .contact-channels { grid-template-columns: 1fr; } }

/* ---------- 25.10 What happens next timeline (Contact) ---------- */
.next-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  margin-top: clamp(48px, 6vw, 80px);
}
.next-timeline::before {
  content: "";
  position: absolute;
  top: 24px; left: 12.5%; right: 12.5%;
  height: 1px;
  background: var(--border-strong);
}
.next-step {
  text-align: center;
  padding: 0 16px;
  position: relative;
}
.next-step__circle {
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 1px solid var(--border-strong);
  background: var(--bg);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--accent);
  margin: 0 auto 24px;
  position: relative;
  z-index: 1;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.next-step:hover .next-step__circle {
  border-color: var(--accent);
  background: rgba(198, 242, 78, 0.08);
}
.next-step__title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--text);
}
.next-step__body {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
}
@media (max-width: 800px) {
  .next-timeline { grid-template-columns: 1fr 1fr; gap: 32px; }
  .next-timeline::before { display: none; }
}

/* ---------- 25.11 Procurement badges row ---------- */
.proc-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  overflow: hidden;
  margin-top: clamp(32px, 4vw, 56px);
}
.proc-badge {
  background: var(--bg);
  padding: clamp(20px, 2.5vw, 32px);
  text-align: center;
  transition: background var(--t-fast);
}
.proc-badge:hover { background: var(--surface); }
.proc-badge__title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 500;
  color: var(--accent);
  margin-bottom: 6px;
}
.proc-badge__sub {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
}
@media (max-width: 700px) { .proc-row { grid-template-columns: 1fr 1fr; } }

/* ---------- 25.12 Section heading reused with kicker ---------- */
.kicker-head {
  text-align: center;
  margin-bottom: clamp(48px, 6vw, 96px);
}
.kicker-head .eyebrow {
  margin-bottom: 18px;
}
.kicker-head h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 500;
  text-wrap: balance;
  max-width: 22ch;
  margin: 0 auto;
}
.kicker-head p {
  margin: 24px auto 0;
  max-width: 56ch;
  font-size: var(--fs-lead);
  color: var(--text-muted);
}


/* ============================================================
   26. PILOT 002 — Bespoke fixes (manifesto + features + pricing teaser + pricing hero)
   ============================================================ */

/* ---------- 26.1 Manifesto narrative (about) ---------- */
.manifesto-block {
  padding: 0;
  background: var(--bg);
  border-top: 1px solid var(--border);
}
.manifesto-block__inner { max-width: none; margin: 0; }
.manifesto-block h2 { display: none; }
.manifesto-block p { margin: 0; }

.mn-scene {
  position: relative;
  padding: clamp(80px, 12vw, 180px) var(--gutter);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
  isolation: isolate;
}
.mn-scene__num {
  position: absolute;
  top: clamp(28px, 4vw, 56px);
  left: var(--gutter);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.mn-scene__num strong { color: var(--accent); }
.mn-scene__inner { max-width: var(--max); margin: 0 auto; }

/* Scene 1: opening MASSIVE statement */
.mn-opening h2 {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(56px, 9vw, 180px);
  line-height: 0.92;
  letter-spacing: -0.04em;
  font-weight: 600;
  color: var(--text);
  text-wrap: balance;
  max-width: 14ch;
  margin: 0;
}
.mn-opening h2 em {
  color: var(--accent);
  font-style: italic;
  font-weight: 400;
}
.mn-opening__cite {
  margin-top: clamp(40px, 5vw, 64px);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  display: flex; gap: 24px; align-items: center;
}
.mn-opening__cite::before {
  content: "";
  width: 60px; height: 1px; background: var(--accent);
}

/* Scene 2: pain catalog */
.mn-pain {
  background: var(--bg-2);
}
.mn-pain__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  margin-top: clamp(40px, 5vw, 80px);
}
.mn-pain__cell {
  background: var(--bg-2);
  padding: clamp(40px, 4vw, 64px);
  display: flex; flex-direction: column; gap: 16px;
  position: relative;
  transition: background var(--t-med);
}
.mn-pain__cell:hover { background: var(--surface); }
.mn-pain__cell::before {
  content: attr(data-glitch);
  position: absolute;
  top: 16px; right: 16px;
  font-family: var(--font-mono);
  font-size: 9px; letter-spacing: .14em;
  color: var(--danger);
  padding: 4px 8px;
  border: 1px solid var(--danger);
  border-radius: 4px;
}
.mn-pain__title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 48px);
  line-height: 1;
  letter-spacing: -0.025em;
  font-weight: 600;
  color: var(--text);
  text-decoration: line-through;
  text-decoration-color: var(--danger);
  text-decoration-thickness: 2px;
}
.mn-pain__body {
  font-size: 14px;
  line-height: 1.55;
  color: var(--text-muted);
}
.mn-pain__intro {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-weight: 400;
  color: var(--text);
  max-width: 32ch;
}
@media (max-width: 900px) { .mn-pain__grid { grid-template-columns: 1fr; } }

/* Scene 3: thesis with highlighted words */
.mn-thesis h2 {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 88px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-weight: 400;
  color: var(--text);
  text-wrap: balance;
  max-width: 22ch;
}
.mn-thesis h2 mark {
  background: linear-gradient(180deg, transparent 60%, rgba(198, 242, 78, 0.3) 60%);
  color: var(--accent);
  font-weight: 600;
  font-style: italic;
  padding: 0 4px;
}
.mn-thesis__attribution {
  margin-top: clamp(40px, 5vw, 80px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 32px;
  padding-top: 32px;
  border-top: 1px solid var(--border-strong);
  font-size: 14px;
  color: var(--text-muted);
}
.mn-thesis__attribution strong {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  display: block;
  margin-bottom: 8px;
}
@media (max-width: 800px) { .mn-thesis__attribution { grid-template-columns: 1fr; } }

/* Scene 4: closing pull-quote */
.mn-closing {
  background: var(--bg);
  text-align: center;
  border-bottom: 0;
}
.mn-closing__quote {
  font-family: var(--font-display);
  font-size: clamp(32px, 4.5vw, 80px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: var(--text);
  text-wrap: balance;
  max-width: 24ch;
  margin: 0 auto;
  position: relative;
  padding: 0 clamp(40px, 6vw, 100px);
}
.mn-closing__quote::before, .mn-closing__quote::after {
  content: '"';
  position: absolute;
  font-family: var(--font-display);
  font-size: clamp(80px, 12vw, 200px);
  color: var(--accent);
  font-weight: 400;
  line-height: 0.5;
  opacity: 0.3;
}
.mn-closing__quote::before { top: 0.1em; left: 0; }
.mn-closing__quote::after { top: 0.1em; right: 0; }
.mn-closing__sig {
  margin-top: clamp(32px, 4vw, 56px);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}

/* ---------- 26.2 Features preview — interactive mocks (home) ---------- */
.feature-preview {
  background: var(--surface);
  background-image: none;
  padding: 0;
  font-size: inherit;
  letter-spacing: 0;
  color: var(--text);
  text-transform: none;
  display: block;
  overflow: hidden;
}
.feature-mocks {
  position: relative;
  width: 100%; height: 100%;
  min-height: 420px;
}
.feature-mock {
  position: absolute; inset: 0;
  padding: clamp(28px, 3vw, 48px);
  display: flex; flex-direction: column;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
}
.feature-mock.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.feature-mock__head {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 24px;
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.feature-mock__head .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(198, 242, 78, 0.6);
  display: inline-block;
  margin-right: 8px;
}
.feature-mock__body { flex: 1; display: flex; flex-direction: column; gap: 16px; }
.feature-mock__foot {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
}

/* Mock 1: char limits */
.fm-input {
  background: var(--bg-2);
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  padding: 16px;
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--text);
}
.fm-progress {
  height: 4px;
  background: var(--border-strong);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 8px;
}
.fm-progress__bar {
  height: 100%;
  width: 76%;
  background: var(--accent);
  border-radius: 2px;
  animation: fm-fill 4s ease-in-out infinite;
}
@keyframes fm-fill {
  0%, 30% { width: 76%; background: var(--accent); }
  35% { width: 100%; background: var(--accent); }
  40%, 65% { width: 100%; background: var(--danger); }
  70% { width: 76%; background: var(--accent); }
  100% { width: 76%; background: var(--accent); }
}
.fm-meta {
  display: flex; justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .08em;
  color: var(--text-muted);
  margin-top: 4px;
}
.fm-meta strong { color: var(--accent); }

/* Mock 2: asset library */
.fm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.fm-thumb {
  aspect-ratio: 1;
  background: var(--bg-2);
  border: 1px solid var(--border-strong);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}
.fm-thumb::before {
  content: "";
  position: absolute; inset: 4px;
  background: linear-gradient(135deg, var(--surface-2) 0%, var(--bg) 100%);
  border-radius: 2px;
}
.fm-thumb.is-approved::after {
  content: "✓";
  position: absolute; top: 4px; right: 6px;
  color: var(--accent);
  font-size: 12px;
  z-index: 1;
}
.fm-thumb.is-approved { border-color: var(--accent); }
.fm-thumb.is-blocked::after {
  content: "✕";
  position: absolute; top: 4px; right: 6px;
  color: var(--danger);
  font-size: 12px;
  z-index: 1;
}
.fm-thumb.is-blocked { border-color: var(--danger); opacity: 0.4; }

/* Mock 3: color and font locks */
.fm-swatch {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border-strong);
  border-radius: 6px;
}
.fm-swatch__chip {
  width: 32px; height: 32px;
  border-radius: 6px;
  flex-shrink: 0;
}
.fm-swatch__hex {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--text);
  flex: 1;
}
.fm-swatch__lock {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 6px;
}
.fm-swatch__lock::before { content: "🔒"; filter: hue-rotate(50deg) saturate(2); }

/* Mock 4: overlay safe zone */
.fm-canvas {
  position: relative;
  flex: 1;
  background: var(--bg-2);
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.45) 1px, transparent 1px);
  background-size: 16px 16px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  overflow: hidden;
}
.fm-safezone {
  position: absolute;
  inset: 16%;
  border: 1px dashed var(--accent);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 12px;
}
.fm-safezone::before {
  content: "SAFE ZONE";
  position: absolute; top: -8px; left: 12px;
  background: var(--surface);
  padding: 0 8px;
  font-family: var(--font-mono);
  font-size: 9px; letter-spacing: .14em;
  color: var(--accent);
}
.fm-safezone__text {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  background: rgba(198, 242, 78, 0.08);
  border: 1px solid var(--accent);
  padding: 8px 10px;
  border-radius: 4px;
  letter-spacing: -0.01em;
}

/* Mock 5: export presets */
.fm-preset {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  transition: border-color var(--t-fast);
}
.fm-preset:hover { border-color: var(--accent); }
.fm-preset__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--text);
}
.fm-preset__type {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
}
.fm-preset__size {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--accent);
}

/* ---------- 26.3 Pricing teaser → interactive team selector (home) ---------- */
.team-selector {
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  background: var(--surface);
  padding: clamp(40px, 5vw, 64px);
  margin-top: clamp(48px, 6vw, 80px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
}
.team-selector__left h3 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: 24px;
  text-wrap: balance;
}
.team-selector__buttons {
  display: flex; flex-direction: column; gap: 8px;
}
.team-btn {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 20px;
  background: transparent;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: border-color var(--t-fast), background var(--t-fast);
}
.team-btn:hover { border-color: var(--text-muted); }
.team-btn.is-active {
  border-color: var(--accent);
  background: rgba(198, 242, 78, 0.06);
}
.team-btn .arrow {
  opacity: 0;
  transform: translateX(-4px);
  color: var(--accent);
  transition: opacity var(--t-fast), transform var(--t-fast);
}
.team-btn.is-active .arrow {
  opacity: 1;
  transform: none;
}

.team-result {
  position: relative;
  min-height: 320px;
}
.team-tier {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; gap: 16px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
  padding: clamp(28px, 3vw, 40px);
  background: var(--bg-2);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
}
.team-tier.is-active { opacity: 1; transform: none; pointer-events: auto; }
.team-tier__name {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
}
.team-tier__price {
  font-family: var(--font-display);
  font-size: clamp(48px, 5vw, 80px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--text);
  display: flex; align-items: baseline; gap: 6px;
}
.team-tier__price small { font-size: 14px; font-weight: 400; color: var(--text-muted); letter-spacing: 0; }
.team-tier__features {
  list-style: none;
  padding: 16px 0 0;
  margin: 16px 0 0;
  border-top: 1px solid var(--border-strong);
  display: flex; flex-direction: column; gap: 10px;
}
.team-tier__features li {
  font-size: 14px;
  color: var(--text);
  display: flex; align-items: center; gap: 10px;
}
.team-tier__features li::before {
  content: "";
  width: 12px; height: 12px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23C6F24E' stroke-width='2'><polyline points='3 8 7 12 13 4'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.team-tier .btn { margin-top: auto; align-self: flex-start; }

@media (max-width: 1000px) {
  .team-selector { grid-template-columns: 1fr; }
  .team-result { min-height: 360px; }
}

/* ---------- 26.4 Pricing hero — editorial console (replaces bignum-hero) ---------- */
.price-hero {
  position: relative;
  padding: clamp(140px, 16vh, 200px) var(--gutter) clamp(60px, 8vh, 110px);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
  isolation: isolate;
}

.price-hero__inner {
  position: relative; z-index: 1;
  max-width: var(--max);
  margin: 0 auto;
  display: flex; flex-direction: column;
  gap: clamp(32px, 4vw, 56px);
}
.price-hero__top {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.price-hero__top strong { color: var(--accent); }

.price-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(56px, 8vw, 156px);
  line-height: 0.9;
  letter-spacing: -0.04em;
  font-weight: 500;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
  max-width: 12ch;
}
.price-hero h1 em {
  color: var(--accent);
  font-style: italic;
  font-weight: 400;
}

.price-hero__sub {
  font-size: clamp(16px, 1.1vw, 18px);
  color: var(--text-muted);
  max-width: 56ch;
  line-height: 1.45;
}

.price-hero__console {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 1px;
  background: var(--border-strong);
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  overflow: hidden;
  margin-top: clamp(24px, 3vw, 40px);
}
.price-hero__cell {
  background: var(--bg);
  padding: clamp(20px, 2vw, 32px);
  display: flex; flex-direction: column; justify-content: space-between;
  gap: 12px;
}
.price-hero__cell--main {
  background: linear-gradient(180deg, rgba(198, 242, 78, 0.04) 0%, var(--bg) 100%);
}
.price-hero__cell-label {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.price-hero__cell-value {
  font-family: var(--font-display);
  font-size: clamp(32px, 3.5vw, 56px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--text);
}
.price-hero__cell--main .price-hero__cell-value {
  color: var(--accent);
  font-size: clamp(48px, 5vw, 80px);
}
.price-hero__cell-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
}

@media (max-width: 1000px) {
  .price-hero__console { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .price-hero__console { grid-template-columns: 1fr; }
}


/* ============================================================
   27. PILOT 002 — About page elegance pass
   ============================================================ */

/* ---------- 27.1 Reduce editorial hero on About ---------- */
[data-page="about"] .editorial-hero h1 {
  font-size: clamp(56px, 8vw, 156px);
  max-width: 18ch;
  font-weight: 500;
  line-height: 0.9;
}
[data-page="about"] .editorial-hero {
  padding: clamp(140px, 16vh, 180px) var(--gutter) clamp(48px, 6vh, 80px);
}
[data-page="about"] .editorial-hero__lead {
  font-size: clamp(16px, 1.1vw, 18px);
  margin-top: 24px;
}

/* ---------- 27.2 Manifesto editorial essay layout (replaces mn-* scenes) ---------- */
.manifesto-block {
  padding: clamp(80px, 12vw, 160px) var(--gutter);
  background: var(--bg);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.manifesto-block__inner {
  max-width: 1180px;
  margin: 0 auto;
}

.essay__head {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-bottom: 32px;
  margin-bottom: 56px;
  border-bottom: 1px solid var(--border-strong);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  flex-wrap: wrap;
  gap: 16px;
}
.essay__head strong { color: var(--accent); }

.essay__title {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.5vw, 80px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: var(--text);
  text-wrap: balance;
  max-width: 16ch;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.essay__title em {
  color: var(--accent);
  font-style: italic;
  font-weight: 400;
}

.essay__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 96px);
  align-items: start;
}

.essay__body {
  font-family: var(--font-display);
  font-size: 17px;
  line-height: 1.7;
  color: var(--text);
  max-width: 62ch;
  font-weight: 400;
}
.essay__body p { margin: 0 0 1.4em; }
.essay__body p:last-child { margin-bottom: 0; }
.essay__body p:first-child::first-letter {
  font-family: var(--font-display);
  font-size: 5em;
  font-weight: 600;
  float: left;
  line-height: 0.85;
  margin: 0.05em 0.12em -0.05em 0;
  color: var(--accent);
  letter-spacing: -0.02em;
}

.essay__body em {
  color: var(--text);
  font-style: italic;
}
.essay__body strong {
  color: var(--accent);
  font-weight: 500;
}

.essay__margins {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 4vw, 64px);
  position: sticky;
  top: 120px;
}

.essay__pullquote {
  border-left: 1px solid var(--accent);
  padding: 4px 0 4px 20px;
  font-family: var(--font-display);
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.35;
  font-weight: 400;
  font-style: italic;
  color: var(--text);
  letter-spacing: -0.005em;
  max-width: 28ch;
}
.essay__pullquote::before {
  content: attr(data-num);
  display: block;
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  font-style: normal;
  margin-bottom: 8px;
}

.essay__sig {
  margin-top: clamp(56px, 7vw, 96px);
  padding-top: 32px;
  border-top: 1px solid var(--border-strong);
  display: flex; justify-content: space-between; align-items: baseline;
  flex-wrap: wrap; gap: 16px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.essay__sig strong { color: var(--accent); }

@media (max-width: 900px) {
  .essay__layout { grid-template-columns: 1fr; gap: 48px; }
  .essay__margins { position: static; flex-direction: column; }
}

/* ---------- 27.3 Hide the obsolete mn-scene wrappers (kept in markup but not styled) ---------- */
.mn-scene { display: none; }

/* ---------- 27.4 Reduce timeline title sizes ---------- */
.timeline__title {
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 500;
  letter-spacing: -0.015em;
}
.timeline__act { padding: clamp(40px, 5vw, 80px) clamp(24px, 2.5vw, 48px); }
.timeline__body { font-size: 14px; }

/* ---------- 27.5 Reduce bento title sizes ---------- */
.bento__title { font-size: clamp(17px, 1.4vw, 22px); }
.bento__cell--lg .bento__title { font-size: clamp(22px, 1.9vw, 32px); }
.bento__body { font-size: 13px; }
.bento__cell--lg .bento__body { font-size: 14px; }

/* ---------- 27.6 Reduce founder block quote ---------- */


/* ---------- 27.7 Reduce kicker-head h2 on About ---------- */
[data-page="about"] .kicker-head h2 {
  font-size: clamp(24px, 2.8vw, 44px);
  font-weight: 500;
}

/* ---------- 27.8 Tighter cta-band on about ---------- */
[data-page="about"] .cta-band h2 {
  font-size: clamp(32px, 4vw, 64px);
}


/* ============================================================
   28. PILOT 002 — Timeline animated icons
   ============================================================ */

.timeline__icon {
  width: 36px;
  height: 36px;
  margin-bottom: 20px;
  color: var(--text-muted);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
  transition: color var(--t-med);
}
.timeline__act:hover .timeline__icon { color: var(--accent); }

/* Icon 1 — Document going out (paper plane up arrow) */
.icon-send .doc { stroke: currentColor; }
.icon-send .arrow {
  stroke: var(--accent);
  animation: send-up 3s ease-in-out infinite;
  transform-origin: 50px 50px;
}
@keyframes send-up {
  0%, 100% { transform: translate(0, 0); opacity: 1; }
  40%      { transform: translate(0, -8px); opacity: 1; }
  60%      { transform: translate(0, -8px); opacity: 0; }
  61%      { transform: translate(0, 4px); opacity: 0; }
  80%      { transform: translate(0, 0); opacity: 1; }
}

/* Icon 2 — Document broken with X glitch */
.icon-break .doc-line { stroke: currentColor; }
.icon-break .doc-line.is-broken {
  stroke: var(--danger);
  stroke-dasharray: 4 3;
  animation: break-glitch 3s ease-in-out infinite;
}
.icon-break .x-mark {
  stroke: var(--danger);
  opacity: 0;
  transform-origin: 49px 51px;
  animation: x-pop 3s ease-in-out infinite;
}
@keyframes break-glitch {
  0%, 30%   { transform: translateX(0); }
  35%       { transform: translateX(2px); }
  40%       { transform: translateX(-2px); }
  45%, 100% { transform: translateX(0); }
}
@keyframes x-pop {
  0%, 35%   { opacity: 0; transform: scale(0.5); }
  45%       { opacity: 1; transform: scale(1.1); }
  60%, 90%  { opacity: 1; transform: scale(1); }
  100%      { opacity: 0; transform: scale(0.5); }
}

/* Icon 3 — Lock that closes */
.icon-lock { color: var(--accent); }
.timeline__act:hover .icon-lock { color: var(--accent); }
.icon-lock .body {
  stroke: var(--accent);
}
.icon-lock .shackle {
  stroke: var(--accent);
  transform-origin: center;
  transform-box: fill-box;
  animation: lock-close 3s ease-in-out infinite;
}
.icon-lock .keyhole {
  stroke: var(--accent);
  fill: var(--accent);
  opacity: 0;
  animation: lock-keyhole 3s ease-in-out infinite;
}
@keyframes lock-close {
  0%, 25%   { transform: translateY(-9px) rotate(-12deg); transform-origin: right; }
  45%, 100% { transform: translateY(0) rotate(0); }
}
@keyframes lock-keyhole {
  0%, 50%   { opacity: 0; }
  60%, 100% { opacity: 1; }
}

/* Active act on hover gets accent treatment */
.timeline__act { transition: background var(--t-med); }
.timeline__act:hover { background: var(--surface); }

/* ============================================================
   29. PILOT 002 — Team selector overlap fix + premium contact form
   ============================================================ */

/* ---------- 29.1 Fix team selector: stack tiers in same grid cell ---------- */
.team-result {
  display: grid;
  position: relative;
  min-height: auto;
}
.team-tier {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  inset: auto;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
  visibility: hidden;
}
.team-tier.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
  visibility: visible;
}
/* Avoid layout shift between tiers — they share the same grid cell */
.team-tier:not(.is-active) { z-index: 0; }
.team-tier.is-active { z-index: 1; }

/* ---------- 29.2 Premium contact form ---------- */

[data-page="contact"] form[data-contact] {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  padding: clamp(32px, 4vw, 56px);
  display: grid;
  gap: 28px;
  position: relative;
  overflow: hidden;
}
[data-page="contact"] form[data-contact]::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);
}
[data-page="contact"] form[data-contact] .row { gap: 28px; }
[data-page="contact"] .field {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}
[data-page="contact"] .field label {
  position: absolute;
  top: 18px;
  left: 18px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-muted);
  pointer-events: none;
  background: var(--surface);
  padding: 0 6px;
  transition: top .2s ease, font-size .2s ease, color .2s ease;
  z-index: 1;
}
[data-page="contact"] .field input,
[data-page="contact"] .field select,
[data-page="contact"] .field textarea {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  padding: 26px 18px 14px;
  color: var(--text);
  font-size: 16px;
  font-family: var(--font-body);
  outline: none;
  transition: border-color .25s ease, background .25s ease;
  width: 100%;
}
[data-page="contact"] .field input:focus,
[data-page="contact"] .field select:focus,
[data-page="contact"] .field textarea:focus {
  border-color: var(--accent);
  background: var(--bg-2);
  box-shadow: 0 0 0 4px rgba(198, 242, 78, 0.08);
}
[data-page="contact"] .field input:focus + label,
[data-page="contact"] .field select:focus + label,
[data-page="contact"] .field textarea:focus + label,
[data-page="contact"] .field input:not(:placeholder-shown) + label,
[data-page="contact"] .field textarea:not(:placeholder-shown) + label {
  top: -8px;
  font-size: 10px;
  color: var(--accent);
  background: var(--surface);
}
[data-page="contact"] .field input:focus,
[data-page="contact"] .field textarea:focus {
  background: var(--bg-2);
}
[data-page="contact"] .field input:focus + label,
[data-page="contact"] .field textarea:focus + label {
  background: var(--bg-2);
}
[data-page="contact"] .field textarea {
  min-height: 140px;
  padding-top: 32px;
  resize: vertical;
}
/* Select needs special handling — always show label small at top because select doesn't have placeholder behavior */
[data-page="contact"] .field--select label {
  top: -8px;
  font-size: 10px;
  background: var(--surface);
  color: var(--accent);
}
[data-page="contact"] .field--select select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236B7280' stroke-width='1.5'><polyline points='4 6 8 10 12 6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  padding-right: 44px;
}

[data-page="contact"] .consent {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 10px;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  cursor: pointer;
}
[data-page="contact"] .consent input[type="checkbox"] {
  margin-top: 2px;
  accent-color: var(--accent);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

[data-page="contact"] form[data-contact] button[type="submit"] {
  justify-self: start;
  margin-top: 8px;
}
[data-page="contact"] .form-status {
  font-size: 14px;
  text-align: center;
  min-height: 1.5em;
  font-family: var(--font-mono);
  letter-spacing: .04em;
}

/* ============================================================
   30. PILOT 002 — Final spacing + team-tier price spans
   ============================================================ */

/* ---------- 30.1 Team tier price spans (currency / value / period) ---------- */
.team-tier__price .currency {
  font-size: 0.5em;
  font-weight: 500;
  color: var(--text-muted);
  letter-spacing: 0;
}
.team-tier__price .value {
  font-size: 1em;
  font-weight: 600;
  color: var(--text);
}
.team-tier__price .period {
  font-size: 14px;
  font-weight: 400;
  color: var(--text-muted);
  margin-left: 4px;
  letter-spacing: 0;
}

/* ---------- 30.2 Section head spacing — clean stack on mobile ---------- */
.section__head > div {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.section__head > div .eyebrow {
  align-self: flex-start;
}
.section__head > div h2 {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .section__head {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .section__head > div { gap: 24px; }
  .section__head .eyebrow { font-size: 11px; }
}

/* ---------- 30.3 Kicker head clean spacing too ---------- */
.kicker-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.kicker-head h2 { margin: 0; }
.kicker-head p { margin: 0; }

/* ---------- 30.4 Editorial hero meta stacks properly on mobile ---------- */
@media (max-width: 1000px) {
  .editorial-hero__inner > div:first-child { order: 1; }
  .editorial-hero__meta { order: 2; }
}

/* ---------- 30.5 Make sure no inline margin-top:32px overrides ---------- */
.section__head h2[style*="margin-top"] {
  margin-top: 0 !important;
}

/* ============================================================
   31. PILOT 002 — Burger fix + Product Stage carousel
   ============================================================ */

/* ---------- 31.1 Burger defensive z-index + pointer-events ---------- */
.burger {
  pointer-events: auto;
  isolation: isolate;
}
@media (max-width: 1000px) {
  .burger {
    display: inline-flex !important;
    z-index: 200 !important;
    position: relative;
  }
}

/* ---------- 31.2 Product Stage — big carousel with mocks ---------- */
.product-stage {
  position: relative;
  padding: clamp(80px, 10vh, 140px) var(--gutter);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--bg-2);
  overflow: hidden;
}

.product-stage__head {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 24px; flex-wrap: wrap;
  margin-bottom: clamp(48px, 6vw, 80px);
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.product-stage__head strong { color: var(--accent); }

.product-stage__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: clamp(32px, 5vw, 96px);
  align-items: center;
}

.product-stage__copy {
  display: flex; flex-direction: column;
  gap: 24px;
}
.product-stage__step-label {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 12px;
}
.product-stage__step-label::before {
  content: "";
  width: 24px; height: 1px;
  background: var(--accent);
}
.product-stage__title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 500;
  color: var(--text);
  text-wrap: balance;
  max-width: 14ch;
  margin: 0;
}
.product-stage__body {
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.55;
  color: var(--text-muted);
  max-width: 46ch;
  margin: 0;
}
.product-stage__pill {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start;
  padding: 8px 16px;
  border: 1px solid var(--accent);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent);
  background: rgba(198, 242, 78, 0.04);
}

.product-stage__copy-slide {
  display: none;
}
.product-stage__copy-slide.is-active {
  display: flex;
  flex-direction: column;
  gap: 24px;
  animation: stage-slide-in .5s ease both;
}
@keyframes stage-slide-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: none; }
}

/* The mock display area on the right */
.product-stage__display {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  overflow: hidden;
  min-height: clamp(440px, 60vh, 620px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.product-stage__display .feature-mock {
  position: absolute; inset: 0;
  padding: clamp(28px, 3vw, 48px);
  display: flex; flex-direction: column;
  opacity: 0;
  transform: translateY(8px) scale(0.98);
  transition: opacity .5s ease, transform .5s ease;
  pointer-events: none;
}
.product-stage__display .feature-mock.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.product-stage__display .feature-mock__head {
  font-size: 11px;
}
.product-stage__display .feature-mock__body { gap: 20px; }
.product-stage__display .fm-input { font-size: 22px; padding: 22px; }
.product-stage__display .fm-grid { gap: 10px; }
.product-stage__display .fm-thumb { border-radius: 6px; }
.product-stage__display .fm-swatch { padding: 18px 20px; }
.product-stage__display .fm-swatch__chip { width: 40px; height: 40px; }
.product-stage__display .fm-swatch__hex { font-size: 15px; }
.product-stage__display .fm-canvas { min-height: 280px; }
.product-stage__display .fm-safezone__text { font-size: 18px; padding: 14px 16px; }
.product-stage__display .fm-preset { padding: 18px 20px; }
.product-stage__display .fm-preset__name { font-size: 16px; }

/* Pagination dots and progress */
.product-stage__nav {
  display: flex; flex-direction: column; gap: 24px;
  margin-top: clamp(40px, 5vw, 64px);
  grid-column: 1 / -1;
}
.product-stage__progress {
  height: 2px;
  background: var(--border-strong);
  position: relative;
  overflow: hidden;
}
.product-stage__progress::after {
  content: "";
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: var(--progress, 0%);
  background: var(--accent);
  transition: width .4s ease;
}
.product-stage__dots {
  display: flex; justify-content: space-between; gap: 16px;
  flex-wrap: wrap;
}
.product-stage__dot {
  flex: 1;
  min-width: 0;
  padding: 16px 0 0;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  border-top: 2px solid var(--border-strong);
  transition: border-color var(--t-fast), color var(--t-fast);
  position: relative;
}
.product-stage__dot.is-active {
  border-top-color: var(--accent);
}
.product-stage__dot__num {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
  display: block;
  margin-bottom: 6px;
}
.product-stage__dot.is-active .product-stage__dot__num { color: var(--accent); }
.product-stage__dot__name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-muted);
  display: block;
  transition: color var(--t-fast);
}
.product-stage__dot.is-active .product-stage__dot__name { color: var(--text); }

@media (max-width: 1000px) {
  .product-stage__inner { grid-template-columns: 1fr; gap: 32px; }
  .product-stage__display { min-height: 380px; }
  .product-stage__dots { display: none; }
}

/* ============================================================
   32. PILOT 002 — Sticky scroll "How it works" section
   ============================================================ */

.sticky-scroll {
  position: relative;
  height: 250vh;
  border-top: 1px solid var(--border);
}

.sticky-scroll__inner {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
  padding: 0 var(--gutter);
  max-width: var(--max);
  margin: 0 auto;
  overflow: hidden;
}

/* Left — text that swaps per step */
.sticky-scroll__copy {
  position: relative;
  min-height: 320px;
}
.sticky-step {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  justify-content: center;
  gap: 24px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
  pointer-events: none;
}
.sticky-step.is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.sticky-step__num {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 12px;
}
.sticky-step__num::before {
  content: "";
  width: 24px; height: 1px;
  background: var(--accent);
}
.sticky-step h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.5vw, 72px);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: var(--text);
  margin: 0;
  text-wrap: balance;
  max-width: 14ch;
}
.sticky-step p {
  font-size: clamp(15px, 1.1vw, 18px);
  color: var(--text-muted);
  line-height: 1.55;
  max-width: 44ch;
  margin: 0;
}

/* Right — the probe that changes state */
.sticky-probe {
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  background: var(--surface);
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  min-height: clamp(420px, 56vh, 580px);
  display: flex; flex-direction: column;
  transition: border-color .6s ease;
}
.sticky-probe[data-state="2"] {
  border-color: var(--accent);
}

.sticky-probe__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.sticky-probe__head .dots { display: inline-flex; gap: 6px; }
.sticky-probe__head .dots span {
  width: 8px; height: 8px; border-radius: 50%;
}
.sticky-probe__head .dots span:nth-child(1) { background: #FF5C5C; }
.sticky-probe__head .dots span:nth-child(2) { background: #FFB341; }
.sticky-probe__head .dots span:nth-child(3) { background: var(--accent); }
.sticky-probe__head .status {
  color: var(--text-muted);
  transition: color .4s ease;
}
.sticky-probe[data-state="2"] .sticky-probe__head .status {
  color: var(--accent);
}

.sticky-probe__canvas {
  flex: 1;
  position: relative;
  background: var(--bg-2);
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.45) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.45) 1px, transparent 1px);
  background-size: 24px 24px;
  overflow: hidden;
  padding: clamp(20px, 3vw, 40px);
  display: flex; align-items: center; justify-content: center;
}

.sticky-template {
  width: 80%; max-width: 360px;
  display: flex; flex-direction: column;
  gap: 12px;
}
.sticky-zone {
  border: 1.5px dashed var(--text-dim);
  border-radius: 4px;
  padding: 14px 16px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
  transition: border-color .5s ease, border-style .5s ease, color .5s ease, background .5s ease;
  position: relative;
}
.sticky-zone--image {
  min-height: 120px;
  display: flex; align-items: flex-end;
  background: linear-gradient(135deg, rgba(38, 42, 51, 0.3) 0%, transparent 100%);
}
.sticky-zone--headline { font-size: 14px; padding: 18px 16px; }
.sticky-zone--cta { align-self: flex-start; }

/* Step 0: uploading — zones dashed, dim */
.sticky-probe[data-state="0"] .sticky-zone {
  border-color: var(--text-dim);
  border-style: dashed;
  color: var(--text-dim);
}

/* Step 1: locking — zones turn lime progressively */
.sticky-probe[data-state="1"] .sticky-zone {
  border-color: var(--accent);
  border-style: solid;
  color: var(--accent);
  background: rgba(198, 242, 78, 0.04);
}
.sticky-probe[data-state="1"] .sticky-zone::after {
  content: "🔒";
  position: absolute;
  top: 6px; right: 8px;
  font-size: 11px;
  filter: hue-rotate(50deg) saturate(2);
}
/* Stagger the lock appearance */
.sticky-probe[data-state="1"] .sticky-zone:nth-child(1) { transition-delay: 0s; }
.sticky-probe[data-state="1"] .sticky-zone:nth-child(2) { transition-delay: .15s; }
.sticky-probe[data-state="1"] .sticky-zone:nth-child(3) { transition-delay: .3s; }
.sticky-probe[data-state="1"] .sticky-zone:nth-child(4) { transition-delay: .45s; }

/* Step 2: deployed — all locked + glow */
.sticky-probe[data-state="2"] .sticky-zone {
  border-color: var(--accent);
  border-style: solid;
  color: var(--accent);
  background: rgba(198, 242, 78, 0.06);
  box-shadow: 0 0 12px rgba(198, 242, 78, 0.1);
}
.sticky-probe[data-state="2"] .sticky-zone::after {
  content: "🔒";
  position: absolute;
  top: 6px; right: 8px;
  font-size: 11px;
  filter: hue-rotate(50deg) saturate(2);
}

/* Scan bar — only visible in step 1 */
.sticky-scanbar {
  position: absolute;
  left: 0; right: 0;
  height: 2px;
  background: var(--accent);
  box-shadow: 0 0 16px rgba(198, 242, 78, 0.7);
  top: 50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity .5s ease;
}
.sticky-probe[data-state="1"] .sticky-scanbar {
  opacity: 1;
  animation: sticky-scan 2.5s ease-in-out infinite;
}
@keyframes sticky-scan {
  0%, 100% { top: 10%; }
  50% { top: 90%; }
}

.sticky-probe__foot {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px;
  border-top: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--text-muted);
}
.sticky-probe__foot .scan-status {
  color: var(--accent);
  display: inline-flex; align-items: center; gap: 6px;
}
.sticky-probe__foot .scan-status::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent);
}

/* Step indicators (left side, bottom) */
.sticky-scroll__progress {
  position: absolute;
  bottom: clamp(40px, 6vh, 80px);
  left: var(--gutter);
  display: flex; gap: 16px;
  align-items: center;
}
.sticky-scroll__pip {
  width: 32px; height: 3px;
  background: var(--border-strong);
  border-radius: 2px;
  transition: background .4s ease, width .4s ease;
}
.sticky-scroll__pip.is-active {
  background: var(--accent);
  width: 48px;
}

/* Mobile: disable sticky, stack vertically */
@media (max-width: 900px) {
  .sticky-scroll {
    height: auto;
  }
  .sticky-scroll__inner {
    position: relative;
    height: auto;
    grid-template-columns: 1fr;
    padding: clamp(80px, 10vh, 140px) var(--gutter);
    gap: 40px;
  }
  .sticky-scroll__copy {
    min-height: auto;
    position: relative;
  }
  .sticky-step {
    position: relative;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    margin-bottom: 56px;
    border-bottom: 1px solid var(--border-strong);
    padding-bottom: 40px;
  }
  .sticky-step:last-child { border-bottom: 0; margin-bottom: 0; }
  .sticky-probe { min-height: 360px; }
  .sticky-probe[data-state] .sticky-zone {
    border-color: var(--accent);
    border-style: solid;
    color: var(--accent);
  }
  .sticky-scroll__progress { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sticky-scanbar { display: none; }
}

/* ============================================================
   33. PILOT 002 — BURGER MENU NUCLEAR FIX
   Forces the mobile nav to work correctly regardless of
   any other CSS rule. High specificity, !important where needed.
   ============================================================ */

@media (max-width: 1000px) {
  /* Force the nav closed by default */
  header.site-header > nav.site-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 101 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    padding: 120px var(--gutter) 48px !important;
    background: var(--bg) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    transform: translateY(-12px) !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear .28s !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  /* Force the nav open when toggled */
  header.site-header > nav.site-nav.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    transition: opacity .28s ease, transform .28s ease, visibility 0s linear 0s !important;
  }

  /* Force the nav links styled properly */
  header.site-header > nav.site-nav > a {
    font-size: 36px !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    color: var(--text) !important;
    padding: 8px 0 !important;
    text-transform: none !important;
    display: block !important;
    width: 100% !important;
    line-height: 1.2 !important;
  }
  header.site-header > nav.site-nav > a::after { display: none !important; }
  header.site-header > nav.site-nav > a[aria-current="page"] {
    color: var(--accent) !important;
  }

  /* Force the lang-select properly positioned */
  header.site-header > nav.site-nav > .lang-select {
    display: flex !important;
    margin-top: 32px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--border-strong) !important;
    border-left: 0 !important;
    gap: 12px !important;
    align-self: stretch !important;
    flex-wrap: wrap !important;
  }
  header.site-header > nav.site-nav > .lang-select a {
    font-size: 14px !important;
    padding: 10px 16px 10px 0 !important;
  }

  /* Force burger visible and on top */
  header.site-header > button.burger {
    display: inline-flex !important;
    z-index: 200 !important;
    position: relative !important;
    pointer-events: auto !important;
  }

  /* Force brand on top of nav too */
  header.site-header > a.brand {
    z-index: 200 !important;
    position: relative !important;
  }

  /* Hide the header CTA on mobile */
  header.site-header > .header-cta {
    display: none !important;
  }
}

/* ============================================================
   34. PILOT 002 — Hero left side: terminal + micro stats
   ============================================================ */

/* ---------- 34.1 Hero terminal ---------- */
.hero-terminal {
  background: var(--surface);
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  overflow: hidden;
  max-width: 420px;
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.7;
  color: var(--text-muted);
  margin-top: 8px;
}
.hero-terminal__bar {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-dim);
}
.hero-terminal__bar .dots { display: inline-flex; gap: 5px; }
.hero-terminal__bar .dots span {
  width: 7px; height: 7px; border-radius: 50%;
}
.hero-terminal__bar .dots span:nth-child(1) { background: #FF5C5C; }
.hero-terminal__bar .dots span:nth-child(2) { background: #FFB341; }
.hero-terminal__bar .dots span:nth-child(3) { background: var(--accent); }

.hero-terminal__body {
  padding: 14px 16px;
  min-height: 110px;
}
.hero-terminal__line {
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .4s ease, transform .4s ease;
  white-space: nowrap;
}
.hero-terminal__line.is-visible {
  opacity: 1;
  transform: none;
}
.hero-terminal__line .cmd {
  color: var(--text);
}
.hero-terminal__line .accent {
  color: var(--accent);
}
.hero-terminal__line .check {
  color: var(--accent);
  margin-right: 6px;
}
.hero-terminal__cursor {
  display: inline-block;
  width: 8px; height: 15px;
  background: var(--accent);
  margin-left: 2px;
  animation: blink-cursor .8s step-end infinite;
  vertical-align: text-bottom;
}
@keyframes blink-cursor {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* ---------- 34.2 Micro stats badges ---------- */
.hero-stats {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 12px;
}
.hero-stat {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .06em;
  color: var(--text-muted);
  transition: border-color var(--t-fast), color var(--t-fast);
}
.hero-stat:hover { border-color: var(--accent); color: var(--text); }
.hero-stat strong {
  color: var(--accent);
  font-weight: 600;
  font-size: 13px;
}

@media (max-width: 700px) {
  .hero-terminal { max-width: 100%; }
  .hero-stats { gap: 8px; }
  .hero-stat { padding: 6px 10px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-terminal__line { opacity: 1; transform: none; }
  .hero-terminal__cursor { animation: none; opacity: 0; }
}

/* ---------- 34.3 Pricing hero trust strip (replaces heavy console) ---------- */
.price-hero__strip {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--text-muted);
  margin-top: clamp(24px, 3vw, 40px);
  margin-bottom: clamp(24px, 3vw, 40px);
}
.price-hero__strip strong {
  color: var(--accent);
  font-weight: 600;
  font-size: 15px;
}
.price-hero__strip .sep {
  color: var(--text-dim);
  font-size: 16px;
}
@media (max-width: 700px) {
  .price-hero__strip { font-size: 12px; gap: 8px; }
}

/* ============================================================
   35. PILOT 002 — Hero left organized layout
   ============================================================ */

.hero__top-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: clamp(24px, 3vw, 40px);
}
.hero__label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.hero__label:first-child {
  color: var(--accent);
}

.hero__tagline {
  font-family: var(--font-display);
  font-size: clamp(15px, 1.1vw, 18px);
  color: var(--text-muted);
  font-weight: 400;
  letter-spacing: -0.005em;
  margin: clamp(16px, 2vw, 28px) 0 0;
  max-width: 40ch;
}

.hero__bottom {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 32px);
  flex-wrap: wrap;
  margin-top: 8px;
}
.hero__trust {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--text-dim);
}

@media (max-width: 700px) {
  .hero__top-meta { margin-bottom: 20px; }
  .hero__bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  .hero__trust { font-size: 10px; }
}

/* ============================================================
   36. PILOT 002 — Terminal demo section + restore grids
   ============================================================ */

.terminal-demo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.terminal-demo__copy {
  display: flex;
  flex-direction: column;
}
.terminal-demo__terminal .hero-terminal {
  max-width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  border-radius: 16px;
}
.terminal-demo__terminal .hero-terminal__body {
  padding: clamp(20px, 3vw, 32px) clamp(20px, 3vw, 32px);
  min-height: 160px;
}
.terminal-demo__terminal .hero-terminal__line {
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 2;
}
.terminal-demo__terminal .hero-terminal__bar {
  padding: 14px 20px;
}
@media (max-width: 900px) {
  .terminal-demo { grid-template-columns: 1fr; gap: 40px; }
}

/* ---------- 36.2 Restore grid backgrounds on inner page heroes ---------- */
.editorial-hero::before,
.price-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(38, 42, 51, 0.4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38, 42, 51, 0.4) 1px, transparent 1px);
  background-size: 64px 64px;
  background-position: -1px -1px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 0%, transparent 80%);
  pointer-events: none;
}

/* ---------- 36.3 Pricing hero pills ---------- */
.price-hero__pills {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: clamp(24px, 3vw, 40px);
  margin-bottom: clamp(24px, 3vw, 40px);
}
.price-pill {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .04em;
  color: var(--text-muted);
  transition: border-color var(--t-fast), color var(--t-fast);
}
.price-pill:hover { border-color: var(--text-muted); color: var(--text); }
.price-pill--accent {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(198, 242, 78, 0.06);
  font-weight: 600;
}
.price-pill--accent:hover { background: rgba(198, 242, 78, 0.12); }
@media (max-width: 700px) {
  .price-pill { padding: 8px 14px; font-size: 11px; }
}


/* ============================================================
   37. PILOT 002 — Problem section: icons + micro-interactions
   ============================================================ */

/* Animated SVG icons for each stat */
.stat__icon {
  width: 22px;
  height: 22px;
  margin-bottom: 16px;
  color: var(--accent);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
  transition: transform var(--t-fast);
}
.stat:hover .stat__icon { transform: scale(1.15); }

/* Icon 1: document stack (circulation) */
.icon-stack .page {
  transition: transform var(--t-med);
}
.stat:hover .icon-stack .page:nth-child(2) { transform: translate(2px, -2px); }
.stat:hover .icon-stack .page:nth-child(3) { transform: translate(4px, -4px); }

/* Icon 2: warning triangle (violations) */
.icon-warn .bang {
  animation: warn-shake 3s ease-in-out infinite;
  transform-origin: center;
}
@keyframes warn-shake {
  0%, 85%, 100% { transform: rotate(0); }
  88% { transform: rotate(-6deg); }
  91% { transform: rotate(6deg); }
  94% { transform: rotate(-4deg); }
  97% { transform: rotate(0); }
}

/* Icon 3: clock (time lost) */
.icon-clock .hand {
  transform-origin: 16px 16px;
  animation: clock-tick 4s linear infinite;
}
@keyframes clock-tick {
  from { transform: rotate(0); }
  to { transform: rotate(360deg); }
}

/* Stat value counter scales on reveal */
.stat__value {
  transition: transform var(--t-med);
}
.stat:hover .stat__value {
  transform: scale(1.05);
}

/* Stat body slides up slightly on hover */
.stat__body {
  transition: transform var(--t-fast), color var(--t-fast);
}
.stat:hover .stat__body {
  transform: translateY(-2px);
  color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
  .icon-warn .bang { animation: none; }
  .icon-clock .hand { animation: none; }
}

/* ============================================================
   38. PILOT 002 — Testimonials section
   ============================================================ */

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px, 2vw, 24px);
}
.testimonial {
  padding: clamp(28px, 3vw, 40px);
  border: 1px solid var(--border-strong);
  border-radius: 16px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 24px;
  transition: border-color var(--t-fast), transform var(--t-fast);
}
.testimonial:hover {
  border-color: var(--accent);
  transform: translateY(-4px);
}
.testimonial__quote {
  font-family: var(--font-display);
  font-size: clamp(15px, 1.1vw, 18px);
  line-height: 1.55;
  color: var(--text);
  font-weight: 400;
  flex: 1;
}
.testimonial__author {
  display: flex;
  align-items: center;
  gap: 14px;
}
.testimonial__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--border-strong);
  flex-shrink: 0;
}
.testimonial__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.testimonial__name {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.testimonial__role {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.testimonial__stars {
  display: flex;
  gap: 2px;
  margin-bottom: 4px;
}
.testimonial__stars span {
  color: var(--accent);
  font-size: 14px;
}

@media (max-width: 900px) {
  .testimonials-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   39. PILOT 002 — Brand dots (3 LEDs) as recurring graphic element
   ============================================================ */

/* Reusable 3-dot brand mark */
.brand-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}
.brand-dots--center { justify-content: center; }
.brand-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid var(--accent-dim);
  background: transparent;
  transition: background var(--t-fast), border-color var(--t-fast);
}

/* Sequential fill animation (like the header LEDs) */
.brand-dots--animated span {
  animation: led-cycle 3s ease-in-out infinite;
}
.brand-dots--animated span:nth-child(1) { animation-delay: 0s; }
.brand-dots--animated span:nth-child(2) { animation-delay: 1s; }
.brand-dots--animated span:nth-child(3) { animation-delay: 2s; }

/* Static filled variant (all 3 lit) */
.brand-dots--filled span {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 8px rgba(198, 242, 78, 0.4);
}

/* Small variant for inline use */
.brand-dots--sm span {
  width: 5px;
  height: 5px;
}

/* Section divider variant — dots centered with lines */
.dots-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 48px 0;
}
.dots-divider::before, .dots-divider::after {
  content: "";
  width: 64px;
  height: 1px;
  background: var(--border-strong);
}

/* Override sticky scroll pips to match brand dots when active */
.sticky-scroll__progress .sticky-scroll__pip.is-active {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 12px rgba(198, 242, 78, 0.6) !important;
}

/* ---------- Founder avatar B&W ---------- */
.founder-block__avatar img {
  filter: grayscale(1) contrast(1.1);
}
