:root {
  --font: "Nunito Sans", "Segoe UI", sans-serif;
  --orange: #ff4d2e;
  --orange-hover: #ef4a14;
  --orange-soft: #fdba74;
  --orange-wash: #fff7ed;
  --ink: #1c1917;
  --muted: #3f3a36;
  --line: #eee7e2;
  --bg: #faf7f5;
  --card: #fff;
  --good: #1f8a4c;
  --avg: #b86e00;
  --bad: #c2412d;
}
* { box-sizing: border-box; }
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
  overflow-x: clip;
  max-width: 100%;
}
html.area-hop .page-loader { display: none; }
html:not(.area-hop) main { animation: none; }
html.area-hop .au-bar,
html.area-hop .au-grid { animation: none; }
.enter-veil {
  display: none !important;
  position: fixed;
  inset: 0;
  z-index: 70;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 24px;
  background: radial-gradient(640px 360px at 50% 42%, rgba(255, 90, 31,.28), transparent 68%), #0b1329;
  color: #fff;
  text-align: center;
  pointer-events: none;
}
.enter-veil small {
  color: #fdba74;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.enter-veil small::after {
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin: 12px auto 0;
  background: #ff5a1f;
}
.enter-veil strong {
  display: block;
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.02;
  max-width: 22ch;
}
html.leaving .enter-veil { display: grid; pointer-events: auto; animation: veil-in .42s ease forwards; }
html.area-hop .enter-veil { display: grid; pointer-events: auto; animation: veil-open 1.05s cubic-bezier(.22, .7, .2, 1) forwards; }
@keyframes veil-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes veil-open {
  0% { opacity: 1; transform: scale(1); }
  40% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; visibility: hidden; transform: scale(1.14); }
}
@keyframes enter-room {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.area-hop .au-bar, html.area-hop .au-grid, html:not(.area-hop) main { animation: none; }
  html.leaving .enter-veil, html.area-hop .enter-veil { display: none; }
  .page-loader {
    animation: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .loader-steps li,
  .loader-steps li::before { animation: none; opacity: 1; }
}
body {
  margin: 0;
  font-family: var(--font);
  color: var(--ink);
  background: var(--bg);
  overflow-x: clip;
  max-width: 100%;
}
button, input, select, textarea { font-family: inherit; }
a { color: inherit; }
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  justify-items: center;
  padding: 24px 16px 88px;
  box-sizing: border-box;
  overflow: auto;
  background: radial-gradient(520px 280px at 50% 42%, rgba(255, 90, 31,.18), transparent 70%), #0b1329;
  animation: loader-open .85s cubic-bezier(.22, .7, .2, 1) 3s forwards;
}
@keyframes loader-open { to { opacity: 0; visibility: hidden; pointer-events: none; transform: scale(1.08); } }
.page-loader.is-done {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
.page-loader-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  text-align: center;
  width: min(420px, 100%);
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}
.loader-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
  margin: 0 auto 10px;
  max-width: 100%;
  min-width: 0;
}
.loader-brand .mark { width: 52px; height: 52px; border-radius: 14px; margin: 0; flex: none; }
.loader-brand .brand-name {
  font-size: clamp(20px, 6vw, 28px);
  text-align: left;
  letter-spacing: -0.04em;
  min-width: 0;
  line-height: 1.1;
}
.loader-brand .brand-name small { display: block; margin-top: 2px; color: #e2e8f0; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.loader-links { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; padding: 20px 40px 28px; }
.loader-links a { color: #fff; text-decoration: none; font-size: 15px; font-weight: 700; }
.loader-links a:hover { color: #fdba74; }
.loader-steps {
  list-style: none;
  width: fit-content;
  max-width: 100%;
  margin: 18px auto 0;
  padding: 0;
  display: grid;
  gap: 10px;
  justify-items: start;
  text-align: left;
  box-sizing: border-box;
}
.loader-steps li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #64748b;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  opacity: .4;
  min-width: 0;
  max-width: 100%;
  animation: step-on .6s linear forwards;
}
.loader-steps li::before {
  content: "";
  width: 16px;
  height: 16px;
  margin-top: 2px;
  border-radius: 99px;
  border: 1.5px solid #334155;
  flex: none;
  animation: step-mark .6s linear forwards;
}
.loader-steps li:nth-child(1), .loader-steps li:nth-child(1)::before { animation-delay: .07s; }
.loader-steps li:nth-child(2), .loader-steps li:nth-child(2)::before { animation-delay: .63s; }
.loader-steps li:nth-child(3), .loader-steps li:nth-child(3)::before { animation-delay: 1.2s; }
.loader-steps li:nth-child(4), .loader-steps li:nth-child(4)::before { animation-delay: 1.77s; }
.loader-steps li:nth-child(5), .loader-steps li:nth-child(5)::before { animation-delay: 2.33s; }
@keyframes step-on { 0% { color: #fff; opacity: 1; } 75% { color: #fff; opacity: 1; } 100% { color: #e2e8f0; opacity: 1; } }
@keyframes step-mark { 0% { border-color: #ff5a1f; box-shadow: 0 0 0 4px rgba(255, 90, 31,.18); } 70% { border-color: #ff5a1f; background: transparent; } 100% { border-color: #ff5a1f; background: #ff5a1f; box-shadow: none; } }
.tip { position: relative; cursor: help; }
.tip:hover, .tip:focus-within { z-index: 50; }
.tip-box { position: absolute; z-index: 50; left: 0; top: calc(100% + 8px); width: 260px; max-width: min(260px, calc(100vw - 32px)); box-sizing: border-box; padding: 10px 12px; border-radius: 10px; background: #0f172a; color: #fff; font-size: 13px; font-weight: 650; font-style: normal; line-height: 1.45; letter-spacing: 0; text-transform: none; white-space: normal; overflow-wrap: break-word; box-shadow: 0 10px 24px rgba(15,23,42,.18); opacity: 0; visibility: hidden; }
.tip:hover .tip-box, .tip:focus-within .tip-box { opacity: 1; visibility: visible; }
.tip-end .tip-box { left: auto; right: 0; }
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 10px 40px;
  flex-wrap: wrap;
  background: #0b1329;
  border-bottom: 1px solid #1e293b;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
}
.top-left, .top-actions { display: flex; align-items: center; gap: 12px; }
.brand { font-weight: 800; text-decoration: none; color: #fff; display: flex; align-items: center; gap: 10px; letter-spacing: -0.03em; white-space: nowrap; }
.brand-name { display: grid; line-height: 1.05; font-size: 16px; }
.brand-name small { font-size: 13px; font-weight: 700; color: #e2e8f0; letter-spacing: 0; }
.mark {
  width: 36px; height: 36px; border-radius: 10px; background: var(--orange); color: #fff;
  display: inline-grid; place-items: center; font-size: 14px; font-weight: 800; flex: none;
}
.pills { position: absolute; left: 50%; transform: translateX(-50%); display: flex; gap: 4px; flex-wrap: wrap; justify-content: center; background: rgba(15,23,42,.7); border: 1px solid #1e293b; padding: 4px; border-radius: 999px; }
.pills a {
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 999px;
  background: transparent;
  color: #f8fafc;
  font-size: 15px;
  font-weight: 700;
}
.pills a.on { background: var(--orange); color: #fff; }
.pills a:hover:not(.on) { color: #fff; background: rgba(255, 90, 31, 0.22); }
.pills .pill-off {
  padding: 8px 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #94a3b8;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  opacity: 0.85;
  user-select: none;
}
.pills .pill-off:hover {
  color: #e2e8f0;
  background: rgba(148, 163, 184, 0.12);
  opacity: 1;
}
.loader-links .nav-off {
  color: #94a3b8;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  opacity: 0.85;
  user-select: none;
}
.loader-links .nav-off:hover {
  color: #e2e8f0;
  opacity: 1;
}
.store-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; color: #f8fafc; background: #0f172a; border: 1px solid #1e293b; border-radius: 999px; padding: 6px 12px; }
.store-chip i { width: 8px; height: 8px; border-radius: 99px; background: #10b981; }
.unlock {
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  border-radius: 10px;
  padding: 8px 12px;
  white-space: nowrap;
  color: #fff;
  background: var(--orange);
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: none;
  transition: background .16s ease, transform .16s ease;
}
.unlock:hover,
.unlock:focus-visible {
  background: var(--orange-hover);
  color: #fff;
  outline: none;
}

/* Landing header (home) */
.topbar.land-topbar {
  background: #fcf8f4;
  border-bottom: 1px solid #eadfd8;
  color: #2d2926;
  padding: 14px 40px;
  min-height: 72px;
}
.topbar.land-topbar .brand { color: var(--ink); }
.topbar.land-topbar .brand-name small { color: #78716c; }
.land-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 34px);
}
.land-nav a {
  color: #2d2926;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  transition: color .16s ease;
}
.land-nav a:hover,
.land-nav a:focus-visible {
  color: #ff5a1f;
  outline: none;
}
.land-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid #eadfd8;
  border-radius: 12px;
  background: #fff;
  padding: 10px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
.land-nav-toggle span {
  display: block;
  height: 2px;
  width: 100%;
  background: #2d2926;
  border-radius: 2px;
  transition: transform .16s ease, opacity .16s ease;
}
.topbar.land-topbar.is-open .land-nav-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.topbar.land-topbar.is-open .land-nav-toggle span:nth-child(2) { opacity: 0; }
.topbar.land-topbar.is-open .land-nav-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 760px) {
  .topbar.land-topbar {
    position: relative;
    padding: 12px 16px;
    min-height: 60px;
    flex-wrap: wrap;
  }
  .land-nav-toggle { display: inline-flex; }
  .land-nav {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 8px 0 4px;
  }
  .topbar.land-topbar.is-open .land-nav { display: flex; }
  .land-nav a {
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #efe8e4;
  }
  .land-nav a:hover,
  .land-nav a:focus-visible {
    background: #fff7ed;
    border-color: #fdba74;
    color: var(--orange);
  }
}
.profile { width: 32px; height: 32px; border-radius: 99px; background: #0f172a; border: 1px solid #334155; display: grid; place-items: center; font-size: 13px; font-weight: 800; }
.site-foot {
  display: flex; justify-content: space-between; gap: 16px; align-items: center; flex-wrap: wrap;
  background: #0b1329; color: #94a3b8; padding: 22px 40px; margin-top: 28px;
}
.site-foot strong { display: flex; align-items: center; gap: 10px; color: #fff; }
.site-foot nav { display: flex; gap: 18px; flex-wrap: wrap; }
.site-foot a { color: #fff; text-decoration: none; font-size: 15px; font-weight: 700; }
.site-foot a:hover { color: var(--orange-soft); }
.site-copy { color: #e2e8f0; font-size: 15px; }
main { width: min(1120px, calc(100% - 80px)); margin: 0 auto; padding: 28px 0 64px; }
.hero h1 { font-size: 48px; line-height: 1.05; margin: 8px 0; max-width: 16ch; }
.lede { font-size: 18px; color: var(--muted); max-width: 62ch; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: #44403c; font-weight: 800; }
.url-form { margin-top: 20px; max-width: 720px; }
.url-row { display: flex; gap: 8px; }
.url-row input {
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 16px;
}
button, .button {
  background: var(--orange);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
}
.form-error { color: var(--bad); font-weight: 600; }
.preview-grid, .stat-row, .three, .split { display: grid; gap: 16px; }
.preview-grid, .three { grid-template-columns: repeat(3, 1fr); }
.stat-row { grid-template-columns: 1.2fr 1.2fr .8fr; margin: 18px 0; }
.split { grid-template-columns: 1.4fr .8fr; align-items: start; }
.card, .finding, .group {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px 18px;
}
.card.hot { background: #fff4f1; }
.ring {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--orange) calc(var(--score) * 1%), #f0e7e3 0);
}
.ring.lg { width: 120px; height: 120px; }
.ring strong { background: #fff; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; }
.ring.lg strong { width: 92px; height: 92px; font-size: 28px; }
.score-row, .overview-head, .area-title, .backlog-head { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.meta-line, .levels { display: flex; gap: 10px; flex-wrap: wrap; color: var(--muted); }
.sev, .chip {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-style: normal;
  background: #f3f0ee;
}
.sev.critical, .chip.severe, .chip.critical { background: #fee2e2; color: #b91c1c; font-weight: 800; }
.sev.average, .chip.moderate { background: #fff1d6; color: var(--avg); }
.sev.minor, .chip.low { background: #e5f6ec; color: var(--good); }
.big { font-size: 36px; margin: 8px 0; }
.big small { font-size: 16px; color: var(--muted); }
.dropoff { list-style: none; padding: 0; margin: 0; }
.dropoff a, .win {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.plan { padding-left: 18px; }
.audit { display: grid; grid-template-columns: 280px 1fr; gap: 20px; }
.area-nav a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 8px;
  text-decoration: none;
  padding: 10px 8px;
  border-radius: 10px;
}
.area-nav a.on { background: #fff; }
.area-nav small { grid-column: 1; color: var(--muted); }
.filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.filters a { text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; }
.filters a.on { background: var(--ink); color: #fff; }
.task { border-top: 1px solid var(--line); padding: 10px 0; }
.task summary { cursor: pointer; display: flex; gap: 8px; align-items: center; }
.pager { display: flex; justify-content: space-between; margin-top: 20px; }
.banner, .fine { color: #1c1917; font-size: 15px; }
.banner.good { background: #ecfdf5; border: 1px solid #bbf7d0; color: #047857; border-radius: 12px; padding: 10px 12px; margin-bottom: 12px; }
.site-foot { display: flex; justify-content: space-between; gap: 12px; padding: 20px 28px 32px; color: var(--muted); }

body.page-home {
  font-family: var(--font);
  background:
    radial-gradient(900px 420px at 70% 80px, rgba(186, 230, 196, 0.45), transparent 70%),
    radial-gradient(700px 380px at 18% 20px, rgba(255, 228, 214, 0.65), transparent 70%),
    #f6f5f3;
}
body.page-home main {
  width: min(1280px, calc(100% - 32px));
  max-width: 100%;
  padding-top: 8px;
  padding-left: 0;
  padding-right: 0;
}
body.page-home .topbar.land-topbar {
  padding-left: max(16px, calc((100% - min(1280px, 100% - 32px)) / 2 + 16px));
  padding-right: max(16px, calc((100% - min(1280px, 100% - 32px)) / 2 + 16px));
}

/* Landing hero — two-column UI */
.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;
}
.land-hero {
  text-align: left;
  padding: 40px 0 28px;
}
.land-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}
.land-hero-copy h1 {
  margin: 0;
  max-width: none;
  font-size: clamp(40px, 5.4vw, 64px);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.05;
  color: var(--ink);
}
.land-hero-copy h1 span {
  display: block;
  color: var(--orange);
  white-space: nowrap;
}
.land-hero-copy .lede {
  margin: 14px 0 0;
  max-width: none;
  color: #706f6c;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 650;
  line-height: 1.35;
}
.land-cta {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  max-width: 560px;
  padding: 8px 8px 8px 16px;
  background: #fff;
  border: 1px solid #efe8e4;
  border-radius: 999px;
  box-shadow: 0 16px 40px rgba(40, 20, 10, 0.08);
  transition: border-color .16s ease, box-shadow .16s ease;
}
.land-cta:focus-within,
.land-cta.is-cta-focus {
  border-color: var(--orange);
  box-shadow:
    0 0 0 4px rgba(255, 90, 31, 0.22),
    0 16px 40px rgba(40, 20, 10, 0.08);
}
.land-cta.is-cta-focus {
  animation: land-cta-pulse 1.1s ease-out 1;
}
@keyframes land-cta-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 90, 31, 0.42), 0 16px 40px rgba(40, 20, 10, 0.08); }
  70% { box-shadow: 0 0 0 10px rgba(255, 90, 31, 0), 0 16px 40px rgba(40, 20, 10, 0.08); }
  100% {
    box-shadow:
      0 0 0 4px rgba(255, 90, 31, 0.22),
      0 16px 40px rgba(40, 20, 10, 0.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .land-cta.is-cta-focus { animation: none; }
}
.land-cta-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff7ed;
  color: #ff5a1f;
  flex: none;
}
.land-cta input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 12px 6px;
  font-size: 16px;
  color: #1c1917;
}
.land-cta input:focus { outline: none; }
.land-cta input::placeholder { color: #a8a29e; }
.land-cta button {
  flex: none;
  margin: 0;
  width: auto;
  border: 0;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(255, 90, 31, 0.28);
  transition: background .16s ease, box-shadow .16s ease;
}
.land-cta button:hover,
.land-cta button:focus-visible {
  background: var(--orange-hover);
  box-shadow: 0 12px 26px rgba(255, 90, 31, 0.34);
  outline: none;
}
.land-hero .demo-stores-row {
  border-top: 0;
  padding-top: 0;
}
.land-hero .demo-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #57534e;
  border: 1px solid #eadfd8;
  padding: 8px 14px;
  font-size: 13px;
  box-shadow: 0 4px 12px rgba(40, 20, 10, 0.04);
  transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.land-hero .demo-pill:hover,
.land-hero .demo-pill:focus-visible {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 90, 31, 0.22);
  outline: none;
  transform: none;
}
.land-cta .form-error {
  position: absolute;
  left: 18px;
  right: 18px;
  top: calc(100% + 8px);
  margin: 0;
}
.land-hero .demo-stores-row { margin-top: 28px; }
.land-hero-visual {
  position: relative;
  min-height: 360px;
  display: grid;
  place-items: center;
  padding: 28px 8px 36px;
}
.land-glow {
  position: absolute;
  width: min(340px, 90%);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 183, 148, 0.55), transparent 68%);
  z-index: 0;
}
.land-report-card {
  position: relative;
  z-index: 1;
  width: min(340px, 100%);
  background: #fff;
  border: 1px solid #efe8e4;
  border-radius: 22px;
  padding: 22px 22px 20px;
  box-shadow: 0 22px 50px rgba(40, 20, 10, 0.1);
}
.land-report-card header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.land-report-card header em {
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #78716c;
}
.land-report-card h3 {
  margin: 0 0 18px;
  font-size: 24px;
  letter-spacing: -0.03em;
  color: #1c1917;
}
.land-check {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ff5a1f;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  flex: none;
}
.land-score-bars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.land-score-bars li span {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #44403c;
}
.land-score-bars i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #f3e6dc;
  overflow: hidden;
}
.land-score-bars i b {
  display: block;
  width: var(--w, 60%);
  height: 100%;
  border-radius: inherit;
  background: #ff5a1f;
}
.land-priority-card {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: min(240px, 78%);
  padding: 14px 16px;
  background: #ff5a1f;
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(255, 90, 31, 0.35);
}
.land-priority-card .land-check {
  background: rgba(255, 255, 255, 0.2);
  margin-top: 1px;
}
.land-priority-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 650;
}
.land-priority-card strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

@media (max-width: 900px) {
  .land-hero-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .land-hero-copy h1 {
    max-width: none;
    font-size: clamp(34px, 5vw, 44px);
    text-align: center;
  }
  .land-hero-copy h1 span {
    display: block;
    white-space: normal;
  }
  .land-cta { max-width: none; }
  .land-hero-visual {
    order: 2;
    min-height: 260px;
    max-width: 400px;
    margin: 0 auto;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .land-hero { padding: 12px 0 6px; }
  .land-hero-copy {
    text-align: center;
  }
  .land-hero-copy h1 {
    font-size: clamp(28px, 7.2vw, 32px);
    max-width: none;
    line-height: 1.12;
    letter-spacing: -0.03em;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .land-hero-copy h1 span {
    display: block;
    color: var(--orange);
    white-space: normal;
  }
  .land-hero-copy .lede {
    font-size: 15px;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
  }
  .land-hero .demo-stores-row {
    justify-content: center;
  }
  .land-hero .demo-pills {
    justify-content: center;
  }
  .land-cta {
    flex-wrap: wrap;
    border-radius: 18px;
    padding: 10px;
    gap: 8px;
    margin-top: 18px;
  }
  .land-cta-icon { display: none; }
  .land-cta input {
    width: 100%;
    flex: 1 1 100%;
    padding: 12px 14px;
    background: #faf7f5;
    border-radius: 12px;
    font-size: 15px;
  }
  .land-cta button {
    width: 100%;
    justify-content: center;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 14px;
  }
  .land-hero .demo-stores-row { margin-top: 16px; }
  .land-hero-visual {
    min-height: 0;
    padding: 8px 0 0;
  }
  .land-priority-card {
    position: static;
    width: 100%;
    margin-top: 12px;
    padding: 12px 14px;
    box-sizing: border-box;
  }
  .land-report-card {
    width: 100%;
    padding: 16px;
    border-radius: 16px;
  }
  .land-report-card h3 { font-size: 18px; margin-bottom: 14px; }
  .land-glow { display: none; }

  /* Shared mobile section title scale */
  .look-head,
  .price-section,
  #comparison .section-head {
    text-align: center;
  }
  .aha-section { text-align: left; }
  .look-head {
    align-items: center;
  }
  .look-head h2,
  .aha-title,
  .price-title,
  #comparison .section-head h2,
  .faq-title {
    font-size: clamp(24px, 6.2vw, 28px) !important;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
    color: var(--ink);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .look-head .sub {
    font-size: 14px;
    max-width: none;
    text-align: center;
  }
  .aha-title {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    text-align: center !important;
  }
  .aha-grid {
    border: 0;
  }
  .aha-card {
    padding: 16px 4px;
    border-right: 0 !important;
    border-bottom: 1px solid #e7e5e4;
    text-align: left;
  }
  .aha-card:last-child { border-bottom: 0; }
  .aha-card-top {
    justify-content: flex-start;
    margin-bottom: 8px;
  }
  .aha-card h3 {
    font-size: clamp(16px, 4.4vw, 18px) !important;
    max-width: none !important;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
  .aha-card p {
    font-size: 14px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
  .aha-ico { display: none !important; }
  .aha-scan-note {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 4px;
    margin: 18px 0 12px;
  }
  .aha-marquee {
    margin: 0;
  }
  .aha-card:first-child { padding-left: 4px; }
  .aha-card:last-child { padding-right: 4px; }
  .price-title {
    margin-bottom: 16px;
    white-space: normal;
  }
  .price-plan {
    padding: 14px 16px;
    gap: 10px;
  }
  .price-plan span { font-size: 13px; }
  .price-plan strong { font-size: 22px !important; }
  .price-early { padding: 14px; gap: 8px; }
  .price-early p { font-size: 13px; }
  #comparison {
    padding-top: 32px;
  }
  #comparison .section-head {
    align-items: center;
    text-align: center;
    margin-bottom: 6px;
  }
  #comparison .section-head h2 {
    max-width: none;
    white-space: normal;
  }
  #comparison .section-head .kicker {
    margin-bottom: 8px;
    margin-left: auto;
    margin-right: auto;
    font-size: 11px;
    text-align: center;
  }
  #comparison .section-head .sub {
    font-size: 14px;
    max-width: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .land-report-card,
  .land-report-card header,
  .land-report-card h3 {
    text-align: left;
  }
}
body.page-questions {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body.page-questions main {
  flex: 1 0 auto;
  width: min(1040px, calc(100% - 40px));
  padding: 8px 0 28px;
}
body.page-questions .site-foot {
  margin-top: auto;
  flex-shrink: 0;
}
.text-nav { display: flex; gap: 22px; }
.text-nav a { text-decoration: none; color: #f8fafc; font-size: 15px; font-weight: 700; }
.header-cta {
  background: var(--orange);
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
}
.m-hero { text-align: center; padding: 18px 0 10px; }
.hero-pill {
  display: inline-block;
  border: 1px solid #f3d2c8;
  background: #fff;
  color: #1c1917;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
  max-width: 100%;
  box-sizing: border-box;
  line-height: 1.35;
}
.hero-pill .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 8px 0 0;
  vertical-align: 0.1em;
  flex: none;
}
.hero-pill-text {
  display: inline;
  text-align: center;
}
.audit-card.intake { max-width: 760px; text-align: left; margin-top: 28px; padding: 26px 28px 24px; border-radius: 22px; border-color: #efe8e4; box-shadow: 0 18px 50px rgba(40, 20, 10, .06); }
.audit-card.intake .audit-label { align-items: flex-start; gap: 12px; margin-bottom: 22px; }
.audit-card.intake .audit-label .mark { width: 42px; height: 42px; border-radius: 12px; font-size: 18px; }
.audit-card.intake .audit-label > span { font-size: 18px; letter-spacing: -0.02em; }
.audit-card.intake .audit-label small { display: block; margin-top: 3px; font-weight: 650; color: #78716c; font-size: 14px; letter-spacing: 0; text-transform: none; }
.audit-card.intake .online { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: #059669; font-weight: 700; font-size: 14px; }
.audit-card.intake legend { font-size: 16px; font-weight: 800; margin: 0 0 14px; letter-spacing: -0.02em; }
.audit-card.intake .choices { gap: 10px; }
.audit-card.intake .choices label { display: inline-flex; align-items: center; gap: 8px; margin: 0; border: 1px solid #e7e5e4; background: #fff; border-radius: 12px; padding: 10px 16px; font-size: 14px; font-weight: 700; color: #44403c; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.niche-ico { width: 18px; height: 18px; flex: none; }
.audit-card.intake .choices label:hover { border-color: #fdba74; }
.audit-card.intake .choices input:checked + label { background: #ff5a1f; color: #fff; border-color: #ff5a1f; }
.audit-card.intake .choices.stack label { width: 100%; display: flex; justify-content: space-between; gap: 12px; }
.audit-card.intake .choices.stack label small { color: #78716c; font-weight: 650; }
.audit-card.intake .choices input:checked + label small { color: #fff; }
.audit-card.intake .q-actions { margin-top: 26px; gap: 14px; }
.audit-card.intake .q-actions button { margin: 0; min-height: 52px; border-radius: 12px; font-size: 16px; font-weight: 800; }
.audit-card.intake .q-actions .ghost { background: #fff; color: #1c1917; border: 1px solid #e7e5e4; }
.audit-card.intake .q-actions .ghost:disabled { color: #a8a29e; background: #fafaf9; cursor: default; }
.peer-row { display: grid; gap: 10px; margin-top: 12px; padding: 14px; border: 1px solid #e7e5e4; border-radius: 14px; background: #fafaf9; }
.peer-row label { font-size: 13px; font-weight: 800; color: #1c1917; }
.audit-card.intake .peer-row input { background: #fff; margin-top: 6px; }
.peer-actions { display: flex; gap: 10px; }
.audit-card.intake .peer-actions button { width: auto; flex: 1; margin: 0; min-height: 44px; background: #fff; color: #1c1917; border: 1px solid #e7e5e4; font-size: 14px; }
.ready-card { border-radius: 16px; padding: 22px 20px 18px; background: linear-gradient(180deg, #fff7ed, #fff 46%); border: 1px solid #fed7aa; display: grid; justify-items: start; gap: 6px; }
.ready-card .mark { width: 48px; height: 48px; border-radius: 14px; font-size: 20px; }
.ready-card h2 { margin: 6px 0 0; font-size: 24px; letter-spacing: -0.03em; }
.ready-card p { margin: 0; color: #1c1917; font-size: 16px; line-height: 1.45; }
.ready-card ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.ready-card li { font-size: 15px; font-weight: 700; color: #1c1917; }
.ready-card li:before { content: "✓ "; color: #047857; font-weight: 800; }
.q-step.on { animation: q-in .2s ease; }
@keyframes q-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.intake-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
fieldset { border: 0; margin: 0; padding: 0; }
legend { font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.choices { display: flex; flex-wrap: wrap; gap: 8px; }
.choices.stack { flex-direction: column; }
.choices input { position: absolute; opacity: 0; pointer-events: none; }
.choices label {
  border: 1px solid #eadfd8; background: #fff; border-radius: 10px; padding: 8px 10px;
  font-size: 13px; cursor: pointer;
}
.choices.stack label { width: 100%; }
.choices input:checked + label { background: var(--orange); color: #fff; border-color: var(--orange); }
.hint-box { margin-top: 10px; background: #f6f5f4; border-radius: 10px; padding: 10px 12px; color: #1c1917; font-size: 15px; }
.card-foot { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; color: #44403c; font-size: 14px; }
.center-foot { text-align: center; }
.trust-bar { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 12px 24px; align-items: center; text-align: left; margin-top: 28px; }
.trust-bar strong { display: block; font-size: 16px; }
.trust-bar p { margin: 4px 0 0; color: #78716c; font-size: 14px; }
.trust-stats { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; justify-content: flex-end; justify-self: end; }
.trust-stats li { background: #fff; border: 1px solid #e7e5e4; border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 800; color: #1c1917; }
.trust-stats .good { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.trust-stats .hot { background: #fff1f2; border-color: #fecdd3; color: #e11d48; }
.mod-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: 12px; color: var(--muted); font-weight: 700; }
.stat-box { background: #faf7f5; border-radius: 14px; padding: 12px; }
.loss-box { background: #fff5f3; }
.potentials { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.potentials li { color: #9f1239; font-size: 15px; font-weight: 800; line-height: 1.35; }
#preview .bento { align-items: stretch; }
#preview .card { display: flex; flex-direction: column; padding: 18px 18px 16px; border-radius: 18px; box-shadow: 0 8px 24px rgba(15,23,42,.04); }
#preview .card h3 { margin: 10px 0 6px; font-size: 22px; letter-spacing: -0.03em; line-height: 1.2; }
#preview .card > p { margin: 0; color: #57534e; font-size: 14px; line-height: 1.5; }
#preview .mod-top em.tag { background: #fff1f2; border-radius: 999px; padding: 4px 8px; }
#preview .mod-top em.tag:not(.bad):not(.good) { background: #f5f5f4; color: #57534e; }
#preview .score-line { display: flex; gap: 14px; align-items: center; margin-top: 16px; padding: 12px; background: #faf7f5; border-radius: 16px; }
#preview .score-line .ring { width: 72px; height: 72px; flex: none; }
#preview .score-line .ring strong { width: 52px; height: 52px; font-size: 20px; }
#preview .score-line b { display: block; font-size: 16px; }
#preview .score-line span { display: block; margin-top: 2px; color: #78716c; font-size: 13px; }
#preview .potentials { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
#preview .potentials li { background: #fff5f5; border: 1px solid #ffe4e6; border-radius: 12px; padding: 12px; font-size: 14px; font-weight: 700; line-height: 1.3; }
#preview .diag-rows { margin-top: auto; padding-top: 14px; }
#preview .diag-rows li { background: #fff; border: 1px solid #f1f5f9; border-radius: 12px; padding: 12px 12px; min-height: 52px; }
#preview .diag-rows li span { font-weight: 700; color: #1c1917; }
#preview .diag-rows .tag { white-space: nowrap; background: #fff1f2; }
#preview .diag-rows .tag.good { background: #ecfdf5; }
.code { background: #14121a; color: #f4efe9; border-radius: 12px; padding: 14px; font-size: 13px; }
.story-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.story-top b { color: var(--good); }
.legal { text-align: center; color: var(--muted); font-size: 12px; padding-bottom: 24px; }
.module-count { color: #1c1917; font-size: 15px; font-weight: 700; }
.m-hero h1 {
  font-size: 58px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.045em;
  max-width: 920px;
  margin: 18px auto 14px;
}
.m-hero h1 span {
  display: block;
  color: #ff5a1f;
}
.m-hero .lede {
  max-width: 640px;
  margin: 0 auto 8px;
  color: #1c1917;
  font-size: 17px;
  line-height: 1.55;
}
.lede.center, .sub.center, h2.center { text-align: center; }
.sub { color: #1c1917; margin-top: 0; font-size: 16px; line-height: 1.5; }
.audit-card {
  text-align: left;
  max-width: 640px;
  margin: 22px auto 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(40, 20, 10, 0.06);
}
.audit-card label { display: block; font-size: 13px; margin-bottom: 6px; }
.audit-card input, .audit-card textarea {
  width: 100%;
  border: 1px solid #eadfd8;
  background: #fbf8f6;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 16px;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.audit-card input:focus,
.audit-card textarea:focus {
  outline: none;
  border-color: #ff5a1f;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.18);
}
.audit-card input.is-cta-focus {
  border-color: #ff5a1f;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.22);
  animation: cta-focus-pulse 1.1s ease-out 1;
}
@keyframes cta-focus-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 90, 31, 0.42); }
  70% { box-shadow: 0 0 0 8px rgba(255, 90, 31, 0); }
  100% { box-shadow: 0 0 0 4px rgba(255, 90, 31, 0.22); }
}
@media (prefers-reduced-motion: reduce) {
  .audit-card input.is-cta-focus { animation: none; }
}
.audit-card button {
  width: 100%;
  margin-top: 12px;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 15px;
  min-height: 48px;
}
.diag-rows { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.diag-rows li {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  background: #fff7f5; border-radius: 10px; padding: 10px 12px; font-size: 14px;
}
.flag { font-weight: 700; font-size: 12px; }
.flag.bad { color: var(--bad); }
.metric-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.metric { display: block; font-size: 42px; letter-spacing: -0.04em; }
.metric.loss { color: var(--bad); }
.metric-pair span { display: block; color: var(--muted); font-size: 13px; }
.hint { margin-top: 4px; }
.story-grid.three { grid-template-columns: repeat(3, 1fr); }
.recovered { color: var(--good); font-weight: 800; font-size: 20px; margin: 0; }
.avatar {
  width: 28px; height: 28px; border-radius: 50%; background: #ffe4de; color: var(--bad);
  display: inline-grid; place-items: center; font-size: 11px; font-weight: 800; margin-right: 6px;
}
.who { display: flex; align-items: center; }
.foot-label { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.foot-label { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.audit-label { display: flex; align-items: center; gap: 8px; font-weight: 700; margin-bottom: 12px; }
.audit-label em { margin-left: auto; color: var(--muted); font-style: normal; font-weight: 500; font-size: 13px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #1f8a4c; display: inline-block; }
.trust-line { color: var(--muted); font-size: 14px; }
.trust-line span { color: var(--good); font-weight: 700; margin-left: 8px; }
.m-block { padding: 16px 0 0; }

/* Checks + store fixes (after video) */
.checks-section {
  padding-top: 28px;
  padding-bottom: 12px;
}
.checks-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #eadfd8;
}
.checks-stat {
  padding: 22px 18px 10px 0;
  border-right: 1px solid #eadfd8;
}
.checks-stat:last-child {
  border-right: 0;
  padding-right: 0;
  padding-left: 18px;
}
.checks-stat:nth-child(2) { padding-left: 18px; }
.checks-stat strong {
  display: block;
  font-size: clamp(36px, 4.2vw, 52px);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.05;
  color: var(--ink);
}
.checks-stat span {
  display: block;
  margin-top: 6px;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.checks-sub {
  margin: 8px 0 28px;
  color: #78716c;
  font-size: 15px;
  line-height: 1.45;
  max-width: 48ch;
}
.fixes-band {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) auto;
  gap: 28px 40px;
  align-items: center;
  background: #2a211c;
  color: #fff;
  border-radius: 28px;
  padding: clamp(28px, 3.5vw, 40px) clamp(24px, 3vw, 40px);
}
.fixes-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: #fff;
}
.fixes-copy h2 span { color: #ffd0bc; }
.fixes-copy p {
  margin: 0;
  max-width: 42ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: 15px;
  line-height: 1.5;
}
.fixes-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.fixes-flow li {
  display: grid;
  justify-items: center;
  gap: 10px;
  text-align: center;
}
.fixes-flow .fixes-arrow {
  align-self: center;
  margin-top: -18px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
.fixes-ico {
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 208, 188, 0.55);
  color: #ffd0bc;
  font-size: 18px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.04);
}
.fixes-flow em {
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 900px) {
  .fixes-band {
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }
  .fixes-copy p {
    margin-left: auto;
    margin-right: auto;
  }
  .fixes-flow { justify-content: center; }
}

@media (max-width: 640px) {
  .checks-section { padding-top: 32px; }
  .checks-stats {
    grid-template-columns: 1fr;
    border-top: 0;
  }
  .checks-stat {
    border-right: 0;
    border-top: 1px solid #eadfd8;
    padding: 16px 0;
    text-align: center;
  }
  .checks-stat:nth-child(2),
  .checks-stat:last-child { padding-left: 0; }
  .checks-stat strong { font-size: 36px; }
  .checks-stat span { font-size: 18px; }
  .checks-sub {
    text-align: center;
    max-width: none;
    margin-bottom: 20px;
    font-size: 14px;
  }
  .fixes-band {
    border-radius: 22px;
    padding: 24px 18px;
  }
  .fixes-copy h2 {
    font-size: clamp(24px, 6.2vw, 28px);
    text-align: center;
  }
  .fixes-flow { gap: 8px; flex-wrap: wrap; }
  .fixes-ico { width: 44px; height: 44px; border-radius: 12px; }
  .fixes-flow em { font-size: 12px; }
  .fixes-flow .fixes-arrow { margin-top: -12px; font-size: 18px; }
}

/* Section 3 — More aha */
.aha-section { padding-top: 48px; padding-bottom: 28px; }
.aha-title {
  margin: 0 0 32px;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
  color: var(--ink);
  max-width: none;
}
.aha-title span { color: var(--orange); }
.aha-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #e7e5e4;
  border-bottom: 1px solid #e7e5e4;
}
.aha-card {
  padding: 28px 20px 32px;
  border-right: 1px solid #e7e5e4;
  min-width: 0;
}
.aha-card:first-child { padding-left: 0; }
.aha-card:last-child {
  border-right: 0;
  padding-right: 0;
}
.aha-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.aha-card h3 {
  margin: 0;
  font-size: clamp(20px, 2.1vw, 26px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: var(--ink);
  max-width: 15ch;
}
.aha-card p {
  margin: 0;
  color: #57534e;
  font-size: 15px;
  line-height: 1.45;
}
.aha-ico {
  flex: none;
  width: 42px;
  height: 28px;
  margin-top: 4px;
}
.aha-ico-dots {
  background:
    linear-gradient(#60a5fa, #60a5fa) 0 50% / 5px 10px no-repeat,
    linear-gradient(#a78bfa, #a78bfa) 7px 50% / 5px 10px no-repeat,
    linear-gradient(#f472b6, #f472b6) 14px 50% / 5px 10px no-repeat,
    linear-gradient(#fb923c, #fb923c) 21px 50% / 5px 10px no-repeat,
    linear-gradient(#34d399, #34d399) 28px 50% / 5px 10px no-repeat,
    linear-gradient(#facc15, #facc15) 35px 50% / 5px 10px no-repeat;
}
.aha-ico-grid {
  background:
    linear-gradient(#1c1917, #1c1917) 0 2px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 11px 2px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 22px 2px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 33px 2px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 0 14px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 11px 14px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 22px 14px / 8px 8px no-repeat,
    linear-gradient(#d6d3d1, #d6d3d1) 33px 14px / 8px 8px no-repeat;
}
.aha-ico-path {
  background:
    radial-gradient(circle at 4px 14px, #1c1917 3px, transparent 3.5px),
    radial-gradient(circle at 16px 14px, #1c1917 3px, transparent 3.5px),
    radial-gradient(circle at 28px 14px, #1c1917 3px, transparent 3.5px),
    radial-gradient(circle at 40px 14px, #1c1917 3px, transparent 3.5px),
    linear-gradient(#1c1917, #1c1917) 4px 13px / 36px 2px no-repeat;
}
.aha-ico-key {
  position: relative;
  background:
    radial-gradient(circle at 10px 14px, transparent 5px, #1c1917 5.5px, #1c1917 7.5px, transparent 8px),
    linear-gradient(#1c1917, #1c1917) 16px 13px / 22px 2px no-repeat,
    linear-gradient(#1c1917, #1c1917) 30px 13px / 2px 8px no-repeat,
    linear-gradient(#1c1917, #1c1917) 36px 13px / 2px 6px no-repeat;
}
.aha-ico-key::after {
  content: "";
  position: absolute;
  inset: 4px 2px;
  background: linear-gradient(135deg, transparent 46%, #ef4444 46%, #ef4444 54%, transparent 54%);
}
.aha-scan-note {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  margin: 22px 0 16px;
  color: #1c1917;
  font-size: 15px;
  line-height: 1.45;
}
.aha-scan-note span {
  color: #a8a29e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.aha-marquee {
  overflow: hidden;
  margin: 0;
  mask-image: linear-gradient(90deg, #000 0%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 92%, transparent);
}
.aha-marquee-track {
  display: flex;
  width: max-content;
  gap: 10px;
  animation: aha-scroll 42s linear infinite;
}
.aha-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 10px;
  flex: none;
}
.aha-chips li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
  white-space: nowrap;
  padding: 9px 14px;
  border: 1px solid #e7e5e4;
  border-radius: 999px;
  background: #fff;
  color: #1c1917;
  font-size: 13px;
  font-weight: 700;
}
.aha-chips li i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c, #a8a29e);
  flex: none;
}
@keyframes aha-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 5px)); }
}
.aha-marquee:hover .aha-marquee-track { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  .aha-marquee-track { animation: none; }
}

@media (max-width: 960px) {
  .aha-grid { grid-template-columns: 1fr 1fr; }
  .aha-card:nth-child(2n) { border-right: 0; }
  .aha-card:nth-child(-n+2) { border-bottom: 1px solid #e7e5e4; }
}

@media (max-width: 640px) {
  .aha-section { padding-top: 28px; padding-bottom: 12px; }
  .aha-grid { grid-template-columns: 1fr; }
  .aha-card:nth-child(-n+2) { border-bottom: 1px solid #e7e5e4; }
  .aha-scan-note { font-size: 13px; }
  .aha-chips li {
    padding: 8px 12px;
    font-size: 12px;
  }
  .aha-marquee-track { animation-duration: 28s; }
}

/* Section 4 — Pricing */
.price-section { padding-top: 32px; padding-bottom: 14px; }
.price-title {
  margin: 0 0 28px;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
  color: var(--ink);
  white-space: nowrap;
}
.price-title span {
  color: var(--orange);
}
.price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.price-plan {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  min-height: 132px;
  padding: 20px 22px 22px;
  background: #fff;
  border: 1px solid #e8e2dc;
  border-radius: 24px;
  box-shadow: 0 8px 24px rgba(40, 20, 10, 0.03);
}
.price-plan span {
  color: #57534e;
  font-size: 14px;
  font-weight: 650;
}
.price-plan strong {
  font-size: clamp(28px, 2.8vw, 36px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
  color: var(--ink);
}
.price-plan.is-featured {
  background: #fff1e8;
  border-color: #fdba74;
  box-shadow: 0 14px 34px rgba(255, 90, 31, 0.12);
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.price-plan.is-featured:hover {
  background: #ffe4d1;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(255, 90, 31, 0.18);
}
.price-plan.is-featured span,
.price-plan.is-featured strong { color: #1c1917; }
.price-plan:not(.is-featured) {
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.price-plan:not(.is-featured):hover {
  border-color: #fdba74;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(40, 20, 10, 0.08);
}
.price-note {
  margin: 16px 0 0;
  color: #57534e;
  font-size: 14px;
  line-height: 1.45;
}
.price-early {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 18px;
  padding: 18px 20px;
  background: #fff7ed;
  border-radius: 18px;
}
.price-star {
  flex: none;
  color: var(--orange);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.1;
}
.price-early p {
  margin: 0;
  color: #44403c;
  font-size: 15px;
  line-height: 1.45;
}
.price-early strong {
  color: #1c1917;
  font-weight: 800;
}

@media (max-width: 860px) {
  .price-grid { gap: 12px; }
  .price-plan {
    min-height: 120px;
    padding: 16px 18px 18px;
    border-radius: 20px;
    gap: 18px;
  }
  .price-plan strong { font-size: 30px; }
}

@media (max-width: 700px) {
  .price-section { padding-top: 32px; }
  .price-grid { grid-template-columns: 1fr; }
  .price-plan {
    min-height: 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-radius: 16px;
  }
  .price-early { border-radius: 14px; }
}

/* Plain English section */
.plain-section {
  padding-top: 32px;
  padding-bottom: 16px;
}
.plain-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
}
.plain-title {
  margin: 0 0 28px;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
  color: var(--ink);
  white-space: nowrap;
}
.plain-title span { color: var(--orange); }
.impact-list li {
  display: block;
  padding: 18px 0;
}
.impact-list strong {
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.plain-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #eadfd8;
}
.plain-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #eadfd8;
}
.plain-check {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-top: 2px;
  border-radius: 50%;
  background: #fff1e8;
  color: var(--orange);
  font-size: 13px;
  font-weight: 800;
}
.plain-list strong {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.plain-list p {
  margin: 0;
  color: #57534e;
  font-size: 14px;
  line-height: 1.45;
}
.plain-preview-frame {
  background: #ffe8da;
  border-radius: 28px;
  padding: clamp(18px, 2.4vw, 28px);
}
.plain-preview-card {
  background: #fff;
  border-radius: 18px;
  padding: 20px 20px 16px;
  box-shadow: 0 12px 30px rgba(40, 20, 10, 0.06);
}
.plain-preview-brand {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-transform: lowercase;
}
.plain-preview-kicker {
  margin: 0 0 8px;
  color: #a8a29e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.plain-preview-card h3 {
  margin: 0 0 16px;
  font-size: 22px;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.plain-preview-rows {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.plain-preview-rows li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #f0ebe7;
  color: #44403c;
  font-size: 14px;
  font-weight: 700;
}
.plain-preview-rows li:last-child { border-bottom: 1px solid #f0ebe7; }
.plain-preview-rows i {
  display: block;
  width: 56px;
  height: 8px;
  border-radius: 999px;
  background: #ffd0bc;
  flex: none;
}
.plain-preview-box {
  background: #ffe8da;
  border-radius: 14px;
  padding: 14px 16px 16px;
  margin-bottom: 12px;
}
.plain-preview-box strong {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--ink);
}
.plain-preview-box em {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 90, 31, 0.18);
  margin-bottom: 8px;
  font-style: normal;
}
.plain-preview-box em:nth-child(2) { width: 92%; }
.plain-preview-box em:nth-child(3) { width: 78%; }
.plain-preview-box em:nth-child(4) { width: 64%; margin-bottom: 0; }
.plain-preview-note {
  margin: 0;
  color: #a8a29e;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .plain-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .plain-title {
    max-width: none;
    text-align: center;
  }
  .plain-copy {
    width: 100%;
    max-width: 26rem;
    margin-inline: auto;
    padding-inline: 28px;
    box-sizing: border-box;
  }
  .impact-list {
    width: 100%;
    margin: 0;
  }
  .impact-list li {
    padding-left: 4px;
    padding-right: 4px;
  }
  .plain-preview { max-width: 420px; margin: 0 auto; width: 100%; }
}

@media (max-width: 640px) {
  .plain-section { padding-top: 36px; padding-bottom: 20px; }
  .plain-title {
    font-size: clamp(24px, 6.2vw, 28px);
    margin-bottom: 18px;
    text-align: center;
  }
  .plain-copy {
    max-width: 24rem;
    padding-inline: 32px;
  }
  .plain-list li,
  .impact-list li {
    padding: 14px 4px;
    gap: 12px;
  }
  .plain-list strong { font-size: 16px; }
  .plain-preview-frame {
    padding: 14px;
    border-radius: 22px;
  }
  .plain-preview-card {
    padding: 16px 14px 14px;
    border-radius: 14px;
  }
  .plain-preview-card h3 { font-size: 18px; }
}

/* Quick look inside — portal walkthrough */
.look-inside { padding-top: 28px; padding-bottom: 10px; }
.look-inside-inner {
  width: min(1080px, 100%);
  margin: 0 auto;
}
.look-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 40px;
  margin-bottom: 22px;
}
.look-head h2 {
  margin: 0;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
  color: var(--ink);
  flex: 1 1 auto;
}
.look-head h2 span { color: var(--orange); }
.look-head .sub {
  margin: 0;
  max-width: none;
  color: #78716c;
  font-size: 16px;
  line-height: 1.45;
  text-align: right;
  flex: 0 0 auto;
  white-space: nowrap;
}
.look-stage {
  position: relative;
  width: 100%;
}
.look-frame,
.look-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  background: #2a211c;
  box-shadow: 0 22px 50px rgba(40, 20, 10, 0.16);
}
.look-frame {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  padding: clamp(14px, 2.4vw, 24px);
  padding-bottom: clamp(10px, 1.6vw, 14px);
}
.look-dash {
  display: grid;
  grid-template-columns: minmax(120px, 0.28fr) 1fr;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #fffaf6;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
.look-side {
  background: #f3e6dc;
  padding: clamp(12px, 1.8vw, 20px) clamp(10px, 1.4vw, 16px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.look-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1c1917;
}
.look-brand strong {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: -0.02em;
}
.look-mark {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background:
    linear-gradient(90deg, #1c1917 50%, transparent 50%) 0 0 / 50% 50% no-repeat,
    linear-gradient(90deg, #ff5a1f 50%, transparent 50%) 100% 0 / 50% 50% no-repeat,
    linear-gradient(90deg, #fdba74 50%, transparent 50%) 0 100% / 50% 50% no-repeat,
    linear-gradient(90deg, #d6d3d1 50%, transparent 50%) 100% 100% / 50% 50% no-repeat,
    #f3e6dc;
  flex: none;
}
.look-side nav {
  display: grid;
  gap: 6px;
}
.look-side nav span {
  display: block;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: clamp(11px, 1.15vw, 13px);
  font-weight: 700;
  color: #57534e;
}
.look-side nav span.on {
  background: #ff5a1f;
  color: #fff;
}
.look-main {
  padding: clamp(14px, 2vw, 24px);
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.4vw, 16px);
  min-width: 0;
  background: linear-gradient(180deg, #fff 0%, #fffaf7 100%);
}
.look-main h3 {
  margin: 0;
  font-size: clamp(15px, 1.8vw, 22px);
  letter-spacing: -0.03em;
  color: #1c1917;
}
.look-widgets {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(8px, 1.2vw, 14px);
  flex: 1;
  min-height: 0;
}
.look-card {
  background: #fff;
  border: 1px solid #efe8e4;
  border-radius: 14px;
  padding: clamp(10px, 1.4vw, 16px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.look-card header {
  font-size: clamp(11px, 1.1vw, 13px);
  font-weight: 800;
  color: #57534e;
  letter-spacing: 0.01em;
}
.look-donut {
  --pct: 72;
  width: min(120px, 42%);
  aspect-ratio: 1;
  margin: auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(closest-side, #fff 66%, transparent 67% 100%),
    conic-gradient(#ff5a1f calc(var(--pct) * 1%), #f3e6dc 0);
}
.look-donut strong {
  font-size: clamp(18px, 2vw, 26px);
  letter-spacing: -0.04em;
  color: #1c1917;
}
.look-bars {
  list-style: none;
  margin: 0;
  padding: 4px 0 0;
  display: grid;
  gap: clamp(7px, 1vw, 10px);
  align-content: center;
  flex: 1;
}
.look-bars li {
  height: clamp(7px, 0.9vw, 10px);
  border-radius: 999px;
  background: #f3e6dc;
  overflow: hidden;
}
.look-bars li span {
  display: block;
  width: var(--w, 60%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #d97856, #ff5a1f);
}
.look-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.look-tabs span {
  background: #fff;
  border: 1px solid #efe8e4;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: clamp(11px, 1.1vw, 13px);
  font-weight: 700;
  color: #44403c;
  box-shadow: 0 4px 12px rgba(40, 20, 10, 0.04);
}
.look-play {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  width: clamp(76px, 9.5vw, 100px);
  height: clamp(76px, 9.5vw, 100px);
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: #f3d0bf;
  color: #2a211c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(40, 20, 10, 0.16);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  z-index: 2;
}
.look-play svg {
  display: block;
  width: 34%;
  height: 34%;
  margin: 0;
  /* optical center for right-pointing triangle */
  transform: translateX(12%);
}
.look-play:hover,
.look-play:focus-visible {
  background: #efc4af;
  color: #1c1917;
  transform: translate(-50%, -50%) scale(1.04);
  box-shadow: 0 14px 32px rgba(40, 20, 10, 0.2);
  outline: none;
}
.look-caption {
  position: static;
  flex: none;
  align-self: flex-end;
  margin: 0;
  padding: 0 2px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  z-index: 1;
  pointer-events: none;
  white-space: nowrap;
}
.look-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.look-stage.is-playing .look-frame { display: none; }
.look-stage.is-playing .look-player { display: block; }
.look-player[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .look-play { transition: none; }
  .look-play:hover,
  .look-play:focus-visible { transform: translate(-50%, -50%); }
}

@media (max-width: 860px) {
  .look-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    margin-bottom: 16px;
  }
  .look-head h2 {
    text-align: center;
  }
  .look-head .sub {
    text-align: center;
    max-width: none;
    flex: none;
    white-space: normal;
  }
  .look-frame,
  .look-player { border-radius: 18px; }
  .look-frame { padding: 12px; }
  .look-side nav span { padding: 7px 8px; }
}

@media (max-width: 640px) {
  .look-inside { padding-top: 28px; }
  .look-frame {
    aspect-ratio: 4 / 3;
    padding: 10px;
  }
  .look-player { aspect-ratio: 16 / 9; }
  .look-dash { grid-template-columns: 1fr; }
  .look-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
  }
  .look-side nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
  }
  .look-side nav span {
    padding: 5px 8px;
    font-size: 11px;
    border-radius: 8px;
  }
  .look-side nav span:not(.on) { display: none; }
  .look-main { padding: 12px; gap: 10px; }
  .look-main h3 { font-size: 16px; }
  .look-widgets { grid-template-columns: 1fr 1fr; gap: 8px; }
  .look-card { padding: 10px; border-radius: 12px; }
  .look-donut { width: min(88px, 70%); }
  .look-tabs span { padding: 6px 10px; font-size: 11px; }
  .look-play {
    width: 68px;
    height: 68px;
    top: 46%;
  }
  .look-play svg {
    width: 36%;
    height: 36%;
    transform: translateX(14%);
  }
  .look-caption { font-size: 11px; }
}

@media (max-width: 420px) {
  .look-widgets { grid-template-columns: 1fr; }
  .look-tabs { display: none; }
  .look-frame { aspect-ratio: 1 / 1.05; }
  .look-play {
    width: 64px;
    height: 64px;
    top: 45%;
  }
}

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 12px; }
.section-head.center {
  justify-content: center;
  text-align: center;
}
.section-head.center > div { max-width: 40rem; }
.bento, .how-grid, .story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.score-split { display: flex; gap: 16px; align-items: center; }
.money { font-size: 28px; font-weight: 800; margin: 0; }
.tag { display: inline-block; border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 700; }
.tag.bad, .kicker.bad { color: var(--bad); }
.tag.good, .kicker.good { color: var(--good); }
.kicker.bad, .kicker.good { background: transparent; }
.card.dark { background: #17141c; color: #f4efe9; }
.card.dark pre { white-space: pre-wrap; font-family: Consolas, monospace; font-size: 14px; line-height: 1.5; }
.how-grid article { position: relative; background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; padding: 22px 20px 18px; box-shadow: 0 8px 24px rgba(15,23,42,.04); display: flex; flex-direction: column; gap: 8px; min-height: 250px; overflow: hidden; }
.how-grid article:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; }
.how-grid .tone-orange:before { background: #ff5a1f; }
.how-grid .tone-ink:before { background: #0f172a; }
.how-grid .tone-green:before { background: #10b981; }
.how-top { display: flex; justify-content: space-between; align-items: center; }
.how-top i { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; }
.tone-orange .how-top i { background: #fff7ed; color: #ff5a1f; }
.tone-ink .how-top i { background: #f1f5f9; color: #0f172a; }
.tone-green .how-top i { background: #ecfdf5; color: #059669; }
.how-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.how-grid h3 { margin: 6px 0 0; font-size: 18px; letter-spacing: -0.02em; }
.how-grid article > p { margin: 0; color: #57534e; font-size: 14px; line-height: 1.5; }
.how-grid .who { margin-top: auto; color: #44403c; font-size: 14px; }
#how { padding-top: 56px; }
#how h2 { font-size: 34px; letter-spacing: -0.03em; margin: 8px 0 6px; }
#how .sub { max-width: 52ch; margin-left: auto; margin-right: auto; }
#stories { padding-top: 48px; }
#stories .kicker { display: inline-flex; background: #fff7ed; color: #ff5a1f; border-radius: 999px; padding: 4px 10px; letter-spacing: .04em; }
#stories .section-head { align-items: flex-end; gap: 28px; margin-bottom: 18px; }
#stories h2 { margin: 10px 0 0; font-size: 32px; letter-spacing: -0.035em; line-height: 1.15; max-width: none; white-space: nowrap; }
#stories .section-head .sub { max-width: 28ch; margin: 0 0 6px; color: #94a3b8; font-size: 14px; line-height: 1.45; }
#stories article { background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; padding: 18px 18px 16px; box-shadow: 0 8px 24px rgba(15,23,42,.04); display: flex; flex-direction: column; min-height: 240px; }
#stories header { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
#stories header span { border-radius: 999px; padding: 5px 10px; font-size: 13px; font-weight: 800; }
#stories header .good { background: #ecfdf5; color: #047857; }
#stories header .mid { background: #fff7ed; color: #c2410c; }
#stories header b { color: #059669; font-size: 14px; }
#stories blockquote { margin: 16px 0; color: #57534e; font-size: 15px; line-height: 1.5; font-weight: 650; }
#stories footer { margin-top: auto; display: flex; gap: 10px; align-items: center; border-top: 1px solid #f1f5f9; padding-top: 14px; }
#stories footer i { width: 36px; height: 36px; border-radius: 99px; background: #0f172a; color: #fff; display: grid; place-items: center; font-style: normal; font-size: 12px; font-weight: 800; flex: none; }
#stories footer strong { display: block; font-size: 14px; }
#stories footer span { color: #94a3b8; font-size: 13px; }
.step { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 15px; }
.step.orange { background: var(--orange); }
.step.ink { background: #221e2a; }
.step.green { background: #1f8a4c; }
.who { color: var(--muted); font-size: 13px; }
#cases .section-head { margin-bottom: 18px; }
#cases h2 { margin: 8px 0 0; font-size: 28px; letter-spacing: -0.03em; line-height: 1.2; max-width: none; white-space: nowrap; }
#cases .sub { max-width: 62ch; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.case-grid article { background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; padding: 8px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 8px 24px rgba(15,23,42,.04); }
.case-issue, .case-change { border-radius: 12px; padding: 14px; }
.case-issue { background: #fff5f5; }
.case-change { background: #f0fdf4; }
.case-issue p, .case-change p { margin: 0 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.case-issue p { color: #b91c1c; }
.case-change p { color: #047857; }
.case-grid h3 { margin: 0; font-size: 17px; letter-spacing: -0.02em; line-height: 1.3; }
.case-check { margin: 0; padding: 4px 8px 8px; color: #1c1917; font-size: 14px; line-height: 1.4; }
.case-check span { display: block; margin-bottom: 2px; color: #44403c; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.faq-section { padding-top: 32px; padding-bottom: 16px; }
.faq-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.35fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}
.faq-title {
  margin: 0;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: var(--ink);
  max-width: none;
}
.faq-title span {
  display: inline-block;
  white-space: nowrap;
  color: var(--orange);
}
.faq {
  display: grid;
  gap: 0;
  border-top: 1px solid #eadfd8;
}
.faq details {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #eadfd8;
  border-radius: 0;
  padding: 0;
}
.faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 4px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.35;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+";
  flex: none;
  width: 24px;
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: var(--ink);
  transition: transform .16s ease;
}
.faq details[open] summary::after {
  content: "−";
  font-size: 24px;
}
.faq p {
  margin: 0;
  padding: 0 28px 18px 4px;
  color: #57534e;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}

@media (max-width: 860px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .faq-title {
    max-width: none;
    text-align: center;
    font-size: clamp(24px, 6.2vw, 28px);
  }
  .faq-title span { white-space: normal; }
}

@media (max-width: 640px) {
  .faq-section { padding-top: 36px; padding-bottom: 20px; }
  .faq summary {
    padding: 16px 2px;
    font-size: 15px;
    gap: 12px;
  }
  .faq p {
    font-size: 14px;
    padding: 0 24px 16px 2px;
  }
}
.au-finding::details-content { display: flex; flex-direction: column; }
.au-next { display: flex; width: fit-content; margin-top: 14px; margin-left: auto; color: #fff; background: #ff5a1f; text-decoration: none; border-radius: 12px; padding: 10px 14px; font-size: 14px; font-weight: 800; }
.au-next:hover { filter: brightness(1.06); }
.closing {
  margin-top: 36px;
  text-align: center;
  background: linear-gradient(#fff, #fff1ea);
  border-radius: 24px;
  padding: 36px 16px;
}
.audit-card.slim { display: flex; gap: 8px; align-items: center; box-shadow: none; }
.audit-card.slim button { width: auto; margin: 0; white-space: nowrap; }
.site-footer {
  width: 100%;
  margin-top: 28px;
  background: #f4f3f1;
  color: var(--muted);
}
.site-footer-inner { width: min(1040px, calc(100% - 40px)); margin: 0 auto; padding: 36px 0 18px; }
.foot-top { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding-bottom: 22px; border-bottom: 1px solid #e6e2de; }
.foot-brand strong { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 16px; }
.foot-brand p { max-width: 420px; font-size: 13px; line-height: 1.5; }
.trust-badges { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.trust-badges li {
  display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #e6e2de;
  border-radius: 12px; padding: 8px 12px; color: var(--ink); font-weight: 700; font-size: 13px;
}
.trust-badges small { display: block; font-weight: 500; color: var(--muted); }
.badge-ico { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 12px; }
.badge-ico.good { background: var(--good); }
.badge-ico.hot { background: var(--orange); }
.foot-bottom { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-top: 14px; font-size: 13px; }
.foot-bottom p { margin: 0; }
.foot-bottom nav { display: flex; gap: 18px; flex-wrap: wrap; }
.foot-bottom a { color: var(--muted); text-decoration: none; }
.checks span::before { content: "✓ "; color: var(--good); font-weight: 800; }
@media (max-width: 860px) {
  .bento, .how-grid, .story-grid, .story-grid.three, .case-grid, .audit-card.slim, .metric-pair, .intake-grid, .foot-top, .foot-bottom { grid-template-columns: 1fr; display: grid; }
  #cases h2 { white-space: normal; }
  .trust-bar { grid-template-columns: 1fr; }
  .trust-stats { justify-content: center; }
  .diag-rows li { flex-direction: column; align-items: flex-start; }
  .m-hero h1 { font-size: 34px; }
  #stories h2 { white-space: normal; font-size: 28px; }
  .text-nav { display: none; }

  .section-head {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    margin-bottom: 16px;
  }
  .section-head > div {
    width: 100%;
    max-width: 36rem;
  }
  .section-head h2 {
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 0 0 6px;
  }
  #comparison .section-head {
    align-items: center;
    text-align: center;
  }
  #comparison .section-head h2 {
    font-size: clamp(26px, 3.2vw, 36px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.15;
    color: var(--ink);
    max-width: none;
    text-align: center;
  }
  #comparison .section-head .sub,
  #comparison .section-head .kicker {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .section-head .sub,
  .section-head .kicker {
    margin-left: auto;
    margin-right: auto;
  }
  .section-head .sub {
    max-width: 40ch;
    font-size: 15px;
    line-height: 1.45;
  }
  .module-count {
    margin: 4px 0 0;
    font-size: 14px;
    color: #57534e;
  }
  #preview .potentials { grid-template-columns: 1fr; }
  #preview .card h3 { font-size: 18px; }
  #stories .section-head { align-items: center; gap: 10px; }
  #stories .section-head .sub {
    max-width: 36ch;
    margin: 0 auto;
    text-align: center;
  }
  #faq .section-head { align-items: center; text-align: center; }
}
body.page-live { background: #f7f4f1; font-family: var(--font); }
.live-wrap { width: min(1080px, 100%); margin: 0 auto; }
.live-head h1 {
  font-size: clamp(16px, 1.7vw + 4px, 28px);
  line-height: 1.25;
  letter-spacing: -0.03em;
  margin: 8px 0;
  max-width: 100%;
}
.live-subticker {
  display: inline;
  font-size: inherit;
  font-weight: inherit;
  color: #0b1329;
  letter-spacing: inherit;
  line-height: inherit;
}
.live-subticker[hidden] {
  display: none !important;
}
.live-meter { position: relative; height: 8px; background: #efe7e2; border-radius: 999px; overflow: hidden; margin: 14px 0 8px; }
.live-meter span { display: block; height: 100%; width: 0; background: var(--orange); transition: width .3s ease; }
.live-meter.is-busy span { width: 0 !important; }
.live-meter.is-busy::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 38%;
  border-radius: inherit;
  background: var(--orange);
  animation: live-slide 1.25s ease-in-out infinite;
}
@keyframes live-slide { from { transform: translateX(-30%); } to { transform: translateX(290%); } }
.live-wrap.is-opening #live-count::before {
  content: "";
  display: inline-block;
  width: 8px; height: 8px;
  margin-right: 8px;
  border-radius: 99px;
  background: #ff5a1f;
  vertical-align: 1px;
  animation: live-dot 1.1s ease-in-out infinite;
}
@keyframes live-dot { 50% { transform: scale(.55); opacity: .35; } }
.live-wrap.is-opening .live-row.is-waiting em { animation: live-dot 1.6s ease-in-out infinite; }
.live-experts {
  display: flex; justify-content: space-between; gap: 18px; align-items: center; flex-wrap: wrap;
  margin-top: 18px; padding: 16px 18px; border-radius: 16px;
  background: radial-gradient(420px 120px at 100% 0, rgba(255, 90, 31,.22), transparent 70%), #0b1329;
  color: #fff;
}
.live-experts strong { display: block; font-size: 16px; letter-spacing: -0.02em; }
.live-experts p { margin: 4px 0 0; color: #e2e8f0; font-size: 15px; max-width: 52ch; line-height: 1.45; }
.live-expert-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.live-expert-actions a.ghost { display: inline-flex; align-items: center; text-decoration: none; border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 800; }
.live-expert-actions button {
  border: 0; border-radius: 12px; padding: 12px 16px; font: inherit; font-size: 14px; font-weight: 800;
  cursor: pointer; background: #ff5a1f; color: #fff;
}
.live-expert-actions .ghost { background: transparent; color: #fff; border: 1px solid #334155; }
.live-tabs { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 16px 0 4px; }
@media (min-width: 720px) { .live-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 980px) { .live-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.live-tab {
  display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center;
  text-align: left; border: 1px solid #e7e5e4; background: #fff; color: var(--ink);
  border-radius: 14px; padding: 10px 12px; min-height: 58px; font: inherit; font-size: 13px; font-weight: 800;
  cursor: pointer; box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.live-tab b {
  width: 32px; height: 32px; border-radius: 10px; background: #f5f5f4; color: #44403c;
  display: grid; place-items: center; font-size: 13px;
}
.live-tab span { min-width: 0; line-height: 1.25; }
.live-tab small { color: #78716c; font-weight: 800; background: #f5f5f4; border-radius: 999px; padding: 4px 8px; }
.live-tab.on { background: #0b1329; color: #fff; border-color: #0b1329; box-shadow: inset 3px 0 0 #ff5a1f; }
.live-tab.on b { background: #ff5a1f; color: #fff; }
.live-tab.on small { background: rgba(255,255,255,.12); color: #fdba74; }
.live-tab.running:not(.on) { border-color: #fdba74; box-shadow: inset 3px 0 0 #ff5a1f; }
.live-tab.running:not(.on) b { background: #fff7ed; color: #ff5a1f; }
.live-area { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 8px 16px 4px; margin: 12px 0; }
.live-area h2 { font-size: 16px; margin: 12px 0; }
.live-area ul { list-style: none; margin: 0; padding: 0; }
.live-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 9px 0; border-top: 1px solid var(--line); font-size: 14px; }
.live-row em { font-style: normal; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 3px 8px; background: #f3f0ee; color: var(--muted); }
.live-row.is-processing em { background: #fff1ea; color: var(--orange); }
.live-row.is-pass em { background: #e5f6ec; color: var(--good); }
.live-row.is-fail em { background: #ffe4de; color: var(--bad); }
.live-row.is-skipped em, .live-row.is-not_applicable em { background: #f3f0ee; color: #8a837c; }
.q-step { display: none; margin-top: 18px; }
.q-step.on { display: block; }
.q-actions { display: flex; gap: 10px; margin-top: 16px; }
.q-actions button { flex: 1; }
button.ghost, .ghost {
  background: #fff; color: var(--ink); border: 1px solid var(--line);
}
body.page-report { font-family: var(--font); background: #f8fafc; color: #0f172a; overflow-x: clip; }
body.page-report main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 20px 40px 48px;
  overflow-x: clip;
  box-sizing: border-box;
}
.legal-page { max-width: 760px; margin: 8px auto 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 28px 32px 32px; }
.legal-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.legal-nav a { text-decoration: none; background: #f1f5f9; color: #475569; border-radius: 999px; padding: 8px 12px; font-size: 13px; font-weight: 700; }
.legal-nav a.on { background: #ff5a1f; color: #fff; }
.legal-page h1 { font-size: 36px; letter-spacing: -0.04em; margin: 8px 0 4px; }
.legal-updated { color: #64748b; font-size: 13px; margin: 0 0 8px; }
.legal-page section { padding: 16px 0; border-top: 1px solid #f1f5f9; }
.legal-page h2 { margin: 0 0 6px; font-size: 18px; }
.legal-page p { margin: 0; max-width: 68ch; line-height: 1.55; color: #334155; }
.legal-back { margin-top: 8px; }
.legal-back a { color: #ff5a1f; font-weight: 800; text-decoration: none; }
.leak-card h2 { font-size: 30px; line-height: 1.15; letter-spacing: -0.03em; margin: 6px 0 10px; }
.ov-hero .wins { background: #fff; border-radius: 18px; }
.ov-hero .wins .kicker { color: #1f8a4c; }
.metric-note { color: var(--muted); font-size: 13px; }
.audit-tools, .backlog-tools { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.backlog-tools .filters { margin: 0; }
#task-search {
  border: 1px solid var(--line); border-radius: 999px; padding: 10px 14px; min-width: 220px; font: inherit;
}
.area-nav a.on { background: #fff4f0; outline: 1px solid #ffd7cc; }
.area-nav a b { color: #1c1917; }
.finding { border-left: 4px solid var(--orange); }
.task summary { display: flex; gap: 10px; align-items: center; }
.task summary strong { flex: 1; }
.dash-meta, .pill-row, .panel-head, .legend, .audit-tools, .board-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.dash-meta { margin-bottom: 14px; }
.domain-pill, .pill { border-radius: 999px; padding: 4px 10px; background: #fff; border: 1px solid #eee6e1; font-size: 12px; font-weight: 700; }
.pill.good { background: #e8f7ee; color: #1f8a4c; border-color: #cfeedd; }
.pill.bad { background: #ffe8e3; color: #c2412d; border-color: #ffd0c8; }
.pill.avg { background: #fff4df; color: #b86e00; border-color: #ffe3b0; }
.scanned { margin-left: auto; color: #8a837c; font-size: 13px; }
.dash-hero, .dash-split { display: grid; grid-template-columns: 1.45fr .9fr; gap: 16px; margin-bottom: 16px; }
.panel { background: #fff; border: 1px solid #eee6e1; border-radius: 18px; padding: 18px; }
.leak-panel { display: flex; gap: 18px; align-items: center; }
.leak-panel h2, .funnel-main h1 { font-size: 32px; line-height: 1.12; letter-spacing: -0.04em; margin: 4px 0 8px; }
.leak-copy { color: #5c564f; margin-top: 0; }
.wins-panel header { display: flex; justify-content: space-between; align-items: center; }
.wins-panel h2, .plan-panel h2, .panel-head h2, .diag-block h2 { margin: 0; font-size: 18px; }
.win-row, .plan-card, .drop-list a {
  display: flex; gap: 12px; align-items: center; text-decoration: none;
  padding: 12px 0; border-top: 1px solid #f0e8e3;
}
.win-row b {
  width: 28px; height: 28px; border-radius: 8px; background: #e8f7ee; color: #1f8a4c;
  display: grid; place-items: center; flex: none;
}
.win-row span, .plan-card span { display: grid; gap: 2px; flex: 1; }
.win-row small { color: #6b6560; }
.win-row em, .plan-card b, .drop-meta b { margin-left: auto; color: #c2412d; font-style: normal; font-weight: 800; }
.metric-4, .summary-3, .diag-3 { display: grid; gap: 14px; margin: 14px 0; }
.metric-4 { grid-template-columns: repeat(4, 1fr); }
.diag-3 { grid-template-columns: repeat(3, 1fr); }
.summary-3 { grid-template-columns: repeat(3, 1fr); }
.panel h3 { margin: 6px 0; font-size: 16px; }
.metric { font-size: 34px; font-weight: 800; margin: 6px 0; letter-spacing: -0.04em; }
.metric small { font-size: 14px; color: #8a837c; font-weight: 650; }
.panel.hot { background: #fff4f1; }
.panel.ink { background: #171513; color: #fff; }
.panel.ink .kicker, .panel.ink p { color: #ffd0c4; }
.panel-head { justify-content: space-between; margin-bottom: 6px; }
.drop-list { list-style: none; margin: 0; padding: 0; }
.drop-list li a { display: grid; grid-template-columns: 36px 1fr auto; border-left: 4px solid #d9d3ce; padding-left: 12px; align-items: center; }
.area-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.drop-list .area-ico, .diag-card .area-ico { width: 36px; height: 36px; padding: 8px; border-radius: 10px; background: #fff1ea; color: #ff5a1f; }
.diag-card { display: grid; align-content: start; gap: 4px; }
.diag-card a { color: #ff5a1f; font-weight: 700; text-decoration: none; margin-top: 8px; }
.pager-dots { display: flex; gap: 6px; align-items: center; }
.pager-dots a { width: 8px; height: 8px; padding: 0; border-radius: 99px; background: #e7e0db; border: 0; }
.pager-dots a.on { background: #ff5a1f; width: 18px; }
.board-hero { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; align-items: center; }
.hero-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hero-metrics div { background: rgba(255,255,255,.06); border-radius: 12px; padding: 10px 12px; }
.hero-metrics strong { display: block; font-size: 22px; color: #fff; }
.hero-metrics span { color: #ffd0c4; font-size: 12px; }
.task-name { display: grid; gap: 2px; }
.task-name small { color: #8a837c; font-size: 12px; }
.drop-list li.ok a { border-left-color: #1f8a4c; }
.drop-list li.mid a { border-left-color: #e0a100; }
.drop-list li.urgent a { border-left-color: #e23b2f; }
.drop-list p { margin: 4px 0 0; color: #6b6560; font-size: 13px; }
.drop-meta { margin-left: auto; display: grid; justify-items: end; gap: 2px; color: #6b6560; font-size: 12px; }
.drop-meta em { font-style: normal; font-size: 22px; font-weight: 800; color: #1c1917; }
.plan-card { border: 1px solid #f0e8e3; border-radius: 12px; padding: 12px; margin: 10px 0; }
.plan-card small { color: #6b6560; font-size: 13px; }
.board-plan { margin: 14px 0; }
.board-plan .plan-card b:first-child {
  width: 28px; height: 28px; border-radius: 8px; background: #fff1ea; color: #ff5a1f;
  display: grid; place-items: center; flex: none; margin-left: 0;
}
.plan-panel .button, .plan-panel .ghost { width: 100%; text-align: center; margin-top: 8px; }
.funnel { display: grid; grid-template-columns: 320px 1fr; gap: 22px; align-items: start; }
.funnel-side, .funnel-main { background: #fff; border: 1px solid #eee6e1; border-radius: 18px; }
.funnel-side {
  position: sticky;
  top: 76px;
  max-height: calc(100vh - 92px);
  overflow: auto;
  padding: 0;
  background: transparent;
  border: 0;
}
.scope-card { background: #fff; border: 1px solid #eee6e1; border-radius: 18px; padding: 18px 18px 16px; }
.scope-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.scope-card h2 { font-size: 22px; margin: 10px 0 6px; letter-spacing: -0.03em; }
.scope-card p { margin: 0; color: #6b6560; font-size: 14px; line-height: 1.45; }
.health-box { background: #faf7f5; border-radius: 12px; padding: 12px 14px 10px; margin-top: 14px; }
.health-box div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 13px; color: #6b6560; }
.health-box strong { color: #1c1917; font-size: 14px; }
.funnel-main { padding: 22px 24px 20px; }
.funnel-side h2 { font-size: 22px; margin: 10px 0 6px; }
.funnel-side a {
  display: grid; grid-template-columns: 36px 1fr auto; gap: 12px; align-items: center;
  text-decoration: none; padding: 12px; border-radius: 14px; margin-top: 8px;
  background: #fff; border: 1px solid #eee6e1;
}
.funnel-side a b {
  min-width: 40px; text-align: center; border-radius: 10px; padding: 6px 8px;
  background: #e8f7ee; color: #1f8a4c; font-size: 14px;
}
.funnel-side a.mid b { background: #fff4df; color: #b86e00; }
.funnel-side a.urgent b { background: #ffe8e3; color: #c2412d; }
.funnel-side a.na b { background: #f3f0ee; color: #6b6560; }
.funnel-side a i {
  width: 36px; height: 36px; border-radius: 10px; background: #f6f3f1; display: grid; place-items: center;
  font-style: normal; font-weight: 800; font-size: 12px;
}
.funnel-main .audit-tools { margin-bottom: 18px; }
.funnel-main .area-title { align-items: flex-start; margin: 4px 0 22px; gap: 24px; }
.funnel-main .area-title p { margin: 0; color: #6b6560; max-width: 62ch; }
.funnel-main .summary-3 { gap: 16px; margin: 0 0 22px; }
.funnel-main .panel { padding: 20px 22px; }
.funnel-main .panel h2 { margin: 8px 0 10px; font-size: 22px; line-height: 1.25; }
.funnel-main .panel p { margin: 0; line-height: 1.45; }
.funnel-main .metric { margin: 12px 0 8px; }
.funnel-main .metric small { margin-left: 6px; }
.funnel-main .score-side { flex: none; padding-top: 6px; }
.funnel-side a small { display: block; color: #8a837c; font-size: 12px; }
.funnel-side a.on { background: #fff1ea; border-color: #ffd0c4; }
.funnel-side a.on i { background: #ff5a1f; color: #fff; }
.funnel-side a.on b { background: #ff5a1f; color: #fff; }
.funnel-side a.urgent small { color: #c2412d; }
.edge-bad { border-top: 3px solid #e23b2f; }
.edge-good { border-top: 3px solid #1f8a4c; }
.edge-hot { border-top: 3px solid #ff5a1f; }
.finding-card { background: #fff; border: 1px solid #eee6e1; border-left: 4px solid #ff5a1f; border-radius: 16px; padding: 20px 22px; margin-top: 20px; }
.finding-card header { display: block; }
.finding-card h2 { margin: 4px 0 10px; font-size: 22px; }
.finding-card .summary-3 { margin: 16px 0 0; }
.finding-card .pane { padding: 16px 18px; }
.finding-card .pane .kicker { display: block; margin-bottom: 8px; }
.finding-card .pane p { margin: 0; line-height: 1.45; }
.pane.found .kicker { color: #6b6560; }
.pane.hurts .kicker { color: #c2412d; }
.pane.fix .kicker { color: #1f8a4c; }
.finding-card.pass { border-left-color: #1f8a4c; }
.finding-card.skipped, .finding-card.not_applicable { border-left-color: #d9d3ce; }
.evidence-bar {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  background: #f7f4f1; border-radius: 12px; padding: 10px 12px; margin-top: 12px; color: #5c564f; font-size: 13px;
}
.evidence-bar summary { cursor: pointer; color: #1f8a4c; font-weight: 700; }
.check-all { margin-top: 8px; }
.check-all header { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; margin-bottom: 12px; }
.check-all h2 { margin: 0; font-size: 18px; }
.check-all header p, .check-all li span { color: #6b6560; font-size: 13px; }
.check-all ol { list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid #eee6e1; border-radius: 16px; }
.check-all li { display: grid; grid-template-columns: 128px 1fr; gap: 16px; align-items: start; padding: 16px 18px; border-top: 1px solid #f0e8e3; }
.check-all li:first-child { border-top: 0; }
.check-all li strong { display: block; }
.check-all li em { font-style: normal; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 4px 8px; width: fit-content; }
.check-all li.pass em { background: #e8f7ee; color: #1f8a4c; }
.check-all li.fail em { background: #ffe8e3; color: #c2412d; }
.check-all li.skipped em, .check-all li.not_applicable em { background: #f3f0ee; color: #6b6560; }
.area-pager { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; padding-top: 8px; }
.area-pager a { text-decoration: none; background: #fff; border: 1px solid #eee6e1; border-radius: 14px; padding: 16px 18px; font-weight: 700; }
.board-hero { background: #171513; color: #fff; border-radius: 18px; padding: 26px; }
.board-hero h1 { margin: 6px 0; font-size: 32px; letter-spacing: -0.04em; }
.board-hero p, .board-hero .kicker { color: #ffd0c4; }
.board-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; list-style: none; padding: 0; margin: 14px 0; }
.board-stats li { background: #fff; border: 1px solid #eee6e1; border-radius: 14px; padding: 14px; }
.board-stats strong { display: block; font-size: 26px; }
.board-stats span { color: #8a837c; font-size: 12px; }
.board-tools { justify-content: space-between; margin-bottom: 10px; }
.board-columns, .task-row summary, .board-group header {
  display: grid; grid-template-columns: 1.6fr 150px 70px 90px 100px; gap: 8px; align-items: center;
}
.board-columns { color: #8a837c; font-size: 12px; font-weight: 700; padding: 0 14px 6px; }
.board-group { background: #fff; border: 1px solid #eee6e1; border-radius: 16px; margin-bottom: 12px; overflow: hidden; }
.board-group header { padding: 12px 14px; background: #faf7f5; }
.board-group header h2 { margin: 0; font-size: 16px; grid-column: 1 / 4; }
.board-group header span { grid-column: 4 / 6; text-align: right; color: #6b6560; font-size: 13px; }
.task-row { border-top: 1px solid #f0e8e3; }
.task-row summary { padding: 12px 14px; cursor: pointer; list-style: none; }
.task-row summary::-webkit-details-marker { display: none; }
.view-scope { justify-self: end; color: #ff5a1f; font-weight: 700; font-size: 13px; }
.task-row .summary-3, .task-row .fine { margin: 0 14px 12px; }
@media (max-width: 980px) {
  .dash-hero, .dash-split, .metric-4, .summary-3, .diag-3, .funnel, .board-stats, .board-hero { grid-template-columns: 1fr; }
  .funnel-side { position: static; max-height: none; overflow: visible; }
  .board-columns { display: none; }
  .task-row summary, .board-group header { grid-template-columns: 1fr; }
  .scanned { margin-left: 0; }
}
@media print {
  .topbar, .report-foot, .site-foot, .pager, .audit-tools button, .filters, #task-search { display: none !important; }
  body { background: #fff; }
  .card, .finding, .group { break-inside: avoid; }
}
.ov-top, .ov-hero, .leak-card { display: flex; gap: 22px; align-items: flex-start; justify-content: space-between; }
.ov-top { align-items: center; margin-bottom: 16px; }
.ov-top h1 { margin: 0; font-size: 28px; }
.ov-hero { align-items: stretch; }
.leak-card { flex: 1.4; }
.ov-hero .wins { flex: 0.8; }
.stat-row.four { grid-template-columns: repeat(4, 1fr); }
.card.dark { background: #1c1917; color: #fff; }
.card.dark .kicker, .card.dark p { color: #f3d2c8; }
.win b {
  width: 28px; height: 28px; border-radius: 8px; background: #fff1ea; color: var(--orange);
  display: grid; place-items: center; flex: none;
}
.win { align-items: center; }
.win em { display: block; color: var(--orange); font-style: normal; font-weight: 700; }
.chip.hot-money { background: #fff1ea; color: var(--orange); }
.dropoff li.urgent a { border-left: 3px solid var(--bad); padding-left: 10px; }
.dropoff li.mid a { border-left: 3px solid var(--avg); padding-left: 10px; }
.diag { margin-top: 22px; }
.health-bar { height: 8px; background: #f0e7e3; border-radius: 999px; overflow: hidden; margin: 8px 0 12px; }
.health-bar span { display: block; height: 100%; background: var(--orange); }
.score-side { display: grid; justify-items: center; gap: 8px; }
.pane { border-radius: 12px; padding: 12px; }
.pane.found { background: #f7f5f4; }
.pane.hurts { background: #fff1f0; }
.pane.fix { background: #eef8f1; }
.finding { margin-top: 14px; }
.backlog-hero {
  display: flex; justify-content: space-between; gap: 20px; align-items: flex-end;
  background: #1c1917; color: #fff; border-radius: 18px; padding: 22px; margin-bottom: 16px;
}
.backlog-hero .kicker { color: #ffb5a4; }
.backlog-hero p { color: #e7e1dc; max-width: 52ch; }
.backlog-stats { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0; }
.backlog-stats strong { display: block; font-size: 28px; }
.backlog-stats span { color: #c8c0ba; font-size: 12px; }
.task summary b { color: var(--orange); margin-left: auto; }
.steps ol { padding-left: 18px; }
.steps li { margin: 8px 0; }
.group { margin-bottom: 12px; }
.group header { display: flex; justify-content: space-between; }
@media (max-width: 860px) {
  .preview-grid, .three, .stat-row, .stat-row.four, .split, .audit, .overview-head, .score-row, .ov-hero, .ov-top, .backlog-hero { grid-template-columns: 1fr; display: grid; }
  .hero h1 { font-size: 36px; }
  .url-row { flex-direction: column; }
  .topbar {
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    min-height: 0;
  }
  .top-left {
    flex: 1 1 auto;
    min-width: 0;
  }
  .top-actions { justify-content: flex-end; flex-wrap: wrap; }
  .topbar:has(.pills) {
    flex-direction: column;
    align-items: stretch;
  }
  .pills {
    position: static;
    left: auto;
    transform: none;
    width: 100%;
    justify-content: stretch;
    gap: 2px;
  }
  .pills a,
  .pills .pill-off {
    flex: 1 1 0;
    text-align: center;
    padding: 8px 8px;
    font-size: 13px;
    white-space: nowrap;
  }
  .store-chip { max-width: min(180px, 46vw); font-size: 12px; }
  .brand-name { font-size: 15px; }
  .brand-name small { font-size: 11px; }
  .unlock {
    width: auto;
    max-width: none;
    padding: 7px 12px;
    font-size: 12px;
    border-radius: 8px;
  }
  main { width: min(1120px, calc(100% - 32px)); padding: 20px 0 48px; }
  body.page-home main { width: calc(100% - 24px); max-width: 1280px; }
  body.page-questions main { width: min(1040px, calc(100% - 24px)); }
  body.page-report main { padding: 16px 16px 40px; }
  .site-foot { padding: 18px 16px; gap: 14px; }
  .site-foot nav { gap: 12px; }
  html { scroll-padding-top: 88px; }

  #how { padding-top: 36px; }
  #how h2 { font-size: 26px; line-height: 1.2; }
  #how .sub { font-size: 15px; }
  .how-grid article { min-height: 0; padding: 16px 16px 14px; gap: 6px; }
  .how-grid h3 { font-size: 16px; margin-top: 4px; }
  .how-grid article > p { font-size: 14px; }
  .how-top i { width: 36px; height: 36px; border-radius: 12px; }
  .step { width: 32px; height: 32px; font-size: 14px; border-radius: 9px; }

  #comparison .section-head h2 {
    font-size: clamp(24px, 6.2vw, 28px);
    line-height: 1.18;
    letter-spacing: -0.03em;
  }
  #comparison .section-head .sub { font-size: 14px; }
  .col-head-featured strong { font-size: 14px; }
  .comp-badge.win { font-size: 12px; padding: 5px 8px; white-space: normal; }
}
body.page-report .dash-meta { background: #fff; border: 1px solid #eee6e1; border-radius: 16px; padding: 14px 16px; margin-bottom: 16px; }
body.page-report .dash-hero, body.page-report .dash-split { gap: 16px; margin-bottom: 16px; }
body.page-report .leak-panel { align-items: flex-start; padding: 24px; gap: 22px; }
body.page-report .leak-panel h2 { font-size: 28px; margin: 6px 0 10px; }
body.page-report .leak-copy { margin: 0 0 14px; line-height: 1.5; }
body.page-report .wins-panel, body.page-report .plan-panel { padding: 20px 22px; }
body.page-report .wins-panel header { margin-bottom: 6px; }
body.page-report .win-row { padding: 14px 0; }
body.page-report .metric-4 { gap: 16px; margin: 0 0 16px; }
body.page-report .metric-4 .panel { padding: 20px; }
body.page-report .metric-4 h3 { min-height: 44px; }
body.page-report .drop-list a { padding: 16px 8px 16px 14px; }
body.page-report .drop-title { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
body.page-report .drop-copy p { margin: 6px 0 0; }
body.page-report .plan-card { display: flex; padding: 14px; margin: 12px 0; align-items: flex-start; }
body.page-report .diag-block { margin-top: 8px; }
body.page-report .diag-block h2 { margin-bottom: 12px; }
body.page-report .diag-3 { gap: 16px; margin: 0; }
body.page-report .diag-card { gap: 8px; padding: 20px; }
.ov-status, .ov-hero, .ov-area-scores, .ov-metrics, .ov-split, .ov-highlights { margin-bottom: 16px; }
.ov-area-scores {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 20px 18px 18px;
  overflow: visible;
}
.ov-area-scores header h2 { margin: 0; font-size: 22px; letter-spacing: -0.03em; }
.ov-area-scores header p { margin: 6px 0 0; color: #64748b; font-size: 14px; line-height: 1.45; max-width: 62ch; }
.ov-area-scores-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
  overflow: visible;
}
.ov-area-score-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  height: 100%;
  overflow: visible;
}
.ov-area-score-cell.is-open,
.ov-area-score-cell.is-locked {
  padding-top: 34px;
}
.ov-area-unlock-callout,
.ov-area-lock-callout {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 3;
  transform: translateX(-50%);
  width: max-content;
  max-width: min(150px, calc(100% + 8px));
  box-sizing: border-box;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .01em;
  text-align: center;
  white-space: normal;
  pointer-events: none;
}
.ov-area-unlock-callout {
  background: #065f46;
  color: #ecfdf5;
  box-shadow: 0 8px 18px rgba(6, 95, 70, 0.22);
}
.ov-area-lock-callout {
  background: #9a3412;
  color: #fff7ed;
  box-shadow: 0 8px 18px rgba(154, 52, 18, 0.22);
}
.ov-area-unlock-callout::after,
.ov-area-lock-callout::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 12px;
  height: 12px;
  transform: translateX(-50%) rotate(45deg);
  border-radius: 2px;
}
.ov-area-unlock-callout::after {
  background: #065f46;
}
.ov-area-lock-callout::after {
  background: #9a3412;
}
.ov-area-scores .ov-area-score {
  width: 100%;
  height: 100%;
  min-height: 188px;
  padding: 10px 8px 10px;
  border-radius: 16px;
  gap: 8px;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
  font: inherit;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.ov-area-scores .ov-area-score::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: #94a3b8;
}
.ov-area-scores .ov-area-score.tone-ok::before { background: linear-gradient(90deg, #34d399, #059669); }
.ov-area-scores .ov-area-score.tone-mid::before { background: linear-gradient(90deg, #fbbf24, #d97706); }
.ov-area-scores .ov-area-score.tone-bad::before { background: linear-gradient(90deg, #f87171, #dc2626); }
.ov-area-scores .ov-area-score.tone-none::before { background: #cbd5e1; }
.ov-area-scores .ov-area-score:hover {
  transform: translateY(-2px);
  border-color: #cbd5e1;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
}
.ov-area-scores .ov-area-score:focus-visible {
  outline: 2px solid #ff5a1f;
  outline-offset: 2px;
}
.ov-area-scores .ov-area-score.is-open {
  min-height: 188px;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
  border-color: #bbf7d0;
}
.ov-area-scores .ov-area-score.is-locked {
  background: #fff;
  border-color: #e2e8f0;
}
.ov-area-score-top {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4px;
  min-height: 24px;
}
.ov-area-score-name {
  display: block;
  flex: 1;
  margin: 0;
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}
.ov-area-open-chip {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #d1fae5;
  color: #047857;
}
.ov-area-score-ring {
  position: relative;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin: 2px 0 0;
}
.ov-area-score-ring svg {
  width: 72px;
  height: 72px;
  transform: rotate(-90deg);
}
.ov-area-score-value {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  pointer-events: none;
}
.ov-area-score-value strong {
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #0f172a;
}
.ov-area-score-value small {
  color: #94a3b8;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}
.ov-area-score-band {
  margin: 0;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  border-radius: 999px;
  padding: 4px 8px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #64748b;
  background: #f1f5f9;
}
.ov-area-score-band.ok { color: #047857; background: #d1fae5; }
.ov-area-score-band.mid { color: #b45309; background: #ffedd5; }
.ov-area-score-band.bad { color: #b91c1c; background: #fee2e2; }
.ov-area-score-band.none { color: #64748b; background: #f1f5f9; }
.ov-area-score-cta {
  margin-top: auto;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  border-radius: 9px;
  padding: 8px 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  background: #ff5a1f;
  color: #fff;
}
.ov-area-score-cta.is-open-cta {
  background: #0f172a;
  color: #fff;
}
.ov-area-scores .ov-area-score.is-locked:hover .ov-area-score-cta {
  filter: brightness(1.06);
}
.ov-area-score-cta.is-free-cta {
  background: #ff5a1f;
  color: #fff;
}
.ov-area-scores .ov-area-score.is-open:hover .ov-area-score-cta {
  filter: brightness(1.1);
}
.ov-area-lock-mark { display: none; }
@media (max-width: 1200px) {
  .ov-area-scores-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .ov-area-scores-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ov-area-scores-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ov-area-score-cell.is-open,
  .ov-area-score-cell.is-locked { padding-top: 38px; }
  .ov-area-scores .ov-area-score { min-height: 176px; }
  .ov-area-score-ring,
  .ov-area-score-ring svg { width: 64px; height: 64px; }
  .ov-area-score-value strong { font-size: 18px; }
}
.unlock-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  background: rgba(15, 23, 42, 0.58);
  overflow: hidden;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
  backdrop-filter: blur(2px);
}
.unlock-overlay[hidden] { display: none !important; }
html.modal-open,
body.modal-open,
body.unlock-open {
  overscroll-behavior: none;
}
.au-side.is-frozen {
  overflow: hidden !important;
  overscroll-behavior: none;
  pointer-events: none;
}
.unlock-modal {
  position: relative;
  width: min(560px, 100%);
  max-height: min(92dvh, 820px);
  overflow: auto;
  margin: auto;
  flex-shrink: 0;
  background:
    radial-gradient(420px 180px at 100% 0, rgba(255, 90, 31, 0.12), transparent 60%),
    #fff;
  border: 1px solid #e7e5e4;
  border-radius: 24px;
  padding: 34px 30px 26px;
  display: grid;
  gap: 16px;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.3);
}
.unlock-modal[data-mode="all"] {
  background:
    radial-gradient(420px 180px at 100% 0, rgba(15, 23, 42, 0.1), transparent 60%),
    #fff;
}
.unlock-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: #f5f5f4;
  color: #57534e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
}
.unlock-close svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: none;
}
.unlock-close:hover { background: #e7e5e4; color: #0f172a; }
.unlock-hero { display: grid; gap: 10px; padding-right: 34px; }
.unlock-modal .kicker {
  margin: 0;
  color: #ff5a1f;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.unlock-modal[data-mode="all"] .kicker { color: #0f172a; }
.unlock-modal h2 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: #0f172a;
}
.unlock-modal p {
  margin: 0;
  color: #57534e;
  font-size: 16px;
  line-height: 1.5;
}
.unlock-modal form { margin: 0; display: grid; gap: 0; }
.unlock-panel,
.unlock-panel-area,
.unlock-panel-all {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.unlock-price-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.unlock-price-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  border-radius: 14px;
  padding: 8px 14px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  box-sizing: border-box;
}
.unlock-price-chip.area {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}
.unlock-price-chip.all {
  background: #0f172a;
  color: #fff;
  border: 1px solid #0f172a;
}
.unlock-price-note {
  color: #78716c;
  font-size: 14px;
  font-weight: 700;
}
.unlock-benefits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.unlock-benefits li {
  position: relative;
  padding: 12px 14px 12px 40px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #eef2f7;
  color: #334155;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
}
.unlock-benefits li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  border-radius: 99px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 10px 10px no-repeat,
    #d1fae5;
}
.unlock-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 16px;
  color: #78716c;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.unlock-divider::before,
.unlock-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e7e5e4;
}
.unlock-all-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  background: #0b1329;
  color: #fff;
}
.unlock-all-card strong {
  display: block;
  font-size: 15px;
  letter-spacing: -0.02em;
}
.unlock-all-card .unlock-all-lead {
  margin: 4px 0 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.4;
}
.unlock-all-card-side {
  display: grid;
  gap: 8px;
  justify-items: end;
}
.unlock-all-card .unlock-all-btn {
  width: auto;
  min-width: 112px;
  background: #ff5a1f;
  border-color: #ff5a1f;
  padding: 10px 14px;
  font-size: 13px;
}
.unlock-all-card .unlock-all-btn:hover { filter: brightness(1.06); color: #fff; }
.unlock-all-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  background: #0f172a;
  color: #fff;
  border: 1px solid #0f172a;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.unlock-all-btn:hover { filter: brightness(1.08); color: #fff; }
.unlock-all-cta {
  flex: none;
  background: #0f172a;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.unlock-all-cta-side {
  width: 100%;
  margin-top: 12px;
}
.free-pick-hint {
  margin: 0 0 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff7ed;
  border: 1px solid #fdba74;
  color: #9a3412;
  font-size: 14px;
  font-weight: 700;
}
.ov-area-scores.is-free-picking .ov-area-score.is-locked {
  box-shadow: 0 0 0 2px rgba(255, 90, 31, 0.28);
  cursor: pointer;
}
.ov-area-scores.is-free-picking .ov-area-score.is-locked:hover {
  box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.45);
  transform: translateY(-2px);
}
.ov-area-scores.is-free-picking .ov-area-score.is-locked .ov-area-score-cta {
  background: #ff5a1f;
  color: #fff;
}
.free-report-cta.is-picking {
  background: #1c1917;
  box-shadow: inset 0 0 0 1px #fff;
}
.ov-area-scores-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}
.ov-area-scores-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.unlock-actions {
  display: flex;
  gap: 10px;
  justify-content: stretch;
  align-items: stretch;
  margin-top: 4px;
  flex-wrap: nowrap;
}
.unlock-actions .ghost,
.unlock-actions button[type="submit"],
.unlock-actions .unlock-all-cta,
.unlock-actions .unlock-all-btn {
  flex: 1 1 0;
  box-sizing: border-box;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  padding: 14px 16px;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}
.unlock-actions .ghost {
  background: #fff;
  color: #1c1917;
  border: 1px solid #e7e5e4;
}
.unlock-actions .ghost:hover { background: #fafaf9; }
.unlock-actions button[type="submit"] {
  background: #ff5a1f;
  color: #fff;
  border: 1px solid #ff5a1f;
}
.unlock-actions button[type="submit"]:hover { filter: brightness(1.06); }
.unlock-actions .unlock-all-cta,
.unlock-actions .unlock-all-btn {
  background: #0f172a;
  color: #fff;
  border: 1px solid #0f172a;
}
.unlock-modal.is-all-only .unlock-area-only { display: none !important; }
.unlock-modal.is-all-only .unlock-all-only { display: flex !important; }
.unlock-modal[data-mode="all"] .unlock-panel-area { display: none !important; }
.unlock-modal[data-mode="area"] .unlock-panel-all { display: none !important; }
.unlock-panel-all[hidden],
.unlock-panel-area[hidden] { display: none !important; }
@media (max-width: 520px) {
  .unlock-all-card {
    grid-template-columns: 1fr;
  }
  .unlock-all-card-side {
    width: 100%;
    justify-items: stretch;
  }
  .unlock-all-card .unlock-all-btn { width: 100%; }
  .unlock-actions { flex-wrap: wrap; }
  .unlock-actions .ghost,
  .unlock-actions button[type="submit"],
  .unlock-actions .unlock-all-btn { flex: 1 1 100%; }
}
.ov-status { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 16px 18px; }
.ov-status-left, .ov-status-right { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.meta-pill { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; padding: 6px 12px; color: #475569; font-size: 13px; font-weight: 700; }
.meta-pill.conf { background: #fff7ed; border-color: #fed7aa; color: #c2410c; }
.meta-pill.conf.high { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.live-dot { width: 10px; height: 10px; border-radius: 99px; background: #10b981; }
.ov-hero { display: grid; grid-template-columns: 1.4fr .9fr; gap: 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 24px; align-items: stretch; }
.ov-pitch { display: flex; gap: 22px; align-items: center; justify-content: center; height: 100%; margin: auto 0; }
.donut { position: relative; width: 132px; height: 132px; flex: none; }
.donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.donut circle { fill: none; stroke: #f1f5f9; stroke-width: 10; }
.donut circle:last-child { stroke: #ff5a1f; stroke-linecap: round; }
.donut div { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; }
.donut strong { font-size: 32px; line-height: 1; }
.donut small { color: #64748b; font-weight: 700; }
.ov-copy h1 { font-size: 28px; line-height: 1.25; letter-spacing: -0.02em; margin: 8px 0; }
.ov-copy h1 mark { background: #ffe4e6; color: #e11d48; padding: 0 6px; border-radius: 8px; }
.ov-copy p { color: #1c1917; margin: 0 0 12px; line-height: 1.5; font-size: 16px; }
.ov-badges { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.badge { display: inline-flex; gap: 6px; align-items: center; border: 1px solid #e2e8f0; background: #f8fafc; border-radius: 12px; padding: 10px 14px; font-size: 14px; }
.badge.rose, .badge.critical { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.badge.average { background: #fffbeb; border-color: #fde68a; color: #b45309; }
.badge.minor { background: #f8fafc; border-color: #e2e8f0; color: #475569; }
.badge.uplift { color: #047857; background: #ecfdf5; border-color: #a7f3d0; border-radius: 999px; font-weight: 800; }
.ov-monitor { margin-top: 14px; border: 1px solid #fdba74; background: #fff; border-radius: 16px; padding: 14px; display: grid; gap: 10px; }
.ov-monitor-top { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; }
.ov-gear { width: 40px; height: 40px; border-radius: 12px; background: #fff7ed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff5a1f' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E") center / 22px no-repeat; }
.ov-monitor strong { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 15px; }
.ov-monitor strong em { font-style: normal; background: #ff5a1f; color: #fff; border-radius: 999px; padding: 2px 7px; font-size: 10px; letter-spacing: .04em; }
.ov-monitor-top p { margin: 4px 0 0; color: #64748b; font-size: 13px; }
.ov-monitor-top > b { font-size: 28px; letter-spacing: -0.03em; white-space: nowrap; }
.ov-monitor-top small { font-size: 13px; color: #64748b; font-weight: 700; }
.ov-monitor button.wide { background: #ff5a1f; }
.ov-monitor button.dark { background: #0f172a; }
.ov-wins { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 14px; padding: 16px; }
.ov-wins header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ov-wins h2, .ov-drop h2, .ov-plan h2, .ov-highlights h2 { margin: 0; font-size: 18px; }
.ov-win { display: grid; grid-template-columns: 28px 1fr auto; gap: 12px; align-items: center; text-decoration: none; background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #10b981; border-radius: 12px; padding: 12px; margin-top: 10px; }
.ov-win b { width: 24px; height: 24px; border-radius: 99px; background: #ecfdf5; color: #047857; display: grid; place-items: center; font-size: 12px; }
.ov-win .ov-win-info { display: grid; gap: 2px; min-width: 0; }
.ov-win small { color: #64748b; }
.ov-win-stats { flex-shrink: 0; justify-content: flex-end; }
.ov-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }
.ov-metrics article {
  background: #fff; border: 1px solid #e7e5e4; border-radius: 16px; padding: 16px 16px 14px;
  display: flex; flex-direction: column; gap: 10px; min-height: 168px;
}
.ov-metrics header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ov-metrics p { margin: 0; color: #64748b; font-size: 13px; font-weight: 650; }
.ov-metrics h3 { margin: 0; font-size: 18px; line-height: 1.25; letter-spacing: -0.02em; }
.ov-metrics b { font-size: 32px; letter-spacing: -0.03em; line-height: 1; }
.ov-metrics b.range { font-size: 22px; line-height: 1.15; }
.ov-metrics b.good { color: #059669; }
.ov-metrics small { color: #94a3b8; font-size: 14px; font-weight: 650; }
.ov-num { display: flex; align-items: baseline; gap: 6px; margin-top: auto; flex-wrap: wrap; }
.ov-num span, .ov-metrics article > span { color: #64748b; font-size: 13px; line-height: 1.35; }
.ov-ico { width: 28px; height: 28px; border-radius: 999px; display: grid; place-items: center; flex: none; }
.ov-ico.good { background: #ecfdf5; color: #10b981; }
.ov-ico.warn { background: #ffe4e6; color: #e11d48; }
.ov-ico.work { background: #fff7ed; color: #ff5a1f; }
.ov-metrics .rose { background: #fff1f2; border-color: #fecdd3; }
.ov-metrics .rose p { color: #e11d48; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ov-metrics .rose h3, .ov-metrics .rose b { color: #e11d48; }
.ov-metrics .rose small, .ov-metrics .rose .ov-num span { color: #fb7185; }
.ov-metrics .ink { background: #0f172a; color: #fff; border-color: #0f172a; justify-content: center; align-items: center; text-align: center; }
.ov-metrics .ink header { justify-content: center; }
.ov-metrics .ink .ov-num { margin-top: 0; justify-content: center; }
.ov-metrics .ink p { color: #e2e8f0; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ov-metrics .ink span, .ov-metrics .ink small { color: #94a3b8; }
.ov-metrics .ink b { color: #34d399; }
.ov-metrics .ink em { font-style: normal; background: rgba(16,185,129,.18); color: #34d399; border-radius: 99px; padding: 4px 8px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.ov-split { display: grid; grid-template-columns: 1.6fr .8fr; gap: 16px; align-items: start; }
.ov-drop, .ov-plan { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 22px; }
.ov-drop header, .ov-highlights header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 12px; }
.ov-drop header p, .ov-highlights header p, .ov-plan > p { color: #64748b; margin: 4px 0 0; font-size: 13px; }
.legend { display: flex; gap: 10px; font-size: 12px; font-weight: 700; color: #64748b; }
.legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
.legend .g { background: #059669; } .legend .a { background: #d97706; } .legend .r { background: #dc2626; }
.ov-bar { display: grid; gap: 6px; text-decoration: none; background: #f8fafc; border: 1px solid transparent; border-radius: 12px; padding: 12px; margin-top: 10px; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease; }
.ov-bar:hover { background: #fff; border-color: #d1fae5; box-shadow: 0 10px 24px rgba(15, 23, 42, .08); transform: translateY(-2px); }
.ov-bar.mid:hover { border-color: #fed7aa; }
.ov-bar.bad:hover { background: #fff; border-color: #fecdd3; }
.ov-bar:hover .ov-bar-top b { color: #0f172a; }
.ov-bar-top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ov-bar-top span { margin-left: auto; color: #64748b; font-size: 13px; }
.ov-bar-top b { font-size: 16px; }
.ov-bar-top b.unscored { margin-left: auto; font-size: 13px; color: #78716c; font-weight: 700; }
.ov-bar-top b small { color: #94a3b8; font-weight: 600; }
.ov-bar p { margin: 0; color: #64748b; font-size: 13px; }
.track { height: 8px; background: #e2e8f0; border-radius: 99px; overflow: hidden; }
.track i { display: block; height: 100%; background: #10b981; }
.ov-bar.mid .track i { background: #ff5a1f; }
.ov-bar.bad { background: #fff1f2; }
.ov-bar.bad .track i { background: #e11d48; }
.ov-task { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: start; text-decoration: none; background: #fff; border: 1px solid #e2e8f0; border-left: 4px solid #10b981; border-radius: 14px; padding: 14px; margin-top: 12px; }
.ov-rank { width: 28px; height: 28px; border-radius: 999px; background: #ecfdf5; color: #059669; font-weight: 800; display: grid; place-items: center; font-size: 14px; }
.ov-task-content { flex: 1; min-width: 0; }
.ov-task-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ov-task strong { color: #0f172a; font-size: 15px; }
.ov-task p { margin: 4px 0 0; color: #64748b; font-size: 13px; line-height: 1.4; }
.ov-task-stats { margin-top: 10px; padding-top: 8px; border-top: 1px dashed #e2e8f0; }
.ov-plan .button { width: 100%; text-align: center; margin-top: 14px; background: #fff; color: #0f172a; border: 1px solid #e2e8f0; }
.ov-highlights header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-end; margin-bottom: 12px; }
.ov-highlights > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ov-highlights > div.is-two { grid-template-columns: repeat(2, 1fr); }
.ov-highlights article { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 18px 18px 0; display: grid; align-content: start; min-height: 100%; }
.ov-h-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ov-h-top .ico { display: inline-flex; align-items: center; gap: 6px; background: #fff7ed; color: #ff5a1f; border-radius: 12px; padding: 8px 12px; font-size: 12px; font-weight: 800; }
.ov-h-top .ico.rose { background: #fff1f2; color: #e11d48; }
.ov-h-top b { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; padding: 6px 10px; font-size: 13px; }
.ov-h-top b.plain { color: #e11d48; background: #fff1f2; border-color: #fecdd3; }
.ov-highlights h3 { margin: 14px 0 6px; font-size: 16px; }
.ov-highlights article > p { color: #64748b; font-size: 13px; line-height: 1.45; margin: 0; min-height: 58px; }
.ov-highlights footer { margin: 16px -18px 0; padding: 12px 18px; background: #fff1f2; border-top: 1px solid #ffe4e6; border-radius: 0 0 16px 16px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ov-highlights footer span { color: #9f1239; font-size: 12px; font-weight: 800; }
.ov-highlights footer.good { background: #ecfdf5; border-top-color: #d1fae5; }
.ov-highlights footer.good span { color: #047857; }
.ov-highlights footer a { color: #ff5a1f; font-weight: 800; text-decoration: none; font-size: 13px; white-space: nowrap; }
.ov-answers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.ov-answers div { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 12px 14px; }
.ov-answers span { display: block; color: #1c1917; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ov-answers div:first-child span { color: #b91c1c; }
.ov-answers strong { display: block; margin-top: 6px; font-size: 16px; line-height: 1.3; letter-spacing: -0.02em; }
.ov-upgrade { display: inline-flex; margin-top: 14px; background: #ff5a1f; color: #fff; text-decoration: none; border: 0; border-radius: 12px; padding: 12px 16px; font: inherit; font-weight: 800; cursor: pointer; }
.ov-upgrade:hover { filter: brightness(1.06); }
.free-pick-modal {
  width: min(560px, 100%);
  max-height: min(86dvh, 86vh, 720px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.free-pick-modal .kicker,
.free-pick-modal h2,
.free-pick-modal > p:not(.form-error):not(.free-used-note) {
  padding-right: 42px;
  flex: none;
}
.free-pick-modal .unlock-close {
  position: absolute;
  top: 14px;
  right: 14px;
  left: auto;
  float: none;
  margin: 0;
  z-index: 5;
}
.free-pick-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  gap: 0;
}
.free-pick-scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 6px;
  margin: 0 -6px 0 0;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}
.free-pick-scroll::-webkit-scrollbar {
  width: 6px;
}
.free-pick-scroll::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 999px;
}
.free-pick-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.free-pick-grid { display: grid; gap: 10px; margin: 6px 0 12px; }
.free-pick-option {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}
.free-pick-option:hover {
  border-color: #fdba74;
  background: #fffaf5;
  transform: translateY(-1px);
}
.free-pick-option:has(input:checked) {
  border-color: #ff5a1f;
  background: #fff8f5;
  box-shadow: 0 4px 12px rgba(255, 90, 31, 0.12);
}
.free-pick-option input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #ff5a1f;
  cursor: pointer;
  margin: 0;
  flex-shrink: 0;
}
.free-pick-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #334155;
}
.free-pick-option:has(input:checked) .free-pick-icon {
  background: #fee2e2;
  color: #ff5a1f;
}
.free-pick-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.free-pick-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.free-pick-title-row strong {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}
.free-pick-rec {
  font-size: 11px;
  font-weight: 800;
  color: #b91c1c;
  background: #fee2e2;
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}
.free-pick-meta-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.free-pick-score {
  font-size: 12px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 6px;
}
.free-pick-score.good { background: #dcfce7; color: #15803d; }
.free-pick-score.warn { background: #fef9c3; color: #a16207; }
.free-pick-score.bad { background: #fee2e2; color: #b91c1c; }
.free-pick-tasks {
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
}
.free-pick-foot {
  flex: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0 -30px -26px;
  padding: 16px 30px 24px;
  border-top: 1px solid #e7e5e4;
  background: linear-gradient(180deg, #fff 0%, #fafaf9 100%);
  position: sticky;
  bottom: 0;
  z-index: 3;
}
.free-used-note { background: #fff7ed; border: 1px solid #fdba74; border-radius: 12px; padding: 10px 12px; color: #9a3412 !important; font-size: 14px !important; }
#free-unlock-submit {
  width: min(100%, 280px);
  background: #ff5a1f;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 12px 18px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
#free-unlock-submit:hover { filter: brightness(1.06); }
.ov-offer {
  display: grid; grid-template-columns: 1fr; gap: 22px; align-items: start;
  margin-top: 16px; padding: 28px 32px; border-radius: 20px; color: #fff;
  background: radial-gradient(420px 180px at 100% 0, rgba(255, 90, 31,.22), transparent 60%), #0b1329;
}
.ov-offer-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
@media (max-width: 1100px) {
  .ov-offer-plans { grid-template-columns: 1fr; }
}
.ov-offer dl { margin: 4px 0 0; display: grid; gap: 10px; }
.ov-offer dt { color: #0f172a; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ov-offer dd { margin: 2px 0 0; color: #475569; font-size: 14px; line-height: 1.45; }
.ov-offer article.hot { box-shadow: inset 0 3px 0 #ff5a1f; }
.ov-offer h2 { margin: 10px 0 8px; font-size: clamp(20px, 2vw, 26px); letter-spacing: -0.035em; line-height: 1.2; max-width: 100%; white-space: nowrap; }

/* Email Capture Unlock Modal Styles */
.email-capture-modal {
  width: min(500px, 100%);
  border-radius: 20px;
  padding: 32px 28px 26px;
  background:
    radial-gradient(380px 160px at 100% 0, rgba(255, 90, 31, 0.14), transparent 65%),
    #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 25px 60px -10px rgba(15, 23, 42, 0.35);
}
.email-capture-badge-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.email-capture-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #ff5a1f;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(255, 90, 31, 0.25);
  flex-shrink: 0;
}
.email-capture-kicker {
  font-size: 12px;
  font-weight: 800;
  color: #ff5a1f;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.email-capture-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}
.email-capture-label {
  font-size: 13px;
  font-weight: 700;
  color: #334155;
}
.email-capture-input-row {
  position: relative;
  display: flex;
  align-items: center;
}
.email-capture-input-row .input-icon {
  position: absolute;
  left: 14px;
  pointer-events: none;
}
.email-capture-input {
  width: 100%;
  padding: 12px 14px 12px 42px;
  border: 1.5px solid #cbd5e1;
  border-radius: 10px;
  font-family: inherit;
  font-size: 15px;
  color: #0f172a;
  background: #fff;
  transition: all 0.15s ease;
  box-sizing: border-box;
}
.email-capture-input:focus {
  outline: none;
  border-color: #ff5a1f;
  box-shadow: 0 0 0 3px rgba(255, 90, 31, 0.15);
}
.email-capture-privacy-pill {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  color: #166534;
  font-weight: 600;
}
.email-capture-privacy-pill svg {
  flex-shrink: 0;
}
.email-capture-submit-btn {
  width: 100%;
  background: #ff5a1f;
  color: #fff;
  border: none;
  padding: 13px 20px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.15s ease;
  box-shadow: 0 4px 14px rgba(255, 90, 31, 0.25);
}
.email-capture-submit-btn:hover {
  background: #e04a14;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(255, 90, 31, 0.35);
}
.email-capture-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 800px) { .ov-offer h2 { white-space: normal; font-size: 28px; } }
.ov-offer-copy > p { margin: 0; color: #cbd5e1; max-width: 42ch; line-height: 1.5; }
.ov-offer-kicker { display: inline-flex; margin: 0; color: #f8fafc; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ov-offer ul { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ov-offer li { color: #e2e8f0; font-size: 13px; font-weight: 700; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 999px; padding: 6px 10px; }
.ov-offer li:before { content: "✓ "; color: #34d399; }
.ov-offer article { background: #fff; color: #0f172a; border: 0; border-radius: 16px; padding: 20px; display: flex; flex-direction: column; align-items: stretch; gap: 6px; height: 100%; }
.ov-offer article p { margin: 0; color: #1c1917; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ov-offer article strong { font-size: 44px; letter-spacing: -0.04em; line-height: 1; color: #0f172a; }
.ov-offer article small { font-size: 16px; color: #94a3b8; font-weight: 700; }
.ov-offer article span { color: #64748b; font-size: 14px; line-height: 1.45; }
.ov-offer article button,
.ov-offer article .ov-offer-btn {
  margin-top: auto;
  width: 100%;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  background: #ff5a1f;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}
.ov-offer article button:hover,
.ov-offer article .ov-offer-btn:hover { filter: brightness(1.06); color: #fff; }
.ov-chart {
  display: grid;
  grid-template-columns: 1.6fr .7fr;
  gap: 16px;
  margin-bottom: 16px;
  align-items: stretch;
  min-width: 0;
  max-width: 100%;
}
.ov-chart-plot, .ov-chart aside {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 18px 18px 12px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.ov-chart-plot header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 8px; }
.ov-chart h2 { margin: 0; font-size: 18px; }
.ov-chart-plot header p, .ov-chart aside p { margin: 6px 0 0; color: #64748b; font-size: 13px; line-height: 1.45; }
.ov-chart-plot header span { color: #94a3b8; font-size: 13px; white-space: nowrap; }
.ov-bars {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 16px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  padding-bottom: 4px;
}
.ov-bars > div { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; color: inherit; }
.ov-bars .track { position: relative; width: 100%; height: 196px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; padding: 10px 8px 8px; background: linear-gradient(#f8fafc, #f1f5f9); border: 1px solid #e8eef4; border-radius: 18px; box-sizing: border-box; }
.ov-bars b { font-size: 12px; font-weight: 800; color: #0f172a; line-height: 1; }
.ov-bars i { display: block; width: 100%; border-radius: 12px; background: linear-gradient(180deg, #34d399, #059669); min-height: 10px; }
.ov-bars > div.low i { background: linear-gradient(180deg, #fbbf24, #f59e0b); }
.ov-bars > div > span:last-child {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: #475569;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
.ov-key { display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.ov-key > div { display: grid; grid-template-columns: 18px 1fr; gap: 12px; align-items: center; }
.ov-key > div i { width: 18px; height: 36px; border-radius: 6px; }
.ov-key i.ok { background: #059669; }
.ov-key i.low { background: #f59e0b; }
.ov-key strong { display: block; font-size: 15px; }
.ov-key span { color: #64748b; font-size: 13px; }
.ov-key a { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; margin-top: 6px; padding: 14px; border-radius: 14px; background: #fff7ed; text-decoration: none; color: inherit; }
.ov-key a span { grid-column: 1; color: #c2410c; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ov-key a strong { grid-column: 1; }
.ov-key a b { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-size: 28px; color: #c2410c; }
@media (max-width: 980px) {
  .ov-hero, .ov-metrics, .ov-split, .ov-highlights > div, .ov-highlights > div.is-two, .ov-offer, .ov-offer-plans, .ov-chart, .ov-answers { grid-template-columns: 1fr; display: grid; }
  .ov-pitch {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    gap: 16px;
  }
  .ov-pitch .donut {
    margin: 0 auto;
    flex: none;
  }
  .ov-pitch .ov-copy {
    width: 100%;
    text-align: left;
  }
  .ov-copy h1 { font-size: 22px; text-align: left; }
  .ov-answers { text-align: left; }
  .ov-answers div { text-align: left; }
  .ov-upgrade {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  .ov-wins header { flex-wrap: wrap; }
  .ov-win {
    grid-template-columns: 28px minmax(0, 1fr);
  }
  .ov-win em {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
  .ov-area-scores-actions { width: 100%; justify-content: stretch; }
  .ov-area-scores-actions .unlock-all-cta,
  .ov-area-scores-actions .free-report-cta { flex: 1 1 auto; text-align: center; }
  .ov-chart,
  .ov-metrics,
  .ov-hero,
  .ov-split,
  .ov-highlights,
  .ov-area-scores,
  .ov-offer {
    min-width: 0;
    max-width: 100%;
  }
  .ov-area-scores { overflow: hidden; }
  .ov-area-unlock-callout,
  .ov-area-lock-callout {
    max-width: calc(100% - 4px);
    width: auto;
    left: 50%;
  }
  .ov-bars { gap: 6px; }
  .ov-bars .track { height: 160px; padding: 8px 4px 6px; border-radius: 12px; }
  .ov-bars b { font-size: 11px; }
  .ov-bars > div > span:last-child { font-size: 10px; margin-top: 6px; }
  .ov-task { grid-template-columns: 28px minmax(0, 1fr); }
  .ov-task b { white-space: normal; }
  .ov-highlights article > p { min-height: 0; }
  .ov-highlights footer { flex-wrap: wrap; }
  .ov-monitor-top {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .ov-monitor-top > b {
    grid-column: 2;
    white-space: normal;
    font-size: 22px;
  }
  .bk-hero aside > div { grid-template-columns: 1fr; }
  .bk-hero { padding: 22px 18px; gap: 18px; }
  .bk-hero h1 { font-size: 28px; max-width: none; }
  .bk-board {
    padding: 16px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .bk-board header { flex-direction: column; align-items: stretch; }
  .bk-board .filters {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .bk-board .filters a {
    flex: 1 1 auto;
    text-align: center;
    white-space: nowrap;
  }
  .bk-tools {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .bk-tools > span,
  .bk-tools > input,
  .bk-tools > .bk-tools-actions {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .bk-tools-actions {
    display: flex;
    gap: 10px;
  }
  .bk-tools-actions button {
    margin-left: 0;
    flex: 1 1 50%;
    width: 50%;
    text-align: center;
  }
  .bk-area-title-row { flex-direction: column; align-items: flex-start; }
  .bk-area-main { justify-items: start; }
  .bk-area-chips { width: 100%; justify-content: flex-start; }
  .bk-pair { flex-wrap: wrap; gap: 10px 16px; }
  .bk-meta .bk-pair { justify-content: flex-start; }
  .bk-meta span,
  .bk-meta b { justify-items: start; text-align: left; }
  .au-bar { padding: 12px 14px; }
  .au-head {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    text-align: left;
  }
  .au-head > div {
    width: 100%;
  }
  .au-gauge {
    margin: 0 auto;
    width: min(156px, 100%);
  }
  .au-head .kicker,
  .au-head h1,
  .au-head > div > p { white-space: normal; }
  .au-head h1 { font-size: 26px; }
  .au-pager {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 4px;
    padding: 8px 10px;
    margin-top: 12px;
    border-radius: 12px;
  }
  .au-pager > a,
  .au-pager > button.pager-locked {
    display: grid;
    gap: 0;
    padding: 4px 6px;
    font-size: 12px;
    line-height: 1.2;
    min-width: 0;
    max-width: 100%;
  }
  .au-pager > a:last-of-type,
  .au-pager > button.pager-locked:last-of-type {
    justify-items: end;
    text-align: right;
  }
  .au-pager small {
    font-size: 9px;
    letter-spacing: .04em;
  }
  .au-pager .pager-label {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
  }
  .au-pager .pager-dots {
    gap: 5px;
    justify-content: center;
    flex-wrap: nowrap;
  }
  .au-pager .pager-dots a,
  .au-pager .pager-dot-locked { width: 7px; height: 7px; }
  .au-pager .pager-dots a.on { width: 7px; }
}
body.page-audit { background: #fafaf9; }
.au-bar, .au-head, .au-summary article, .au-finding, .au-pager, .au-nav, .scope-card { background: #fff; border: 1px solid #e7e5e4; border-radius: 16px; }
.au-bar { display: flex; justify-content: space-between; gap: 16px; align-items: center; flex-wrap: wrap; padding: 14px 18px; margin-bottom: 16px; }
.au-bar > div { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.au-bar .kicker { letter-spacing: .08em; font-size: 12px; font-weight: 800; }
.au-bar .when { color: #78716c; font-size: 14px; font-weight: 650; }
.au-bar .count { background: #f5f5f4; color: #44403c; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 700; }
.au-bar button { background: #fff; color: #1c1917; border: 1px solid #e7e5e4; border-radius: 12px; padding: 8px 14px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.au-grid {
  display: grid;
  grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.au-grid > * { min-width: 0; max-width: 100%; }
.au-side { position: sticky; top: 76px; max-height: calc(100vh - 92px); overflow: auto; display: grid; gap: 12px; scroll-behavior: auto; overscroll-behavior: contain; }
.au-nav { padding: 10px; display: grid; gap: 8px; }
.au-nav .au-nav-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  width: 100%;
  min-height: 68px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: #fff;
  text-decoration: none;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  box-sizing: border-box;
}
.au-nav .au-nav-item i {
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f5f5f4;
  color: #44403c;
  display: grid;
  place-items: center;
  align-self: center;
}
.au-nav .au-nav-item i .area-ico { width: 18px; height: 18px; display: block; }
.au-nav .au-nav-item > span {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.au-nav .au-nav-item strong {
  display: block;
  min-width: 0;
  font-size: 14px;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.au-nav-state {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 999px;
  padding: 3px 8px;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}
.au-nav-state.open {
  background: #d1fae5;
  color: #047857;
}
.au-nav-state.locked {
  background: #fff7ed;
  color: #c2410c;
  border: 1px solid #fed7aa;
}
.au-nav .au-nav-item small {
  grid-column: 2;
  grid-row: 2;
  display: block;
  margin: 0;
  color: #44403c;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.au-nav .au-nav-item.mid small { color: #c2410c; }
.au-nav .au-nav-item.urgent small { color: #ef4444; }
.au-nav .au-nav-item.ok small { color: #059669; }
.au-nav .au-nav-item b {
  grid-column: 3;
  grid-row: 1 / span 2;
  height: 34px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  align-self: center;
  border-radius: 10px;
  padding: 0 8px;
  background: #f5f5f4;
  color: #44403c;
  font-size: 13px;
  font-weight: 800;
}
.au-nav .au-nav-item.ok b { background: #ecfdf5; color: #047857; }
.au-nav .au-nav-item.mid b { background: #ffedd5; color: #c2410c; }
.au-nav .au-nav-item.urgent b { background: #fee2e2; color: #b91c1c; }
.au-nav .au-nav-item.is-open {
  border-color: #d1fae5;
  background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
}
.au-nav .au-nav-item.is-open:hover {
  border-color: #86efac;
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.08);
}
.au-nav .au-nav-item.on {
  background: #fff7ed;
  border-color: #fdba74;
  box-shadow: inset 4px 0 0 #ff5a1f;
}
.au-nav .au-nav-item.on i { background: #ff5a1f; color: #fff; }
.au-nav .au-nav-item.on b { background: #ff5a1f; color: #fff; }
.au-nav .au-nav-item.on .au-nav-state.open {
  background: #ffedd5;
  color: #c2410c;
}
.au-nav .au-nav-item.is-locked {
  border: 1px dashed #d6d3d1;
  background: #fafaf9;
  color: #78716c;
}
.au-nav .au-nav-item.is-locked strong { color: #57534e; }
.au-nav .au-nav-item.is-locked i {
  background: #f5f5f4;
  color: #a8a29e;
}
.au-nav .au-nav-item.is-locked small { color: #a8a29e; }
.au-nav .au-nav-item.is-locked b {
  background: #fff7ed;
  color: #d97706;
  border: 1px solid #fed7aa;
  min-width: 34px;
}
.au-nav .au-nav-item.is-locked .au-nav-lock { color: #d97706; flex: none; }
.au-nav .au-nav-item.is-locked .au-nav-score-locked {
  width: 34px;
  padding: 0;
}
.au-nav .au-nav-item.is-locked:hover {
  background: #fff7ed;
  border-color: #fdba74;
  border-style: solid;
  color: #1c1917;
}
.au-nav .au-nav-item.is-locked:hover i { color: #78716c; }
.au-nav .au-nav-item.is-locked:hover strong { color: #0f172a; }
.au-pager .pager-locked {
  background: #fff;
  border: 1px solid #e7e5e4;
  border-radius: 12px;
  padding: 10px 14px;
  font: inherit;
  text-align: left;
  cursor: pointer;
  color: #1c1917;
}
.au-pager .pager-locked small { display: block; color: #78716c; font-size: 12px; font-weight: 700; }
.au-pager .pager-dot-locked {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  border: 0;
  background: #d6d3d1;
  cursor: pointer;
  padding: 0;
}
.au-pager .pager-dot-locked.bad { background: #fca5a5; }
.au-head { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 16px 32px; margin-bottom: 16px; min-width: 0; }
.au-head > div { min-width: 0; flex: 1 1 auto; }
.au-head .kicker { color: #1c1917; letter-spacing: .04em; font-size: 13px; font-weight: 800; }
.au-head h1 { margin: 4px 0 6px; font-size: clamp(28px, 2.4vw, 40px); line-height: 1.15; letter-spacing: -0.04em; max-width: 100%; overflow-wrap: anywhere; }
.au-head > div > p { margin: 0; color: #1c1917; max-width: none; font-size: 16px; line-height: 1.5; }
.au-gauge { width: 156px; text-align: center; background: #f4f4f3; border: 0; border-radius: 18px; padding: 10px 12px; flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; box-shadow: none; }
.au-gauge em { font-style: normal; font-size: 12px; font-weight: 800; color: #a16207; background: #f6e3a4; border-radius: 999px; padding: 6px 10px; letter-spacing: 0; }
.au-gauge em.ok { color: #047857; background: #d1fae5; }
.au-gauge em.bad { color: #b91c1c; background: #fecaca; }
.au-gauge .ring { position: relative; width: 104px; height: 104px; background: none; border-radius: 0; }
.au-gauge svg { width: 104px; height: 104px; transform: rotate(-90deg); }
.au-gauge .ring > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding-top: 2px; }
.au-gauge strong { background: none; width: auto; height: auto; border-radius: 0; display: block; font-size: 34px; font-weight: 800; color: #0f172a; line-height: .85; letter-spacing: -0.04em; }
.au-gauge small { color: #a8a29e; font-size: 12px; font-weight: 700; line-height: 1; }
.au-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
.au-summary article { position: relative; padding: 12px 14px; overflow: hidden; display: grid; gap: 4px; align-content: start; box-shadow: 0 1px 2px rgba(15,23,42,.04); }
.au-summary .ov-ico { margin-bottom: 2px; }
.au-summary .kicker { color: #44403c; letter-spacing: .08em; font-size: 13px; }
.au-summary article:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: #ef4444; }
.au-summary .edge-good:before { background: #10b981; }
.au-summary .edge-hot:before { background: #ff5a1f; }
.au-summary h2 { margin: 0; font-size: 17px; line-height: 1.25; letter-spacing: -0.02em; }
.au-summary p { margin: 0; color: #1c1917; font-size: 14px; line-height: 1.35; }
.au-summary .metric { font-size: 14px; font-weight: 700; color: #a8a29e; margin: 0; letter-spacing: 0; }
.au-summary .au-hours { margin: 2px 0 0; color: #44403c; font-size: 14px; font-weight: 700; }
.au-summary .au-hours b { display: inline-block; margin-right: 4px; background: #fff7ed; color: #c2410c; border-radius: 8px; padding: 3px 8px; font-size: 16px; letter-spacing: -0.03em; }
.au-unlock { display: inline-flex; justify-content: center; align-items: center; margin-top: 2px; width: fit-content; background: #ff5a1f; color: #fff; text-decoration: none; border-radius: 10px; padding: 7px 12px; font-size: 14px; font-weight: 800; }
.au-unlock:hover { filter: brightness(1.06); }
.au-summary .metric small { font-size: 14px; color: #a8a29e; font-weight: 700; }
.au-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0 0 12px; padding: 8px 0; background: #fafaf9; }
.au-filters button { border: 1px solid #e7e5e4; background: #fff; color: #44403c; border-radius: 999px; padding: 8px 12px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .16s ease, color .16s ease, border-color .16s ease; }
.au-filters button b { font-weight: 800; margin-left: 4px; }
.au-filters button.on { background: #ff5a1f; border-color: #ff5a1f; color: #fff; }
.au-filters span { margin-left: auto; color: #78716c; font-size: 13px; }
.au-list { display: grid; gap: 14px; }
.au-finding { display: flex; flex-direction: column; padding: 18px 18px 16px; margin-top: 0; border-width: 1px; border-color: #efe7e4; box-shadow: 0 8px 24px rgba(15, 23, 42, .04); transition: opacity .18s ease, transform .18s ease; }
.au-finding > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; }
.au-finding > summary::-webkit-details-marker { display: none; }
.au-finding > summary header { flex: 1; min-width: 0; }
.au-finding > summary::after { display: none !important; content: "" !important; }
.au-summary-right { display: flex; align-items: flex-start; gap: 18px; flex: none; margin-left: auto; }
.au-time-stat { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.2; min-width: 54px; }
.au-time-stat small { color: #64748b; font-size: 11px; font-weight: 700; line-height: 1.2; }
.au-time-stat strong { color: #0f172a; font-size: 15px; font-weight: 700; line-height: 1.2; }
.au-pay-col { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; }
.au-toggle-label { display: block; color: #ff5a1f; font-size: 13px; font-weight: 800; white-space: nowrap; line-height: 1.2; text-align: center; cursor: pointer; }
.au-toggle-label::before { content: "Show details"; }
.au-finding[open] .au-toggle-label::before { content: "Hide details"; }
.au-finding.fail { border-color: #f6d5d0; }
.au-finding.pass { border-color: #d1fae5; }
.au-finding.is-out { display: none; }
.au-empty { margin: 8px 0 0; color: #78716c; }
.au-finding header { display: flex; gap: 14px; align-items: flex-start; }
.au-finding-header-main { flex: 1; min-width: 0; }
.au-meta-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.au-sales-row { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: #64748b; line-height: 1.2; }
.au-sales-row strong, .au-sales-row em { color: #008060; font-style: normal; font-weight: 800; font-size: 14px; }
.au-toggle-label::before { content: "Show details"; }
.au-finding[open] .au-toggle-label::before { content: "Hide details"; }
.au-finding header > b { width: 36px; height: 36px; border-radius: 99px; background: #ff5a1f; color: #fff; display: grid; place-items: center; flex: none; font-size: 15px; }
.au-finding.pass header > b { background: #10b981; }
.au-finding.skipped header > b, .au-finding.not_applicable header > b { background: #a8a29e; }
.au-finding h2 { margin: 2px 0 10px; font-size: 22px; letter-spacing: -0.03em; line-height: 1.25; }
.au-status { margin: 0 0 4px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #b91c1c; background: none; padding: 0; }
.au-status.pass { color: #047857; }
.au-status.fail.minor, .au-status.skipped, .au-status.not_applicable { color: #44403c; }
.au-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.au-tags span { display: inline-flex; align-items: center; border-radius: 8px; padding: 5px 10px; font-size: 13px; font-weight: 700; }
.au-tags .impact { background: #fff1f2; color: #e11d48; }
.au-tags .impact.pass { background: #ecfdf5; color: #047857; }
.au-tags .impact.average { background: #fff7ed; color: #c2410c; }
.au-tags .impact.minor, .au-tags .impact.skipped, .au-tags .impact.not_applicable { background: #f5f5f4; color: #57534e; }
.au-tags .hours { background: #f5f5f4; color: #44403c; }
.au-tags .sales { background: #ecfdf5; color: #065f46; }
.au-tags .sales strong { color: #047857; font-weight: 800; margin-left: 4px; }
.au-title-sales {
  display: inline-flex;
  align-items: center;
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
  border-radius: 6px;
  padding: 1px 7px;
  font-size: 0.88em;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: middle;
  margin-left: 2px;
}
.au-title-sales strong {
  color: #047857;
  font-weight: 800;
  margin-left: 4px;
}
.au-title-sales.average {
  background: #fff7ed;
  color: #9a3412;
  border-color: #fed7aa;
}
.au-title-sales.average strong {
  color: #c2410c;
  font-weight: 800;
}
.au-title-sales.critical {
  background: #fff1f2;
  color: #9f1239;
  border-color: #fecdd3;
}
.au-title-sales.critical strong {
  color: #e11d48;
  font-weight: 800;
}
.au-title-sales.minor {
  background: #f5f5f4;
  color: #57534e;
  border-color: #e7e5e4;
}
.au-title-sales.minor strong {
  color: #292524;
  font-weight: 800;
}
.au-finding .evidence-bar { align-items: center; background: #fafaf9; border: 1px solid #f0ebe8; margin-top: 14px; }
.au-finding .evidence-bar i { width: 32px; height: 32px; border-radius: 8px; background: #fff; color: #ff5a1f; display: grid; place-items: center; flex: none; border: 1px solid #f3e8e4; }
.au-finding .evidence-bar span { font-weight: 700; color: #44403c; }
.au-finding .evidence-bar em { margin-left: auto; font-style: normal; font-weight: 800; white-space: nowrap; border: 1px solid #a7f3d0; background: #fff; color: #059669; border-radius: 999px; padding: 6px 12px; }
.au-finding .evidence-bar em.mid { border-color: #fed7aa; color: #c2410c; }
.au-finding .evidence-bar em.low { border-color: #e7e5e4; color: #78716c; }
.au-panes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; align-items: stretch; }
.au-panes > div { border-radius: 12px; padding: 14px 14px 16px; }
.au-panes p { margin: 0; font-size: 14px; line-height: 1.55; color: #44403c; }
.au-panes .kicker { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 13px; letter-spacing: 0; text-transform: none; }
.au-panes .found { background: #f7f6f5; border: 1px solid #eeeae7; }
.au-panes .found .kicker { color: #57534e; }
.au-panes .hurts { background: #fff5f5; border: 1px solid #ffe4e6; }
.au-panes .hurts .kicker { color: #e11d48; }
.au-panes .fix { background: #f0fdf6; border: 1px solid #d1fae5; }
.au-panes .fix .kicker { color: #059669; }
.au-pager { position: sticky; bottom: 12px; z-index: 8; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 14px 18px; margin-top: 16px; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.au-pager > a { text-decoration: none; display: grid; gap: 2px; padding: 6px 8px; border-radius: 10px; font-weight: 800; }
.au-pager > a:last-of-type { justify-items: end; text-align: right; }
.au-pager > a:hover { background: #fafaf9; }
.au-pager small { color: #a8a29e; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.au-pager .pager-dots { justify-content: center; gap: 8px; }
.au-pager .pager-dots a { width: 10px; height: 10px; background: #e7e5e4; }
.au-pager .pager-dots a.on { width: 10px; background: #ff5a1f; }
.au-pager .pager-dots a.bad { background: #fda4af; }
.au-pager .pager-dots a.on.bad { background: #ef4444; }
.bk-trail { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 12px 16px; margin-bottom: 16px; font-size: 13px; }
.bk-trail a { color: #ff5a1f; font-weight: 700; text-decoration: none; }
.bk-hero { display: grid; grid-template-columns: 1.25fr .9fr; gap: 28px; align-items: center; background: radial-gradient(500px 220px at 80% 0, rgba(255, 90, 31,.18), transparent 60%), linear-gradient(90deg, #0b132b, #111827 55%, #1e293b); color: #fff; border-radius: 18px; padding: 32px; margin-bottom: 16px; border: 1px solid #1e293b; }
.bk-hero h1 { margin: 12px 0; font-size: 36px; letter-spacing: -0.03em; line-height: 1.1; max-width: 16ch; }
.bk-hero p { color: #cbd5e1; margin: 0; max-width: 54ch; line-height: 1.5; }
.bk-hero .kicker { display: inline-flex; color: #fdba74; border: 1px solid rgba(255, 90, 31,.45); background: rgba(255, 90, 31,.15); border-radius: 999px; padding: 6px 10px; letter-spacing: .06em; }
.bk-facts { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 18px; font-size: 13px; color: #e2e8f0; }
.bk-hero aside { background: rgba(15,23,42,.85); border: 1px solid #334155; border-radius: 16px; padding: 16px; }
.bk-hero aside header { display: flex; justify-content: space-between; align-items: center; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; margin-bottom: 12px; }
.bk-hero aside header em { font-style: normal; background: #1e293b; border-radius: 8px; padding: 4px 8px; }
.bk-hero aside > div { display: grid; grid-template-columns: 1fr .85fr 1.25fr; gap: 8px; }
.bk-hero aside p { background: rgba(30,41,59,.75); border: 1px solid #334155; border-radius: 12px; padding: 12px; margin: 0; }
.bk-hero aside small { display: block; color: #94a3b8; font-size: 11px; }
.bk-hero aside strong { display: block; font-size: 28px; color: #fff; line-height: 1.1; margin: 6px 0; }
.bk-hero aside strong span { color: #34d399; font-size: 14px; }
.bk-hero aside p em { display: block; font-style: normal; color: #94a3b8; font-size: 12px; }
.bk-hero aside .money { color: #34d399; font-size: 22px; white-space: nowrap; letter-spacing: -0.03em; }
.bk-hero aside footer { margin-top: 14px; display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; font-size: 12px; color: #cbd5e1; }
.bk-hero aside footer > b { color: #34d399; }
.bk-hero aside footer i { grid-column: 1 / -1; display: block; height: 8px; border-radius: 99px; background: #1e293b; overflow: hidden; }
.bk-hero aside footer i b { display: block; height: 100%; background: #10b981; border-radius: 99px; }
.bk-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.bk-kpis article { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 16px; }
.bk-kpis p, .bk-kpis span { color: #64748b; margin: 0; font-size: 13px; }
.bk-kpis strong { display: block; font-size: 30px; margin: 8px 0; }
.bk-kpis strong.money { color: #059669; }
.bk-kpis .hot strong { color: #e11d48; }
.bk-board { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 22px; margin-bottom: 28px; }
.bk-board header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.bk-board h2 { margin: 0; font-size: 26px; letter-spacing: -0.02em; }
.bk-board header p { margin: 6px 0 0; color: #64748b; max-width: 52ch; }
.bk-board .filters { margin: 0; }
.bk-board .filters a { background: #f1f5f9; border-color: transparent; color: #475569; font-size: 13px; font-weight: 700; }
.bk-board .filters a.on { background: #ff5a1f; color: #fff; border-color: #ff5a1f; }
.bk-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: #f8fafc; border-radius: 10px; padding: 10px 12px; margin: 14px 0; font-size: 13px; color: #64748b; }
.bk-tools button, .bk-tools input { font: inherit; border: 1px solid #e2e8f0; background: #fff; color: #0f172a; border-radius: 8px; padding: 6px 10px; }
.bk-tools-actions { display: inline-flex; gap: 10px; margin-left: auto; }
.bk-tools-actions button { margin-left: 0; cursor: pointer; }
.bk-tools button { cursor: pointer; }
.bk-tools > button { margin-left: auto; }
.bk-tools > button + button { margin-left: 0; }
.bk-area { border: 1px solid #e2e8f0; border-radius: 14px; margin-top: 12px; overflow: hidden; background: #fff; }
.bk-area-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  background: #f8fafc;
  cursor: pointer;
  list-style: none;
  border-bottom: 1px solid transparent;
}
.bk-area[open] > .bk-area-head { border-bottom-color: #e2e8f0; background: #fff7ed; }
.bk-area > summary::-webkit-details-marker,
.bk-area-head::-webkit-details-marker { display: none; }
.bk-area-ico {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #ff5a1f;
  color: #fff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.bk-area-main { display: grid; gap: 6px; min-width: 0; justify-items: start; }
.bk-area-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}
.bk-area-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
}
.bk-area-chips .chip {
  margin: 0;
  flex: 0 0 auto;
}
.bk-area-blurb { display: block; color: #64748b; font-size: 13px; line-height: 1.4; }
.bk-area-stats { margin-top: 2px; }
.bk-area-chevron {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e8f0;
  display: grid;
  place-items: center;
  margin-top: 6px;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.bk-area-chevron::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #78716c;
  border-bottom: 2px solid #78716c;
  transform: rotate(45deg) translate(-1px, -1px);
}
.bk-area[open] > .bk-area-head .bk-area-chevron {
  transform: rotate(180deg);
  background: #ff5a1f;
  border-color: #ff5a1f;
}
.bk-area[open] > .bk-area-head .bk-area-chevron::before { border-color: #fff; }
.bk-area-body {
  display: grid;
  gap: 10px;
  padding: 12px 14px 14px;
  background: #f8fafc;
  margin: 0;
}
.bk-area-title {
  display: block;
  width: 100%;
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: left;
}
.chip.good { background: #d1fae5; color: #047857; }
.bk-locked-block { margin-top: 20px; padding: 16px; border: 1px dashed #fdba74; border-radius: 16px; background: #fffaf5; }
.bk-locked-block > header { margin-bottom: 12px; }
.bk-locked-block > header h3 { margin: 0; font-size: 16px; letter-spacing: -0.02em; }
.bk-locked-block > header p { margin: 4px 0 0; color: #78716c; font-size: 14px; }
.bk-area-locked {
  width: 100%;
  margin-top: 8px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #fed7aa;
  border-radius: 14px;
  background: #fff;
  font: inherit;
  color: #0f172a;
  text-align: left;
  cursor: pointer;
}
.bk-area-locked:hover { border-color: #ff5a1f; box-shadow: 0 8px 20px rgba(255, 90, 31, 0.08); }
.bk-area-locked i { width: 40px; height: 40px; border-radius: 10px; background: #ffedd5; color: #c2410c; display: grid; place-items: center; }
.bk-area-locked-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  justify-items: start;
}
.bk-area-locked-title {
  display: block;
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.bk-area-locked .chip {
  display: inline-flex;
  width: fit-content;
}
.bk-area-locked small { display: block; color: #78716c; margin-top: 0; }
.bk-area-locked > b {
  flex: none;
  background: #ff5a1f;
  color: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
.bk-pair { display: flex; gap: 18px; align-items: flex-end; }
.bk-pair span { display: grid; gap: 2px; font-size: 15px; font-weight: 700; color: #0f172a; line-height: 1.25; }
.bk-pair small { color: #64748b; font-size: 11px; font-weight: 700; letter-spacing: 0; text-transform: none; line-height: 1.2; }
.bk-pair strong { color: #0f172a; font-weight: 700; font-size: 15px; line-height: 1.25; }
.bk-pair em { color: #008060; font-style: normal; font-weight: 800; font-size: 15px; line-height: 1.25; }
.bk-task {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #94a3b8;
  background: #fff;
  margin: 0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.bk-task.critical { border-left-color: #ef4444; }
.bk-task.average { border-left-color: #f59e0b; }
.bk-task p { margin: 6px 0 0; color: #64748b; font-size: 13px; }
.bk-meta { display: grid; justify-items: end; gap: 8px; font-size: 15px; font-weight: 800; }
.bk-meta .bk-pair { justify-content: flex-end; align-items: center; gap: 14px; }
.bk-meta span, .bk-meta b { display: grid; justify-items: end; gap: 1px; text-align: right; }
.bk-meta small { color: #64748b; font-size: 11px; font-weight: 700; letter-spacing: 0; }
.bk-meta b { color: #059669; }
.bk-meta a { color: #ff5a1f; font-weight: 800; text-decoration: none; font-size: 13px; }
.bk-meta-actions { display: inline-flex; align-items: center; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.bk-task-pay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #ff5a1f;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 8px;
  border: 1px solid #ff5a1f;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
}
.bk-task-pay-btn:hover {
  background: #e04b16;
  border-color: #e04b16;
  box-shadow: 0 2px 8px rgba(255, 90, 31, 0.28);
}
.bk-task-pay-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.bk-task-details { grid-column: 1 / -1; }
.bk-task-details > summary { cursor: pointer; color: #ff5a1f; font-weight: 700; font-size: 13px; list-style: none; }
.bk-task-details > summary::-webkit-details-marker { display: none; }
.bk-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 4px; margin-bottom: 16px; }
.bk-plans article { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 22px; display: grid; align-content: start; gap: 8px; }
.bk-plans article.hot { border: 2px solid #ff5a1f; background: linear-gradient(#fff7ed, #fff 28%); }
.bk-plan-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.bk-plan-top span { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: #f1f5f9; border-radius: 999px; padding: 4px 8px; color: #475569; }
.bk-plan-top .pop { background: #10b981; color: #fff; }
.bk-plan-top em { font-style: normal; color: #64748b; font-size: 13px; }
.bk-plan-top .spots { color: #b91c1c; background: #fef2f2; border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 800; }
.bk-price { margin: 8px 0 0; font-size: 36px; font-weight: 800; letter-spacing: -0.03em; }
.bk-price.hot { color: #ff5a1f; }
.bk-price small { font-size: 14px; color: #64748b; font-weight: 650; }
.bk-plans h2 { margin: 0; font-size: 22px; }
.bk-plans p { margin: 0; color: #64748b; line-height: 1.45; }
.bk-plans ul { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 8px; }
.bk-plans li { font-size: 14px; }
.bk-plans li:before { content: "✓ "; color: #0f172a; font-weight: 800; }
.bk-plans article.hot li:before { color: #10b981; }
.bk-plans li.off { color: #94a3b8; text-decoration: line-through; }
.bk-plans li.off:before { content: "✕ "; color: #94a3b8; }
.bk-plans button,
.bk-plans .bk-plan-btn {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}
.bk-plans article:not(.hot) button { background: #f1f5f9; color: #0f172a; }
.bk-plans article.hot button,
.bk-plans article.hot .bk-plan-btn { background: #ff5a1f; color: #fff; }
.bk-plans article.hot .bk-plan-btn:hover { filter: brightness(1.06); color: #fff; }
.bk-plans .bk-plan-unlock {
  width: 100%;
  box-sizing: border-box;
  background: #ff5a1f;
  color: #fff;
}
.bk-plans .bk-plan-unlock:hover { filter: brightness(1.06); }
.bk-close { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 16px; padding: 28px; border-radius: 18px; color: #fff; background: radial-gradient(420px 180px at 90% 0, rgba(255, 90, 31,.2), transparent 55%), linear-gradient(120deg, #0b132b, #111827 60%, #1e293b); }
.bk-close .kicker { color: #ff5a1f; margin: 0 0 8px; }
.bk-close h2 { margin: 0 0 8px; font-size: 28px; letter-spacing: -0.02em; max-width: 18ch; }
.bk-close p { margin: 0; color: #cbd5e1; max-width: 54ch; }
.bk-close ul { display: flex; gap: 16px; flex-wrap: wrap; list-style: none; margin: 14px 0 0; padding: 0; }
.bk-close li { font-size: 13px; color: #e2e8f0; }
.bk-close li:before { content: "✓ "; color: #34d399; font-weight: 800; }
.bk-close-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.bk-close button { background: #ff5a1f; white-space: nowrap; }
.bk-close button.ghost { background: #1e293b; color: #fff; border: 1px solid #334155; }
@media (max-width: 980px) {
  .bk-hero, .bk-kpis, .bk-task, .bk-plans, .bk-close { grid-template-columns: 1fr; display: grid; }
  .bk-meta { justify-items: start; }
  .bk-close { padding: 22px 18px; text-align: left; }
  .bk-close h2 { font-size: 24px; max-width: none; }
  .bk-close-actions { width: 100%; }
  .bk-close-actions button,
  .bk-close-actions a { width: 100%; text-align: center; }
  .bk-area-locked { grid-template-columns: 42px minmax(0, 1fr); }
  .bk-area-locked > :last-child { grid-column: 2; }
}
@media (max-width: 1100px) {
  .au-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
  .au-side {
    position: static;
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    order: 1;
  }
  .au-main {
    order: 2;
    min-width: 0;
    max-width: 100%;
  }
  .au-summary,
  .au-panes,
  .au-head {
    grid-template-columns: 1fr;
    display: grid;
  }
  .au-head {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
  }
  .au-head > div { width: 100%; }
  .au-gauge { margin: 0 auto; }
  .au-finding > summary { flex-wrap: wrap; align-items: flex-start; }
  .au-summary-right { width: 100%; flex-direction: row; justify-content: space-between; align-items: flex-end; margin-top: 6px; }
  .au-nav { max-height: none; }
  .au-filters { gap: 6px; }
  .au-filters span { width: 100%; margin-left: 0; }
}


/* ==========================================================================
   AudNora Enhancements: Demo Pills, Calculator, Comparison, Print & Snippets
   ========================================================================== */

/* Demo Stores Row */
.demo-stores-row {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.demo-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.demo-pill {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 12px;
  background: #f8fafc;
  color: #334155;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  transition: all 0.15s ease;
}
.demo-pill:hover {
  background: #ff5a1f;
  color: #fff;
  border-color: #ff5a1f;
  transform: translateY(-1px);
}

/* Hero Trust Ribbon */
.hero-trust-ribbon {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
}
.hero-trust-ribbon span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Calculator Widget */
.calc-widget {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: #fff;
  border-radius: 20px;
  padding: 36px 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.calc-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 28px;
}
.calc-header .kicker {
  color: #38bdf8;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}
.calc-header h2 {
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 8px;
}
.calc-header .sub {
  color: #94a3b8;
  font-size: 15px;
  margin: 0;
}
.calc-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}
.calc-controls {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 24px;
}
.calc-group {
  margin-bottom: 20px;
}
.calc-group:last-child {
  margin-bottom: 0;
}
.calc-group label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #e2e8f0;
  margin-bottom: 8px;
}
.calc-group strong {
  color: #38bdf8;
}
.calc-group input[type="range"] {
  width: 100%;
  accent-color: #38bdf8;
  cursor: pointer;
}
.range-marks {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #64748b;
  margin-top: 4px;
}
.calc-select {
  width: 100%;
  padding: 10px 14px;
  background: #0f172a;
  color: #fff;
  border: 1px solid #334155;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
}
.calc-output {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.calc-card {
  padding: 20px;
  border-radius: 14px;
  border: 1px solid transparent;
}
.calc-card.leak-box {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.25);
}
.calc-card.leak-box strong {
  color: #f87171;
}
.calc-card.recover-box {
  background: rgba(34, 197, 94, 0.1);
  border-color: rgba(34, 197, 94, 0.25);
}
.calc-card.recover-box strong {
  color: #4ade80;
}
.calc-card-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
  margin-bottom: 4px;
}
.calc-card strong {
  font-size: 28px;
  font-weight: 800;
  display: block;
  margin-bottom: 4px;
}
.calc-card small {
  color: #cbd5e1;
  font-size: 12px;
  line-height: 1.4;
  display: block;
}

/* Calculator Disclaimer */
.calc-disclaimer {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
.calc-disclaimer strong {
  color: #cbd5e1;
}

/* Comparison section — match landing title scale */
#comparison {
  padding-top: 32px;
  padding-bottom: 12px;
}
#comparison .section-head {
  align-items: flex-start;
  text-align: left;
  margin-bottom: 8px;
}
#comparison .section-head > div {
  max-width: none;
}
#comparison .section-head .kicker {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
#comparison .section-head h2 {
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.12;
  color: var(--ink);
  max-width: none;
  white-space: nowrap;
}
#comparison .section-head h2 span { color: var(--orange); }
#comparison .section-head .sub {
  margin: 0;
  max-width: 46ch;
  color: #57534e;
  font-size: 16px;
  line-height: 1.45;
  text-align: left;
}

/* Comparison Table */
.compare-table-wrapper {
  overflow-x: auto;
  margin-top: 22px;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #eadfd8;
  box-shadow: 0 10px 25px -5px rgba(40, 20, 10, 0.05), 0 8px 10px -6px rgba(40, 20, 10, 0.03);
}
.compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
  font-size: 14px;
}
.compare-table th, .compare-table td {
  padding: 18px 22px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.compare-table tr:last-child td {
  border-bottom: none;
}
.compare-table th {
  background: #f8fafc;
  font-weight: 800;
  color: #334155;
  font-size: 14px;
}
.compare-table tbody tr:hover td {
  background-color: #fafbfd;
}
.compare-table tbody tr:hover td.highlight-col {
  background-color: #f0f7ff;
}

/* Featured Column */
.compare-table th.highlight-col, .compare-table td.highlight-col {
  background: #f8fbff;
  border-left: 2px solid #3b82f6;
  border-right: 2px solid #3b82f6;
  position: relative;
}
.col-head-featured {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.col-head-featured strong {
  font-size: 16px;
  color: #1e3a8a;
  font-weight: 800;
}
.feat-badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #3b82f6;
  color: #ffffff;
  padding: 2px 8px;
  border-radius: 999px;
}

/* Capability Cell */
.cap-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: #0f172a;
}
.cap-cell svg {
  flex-shrink: 0;
}

/* Badges & Text */
.comp-badge.win {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  color: #15803d;
  background: #dcfce7;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 13px;
}
.comp-badge.win svg {
  stroke: #16a34a;
}
.comp-muted {
  color: #64748b;
  font-weight: 600;
  font-size: 13px;
}
.comp-cross {
  color: #94a3b8;
  margin-right: 4px;
  font-weight: 800;
}

/* Export PDF Pill Button */
.print-pill-btn {
  background: #1e293b !important;
  color: #fff !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: all 0.15s ease !important;
}
.print-pill-btn:hover {
  background: #3b82f6 !important;
}

/* Benchmark Pill */
.benchmark-pill {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
}
.benchmark-pill.good {
  background: #dcfce7;
  color: #166534;
}
.benchmark-pill.warn {
  background: #fef3c7;
  color: #92400e;
}

/* Code Snippet Box in Backlog */
.code-snippet-box {
  margin-top: 14px;
  background: #0f172a;
  border-radius: 10px;
  border: 1px solid #334155;
  overflow: hidden;
}
.code-snippet-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  background: #1e293b;
  color: #e2e8f0;
  font-size: 12px;
  border-bottom: 1px solid #334155;
}
.code-snippet-header strong {
  color: #38bdf8;
}
.copy-snippet-btn {
  background: #334155;
  color: #fff;
  border: none;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: background 0.15s ease;
}
.copy-snippet-btn:hover {
  background: #38bdf8;
  color: #0f172a;
}
.copy-snippet-btn.copied {
  background: #22c55e;
  color: #fff;
}
.code-snippet-box pre {
  margin: 0;
  padding: 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  color: #e2e8f0;
  line-height: 1.5;
  overflow-x: auto;
  white-space: pre-wrap;
}

@media (max-width: 768px) {
  .calc-body {
    grid-template-columns: 1fr;
  }
  .input-with-button {
    flex-direction: column;
  }
}

/* Speed Report Dynamic Live Generation Styles */
.speed-gen-card {
  margin: 24px 0 32px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 36px 32px;
  box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08);
  position: relative;
  overflow: hidden;
}
.speed-gen-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #ff5a1f, #f97316, #eab308, #22c55e);
}
.speed-gen-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 28px;
}
.speed-gen-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #c2410c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.speed-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff5a1f;
  box-shadow: 0 0 0 0 rgba(255, 90, 31, 0.7);
  animation: speedPulse 1.6s infinite cubic-bezier(0.66, 0, 0, 1);
}
@keyframes speedPulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 90, 31, 0.7); }
  70% { box-shadow: 0 0 0 8px rgba(255, 90, 31, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 90, 31, 0); }
}
.speed-gen-header h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.speed-gen-sub {
  color: #64748b;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
.speed-gen-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 24px auto 32px;
  max-width: 580px;
}
.speed-gen-radar-wrap {
  position: relative;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.speed-gen-ring {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(255, 90, 31, 0.2);
}
.speed-gen-ring.ring-1 {
  width: 50px;
  height: 50px;
  animation: speedRadarPing 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.speed-gen-ring.ring-2 {
  width: 80px;
  height: 80px;
  animation: speedRadarPing 2s cubic-bezier(0, 0.2, 0.8, 1) infinite 0.6s;
}
.speed-gen-ring.ring-3 {
  width: 100px;
  height: 100px;
  animation: speedRadarPing 2s cubic-bezier(0, 0.2, 0.8, 1) infinite 1.2s;
}
@keyframes speedRadarPing {
  0% { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(1.3); opacity: 0; }
}
.speed-gen-center {
  position: relative;
  z-index: 2;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff5a1f, #ea580c);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 20px -3px rgba(255, 90, 31, 0.4);
}
.speed-gen-status-box {
  width: 100%;
}
.speed-gen-meter-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.speed-gen-step-label {
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
}
.speed-gen-pct {
  font-size: 14px;
  font-weight: 800;
  color: #ff5a1f;
  font-variant-numeric: tabular-nums;
}
.speed-gen-meter-bar {
  height: 10px;
  width: 100%;
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.speed-gen-meter-fill {
  height: 100%;
  background: linear-gradient(90deg, #ff5a1f, #f97316);
  border-radius: 999px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.speed-gen-steps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 0 auto 24px;
  max-width: 640px;
}
@media (max-width: 680px) {
  .speed-gen-steps-grid { grid-template-columns: 1fr; }
}
.speed-step-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  transition: all 0.25s ease;
  opacity: 0.55;
}
.speed-step-item.is-active {
  opacity: 1;
  background: #fff7ed;
  border-color: #fdba74;
  box-shadow: 0 4px 12px rgba(255, 90, 31, 0.08);
}
.speed-step-item.is-done {
  opacity: 1;
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.speed-step-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e2e8f0;
  color: #64748b;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.speed-step-item.is-active .speed-step-icon {
  background: #ffedd5;
  color: #ea580c;
}
.speed-step-item.is-done .speed-step-icon {
  background: #dcfce7;
  color: #16a34a;
}
.speed-step-icon .icon-spin {
  display: none;
  animation: speedSpin 1s linear infinite;
}
.speed-step-icon .icon-done {
  display: none;
}
.speed-step-item.is-active .speed-step-icon .icon-spin {
  display: block;
}
.speed-step-item.is-done .speed-step-icon .icon-done {
  display: block;
}
.speed-step-item:not(.is-active):not(.is-done) .speed-step-icon .icon-spin {
  display: block;
  opacity: 0.3;
  animation: none;
}
@keyframes speedSpin {
  100% { transform: rotate(360deg); }
}
.speed-step-info strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 2px;
}
.speed-step-info small {
  display: block;
  font-size: 12px;
  color: #64748b;
  line-height: 1.35;
}
.speed-gen-footer-note {
  text-align: center;
  font-size: 13px;
  color: #94a3b8;
  border-top: 1px dashed #e2e8f0;
  padding-top: 16px;
  margin-top: 8px;
}

/* ==========================================================================
   Site-wide responsive polish
   ========================================================================== */
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }
table { max-width: 100%; }

@media (max-width: 720px) {
  .page-loader { padding: 20px 14px 96px; }
  .page-loader-card {
    width: min(100%, 360px);
    align-items: center;
  }
  .loader-links { gap: 10px 14px; padding: 16px 16px 22px; }
  .loader-links a,
  .loader-links .nav-off { font-size: 13px; }
  .loader-brand { gap: 10px; }
  .loader-brand .mark { width: 44px; height: 44px; border-radius: 12px; }
  .loader-brand .brand-name { font-size: 22px; }
  .loader-brand .brand-name small { font-size: 12px; }
  .loader-steps {
    width: fit-content;
    max-width: 100%;
    margin: 14px auto 0;
    gap: 8px;
  }
  .loader-steps li { font-size: 14px; }
  .enter-veil { padding: 20px 16px; }
  .enter-veil strong { font-size: clamp(28px, 9vw, 48px); }

  .m-hero { padding: 10px 0 6px; }
  .m-hero h1 { font-size: clamp(26px, 7.5vw, 32px); margin: 12px auto 10px; line-height: 1.12; }
  .m-hero .lede { font-size: 15px; line-height: 1.5; max-width: 36ch; }
  .land-hero { padding: 12px 0 6px; }
  .land-hero-copy h1 { font-size: clamp(28px, 7.2vw, 32px); }
  .hero-pill {
    max-width: min(100%, 34rem);
    white-space: normal;
    text-align: center;
    letter-spacing: .02em;
    padding: 8px 14px;
    font-size: 11px;
  }
  .hero-pill .dot {
    vertical-align: 0.05em;
    margin-right: 7px;
  }
  .audit-card.intake { margin-top: 16px; padding: 18px 16px 16px; border-radius: 16px; }
  .audit-card.intake .audit-label { margin-bottom: 16px; }
  .audit-card.intake .audit-label > span { font-size: 15px; }
  .audit-card.intake .audit-label small { font-size: 13px; }
  .audit-card input { padding: 12px 14px; }
  .audit-card button {
    min-height: 44px;
    padding: 11px 14px;
    font-size: 14px;
    margin-top: 10px;
  }
  .audit-card.intake .q-actions,
  .q-actions,
  .peer-actions { flex-direction: column; }
  .audit-card.intake .q-actions button,
  .q-actions button,
  .peer-actions button { width: 100%; min-height: 44px; }
  .demo-stores-row { align-items: flex-start; margin-top: 12px; }
  .demo-pills { width: 100%; }
  .demo-pill { width: 100%; justify-content: center; text-align: center; padding: 8px 12px; font-size: 13px; }

  .m-block { padding: 28px 0 8px; }
  .section-head h2 { font-size: 22px; }
  .section-head .sub { font-size: 14px; max-width: 34ch; }
  .module-count { font-size: 13px; }
  #how h2 { font-size: 22px; }
  #how .sub { font-size: 14px; }
  #comparison .section-head h2 {
    font-size: clamp(24px, 6.2vw, 28px) !important;
    letter-spacing: -0.03em;
  }
  #preview .bento { gap: 12px; }
  #preview .card { padding: 16px 14px 14px; }
  #preview .score-line {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 10px;
  }
  #preview .score-line .ring { width: 64px; height: 64px; margin: 0 auto; }
  #preview .diag-rows li { min-height: 0; }
  .leak-panel {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .leak-panel .ring,
  .score-side .ring,
  .score-side {
    margin-left: auto;
    margin-right: auto;
  }
  .ov-area-score-ring {
    margin-left: auto;
    margin-right: auto;
  }
  .compare-table-wrapper {
    margin-top: 18px;
    border-radius: 14px;
    overflow: visible;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .compare-table,
  .compare-table thead,
  .compare-table tbody,
  .compare-table tr,
  .compare-table th,
  .compare-table td {
    display: block;
    width: 100% !important;
  }
  .compare-table thead { display: none; }
  .compare-table { font-size: 13px; }
  .compare-table tbody {
    display: grid;
    gap: 12px;
  }
  .compare-table tr {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
  }
  .compare-table td {
    border: 0;
    border-bottom: 1px solid #f1f5f9;
    padding: 10px 0;
  }
  .compare-table td:last-child { border-bottom: 0; padding-bottom: 0; }
  .compare-table td:first-child {
    padding-top: 0;
    padding-bottom: 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid #e2e8f0;
  }
  .compare-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 6px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .compare-table td:first-child::before { display: none; }
  .compare-table td.highlight-col {
    background: #f8fbff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 10px 12px;
    margin: 6px 0;
  }
  .compare-table td.highlight-col::before { color: #1d4ed8; }
  .cap-cell { gap: 8px; font-size: 14px; }
  .cap-cell svg { width: 16px; height: 16px; }

  .legal-page { padding: 20px 16px 24px; border-radius: 14px; margin: 4px auto 16px; }
  .legal-page h1 { font-size: 28px; }
  .legal-nav { gap: 6px; }

  body.page-report main { padding: 14px 12px 36px; }
  .ov-status { padding: 12px 14px; }
  .ov-hero { padding: 16px 14px; border-radius: 14px; gap: 14px; }
  .ov-copy h1 { font-size: 20px; line-height: 1.3; }
  .ov-answers { gap: 8px; margin-top: 12px; }
  .ov-answers div { padding: 12px; }
  .ov-answers strong { font-size: 15px; }
  .ov-area-scores { padding: 16px 12px 14px; border-radius: 16px; }
  .ov-area-scores-head { flex-direction: column; align-items: stretch; gap: 10px; }
  .ov-area-scores-head h2 { font-size: 20px; }
  .ov-area-scores-head p { font-size: 13px; }
  .ov-area-scores-actions { justify-content: stretch; width: 100%; }
  .ov-area-scores-actions .unlock-all-cta,
  .ov-area-scores-actions .free-report-cta { width: 100%; white-space: normal; }
  .ov-metrics { gap: 10px; }
  .ov-metrics article {
    min-height: 0;
    padding: 14px;
  }
  .ov-metrics h3 { font-size: 16px; }
  .ov-metrics b { font-size: 26px; }
  .ov-metrics b.range { font-size: 18px; }
  .ov-drop, .ov-plan, .ov-wins { padding: 14px; }
  .ov-offer { padding-left: 14px; padding-right: 14px; }
  .ov-offer { padding: 20px 16px; border-radius: 16px; }
  .ov-offer h2 { white-space: normal; font-size: 22px; }
  .ov-offer article .ov-offer-btn { width: 100%; text-align: center; }
  /* Match Estimated revenue recovery (.ov-metrics article) outer width + inner padding */
  .ov-chart,
  .ov-split { padding-left: 0; padding-right: 0; }
  .ov-chart-plot,
  .ov-chart aside { padding: 14px; }
  .ov-chart-plot header,
  .ov-drop header,
  .ov-highlights header { flex-direction: column; align-items: flex-start; }
  .ov-chart-plot header span { white-space: normal; }
  .ov-bars { gap: 4px; }
  .ov-bars .track { height: 140px; padding: 6px 3px 4px; border-radius: 10px; }
  .ov-bars b { font-size: 10px; }
  .ov-bars > div > span:last-child { font-size: 9px; line-height: 1.15; }
  .ov-key a { grid-template-columns: 1fr; }
  .ov-key a b { grid-row: auto; grid-column: 1; font-size: 22px; margin-top: 4px; }
  .meta-pill { font-size: 12px; }
  .free-pick-hint { font-size: 13px; padding: 10px 12px; }

  .au-head { padding: 14px; }
  .au-head h1 { font-size: 22px; }
  .au-head > div > p { font-size: 14px; white-space: normal; }
  .au-nav .au-nav-item { min-height: 60px; padding: 10px; }
  .au-toggle-label { font-size: 13px; }
  .au-panes > div { padding: 12px; }
  .scope-card { padding: 14px; }
  .scope-card h2 { font-size: 18px; white-space: normal; }

  .bk-hero { padding: 18px 14px; border-radius: 14px; }
  .bk-hero h1 { font-size: 24px; }
  .bk-hero aside { padding: 12px; }
  .bk-hero aside strong { font-size: 22px; }
  .bk-board { padding: 14px 12px; border-radius: 14px; }
  .bk-board h2 { font-size: 20px; }
  .bk-area-head { padding: 12px; gap: 10px; }
  .bk-area-body { padding: 10px; }
  .bk-task { padding: 12px; gap: 10px; }
  .bk-trail { padding: 10px 12px; font-size: 12px; }
  .bk-tools {
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .bk-tools > span,
  .bk-tools > input,
  .bk-tools > .bk-tools-actions {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 0;
  }
  .bk-tools-actions {
    display: flex;
    width: 100%;
    gap: 10px;
    margin-left: 0;
  }
  .bk-tools-actions button {
    flex: 1 1 0;
    width: 50%;
    margin-left: 0;
    text-align: center;
  }
  #task-search { min-width: 0; width: 100%; }

  .live-wrap { width: 100%; }
  .live-row { flex-wrap: wrap; gap: 6px 10px; }
  .live-area { padding: 8px 12px 4px; }

  .unlock-modal {
    padding: 26px 16px 18px;
    border-radius: 18px;
    max-height: min(94dvh, 820px);
  }
  .unlock-modal h2 { font-size: 24px; }
  .unlock-modal p { font-size: 15px; }
  .email-capture-modal { padding: 24px 16px 18px; border-radius: 16px; }
  .unlock-actions { flex-wrap: wrap; }
  .unlock-actions .ghost,
  .unlock-actions button[type="submit"],
  .unlock-actions .unlock-all-cta,
  .unlock-actions .unlock-all-btn {
    flex: 1 1 100%;
    white-space: normal;
    text-align: center;
  }
  #free-unlock-submit { width: 100%; }

  .au-list { gap: 10px; }
  .au-finding { padding: 12px; }
  .au-finding header { gap: 10px; }
  .au-finding header > b { width: 28px; height: 28px; font-size: 13px; }
  .au-finding h2 { margin: 2px 0 6px; font-size: 16px; line-height: 1.3; }
  .au-status { font-size: 11px; margin-bottom: 2px; letter-spacing: .06em; }
  .au-tags { gap: 6px; }
  .au-tags span { padding: 3px 8px; font-size: 11px; border-radius: 6px; }
  .au-finding > summary { gap: 8px; }
  .au-toggle-label { font-size: 12px; margin-top: 2px; }
  .au-summary { gap: 8px; }
  .live-experts { flex-direction: column; align-items: stretch; padding: 14px; }
  .live-expert-actions { width: 100%; }
  .live-expert-actions a,
  .live-expert-actions button { flex: 1 1 auto; text-align: center; justify-content: center; }
  .live-head h1 { font-size: clamp(18px, 5.5vw, 24px); }

  .bk-kpis { grid-template-columns: 1fr 1fr; }
  .bk-kpis strong { font-size: 24px; }
  .bk-hero aside footer { grid-template-columns: 1fr; }
  .bk-plans article { min-width: 0; }
  .bk-task,
  .bk-task summary { min-width: 0; }
  .speed-gen-card { padding: 24px 16px; border-radius: 16px; margin: 16px 0 24px; }
  .calc-widget { padding: 24px 16px; border-radius: 16px; }
  .calc-header h2 { font-size: 22px; }
  .calc-card strong { font-size: 28px; word-break: break-word; }
  .foot-bottom { flex-direction: column; align-items: flex-start; }
  .site-footer-inner { width: min(1040px, calc(100% - 24px)); }
}

@media (max-width: 480px) {
  .topbar { padding: 8px 12px; gap: 8px; }
  .pills a,
  .pills .pill-off { font-size: 12px; padding: 7px 4px; }
  .store-chip { display: none; }
  .brand-name small { display: none; }
  .unlock {
    padding: 6px 10px;
    font-size: 11px;
    border-radius: 8px;
  }
  main { width: calc(100% - 20px); }
  body.page-home main,
  body.page-questions main { width: calc(100% - 16px); }
  body.page-report main { padding: 12px 10px 32px; }
  .m-hero h1 { font-size: 24px; }
  .m-hero .lede { font-size: 14px; }
  .audit-card.intake { padding: 16px 14px 14px; }
  .audit-card.intake .audit-label { gap: 10px; }
  .audit-card.intake .audit-label .mark { width: 36px; height: 36px; border-radius: 10px; font-size: 16px; }
  .audit-card button { min-height: 42px; font-size: 14px; }
  #how h2 { font-size: 20px; }
  #comparison .section-head h2 {
    font-size: clamp(24px, 6.2vw, 28px) !important;
    letter-spacing: -0.03em;
  }
  .compare-table tr { padding: 12px; }
  .ov-area-scores-grid { grid-template-columns: 1fr; }
  .ov-area-score-cell.is-open,
  .ov-area-score-cell.is-locked { padding-top: 36px; }
  .ov-area-scores .ov-area-score { min-height: 168px; }
  .donut { width: 112px; height: 112px; margin-left: auto; margin-right: auto; }
  .donut strong { font-size: 28px; }
  .ov-pitch .donut { width: 120px; height: 120px; }
  .ov-copy h1 { font-size: 18px; }
  .au-gauge .ring { width: 96px; height: 96px; }
  .au-gauge svg { width: 96px; height: 96px; }
  .au-gauge strong { font-size: 28px; }
  .bk-kpis { grid-template-columns: 1fr; }
  .bk-area-locked { grid-template-columns: 1fr; }
  .bk-area-locked > :last-child { grid-column: 1; }
  .au-pager { bottom: 8px; padding: 8px 10px; }
  .au-head h1 { font-size: 20px; }
  .site-foot strong .brand-name small { display: none; }
  .site-foot nav { width: 100%; }
  .site-foot a { font-size: 14px; }
}
