/* SuperSwipe landing v2 — section styles */

/* ============ MANIFESTO / WHO IS A SUPERFAN ============ */
.manifesto {
  padding: 120px var(--page-pad);
  background: #fff;
}
.manifesto-inner {
  max-width: var(--page-w); margin: 0 auto;
  display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px;
  align-items: start;
}
.manifesto-left { position: sticky; top: 96px; }
.manifesto-left h2 {
  font-size: 72px; line-height: 0.95; letter-spacing: -0.045em;
  margin-top: 28px; max-width: 520px;
}
.manifesto-left .num {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--neutral-500);
  margin-top: 32px;
}

/* === Pareto visualization === */
.pareto {
  margin: 56px 0 0;
  padding: 0;
  display: flex; flex-direction: column;
  max-width: 460px;
}
.pareto-row { display: flex; flex-direction: column; gap: 10px; }
.pareto-row-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
}
.pareto-row-name {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: #000;
}
.pareto-row-share {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--neutral-500);
}
.pareto-row-share .pareto-row-share-fans { color: var(--orange-500); font-weight: 500; }
.pareto-row-share .muted { color: var(--neutral-500); }

.pareto-bar {
  position: relative;
  height: 42px;
  background: #f1efe9;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}
.pareto-fill {
  position: absolute; top: 0; bottom: 0; left: 0;
  background-color: var(--orange-500);
  background-image: linear-gradient(
    -45deg,
    rgba(255,255,255,0.22) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255,255,255,0.22) 50%,
    rgba(255,255,255,0.22) 75%,
    transparent 75%,
    transparent
  );
  background-size: 18px 18px;
  width: 0%;
  transition: width 1.4s cubic-bezier(.22,.61,.36,1);
  animation: pareto-stripe 1.6s linear infinite;
}
@keyframes pareto-stripe {
  to { background-position: 18px 0; }
}
.pareto-cap {
  position: absolute; right: 10px; top: 50%;
  transform: translateY(-50%);
  font: 500 13px/1 var(--font-sans); letter-spacing: -0.02em;
  color: #000;
  font-variant-numeric: tabular-nums;
}

.pareto-connector {
  display: block;
  width: 24px;
  height: 56px;
  margin: 6px auto;
  overflow: visible;
}
.pareto-connector line[data-pareto-path] {
  animation: pareto-flow 1.6s linear infinite;
}
.pareto-connector .pareto-arrowhead {
  transform-origin: 12px 48px;
  animation: pareto-arrow-bob 1.6s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes pareto-flow {
  to { stroke-dashoffset: -14; }
}
@keyframes pareto-arrow-bob {
  0%, 100% { transform: translateY(0); opacity: 0.7; }
  50%      { transform: translateY(4px); opacity: 1; }
}

.pareto-row + .pareto-connector + .pareto-row { margin-top: 0; }
.pareto-row:last-of-type { margin-bottom: 10px; }

.pareto-cap-line {
  font: 500 10px/1.3 var(--font-mono); letter-spacing: -0.03em; text-transform: uppercase;
  color: var(--neutral-500);
  margin: 14px 0 0;
  display: flex; align-items: center; gap: 8px;
}
.pareto-cap-line .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--orange-500);
}
.manifesto-right {
  display: flex; flex-direction: column;
  border-top: 1px solid var(--border);
}
.manifesto-row {
  display: grid; grid-template-columns: 80px 1fr;
  gap: 40px;
  padding: 36px 0;
  border-bottom: 1px solid var(--border);
}
.manifesto-row-num {
  font: 500 13px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--neutral-500); padding-top: 6px;
}
.manifesto-row h3 {
  font-size: 32px; letter-spacing: -0.035em; line-height: 1.05;
  margin-bottom: 12px;
}
.manifesto-row p {
  font-size: 17px; line-height: 1.5; letter-spacing: -0.01em;
  color: var(--neutral-700); max-width: 560px;
}

/* ============ DRAW FLOW · SLIDESHOW ============ */
.drawflow {
  padding: 120px var(--page-pad);
  background: var(--neutral-50, #f7f6f3);
  border-top: 1px solid var(--border);
}
.drawflow-inner {
  max-width: var(--page-w); margin: 0 auto;
  display: flex; flex-direction: column; gap: 64px;
}
.drawflow-head {
  display: flex; flex-direction: column; gap: 18px;
  max-width: 880px;
}
.drawflow-head .eyebrow { color: var(--orange-600); }
.drawflow-head .eyebrow::before { background: var(--orange-600); }
.drawflow-head h2 {
  font-size: clamp(56px, 6vw, 96px);
  letter-spacing: -0.045em; line-height: 0.96;
}
.drawflow-head .lead {
  font-size: clamp(17px, 1.3vw, 19px); line-height: 1.5;
  color: var(--neutral-700); max-width: 720px;
}

.drawflow-stage {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Step list — horizontal stepper */
.drawflow-steps {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0;
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.drawflow-step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 16px 20px;
  border-left: 1px solid var(--border);
  cursor: pointer;
  transition: background 0.3s ease;
}
.drawflow-step:first-child { border-left: 0; }
.drawflow-step-num {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--neutral-400);
  transition: color 0.3s ease;
}
.drawflow-step-body { display: flex; flex-direction: column; gap: 4px; }
.drawflow-step-body h3 {
  font: 500 14px/1.25 var(--font-sans);
  letter-spacing: -0.02em;
  color: var(--neutral-500);
  transition: color 0.3s ease;
}
.drawflow-step-body p {
  display: none;
}

/* Active-step description area */
.drawflow-step-detail {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 4px 4px 0;
  min-height: 56px;
}
.drawflow-step-detail-num {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--orange-600);
  padding-top: 4px;
  flex: 0 0 36px;
}
.drawflow-step-detail-text {
  font-size: 16px; line-height: 1.5;
  color: var(--neutral-700);
  letter-spacing: -0.01em;
  max-width: 760px;
  transition: opacity 0.25s ease;
}
.drawflow-step-detail.is-swapping .drawflow-step-detail-text { opacity: 0; }

/* Progress bar */
.drawflow-step-progress {
  position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: transparent;
  pointer-events: none;
  overflow: hidden;
}
.drawflow-step-progress-fill {
  display: block; height: 100%;
  background: var(--orange-500);
  transform: scaleX(0); transform-origin: 0 0;
  transition: transform 0s linear;
}

/* Active step */
.drawflow-step.is-active { background: rgba(255, 92, 0, 0.04); }
.drawflow-step.is-active .drawflow-step-num { color: var(--orange-600); }
.drawflow-step.is-active .drawflow-step-body h3 { color: #000; }

.drawflow-step.is-played .drawflow-step-num { color: var(--neutral-600); }
.drawflow-step.is-played .drawflow-step-body h3 { color: var(--neutral-600); }

/* Path badges (winner vs not selected) */
.drawflow-step-path {
  display: inline-block;
  font: 500 9px/1 var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 6px;
  border-radius: 4px;
  width: fit-content;
}
.drawflow-step-path-win {
  background: rgba(255, 92, 0, 0.10);
  color: var(--orange-600);
}
.drawflow-step-path-lose {
  background: var(--neutral-100, #f1f1f0);
  color: var(--neutral-600);
}
/* Loser-path active uses neutral tint instead of orange */
.drawflow-step.drawflow-step-lose.is-active { background: rgba(0, 0, 0, 0.03); }
.drawflow-step.drawflow-step-lose.is-active .drawflow-step-num { color: var(--neutral-700); }
.drawflow-step.drawflow-step-lose .drawflow-step-progress-fill { background: var(--neutral-700); }

/* Preview — full width, sits above steps */
.drawflow-preview {
  position: relative;
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 40px -20px rgba(0,0,0,0.15);
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  transition: max-width 0.5s cubic-bezier(.4,0,.2,1);
}
.drawflow-preview.is-portrait {
  max-width: 520px;
}
.drawflow-preview-chrome {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: var(--neutral-100, #f4f4f4);
}
.drawflow-preview-dot {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
}
.drawflow-preview-url {
  margin-left: 12px;
  font: 500 12px/1 var(--font-mono);
  letter-spacing: -0.02em;
  color: var(--neutral-600);
  padding: 4px 10px;
  border-radius: 4px;
  background: rgba(0,0,0,0.04);
}
.drawflow-preview-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #fff;
  overflow: hidden;
  transition: aspect-ratio 0.5s cubic-bezier(.4,0,.2,1);
}
.drawflow-preview.is-portrait .drawflow-preview-frame {
  aspect-ratio: 4 / 5;
}
.drawflow-preview-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.45s cubic-bezier(.4,0,.2,1),
              transform 0.5s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.drawflow-preview-img.is-active {
  opacity: 1; transform: translateY(0);
}
.drawflow-preview-img-tall { object-fit: contain; object-position: top center; }

/* HTML-rendered mock slides (loser flow) */
.drawflow-mock {
  background: #fff;
  display: flex; justify-content: center; align-items: stretch;
  padding: 0;
  overflow: hidden;
}
.drawflow-mock-email {
  width: 100%;
  max-width: 640px;
  background: #fff;
  display: flex; flex-direction: column;
  padding: 36px 40px 32px;
  overflow-y: auto;
  margin: 0 auto;
}
.drawflow-mock-email-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.drawflow-mock-brand {
  display: inline-flex; align-items: center; gap: 10px;
  font: 700 14px/1 var(--font-sans);
  letter-spacing: 0.06em;
  color: #000;
}
.drawflow-mock-logo { display: inline-flex; }
.drawflow-mock-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font: 500 11px/1 var(--font-sans);
  padding: 6px 10px; border-radius: 999px;
}
.drawflow-mock-pill-muted {
  background: var(--neutral-100, #f1f1f0);
  color: var(--neutral-600);
}
.drawflow-mock-pill-muted::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--neutral-500);
}
.drawflow-mock-email-body {
  display: flex; flex-direction: column;
  padding-top: 22px;
}
.drawflow-mock-eyebrow {
  display: inline-flex;
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 4px;
  width: fit-content;
  margin-bottom: 14px;
}
.drawflow-mock-eyebrow-muted {
  background: var(--neutral-100, #f1f1f0);
  color: var(--neutral-600);
}
.drawflow-mock-heading {
  font: 700 32px/1.05 var(--font-sans);
  letter-spacing: -0.02em;
  color: #000;
  margin-bottom: 14px;
}
.drawflow-mock-divider {
  height: 4px; background: var(--orange-500);
  margin-bottom: 22px;
}
.drawflow-mock-divider-muted { background: var(--neutral-300, #d1d0cb); }
.drawflow-mock-product {
  background: var(--neutral-100, #f4f4f2);
  border-radius: 6px;
  aspect-ratio: 16 / 10;
  margin-bottom: 18px;
  background-image: url('../deck-slides/slide-16.png');
  background-size: 240% auto;
  background-position: center 18%;
  background-repeat: no-repeat;
  filter: grayscale(0.5) saturate(0.65);
}
.drawflow-mock-info {
  display: flex; justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 14px;
}
.drawflow-mock-info > div { display: flex; flex-direction: column; gap: 4px; }
.drawflow-mock-info > div:last-child { align-items: flex-end; }
.drawflow-mock-label {
  font: 400 11px/1 var(--font-sans);
  color: var(--neutral-500);
}
.drawflow-mock-value {
  font: 700 13px/1 var(--font-sans);
  letter-spacing: 0.04em; text-transform: uppercase;
  color: #000;
}
.drawflow-mock-callout {
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #fff;
  font: 400 13px/1.5 var(--font-sans);
  color: var(--neutral-700);
  margin-bottom: 22px;
}
.drawflow-mock-callout-muted {
  background: var(--neutral-50, #f7f6f3);
}
.drawflow-mock-subhead {
  font: 700 15px/1 var(--font-sans);
  color: #000;
  margin-bottom: 12px;
}
.drawflow-mock-next {
  list-style: none; margin: 0 0 22px; padding: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.drawflow-mock-next li {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font: 400 12px/1.4 var(--font-sans);
  color: var(--neutral-700);
}
.drawflow-mock-next-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--orange-500); color: #fff;
  font: 500 10px/1 var(--font-mono);
  flex: 0 0 22px;
}
.drawflow-mock-next-num-muted { background: var(--neutral-200, #e6e5e1); color: var(--neutral-600); }
.drawflow-mock-cta {
  appearance: none; border: 0;
  padding: 14px 20px; border-radius: 8px;
  background: var(--orange-500); color: #fff;
  font: 500 13px/1 var(--font-sans); letter-spacing: -0.005em;
  cursor: pointer;
  margin: 0 auto;
}
.drawflow-mock-cta-muted { background: var(--orange-500); color: #fff; }

/* Order summary block + footer (loser email) */
.drawflow-mock-summary {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 16px 18px;
  margin-bottom: 22px;
}
.drawflow-mock-summary h6 {
  font: 700 12px/1 var(--font-sans);
  letter-spacing: 0.06em;
  color: #000;
  margin-bottom: 14px;
}
.drawflow-mock-summary-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
}
.drawflow-mock-summary-grid > div { display: flex; flex-direction: column; gap: 4px; }
.drawflow-mock-summary-value {
  font: 400 13px/1.2 var(--font-sans);
  color: #000;
}
.drawflow-mock-summary-value-link {
  color: var(--orange-600);
  text-decoration: underline;
}
.drawflow-mock-footer {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
  margin-top: 8px;
}
.drawflow-mock-footer p {
  font: 400 11px/1.45 var(--font-sans);
  color: var(--neutral-600);
  text-align: center;
  margin: 0;
}
.drawflow-mock-footer u { color: var(--orange-600); text-decoration: underline; }
.drawflow-mock-next li u { color: var(--orange-600); text-decoration: underline; }

/* Order mock */
.drawflow-mock-order {
  width: 100%; max-width: 880px;
  display: flex; flex-direction: column; gap: 18px;
}
.drawflow-mock-order-head {
  display: grid; grid-template-columns: 24px 1fr auto;
  align-items: center; gap: 12px;
}
.drawflow-mock-order-head h4 {
  font: 700 22px/1.1 var(--font-sans);
  color: #000;
  letter-spacing: -0.02em;
}
.drawflow-mock-meta {
  font: 400 12px/1.2 var(--font-sans);
  color: var(--neutral-500);
}
.drawflow-mock-back {
  appearance: none; background: transparent; border: 0;
  font-size: 18px; color: #000; cursor: pointer; padding: 0;
}
.drawflow-mock-secondary {
  appearance: none;
  padding: 8px 14px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--neutral-700);
  font: 500 12px/1 var(--font-sans);
  cursor: pointer;
}
.drawflow-mock-status {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  font: 500 13px/1.3 var(--font-sans);
}
.drawflow-mock-status-muted {
  background: var(--neutral-100, #f1f1f0);
  color: var(--neutral-700);
}
.drawflow-mock-status-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px;
  font-size: 18px; color: var(--neutral-500);
  line-height: 1;
}
.drawflow-mock-order-body {
  display: grid; grid-template-columns: 1fr 360px; gap: 18px;
}
.drawflow-mock-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  display: flex; flex-direction: column; gap: 10px;
}
.drawflow-mock-card strong { font: 700 14px/1 var(--font-sans); color: #000; }
.drawflow-mock-card-row { display: flex; justify-content: space-between; align-items: baseline; }
.drawflow-mock-card-text {
  font: 400 12px/1.5 var(--font-sans);
  color: var(--neutral-600);
}
.drawflow-mock-link {
  appearance: none; background: transparent; border: 0;
  padding: 0; text-align: left;
  font: 500 12px/1 var(--font-sans);
  color: var(--neutral-700);
  cursor: pointer;
  text-decoration: underline;
}
.drawflow-mock-line {
  display: flex; justify-content: space-between;
  font: 400 12px/1 var(--font-sans);
  color: var(--neutral-600);
}
.drawflow-mock-line-total {
  font-size: 13px;
  color: #000;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}
.drawflow-mock-strike {
  text-decoration: line-through;
  color: var(--neutral-500);
}

.drawflow-preview-caption {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border-top: 1px solid var(--border);
  background: #fff;
}
.drawflow-preview-caption-label { text-align: right; }
.drawflow-preview-nav {
  display: inline-flex; gap: 6px;
}
.drawflow-preview-navbtn {
  appearance: none;
  width: 32px; height: 32px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--neutral-700);
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.drawflow-preview-navbtn:hover {
  background: var(--neutral-50, #f7f6f3);
  color: #000;
  border-color: var(--neutral-300, #d1d0cb);
}
.drawflow-preview-navbtn:focus-visible {
  outline: 2px solid var(--orange-500);
  outline-offset: 1px;
}
.drawflow-preview-navbtn:active {
  background: var(--neutral-100, #f1f1f0);
}
.drawflow-preview-caption-num {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--orange-600);
}
.drawflow-preview-caption-label {
  font: 500 13px/1 var(--font-sans);
  letter-spacing: -0.02em;
  color: var(--neutral-700);
}

/* Mobile */
@media (max-width: 900px) {
  .drawflow { padding: 80px 16px; }
  .drawflow-steps {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    margin: 0 -16px;
    padding: 0 16px;
  }
  .drawflow-step {
    flex: 0 0 78%;
    max-width: 280px;
    border-left: 1px solid var(--border);
    border-bottom: 0;
    scroll-snap-align: start;
  }
  .drawflow-step:first-child { border-left: 0; }
  .drawflow-mock { padding: 16px; }
  .drawflow-mock-order-body { grid-template-columns: 1fr; }
}

/* ============ SUPERFAN FRIENDLY · COMPARISON ============ */
.superfan-friendly {
  padding: 120px var(--page-pad);
  background: #fff;
  border-top: 1px solid var(--border);
}
.superfan-friendly-inner {
  max-width: var(--page-w); margin: 0 auto;
  display: flex; flex-direction: column; gap: 64px;
}
.superfan-friendly-head {
  display: flex; flex-direction: column; gap: 18px;
  max-width: 880px;
}
.superfan-friendly-head .eyebrow { color: var(--orange-600); }
.superfan-friendly-head .eyebrow::before { background: var(--orange-600); }
.superfan-friendly-head h2 {
  font-size: clamp(56px, 6vw, 96px);
  letter-spacing: -0.045em; line-height: 0.96;
}
.superfan-friendly-head .lead {
  font-size: clamp(17px, 1.3vw, 19px); line-height: 1.5;
  color: var(--neutral-700); max-width: 720px;
}

/* Comparison chart */
.superfan-compare {
  display: flex; flex-direction: column;
  border-top: 1px solid var(--border);
}
.superfan-compare-headrow,
.superfan-compare-row {
  display: grid;
  grid-template-columns: 1.1fr 1.3fr 1.3fr;
  gap: 32px;
  border-bottom: 1px solid var(--border);
}
.superfan-compare-headrow {
  padding: 20px 0;
  align-items: center;
}
.superfan-compare-brand {
  display: inline-flex; align-items: center; gap: 10px;
  font: 500 16px/1 var(--font-sans);
  letter-spacing: -0.02em;
}
.superfan-compare-brand.us { color: var(--orange-600); }
.superfan-compare-brand.them { color: var(--neutral-500); }
.superfan-compare-brand-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 6px;
  background: var(--orange-100, #fde7d6); color: var(--orange-600);
}
.superfan-compare-brand-mark.them-mark {
  background: var(--neutral-100, #f4f4f4);
  color: var(--neutral-500);
}

.superfan-compare-row {
  padding: 36px 0;
  align-items: start;
}
.superfan-compare-rowlabel {
  display: flex; gap: 16px; align-items: flex-start;
}
.superfan-compare-rownum {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--orange-600); padding-top: 6px; flex: 0 0 28px;
}
.superfan-compare-rowlabel h3 {
  font: 500 22px/1.15 var(--font-sans);
  letter-spacing: -0.03em;
  color: #000;
  margin-bottom: 6px;
}
.superfan-compare-rowlabel p {
  font-size: 14px; line-height: 1.45;
  color: var(--neutral-600); letter-spacing: -0.005em;
}

.superfan-compare-cell {
  display: flex; flex-direction: column; gap: 8px;
  padding-left: 16px;
  border-left: 1px solid var(--border);
}
.superfan-cell-head {
  font: 500 19px/1.2 var(--font-sans); letter-spacing: -0.025em;
  color: #000;
  margin-top: 4px;
}
.superfan-cell-sub {
  font-size: 14px; line-height: 1.45;
  color: var(--neutral-600); letter-spacing: -0.005em;
  max-width: 320px;
}
.superfan-compare-cell.them .superfan-cell-head { color: var(--neutral-600); }
.superfan-compare-cell.them .superfan-cell-sub { color: var(--neutral-500); }

/* Mark animation — ring draws first, then check or X */
.superfan-mark { color: var(--orange-600); }
.superfan-mark.them { color: var(--neutral-400); }
.superfan-mark .mark-ring {
  stroke: currentColor;
  stroke-dasharray: 82; stroke-dashoffset: 82;
  transition: stroke-dashoffset 0.55s cubic-bezier(.5,0,.2,1);
}
.superfan-mark .mark-check {
  stroke: currentColor;
  stroke-dasharray: 26; stroke-dashoffset: 26;
  transition: stroke-dashoffset 0.45s cubic-bezier(.5,0,.2,1) 0.35s;
}
.superfan-mark .mark-x {
  stroke: currentColor;
  stroke-dasharray: 16; stroke-dashoffset: 16;
  transition: stroke-dashoffset 0.3s cubic-bezier(.5,0,.2,1);
}
.superfan-mark .mark-x-a { transition-delay: 0.35s; }
.superfan-mark .mark-x-b { transition-delay: 0.55s; }

.superfan-compare-row.is-in .mark-ring,
.superfan-compare-row.is-in .mark-check,
.superfan-compare-row.is-in .mark-x { stroke-dashoffset: 0; }

/* Row rise-in */
.superfan-compare-row {
  opacity: 0; transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.4,0,.2,1);
}
.superfan-compare-row.is-in { opacity: 1; transform: translateY(0); }

/* Subtle column wash on the SuperSwipe side, for hierarchy */
.superfan-compare-cell.us {
  border-left-color: var(--orange-500);
}

/* Mobile */
@media (max-width: 760px) {
  .superfan-friendly { padding: 80px 16px; }
  .superfan-compare-headrow,
  .superfan-compare-row {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 0;
  }
  .superfan-compare-headrow .superfan-compare-rowlabel { display: none; }
  .superfan-compare-cell {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--border);
    padding-top: 16px;
  }
  .superfan-compare-cell.us { border-top-color: var(--orange-500); }
  .superfan-compare-cell::before {
    content: attr(data-brand);
    font: 500 11px/1 var(--font-mono);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--neutral-500);
  }
}

/* ============ SURFACES (white) ============ */
.surfaces {
  padding: 120px var(--page-pad);
  background: #fff;
  border-top: 1px solid var(--border);
}
.surfaces-inner {
  max-width: var(--page-w); margin: 0 auto;
  display: flex; flex-direction: column; gap: 56px;
}
.surfaces-head {
  display: flex; flex-direction: column; gap: 18px;
  max-width: 880px;
}
.surfaces-head .eyebrow { color: var(--orange-600); }
.surfaces-head .eyebrow::before { background: var(--orange-600); }
.surfaces-head h2 {
  font: 500 clamp(48px, 6vw, 84px)/0.94 var(--font-sans);
  letter-spacing: -0.04em;
  color: #000; margin: 0;
}
.surfaces-head .lead {
  font: 400 18px/1.5 var(--font-sans); letter-spacing: -0.005em;
  color: var(--neutral-600); max-width: 680px; margin: 0;
}

/* ============ SCALE (was product-split) ============ */
.scale {
  padding: 120px var(--page-pad);
  background: #050505;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.scale::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 18% 12%, rgba(255,70,24,0.10), transparent 60%),
    radial-gradient(ellipse 50% 40% at 90% 0%,   rgba(255,70,24,0.06), transparent 60%);
  pointer-events: none;
}
.scale-inner {
  position: relative;
  max-width: var(--page-w); margin: 0 auto;
  display: flex; flex-direction: column; gap: 64px;
}
.scale-head {
  display: flex; flex-direction: column; gap: 22px;
  max-width: 940px;
}
.scale-head .eyebrow { color: var(--orange-500); }
.scale-head .eyebrow::before { background: var(--orange-500); }
.scale-head h2 {
  font: 500 clamp(48px, 6vw, 92px)/0.94 var(--font-sans);
  letter-spacing: -0.045em;
  color: #fff;
  margin: 0;
}
.scale-head .lead {
  font: 400 18px/1.5 var(--font-sans); letter-spacing: -0.005em;
  color: rgba(255,255,255,0.65);
  max-width: 680px; margin: 0;
}

/* Stage: counter + grid */
.scale-stage {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 18px;
  align-items: stretch;
}
.scale-eyebrow-mono {
  display: inline-flex; align-items: center; gap: 8px;
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.scale-live-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #41d36b;
  box-shadow: 0 0 0 0 rgba(65,211,107,0.6);
  animation: scale-pulse-green 1.6s ease-out infinite;
}
@keyframes scale-pulse-green {
  0%   { box-shadow: 0 0 0 0 rgba(65,211,107,0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(65,211,107,0); }
  100% { box-shadow: 0 0 0 0 rgba(65,211,107,0); }
}

/* Counter card */
.scale-counter-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 28px;
  display: flex; flex-direction: column; gap: 28px;
}
.scale-counter-meta {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.scale-counter-region {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  padding: 5px 8px; border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.10);
}
.scale-counter-number {
  display: flex; align-items: baseline; gap: 14px;
}
.scale-counter-digits {
  font: 500 clamp(64px, 8vw, 112px)/0.9 var(--font-sans);
  letter-spacing: -0.05em;
  color: #fff;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #fff 0%, #c9c9c9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.scale-counter-unit {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.scale-counter-bar {
  position: relative;
  height: 6px;
  background: rgba(255,255,255,0.06);
  border-radius: 4px;
}
.scale-counter-bar-fill {
  position: absolute; top: 0; left: 0; bottom: 0;
  background: linear-gradient(90deg, #ff4618 0%, #ffa977 100%);
  border-radius: 4px;
  width: 0%;
  transition: width .6s cubic-bezier(.4,.0,.2,1);
  box-shadow: 0 0 12px rgba(255,70,24,0.5);
}
.scale-counter-bar-mark {
  position: absolute; top: 14px;
  transform: translateX(-50%);
  font: 500 10px/1 var(--font-mono); letter-spacing: -0.04em;
  color: rgba(255,255,255,0.4);
}
.scale-counter-bar-mark-end { transform: translateX(-100%); }
.scale-counter-bar-mark::before {
  content: ""; display: block;
  width: 1px; height: 6px;
  background: rgba(255,255,255,0.15);
  margin: -10px auto 4px;
}

/* Stat row */
.scale-stat-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 22px;
  gap: 0;
}
.scale-stat {
  padding-right: 18px;
  border-right: 1px solid rgba(255,255,255,0.08);
}
.scale-stat:last-child { border-right: 0; }
.scale-stat + .scale-stat { padding-left: 18px; }
.scale-stat-label {
  display: block;
  font: 500 10px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 8px;
}
.scale-stat-value {
  font: 500 26px/1 var(--font-sans); letter-spacing: -0.03em;
  color: #fff; font-variant-numeric: tabular-nums;
}
.scale-stat-value .unit {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em;
  color: rgba(255,255,255,0.45);
  margin-left: 3px;
}

/* Grid card */
.scale-grid-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 28px;
  display: flex; flex-direction: column; gap: 18px;
}
.scale-grid-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.scale-grid-tag {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: #41d36b;
  padding: 5px 8px; border-radius: 4px;
  background: rgba(65,211,107,0.08);
  border: 1px solid rgba(65,211,107,0.25);
}
.scale-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(18, 1fr);
  grid-auto-rows: 1fr;
  gap: 6px;
  min-height: 220px;
}
.scale-grid-cell {
  aspect-ratio: 1 / 1;
  border-radius: 2px;
  background: rgba(255,255,255,0.06);
  transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.scale-grid-cell.d-warm {
  background: rgba(255,170,90,0.55);
}
.scale-grid-cell.d-hot {
  background: var(--orange-500);
  box-shadow: 0 0 6px rgba(255,70,24,0.7);
}
.scale-grid-cell.d-quiet {
  background: rgba(255,255,255,0.06);
}
.scale-grid-legend {
  display: flex; gap: 18px;
  font: 500 10px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.scale-grid-legend span {
  display: inline-flex; align-items: center; gap: 6px;
}
.scale-grid-legend .dot {
  width: 7px; height: 7px; border-radius: 1px;
}
.scale-grid-legend .dot.d-quiet { background: rgba(255,255,255,0.10); }
.scale-grid-legend .dot.d-warm  { background: rgba(255,170,90,0.55); }
.scale-grid-legend .dot.d-hot   { background: var(--orange-500); }

/* Cards row below (re-skinned for dark bg) */
.scale-cards { margin-top: 8px; }
.scale-cards .product-card {
  border: 1px solid rgba(255,255,255,0.08);
}

@media (max-width: 1000px) {
  .scale-stage { grid-template-columns: 1fr; }
  .scale-grid { grid-template-columns: repeat(14, 1fr); min-height: 180px; }
  .scale-stat-row { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .scale-stat { border-right: 0; padding-left: 0 !important; }
}

/* ============ PRODUCT SPLIT (legacy) ============ */
.product-split { padding: 120px var(--page-pad); background: var(--neutral-50); }
.product-split-inner { max-width: var(--page-w); margin: 0 auto; }
.product-split-head { margin-bottom: 48px; max-width: 920px; }
.product-split-head h2 {
  font-size: 80px; line-height: 0.95; letter-spacing: -0.045em;
  margin-top: 24px;
}
.product-split-head .lead {
  margin-top: 28px; font-size: 19px; line-height: 1.5;
  letter-spacing: -0.01em; color: var(--neutral-700); max-width: 600px;
}
.product-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.product-card {
  position: relative; overflow: hidden;
  border-radius: 18px;
  min-height: 620px;
  padding: 36px;
  color: #fff;
  display: flex; flex-direction: column; justify-content: space-between;
  transition: transform .3s ease;
}
.product-card:hover { transform: translateY(-4px); }
.product-card.draw {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.85) 100%),
    #1a1a1a url(../assets/sneaker-cactus.png) center 38% / 78% no-repeat;
}
.product-card.music {
  background:
    linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.85) 100%),
    url(../assets/music-hero-bg.png) center 30% / cover no-repeat;
}
.product-card-head {
  display: flex; align-items: center; justify-content: space-between;
}
.product-card .tag {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 10px; border-radius: 6px;
  background: rgba(255,255,255,0.12); backdrop-filter: blur(8px);
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
}
.product-card .tag::before { content: ""; width: 8px; height: 8px; background: var(--orange-600); border-radius: 2px; }
.product-card .badge {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  padding: 5px 8px; border-radius: 4px;
  background: var(--status-green-bg); color: var(--status-green-fg);
}
.product-card-bottom { display: flex; flex-direction: column; gap: 18px; }
.product-card h3 { font-size: 60px; letter-spacing: -0.045em; max-width: 460px; line-height: 0.96; }
.product-card .desc {
  font-size: 16px; line-height: 1.5; color: rgba(255,255,255,0.78);
  max-width: 460px; letter-spacing: -0.01em;
}
.product-card-feats { display: flex; flex-wrap: wrap; gap: 6px; }
.product-card-feats .chip {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  padding: 7px 10px; border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.24);
  color: rgba(255,255,255,0.92);
}
.product-card-cta { display: flex; gap: 10px; margin-top: 8px; }

/* Coming-soon diagonal ribbon */
.coming-soon-ribbon {
  position: absolute;
  top: 26px; right: -56px;
  transform: rotate(35deg);
  background: var(--orange-500);
  color: #fff;
  width: 220px;
  text-align: center;
  font: 500 11px/1 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase;
  padding: 9px 0;
  box-shadow: 0 8px 18px rgba(0,0,0,0.35);
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
}
.coming-soon-ribbon::before,
.coming-soon-ribbon::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 6px;
  background: repeating-linear-gradient(
    -45deg,
    rgba(255,255,255,0.55) 0 3px,
    transparent 3px 6px
  );
}
.coming-soon-ribbon::before { left: 0; }
.coming-soon-ribbon::after  { right: 0; }
.product-card.is-soon { isolation: isolate; }
.product-card.is-soon::after {
  content: "";
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.18);
  pointer-events: none;
  z-index: 1;
}
.product-card.is-soon .product-card-head,
.product-card.is-soon .product-card-bottom { position: relative; z-index: 2; }

/* ============ FAN BOARD (DASHBOARD MOCK) ============ */
.fanboard {
  background: #fff;
  padding: 120px var(--page-pad);
  border-top: 1px solid var(--border);
}
.fanboard-inner {
  max-width: var(--page-w); margin: 0 auto;
}
.fanboard-head {
  max-width: 880px;
  display: flex; flex-direction: column; gap: 18px;
  margin-bottom: 64px;
}
.fanboard-head .eyebrow { color: var(--orange-600); }
.fanboard-head .eyebrow::before { background: var(--orange-600); }
.fanboard-head h2 {
  font: 500 clamp(44px, 5.4vw, 72px)/0.95 var(--font-sans);
  letter-spacing: -0.04em;
  color: #000;
}
.fanboard-head .lead {
  font: 400 17px/1.5 var(--font-sans); letter-spacing: -0.005em;
  color: var(--neutral-600); max-width: 680px; margin: 0;
}

.fanboard-grid {
  display: grid; grid-template-columns: 0.85fr 1.6fr;
  gap: 56px; align-items: start;
}

/* Override antibot-checks for white bg */
.fanboard .antibot-checks .check {
  border-bottom-color: var(--border);
}
.fanboard .antibot-checks .check-text h4 {
  color: #000;
}
.fanboard .antibot-checks .check-text p {
  color: var(--neutral-600);
}
.fanboard .antibot-checks .check-num {
  color: var(--orange-600);
}

/* ============ DASHBOARD MOCK ============ */
.dash-mock {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 30px 60px -25px rgba(0,0,0,0.18),
    0 12px 28px -14px rgba(0,0,0,0.08);
  font-family: var(--font-sans);
  color: #000;
}
.dash-chrome {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: #fafafa;
}
.dash-chrome-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: #d8d8d8;
}
.dash-chrome-dot:nth-child(1) { background: #ff5f56; }
.dash-chrome-dot:nth-child(2) { background: #ffbd2e; }
.dash-chrome-dot:nth-child(3) { background: #27c93f; }
.dash-chrome-url {
  margin-left: 10px;
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em;
  color: var(--neutral-500);
}

/* Release header */
.dash-rel-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  gap: 12px;
}
.dash-rel-id {
  display: flex; align-items: center; gap: 12px; min-width: 0;
}
.dash-back {
  color: var(--neutral-500); font-size: 16px; line-height: 1;
  width: 20px; height: 20px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 4px;
}
.dash-thumb {
  width: 28px; height: 28px; border-radius: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  overflow: hidden; flex-shrink: 0;
}
.dash-thumb img {
  width: 120%; height: auto; transform: rotate(-6deg);
  mix-blend-mode: multiply;
}
.dash-rel-name {
  font: 500 12px/1 var(--font-mono); letter-spacing: 0.02em;
  color: #000; text-transform: uppercase;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dash-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.05em;
  padding: 5px 8px; border-radius: 4px;
  text-transform: uppercase;
}
.dash-pill.green {
  background: #f1fdf1; color: #1a8a4a;
  border: 1px solid rgba(26,138,74,0.18);
}
.dash-pill .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #1a8a4a;
  box-shadow: 0 0 0 0 rgba(26,138,74,0.6);
  animation: dash-pulse-green 1.8s ease-out infinite;
}
@keyframes dash-pulse-green {
  0%   { box-shadow: 0 0 0 0 rgba(26,138,74,0.6); }
  70%  { box-shadow: 0 0 0 7px rgba(26,138,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(26,138,74,0); }
}
.dash-rel-actions { display: flex; gap: 8px; }
.dash-btn-ghost {
  font: 500 11px/1 var(--font-sans);
  background: #fff; color: #000;
  border: 1px solid var(--border);
  padding: 7px 11px; border-radius: 5px;
  cursor: default;
}

/* Stats row */
.dash-stats {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 0; padding: 16px;
}
.dash-stat {
  border: 1px solid var(--border);
  margin-left: -1px;
  padding: 14px 14px;
  display: flex; flex-direction: column; gap: 10px;
  background: #fff;
}
.dash-stat:first-child { margin-left: 0; border-radius: 6px 0 0 6px; }
.dash-stat:last-child  { border-radius: 0 6px 6px 0; }
.dash-stat svg { color: var(--neutral-500); }
.dash-stat-label {
  font: 500 11px/1 var(--font-sans); letter-spacing: -0.01em;
  color: #000;
}
.dash-stat-value {
  font: 500 22px/1 var(--font-sans); letter-spacing: -0.03em;
  color: #000;
  font-variant-numeric: tabular-nums;
}
.dash-stat-value.mono { font-family: var(--font-mono); font-size: 18px; }

/* Filter grid */
.dash-filters-label {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--neutral-500);
  padding: 18px 16px 8px;
}
.dash-filters {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  padding: 0 16px 16px;
}
.dash-filter {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 12px;
  display: flex; flex-direction: column; gap: 6px;
  background: #fff;
}
.dash-filter-head {
  display: inline-flex; align-items: center; gap: 7px;
  font: 500 11px/1.1 var(--font-sans); letter-spacing: -0.01em;
  color: var(--neutral-700);
}
.dash-filter-head svg { color: var(--orange-600); }
.dash-filter-num {
  font: 500 24px/1 var(--font-sans); letter-spacing: -0.03em;
  color: #000; font-variant-numeric: tabular-nums;
  transition: color .25s ease;
}
.dash-filter.is-bump .dash-filter-num { color: var(--orange-600); }
.dash-filter-sub {
  font: 500 10px/1.3 var(--font-mono); letter-spacing: -0.04em;
  color: var(--neutral-500);
}

/* Table shell */
.dash-table-shell {
  border-top: 1px solid var(--border);
  background: #fafafa;
  padding: 14px 16px 16px;
}
.dash-table-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 10px;
}
.dash-tabs { display: flex; gap: 2px; }
.dash-tab {
  font: 500 11px/1 var(--font-sans); letter-spacing: -0.01em;
  background: transparent; border: 1px solid transparent;
  padding: 7px 10px; border-radius: 5px;
  color: var(--neutral-600); cursor: default;
  display: inline-flex; align-items: center; gap: 7px;
}
.dash-tab .cnt {
  font: 500 10px/1 var(--font-mono); letter-spacing: -0.03em;
  color: var(--neutral-500);
  background: #ececec;
  padding: 3px 5px; border-radius: 3px;
}
.dash-tab.is-active {
  background: #fff; border-color: var(--border); color: #000;
}
.dash-tab.is-active .cnt { background: #f4f1ea; color: var(--orange-600); }

.dash-search {
  display: inline-flex; align-items: center; gap: 6px;
  background: #fff; border: 1px solid var(--border); border-radius: 5px;
  padding: 6px 10px;
  min-width: 220px;
}
.dash-search svg { color: var(--neutral-500); }
.dash-search-ph {
  font: 500 11px/1 var(--font-sans); letter-spacing: -0.01em;
  color: var(--neutral-500);
}

.dash-table {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}
.dash-th, .dash-tr {
  display: grid;
  grid-template-columns: 1.1fr 0.95fr 1.4fr 0.85fr 0.85fr 0.7fr;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
}
.dash-th {
  background: #fafafa;
  border-bottom: 1px solid var(--border);
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.06em;
  color: var(--neutral-500);
  text-transform: uppercase;
}
.dash-th .actions { text-align: right; }
.dash-rows {
  display: flex; flex-direction: column;
}
.dash-tr {
  border-bottom: 1px solid var(--border);
  font: 500 12px/1.2 var(--font-sans); letter-spacing: -0.01em;
  color: #000;
  position: relative;
  background: #fff;
  transition: background .35s ease;
}
.dash-tr:last-child { border-bottom: 0; }
.dash-tr.is-new {
  animation: dash-row-in 1.2s cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes dash-row-in {
  0%   { opacity: 0; transform: translateY(-6px); background: #fff7e8; }
  20%  { opacity: 1; transform: translateY(0);    background: #fff7e8; }
  100% { opacity: 1; transform: translateY(0);    background: #fff; }
}
.dash-tr .col-order { font-family: var(--font-mono); color: #000; letter-spacing: -0.02em; }
.dash-tr .col-date  { font-family: var(--font-mono); color: var(--neutral-600); letter-spacing: -0.02em; font-size: 11px; }
.dash-tr .col-cust  { color: #000; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-tr .col-var   {
  font-family: var(--font-mono); font-size: 11px;
  border: 1px solid var(--border); padding: 3px 7px; border-radius: 4px;
  display: inline-flex; align-items: center; gap: 4px;
  width: fit-content; color: #000;
}
.dash-tr .col-actions {
  text-align: right;
  display: flex; gap: 4px; justify-content: flex-end;
}
.dash-tr .col-actions .ic {
  width: 22px; height: 22px;
  border: 1px solid var(--border); border-radius: 4px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--neutral-600);
}
.dash-badge {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.04em;
  padding: 4px 8px; border-radius: 4px;
  text-transform: uppercase;
  width: fit-content;
}
.dash-badge.gray   { background: #f2f2f2; color: #000; }
.dash-badge.yellow { background: #292206; color: #ffd980; }
.dash-badge.green  { background: #0a210d; color: #7fff5a; }
.dash-badge.red    { background: #2d0707; color: #ff5959; }

.dash-tfoot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 12px;
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.03em;
  color: var(--neutral-500);
}
.dash-live-tag {
  display: inline-flex; align-items: center; gap: 7px;
  color: var(--orange-600);
}
.dash-live-tag .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--orange-500);
  box-shadow: 0 0 0 0 rgba(255,70,24,0.5);
  animation: dash-pulse-orange 1.6s ease-out infinite;
}
@keyframes dash-pulse-orange {
  0%   { box-shadow: 0 0 0 0 rgba(255,70,24,0.5); }
  70%  { box-shadow: 0 0 0 8px rgba(255,70,24,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,70,24,0); }
}

@media (max-width: 1100px) {
  .fanboard-grid { grid-template-columns: 1fr; gap: 36px; }
  /* On mobile, show the dashboard mock first (above "Filter option customization") */
  .fanboard-grid .dash-mock { order: 0; }
  .fanboard-grid .antibot-checks { order: 1; }
  .dash-stats { grid-template-columns: repeat(2, 1fr); }
  .dash-stat { margin-left: 0; border-radius: 6px !important; margin-bottom: 6px; }
  .dash-filters { grid-template-columns: repeat(2, 1fr); }
  .dash-th, .dash-tr { grid-template-columns: 1fr 1fr 0.7fr; }
  .dash-th > :nth-child(n+4), .dash-tr > :nth-child(n+4) { display: none; }
}

/* ============ ANTI-BOT ============ */
.antibot {
  padding: 120px var(--page-pad);
  background: #0a0a0a; color: #fff;
}
.antibot-head {
  max-width: var(--page-w); margin: 0 auto 56px;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: end;
}
.antibot-head h2 {
  font-size: 80px; line-height: 0.95; letter-spacing: -0.045em;
  margin-top: 28px; max-width: 700px;
}
.antibot-head h2 .ital {
  color: var(--orange-500);
  letter-spacing: -0.03em; font-weight: 500;
}
.antibot-head .lead {
  font-size: 18px; line-height: 1.55; letter-spacing: -0.01em;
  color: rgba(255,255,255,0.62); max-width: 460px;
}

/* === No-captcha callout === */
.captcha-killed {
  max-width: var(--page-w); margin: 0 auto 64px;
}
.captcha-killed-inner {
  display: grid;
  grid-template-columns: 1fr 64px 1.35fr;
  gap: 28px;
  align-items: stretch;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 26px;
}
.ck-col {
  display: flex; flex-direction: column; gap: 16px;
  min-width: 0;
}
.ck-col-meta {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; min-height: 22px;
}
.ck-col-meta .eyebrow-mono {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.ck-tag-bad {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--orange-500);
  background: rgba(255,70,24,0.10);
  border: 1px solid rgba(255,70,24,0.35);
  padding: 5px 8px; border-radius: 4px;
}
.ck-tag-good {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: #7dff2b;
  background: rgba(125,255,43,0.08);
  border: 1px solid rgba(125,255,43,0.30);
  padding: 5px 8px; border-radius: 4px;
  display: inline-flex; align-items: center; gap: 7px;
}
.ck-pulse {
  width: 6px; height: 6px; border-radius: 50%;
  background: #7dff2b;
  box-shadow: 0 0 0 0 rgba(125,255,43,0.7);
  animation: ck-pulse 1.6s ease-out infinite;
}
@keyframes ck-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(125,255,43,0.7); }
  70%  { box-shadow: 0 0 0 8px rgba(125,255,43,0); }
  100% { box-shadow: 0 0 0 0 rgba(125,255,43,0); }
}

/* Fake captcha card */
.ck-captcha-card {
  position: relative;
  background: #fff;
  color: #1f1f1f;
  border-radius: 8px;
  padding: 14px 14px 12px;
  display: flex; flex-direction: column; gap: 12px;
  filter: saturate(.85);
  opacity: .88;
  font: 500 13px/1.2 -apple-system, Helvetica, Arial, sans-serif;
}
.ck-captcha-head { display: flex; gap: 12px; align-items: flex-start; }
.ck-captcha-mark {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #4185f4; color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700;
}
.ck-captcha-line { display: block; color: #444; font-size: 12px; }
.ck-captcha-line.big { font-size: 17px; font-weight: 600; color: #111; margin-top: 2px; }
.ck-captcha-grid {
  position: relative;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #d8d8d8;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.ck-captcha-scene {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  z-index: 0;
}
.ck-captcha-grid > div {
  position: relative; z-index: 1;
  aspect-ratio: 1 / 1;
  background: transparent;
  box-shadow: 0 0 0 1.5px #ffffff inset;
}
.ck-captcha-foot {
  display: flex; align-items: center; justify-content: space-between;
}
.ck-captcha-refresh { color: #5a5a5a; font-size: 16px; }
.ck-captcha-btn {
  background: #4185f4; color: #fff; border: 0;
  padding: 8px 14px; font-size: 12px; font-weight: 600;
  border-radius: 3px; cursor: not-allowed;
}
.ck-strike {
  position: absolute; inset: -2px;
  width: calc(100% + 4px); height: calc(100% + 4px);
  pointer-events: none;
}
.ck-strike line[data-ck-strike] {
  animation: ck-strike-draw 2.4s ease-out forwards infinite;
}
@keyframes ck-strike-draw {
  0%   { stroke-dashoffset: 100; opacity: 0; }
  20%  { opacity: 1; }
  60%  { stroke-dashoffset: 0; opacity: 1; }
  85%  { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}

/* Middle verdict */
.ck-verdict {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.45);
  gap: 8px;
}
.ck-verdict-arrow line[data-ck-arrow-shaft] {
  animation: pareto-flow 1.6s linear infinite;
}
.ck-verdict-arrow .ck-verdict-head {
  transform-origin: 52px 12px;
  animation: ck-arrow-bob 1.6s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes ck-arrow-bob {
  0%, 100% { transform: translateX(0); opacity: 0.7; }
  50%      { transform: translateX(4px); opacity: 1; }
}
.ck-verdict-label {
  font: 500 10px/1 var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(255,255,255,0.45);}

/* Right side — silent signals */
.ck-signal-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  overflow: hidden;
  background: #060606;
  font-family: var(--font-mono);
}
.ck-signal-list li {
  display: grid; grid-template-columns: 160px 1fr;
  gap: 18px; align-items: baseline;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  font-size: 12px; letter-spacing: -0.02em;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .25s ease, transform .35s cubic-bezier(.22,.61,.36,1), background .2s ease;
}
.ck-signal-list li:last-child { border-bottom: 0; }
.ck-signal-list li.is-on {
  opacity: 1;
  transform: translateX(0);
}
.ck-signal-list li.is-flash {
  background: rgba(125,255,43,0.06);
}
.ck-signal-list .ck-key {
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.ck-signal-list .ck-val {
  color: #d6d6d6;
}
.ck-signal-list li.is-on .ck-val { color: #7dff2b; }

.ck-readout {
  display: flex; flex-direction: column; gap: 8px;
  margin-top: 4px;
}
.ck-readout-bar {
  height: 4px; background: rgba(255,255,255,0.08);
  border-radius: 4px; overflow: hidden;
}
.ck-readout-bar > span {
  display: block; height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--orange-500), #ffa977);
  transition: width .3s linear;
}
.ck-readout-label {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.02em;
  color: rgba(255,255,255,0.55);
  display: flex; align-items: baseline; gap: 10px;
}
.ck-readout-label [data-ck-count] { color: #fff; font-weight: 500; }
.ck-readout-time { color: rgba(255,255,255,0.4); }
.ck-readout-time [data-ck-ms] { color: var(--orange-500); }

@media (max-width: 900px) {
  .captcha-killed-inner { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .ck-verdict { height: auto; gap: 12px; }
  .ck-verdict-arrow {
    transform: rotate(90deg);
    width: 64px; height: 64px;
    margin: 20px 0;
  }
  .ck-verdict-arrow line[data-ck-arrow-shaft],
  .ck-verdict-arrow .ck-verdict-head { /* keep animations as-is */ }
  .ck-signal-list li { grid-template-columns: 120px 1fr; gap: 10px; }
}

.antibot-grid {
  max-width: var(--page-w); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center;
}
.antibot-checks { display: flex; flex-direction: column; gap: 16px; }
.antibot-checks-head {
  display: flex; flex-direction: column; gap: 8px;
  padding-bottom: 8px;
}
.antibot-checks-eyebrow {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-600);
}
.antibot-checks-title {
  font: 500 clamp(22px, 2.4vw, 28px)/1.1 var(--font-sans);
  letter-spacing: -0.03em;
  color: #000;
}
.antibot-checks .check {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.antibot-checks .check:last-child { border-bottom: 0; }
.antibot-checks .check-num {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--orange-500); flex: 0 0 36px; padding-top: 4px;
}
.antibot-checks .check-text { display: flex; flex-direction: column; gap: 6px; }
.antibot-checks .check-text h4 { font-size: 18px; letter-spacing: -0.025em; line-height: 1.2; }
.antibot-checks .check-text p { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.55); letter-spacing: -0.005em; }

/* Terminal */
.terminal {
  background: #050505;
  border: 1px solid #1f1f1f;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 30px 80px -20px rgba(255,70,24,0.18), 0 10px 30px -10px rgba(0,0,0,0.6);
  font-family: var(--font-mono);
}
.terminal-head {
  background: #0e0e0e; border-bottom: 1px solid #1f1f1f;
  height: 40px; display: flex; align-items: center; padding: 0 14px; gap: 10px;
  font-size: 12px; letter-spacing: -0.04em; text-transform: uppercase; color: var(--neutral-500);
}
.terminal-head .dots { display: flex; gap: 6px; }
.terminal-head .dots span { width: 10px; height: 10px; border-radius: 50%; background: #2a2a2a; }
.terminal-head .title { margin-left: 8px; }
.terminal-body {
  padding: 22px 22px 24px;
  font-size: 13px; line-height: 1.7;
  letter-spacing: -0.02em;
}
.terminal-row { display: flex; gap: 14px; align-items: baseline; }
.terminal-row .ts { color: #555; font-variant-numeric: tabular-nums; }
.terminal-row .tag-ok { color: var(--status-green-fg); }
.terminal-row .tag-warn { color: var(--status-yellow-fg); }
.terminal-row .tag-err { color: var(--status-red-fg); }
.terminal-row .id { color: #888; }
.terminal-row .note { color: #c7c7c7; }
.terminal-row .strike { color: #666; text-decoration: line-through; }
.terminal-divider { height: 1px; background: #1a1a1a; margin: 14px 0; }
.terminal-summary {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  margin-top: 4px;
}
.terminal-summary .stat {
  border: 1px solid #1f1f1f; border-radius: 8px; padding: 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.terminal-summary .stat-num {
  font-size: 26px; color: #fff; letter-spacing: -0.04em; font-variant-numeric: tabular-nums;
}
.terminal-summary .stat-num.ok { color: var(--status-green-fg); }
.terminal-summary .stat-num.err { color: var(--status-red-fg); }
.terminal-summary .stat-label {
  font-size: 10px; color: var(--neutral-500); letter-spacing: -0.04em; text-transform: uppercase;
}
.cursor {
  display: inline-block; width: 8px; height: 14px; background: var(--orange-500);
  vertical-align: -2px; margin-left: 2px;
  animation: blink 1s steps(2) infinite;
}
@keyframes blink { 50% { opacity: 0; } }

/* ============ DASHBOARD SHOWCASE ============ */
.dashboard {
  padding: 120px var(--page-pad);
  background: #fff;
}
.dashboard-inner { max-width: var(--page-w); margin: 0 auto; }
.dashboard-head {
  margin-bottom: 56px;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: end;
}
.dashboard-head h2 {
  font-size: 72px; line-height: 0.95; letter-spacing: -0.045em;
  margin-top: 24px; max-width: 700px;
}
.dashboard-head .lead {
  font-size: 17px; line-height: 1.55; letter-spacing: -0.01em;
  color: var(--neutral-700); max-width: 420px;
}
.dashboard-shot {
  border: 1px solid var(--border);
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 40px 80px -30px rgba(0,0,0,0.25), 0 10px 30px -10px rgba(0,0,0,0.06);
}
.dashboard-shot img { display: block; width: 100%; height: auto; }
.dashboard-sub {
  margin-top: 16px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.dashboard-sub-card {
  border: 1px solid var(--border); border-radius: 14px;
  padding: 24px; display: flex; flex-direction: column; gap: 14px;
  min-height: 380px; background: #fff;
}
.dashboard-sub-card .label {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--orange-600);
}
.dashboard-sub-card h4 { font-size: 24px; letter-spacing: -0.035em; line-height: 1.05; max-width: 280px; }
.dashboard-sub-card .desc { font-size: 14px; line-height: 1.55; color: var(--neutral-600); letter-spacing: -0.005em; }
.dashboard-sub-img {
  margin-top: auto; border: 1px solid var(--border); border-radius: 10px;
  overflow: hidden; background: #fafafa; height: 200px;
  display: flex; align-items: center; justify-content: center;
}
.dashboard-sub-img img { max-width: 100%; max-height: 100%; display: block; }
.dashboard-sub-img.tilt img { transform: rotate(2deg) scale(1.04); transform-origin: center; }

/* ============ HOW IT WORKS ============ */
.how { padding: 120px var(--page-pad); background: var(--neutral-50); }
.how-inner { max-width: var(--page-w); margin: 0 auto; }
.how-head { max-width: 760px; margin-bottom: 56px; }
.how-head h2 { font-size: 72px; letter-spacing: -0.045em; margin-top: 24px; line-height: 0.96; }
.how-head .lead { font-size: 18px; color: var(--neutral-700); margin-top: 24px; line-height: 1.55; max-width: 560px; letter-spacing: -0.01em; }
.steps {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  background: #fff;
}
.step {
  padding: 32px 28px 36px;
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 14px;
}
.step:last-child { border-right: 0; }
.step-num {
  font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--orange-600);
}
.step h4 { font-size: 22px; letter-spacing: -0.035em; line-height: 1.1; }
.step .desc { font-size: 14px; line-height: 1.55; color: var(--neutral-600); letter-spacing: -0.005em; }
.step-time {
  margin-top: auto;
  display: inline-flex; align-items: center; gap: 6px;
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: var(--neutral-500);
}

/* ============ STATS ROW ============ */
.statsband { padding: 0 var(--page-pad); background: var(--neutral-50); }
.statsband-inner {
  max-width: var(--page-w); margin: 0 auto;
  border-top: 1px solid var(--border);
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.statsband-cell {
  padding: 36px 28px;
  border-right: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 8px;
}
.statsband-cell:last-child { border-right: 0; }
.statsband-cell .num { font-size: 56px; letter-spacing: -0.045em; line-height: 1; font-weight: 500; font-variant-numeric: tabular-nums; }
.statsband-cell .num .unit { font-size: 24px; color: var(--neutral-500); letter-spacing: -0.04em; }
.statsband-cell .lab { font: 500 12px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase; color: var(--neutral-500); margin-top: 4px; }
.statsband-cell .note { font-size: 13px; color: var(--neutral-600); letter-spacing: -0.005em; }

/* ============ QUOTE ============ */
.quote { padding: 120px var(--page-pad); background: #fff; }
.quote-inner {
  max-width: 1020px; margin: 0 auto;
  display: flex; flex-direction: column; gap: 36px;
}
.quote-mark { font-family: Georgia, serif; font-size: 96px; line-height: 0.6; color: var(--orange-600); height: 36px; }
.quote-text {
  font-size: 48px; line-height: 1.12; letter-spacing: -0.04em; font-weight: 500;
}
.quote-text em { font-style: normal; color: var(--orange-600); }
.quote-attr { display: flex; align-items: center; gap: 14px; }
.quote-avatar {
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--orange-600), #1a1a1a);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font: 500 16px/1 var(--font-mono); letter-spacing: -0.04em;
}
.quote-meta { display: flex; flex-direction: column; gap: 4px; }
.quote-name { font-size: 15px; font-weight: 500; letter-spacing: -0.02em; }
.quote-role { font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase; color: var(--neutral-500); }

/* ============ FINAL CTA ============ */
.final-cta { padding: 0 var(--page-pad) 32px; }
.final-cta-card {
  max-width: var(--page-w); margin: 0 auto;
  background: var(--orange-600); color: #fff;
  border-radius: 20px;
  padding: 96px 72px;
  position: relative; overflow: hidden;
}
.final-cta-card::before {
  content: ""; position: absolute; right: -120px; top: -120px;
  width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 70%);
  pointer-events: none;
}
.final-cta-card::after { display: none; }
.final-cta-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 64px; position: relative; z-index: 1; }
.final-cta h2 {
  font-size: 96px; letter-spacing: -0.05em; line-height: 0.92; max-width: 720px;
}
.final-cta h2 .ital { color: var(--orange-300); font-weight: 500; letter-spacing: -0.04em; }
.final-cta-right { display: flex; flex-direction: column; gap: 18px; align-items: flex-end; }
.final-cta-right p { font-size: 16px; max-width: 320px; text-align: right; color: rgba(255,255,255,0.85); letter-spacing: -0.01em; line-height: 1.5; }
.final-cta-buttons { display: flex; gap: 10px; }
.final-cta-buttons .btn-primary {
  background: #fff; color: var(--orange-700);
  box-shadow: inset 0 4px 4px 0 rgba(255,255,255,0.5);
  border-bottom: 1.5px solid rgba(0,0,0,0.06);
}
.final-cta-buttons .btn-primary:hover { background: #fafafa; }
.final-cta-buttons .btn-ghost-light { border-color: rgba(255,255,255,0.45); }

/* ============ FOOTER ============ */
.footer {
  background: #0a0a0a; color: #fff; padding: 96px var(--page-pad) 40px;
}
.footer-inner { max-width: var(--page-w); margin: 0 auto; }
.footer-wordmark {
  font-size: clamp(40px, 6vw, 72px); letter-spacing: -0.05em;
  line-height: 0.9; font-weight: 500;
  margin-bottom: 48px; color: #fff;
}
.footer-wordmark .reg {
  font-size: 0.3em; vertical-align: super; color: var(--orange-500);
  font-family: var(--font-mono); letter-spacing: -0.04em;
}
.footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px;
  padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand p {
  font-size: 14px; color: rgba(255,255,255,0.55); line-height: 1.55;
  max-width: 320px; letter-spacing: -0.01em;
}
.footer-brand .badge {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 18px;
  padding: 7px 10px; border-radius: 6px;
  background: rgba(255,255,255,0.08);
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}
.footer-brand .badge svg { color: #95bf47; }
.footer-col h5 {
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-bottom: 18px;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.footer-col a { font-size: 14px; color: rgba(255,255,255,0.82); letter-spacing: -0.01em; }
.footer-col a:hover { color: #fff; }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 32px;
  font: 500 11px/1 var(--font-mono); letter-spacing: -0.04em; text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}

/* ============ RESPONSIVENESS ============ */
@media (max-width: 1100px) {
  .hero-strip { grid-template-columns: repeat(3, 1fr); }
  .hero-strip > :nth-child(4),
  .hero-strip > :nth-child(5) { display: none; }
  .manifesto-inner, .antibot-head, .antibot-grid, .dashboard-head { grid-template-columns: 1fr; gap: 32px; }
  .manifesto-left { position: static; }
  .product-card h3 { font-size: 44px; }
  .product-cards, .dashboard-sub, .steps, .statsband-inner, .footer-top { grid-template-columns: 1fr 1fr; }
  .final-cta-inner { flex-direction: column; align-items: flex-start; }
  .final-cta-right { align-items: flex-start; }
  .final-cta-right p { text-align: left; }
  .promises-inner { flex-wrap: wrap; row-gap: 12px; justify-content: center; }
}
@media (max-width: 760px) {
  :root { --page-pad: 16px; }
  .hero { padding: 48px 16px 24px; }
  .nav-links { display: none; }
  .hero-bottom { grid-template-columns: 1fr; gap: 28px; }
  .hero-strip { grid-template-columns: repeat(2, 1fr); }
  .product-cards, .dashboard-sub, .steps, .statsband-inner, .footer-top { grid-template-columns: 1fr; }
  .statsband-cell, .step { border-right: 0; border-bottom: 1px solid var(--border); }
  .product-split-head h2, .antibot-head h2, .dashboard-head h2, .how-head h2 { font-size: 44px !important; }
  .quote-text { font-size: 28px; }
  .final-cta-card { padding: 40px 20px 32px; }
  .final-cta h2 { font-size: 48px; line-height: 0.96; }
  .final-cta-right { width: 100%; gap: 22px; }
  .final-cta-right p { font-size: 15px; max-width: none; }
  .final-cta-buttons { flex-direction: column; gap: 10px; width: 100%; }
  .final-cta-buttons .btn { width: 100%; justify-content: center; }
  .final-cta-card::before { width: 320px; height: 320px; right: -120px; top: -160px; }
  .final-cta-card::after { display: none; } /* hide decorative marquee — was getting cut off and overlapping buttons */
  .announce .pill { display: none; }
  .promises-inner { font-size: 13px; }

  /* ===== Dashboard mock — mobile ===== */
  .fanboard { padding: 64px 16px; }
  .fanboard-head { margin-bottom: 32px; gap: 12px; }
  .fanboard-head h2 { font-size: 36px !important; line-height: 1 !important; }
  .fanboard-head .lead { font-size: 15px; }
  .dash-mock { border-radius: 10px; }
  .dash-chrome { padding: 8px 12px; gap: 6px; }
  .dash-chrome-dot { width: 7px; height: 7px; }
  .dash-chrome-url {
    font-size: 9.5px;
    margin-left: 6px;
    padding: 3px 7px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    max-width: 65%;
  }
  .dash-rel-header {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px;
  }
  .dash-rel-id { flex: 1 1 100%; gap: 8px; }
  .dash-rel-name { font-size: 11px; }
  .dash-pill { font-size: 9px; padding: 4px 6px; }
  .dash-pill .dot { width: 5px; height: 5px; }
  .dash-rel-actions { flex: 1 1 100%; gap: 6px; }
  .dash-btn-ghost {
    flex: 1; text-align: center;
    padding: 8px 10px !important;
    font-size: 11px;
    white-space: nowrap;
  }

  /* Stat row — horizontal scroll */
  .dash-stats {
    display: flex; gap: 8px;
    grid-template-columns: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 12px;
    scrollbar-width: none;
  }
  .dash-stats::-webkit-scrollbar { display: none; }
  .dash-stat {
    flex: 0 0 44%;
    min-width: 140px;
    padding: 12px !important;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 6px !important;
    scroll-snap-align: start;
  }
  .dash-stat svg { width: 12px; height: 12px; }
  .dash-stat-label { font-size: 10.5px; }
  .dash-stat-value { font-size: 19px; }
  .dash-stat-value.mono { font-size: 15px; }

  /* Filter cards — horizontal scroll */
  .dash-filters {
    display: flex; gap: 8px;
    grid-template-columns: none;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0 12px 12px;
    scrollbar-width: none;
  }
  .dash-filters::-webkit-scrollbar { display: none; }
  .dash-filter {
    flex: 0 0 44%;
    min-width: 140px;
    padding: 10px 12px;
    scroll-snap-align: start;
  }
  .dash-filter-head { font-size: 10.5px; gap: 6px; }
  .dash-filter-head svg { width: 12px; height: 12px; }
  .dash-filter-num { font-size: 20px; }
  .dash-filter-sub { font-size: 9.5px; line-height: 1.35; }

  /* Filter options label */
  .dash-filters-label { padding: 14px 12px 6px; font-size: 9.5px; }

  /* Entry table — let it scroll if needed */
  .dash-table-shell { overflow: hidden; }
  .dash-table-toolbar { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }

  /* ===== Sections — generic mobile polish ===== */
  .superfan-friendly-head h2,
  .drawflow-head h2,
  .surfaces-head h2 { font-size: 40px !important; line-height: 1 !important; }
  .superfan-friendly-head .lead,
  .drawflow-head .lead,
  .surfaces-head .lead { font-size: 15px; }

  /* Scale section */
  .scale { padding: 64px 16px; }
  .scale-head h2 { font-size: 40px !important; line-height: 1 !important; }

  /* Releases modal */
  .releases-modal { padding: 10px; }
  .releases-modal-panel { max-height: 92vh; }
  .releases-modal-head h3 { font-size: 18px; }

  /* Recent drops CTA — keep visible on small screens */
  .recent-drops-link {
    font-size: 12px;
    padding: 12px 18px;
  }

  /* Section padding cleanup */
  .manifesto { padding: 64px 16px; }
  .antibot { padding: 64px 16px; }
  .surfaces { padding: 64px 16px; }
  .superfan-friendly { padding: 64px 16px; }
  .drawflow { padding: 64px 16px; }

  /* Final CTA + footer compact */
  .footer { padding: 72px 16px 32px; }
  .footer-wordmark { margin-bottom: 32px; }
}
@media (max-width: 420px) {
  /* Tiny phone — keep horizontal scrollers, even more compact cards */
  .dash-stat, .dash-filter { flex: 0 0 48%; min-width: 130px; }
  .dash-rel-actions .dash-btn-ghost { font-size: 10px; padding: 7px 6px !important; }
  .dash-chrome-url { font-size: 9px; max-width: 55%; }
}


/* ============ SUPERFAN FRIENDLY · PRICING BREAKDOWN ============ */
.sf-pricing {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 20px;
  margin: 0 auto;
  width: 100%;
  max-width: 720px;
}
.sf-pricing-card {
  background: #fff;
  border: 1px solid var(--orange-500);
  border-radius: 12px;
  padding: 24px 24px 20px;
  display: flex; flex-direction: column; gap: 16px;
  box-shadow: 0 1px 0 var(--orange-500), 0 12px 24px -16px rgba(255, 92, 0, 0.25);
}
.sf-pricing-merchants { /* same treatment as fans card */ }
.sf-pricing-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.sf-pricing-tag {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange-600);
}
.sf-pricing-price {
  font: 600 28px/1 var(--font-sans);
  letter-spacing: -0.025em;
  color: #000;
  display: inline-flex; align-items: baseline; gap: 4px;
}
.sf-pricing-price-unit {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--neutral-500);
}
.sf-pricing-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.sf-pricing-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font: 400 14px/1.4 var(--font-sans);
  color: var(--neutral-700);
  letter-spacing: -0.005em;
}
.sf-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(255, 92, 0, 0.10);
  color: var(--orange-600);
  flex: 0 0 20px;
  margin-top: 1px;
}

@media (max-width: 760px) {
  .sf-pricing { grid-template-columns: 1fr; gap: 12px; }
  .sf-pricing-card { padding: 20px 18px 16px; }
  .sf-pricing-price { font-size: 24px; }
}

/* ============ SUPERFAN FRIENDLY · ANIMATED BADGE ============ */
.sf-anim {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  display: block;
}
.sf-anim svg {
  width: 100%;
  height: auto;
  display: block;
  font-family: var(--font-sans);
}
.sf-label {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  fill: var(--neutral-500);
}
.sf-label-left { text-anchor: middle; }
.sf-label-mid { text-anchor: middle; }
.sf-label-right { text-anchor: middle; fill: var(--orange-600); }
.sf-label-route { text-anchor: middle; fill: var(--orange-600); font-size: 10px; }

.sf-coin-text {
  font: 700 15px/1 var(--font-sans);
  fill: #fff;
  letter-spacing: -0.02em;
}
.sf-coin-text-sm {
  font: 700 12px/1 var(--font-sans);
  letter-spacing: -0.04em;
}
.sf-zero {
  font: 700 13px/1 var(--font-mono);
  fill: #fff;
  letter-spacing: -0.02em;
}

/* Shield pulse */
.sf-shield-ring {
  transform-origin: 0 0;
  animation: sf-shield-pulse 3.8s ease-in-out infinite;
}
@keyframes sf-shield-pulse {
  0%, 100% { opacity: 0.55; stroke-dashoffset: 0; }
  50% { opacity: 1; stroke-dashoffset: -32; }
}

.sf-zero-chip {
  animation: sf-zero-bob 3.8s ease-in-out infinite;
  transform-origin: center;
}
@keyframes sf-zero-bob {
  0%, 100% { transform: translate(0px, 0px); }
  50%      { transform: translate(0px, -6px); }
}

/* Fans gentle breathing */
.sf-fan { transform-origin: center; transform-box: fill-box; }
.sf-fan-2 { animation: sf-fan-pop 3.8s ease-in-out infinite; }
@keyframes sf-fan-pop {
  0%, 100% { transform: translate(0px, -14px) scale(1); }
  50%      { transform: translate(0px, -16px) scale(1.04); }
}

/* Coins drop + deflect off shield */
.sf-coin { opacity: 0; }
.sf-coin-1 { animation: sf-coin-drop 4s cubic-bezier(.5,.05,.5,1) infinite; }
.sf-coin-2 { animation: sf-coin-drop 4s cubic-bezier(.5,.05,.5,1) infinite 1.1s; }
.sf-coin-3 { animation: sf-coin-drop 4s cubic-bezier(.5,.05,.5,1) infinite 2.2s; }
@keyframes sf-coin-drop {
  0%   { opacity: 0;  transform: translate(150px, -30px) rotate(0deg); }
  10%  { opacity: 1; }
  35%  { opacity: 1;  transform: translate(155px, 90px) rotate(180deg); }
  55%  { opacity: 1;  transform: translate(280px, 130px) rotate(360deg); }
  75%  { opacity: 1;  transform: translate(380px, 165px) rotate(540deg); }
  100% { opacity: 0;  transform: translate(400px, 175px) rotate(720deg); }
}

/* Routed fee path — dash flow */
.sf-route-line {
  stroke-dasharray: 4 6;
  animation: sf-route-flow 1.6s linear infinite;
}
@keyframes sf-route-flow {
  to { stroke-dashoffset: -20; }
}

/* 5% coin rides path from store back to platform */
.sf-route-coin {
  offset-path: path("M 460 160 C 500 130, 540 130, 565 150");
  offset-distance: 0%;
  offset-rotate: 0deg;
  animation: sf-route-coin-ride 3.4s linear infinite;
}
@keyframes sf-route-coin-ride {
  0%   { offset-distance: 0%;   opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}

/* SuperSwipe receiver pulse */
.sf-ss-glow {
  animation: sf-ss-pulse 3.4s ease-in-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}
@keyframes sf-ss-pulse {
  0%, 100% { opacity: 0.4; transform: scale(0.98); }
  50%      { opacity: 1; transform: scale(1.05); }
}

@media (max-width: 760px) {
  .sf-anim { max-width: 100%; }
  .sf-label { font-size: 9px; }
  .sf-label-route { font-size: 8px; }
}

/* Mobile: pull the live capacity dashboard above the long descriptive lead */
@media (max-width: 760px) {
  .scale-inner { display: flex; flex-direction: column; gap: 24px; }
  /* Let .scale-head's children participate in .scale-inner's flex ordering */
  .scale-head { display: contents; }
  .scale-head > .eyebrow { order: 1; }
  .scale-head > h2 { order: 2; margin-bottom: 8px; }
  .scale-inner > .scale-stage { order: 3; }
  .scale-head > .scale-lead { order: 4; }
}

/* Mobile: in the anti-bot section, show the captcha-killed animation directly below the heading */
@media (max-width: 760px) {
  .antibot { display: flex; flex-direction: column; }
  .antibot > .antibot-head { order: 1; }
  .antibot > .captcha-killed { order: 2; margin-top: 24px; }
  .antibot > .lead { order: 3; margin-top: 24px; }
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .sf-coin-1, .sf-coin-2, .sf-coin-3,
  .sf-shield-ring,
  .sf-zero-chip,
  .sf-fan-2,
  .sf-route-line,
  .sf-route-coin {
    animation: none !important;
  }
  .sf-coin { opacity: 1; }
}
