:root {
  --bg: #07111f;
  --card: #101a2c;
  --muted: #94a3b8;
  --text: #e5eefb;
  --white: #fff;
  --line: #1e293b;
  --brand: #38bdf8;
  --brand2: #22c55e;
  --danger: #ef4444;
  --warn: #f59e0b;
  --shadow: 0 16px 44px rgba(0, 0, 0, 0.22);
  --radius: 14px;
  --radius-lg: 18px;
  --scan-size: 190px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  background: linear-gradient(155deg, #071125 0%, #050b17 48%, #020816 100%);
  color: var(--text);
  line-height: 1.5;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }

.container { width: min(1120px, 92vw); margin: 0 auto; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(2, 6, 23, 0.78);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

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

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: 0;
}

.brand img { width: 34px; height: 34px; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #cbd5e1;
  font-weight: 650;
}

.nav-links a:hover { color: #fff; }

.hero { padding: 72px 0 42px; }

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 42px;
  align-items: center;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(56, 189, 248, 0.3);
  background: rgba(14, 165, 233, 0.08);
  color: #bae6fd;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
}

.hero h1 {
  font-size: clamp(40px, 7vw, 76px);
  line-height: 0.95;
  margin: 20px 0 18px;
  letter-spacing: 0;
}

.lead {
  font-size: clamp(18px, 2.2vw, 22px);
  color: #cbd5e1;
  max-width: 720px;
}

.scan-box {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(16, 26, 44, 0.82);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}

.scan-field-wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.scan-form input, .field {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: #020617;
  color: #fff;
  border-radius: 16px;
  padding: 16px;
  font-size: 16px;
  outline: none;
}

.scan-form input:focus, .field:focus { border-color: var(--brand); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 12px;
  padding: 14px 18px;
  font-weight: 850;
  cursor: pointer;
  transition: transform .2s, opacity .2s;
  background: #1e293b;
  color: #fff;
}

.btn:hover { transform: translateY(-1px); }

.btn.primary {
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #04111f;
}

.btn.ghost {
  border: 1px solid rgba(148, 163, 184, .25);
  background: rgba(15, 23, 42, 0.7);
}

.btn.danger {
  background: linear-gradient(135deg, #fb7185, #ef4444);
  color: #fff;
}

.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.scan-type-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.type-card {
  padding: 12px 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(16, 26, 44, 0.82);
  color: var(--text);
  border-radius: 12px;
  text-align: center;
  font-weight: 800;
  cursor: pointer;
}

.type-card.active {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

.mode-switcher {
  margin-top: 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  padding-top: 14px;
}

.mode-title {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 14px;
  color: #cbd5e1;
}

.scan-mode-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.mode-card {
  text-align: left;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  padding: 12px;
  background: rgba(15, 23, 42, 0.72);
  color: var(--text);
  cursor: pointer;
}

.mode-card strong { display: block; }

.mode-card small,
.mode-card span { display: block; color: #94a3b8; margin-top: 4px; font-size: 13px; }

.mode-card.active {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

.mode-card:disabled,
.mode-card[disabled] {
  cursor: not-allowed;
  opacity: 0.62;
}

.scan-note {
  margin: 10px 0 4px;
  color: #cbd5e1;
  font-size: 14px;
}

.badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.badge {
  padding: 9px 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.58);
  border-radius: 999px;
  color: #dbeafe;
  font-weight: 700;
  font-size: 14px;
}

.hero-card {
  padding: 26px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.55));
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.metric-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.metric-row:last-child { border: 0; }

.metric-row strong { font-size: 24px; }

.section { padding: 54px 0; }

.section h2 { font-size: clamp(30px, 4vw, 46px); letter-spacing: 0; margin: 0 0 12px; }

.sub { color: #cbd5e1; margin: 0 0 26px; }

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.card {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 12px 42px rgba(0, 0, 0, 0.14);
}

.card h3 { margin: 0 0 8px; font-size: 22px; }

.card p { color: #cbd5e1; }

.result-panels { display: grid; grid-template-columns: 1fr 1.2fr; gap: 18px; align-items: start; }

.footer {
  border-top: 1px solid rgba(148, 163, 184, 0.16);
  padding: 32px 0;
  color: #94a3b8;
}

.footer-inner { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }

.footer a { margin-right: 14px; }

.sticky-cta {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%) translateY(120px);
  z-index: 40;
  transition: transform 0.25s;
}

.sticky-cta.visible { transform: translateX(-50%) translateY(0); }

.legal {
  width: min(900px, 92vw);
  margin: 52px auto;
  padding: 32px;
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 26px;
}

.legal h1 { font-size: 42px; letter-spacing: 0; }

.legal h2 { margin-top: 30px; }

.legal p, .legal li { color: #d0d8e7; }

.notice {
  padding: 14px 16px;
  border: 1px solid rgba(56, 189, 248, 0.26);
  background: rgba(14, 165, 233, 0.08);
  border-radius: 16px;
  color: #dbeafe;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.price { font-size: 56px; font-weight: 900; letter-spacing: 0; }

/* Scanner page */
.scanner-main {
  min-height: 70vh;
  display: grid;
  place-items: center;
  padding: 52px 0;
}

.scanner-card {
  width: min(760px, 92vw);
  text-align: center;
  background: rgba(15, 23, 42, 0.86);
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 28px;
  padding: 32px;
  box-shadow: var(--shadow);
}

.scan-activity-wrap {
  margin: 0 auto 24px;
  width: var(--scan-size);
  height: var(--scan-size);
  position: relative;
  display: grid;
  place-items: center;
}

.scan-activity {
  --scan-progress: 0;
  width: 172px;
  height: 172px;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
  animation: soft-pulse 2.6s ease-in-out infinite;
}

.scan-activity-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: radial-gradient(circle at 50% 50%, rgba(56, 189, 248, 0.08) 0%, rgba(2, 6, 23, 0) 58%, rgba(2, 6, 23, 0.28) 100%);
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
  position: relative;
}

.scan-activity-ring::after {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px dashed rgba(56, 189, 248, 0.32);
  animation: spin-ring 2.8s linear infinite;
  content: "";
}

.scan-activity-sweep {
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: rgba(56, 189, 248, 0.95);
  border-right-color: rgba(34, 197, 94, 0.84);
  transform: rotate(calc(var(--scan-progress, 0) * 52deg));
  transition: transform 0.32s ease;
}

.scan-node {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  left: 50%;
  top: 50%;
  background: rgba(226, 232, 240, 0.35);
  transform: rotate(var(--angle, 0deg)) translate(80px) rotate(calc(-1 * var(--angle, 0deg)));
  transition: background-color 0.22s, box-shadow 0.22s;
}

.scan-node.active {
  background: var(--brand);
  box-shadow: 0 0 0 6px rgba(56, 189, 248, 0.2);
}

.scan-core {
  position: absolute;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.35) 0%, rgba(15, 23, 42, 0.9) 72%);
  border: 1px solid rgba(148, 163, 184, 0.25);
  backdrop-filter: blur(8px);
}

.scan-core::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  border: 1px solid rgba(125, 211, 252, 0.5);
  animation: core-pulse 2.3s ease-in-out infinite;
}

.scan-core-label,
.scan-core-progress {
  margin: 0;
  line-height: 1.2;
}

.scan-core-label { font-weight: 700; }
.scan-core-progress { color: #cbd5e1; font-size: 14px; }

.scan-meta {
  margin: 0;
  color: #a5f3fc;
  font-size: 14px;
}

@keyframes soft-pulse {
  0% { transform: scale(0.99); }
  50% { transform: scale(1.02); }
  100% { transform: scale(0.99); }
}

@keyframes spin-ring {
  to { transform: rotate(360deg); }
}

@keyframes core-pulse {
  0%, 100% { opacity: 0.68; }
  50% { opacity: 1; }
}

.progress-track {
  --ratio: 0;
  margin: 14px 0 20px;
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  overflow: hidden;
}

.progress-fill {
  position: absolute;
  inset: 0;
  width: calc(var(--ratio, 0) * 100%);
  background: linear-gradient(90deg, var(--brand), var(--brand2));
  transition: width 0.35s ease;
}

.progress-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 8px;
  text-align: left;
}

.progress-list li {
  padding: 12px 14px;
  margin: 8px 0;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.36);
  color: #94a3b8;
}

.progress-list li.active {
  color: #fff;
  border-color: rgba(56, 189, 248, 0.45);
  background: rgba(14, 165, 233, 0.14);
}

/* Share + admin */
.share-body { min-height: 100vh; display: grid; place-items: center; padding: clamp(16px, 4vw, 40px); }

.share-card { width: min(920px, 92vw); text-align: center; }

.share-og { width: 100%; border-radius: 24px; box-shadow: var(--shadow); border: 1px solid rgba(148, 163, 184, 0.22); }

.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.switch-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.switch-row:last-child { border: 0; }

.switch-row input[type=checkbox] { width: 46px; height: 26px; }

.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.stat {
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 18px;
  background: rgba(2, 6, 23, 0.34);
}

.stat strong { font-size: 28px; display: block; }

.modal {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 20px;
}

.modal.open { display: flex; }

.modal-card {
  width: min(520px, 96vw);
  background: #0f172a;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 24px;
  padding: 24px;
  box-shadow: var(--shadow);
}

@media (max-width: 860px) {
  .hero-grid,
  .cards,
  .pricing-grid,
  .admin-grid,
  .result-panels,
  .stats {
    grid-template-columns: 1fr;
  }
  .scan-type-grid, .scan-mode-grid { grid-template-columns: repeat(2, 1fr); }
  .scan-field-wrap { grid-template-columns: 1fr; }
  .scan-activity-wrap { transform: scale(0.92); }
}

/* Polished ScanTheLink launch UI */
:root {
  --bg: #fbf8fb;
  --surface: #ffffff;
  --surface-soft: #fff6f5;
  --text: #2b1237;
  --muted: #77677f;
  --line: #eadfea;
  --brand: #ff3d68;
  --brand2: #ff7a18;
  --brand3: #4b0d5c;
  --success: #16a34a;
  --shadow: 0 18px 54px rgba(69, 20, 84, 0.12);
  --shadow-soft: 0 10px 28px rgba(69, 20, 84, 0.08);
  --radius: 8px;
  --radius-lg: 8px;
}

body {
  background:
    linear-gradient(90deg, rgba(255, 122, 24, 0.08), rgba(255, 61, 104, 0.03) 36%, rgba(75, 13, 92, 0.04)),
    #fbf8fb;
  color: var(--text);
}

.container { width: min(1180px, 92vw); }

.nav {
  background: rgba(255, 255, 255, 0.88);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 28px rgba(69, 20, 84, 0.04);
}

.nav-inner { height: 70px; }

.brand {
  color: var(--text);
  font-size: 18px;
  letter-spacing: 0;
}

.brand img {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(75, 13, 92, 0.14);
}

.nav-links { color: #5b4d63; gap: 22px; }
.nav-links a:hover { color: var(--brand3); }

.btn {
  border-radius: 10px;
  min-height: 46px;
  padding: 13px 18px;
  box-shadow: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn.primary {
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff;
  box-shadow: 0 14px 28px rgba(255, 61, 104, 0.22);
}

.btn.primary:hover { box-shadow: 0 18px 34px rgba(255, 61, 104, 0.28); }

.btn.ghost {
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
}

.btn.ghost:hover { border-color: rgba(255, 61, 104, 0.38); }

.hero-polished {
  position: relative;
  padding: 50px 0 48px;
  overflow: hidden;
}

.hero-polished::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.1), rgba(255,255,255,.82) 34%, rgba(255,255,255,.94)),
    url("../assets/soft-grid-bg.webp") left bottom / 62% auto no-repeat;
  opacity: .72;
  pointer-events: none;
}

.hero-polished > .container { position: relative; z-index: 1; }

.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 0.88fr);
  gap: 50px;
}

.hero-copy { max-width: 680px; }

.eyebrow {
  color: #6f1d7a;
  background: #fff;
  border: 1px solid #ead7ec;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(75, 13, 92, 0.06);
}

.muted-eyebrow {
  box-shadow: none;
  color: #7a3b84;
}

.hero h1 {
  color: #2b1237;
  font-size: clamp(40px, 5.2vw, 62px);
  line-height: 1.05;
  letter-spacing: 0;
  margin: 16px 0 14px;
  max-width: 720px;
}

.lead {
  color: #67566f;
  max-width: 620px;
  font-size: clamp(17px, 1.6vw, 20px);
}

.scan-console {
  background: rgba(255, 255, 255, .88);
  border: 1px solid #eadfea;
  border-radius: 8px;
  padding: 18px;
  margin-top: 22px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}

.scan-field-wrap {
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.scan-form input,
.field {
  background: #fff;
  color: var(--text);
  border: 1px solid #dfd0df;
  border-radius: 8px;
  min-height: 54px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.scan-form input::placeholder { color: #9a8ca0; }
.scan-form input:focus, .field:focus { border-color: var(--brand); box-shadow: 0 0 0 4px rgba(255, 61, 104, .10); }

.scan-type-grid { gap: 8px; margin-top: 12px; }

.auto-detect-card {
  margin-top: 12px;
  display: grid;
  gap: 12px;
  border: 1px solid #eadfea;
  border-radius: 8px;
  background: #fff7f5;
  padding: 16px;
}

.auto-detect-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.section-label-small {
  color: #806d86;
  font-size: 13px;
  font-weight: 850;
}

.auto-detect-card strong {
  color: var(--brand3);
  font-size: 18px;
}

.auto-detect-card p {
  margin: 0;
  color: #6c5d72;
}

.supported-targets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.supported-targets span {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  border: 1px solid #eadfea;
  background: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  color: #5d4d64;
  font-weight: 800;
  font-size: 13px;
}

.type-card {
  background: #fff;
  color: var(--text);
  border: 1px solid #eadfea;
  border-radius: 8px;
  min-height: 46px;
  box-shadow: 0 8px 18px rgba(69, 20, 84, 0.04);
}

.type-card span { display: block; }

.type-card.active {
  border-color: var(--brand);
  background: linear-gradient(180deg, #fff7f7, #fff);
  box-shadow: 0 0 0 3px rgba(255, 61, 104, .10);
}

.mode-switcher {
  border-top: 1px solid #eadfea;
  margin-top: 14px;
}

.section-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  color: #7c6d82;
  font-size: 13px;
}

.section-label strong { color: var(--brand3); font-size: 13px; }

.scan-mode-grid { gap: 10px; }

.mode-card {
  position: relative;
  background: #fff;
  color: var(--text);
  border: 1px solid #eadfea;
  border-radius: 8px;
  padding: 14px;
  min-height: 132px;
  box-shadow: 0 10px 24px rgba(69, 20, 84, 0.05);
}

.mode-card strong {
  font-size: 22px;
  color: var(--text);
}

.mode-card small,
.mode-card span {
  color: #74627c;
  font-size: 14px;
}

.mode-card .plan-kicker,
.plan-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: #8a2459;
  background: #fff0f0;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 8px;
}

.mode-card.active {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(255, 61, 104, .11), 0 16px 32px rgba(69,20,84,.09);
}

.mode-card.premium {
  background: linear-gradient(180deg, #fff, #fff7f5);
}

.mode-card:disabled,
.mode-card[disabled] {
  opacity: .82;
}

.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.trust-row span,
.badge {
  background: #fff;
  color: #5d4d64;
  border: 1px solid #eadfea;
  border-radius: 999px;
  padding: 9px 12px;
  box-shadow: 0 8px 18px rgba(69,20,84,.05);
}

.hero-product {
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 14px;
}

.preview-top {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eadfea;
  background: #fff;
  box-shadow: var(--shadow);
  aspect-ratio: 1.35;
}

.preview-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.preview-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 14px;
  padding: 18px;
  background: #fff;
  border: 1px solid #eadfea;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.preview-score {
  border-right: 1px solid #eadfea;
}

.preview-score span,
.preview-score small,
.preview-metrics span {
  display: block;
  color: #827186;
}

.preview-score strong {
  font-size: 68px;
  line-height: .9;
  color: var(--brand);
}

.preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.preview-metrics div {
  padding: 12px;
  border-radius: 8px;
  background: #fff7f5;
}

.preview-metrics strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  color: var(--brand3);
}

.section { padding: 58px 0; }

.product-section,
.plans-section {
  background: rgba(255,255,255,.58);
  border-top: 1px solid #f0e6ef;
}

.section-grid {
  display: grid;
  grid-template-columns: .88fr 1fr;
  gap: 40px;
  align-items: start;
}

.section h2 {
  color: var(--text);
  letter-spacing: 0;
  line-height: 1.03;
}

.sub { color: #6c5d72; }

.feature-list {
  display: grid;
  gap: 12px;
}

.feature-item {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 18px;
  align-items: center;
  background: #fff;
  border: 1px solid #eadfea;
  border-radius: 8px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
}

.feature-item strong { color: var(--brand3); }
.feature-item span { color: #6c5d72; }

.section-heading {
  max-width: 680px;
  margin-bottom: 22px;
}

.card {
  background: #fff;
  border-color: #eadfea;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.card p { color: #6c5d72; }

.pricing-grid-polished {
  grid-template-columns: repeat(3, 1fr);
}

.plan-card {
  min-height: 290px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.plan-card.current {
  border-color: rgba(255,61,104,.42);
  box-shadow: 0 0 0 3px rgba(255,61,104,.08), var(--shadow-soft);
}

.plan-card .btn { margin-top: auto; }

.price {
  color: var(--brand3);
  font-size: 48px;
  letter-spacing: 0;
}

.pricing-page h1 {
  max-width: 760px;
  margin: 10px 0 14px;
  color: var(--text);
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1.02;
}

.btn.is-disabled {
  opacity: .62;
  cursor: not-allowed;
  box-shadow: none;
}

.share-body {
  background: #fbf8fb;
}

.share-card {
  background: #fff;
  border: 1px solid #eadfea;
  border-radius: 8px;
  padding: clamp(24px, 5vw, 44px);
  box-shadow: var(--shadow-soft);
}

.share-card img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 14px;
}

.share-og {
  border-radius: 8px;
  border-color: #eadfea;
}

.modal-card {
  background: #fff;
  color: var(--text);
  border-color: #eadfea;
  border-radius: 8px;
}

.stat {
  background: #fff;
  border-color: #eadfea;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}

.switch-row {
  border-bottom-color: #eadfea;
}

.footer {
  background: #fff;
  border-top-color: #eadfea;
  color: #786a7d;
}

.legal {
  background: #fff;
  color: var(--text);
  border-color: #eadfea;
  border-radius: 8px;
}

.legal p, .legal li { color: #66576c; }

.legal-polished {
  margin: clamp(24px, 6vw, 64px) auto;
  border: 1px solid #dfe5ef;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)),
    linear-gradient(90deg, rgba(36,59,107,.05) 0 1px, transparent 1px 100%);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
  border-radius: 12px;
}

.legal-polished h1 {
  margin: 8px 0 12px;
  color: #172033;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.04;
}

.legal-polished h2 {
  margin-top: 28px;
  color: #172033;
  font-size: 22px;
}

.legal-polished p {
  max-width: 780px;
  line-height: 1.65;
}

.legal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

/* Modern scanner page */
.scanner-main {
  min-height: 100vh;
  background: radial-gradient(circle at 20% 10%, rgba(255,122,24,.15), transparent 28%), #fbf8fb;
}

.scanner-card-modern {
  background: #fff;
  color: var(--text);
  border-color: #eadfea;
  border-radius: 8px;
  text-align: left;
}

.scanner-card-modern h1 { margin-bottom: 4px; }

.scanner-card-modern [data-state] { color: #6c5d72; margin-top: 0; }

.scanner-card-modern.scan-error [data-state] {
  color: #8f123c;
  font-weight: 700;
}

.scanner-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  margin-bottom: 20px;
}

.scanner-brand img { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; }

.scan-activity-panel {
  width: 100%;
  height: 210px;
  margin: 0 0 22px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(135deg, rgba(75,13,92,.92), rgba(255,61,104,.72)),
    #2b1237;
  box-shadow: var(--shadow);
}

.scan-error .scan-activity-panel {
  background:
    linear-gradient(135deg, rgba(75,13,92,.9), rgba(255,61,104,.46)),
    #2b1237;
}

.scan-beam {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  width: 34%;
  animation: scan-beam 2s ease-in-out infinite;
}

.scan-error .scan-beam {
  animation-play-state: paused;
  opacity: .22;
}

.scan-grid-lines {
  position: absolute;
  inset: 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.scan-grid-lines span {
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
}

.scan-signal-stack {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.signal {
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.25);
}

.signal.active {
  background: linear-gradient(90deg, #fff, #ffe2c7);
  box-shadow: 0 0 22px rgba(255,255,255,.38);
}

.scan-error .signal.active {
  background: linear-gradient(90deg, #fff, #ffcad6);
}

.scan-activity-panel .scan-core {
  position: absolute;
  width: auto;
  height: auto;
  left: 28px;
  top: 24px;
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
}

.scan-activity-panel .scan-core::after { display: none; }

.scan-core-label { font-size: 24px; font-weight: 900; }
.scan-core-progress { color: rgba(255,255,255,.78); }

.scan-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 18px 0;
}

.scan-meta {
  color: #5d4d64;
  background: #fff7f5;
  border: 1px solid #eadfea;
  border-radius: 8px;
  padding: 12px;
}

.progress-track { background: #efe3ee; }
.progress-fill { background: linear-gradient(90deg, var(--brand), var(--brand2)); }

.progress-list li {
  background: #fff;
  color: #75647d;
  border-color: #eadfea;
  border-radius: 8px;
}

.progress-list li.active {
  color: var(--text);
  border-color: rgba(255,61,104,.38);
  background: #fff7f5;
}

.retry-hint {
  margin: 6px 0 12px;
  color: #8f123c;
  font-weight: 800;
}

@keyframes scan-beam {
  0% { transform: translateX(-120%); }
  50% { transform: translateX(190%); }
  100% { transform: translateX(320%); }
}

@keyframes scan-orbit {
  to { transform: rotate(360deg); }
}

@keyframes scan-pulse {
  0%, 100% { transform: scale(.94); opacity: .86; }
  50% { transform: scale(1.04); opacity: 1; }
}

@keyframes scan-ray {
  0%, 100% { opacity: .18; clip-path: inset(0 72% 0 0); }
  45%, 60% { opacity: .92; clip-path: inset(0 0 0 0); }
}

@media (max-width: 900px) {
  .hero-grid,
  .section-grid,
  .pricing-grid-polished,
  .preview-card,
  .feature-item,
  .scan-meta-grid {
    grid-template-columns: 1fr;
  }

  .preview-score { border-right: 0; border-bottom: 1px solid #eadfea; padding-bottom: 12px; }
  .hero-polished { padding-top: 42px; }
  .nav-links a:not(.btn) { display: none; }
  .hero h1 { font-size: clamp(40px, 13vw, 64px); }
}

/* SaaS user dashboard inspired by modern audit products */
.dashboard-app-body {
  background: #fbf8fb;
  color: #2b1237;
}

.dashboard-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
}

.dashboard-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 24px 20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 122, 24, .32), transparent 24%),
    linear-gradient(180deg, #3a074d, #250333 72%, #19011f);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 22px;
  box-shadow: 20px 0 60px rgba(75, 13, 92, .16);
}

.dashboard-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 950;
  font-size: 18px;
}

.dashboard-logo img { width: 54px; height: 54px; object-fit: cover; border-radius: 14px; }

.dashboard-menu { display: grid; gap: 8px; margin-top: 10px; }
.dashboard-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 14px;
  color: rgba(255,255,255,.82);
  font-weight: 850;
}
.dashboard-menu a.active, .dashboard-menu a:hover { background: rgba(255,255,255,.13); color: #fff; }
.dashboard-menu span { width: 22px; text-align: center; }

.dashboard-side-card {
  margin-top: auto;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 16px;
}
.dashboard-side-card span { display: block; color: rgba(255,255,255,.7); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-side-card strong { display: block; margin: 6px 0; }
.dashboard-side-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; }
.dashboard-quick-scan {
  display: block;
  text-align: center;
  padding: 15px;
  border-radius: 14px;
  background: linear-gradient(135deg, #ff7a18, #ff2f6d);
  color: #fff;
  font-weight: 950;
}

.dashboard-main { padding: 28px clamp(18px, 3vw, 42px) 56px; }
.dashboard-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.dashboard-topbar h1 { margin: 4px 0 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.03em; }
.dashboard-kicker { margin: 0; color: #6f1d7a; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-account-card {
  min-width: 220px;
  background: #fff;
  border: 1px solid #eadfea;
  border-radius: 18px;
  padding: 14px 16px;
  box-shadow: 0 14px 40px rgba(69,20,84,.08);
}
.dashboard-account-card span { color: #806d86; font-size: 13px; }
.dashboard-account-card strong { display: block; color: #2b1237; }

.dashboard-auth-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 18px;
  align-items: center;
  background: linear-gradient(135deg, #fff, #fff7f5);
  border: 1px solid #eadfea;
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 20px;
  box-shadow: 0 14px 42px rgba(69,20,84,.07);
}
.dashboard-auth-card h2 { margin: 0 0 6px; }
.dashboard-auth-card p { margin: 0; color: #6d5b74; }
.dashboard-auth-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.dashboard-app-body .field { background: #fff; color: #2b1237; border-color: #eadfea; border-radius: 14px; }

.dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 20px;
}
.dashboard-kpi-card,
.dashboard-panel {
  background: rgba(255,255,255,.92);
  border: 1px solid #eadfea;
  border-radius: 20px;
  box-shadow: 0 18px 48px rgba(69,20,84,.09);
}
.dashboard-kpi-card { padding: 20px; min-height: 126px; }
.dashboard-kpi-card span { color: #4b0d5c; font-weight: 900; }
.dashboard-kpi-card strong { display: block; margin: 10px 0 2px; color: #3b0649; font-size: clamp(30px, 4vw, 44px); line-height: 1; }
.dashboard-kpi-card small { color: #806d86; }
.score-card { position: relative; overflow: hidden; }
.score-card::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 24px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: conic-gradient(#ff2f6d 0 72%, #f4e6f1 72% 100%);
}

.dashboard-grid-primary {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 20px;
  margin-bottom: 20px;
}
.dashboard-grid-secondary {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 20px;
  margin-bottom: 20px;
}
.dashboard-panel { padding: 22px; }
.dashboard-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.dashboard-panel h2 { margin: 3px 0 0; font-size: 22px; }
.dashboard-small-link { color: #7d168b; font-weight: 900; }

.dashboard-latest-body {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 14px 0 20px;
  border-bottom: 1px solid #f0e3ed;
}
.dashboard-score-ring {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at center, #fff 0 52%, transparent 53%), conic-gradient(#ff3d68 0 72%, #f2e5f1 72% 100%);
  color: #ff3d68;
  font-weight: 950;
}
.dashboard-score-ring span { font-size: 44px; }
.dashboard-score-ring small { transform: translate(-10px, 18px); color: #806d86; font-weight: 800; }
.dashboard-severity-bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; align-items: center; }
.dashboard-severity-bars span { display: block; height: 16px; border-radius: 999px; background: linear-gradient(90deg, #ff2f6d, #ff7a18); min-width: 30px; }
.dashboard-severity-bars span:nth-child(4) { background: linear-gradient(90deg, #7d168b, #3b0649); }
.dashboard-sparkline { height: 104px; display: flex; align-items: end; gap: 10px; padding-top: 14px; }
.dashboard-sparkline i { flex: 1; border-radius: 999px 999px 0 0; background: linear-gradient(180deg, #ff5e6e, #ff9a37); min-height: 8px; }
.dashboard-trend-labels { display: flex; justify-content: space-between; color: #8b788f; font-size: 12px; font-weight: 800; }

.impact-panel { background: linear-gradient(135deg, #fff, #fff1f4); }
.impact-panel h2 { color: #ff3d68; font-size: clamp(40px, 5vw, 60px); margin: 14px 0 4px; }
.impact-panel p { color: #6d5b74; }
.dashboard-mini-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 24px; }
.dashboard-mini-metrics div { background: #fff; border: 1px solid #eadfea; border-radius: 14px; padding: 14px; }
.dashboard-mini-metrics strong { display: block; color: #3b0649; }
.dashboard-mini-metrics span { color: #806d86; font-size: 12px; font-weight: 800; }

.measurement-panel {
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff, #f8fbff);
}

.dashboard-measurement-note {
  margin: -4px 0 16px;
  color: #6d5b74;
}

.dashboard-measurement-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-measurement-card {
  min-height: 116px;
  padding: 14px;
  border: 1px solid #e4eaf5;
  border-radius: 14px;
  background: #fff;
}

.dashboard-measurement-card span,
.dashboard-measurement-card small {
  display: block;
  color: #806d86;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-measurement-card strong {
  display: block;
  margin: 8px 0;
  color: #243b6b;
  font-size: 18px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-transform: capitalize;
}

.business-profile-panel {
  margin-bottom: 20px;
}
.business-profile-form {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  margin-top: 14px;
}
.business-profile-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.business-profile-form label span {
  color: #3b0649;
  font-size: 12px;
  font-weight: 950;
}
.business-profile-form .field {
  min-height: 42px;
  padding: 9px 10px;
  font-size: 13px;
}
.business-profile-form .btn {
  min-height: 42px;
  padding: 9px 12px;
  white-space: nowrap;
}

.dashboard-fix-list { display: grid; gap: 10px; }
.dashboard-fix-row {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #f0e3ed;
  border-radius: 14px;
  padding: 12px;
}
.dashboard-fix-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #fff0f4; color: #ff2f6d; font-weight: 950; }
.dashboard-fix-row strong { display:block; }
.dashboard-fix-row small { color: #806d86; }
.dashboard-priority-pill { border-radius: 999px; padding: 8px 10px; background: #fff4ef; color: #ff6b1a; font-weight: 900; white-space: nowrap; }
.dashboard-donut { width: 150px; height: 150px; border-radius: 50%; margin: 18px auto; display: grid; place-items: center; background: conic-gradient(#ff2f6d 0 32%, #ff7a18 32% 60%, #f82a83 60% 82%, #7d168b 82% 100%); }
.dashboard-donut span { width: 74px; height: 74px; border-radius: 50%; background: #fff; display: block; }
.dashboard-category-list { display: grid; gap: 9px; }
.dashboard-category-list div { display: flex; justify-content: space-between; color: #6d5b74; font-weight: 850; }
.dashboard-category-list strong { color: #3b0649; }

.dashboard-table { display: grid; gap: 8px; }
.dashboard-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 90px;
  gap: 12px;
  align-items: center;
  border: 1px solid #f0e3ed;
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
}
.dashboard-row strong { color: #2b1237; }
.dashboard-row small { display: block; color: #806d86; }
.dashboard-status { border-radius: 999px; padding: 6px 9px; background: #f3e8f5; color: #6f1d7a; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.dashboard-status.done, .dashboard-status.completed { background: #e8f8ee; color: #257942; }
.dashboard-status.failed { background: #fff0f2; color: #d61f4f; }
.dashboard-empty { color: #806d86; margin: 0; }

.integrations-panel p { color: #6d5b74; }
.dashboard-badge { border-radius: 999px; background: #f4e8f5; color: #6f1d7a; padding: 8px 12px; font-weight: 900; }
.dashboard-integration-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.dashboard-integration-card { border: 1px solid #f0e3ed; border-radius: 14px; padding: 14px; background: #fff; }
.dashboard-integration-card p { margin: 6px 0 10px; font-size: 13px; }
.dashboard-integration-card span { color: #ff3d68; font-weight: 900; font-size: 12px; }
.dashboard-integration-action { margin-top: 12px; width: 100%; min-height: 40px; padding: 9px 10px; font-size: 13px; }
.dashboard-google-resources { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 16px; align-items: start; background: linear-gradient(135deg, #ffffff 0%, #fff8fb 100%); }
.dashboard-google-selection-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.dashboard-google-selection-form label { display: grid; gap: 6px; min-width: 0; }
.dashboard-google-selection-form label > span { color: #3b0649; font-weight: 950; font-size: 12px; }
.dashboard-google-selection-form select.field { min-height: 42px; padding: 9px 10px; font-size: 13px; }
.dashboard-google-selection-form small { color: #806d86; overflow-wrap: anywhere; }
.dashboard-youtube-channels {
  display: grid;
  gap: 6px;
  grid-column: 1 / -1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #f0e3ed;
  border-radius: 8px;
  background: #fff;
}
.dashboard-youtube-channels span {
  color: #3b0649;
  font-weight: 950;
  font-size: 12px;
}
.dashboard-youtube-channels small {
  color: #806d86;
  line-height: 1.35;
}
.dashboard-youtube-channels strong {
  color: #2b1237;
}
.dashboard-google-actions { grid-column: 1 / -1; display: flex; gap: 8px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.dashboard-google-actions .btn { min-height: 42px; padding: 9px 12px; white-space: nowrap; }
.dashboard-inline-auth-form { display: grid; gap: 8px; margin-top: 12px; }
.dashboard-inline-auth-form .field { min-height: 40px; padding: 9px 10px; font-size: 13px; }
.dashboard-inline-auth-form .dashboard-integration-action { margin-top: 0; }
.dashboard-inline-auth-form small { overflow-wrap: anywhere; }

@media (max-width: 1080px) {
  .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: static; height: auto; }
  .dashboard-menu { grid-template-columns: repeat(3, 1fr); }
  .dashboard-side-card { display: none; }
  .dashboard-kpis, .dashboard-grid-primary, .dashboard-grid-secondary, .dashboard-integration-grid, .dashboard-measurement-grid { grid-template-columns: 1fr 1fr; }
  .business-profile-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .dashboard-main { padding: 18px 14px 40px; }
  .dashboard-topbar, .dashboard-panel-head { align-items: flex-start; flex-direction: column; }
  .dashboard-auth-card, .dashboard-auth-form, .dashboard-kpis, .dashboard-grid-primary, .dashboard-grid-secondary, .dashboard-integration-grid, .dashboard-measurement-grid, .dashboard-latest-body { grid-template-columns: 1fr; }
  .dashboard-menu { grid-template-columns: 1fr 1fr; }
  .dashboard-row { grid-template-columns: 1fr; }
  .dashboard-mini-metrics { grid-template-columns: 1fr; }
  .business-profile-form { grid-template-columns: 1fr; }
  .dashboard-google-resources, .dashboard-google-selection-form { grid-template-columns: 1fr; }
  .dashboard-google-actions { justify-content: stretch; }
  .dashboard-google-actions .btn { width: 100%; }
}

/* Admin operations dashboard */
.admin-app-body { background: #fbf8fb; color: #2b1237; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0,1fr); }
.admin-side {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 24px 20px;
  background: linear-gradient(180deg, #321044, #21052d 72%, #16011c);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 22px;
  box-shadow: 20px 0 60px rgba(75, 13, 92, .16);
}
.admin-main { padding: 28px clamp(18px, 3vw, 42px) 56px; }
.admin-token-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px, 520px);
  gap: 18px;
  align-items: center;
  background: #fff;
  border: 1px solid #eadfea;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 42px rgba(69,20,84,.07);
  margin-bottom: 20px;
}
.admin-token-card h2 { margin: 0 0 4px; }
.admin-token-card p { margin: 0; color: #6d5b74; }
.admin-token-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.admin-grid-2 { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 20px; margin-bottom: 20px; }
.admin-health-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.admin-health-card { border: 1px solid #f0e3ed; border-radius: 14px; padding: 13px; background: #fff; }
.admin-health-card strong { display: block; color: #3b0649; text-transform: capitalize; }
.admin-health-card span { display: block; color: #806d86; font-size: 12px; margin-top: 4px; }
.admin-health-card small { display: block; color: #9a8ca0; font-size: 11px; line-height: 1.35; margin-top: 4px; }
.admin-flags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.admin-flag { border-radius: 999px; padding: 7px 10px; background: #f4e8f5; color: #6f1d7a; font-weight: 900; font-size: 11px; }
.admin-flag.on { background: #e8f8ee; color: #257942; }
.admin-flag.off { background: #fff1f4; color: #c61f4a; }
.admin-readiness {
  margin-top: 14px;
  border: 1px solid #f0e3ed;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.admin-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.admin-readiness-head strong { color: #3b0649; }
.admin-readiness-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.admin-readiness-list div {
  display: grid;
  grid-template-columns: 80px minmax(0,1fr);
  gap: 10px;
  border-top: 1px solid #f0e3ed;
  padding-top: 8px;
}
.admin-readiness-list b { color: #c61f4a; }
.admin-readiness-list span { color: #806d86; font-size: 13px; }
.admin-readiness-runtime {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.admin-readiness-runtime div {
  border: 1px solid #f0e3ed;
  border-radius: 10px;
  padding: 10px;
  background: #fff9fb;
}
.admin-readiness-runtime b,
.admin-readiness-runtime span {
  display: block;
}
.admin-readiness-runtime b {
  color: #3b0649;
}
.admin-readiness-runtime span {
  color: #806d86;
  font-size: 12px;
  margin-top: 3px;
}
.admin-settings-panel .switch-row { padding: 13px 0; color: #2b1237; }
.admin-settings-panel small { color: #806d86; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin: 14px 0; }
.admin-form-grid label { color: #4b0d5c; font-weight: 850; }
.admin-form-grid .admin-wide { grid-column: 1 / -1; }
.admin-search { display: grid; grid-template-columns: minmax(220px, 360px) auto; gap: 10px; }
.admin-table { display: grid; gap: 9px; }
.admin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 90px auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #f0e3ed;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}
.integration-row {
  grid-template-columns: minmax(0, 1fr) auto 90px auto;
}
.admin-row strong { color: #2b1237; }
.admin-row small { display: block; color: #806d86; word-break: break-word; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.admin-actions .btn { padding: 9px 10px; border-radius: 10px; font-size: 12px; }
.admin-progress {
  display: block;
  width: min(280px, 100%);
  height: 7px;
  margin-top: 9px;
  border-radius: 999px;
  overflow: hidden;
  background: #f0dfe9;
}
.admin-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff7a18, #ff3d68);
}
.admin-mini-row {
  display: grid;
  grid-template-columns: 90px minmax(0,1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f0e3ed;
}
.admin-mini-row strong { color: #3b0649; }
.admin-mini-row span { color: #806d86; font-size: 13px; word-break: break-word; }
.admin-table.compact { max-height: 440px; overflow: auto; }
.admin-app-body select.field { appearance: none; }

@media (max-width: 1080px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-side { position: static; height: auto; }
  .admin-grid-2, .admin-token-card { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .admin-main { padding: 18px 14px 40px; }
  .admin-token-form, .admin-form-grid, .admin-search, .admin-health-grid, .admin-row { grid-template-columns: 1fr; }
  .admin-actions { justify-content: flex-start; }
}

/* Final product polish layer */
:root {
  --bg: #f6f7fb;
  --surface: #ffffff;
  --surface-raised: #fcfdff;
  --surface-tint: #fff6f7;
  --text: #172033;
  --muted: #667085;
  --line: #e5e7ef;
  --brand: #f43f6e;
  --brand2: #12b981;
  --brand3: #243b6b;
  --focus: rgba(37, 99, 235, .18);
  --shadow: 0 24px 70px rgba(17, 24, 39, .10);
  --shadow-soft: 0 12px 34px rgba(17, 24, 39, .08);
  --radius: 8px;
  --radius-lg: 8px;
}

body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(246,247,251,.94)),
    linear-gradient(90deg, rgba(36,59,107,.06) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(36,59,107,.05) 0 1px, transparent 1px 100%),
    #f6f7fb;
  background-size: auto, 42px 42px, 42px 42px, auto;
  color: var(--text);
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

.nav {
  background: rgba(255,255,255,.86);
  border-bottom: 1px solid rgba(229,231,239,.88);
  box-shadow: 0 10px 34px rgba(17,24,39,.06);
}

.brand,
.dashboard-logo {
  letter-spacing: 0;
}

.nav-links a:not(.btn),
.dashboard-menu a,
.dashboard-small-link {
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid transparent;
  min-height: 46px;
  padding: 13px 18px;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(17,24,39,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.42) 46%, transparent 72%);
  transform: translateX(-110%);
  transition: transform .42s ease, opacity .18s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(17,24,39,.12);
}

.btn:hover::after {
  opacity: .8;
  transform: translateX(110%);
}

.btn:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(17,24,39,.10);
}

.btn.primary {
  background: linear-gradient(135deg, #f43f6e, #ff7a18 54%, #12b981);
  color: #fff;
  border-color: rgba(255,255,255,.18);
}

.btn.ghost {
  background: rgba(255,255,255,.88);
  color: var(--text);
  border-color: rgba(203,213,225,.92);
}

.btn.ghost:hover {
  border-color: rgba(244,63,110,.42);
  background: #fff;
}

.btn:focus-visible,
.field:focus-visible,
.scan-form input:focus-visible,
.mode-card:focus-visible,
.type-card:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px var(--focus), 0 16px 34px rgba(17,24,39,.12);
}

.card,
.dashboard-panel,
.dashboard-kpi-card,
.dashboard-account-card,
.dashboard-auth-card,
.dashboard-integration-card,
.scan-console,
.auto-detect-card,
.mode-card,
.type-card,
.preview-card,
.preview-top,
.stat,
.admin-health-card,
.admin-row,
.admin-token-card {
  border-radius: 8px;
  border-color: var(--line);
}

.card,
.dashboard-panel,
.dashboard-kpi-card,
.dashboard-account-card,
.dashboard-auth-card,
.dashboard-integration-card,
.admin-health-card,
.admin-row {
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover,
.dashboard-panel:hover,
.dashboard-kpi-card:hover,
.dashboard-integration-card:hover {
  border-color: rgba(36,59,107,.20);
  box-shadow: var(--shadow);
}

.field,
.scan-form input {
  border-radius: 8px;
  border-color: #d8dce8;
  background: #fff;
  color: var(--text);
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.field:hover,
.scan-form input:hover {
  border-color: #c7cedd;
}

.eyebrow,
.dashboard-kicker,
.section-label-small,
.plan-kicker {
  letter-spacing: .06em;
}

.hero-polished::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.86) 36%, rgba(255,255,255,.96)),
    url("../assets/soft-grid-bg.webp") left bottom / 58% auto no-repeat;
  opacity: .66;
}

.scan-console {
  position: relative;
  overflow: hidden;
}

.scan-console::before,
.dashboard-panel::before,
.dashboard-kpi-card::before,
.admin-health-card::before {
  content: "";
  display: block;
  height: 3px;
  margin: -1px -1px 14px;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981, #2563eb);
}

.scan-field-wrap .btn.primary {
  min-width: 132px;
}

.mode-card,
.type-card,
.dashboard-row,
.dashboard-fix-row,
.dashboard-integration-card,
.admin-row {
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.mode-card:hover,
.type-card:hover,
.dashboard-row:hover,
.dashboard-fix-row:hover,
.dashboard-integration-card:hover,
.admin-row:hover {
  transform: translateY(-2px);
  border-color: rgba(244,63,110,.28);
  box-shadow: 0 16px 34px rgba(17,24,39,.10);
}

.mode-card.active,
.type-card.active {
  border-color: rgba(244,63,110,.52);
  background: linear-gradient(180deg, #fff, #fff7f8);
  box-shadow: 0 0 0 4px rgba(244,63,110,.10), 0 18px 34px rgba(17,24,39,.10);
}

.dashboard-sidebar,
.admin-side {
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 32%),
    linear-gradient(180deg, #1f2f55, #172033 72%, #101827);
}

.dashboard-menu a,
.dashboard-quick-scan {
  border-radius: 8px;
}

.dashboard-menu a.active {
  position: relative;
  background: rgba(255,255,255,.14);
}

.dashboard-menu a.active::before {
  content: "";
  width: 3px;
  height: 22px;
  border-radius: 999px;
  background: #12b981;
  position: absolute;
  left: 6px;
}

.dashboard-quick-scan {
  background: linear-gradient(135deg, #f43f6e, #ff7a18 55%, #12b981);
  box-shadow: 0 18px 34px rgba(0,0,0,.18);
}

.dashboard-kpi-card {
  overflow: hidden;
}

.dashboard-kpi-card strong,
.impact-panel h2,
.connected-data-metric strong,
.creator-model-tile strong,
.analysis-tile strong {
  font-variant-numeric: tabular-nums;
}

.dashboard-badge,
.dashboard-status,
.dashboard-integration-card span,
.confidence-pill,
.severity,
.loss-pill,
.video-band,
.summary-focus span {
  border-radius: 999px;
  border: 1px solid rgba(229,231,239,.86);
}

.dashboard-integration-card {
  min-height: 156px;
  display: flex;
  flex-direction: column;
}

.dashboard-integration-card .dashboard-integration-status,
.dashboard-integration-card > span {
  width: fit-content;
  margin-top: auto;
  padding: 7px 10px;
  background: #f8fafc;
  color: #243b6b;
}

.dashboard-auth-card,
.impact-panel,
.report-summary,
.creator-revenue-card {
  background: linear-gradient(135deg, #fff, #fff8f5 58%, #f6fffb);
}

.creator-report {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .95fr);
  gap: 18px;
  align-items: stretch;
  margin: 18px 0;
}

.creator-revenue-card {
  grid-column: 1 / -1;
}

.revenue-scenario-grid,
.creator-model-grid,
.creator-diagnostics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.revenue-scenario,
.creator-model-tile,
.creator-diagnostic-tile {
  min-width: 0;
  border: 1px solid rgba(229,231,239,.92);
  border-radius: 8px;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.98));
  box-shadow: 0 10px 26px rgba(17,24,39,.06);
}

.revenue-scenario span,
.creator-model-tile span,
.creator-diagnostic-tile span {
  display: block;
  margin-bottom: 8px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.revenue-scenario strong,
.creator-model-tile strong,
.creator-diagnostic-tile strong {
  display: block;
  color: #172033;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.revenue-scenario small,
.creator-model-tile small,
.creator-diagnostic-tile small {
  display: block;
  margin-top: 7px;
  color: #667085;
  line-height: 1.35;
}

.creator-diagnostics-card,
.creator-confidence-card,
.creator-videos-card {
  background:
    radial-gradient(circle at 18px 18px, rgba(18,185,129,.10), transparent 120px),
    #fff;
}

.confidence-meter {
  height: 10px;
  margin: 18px 0;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f7;
}

.confidence-meter i {
  display: block;
  width: var(--confidence-width, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

.confidence-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.confidence-columns span {
  display: block;
  margin-bottom: 8px;
  color: #243b6b;
  font-weight: 800;
}

.confidence-columns ul {
  margin: 0;
  padding-left: 18px;
  color: #667085;
}

.video-table {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.video-table-head,
.video-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(90px, .55fr));
  gap: 12px;
  align-items: center;
}

.video-table-head {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.video-row {
  min-height: 72px;
  border: 1px solid rgba(229,231,239,.92);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.video-title-cell {
  min-width: 0;
}

.video-title-cell strong,
.video-title-cell span {
  display: block;
  overflow-wrap: anywhere;
}

.video-title-cell span {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
}

.video-band {
  width: fit-content;
  padding: 7px 10px;
  color: #243b6b;
  background: #f8fafc;
  font-size: 12px;
  font-weight: 800;
}

.video-band.breakout,
.video-band.above_baseline {
  color: #065f46;
  background: #ecfdf5;
  border-color: #a7f3d0;
}

.video-band.underperforming {
  color: #9f1239;
  background: #fff1f2;
  border-color: #fecdd3;
}

.dashboard-mini-metrics div,
.dashboard-row,
.dashboard-fix-row,
.connected-data-metric,
.connected-page-row {
  background: #fff;
}

@media (max-width: 980px) {
  .creator-report,
  .confidence-columns {
    grid-template-columns: 1fr;
  }

  .revenue-scenario-grid,
  .creator-model-grid,
  .creator-diagnostics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .video-table-head {
    display: none;
  }

  .video-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .revenue-scenario-grid,
  .creator-model-grid,
  .creator-diagnostics-grid,
  .video-row {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* Design finalization sprint: home, pricing, loading */
.hero-polished {
  min-height: calc(100vh - 70px);
  display: flex;
  align-items: center;
  padding: 34px 0 28px;
}

.hero-polished::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.78), rgba(255,255,255,.92) 44%, rgba(246,247,251,.98)),
    linear-gradient(90deg, rgba(36,59,107,.05) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(36,59,107,.04) 0 1px, transparent 1px 100%);
  background-size: auto, 42px 42px, 42px 42px;
  opacity: 1;
}

.hero-grid {
  grid-template-columns: minmax(0, .98fr) minmax(360px, .82fr);
  gap: 34px;
}

.hero-copy {
  max-width: 650px;
}

.hero h1 {
  max-width: 650px;
  margin: 14px 0 12px;
  font-size: 62px;
  line-height: 1.03;
  overflow-wrap: anywhere;
}

.lead {
  max-width: 600px;
  font-size: 18px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.scan-console {
  margin-top: 18px;
  padding: 16px;
}

.auto-detect-card {
  grid-template-columns: minmax(180px, .64fr) minmax(0, 1fr);
  align-items: center;
  padding: 13px;
}

.auto-detect-card > div:first-child {
  display: grid;
  justify-content: start;
  gap: 4px;
}

.auto-detect-card p {
  font-size: 14px;
}

.supported-targets span {
  min-height: 30px;
  padding: 5px 9px;
}

.mode-switcher {
  padding-top: 12px;
}

.mode-card {
  min-height: 118px;
  padding: 12px;
}

.mode-card strong {
  font-size: 20px;
}

.mode-card small,
.mode-card span {
  font-size: 13px;
}

.trust-row {
  margin-top: 14px;
}

.trust-row span {
  padding: 8px 11px;
  font-size: 13px;
}

.hero-product {
  align-self: center;
}

.hero-art-frame {
  position: relative;
  aspect-ratio: 1.48;
  background: #fff;
  box-shadow: 0 24px 70px rgba(17,24,39,.10);
}

.hero-art-frame img {
  object-position: center right;
}

.hero-floating-report {
  position: absolute;
  left: 18px;
  bottom: 18px;
  width: min(260px, calc(100% - 36px));
  border: 1px solid rgba(229, 231, 239, .94);
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 44px rgba(17,24,39,.12);
  backdrop-filter: blur(12px);
  padding: 13px;
}

.hero-floating-report span {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.hero-floating-report strong {
  display: block;
  margin: 4px 0 9px;
  color: var(--text);
}

.hero-floating-report i {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: #e5e7ef;
}

.hero-floating-report i + i {
  margin-top: 7px;
}

.hero-floating-report i:nth-of-type(1) {
  width: 92%;
  background: linear-gradient(90deg, #f43f6e, #ff7a18);
}

.hero-floating-report i:nth-of-type(2) {
  width: 76%;
  background: linear-gradient(90deg, #ff7a18, #12b981);
}

.hero-floating-report i:nth-of-type(3) {
  width: 58%;
  background: linear-gradient(90deg, #12b981, #2563eb);
}

.hero-signal-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 14px;
}

.hero-signal-board div {
  min-width: 0;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  padding: 12px;
  background: #f8fafc;
}

.hero-signal-board span {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.hero-signal-board strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  overflow-wrap: anywhere;
}

.plans-section .plan-card .price {
  font-size: 42px;
}

.pricing-page {
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,247,251,.98)),
    linear-gradient(90deg, rgba(36,59,107,.05) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(36,59,107,.04) 0 1px, transparent 1px 100%);
  background-size: auto, 42px 42px, 42px 42px;
}

.pricing-page h1,
.pricing-page .sub {
  overflow-wrap: anywhere;
}

.pricing-hero {
  padding: 68px 0 34px;
}

.pricing-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, .38fr);
  gap: 28px;
  align-items: end;
}

.pricing-note-panel,
.pricing-status-grid article,
.pricing-footnote {
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-soft);
}

.pricing-note-panel {
  position: relative;
  padding: 20px;
  overflow: hidden;
}

.pricing-note-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

.pricing-note-panel p {
  max-width: 34rem;
}

.pricing-note-panel span,
.pricing-status-grid span {
  display: block;
  color: #f43f6e;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pricing-note-panel strong,
.pricing-status-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: 22px;
}

.pricing-note-panel p,
.pricing-status-grid p {
  margin-bottom: 0;
  color: #667085;
}

.pricing-status-section,
.pricing-plans-section {
  padding-top: 28px;
}

.pricing-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.pricing-status-grid article {
  padding: 18px;
}

.pricing-grid-final .plan-card {
  min-height: 430px;
}

.plan-card.future {
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.plan-feature-list {
  display: grid;
  gap: 8px;
  margin: 10px 0 20px;
  padding: 0;
  list-style: none;
  color: #465267;
}

.plan-feature-list li {
  position: relative;
  padding-left: 20px;
}

.plan-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f43f6e, #12b981);
}

.pricing-footnote {
  margin-top: 18px;
  padding: 16px 18px;
  color: #465267;
}

.scanner-main {
  min-height: 100vh;
  padding: 28px 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(246,247,251,.96)),
    linear-gradient(90deg, rgba(36,59,107,.05) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(36,59,107,.04) 0 1px, transparent 1px 100%);
  background-size: auto, 42px 42px, 42px 42px;
}

.scanner-experience {
  width: min(1040px, 92vw);
  padding: clamp(22px, 3vw, 32px);
}

.scanner-layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(340px, 1fr);
  gap: 24px;
  align-items: stretch;
}

.scanner-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.scanner-copy h1 {
  margin: 14px 0 8px;
  color: var(--text);
  font-size: 46px;
  line-height: 1.06;
}

.scanner-copy [data-state] {
  min-height: 54px;
  font-size: 17px;
}

.scan-statusline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  margin-top: auto;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.scan-statusline span,
.scan-statusline small {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.scan-statusline strong {
  color: var(--brand3);
  font-size: 22px;
  overflow-wrap: anywhere;
}

.scan-statusline small {
  align-self: center;
  color: #f43f6e;
}

.scan-activity-panel {
  width: 100%;
  height: 330px;
  margin: 0;
  isolation: isolate;
  background: #fff;
  box-shadow: 0 22px 60px rgba(17,24,39,.10);
}

.scan-visual-engine {
  --scan-step: 0;
  overflow: hidden;
  border: 1px solid rgba(223, 229, 239, .92);
}

.scan-lottie-mount {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.scan-lottie-mount[hidden],
.scan-orbit-loader[hidden] {
  display: none !important;
}

.scan-activity-art {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  opacity: .96;
}

.scan-activity-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 72% 44%, rgba(18,185,129,.18), transparent 34%),
    radial-gradient(circle at 48% 44%, rgba(244,63,110,.13), transparent 28%),
    linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.56) 48%, rgba(255,255,255,.12));
}

.scan-orbit-loader {
  position: absolute;
  top: 44px;
  right: clamp(26px, 6vw, 70px);
  z-index: 1;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  filter: drop-shadow(0 24px 46px rgba(15, 23, 42, .14));
}

.scan-orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(36, 59, 107, .18);
}

.scan-orbit::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f43f6e;
  box-shadow: 0 0 0 6px rgba(244, 63, 110, .12);
}

.orbit-one {
  animation: scan-orbit 5.8s linear infinite;
}

.orbit-two {
  inset: 24px;
  border-color: rgba(18, 185, 129, .22);
  animation: scan-orbit 4.4s linear infinite reverse;
}

.orbit-two::before {
  background: #12b981;
  box-shadow: 0 0 0 6px rgba(18, 185, 129, .12);
}

.orbit-three {
  inset: 48px;
  border-color: rgba(255, 122, 24, .24);
  animation: scan-orbit 3.2s linear infinite;
}

.orbit-three::before {
  background: #ff7a18;
  box-shadow: 0 0 0 6px rgba(255, 122, 24, .12);
}

.scan-pulse-dot {
  position: absolute;
  inset: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 35%, rgba(255,255,255,.78) 36% 100%),
    linear-gradient(135deg, rgba(244,63,110,.16), rgba(18,185,129,.18));
  box-shadow:
    inset 0 0 0 1px rgba(223, 229, 239, .95),
    0 0 0 10px rgba(255,255,255,.52);
  animation: scan-pulse 2.1s ease-in-out infinite;
}

.scan-pulse-dot::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f43f6e, #12b981);
}

.scan-data-ray {
  position: absolute;
  left: -30px;
  right: -30px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244,63,110,.56), rgba(18,185,129,.56), transparent);
  transform-origin: 50% 50%;
  opacity: .78;
}

.ray-one {
  top: 42%;
  transform: rotate(18deg);
  animation: scan-ray 2.8s ease-in-out infinite;
}

.ray-two {
  top: 57%;
  transform: rotate(-24deg);
  animation: scan-ray 3.4s ease-in-out infinite .4s;
}

.ray-three {
  top: 50%;
  transform: rotate(52deg);
  animation: scan-ray 4s ease-in-out infinite .8s;
}

.scan-beam {
  width: 24%;
  background: linear-gradient(90deg, transparent, rgba(244,63,110,.18), rgba(18,185,129,.16), transparent);
}

.scan-signal-stack {
  left: 20px;
  right: 20px;
  bottom: 18px;
  grid-template-columns: repeat(4, 1fr);
}

.signal {
  height: 9px;
  background: rgba(36,59,107,.14);
}

.signal.active {
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
  box-shadow: 0 0 22px rgba(244,63,110,.20);
}

.scan-activity-panel .scan-core {
  left: 20px;
  right: auto;
  top: auto;
  bottom: 44px;
  max-width: 300px;
  padding: 14px 16px;
  border: 1px solid rgba(229,231,239,.9);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: var(--text);
  box-shadow: 0 14px 34px rgba(17,24,39,.08);
}

.scan-visual-caption {
  position: absolute;
  top: 22px;
  left: 20px;
  z-index: 2;
  display: grid;
  gap: 4px;
  max-width: 310px;
  border: 1px solid rgba(229, 231, 239, .92);
  border-radius: 8px;
  background: rgba(255,255,255,.84);
  padding: 12px 14px;
  box-shadow: 0 14px 34px rgba(17,24,39,.08);
}

.scan-visual-caption span {
  color: #f43f6e;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.scan-visual-caption strong {
  color: #172033;
  font-size: 13px;
}

.scan-activity-panel .scan-core-label {
  color: var(--brand3);
  font-size: 18px;
}

.scan-activity-panel .scan-core-progress {
  margin-top: 4px;
  color: #667085;
  font-size: 13px;
}

.scanner-experience .scan-meta-grid {
  grid-template-columns: 1fr;
  margin: 16px 0 0;
}

.scanner-experience .scan-meta {
  margin: 0;
  background: #f8fafc;
  color: #465267;
}

.scanner-experience .progress-track {
  margin: 22px 0 16px;
}

.scanner-experience .progress-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.scanner-experience .progress-list li {
  position: relative;
  min-height: 104px;
  margin: 0;
  padding: 38px 14px 14px;
  color: #667085;
  background: #fff;
}

.scanner-experience .progress-list li::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #cbd5e1;
  background: #fff;
}

.scanner-experience .progress-list li.active {
  color: var(--text);
  border-color: rgba(36,59,107,.22);
  background: linear-gradient(180deg, #fff, #f8fafc);
  box-shadow: 0 14px 32px rgba(17,24,39,.08);
}

.scanner-experience .progress-list li.active::before {
  border-color: transparent;
  background: linear-gradient(135deg, #f43f6e, #12b981);
  box-shadow: 0 0 0 4px rgba(18,185,129,.10);
}

@media (max-width: 1120px) {
  .hero h1 {
    font-size: 52px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  }
}

@media (max-width: 900px) {
  .container {
    width: min(1180px, calc(100% - 24px));
  }

  .hero-polished {
    min-height: auto;
    padding: 32px 0 34px;
  }

  .hero-grid,
  .pricing-hero-grid,
  .pricing-status-grid,
  .scanner-layout,
  .scanner-experience .progress-list,
  .auto-detect-card,
  .hero-signal-board {
    grid-template-columns: 1fr;
  }

  .hero h1,
  .scanner-copy h1 {
    font-size: 42px;
  }

  .hero-copy,
  .pricing-hero-grid > div,
  .pricing-note-panel,
  .scan-console,
  .card {
    min-width: 0;
    max-width: 100%;
  }

  .hero-art-frame {
    aspect-ratio: 1.8;
  }

  .scan-field-wrap {
    grid-template-columns: 1fr;
  }

  .scan-field-wrap .btn.primary {
    width: 100%;
  }

  .scan-mode-grid {
    grid-template-columns: 1fr;
  }

  .scan-activity-panel {
    height: 260px;
  }
}

@media (max-width: 560px) {
  .share-body {
    padding: 12px;
  }

  .share-fallback-shell {
    width: 100%;
  }

  .container {
    width: auto;
    max-width: none;
    margin-left: 12px;
    margin-right: 12px;
  }

  .hero-copy,
  .pricing-hero-grid,
  .pricing-hero-grid > div,
  .pricing-note-panel,
  .scan-console,
  .pricing-status-grid,
  .pricing-grid-final,
  .plan-card,
  .lead,
  .sub {
    width: 100%;
    max-width: 100%;
  }

  .pricing-hero-grid,
  .pricing-status-grid {
    width: auto;
  }

  .nav-links .btn {
    display: none;
  }

  .hero h1,
  .scanner-copy h1,
  .pricing-page h1 {
    max-width: 100%;
    font-size: 28px;
    line-height: 1.08;
  }

  .lead,
  .sub {
    font-size: 16px;
    line-height: 1.5;
  }

  .nav-links {
    gap: 8px;
  }

  .nav-links .btn {
    min-height: 40px;
    padding: 10px 12px;
  }

  .nav-inner {
    height: 64px;
    gap: 10px;
  }

  .brand img {
    width: 32px;
    height: 32px;
  }

  .hero-art-frame {
    aspect-ratio: 1.35;
  }

  .hero-floating-report {
    position: static;
    width: auto;
    margin: 8px;
  }

  .scan-activity-panel {
    height: 220px;
  }

  .scan-activity-panel .scan-core {
    max-width: calc(100% - 40px);
  }

  .pricing-hero {
    padding-top: 42px;
  }
}

/* Dashboard and share CTA refinements */
.share-fallback-card {
  max-width: 680px;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.share-fallback-card h1 {
  margin: 8px 0 0;
  color: var(--text);
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.04;
}

.share-fallback-card p {
  max-width: 560px;
  margin: 0 0 8px;
  color: #667085;
  font-size: 17px;
}

.dashboard-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-empty-state {
  display: grid;
  gap: 12px;
  border: 1px dashed #d9dfeb;
  border-radius: 8px;
  padding: 18px;
  background: linear-gradient(135deg, #fff, #f8fafc);
}

.dashboard-empty-state strong {
  color: var(--text);
  font-size: 19px;
}

.dashboard-empty-state span {
  color: #667085;
}

.dashboard-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-empty-actions .btn {
  min-height: 40px;
  padding: 10px 12px;
}

.dashboard-auth-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.dashboard-auth-benefits span {
  border: 1px solid #e5e7ef;
  border-radius: 999px;
  background: #fff;
  padding: 8px 10px;
  color: #243b6b;
  font-size: 12px;
  font-weight: 850;
}

.share-fallback-shell {
  width: min(1120px, 92vw);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, .8fr);
  gap: 28px;
  align-items: center;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 28px 80px rgba(17,24,39,.12);
  padding: clamp(20px, 4vw, 34px);
  position: relative;
  overflow: hidden;
}

.share-fallback-shell::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981, #2563eb);
}

.share-fallback-copy {
  min-width: 0;
}

.share-fallback-logo {
  margin-bottom: 22px;
}

.share-fallback-copy h1 {
  max-width: 640px;
  margin: 12px 0;
  color: var(--text);
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.03;
  overflow-wrap: anywhere;
}

.share-fallback-copy p {
  max-width: 610px;
  color: #667085;
  font-size: 18px;
}

.share-fallback-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}

.share-fallback-steps span {
  border-left: 3px solid #f43f6e;
  background: #f8fafc;
  border-radius: 8px;
  padding: 10px 12px;
  color: #243b6b;
  font-weight: 850;
}

.share-fallback-preview {
  min-width: 0;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 18px 46px rgba(17,24,39,.09);
}

.share-fallback-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 1.45;
  object-fit: cover;
  object-position: center;
}

.share-fallback-preview div {
  display: grid;
  gap: 6px;
  border-top: 1px solid #e5e7ef;
  padding: 15px;
}

.share-fallback-preview strong {
  color: var(--text);
}

.share-fallback-preview span {
  color: #667085;
  font-size: 13px;
  font-weight: 760;
}

@media (max-width: 1180px) {
  .dashboard-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1320px) {
  .score-card::after {
    display: none;
  }
}

@media (max-width: 720px) {
  .dashboard-kpis {
    grid-template-columns: 1fr;
  }
}

/* Experience upgrade sprint */
.hero-process-strip {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  padding: 8px;
}

.hero-process-strip span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-left: 2px solid #f43f6e;
  padding: 7px 8px;
  color: #465267;
  font-size: 12px;
  font-weight: 850;
}

.hero-process-strip b {
  color: var(--brand3);
  font-size: 11px;
}

.experience-section {
  padding: 66px 0;
  background: #fff;
  border-top: 1px solid #e5e7ef;
  border-bottom: 1px solid #e5e7ef;
}

.experience-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .76fr);
  gap: 34px;
  align-items: center;
}

.experience-visual {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(17, 24, 39, .10);
}

.experience-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 1.7;
  object-fit: cover;
  object-position: center right;
}

.experience-copy {
  min-width: 0;
}

.experience-copy h2 {
  max-width: 620px;
}

.experience-step-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.experience-step-list article {
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #f8fafc;
  padding: 15px;
}

.experience-step-list span {
  display: block;
  color: #f43f6e;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.experience-step-list strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 18px;
}

.experience-step-list p {
  margin: 4px 0 0;
  color: #667085;
}

.pricing-roadmap-section {
  padding-top: 18px;
  padding-bottom: 22px;
}

.pricing-roadmap-grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(380px, 1fr);
  gap: 26px;
  align-items: start;
}

.pricing-roadmap {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: roadmap;
}

.pricing-roadmap-stack {
  display: grid;
  gap: 12px;
}

.pricing-roadmap li {
  counter-increment: roadmap;
  position: relative;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  padding: 16px 16px 16px 58px;
  box-shadow: 0 12px 30px rgba(17,24,39,.06);
}

.pricing-roadmap li::before {
  content: counter(roadmap);
  position: absolute;
  left: 16px;
  top: 18px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #f43f6e, #12b981);
  color: #fff;
  font-weight: 950;
}

.pricing-roadmap span {
  display: block;
  color: #f43f6e;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pricing-roadmap strong {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-size: 19px;
}

.pricing-roadmap p {
  margin: 4px 0 0;
  color: #667085;
}

.scanner-experience .progress-list li strong,
.scanner-experience .progress-list li span {
  display: block;
}

.scanner-experience .progress-list li strong {
  color: var(--text);
  font-size: 16px;
}

.scanner-experience .progress-list li span {
  margin-top: 6px;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
}

.scan-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.scan-assurance-grid div {
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #f8fafc;
  padding: 13px;
}

.scan-assurance-grid span {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.scan-assurance-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 14px;
}

.dashboard-command-panel {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: 22px;
  align-items: center;
  margin: 0 0 20px;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  padding: 20px;
  box-shadow: 0 16px 42px rgba(17,24,39,.07);
}

.dashboard-command-panel h2 {
  margin: 4px 0 6px;
}

.dashboard-command-panel p:not(.dashboard-kicker) {
  margin: 0;
  color: #667085;
}

.dashboard-command-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-command-steps a {
  min-width: 0;
  border-left: 3px solid #f43f6e;
  padding: 4px 0 4px 12px;
}

.dashboard-command-steps span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff1f5;
  color: #f43f6e;
  font-weight: 950;
  font-size: 12px;
}

.dashboard-command-steps strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  overflow-wrap: anywhere;
}

.dashboard-command-steps small {
  display: block;
  margin-top: 4px;
  color: #667085;
  line-height: 1.4;
}

@media (max-width: 980px) {
  .hero-process-strip,
  .experience-grid,
  .pricing-roadmap-grid,
  .scan-assurance-grid,
  .dashboard-command-panel,
  .dashboard-command-steps,
  .share-fallback-shell {
    grid-template-columns: 1fr;
  }

  .experience-grid {
    gap: 22px;
  }
}

@media (max-width: 720px) {
  .dashboard-sidebar {
    padding: 16px 14px 14px;
    gap: 14px;
  }

  .dashboard-menu a {
    padding: 10px 12px;
  }

  .dashboard-quick-scan {
    min-height: 48px;
    padding: 12px;
  }
}

@media (max-width: 560px) {
  .hero-process-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 7px;
  }

  .scan-statusline {
    grid-template-columns: 1fr;
  }

  .experience-section {
    padding: 42px 0;
  }

  .experience-visual img {
    aspect-ratio: 1.18;
  }

  .pricing-roadmap li {
    padding-right: 14px;
  }
}

/* Homepage detail polish */
.auto-detect-minimal {
  display: grid;
  grid-template-columns: minmax(150px, .42fr) minmax(220px, .72fr) auto;
  gap: 12px;
  align-items: center;
  background: #fff;
  border-color: #e5e7ef;
  padding: 12px;
}

.auto-detect-minimal .auto-detect-head {
  display: grid;
  gap: 4px;
}

.auto-detect-card.auto-detect-minimal > .auto-detect-head {
  display: grid;
  align-items: start;
  justify-content: start;
  gap: 4px;
}

.auto-detect-minimal .auto-detect-head strong {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 34px;
  border-radius: 999px;
  padding: 7px 12px;
  color: #243b6b;
  background: #f8fafc;
  border: 1px solid #e5e7ef;
  font-size: 16px;
}

.auto-detect-flow {
  display: grid;
  grid-template-columns: auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.auto-detect-flow span {
  color: #465267;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.auto-detect-flow i {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

.auto-detect-minimal .supported-targets {
  justify-content: end;
  margin: 0;
}

.auto-detect-minimal .supported-targets span {
  min-height: 28px;
  border-radius: 999px;
  background: #fff;
}

.hero-art-frame {
  aspect-ratio: 1.62;
}

.hero-signal-board {
  align-items: stretch;
}

.hero-signal-board div {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 6px;
}

.hero-signal-board small {
  display: block;
  color: #667085;
  font-size: 12px;
  line-height: 1.4;
}

.hero-signal-board b {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 6px 9px;
  color: #243b6b;
  background: #fff;
  border: 1px solid #e5e7ef;
  font-size: 12px;
}

.experience-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.experience-visual {
  margin: 0;
}

.experience-visual-secondary img {
  aspect-ratio: 2.25;
  object-position: center right;
}

.experience-visual figcaption {
  border-top: 1px solid #e5e7ef;
  padding: 11px 13px;
  color: #667085;
  background: #fff;
  font-size: 13px;
  font-weight: 850;
}

@media (max-width: 980px) {
  .auto-detect-minimal {
    grid-template-columns: 1fr;
  }

  .auto-detect-flow {
    grid-template-columns: auto 1fr auto 1fr auto;
  }

  .auto-detect-minimal .supported-targets {
    justify-content: start;
  }
}

@media (max-width: 560px) {
  .auto-detect-flow {
    grid-template-columns: auto minmax(22px, 1fr) auto minmax(22px, 1fr) auto;
    gap: 6px;
    padding: 8px 0;
  }

  .auto-detect-flow i {
    width: auto;
  }

  .hero-signal-board div {
    grid-template-rows: auto;
  }

  .experience-visual-secondary img {
    aspect-ratio: 1.28;
  }
}

@media (min-width: 761px) {
  .sticky-cta {
    left: auto;
    right: 24px;
    transform: translateY(120px);
  }

  .sticky-cta.visible {
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .sticky-cta {
    display: none;
  }
}

.sticky-cta {
  display: none;
}

/* Homepage interaction and proportion pass */
.pricing-hero-grid {
  grid-template-columns: minmax(0, 820px);
  align-items: start;
}

.pricing-hero-grid > div {
  max-width: 820px;
}

.hero-grid {
  grid-template-columns: minmax(0, .9fr) minmax(420px, .82fr);
  gap: 30px;
  align-items: center;
}

.hero h1 {
  max-width: 620px;
  font-size: clamp(44px, 4.45vw, 58px);
  line-height: 1.04;
}

.lead {
  max-width: 570px;
}

.hero-process-strip {
  max-width: 780px;
}

.scan-console {
  max-width: 780px;
  padding: 14px;
}

.scan-field-wrap {
  grid-template-columns: minmax(0, 1fr) minmax(142px, .27fr);
}

.auto-detect-minimal {
  grid-template-columns: minmax(138px, .34fr) minmax(0, 1fr);
  gap: 10px;
}

.auto-detect-minimal .auto-detect-head small {
  color: #667085;
  font-size: 12px;
  font-weight: 750;
}

.auto-detect-flow {
  min-width: 0;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e5e7ef;
  padding: 8px 10px;
}

.auto-detect-flow i {
  position: relative;
  overflow: hidden;
  background: #d8ddea;
}

.auto-detect-flow i::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 38%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
  animation: routePulse 2.7s ease-in-out infinite;
}

@keyframes routePulse {
  0% { transform: translateX(-115%); opacity: .35; }
  42% { opacity: 1; }
  100% { transform: translateX(275%); opacity: .35; }
}

.auto-detect-minimal .supported-targets {
  grid-column: 1 / -1;
  justify-content: start;
  gap: 7px;
  min-width: 0;
}

.supported-targets button {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border: 1px solid #e5e7ef;
  background: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  color: #5d4d64;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}

.supported-targets button:hover,
.supported-targets button:focus-visible {
  color: #243b6b;
  border-color: rgba(244,63,110,.42);
  background: #fff7f8;
  transform: translateY(-1px);
  outline: none;
  box-shadow: 0 8px 18px rgba(17,24,39,.07);
}

.supported-targets button.active {
  color: #10244d;
  border-color: rgba(244,63,110,.54);
  background: linear-gradient(180deg, #fff7f8, #fff);
  box-shadow: 0 0 0 3px rgba(244,63,110,.10);
}

.hero-art-frame {
  aspect-ratio: 1.72;
}

.hero-signal-board {
  position: relative;
  overflow: hidden;
  gap: 0;
  padding: 0;
  background: #fff;
}

.hero-signal-board div {
  border: 0;
  border-right: 1px solid #e5e7ef;
  border-radius: 0;
  background: transparent;
  padding: 16px;
  min-height: 212px;
  transition: background .18s ease, transform .18s ease;
}

.hero-signal-board div:last-child {
  border-right: 0;
}

.hero-signal-board div:hover {
  background: #f8fafc;
  transform: translateY(-1px);
}

.hero-signal-board small {
  min-height: 50px;
}

.hero-signal-board ul {
  display: grid;
  gap: 6px;
  margin: 3px 0 8px;
  padding: 0;
  list-style: none;
}

.hero-signal-board li {
  position: relative;
  min-height: 22px;
  padding-left: 18px;
  color: #465267;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}

.hero-signal-board li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f43f6e, #12b981);
}

.hero-signal-board b {
  margin-top: auto;
}

/* Final UX closeout sprint */
.route-insight-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.route-insight-grid div {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  padding: 10px 11px;
}

.route-insight-grid div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #d8ddea;
}

.route-insight-grid span {
  display: block;
  color: #667085;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.route-insight-grid strong {
  display: block;
  margin-top: 4px;
  color: #243b6b;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.scan-console[data-detected="website"] .route-insight-grid div:nth-child(2)::before,
.hero-signal-board[data-detected="website"] div[data-signal-stage="scan"]::before {
  background: #2563eb;
}

.scan-console[data-detected="youtube"] .route-insight-grid div:nth-child(2)::before,
.hero-signal-board[data-detected="youtube"] div[data-signal-stage="scan"]::before {
  background: #f43f6e;
}

.scan-console[data-detected="facebook"] .route-insight-grid div:nth-child(2)::before,
.hero-signal-board[data-detected="facebook"] div[data-signal-stage="scan"]::before {
  background: #ff7a18;
}

.scan-console[data-detected="x"] .route-insight-grid div:nth-child(2)::before,
.hero-signal-board[data-detected="x"] div[data-signal-stage="scan"]::before {
  background: #12b981;
}

.hero-signal-board div {
  position: relative;
  overflow: hidden;
}

.hero-signal-board div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: transparent;
  transition: background .18s ease;
}

.hero-signal-board div.is-active {
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.hero-signal-board div.is-active b {
  border-color: rgba(36,59,107,.22);
  background: #f8fafc;
}

.pricing-availability-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pricing-availability-board article {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 14px 32px rgba(17,24,39,.07);
}

.pricing-availability-board article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

.pricing-availability-board span {
  display: block;
  color: #f43f6e;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pricing-availability-board strong {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-size: 18px;
}

.pricing-availability-board p {
  margin: 7px 0 0;
  color: #667085;
  font-size: 14px;
}

@media (max-width: 1120px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
  }

  .hero h1 {
    font-size: clamp(40px, 5vw, 52px);
  }

  .auto-detect-minimal {
    grid-template-columns: 1fr;
  }

  .auto-detect-minimal .supported-targets {
    justify-content: start;
  }
}

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

  .scan-field-wrap {
    grid-template-columns: 1fr;
  }

  .hero-signal-board div {
    border-right: 0;
    border-bottom: 1px solid #e5e7ef;
    min-height: auto;
  }

  .hero-signal-board div:last-child {
    border-bottom: 0;
  }

  .hero-signal-board small {
    min-height: 0;
  }

  .pricing-availability-board {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hero h1 {
    font-size: 32px;
  }

  .hero-process-strip {
    grid-template-columns: 1fr 1fr;
  }

  .auto-detect-flow {
    grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto;
    padding: 7px 8px;
  }

  .auto-detect-flow span,
  .supported-targets button {
    font-size: 12px;
  }

  .supported-targets button {
    min-height: 28px;
    padding-inline: 9px;
  }

  .route-insight-grid {
    grid-template-columns: 1fr;
  }
}

.dashboard-account-card small {
  display: block;
  margin-top: 10px;
  color: #667085;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Pilot and comparison preparation */
.pilot-interest-section {
  padding-top: 26px;
  padding-bottom: 76px;
}

.pilot-interest-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .64fr);
  gap: 28px;
  align-items: start;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 60px rgba(17,24,39,.09);
  padding: clamp(18px, 3vw, 28px);
}

.pilot-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.pilot-proof-grid article {
  min-width: 0;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #f8fafc;
  padding: 14px;
}

.pilot-proof-grid span {
  display: block;
  color: #f43f6e;
  font-size: 12px;
  font-weight: 950;
}

.pilot-proof-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
}

.pilot-proof-grid small {
  display: block;
  margin-top: 5px;
  color: #667085;
  line-height: 1.4;
}

.pilot-interest-form {
  display: grid;
  gap: 12px;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  padding: 18px;
}

.pilot-interest-form label {
  display: grid;
  gap: 6px;
}

.pilot-interest-form label > span {
  color: #243b6b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.pilot-interest-form textarea.field {
  min-height: 112px;
  resize: vertical;
  line-height: 1.45;
}

.pilot-interest-form.submitted {
  border-color: rgba(18, 185, 129, .45);
}

.dashboard-comparison-panel {
  margin-bottom: 20px;
}

.dashboard-comparison-grid {
  display: grid;
  grid-template-columns: .72fr 1fr 1fr;
  gap: 12px;
}

.dashboard-comparison-score,
.dashboard-comparison-list {
  min-width: 0;
  border: 1px solid #e5e7ef;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
}

.dashboard-comparison-score span,
.dashboard-comparison-list span {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-comparison-score strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
}

.dashboard-comparison-score small,
.dashboard-comparison-list small {
  display: block;
  margin-top: 8px;
  color: #667085;
}

.dashboard-comparison-list ul {
  display: grid;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.dashboard-comparison-list li {
  position: relative;
  padding-left: 16px;
  color: #243b6b;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.dashboard-comparison-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f43f6e, #12b981);
}

@media (max-width: 980px) {
  .pilot-interest-grid,
  .dashboard-comparison-grid {
    grid-template-columns: 1fr;
  }

  .pilot-proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Dashboard final readability and workspace polish */
.dashboard-app-body {
  --dashboard-bg: #f6f8fb;
  --dashboard-ink: #172033;
  --dashboard-muted: #647084;
  --dashboard-line: #dfe5ef;
  --dashboard-surface: rgba(255, 255, 255, .94);
  --dashboard-soft-shadow: 0 18px 46px rgba(17, 24, 39, .08);
  --dashboard-deep-shadow: 0 28px 72px rgba(17, 24, 39, .12);
  background:
    linear-gradient(180deg, #ffffff 0, var(--dashboard-bg) 260px),
    var(--dashboard-bg);
  color: var(--dashboard-ink);
  overflow-x: hidden;
}

.dashboard-app-body * {
  box-sizing: border-box;
  letter-spacing: 0;
}

.dashboard-shell {
  grid-template-columns: 260px minmax(0, 1fr);
  min-width: 0;
}

.dashboard-sidebar {
  overflow-y: auto;
  padding: 22px 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .09), transparent 30%),
    linear-gradient(180deg, #172033, #111827 72%, #0b1020);
  border-right: 1px solid rgba(255, 255, 255, .10);
  box-shadow: none;
}

.dashboard-logo img {
  width: 46px;
  height: 46px;
  border-radius: 8px;
}

.dashboard-menu {
  gap: 6px;
}

.dashboard-menu a {
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 11px 12px;
}

.dashboard-menu a.active,
.dashboard-menu a:hover {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .10);
}

.dashboard-menu a.active::before {
  left: 4px;
  background: linear-gradient(180deg, #12b981, #2563eb);
}

.dashboard-side-card {
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, .07);
}

.dashboard-quick-scan {
  border-radius: 8px;
  background: linear-gradient(135deg, #f43f6e, #ff7a18 56%, #12b981);
}

.dashboard-main {
  width: 100%;
  max-width: 1180px;
  min-width: 0;
  margin: 0 auto;
  padding: 28px 30px 64px;
  overflow: clip;
}

.dashboard-workspace-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 24px;
  align-items: end;
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .96)),
    linear-gradient(90deg, rgba(244, 63, 110, .12), rgba(18, 185, 129, .10));
  box-shadow: var(--dashboard-deep-shadow);
  padding: 28px;
}

.dashboard-workspace-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981, #2563eb);
}

.dashboard-workspace-hero h1 {
  max-width: 720px;
  margin: 6px 0 10px;
  color: var(--dashboard-ink);
  font-size: 46px;
  line-height: 1.04;
  letter-spacing: 0;
}

.dashboard-topbar-subtitle {
  max-width: 720px;
  margin: 0;
  color: var(--dashboard-muted);
  font-size: 17px;
  line-height: 1.58;
}

.dashboard-kicker {
  color: #e23b63;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.dashboard-account-card {
  position: relative;
  display: grid;
  align-content: end;
  justify-self: end;
  width: 100%;
  min-width: 0;
  min-height: 132px;
  border: 1px solid rgba(223, 229, 239, .95);
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 16px 42px rgba(17, 24, 39, .07);
}

.dashboard-account-card::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #12b981;
  box-shadow: 0 0 0 6px rgba(18, 185, 129, .12);
}

.dashboard-account-card span {
  color: var(--dashboard-muted);
}

.dashboard-account-card strong {
  margin-top: 4px;
  color: var(--dashboard-ink);
  font-size: 20px;
}

.dashboard-auth-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr);
  grid-template-areas:
    "copy form"
    "benefits message";
  gap: 14px 18px;
  align-items: center;
  margin-bottom: 18px;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #f9fbff);
  box-shadow: var(--dashboard-soft-shadow);
  padding: 18px;
}

.dashboard-auth-card[hidden] {
  display: none !important;
}

.dashboard-auth-card > div:first-child {
  grid-area: copy;
}

.dashboard-auth-card h2 {
  color: var(--dashboard-ink);
  font-size: 22px;
}

.dashboard-auth-card p {
  color: var(--dashboard-muted);
  line-height: 1.5;
}

.dashboard-auth-form {
  grid-area: form;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.dashboard-auth-form .field {
  min-width: 0;
}

.dashboard-auth-benefits {
  grid-area: benefits;
  margin-top: 0;
}

.dashboard-auth-card > .small-muted {
  grid-area: message;
  justify-self: end;
  text-align: right;
}

.dashboard-command-panel {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  gap: 18px;
  overflow: hidden;
  margin-bottom: 18px;
  border-color: var(--dashboard-line);
  border-radius: 8px;
  background: var(--dashboard-surface);
  box-shadow: var(--dashboard-soft-shadow);
  padding: 18px;
}

.dashboard-command-panel h2 {
  color: var(--dashboard-ink);
  font-size: 24px;
  line-height: 1.15;
}

.dashboard-command-panel p:not(.dashboard-kicker) {
  color: var(--dashboard-muted);
  line-height: 1.55;
}

.dashboard-command-steps {
  gap: 10px;
}

.dashboard-command-steps a {
  min-height: 118px;
  border: 1px solid var(--dashboard-line);
  border-left: 0;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  padding: 14px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dashboard-command-steps a:hover {
  transform: translateY(-2px);
  border-color: rgba(244, 63, 110, .28);
  box-shadow: 0 16px 34px rgba(17, 24, 39, .08);
}

.dashboard-command-steps span {
  background: #fff1f4;
  color: #e23b63;
}

.dashboard-command-steps strong {
  color: var(--dashboard-ink);
}

.dashboard-command-steps small {
  color: var(--dashboard-muted);
}

.dashboard-kpis {
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.dashboard-kpi-card,
.dashboard-panel {
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: var(--dashboard-surface);
  box-shadow: var(--dashboard-soft-shadow);
}

.dashboard-kpi-card::before,
.dashboard-panel::before {
  display: none;
}

.dashboard-kpi-card {
  display: grid;
  align-content: space-between;
  min-height: 138px;
  min-width: 0;
  padding: 18px;
}

.dashboard-kpi-card span {
  color: #243b6b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-kpi-card strong {
  margin: 10px 0 4px;
  color: var(--dashboard-ink);
  font-size: 34px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.dashboard-kpi-card small {
  color: var(--dashboard-muted);
  line-height: 1.35;
}

.score-card::after {
  display: none;
}

.dashboard-grid-primary {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .78fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-grid-secondary {
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, .72fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-panel {
  min-width: 0;
  overflow: hidden;
  padding: 20px;
}

.dashboard-panel-head {
  gap: 12px;
  margin-bottom: 14px;
}

.dashboard-panel h2 {
  color: var(--dashboard-ink);
  font-size: 22px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dashboard-small-link {
  color: #2563eb;
  white-space: nowrap;
}

.dashboard-latest-body {
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 20px;
  border-bottom-color: var(--dashboard-line);
}

.dashboard-score-ring {
  width: 124px;
  height: 124px;
  background:
    radial-gradient(circle at center, #fff 0 52%, transparent 53%),
    conic-gradient(#f43f6e 0 72%, #e6ebf3 72% 100%);
}

.dashboard-score-ring span {
  color: #f43f6e;
  font-size: 42px;
}

.dashboard-severity-bars {
  grid-template-columns: 1fr;
  gap: 8px;
}

.dashboard-severity-bars span {
  width: 100% !important;
  min-width: 0;
  height: 12px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18);
}

.dashboard-severity-bars span:nth-child(2) {
  background: linear-gradient(90deg, #ff7a18, #f8b84e);
}

.dashboard-severity-bars span:nth-child(3) {
  background: linear-gradient(90deg, #2563eb, #12b981);
}

.dashboard-severity-bars span:nth-child(4) {
  background: linear-gradient(90deg, #12b981, #86efac);
}

.dashboard-sparkline {
  height: 94px;
}

.dashboard-sparkline i {
  background: linear-gradient(180deg, #f43f6e, #ff7a18);
}

.impact-panel {
  background: linear-gradient(135deg, #fff, #fff8f5 55%, #f5fffb);
}

.impact-panel h2 {
  color: #e23b63;
  font-size: 44px;
  line-height: 1;
  overflow-wrap: anywhere;
}

.impact-panel p {
  color: var(--dashboard-muted);
  line-height: 1.55;
}

.dashboard-mini-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.dashboard-mini-metrics div,
.dashboard-measurement-card,
.dashboard-comparison-score,
.dashboard-comparison-list,
.dashboard-integration-card {
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
}

.dashboard-mini-metrics div {
  min-width: 0;
  padding: 12px;
}

.dashboard-mini-metrics strong {
  color: var(--dashboard-ink);
  overflow-wrap: anywhere;
}

.dashboard-mini-metrics span,
.dashboard-measurement-note {
  color: var(--dashboard-muted);
}

.dashboard-comparison-panel,
.measurement-panel,
.business-profile-panel {
  margin-bottom: 18px;
}

.dashboard-comparison-grid {
  grid-template-columns: minmax(180px, .68fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.dashboard-comparison-score,
.dashboard-comparison-list {
  padding: 15px;
}

.dashboard-comparison-score strong {
  color: var(--dashboard-ink);
  font-size: 40px;
}

.dashboard-comparison-list li,
.dashboard-comparison-score small,
.dashboard-comparison-list small {
  color: var(--dashboard-muted);
}

.dashboard-measurement-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.dashboard-measurement-card {
  min-height: 112px;
  padding: 14px;
}

.dashboard-measurement-card strong {
  color: var(--dashboard-ink);
  font-size: 17px;
}

.business-profile-form {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.business-profile-form .btn {
  width: 100%;
}

.dashboard-fix-row {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  border-color: var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
}

.dashboard-fix-row strong,
.dashboard-row strong {
  color: var(--dashboard-ink);
  overflow-wrap: anywhere;
}

.dashboard-fix-row small,
.dashboard-row small {
  color: var(--dashboard-muted);
}

.dashboard-priority-pill {
  background: #fff7ed;
  color: #c2410c;
}

.dashboard-donut {
  width: 132px;
  height: 132px;
}

.dashboard-category-list div {
  color: var(--dashboard-muted);
}

.dashboard-table {
  display: grid;
  max-height: 560px;
  overflow: auto;
  gap: 8px;
  padding-right: 2px;
}

.dashboard-row {
  grid-template-columns: minmax(0, 1fr) auto minmax(68px, auto);
  border-color: var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
}

.dashboard-report-row {
  align-items: center;
  min-height: 74px;
}

.dashboard-report-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.dashboard-report-main small b {
  color: #243b6b;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-report-score {
  min-width: 66px;
  text-align: right;
}

.dashboard-status {
  border-color: var(--dashboard-line);
  background: #f1f5f9;
  color: #243b6b;
}

.dashboard-empty-state {
  gap: 10px;
  border: 1px dashed #cfd7e5;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #f8fafc);
  padding: 18px;
}

.dashboard-empty-state strong {
  color: var(--dashboard-ink);
  font-size: 18px;
}

.dashboard-empty-state span {
  color: var(--dashboard-muted);
  line-height: 1.45;
}

.dashboard-badge {
  border-color: var(--dashboard-line);
  background: #f8fafc;
  color: #243b6b;
}

.integrations-panel p {
  color: var(--dashboard-muted);
  line-height: 1.55;
}

.dashboard-integration-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.dashboard-integration-card {
  display: grid;
  grid-template-rows: minmax(110px, 1fr) auto;
  gap: 14px;
  min-height: 206px;
  padding: 16px;
}

.dashboard-integration-card-main {
  display: grid;
  align-content: start;
  gap: 8px;
}

.dashboard-integration-card-main > span {
  color: #243b6b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dashboard-integration-card strong,
.dashboard-integration-card-main strong {
  color: var(--dashboard-ink);
  font-size: 18px;
  line-height: 1.2;
}

.dashboard-integration-card p {
  margin: 0;
  color: var(--dashboard-muted);
  line-height: 1.45;
}

.dashboard-integration-footer {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(140px, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 54px;
  border-top: 1px solid var(--dashboard-line);
  padding-top: 12px;
}

.dashboard-integration-card .dashboard-integration-status,
.dashboard-integration-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dashboard-line);
  border-radius: 999px;
  background: #f8fafc;
  color: #243b6b;
  min-height: 34px;
  padding: 7px 10px;
  width: fit-content;
  max-width: 100%;
  font-size: 12px;
  font-weight: 950;
}

.dashboard-integration-card .dashboard-integration-status.muted,
.dashboard-integration-footer small {
  color: var(--dashboard-muted);
}

.dashboard-integration-footer .dashboard-integration-action {
  margin-top: 0;
  width: 100%;
  min-height: 46px;
  justify-content: center;
}

.dashboard-google-resources {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 14px;
  background: linear-gradient(135deg, #fff, #f8fafc);
}

.dashboard-google-selection-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-youtube-channels {
  border-color: var(--dashboard-line);
}

@media (max-width: 1180px) {
  .dashboard-shell {
    grid-template-columns: 232px minmax(0, 1fr);
  }

  .dashboard-main {
    padding: 24px 22px 56px;
  }

  .dashboard-workspace-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-account-card {
    justify-self: stretch;
    min-height: 104px;
  }

  .dashboard-grid-primary,
  .dashboard-grid-secondary,
  .dashboard-command-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .dashboard-shell {
    grid-template-columns: 1fr;
  }

  .dashboard-sidebar {
    position: static;
    height: auto;
  }

  .dashboard-main {
    max-width: 920px;
    padding: 22px 18px 52px;
  }

  .dashboard-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-side-card {
    display: none;
  }

  .dashboard-auth-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "form"
      "benefits"
      "message";
  }

  .dashboard-auth-card > .small-muted {
    justify-self: start;
    text-align: left;
  }

  .dashboard-comparison-grid,
  .dashboard-google-resources,
  .dashboard-google-selection-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .dashboard-sidebar {
    gap: 12px;
    padding: 14px 12px 16px;
  }

  .dashboard-logo img {
    width: 42px;
    height: 42px;
  }

  .dashboard-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    margin-top: 0;
    padding-bottom: 0;
  }

  .dashboard-menu a {
    min-width: 0;
    min-height: 40px;
    padding: 9px 12px;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }

  .dashboard-quick-scan {
    min-height: 44px;
    padding: 12px;
  }

  .dashboard-main {
    width: min(100% - 24px, 640px);
    padding: 18px 0 46px;
  }

  .dashboard-workspace-hero {
    gap: 16px;
    padding: 18px 16px;
  }

  .dashboard-workspace-hero h1 {
    font-size: 32px;
  }

  .dashboard-topbar-subtitle {
    font-size: 16px;
    line-height: 1.48;
  }

  .dashboard-hero-actions {
    margin-top: 16px;
  }

  .dashboard-account-card {
    min-height: 82px;
    padding: 14px;
  }

  .dashboard-hero-actions .btn,
  .dashboard-auth-form .btn {
    width: 100%;
  }

  .dashboard-auth-form,
  .dashboard-command-steps,
  .dashboard-kpis,
  .dashboard-latest-body,
  .dashboard-mini-metrics,
  .dashboard-row,
  .dashboard-fix-row {
    grid-template-columns: 1fr;
  }

  .dashboard-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-small-link {
    white-space: normal;
  }

  .dashboard-score-ring {
    width: 112px;
    height: 112px;
  }

  .dashboard-table {
    max-height: none;
  }
}

@media (max-width: 460px) {
  .dashboard-sidebar {
    padding: 16px 12px;
  }

  .dashboard-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-workspace-hero,
  .dashboard-auth-card,
  .dashboard-command-panel,
  .dashboard-panel,
  .dashboard-kpi-card {
    padding: 16px;
  }

  .dashboard-workspace-hero h1 {
    font-size: 30px;
  }

  .impact-panel h2 {
    font-size: 34px;
  }
}

@media (min-width: 981px) {
  .dashboard-shell {
    display: block;
    min-height: 100vh;
  }

  .dashboard-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 260px;
    height: 100vh;
  }

  .dashboard-main {
    width: calc(100% - 260px);
    margin-left: 260px;
    margin-right: auto;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .dashboard-sidebar {
    width: 232px;
  }

  .dashboard-main {
    width: calc(100% - 232px);
    margin-left: 232px;
  }
}

/* Homepage final product-first experience */
.hero-polished {
  min-height: calc(100vh - 70px);
  align-items: flex-start;
  padding: 28px 0 36px;
}

.hero-polished::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.82), rgba(255,255,255,.96) 42%, rgba(248,250,252,.98)),
    linear-gradient(90deg, rgba(36,59,107,.045) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(36,59,107,.04) 0 1px, transparent 1px 100%);
  background-size: auto, 44px 44px, 44px 44px;
}

.hero-grid {
  grid-template-columns: minmax(0, .98fr) minmax(392px, .78fr);
  gap: 28px;
  align-items: start;
}

.hero-copy {
  max-width: 760px;
}

.hero h1 {
  max-width: 650px;
  margin: 12px 0 10px;
  color: var(--text);
  font-size: 56px;
  line-height: 1.04;
  letter-spacing: 0;
}

.lead {
  max-width: 620px;
  color: #4f5b70;
  font-size: 17px;
  line-height: 1.52;
}

.hero-process-strip {
  max-width: 760px;
  margin-top: 12px;
  gap: 7px;
  border-color: #dde4ef;
  background: rgba(255,255,255,.92);
  padding: 7px;
}

.hero-process-strip span {
  min-height: 56px;
  border-left: 0;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
  color: #243b6b;
  line-height: 1.25;
}

.hero-process-strip b {
  color: #e23b63;
}

.scan-console {
  max-width: 760px;
  margin-top: 14px;
  border-color: #dde4ef;
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 62px rgba(17,24,39,.10);
  padding: 14px;
}

.scan-console::before {
  height: 3px;
  margin-bottom: 14px;
}

.scan-field-wrap {
  grid-template-columns: minmax(0, 1fr) 152px;
  gap: 10px;
}

.scan-field-wrap input {
  min-height: 54px;
}

.scan-field-wrap .btn.primary {
  min-width: 0;
  min-height: 54px;
}

.auto-detect-minimal {
  grid-template-columns: minmax(132px, .24fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  margin-top: 14px;
  border-color: #e1e7f0;
  background: #fff;
  padding: 12px;
}

.auto-detect-minimal .auto-detect-head {
  gap: 5px;
}

.auto-detect-minimal .auto-detect-head strong {
  min-height: 32px;
  color: #10244d;
  background: #f8fafc;
  padding: 6px 11px;
}

.auto-detect-minimal .auto-detect-head small {
  color: #647084;
  line-height: 1.35;
}

.auto-detect-flow {
  border-radius: 8px;
  padding: 9px 10px;
}

.auto-detect-flow span {
  color: #243b6b;
}

.route-insight-grid {
  grid-column: 2 / 3;
  gap: 7px;
}

.auto-detect-minimal .route-insight-grid {
  display: none;
}

.route-insight-grid div {
  border-radius: 0;
  border-width: 0 1px 0 0;
  background: transparent;
  padding: 8px 9px;
}

.route-insight-grid div:first-child {
  border-radius: 8px 0 0 8px;
}

.route-insight-grid div:last-child {
  border-right: 0;
  border-radius: 0 8px 8px 0;
}

.route-insight-grid {
  overflow: hidden;
  border: 1px solid #dde4ef;
  border-radius: 8px;
  background: #f8fafc;
}

.route-insight-grid div::before {
  display: none;
}

.route-insight-grid span {
  font-size: 10px;
}

.route-insight-grid strong {
  color: #172033;
  font-size: 12px;
}

.auto-detect-minimal .supported-targets {
  grid-column: 2 / 3;
  gap: 7px;
}

.supported-targets button {
  min-height: 31px;
  border-color: #dde4ef;
  color: #465267;
}

.supported-targets button.active {
  color: #10244d;
  border-color: rgba(244,63,110,.50);
  background: linear-gradient(180deg, #fff7f8, #fff);
}

.mode-switcher {
  padding-top: 12px;
}

.scan-mode-grid {
  gap: 10px;
}

.mode-card {
  min-height: 112px;
  padding: 12px;
}

.trust-row {
  max-width: 760px;
  margin-top: 12px;
}

.hero-product {
  display: grid;
  gap: 10px;
  align-self: start;
  min-width: 0;
}

.hero-console-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #dde4ef;
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 34px rgba(17,24,39,.07);
  padding: 11px 12px;
}

.hero-console-head span {
  color: #e23b63;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.hero-console-head strong {
  color: #172033;
  font-size: 14px;
}

.hero-art-frame {
  aspect-ratio: 1.56;
  border-color: #dde4ef;
}

.hero-art-frame img {
  object-position: center center;
}

.hero-floating-report {
  left: 16px;
  bottom: 16px;
  width: min(260px, calc(100% - 32px));
  padding: 12px;
}

.hero-signal-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-color: #dde4ef;
  padding: 0;
}

.hero-signal-board div {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  min-height: 184px;
  border: 0;
  border-right: 1px solid #e5e7ef;
  border-radius: 0;
  background: #fff;
  padding: 14px;
}

.hero-signal-board div:last-child {
  border-right: 0;
}

.hero-signal-board small {
  min-height: 48px;
  color: #647084;
}

.hero-signal-board ul {
  margin: 6px 0 10px;
}

.hero-signal-board li {
  min-height: 18px;
}

.hero-signal-board b {
  min-height: 28px;
}

.experience-section {
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.experience-grid {
  grid-template-columns: minmax(0, .78fr) minmax(420px, 1fr);
  gap: 34px;
  align-items: center;
}

.experience-copy {
  max-width: 560px;
}

.experience-copy h2 {
  max-width: 560px;
  font-size: 40px;
  line-height: 1.08;
  letter-spacing: 0;
}

.evidence-proof-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evidence-proof-list article {
  min-height: 138px;
  background: rgba(255,255,255,.96);
}

.evidence-proof-list strong {
  font-size: 16px;
  line-height: 1.25;
}

.evidence-visual-stack {
  position: relative;
  display: grid;
  gap: 14px;
}

.evidence-visual-stack .experience-visual {
  box-shadow: 0 22px 58px rgba(17,24,39,.10);
}

.evidence-visual-stack .experience-visual-primary {
  width: 100%;
}

.evidence-visual-stack .experience-visual-secondary {
  width: 100%;
  justify-self: stretch;
  margin-top: 0;
}

.evidence-visual-stack .experience-visual img {
  aspect-ratio: 1.82;
  object-fit: cover;
  object-position: center center;
}

.evidence-visual-stack .experience-visual-secondary img {
  object-position: center;
}

.experience-visual figcaption {
  min-height: 42px;
}

@media (max-width: 1180px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
    gap: 24px;
  }

  .hero h1 {
    font-size: 48px;
  }

  .hero-signal-board div {
    min-height: 174px;
    padding: 12px;
  }
}

@media (max-width: 900px) {
  .hero-polished {
    min-height: auto;
    padding-top: 34px;
  }

  .hero-grid,
  .experience-grid {
    grid-template-columns: 1fr;
  }

  .hero h1 {
    font-size: 40px;
  }

  .lead {
    font-size: 16px;
  }

  .hero-product {
    max-width: 720px;
  }

  .hero-signal-board {
    grid-template-columns: 1fr;
  }

  .hero-signal-board div {
    border-right: 0;
    border-bottom: 1px solid #e5e7ef;
    min-height: auto;
  }

  .hero-signal-board div:last-child {
    border-bottom: 0;
  }

  .hero-signal-board small {
    min-height: 0;
  }

  .experience-copy {
    max-width: none;
  }

  .experience-copy h2 {
    max-width: 680px;
    font-size: 34px;
  }

  .evidence-visual-stack .experience-visual-primary,
  .evidence-visual-stack .experience-visual-secondary {
    width: 100%;
    margin-top: 0;
  }
}

@media (max-width: 620px) {
  .hero-polished {
    padding-top: 28px;
  }

  .hero h1 {
    font-size: 34px;
  }

  .hero-process-strip {
    grid-template-columns: 1fr 1fr;
  }

  .hero-process-strip span {
    min-height: 54px;
    padding: 8px;
  }

  .scan-console {
    padding: 12px;
  }

  .scan-field-wrap,
  .auto-detect-minimal,
  .route-insight-grid,
  .evidence-proof-list {
    grid-template-columns: 1fr;
  }

  .auto-detect-card.auto-detect-minimal {
    grid-template-columns: 1fr;
  }

  .auto-detect-minimal .auto-detect-head small {
    display: none;
  }

  .auto-detect-minimal .auto-detect-flow,
  .auto-detect-minimal .supported-targets {
    grid-column: 1 / -1;
  }

  .auto-detect-minimal .supported-targets {
    justify-content: start;
  }

  .auto-detect-flow {
    grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto;
    overflow: hidden;
  }

  .auto-detect-flow span {
    font-size: 11px;
  }

  .scan-mode-grid {
    grid-template-columns: 1fr;
  }

  .hero-console-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .hero-art-frame {
    aspect-ratio: 1.18;
  }

  .hero-floating-report {
    position: absolute;
    left: 12px;
    bottom: 12px;
    width: min(260px, calc(100% - 24px));
    margin: 0;
  }

  .experience-copy h2 {
    font-size: 30px;
  }

  .evidence-visual-stack .experience-visual img {
    aspect-ratio: 1.18;
  }
}

/* Dashboard audit intelligence pass */
.dashboard-reading-panel {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.98)),
    linear-gradient(90deg, rgba(244,63,110,.08), rgba(18,185,129,.08));
}

.dashboard-reading-panel .dashboard-command-steps a {
  min-height: 106px;
  position: relative;
}

.dashboard-reading-panel .dashboard-command-steps a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
  opacity: .32;
}

.dashboard-panel-note,
.dashboard-chart-note {
  margin: 0 0 14px;
  color: var(--dashboard-muted);
  line-height: 1.5;
}

.dashboard-latest-body {
  grid-template-columns: 136px minmax(0, 1fr);
  align-items: stretch;
  padding: 8px 0 16px;
}

.dashboard-score-ring {
  align-self: center;
}

.dashboard-severity-bars {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.dashboard-evidence-head,
.dashboard-chart-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-evidence-head span,
.dashboard-chart-head span {
  color: #243b6b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-evidence-head strong,
.dashboard-chart-head small {
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 850;
}

.dashboard-severity-summary {
  display: grid;
  gap: 8px;
}

.dashboard-severity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 8px 10px;
  align-items: center;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.dashboard-severity-row div {
  min-width: 0;
}

.dashboard-severity-row strong,
.dashboard-category-row strong {
  display: block;
  color: var(--dashboard-ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.dashboard-severity-bars .dashboard-evidence-head span,
.dashboard-severity-bars .dashboard-severity-row span,
.dashboard-severity-bars .dashboard-chart-note {
  width: auto !important;
  min-width: 0;
  height: auto;
  border-radius: 0;
  background: transparent !important;
}

.dashboard-severity-row span,
.dashboard-category-row span {
  display: block;
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 850;
}

.dashboard-severity-row b {
  justify-self: end;
  color: var(--dashboard-ink);
  font-size: 20px;
  line-height: 1;
}

.dashboard-severity-row i,
.dashboard-category-row i {
  grid-column: 1 / -1;
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2f7;
}

.dashboard-severity-row em,
.dashboard-category-row em {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.dashboard-severity-row.critical em {
  background: linear-gradient(90deg, #f43f6e, #fb7185);
}

.dashboard-severity-row.warning em {
  background: linear-gradient(90deg, #ff7a18, #f8b84e);
}

.dashboard-severity-row.notice em {
  background: linear-gradient(90deg, #2563eb, #12b981);
}

.dashboard-chart-note {
  margin: 0;
  font-size: 12px;
}

.dashboard-score-bars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(46px, 1fr));
  gap: 8px;
  height: 132px;
  align-items: end;
  margin-top: 12px;
  padding: 10px 8px 0;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
}

.dashboard-score-bar {
  display: grid;
  grid-template-rows: 1fr auto auto;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  height: 100%;
}

.dashboard-score-bar i {
  align-self: end;
  display: block;
  width: min(30px, 68%);
  min-height: 10px;
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, #12b981, #2563eb);
}

.dashboard-score-bar strong {
  color: var(--dashboard-ink);
  font-size: 12px;
  line-height: 1;
}

.dashboard-score-bar span {
  color: var(--dashboard-muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.dashboard-comparison-score.positive strong {
  color: #047857;
}

.dashboard-comparison-score.negative strong {
  color: #e23b63;
}

.dashboard-comparison-score.neutral strong {
  color: var(--dashboard-ink);
}

.dashboard-donut {
  width: 100%;
  height: auto;
  min-height: 88px;
  margin: 14px 0 12px;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(244,63,110,.10), rgba(255,122,24,.10), rgba(18,185,129,.10)),
    #fff;
}

.dashboard-donut span {
  width: 100%;
  height: auto;
  min-height: 88px;
  display: grid;
  place-items: center;
  gap: 2px;
  border-radius: 0;
  background: transparent;
}

.dashboard-donut strong {
  color: var(--dashboard-ink);
  font-size: 32px;
  line-height: 1;
}

.dashboard-donut small {
  color: var(--dashboard-muted);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-category-list {
  gap: 8px;
}

.dashboard-category-list .dashboard-empty-state {
  margin-top: 0;
}

.dashboard-category-row {
  display: grid;
  gap: 8px;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.dashboard-category-row em {
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

@media (max-width: 720px) {
  .dashboard-sidebar {
    position: relative;
  }

  .dashboard-sidebar::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 0;
    height: 1px;
    background: rgba(255, 255, 255, .10);
  }

  .dashboard-logo {
    margin-bottom: 2px;
  }

  .dashboard-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding-bottom: 0;
  }

  .dashboard-menu a {
    justify-content: center;
    text-align: center;
    white-space: normal;
  }

  .dashboard-latest-body,
  .dashboard-evidence-head,
  .dashboard-chart-head {
    grid-template-columns: 1fr;
  }

  .dashboard-evidence-head,
  .dashboard-chart-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .dashboard-score-bars {
    height: 116px;
  }
}

/* Homepage final story polish */
.auto-detect-flow {
  grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto;
}

.route-insight-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hero-signal-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero-signal-board div {
  min-height: 156px;
  border-right: 1px solid #e5e7ef;
  border-bottom: 1px solid #e5e7ef;
}

.hero-signal-board div:nth-child(2n) {
  border-right: 0;
}

.hero-signal-board div:nth-child(n + 3) {
  border-bottom: 0;
}

.hero-signal-board div:last-child {
  border-right: 0;
}

.hero-signal-board small {
  min-height: 42px;
}

.hero-signal-board[data-detected="website"] div[data-signal-stage="scan"]::before,
.hero-signal-board[data-detected="youtube"] div[data-signal-stage="scan"]::before,
.hero-signal-board[data-detected="facebook"] div[data-signal-stage="scan"]::before,
.hero-signal-board[data-detected="x"] div[data-signal-stage="scan"]::before {
  width: 4px;
}

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

  .hero-signal-board div,
  .hero-signal-board div:nth-child(2n),
  .hero-signal-board div:nth-child(n + 3) {
    border-right: 0;
    border-bottom: 1px solid #e5e7ef;
  }

  .hero-signal-board div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 620px) {
  .auto-detect-flow {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .auto-detect-flow i {
    display: none;
  }

  .route-insight-grid {
    grid-template-columns: 1fr;
  }
}

/* Admin pilot workflow and dashboard form finish */
.dashboard-account-card .dashboard-pilot-note {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(223, 229, 239, .78);
  color: #465267;
}

.consent-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, .46);
  backdrop-filter: blur(10px);
}

.consent-card {
  width: min(680px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid rgba(223, 229, 239, .95);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .25);
  padding: clamp(18px, 3vw, 28px);
}

.consent-head {
  display: grid;
  gap: 8px;
}

.consent-head span {
  width: fit-content;
  border: 1px solid rgba(244, 63, 110, .20);
  border-radius: 999px;
  background: #fff1f5;
  color: #9f1746;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.consent-head strong {
  color: #172033;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.08;
}

.consent-head p {
  margin: 0;
  color: #465267;
  line-height: 1.55;
}

.consent-options {
  display: grid;
  gap: 10px;
  margin: 18px 0 12px;
}

.consent-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid #dfe5ef;
  border-radius: 10px;
  background: #f8fafc;
  padding: 13px;
}

.consent-option.locked {
  background: #fff;
}

.consent-option input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: #12b981;
}

.consent-option input:disabled {
  cursor: not-allowed;
  opacity: .68;
}

.consent-option strong,
.consent-option small {
  display: block;
}

.consent-option strong {
  color: #172033;
  font-size: 15px;
}

.consent-option small {
  margin-top: 3px;
  color: #647084;
  line-height: 1.45;
}

.consent-links,
.consent-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.consent-links {
  margin: 8px 0 18px;
}

.consent-links a {
  color: #243b6b;
  font-weight: 850;
}

.consent-actions {
  justify-content: flex-end;
}

.footer a[data-consent-open],
.legal a[data-consent-open] {
  cursor: pointer;
}

.scan-inline-message,
.checkout-message {
  min-height: 20px;
  margin: 8px 0 0;
  color: #9f1746;
  font-size: 13px;
  font-weight: 850;
}

.site-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 140;
  max-width: min(420px, calc(100vw - 36px));
  border: 1px solid rgba(223, 229, 239, .95);
  border-radius: 10px;
  background: #fff;
  color: #172033;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .20);
  padding: 13px 15px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.4;
}

.site-toast.error {
  border-color: rgba(244, 63, 110, .34);
  background: #fff7f8;
}

.site-toast.success {
  border-color: rgba(18, 185, 129, .34);
  background: #f0fdf7;
}

.btn.is-soft-disabled,
.btn[aria-disabled="true"] {
  color: #667085;
  border-color: #e5e7ef;
  background: #f8fafc;
  box-shadow: none;
  cursor: default;
}

.nav-account {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  border: 1px solid rgba(148, 163, 184, .32);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  padding: 4px 6px 4px 10px;
  color: #465267;
  font-size: 13px;
  font-weight: 850;
}

.nav-account::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #94a3b8;
}

.nav-account.is-online::before {
  background: #12b981;
  box-shadow: 0 0 0 4px rgba(18, 185, 129, .12);
}

.nav-account a,
.nav-account button {
  border: 0;
  border-radius: 999px;
  background: #f8fafc;
  color: #172033;
  padding: 7px 10px;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}

.nav-account button[hidden] {
  display: none;
}

.dashboard-menu-button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .08);
  color: inherit;
  padding: 10px 12px;
  text-align: left;
  font-weight: 850;
  cursor: pointer;
}

.dashboard-account-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-account-actions .btn {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}

[hidden] {
  display: none !important;
}

.dashboard-account-signin {
  min-height: 36px;
  padding: 8px 12px;
  white-space: nowrap;
}

.dashboard-score-ring {
  --dashboard-score-percent: 0%;
  position: relative;
  display: grid;
  place-items: center;
  width: 136px;
  height: 136px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 55%, transparent 56%),
    conic-gradient(#f43f6e 0 var(--dashboard-score-percent), #e6ebf3 var(--dashboard-score-percent) 100%);
  box-shadow: inset 0 0 0 1px #e8edf4, 0 18px 42px rgba(15, 23, 42, .08);
  color: #f43f6e;
}

.dashboard-score-ring.is-empty {
  background:
    radial-gradient(circle at center, #fff 0 55%, transparent 56%),
    conic-gradient(#e8edf4 0 100%);
  color: #94a3b8;
}

.dashboard-score-ring::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(226, 232, 240, .9);
}

.dashboard-score-ring span,
.dashboard-score-ring small {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
  transform: none;
}

.dashboard-score-ring.is-empty span {
  color: #94a3b8;
  font-size: 34px;
}

.dashboard-score-ring span {
  display: block;
  font-size: 38px;
  line-height: .92;
  letter-spacing: 0;
  margin-top: -12px;
}

.dashboard-score-ring small {
  display: block;
  margin-top: 50px;
  margin-left: 0;
  color: #647084;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-latest-body {
  grid-template-columns: 154px minmax(0, 1fr);
  align-items: center;
}

.dashboard-severity-bars .dashboard-empty-state {
  grid-column: 1 / -1;
}

.dashboard-severity-bars .dashboard-empty-state span {
  display: block;
  height: auto;
  min-width: 0;
  border-radius: 0;
  background: transparent;
}

.dashboard-empty-state-action {
  align-content: center;
  min-height: 150px;
}

.dashboard-entitlement-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-entitlement-state {
  border: 1px solid #d7e3f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #1f3a5f;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-entitlement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.dashboard-entitlement-grid div {
  border: 1px solid #e1e8f2;
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
  padding: 10px;
  min-width: 0;
}

.dashboard-entitlement-grid span,
.dashboard-entitlement-grid small {
  display: block;
  color: #647084;
  font-size: 11px;
  line-height: 1.35;
}

.dashboard-entitlement-grid strong {
  display: block;
  color: #172033;
  font-size: 15px;
  margin: 2px 0;
}

.dashboard-report-group {
  display: grid;
  gap: 7px;
}

.dashboard-report-group + .dashboard-report-group {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid #e1e8f2;
}

.dashboard-report-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #647084;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dashboard-report-group-head strong {
  color: #172033;
}

.plan-comparison-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.plan-comparison-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  gap: 12px;
  min-width: 0;
  min-height: 610px;
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
  padding: clamp(20px, 2.2vw, 28px);
  overflow: hidden;
}

.plan-comparison-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: #dfe5ef;
}

.plan-comparison-card.active {
  border-color: rgba(244, 63, 110, .36);
}

.plan-comparison-card.active::before {
  background: linear-gradient(90deg, #f43f6e, #ff7a18);
}

.plan-comparison-card.staged::before {
  background: linear-gradient(90deg, #243b6b, #12b981);
}

.plan-comparison-card.flagship {
  border: 2px solid transparent;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #102a56 0%, #0ea5e9 46%, #12b981 100%) border-box;
  box-shadow:
    0 24px 70px rgba(15, 23, 42, .12),
    0 0 0 5px rgba(18, 185, 129, .08);
}

.plan-comparison-card.flagship::before {
  height: 6px;
  background: linear-gradient(90deg, #102a56, #0ea5e9, #12b981);
}

.plan-comparison-card h2,
.plan-comparison-card h3 {
  margin: 0;
  color: #0f1f3d;
  font-size: clamp(30px, 3.1vw, 44px);
  line-height: 1.05;
}

.plan-comparison-card .price {
  color: #243b6b;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1;
  font-weight: 950;
}

.plan-comparison-card p {
  margin: 0;
  color: #465267;
  line-height: 1.5;
}

.plan-comparison-card .plan-summary {
  min-height: 72px;
  color: #2d3a50;
  font-size: 16px;
}

.plan-availability-bar {
  height: 14px;
  border-radius: 999px;
  background: #e8edf4;
  overflow: hidden;
}

.plan-availability-bar i {
  display: block;
  width: var(--bar-width, 50%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f43f6e, #ff7a18, #12b981);
}

.plan-feature-list.detailed {
  gap: 10px;
  margin: 6px 0 8px;
}

.plan-feature-list.detailed li {
  min-height: 24px;
  padding-left: 30px;
  color: #172033;
  font-weight: 750;
}

.plan-feature-list.detailed li::before {
  top: .35em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e8f8ee;
  box-shadow: inset 0 0 0 1px #b7e7ca;
}

.plan-feature-list.detailed li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: .63em;
  width: 6px;
  height: 3px;
  border-left: 2px solid #047857;
  border-bottom: 2px solid #047857;
  transform: rotate(-45deg);
}

.plan-feature-list.detailed li.excluded {
  color: #647084;
}

.plan-feature-list.detailed li.excluded::before {
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px #d7e3f0;
}

.plan-feature-list.detailed li.excluded::after {
  left: 5px;
  top: .66em;
  width: 8px;
  height: 2px;
  border: 0;
  background: #94a3b8;
  transform: none;
}

.compact-plan-comparison .plan-comparison-card {
  min-height: 610px;
}

.pricing-grid-final .plan-comparison-card {
  min-height: 650px;
}

.business-profile-form {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
}

.business-profile-form label,
.dashboard-google-selection-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.business-profile-form label span,
.dashboard-google-selection-form label span,
.dashboard-youtube-channels span {
  color: #243b6b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.business-profile-form .field,
.dashboard-google-selection-form .field,
.dashboard-inline-auth-form .field {
  min-width: 0;
  border-color: #dfe5ef;
  background: #f8fafc;
}

.business-profile-form .btn {
  min-height: 62px;
}

.dashboard-google-selection-form {
  align-items: stretch;
  gap: 10px;
}

.dashboard-youtube-channels {
  display: grid;
  gap: 7px;
  border: 1px solid var(--dashboard-line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.dashboard-youtube-channels small,
.dashboard-google-selection-form small {
  color: var(--dashboard-muted);
  line-height: 1.35;
}

.dashboard-inline-auth-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.admin-app-body {
  --admin-ink: #172033;
  --admin-muted: #647084;
  --admin-line: #dfe5ef;
  --admin-surface: rgba(255, 255, 255, .96);
  background: linear-gradient(180deg, #fff 0, #f6f8fb 280px, #f6f8fb 100%);
  color: var(--admin-ink);
}

.admin-side {
  background: #172033;
  color: #fff;
}

.admin-token-card,
.admin-health-card,
.admin-row {
  border-color: var(--admin-line);
  background: var(--admin-surface);
  box-shadow: 0 14px 36px rgba(17, 24, 39, .07);
}

.admin-token-message {
  grid-column: 1 / -1;
  min-height: 18px;
}

.admin-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-token-card h2,
.admin-row strong,
.admin-health-card strong,
.admin-readiness-head strong,
.admin-mini-row strong,
.admin-form-grid label,
.admin-settings-panel .switch-row {
  color: var(--admin-ink);
}

.admin-token-card p,
.admin-row small,
.admin-health-card span,
.admin-health-card small,
.admin-readiness-list span,
.admin-mini-row span,
.admin-settings-panel small {
  color: var(--admin-muted);
}

.admin-row.pilot-row {
  grid-template-columns: minmax(0, 1fr) auto auto minmax(250px, auto);
  align-items: center;
}

.pilot-row .admin-actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, auto));
  gap: 6px;
}

.admin-actions .btn.primary {
  color: #fff;
}

.admin-actions .btn:disabled {
  opacity: .46;
  cursor: not-allowed;
}

.admin-detail-panel[hidden] {
  display: none;
}

.admin-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.admin-detail-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 14px;
}

.admin-detail-title {
  display: block;
  color: var(--admin-ink);
  margin-bottom: 8px;
}

.admin-flag {
  background: #eef4ff;
  color: #243b6b;
}

.admin-flag.on {
  background: #e8f8ee;
  color: #047857;
}

.admin-flag.off {
  background: #fff1f4;
  color: #be123c;
}

.admin-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(15, 23, 42, .44);
}

.admin-confirm-modal[hidden] {
  display: none;
}

.admin-confirm-card {
  width: min(620px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .24);
  padding: clamp(18px, 3vw, 26px);
}

.admin-confirm-head,
.admin-confirm-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-confirm-card h2,
.admin-confirm-card p {
  margin: 0;
}

.admin-confirm-card > p {
  color: var(--admin-muted);
  margin-top: 12px;
}

.admin-confirm-impact {
  margin: 14px 0;
  border: 1px solid #dbe7f3;
  border-radius: 12px;
  background: #f8fafc;
  color: var(--admin-ink);
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 800;
}

.admin-confirm-fields {
  display: grid;
  gap: 12px;
}

.admin-confirm-fields label {
  display: grid;
  gap: 6px;
  color: var(--admin-ink);
  font-weight: 850;
}

.admin-confirm-fields textarea.field {
  min-height: 92px;
  resize: vertical;
}

.admin-confirm-fields small {
  color: var(--admin-muted);
}

.admin-confirm-actions {
  justify-content: flex-end;
  margin-top: 18px;
}

@media (max-width: 1180px) {
  .business-profile-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .business-profile-form .btn {
    grid-column: 1 / -1;
  }

  .admin-row.pilot-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .pilot-row .admin-actions {
    justify-content: flex-start;
  }

  .plan-comparison-grid {
    grid-template-columns: 1fr;
  }

  .plan-comparison-card,
  .compact-plan-comparison .plan-comparison-card {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .business-profile-form,
  .pilot-row .admin-actions,
  .admin-detail-grid,
  .admin-detail-columns,
  .dashboard-entitlement-grid {
    grid-template-columns: 1fr;
  }

  .business-profile-form .btn {
    min-height: 48px;
  }

  .dashboard-entitlement-head {
    display: grid;
  }
}

/* Product polish sprint: lean launch experience */
.hero-polished {
  min-height: min(820px, calc(100vh - 72px));
  padding: 32px 0 30px;
}

.hero-copy .eyebrow,
.pricing-hero .eyebrow {
  color: #0f766e;
  background: rgba(20, 184, 166, .10);
  border-color: rgba(20, 184, 166, .22);
}

.hero h1 {
  max-width: 760px;
  margin-bottom: 14px;
  color: #081528;
  font-size: 68px;
  line-height: .95;
}

.lead {
  max-width: 660px;
  color: #344256;
  font-size: 19px;
  line-height: 1.5;
}

.hero-process-strip {
  max-width: 680px;
  gap: 8px;
  margin: 18px 0 0;
}

.hero-process-strip span {
  min-height: 38px;
  color: #172033;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(148, 163, 184, .30);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.hero-process-strip b {
  color: #f43f6e;
}

.scan-console {
  border: 1px solid rgba(148, 163, 184, .26);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .12);
}

.scan-field-wrap {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.scan-form input {
  color: #0f172a;
  font-weight: 750;
}

.scan-inline-message a {
  color: #0f766e;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.auto-detect-minimal {
  padding: 12px;
  border-color: rgba(148, 163, 184, .22);
  background: #f8fafc;
}

.route-insight-grid div,
.supported-targets button {
  background: #fff;
}

.mode-card {
  min-height: 98px;
  border-color: rgba(148, 163, 184, .24);
}

.mode-card strong {
  font-size: 19px;
}

.mode-card small,
.mode-card span {
  font-size: 13px;
}

.mode-card[data-locked="true"] {
  cursor: pointer;
  opacity: 1;
  border-style: dashed;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(36, 59, 107, .26), rgba(18, 185, 129, .38)) border-box;
}

.mode-card[data-locked="true"]:hover,
.mode-card[data-locked="true"]:focus-visible {
  border-style: solid;
  transform: translateY(-2px);
}

.trust-row {
  gap: 8px;
}

.trust-row span {
  color: #172033;
  background: rgba(255, 255, 255, .78);
}

.hero-product {
  filter: saturate(1.05);
}

.hero-floating-report {
  border: 1px solid rgba(255, 255, 255, .68);
  box-shadow: 0 20px 50px rgba(15, 23, 42, .18);
}

.hero-signal-board {
  gap: 10px;
}

.hero-signal-board > div {
  min-height: 0;
}

.hero-signal-board small,
.hero-signal-board li {
  line-height: 1.35;
}

.proof-section {
  padding: 34px 0 12px;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.proof-grid article {
  min-height: 152px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
}

.proof-grid article:nth-child(1) { border-top: 4px solid #f43f6e; }
.proof-grid article:nth-child(2) { border-top: 4px solid #2563eb; }
.proof-grid article:nth-child(3) { border-top: 4px solid #ff7a18; }
.proof-grid article:nth-child(4) { border-top: 4px solid #12b981; }

.proof-grid span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
}

.proof-grid strong {
  display: block;
  margin-top: 12px;
  font-size: 20px;
  line-height: 1.15;
}

.proof-grid small {
  display: block;
  margin-top: 8px;
  color: #475569;
  line-height: 1.45;
}

.plans-section {
  padding-top: 36px;
}

.lean-plan-grid {
  align-items: stretch;
}

.lean-plan-grid .plan-comparison-card {
  min-height: auto;
  padding: 22px;
  gap: 10px;
}

.lean-plan-grid .plan-comparison-card h2,
.lean-plan-grid .plan-comparison-card h3 {
  font-size: 34px;
}

.lean-plan-grid .plan-comparison-card .price {
  font-size: 29px;
}

.lean-plan-grid .plan-summary {
  min-height: 46px;
  font-size: 15px;
}

.lean-plan-grid .plan-feature-list {
  gap: 8px;
}

.lean-plan-grid .plan-feature-list li {
  min-height: 0;
  padding: 9px 0;
}

.pricing-page .pricing-hero {
  padding: 58px 0 18px;
}

.pricing-page .pricing-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr);
  gap: 22px;
  align-items: stretch;
}

.pricing-page .pricing-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #081528;
  font-size: 56px;
  line-height: 1;
}

.pricing-note-panel {
  border-color: rgba(20, 184, 166, .24);
  background: linear-gradient(180deg, #ffffff, #f4fffb);
}

.pricing-footnote {
  color: #334155;
  background: #f8fafc;
  border-color: rgba(148, 163, 184, .24);
}

.pilot-interest-section {
  padding-top: 32px;
}

.pilot-proof-grid article {
  background: #fff;
}

/* Lean hero compression: keep the first screen focused on action. */
.auto-detect-minimal {
  display: grid;
  grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.auto-detect-minimal .auto-detect-flow,
.auto-detect-minimal .route-insight-grid {
  display: none;
}

.auto-detect-minimal .auto-detect-head {
  display: grid;
  gap: 2px;
}

.auto-detect-minimal .supported-targets {
  justify-content: flex-end;
  margin: 0;
}

.auto-detect-minimal .supported-targets button {
  min-height: 32px;
  padding: 8px 11px;
  font-size: 12px;
}

.hero-art-frame {
  aspect-ratio: 1.55;
}

.hero-signal-board {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hero-signal-board > div {
  min-height: 112px;
  padding: 14px;
}

.hero-signal-board > div:last-child {
  grid-column: auto;
}

.hero-signal-board ul {
  display: none;
}

@media (max-width: 1120px) {
  .hero h1 {
    font-size: 58px;
  }

  .proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .pricing-page .pricing-hero h1,
  .hero h1 {
    font-size: 46px;
  }

  .lead {
    font-size: 17px;
  }
}

@media (max-width: 620px) {
  .hero-polished {
    min-height: auto;
    padding: 18px 0 14px;
  }

  .hero h1,
  .pricing-page .pricing-hero h1 {
    font-size: 34px;
    line-height: 1.02;
  }

  .lead {
    font-size: 15px;
    line-height: 1.42;
  }

  .hero-process-strip,
  .auto-detect-minimal,
  .hero-product {
    display: none;
  }

  .scan-console {
    margin-top: 14px;
    padding: 12px;
    gap: 12px;
  }

  .scan-field-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px;
  }

  .scan-form input {
    min-height: 46px;
    font-size: 15px;
  }

  .scan-field-wrap .btn {
    width: 100%;
    min-height: 46px;
  }

  .scan-mode-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .mode-card {
    min-height: 82px;
    padding: 12px 10px;
  }

  .mode-card small,
  .mode-card > span:not(.plan-kicker) {
    display: none;
  }

  .mode-card strong {
    font-size: 17px;
  }

  .trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
  }

  .trust-row span {
    min-height: 32px;
    padding: 8px 5px;
    font-size: 11px;
  }

  .proof-grid {
    grid-template-columns: 1fr;
  }

  .proof-section {
    padding-top: 22px;
  }

  .lean-plan-grid .plan-comparison-card h2,
  .lean-plan-grid .plan-comparison-card h3 {
    font-size: 30px;
  }
}

/* Final launch compaction: one clear action above the fold. */
.hero-polished {
  min-height: auto;
  padding: 14px 0 0;
}

.hero h1 {
  font-size: 60px;
  line-height: 1;
}

.hero-process-strip,
.auto-detect-minimal {
  display: none;
}

.scan-console {
  margin-top: 16px;
  padding: 18px;
}

.hero-art-frame {
  aspect-ratio: 2.05;
}

.hero-signal-board > div {
  min-height: 70px;
  padding: 10px;
}

.hero-signal-board small,
.hero-signal-board ul {
  display: none;
}

/* Pricing feature rows: aligned icons, higher-value copy, no overlap. */
.plan-feature-list.detailed {
  gap: 9px;
  margin: 10px 0 12px;
}

.lean-plan-grid .plan-feature-list.detailed li,
.plan-feature-list.detailed li {
  position: relative;
  display: grid;
  gap: 2px;
  min-height: 52px;
  padding: 9px 11px 9px 43px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(248, 250, 252, .86), rgba(255, 255, 255, .94));
  color: #0f172a;
  font-weight: 800;
  line-height: 1.18;
}

.plan-feature-list.detailed li::before {
  left: 12px;
  top: 12px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eafff6, #d9fff0);
  box-shadow:
    inset 0 0 0 1px rgba(18, 185, 129, .38),
    0 6px 12px rgba(18, 185, 129, .16);
}

.plan-feature-list.detailed li::after {
  left: 18px;
  top: 18px;
  width: 7px;
  height: 4px;
  border-left: 2px solid #047857;
  border-bottom: 2px solid #047857;
  transform: rotate(-45deg);
}

.plan-feature-list.detailed li strong {
  display: block;
  color: #09172d;
  font-size: 14px;
  letter-spacing: 0;
}

.plan-feature-list.detailed li span {
  display: block;
  color: #647084;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.32;
}

.plan-feature-list.detailed li.excluded {
  color: #647084;
  background: #f8fafc;
}

.plan-feature-list.detailed li.excluded::before {
  background: #f8fafc;
  box-shadow: inset 0 0 0 1px #d7e3f0;
}

.plan-feature-list.detailed li.excluded::after {
  left: 20px;
  top: 23px;
  width: 9px;
  height: 2px;
  border: 0;
  background: #94a3b8;
  transform: none;
}

.lean-plan-grid .plan-summary {
  min-height: 40px;
}

/* Public beta launch messaging */
.beta-banner {
  background: #0f1f36;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff;
}

.beta-banner-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 0;
}

.beta-banner span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border-radius: 999px;
  background: rgba(23, 196, 137, .16);
  border: 1px solid rgba(23, 196, 137, .35);
  color: #9af0cd;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 0 12px;
  white-space: nowrap;
}

.beta-banner p {
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  line-height: 1.45;
}

.beta-banner a {
  color: #fff;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
}

.beta-invite-section {
  padding-top: 34px;
  padding-bottom: 26px;
}

.beta-invite-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 26px;
  border: 1px solid rgba(18, 36, 61, .12);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff 0%, #f7fbff 60%, #eefaf6 100%);
  box-shadow: 0 18px 55px rgba(15, 31, 54, .08);
}

.beta-invite-card h2 {
  margin: 8px 0;
  color: var(--ink);
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.02;
  letter-spacing: 0;
}

.beta-invite-card p {
  max-width: 760px;
  margin: 0;
  color: #5c6677;
  font-size: 16px;
  line-height: 1.65;
}

.beta-invite-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 820px) {
  .beta-banner-inner,
  .beta-invite-card {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .beta-banner a {
    width: fit-content;
  }

  .beta-invite-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .beta-banner-inner {
    gap: 10px;
    padding: 12px 0;
  }

  .beta-invite-card {
    padding: 20px;
  }

  .beta-invite-actions .btn {
    width: 100%;
  }
}

@media (max-width: 1120px) {
  .hero h1 {
    font-size: 52px;
  }
}

@media (max-width: 900px) {
  .hero h1 {
    font-size: 44px;
  }
}

@media (max-width: 620px) {
  .hero h1,
  .pricing-page .pricing-hero h1 {
    font-size: 34px;
  }

  .scan-console {
    padding: 12px;
  }
}
