/* Homepage system: existing brand blue/slate, 16px surfaces, 8px controls.
   Scoped to the homepage so shared legal and contact pages retain their layout. */
.home-page { --home-ink:#15233c; --home-muted:#5d6b80; --home-line:#e1e7f0; --home-blue:#2563eb; --header-h:76px; background:#fff; color:var(--home-ink); }
.home-page .home-container { width:min(1184px,calc(100% - 64px)); margin-inline:auto; }
.home-page h1,.home-page h2,.home-page h3 { letter-spacing:-.04em; }
.home-page h2 { font-weight:700; }
.home-page #main-content > section:not(.home-hero):not(.model-strip) { padding-block:88px; background:#fff; background-image:none; border-top:0; }
.home-page #main-content > section > [class*="max-w-"] { max-width:1248px; padding-inline:32px; }
.home-page #main-content > section:not(.home-hero) h2 { font-size:clamp(28px,3vw,39px); line-height:1.22; }
.home-page #main-content > section:not(.home-hero) .text-center { text-align:left; }
.home-page #main-content > section:not(.home-hero) .text-center.max-w-3xl { margin-left:0; max-width:650px; }
.home-page .text-gradient { background:none; color:#2563eb; -webkit-text-fill-color:currentColor; }
.home-page .card-glow::before,.home-page .edge-card::before { display:none; }
.home-page .card-glow,.home-page .edge-card { box-shadow:none; }
.home-page .card-glow:hover,.home-page .edge-card:hover { transform:none; box-shadow:none; }
.home-page #main-content > #stats-band { padding-block:48px; border-bottom:1px solid var(--home-line); }
.home-page #stats-band h2 { font-size:17px!important; letter-spacing:-.02em; }
.home-page #stats-band dl { margin-top:25px; border:0; }
.home-page #stats-band dl > div { padding:0 22px; border-bottom:0; }
.home-page #stats-band dl > div:first-child { padding-left:0; }
.home-page #stats-band dd { color:#2563eb; font-size:35px; font-weight:600; }
.home-page #stats-band > div > p { font-size:11px; margin-top:26px; max-width:none; }
.home-page .clarity-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:90px; }
.home-page .clarity-intro > p:not(.home-eyebrow) { font-size:14px; color:var(--home-muted); line-height:1.8; margin-top:22px; max-width:320px; }
.home-page .text-link { display:inline-block; margin-top:28px; color:#2563eb; font-size:12px; font-weight:600; }
.home-page .clarity-steps { display:grid; }
.home-page .clarity-steps li { display:flex; gap:23px; padding:26px 0; border-bottom:1px solid var(--home-line); }
.home-page .clarity-steps li:first-child { padding-top:0; }
.home-page .step-number { color:#2563eb; font-family:var(--font-mono); font-size:11px; padding-top:5px; }
.home-page .clarity-steps h3 { font-size:20px; font-weight:600; }
.home-page .clarity-steps p { margin-top:10px; font-size:13px; line-height:1.8; color:var(--home-muted); }
.home-page #main-content > #supported-models { background:#f7f9fc; }
.home-page #supported-models ul.grid { gap:0; border:1px solid var(--home-line); border-radius:16px; overflow:hidden; background:#fff; }
.home-page #supported-models .edge-card { border:0; border-radius:0; border-bottom:1px solid var(--home-line); border-right:1px solid var(--home-line); padding:26px; background:#fff; }
.home-page #supported-models .edge-card:nth-last-child(-n+3) { border-bottom:0; }
.home-page #supported-models .edge-card:nth-child(3n) { border-right:0; }
.home-page #supported-models .edge-card .rounded-full { display:none; }
.home-page #supported-models .edge-card img { border-radius:0; }
.home-page #supported-models .edge-card p.font-mono { font-family:var(--font-body); line-height:1.8; }
.home-page #supported-models .edge-card > p { border:0; padding-top:0; }
.home-page #supported-models .mt-12 { border:0; background:transparent; margin-top:36px; }
.home-page #supported-models .mt-12 > div { padding:0; }
.home-page #why-choose > div > .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.home-page #why-choose .card-glow { padding:30px 0; border:0; border-radius:0; border-top:1px solid var(--home-line); background:none; }
.home-page #why-choose .card-glow > div:first-child { display:grid; grid-template-columns:40px 1fr; column-gap:18px; }
.home-page #why-choose .card-glow > div:first-child > div { grid-row:1 / 3; width:40px; height:40px; background:#eff6ff; color:#2563eb; box-shadow:none; border-radius:10px; margin:0; }
.home-page #why-choose .card-glow h3 { font-size:17px; }
.home-page #why-choose .card-glow p { font-size:13px; }
.home-page #why-choose .card-glow > div:last-child { display:none; }
.home-page #why-choose > div > div:first-child > div { background:none; border:0; padding:0; color:#2563eb; border-radius:0; font-size:10px; letter-spacing:.1em; }
.home-page #main-content > #detection-science { background:#f7f9fc; }
.home-page #detection-science > div > div:first-child { display:block; max-width:760px; margin-bottom:40px; }
.home-page #detection-science h2 { position:static; margin-bottom:24px; }
.home-page #detection-science > div > div:nth-child(2) { display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; border:0; }
.home-page #detection-science article { display:block; padding:25px 0; }
.home-page #detection-science article > div:last-child { margin-top:18px; }
.home-page #detection-science article p { font-size:13px; }
.home-page #detection-science .mt-14 { background:#edf3fc; }
.home-page #main-content > .phrasing-section { background:#f7f9fc; color:var(--home-ink); }
.home-page .phrasing-section .text-white { color:var(--home-ink); }
.home-page .phrasing-section [class*="text-slate-3"],.home-page .phrasing-section [class*="text-slate-4"] { color:var(--home-muted); }
.home-page .phrasing-section [class*="bg-slate-8"],.home-page .phrasing-section [class*="bg-slate-9"] { background:#fff; border:1px solid var(--home-line); box-shadow:none; }
.home-page .phrasing-section > .absolute { display:none; }
.home-page #false-positives ol { gap:0 48px; }
.home-page #glossary { background:#f7f9fc!important; }
.home-page #glossary dl > div { box-shadow:none; border-radius:0; border:0; background:transparent; border-top:1px solid var(--home-line); }
.home-page #faq-section > div { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; }
.home-page #faq-section .space-y-3 > div { box-shadow:none; border:0; border-bottom:1px solid var(--home-line); border-radius:0; margin:0; }
.home-page .faq-toggle { padding:23px 0; font-size:14px; letter-spacing:-.02em; font-weight:600; }
.home-page .faq-content { padding:0 28px 24px 0; border:0; font-size:13px; }
.home-page #main-content > .closing-section { background:#edf3ff; text-align:center; padding-block:68px; border-top:1px solid #e0e9fb; }
.home-page .closing-section > .absolute { display:none; }
.home-page .closing-section h2,.home-page .closing-section p { color:var(--home-ink); }
.home-page .closing-section .text-center { text-align:center!important; }
.home-page .closing-section h2 { margin-inline:auto; }
.home-page .closing-section p { color:var(--home-muted); }
.home-page .closing-section a { background:#2563eb; color:#fff; border-radius:8px; box-shadow:none; }
.home-page .closing-section .text-blue-100 { color:var(--home-muted); }
.home-page .closing-section svg { color:#2563eb; }
.home-page :is(button,a,textarea):focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { .home-page *, .home-page *::before,.home-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

@media (max-width:767px) {
 .home-page .home-container { width:calc(100% - 36px); }
 .home-page #main-content > section:not(.home-hero):not(.model-strip) { padding-block:52px; }
 .home-page #main-content > section > [class*="max-w-"] { padding-inline:18px; }
 .home-page #stats-band dl { gap:25px 0; }
 .home-page #stats-band dl > div { padding:0 12px; border:0; }
 .home-page #stats-band dl > div:nth-child(odd) { padding-left:0; }
 .home-page #stats-band dd { font-size:30px; }
 .home-page .clarity-layout { grid-template-columns:1fr; gap:36px; }
 .home-page #supported-models .edge-card { border-right:0; padding:22px; border-bottom:1px solid var(--home-line)!important; }
 .home-page #supported-models .edge-card:last-child { border-bottom:0!important; }
 .home-page #why-choose > div > .grid { grid-template-columns:1fr; }
 .home-page #detection-science > div > div:nth-child(2) { grid-template-columns:1fr; gap:0; }
 .home-page #faq-section > div { grid-template-columns:1fr; gap:10px; }
 .home-page #faq-section .mb-12 { margin-bottom:15px; }
 .home-page .closing-section .mt-8:last-child { flex-wrap:wrap; gap:12px; }
}

/* Semantic comparison colors remain distinct from the blue brand accent. */
.home-page .phrasing-section .text-slate-200 { color:#334155; }
.home-page .phrasing-section .text-red-200,.home-page .phrasing-section .text-red-400 { color:#a32432; }
.home-page .phrasing-section .text-emerald-200,.home-page .phrasing-section .text-emerald-400 { color:#116747; }
.home-page .phrasing-section .border-slate-700 { border-color:#e1e7f0; }
.home-page .phrasing-section .rounded-2xl > div:first-child { flex-wrap:wrap; gap:12px; }
.home-page .faq-toggle[aria-expanded="true"] .faq-icon { transform:rotate(180deg); }
@media(min-width:640px) and (max-width:767px) { .home-page #supported-models ul.grid { grid-template-columns:1fr; } }

/* Editorial density upgrades for the long-form sections. */
.home-page .science-intro { display:grid!important; max-width:none!important; margin-bottom:42px!important; row-gap:28px!important; }
.home-page .science-intro > h2 { grid-row:span 2; align-self:start; }
.home-page .science-copy { max-width:52ch; }
.home-page .science-snapshot { grid-column:2; display:grid; grid-template-columns:1fr auto; gap:17px 20px; padding:20px 22px; border:1px solid #dce7f7; border-radius:14px; background:linear-gradient(135deg,#fff 0%,#edf4ff 100%); }
.home-page .snapshot-head { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; font-size:9px; letter-spacing:.12em; color:#5d7090; font-weight:700; }
.home-page .snapshot-head strong { color:#2563eb; font-family:var(--font-mono); font-size:10px; letter-spacing:0; font-weight:600; }
.home-page .snapshot-lines { display:flex; align-items:flex-end; gap:5px; height:44px; padding-left:2px; }
.home-page .snapshot-lines i { display:block; width:7px; border-radius:4px 4px 2px 2px; background:#8eb4f5; }
.home-page .snapshot-lines i:nth-child(1) { height:22px; opacity:.55; }
.home-page .snapshot-lines i:nth-child(2) { height:34px; opacity:.72; }
.home-page .snapshot-lines i:nth-child(3) { height:28px; opacity:.9; }
.home-page .snapshot-lines i:nth-child(4) { height:42px; background:#2563eb; }
.home-page .snapshot-copy { display:flex; flex-direction:column; justify-content:center; gap:4px; }
.home-page .snapshot-copy strong { color:#20385d; font-size:12px; font-weight:650; }
.home-page .snapshot-copy span { color:#657895; font-size:10px; line-height:1.6; }
.home-page .snapshot-tags { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; }
.home-page .snapshot-tags span { padding:5px 8px; border:1px solid #dbe6f5; border-radius:999px; color:#52709b; font-size:9px; background:#fff; }
.home-page #detection-science > div > div:nth-child(2) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; }
.home-page #detection-science article { min-height:172px; padding:26px 0 23px; }
.home-page #detection-science article > div:first-child { position:relative; padding-left:18px; }
.home-page #detection-science article > div:first-child::before { content:""; position:absolute; top:3px; bottom:3px; left:0; width:3px; border-radius:4px; background:#c9dcfb; }
.home-page #detection-science article:nth-child(2n) > div:first-child::before { background:#8bb4f5; }
.home-page #detection-science article h3 { font-size:18px; }
.home-page #detection-science article > div:last-child { margin-top:13px; }
.home-page #detection-science article p { font-size:12px; line-height:1.75; }
.home-page #detection-science article p:last-child { font-size:10px; letter-spacing:.01em; }
.home-page .playbook-layout { display:grid; grid-template-columns:minmax(205px,.55fr) minmax(0,1.7fr); gap:56px; align-items:start; }
.home-page .playbook-note { position:sticky; top:104px; padding:23px; border-radius:14px; border:1px solid #dce7f7; background:#edf4ff; }
.home-page .playbook-note .home-eyebrow { margin-bottom:12px; color:#4e6c9a; }
.home-page .playbook-note h3 { font-size:20px; line-height:1.25; color:#20385d; }
.home-page .playbook-note > p { margin-top:10px; color:#607594; font-size:11px; line-height:1.7; }
.home-page .playbook-rule { display:flex; align-items:center; gap:10px; margin-top:18px; padding-top:11px; border-top:1px solid #d6e3f7; color:#41628e; font-size:10px; }
.home-page .playbook-rule span:first-child { color:#2563eb; font-family:var(--font-mono); font-weight:600; }
.home-page #false-positives .playbook-layout ol { margin:0; }
.home-page #false-positives .playbook-layout li { padding-block:21px; }
.home-page #false-positives .playbook-layout li:first-child { padding-top:0; }
.home-page #false-positives .playbook-layout li:last-child { padding-bottom:0; }
.home-page #false-positives .playbook-layout li h3 { font-size:16px; }
.home-page #false-positives .playbook-layout li p { font-size:12px; line-height:1.75; }
.home-page .faq-summary { display:flex; flex-wrap:wrap; gap:7px; margin-top:25px; }
.home-page .faq-summary span { padding:7px 9px; border-radius:6px; border:1px solid #dfe7f2; color:#647792; font-size:10px; background:#f7f9fc; }
.home-page .faq-summary strong { color:#2563eb; font-family:var(--font-mono); font-weight:600; }
@media(max-width:767px) {
  .home-page .science-intro { display:block!important; }
  .home-page .science-intro > h2 { margin-bottom:24px; }
  .home-page .science-snapshot { margin-top:25px; }
  .home-page #detection-science > div > div:nth-child(2) { grid-template-columns:1fr; gap:0; }
  .home-page #detection-science article { min-height:0; }
  .home-page .playbook-layout { grid-template-columns:1fr; gap:28px; }
  .home-page .playbook-note { position:static; }
}

/* --- Hero shell ---------------------------------------------------------- */
.home-page .home-hero {
  position:relative; isolation:isolate; overflow:clip;
  margin-top:-80px; padding:150px 0 44px;
  background:
    radial-gradient(120% 74% at 50% -12%, #c9b8ff59 0%, #c9b8ff00 55%),
    radial-gradient(88% 58% at 82% 4%, #9fc4ff55 0%, #9fc4ff00 60%),
    radial-gradient(74% 52% at 12% 2%, #b9d6ff4d 0%, #b9d6ff00 62%),
    linear-gradient(180deg, #eef3ff 0%, #f6f9ff 42%, #ffffff 100%);
}
.home-page .home-hero > .home-container { position:relative; z-index:2; }

/* Ambient chips, purely decorative - dropped on small screens where they
   would collide with the headline. */
.home-page .hero-ornaments { position:absolute; inset:0; z-index:1; pointer-events:none; }
.home-page .hero-ornaments i {
  position:absolute; display:grid; place-items:center;
  width:48px; height:48px; border-radius:15px;
  background:#ffffffe0; border:1px solid #ffffff;
  box-shadow:0 10px 26px -12px #24408526;
  color:#3b7bf0;
  animation:heroFloat 7s ease-in-out infinite;
}
.home-page .hero-ornaments i svg { width:21px; height:21px; }
.home-page .hero-ornaments i:nth-child(1) { top:174px; left:3.5%; animation-delay:-.4s; }
.home-page .hero-ornaments i:nth-child(2) { top:262px; left:8.5%; width:56px; height:56px; animation-delay:-2.1s; }
.home-page .hero-ornaments i:nth-child(3) { top:370px; left:1.5%; animation-delay:-3.4s; }
.home-page .hero-ornaments i:nth-child(4) { top:168px; right:3.5%; animation-delay:-1.2s; }
.home-page .hero-ornaments i:nth-child(5) { top:256px; right:9%; width:56px; height:56px; animation-delay:-2.8s; }
.home-page .hero-ornaments i:nth-child(6) { top:372px; right:2%; animation-delay:-4.1s; }
@keyframes heroFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }

/* --- Headline ------------------------------------------------------------ */
.home-page .hero-heading { max-width:760px; margin:0 auto 26px; text-align:center; }
.home-page .home-eyebrow {
  display:inline-flex; align-items:center; gap:7px;
  color:#2f5fd0; font-size:10.5px; font-weight:700; letter-spacing:.15em;
  padding:7px 14px; margin-bottom:18px; border-radius:999px;
  background:#ffffffb8; border:1px solid #dbe6ff;
}
.home-page .hero-heading h1 {
  font-size:clamp(38px,4.9vw,62px); line-height:1.07; font-weight:800;
  letter-spacing:-.035em; color:#101f38;
}
.home-page .hero-heading h1 span { color:#2563eb; }
.home-page .hero-heading > p:last-child {
  max-width:600px; margin:18px auto 0;
  color:#53627a; font-size:16px; line-height:1.65;
}

/* --- Mode rail ----------------------------------------------------------- */
.home-page .hero-rail {
  display:flex; justify-content:center; flex-wrap:wrap; gap:4px;
  width:max-content; max-width:100%; margin:0 auto 18px;
  padding:6px; border-radius:999px;
  background:#ffffffe6; border:1px solid #ffffff;
  box-shadow:0 12px 34px -16px #1e347e2e, 0 2px 6px #1e347e0f;
}
.home-page .hero-tab {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border:0; border-radius:999px; background:transparent;
  color:#5a6a84; font-size:13.5px; font-weight:600; white-space:nowrap;
  cursor:pointer; transition:background .16s, color .16s;
}
.home-page .hero-tab svg { width:16px; height:16px; }
.home-page .hero-tab:hover { background:#f1f5ff; color:#2563eb; }
.home-page .hero-tab.is-active { background:#e8f0ff; color:#2563eb; }
.home-page .hero-tab-chevron { width:14px; height:14px; opacity:.6; transition:transform .2s; }
.home-page .hero-tab[aria-expanded="true"] .hero-tab-chevron { transform:rotate(180deg); }
.home-page #sample-dropdown-wrapper { display:inline-flex; }

/* --- Workspace card ------------------------------------------------------ */
.home-page .detector-layout { display:block; }
.home-page .detector-workspace {
  position:relative; max-width:980px; margin-inline:auto;
  border:1px solid #e3eaf7; border-radius:26px; background:#fff;
  box-shadow:0 26px 60px -30px #1c336e30, 0 2px 8px #1c336e0a;
}
.home-page .editor-toolbar {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 18px; border-bottom:1px solid #eef2f9;
}
.home-page .editor-toolbar-left,
.home-page .editor-toolbar-right { display:flex; align-items:center; gap:10px; min-width:0; }
.home-page .toolbar-pill {
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px; border-radius:999px;
  border:1px solid #e4eaf4; background:#fff;
  color:#4c5b74; font-size:12.5px; font-weight:600; white-space:nowrap;
  cursor:pointer; transition:background .15s, color .15s, border-color .15s;
}
.home-page .toolbar-pill svg { width:15px; height:15px; color:#8a97ac; }
.home-page .toolbar-pill:hover { background:#f4f8ff; border-color:#c7dbfb; color:#2563eb; }
.home-page .toolbar-pill:hover svg { color:#2563eb; }
.home-page .toolbar-pill-quiet { border-color:transparent; background:transparent; color:#7b8799; }
.home-page .toolbar-pill-quiet:hover { background:#fff1f2; border-color:transparent; color:#e11d48; }
.home-page .toolbar-pill-quiet:hover svg { color:#e11d48; }
.home-page .toolbar-count { font-family:var(--font-mono); font-size:11.5px; color:#8a97ac; white-space:nowrap; }

.home-page .editor-body { position:relative; display:flex; flex-direction:column; padding:24px 26px 20px; min-height:360px; }
.home-page #detector-input { min-height:230px; height:230px; font-size:15px; line-height:1.75; }
.home-page #detector-input::placeholder { color:#9aa5b6; }
.home-page #quick-sample-chips { padding:14px 0 4px; font-size:11.5px; }
.home-page .sample-chip { background:#f6f8fd; border-color:#e6ecf7; border-radius:999px; padding:6px 11px; font-weight:600; }
.home-page #file-dropzone { min-height:260px; border-radius:18px; }
/* --- Card action bar ----------------------------------------------------- */
.home-page .editor-actions {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:auto; padding-top:18px; border-top:1px solid #eef2f9;
}
.home-page .editor-meta { display:flex; align-items:center; gap:14px; min-width:0; }
.home-page .char-count { font-family:var(--font-mono); font-size:12px; color:#8a97ac; white-space:nowrap; }
.home-page .char-count.text-red-600 { color:#dc2626; }
.home-page .editor-privacy { display:inline-flex; align-items:center; gap:7px; color:#8a97ac; font-size:12px; }
.home-page .editor-privacy svg { width:15px; height:15px; color:#22a06b; flex-shrink:0; }
.home-page .scan-cta {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 30px; border:0; border-radius:999px;
  background:#2563eb; color:#fff; font-size:14.5px; font-weight:700;
  box-shadow:0 14px 28px -12px #2563ebb3; cursor:pointer;
  transition:background .15s, transform .15s, box-shadow .15s; white-space:nowrap;
}
.home-page .scan-cta svg { width:17px; height:17px; }
.home-page .scan-cta:hover { background:#1d4fd8; transform:translateY(-1px); box-shadow:0 18px 34px -14px #2563ebcc; }
.home-page .scan-cta:active { transform:translateY(0); }
.home-page .scan-cta:disabled { background:#aebfdd; box-shadow:none; transform:none; cursor:not-allowed; opacity:1; }
.home-page #scan-result-state { border-radius:0 0 26px 26px; }

.home-page .hero-caption {
  display:flex; justify-content:center; gap:26px; flex-wrap:wrap;
  padding-top:26px; font-size:11.5px; color:#7e8b9f;
}
.home-page .hero-caption > span:last-child { display:flex; gap:13px; }

@media (max-width:1180px) {
  .home-page .hero-ornaments { display:none; }
}
@media (max-width:767px) {
  .home-page .home-hero { margin-top:-72px; padding:114px 0 34px; }
  .home-page .hero-heading { margin-bottom:20px; }
  .home-page .hero-heading h1 { font-size:34px; }
  .home-page .hero-heading > p:last-child { font-size:14px; margin-top:14px; }
  .home-page .hero-rail { width:100%; justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; border-radius:18px; scrollbar-width:none; }
  .home-page .hero-tab { padding:10px 15px; font-size:12.5px; }
  .home-page .detector-workspace { border-radius:20px; }
  .home-page .editor-toolbar { padding:11px 13px; gap:6px; }
  .home-page .toolbar-pill { padding:7px 11px; font-size:12px; }
  .home-page .toolbar-pill span { display:none; }
  .home-page .toolbar-pill-quiet span { display:inline; }
  .home-page .editor-body { padding:17px 16px 16px; min-height:0; }
  .home-page #detector-input { min-height:190px; height:190px; font-size:14.5px; }
  .home-page .editor-actions { flex-wrap:wrap; gap:12px; }
  .home-page .editor-meta { order:2; width:100%; justify-content:space-between; gap:8px; }
  .home-page .editor-privacy span { display:none; }
  .home-page .scan-cta { order:1; width:100%; padding:14px 20px; }
  .home-page #scan-result-state { border-radius:0 0 20px 20px; }
  .home-page .hero-caption { gap:10px; font-size:10.5px; }
  .home-page .hero-caption > span:first-child { display:none; }
}

/* Open-state for the sample popover trigger (JS only flips aria-expanded). */
.home-page .hero-tab[aria-expanded="true"] { background:#e8f0ff; color:#2563eb; }
/* Anchor jumps must clear the floating nav. */
.home-page #ai-detector-tool { scroll-margin-top:96px; }
.home-page #detector-input { scroll-margin-top:150px; }
/* Pull far enough that the wash always starts behind the floating pill. */
.home-page .home-hero { margin-top:-86px; padding-top:154px; }
@media (max-width:767px) {
  .home-page .home-hero { margin-top:-78px; padding-top:118px; }
}

/* ==========================================================================
   SECTION SYSTEM — carries the hero language down the page
   Hero vocabulary: soft blue/violet washes instead of flat grey slabs,
   22px cards on tinted shadows instead of hairline rules, pill-shaped chips
   and buttons, centered section intros. Everything below re-states the older
   editorial overrides further up this file, so keep this block last.
   ========================================================================== */
.home-page {
  --surface:#fff;
  --surface-line:#e7edf9;
  --surface-radius:22px;
  --surface-shadow:0 20px 46px -30px #1c336e3d, 0 2px 6px #1c336e0a;
  --surface-shadow-lift:0 26px 54px -28px #1c336e4d, 0 3px 8px #1c336e12;
  --wash:linear-gradient(180deg,#f8fbff 0%,#f2f6fe 55%,#f6f9ff 100%);
}

/* --- Rhythm & backgrounds ------------------------------------------------ */
.home-page #main-content > section:not(.home-hero):not(.model-strip) { padding-block:96px; border-top:0; }
.home-page #main-content > #glossary { background:
    radial-gradient(80% 46% at 78% 0%, #c6d8ff3d 0%, #c6d8ff00 62%),
    radial-gradient(64% 40% at 10% 4%, #cec4ff33 0%, #cec4ff00 64%),
    var(--wash)!important; }
.home-page #main-content > section:not(.home-hero) h2 { font-weight:800; letter-spacing:-.035em; color:#101f38; }
.home-page #main-content > section:not(.home-hero) .reveal.max-w-2xl > p,
.home-page #main-content > #why-choose .text-center.max-w-3xl > p { color:#53627a; font-size:15.5px; line-height:1.7; }

/* Eyebrow pills read like the hero badge, not a filled chip. */
.home-page #why-choose > div > div:first-child > div {
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 14px; border-radius:999px; margin-bottom:16px;
  background:#ffffffcc; border:1px solid #dbe6ff; color:#2f5fd0;
  font-size:10.5px; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
}

/* --- Stats band ---------------------------------------------------------- */
.home-page #main-content > #stats-band { padding-block:64px 72px; border-bottom:0; background:#fff; }
.home-page #stats-band h2 { font-size:26px!important; text-align:center; max-width:640px; margin-inline:auto; }
.home-page #stats-band dl {
  margin-top:32px; padding:8px; border-radius:var(--surface-radius);
  background:var(--surface); border:1px solid var(--surface-line); box-shadow:var(--surface-shadow);
}
.home-page #stats-band dl > div { padding:22px 20px; border:0; text-align:center; }
.home-page #stats-band dl > div:first-child { padding-left:20px; }
.home-page #stats-band dl > div + div { box-shadow:inset 1px 0 0 #eef2fa; }
.home-page #stats-band dd { font-size:34px; font-weight:800; letter-spacing:-.04em; }
.home-page #stats-band > div > p { text-align:center; margin-inline:auto; margin-top:22px; font-size:12px; }

/* --- Clarity steps ------------------------------------------------------- */
.home-page .clarity-steps li > div { flex:1; }
.home-page .clarity-steps li {
  align-items:flex-start; gap:18px; margin-bottom:12px; padding:22px 24px;
  border:1px solid var(--surface-line); border-bottom:1px solid var(--surface-line); border-radius:18px;
  background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page .clarity-steps li:first-child { padding-top:22px; }
.home-page .step-number {
  display:grid; place-items:center; width:34px; height:34px; padding:0;
  border-radius:999px; background:#eaf1ff; color:#2563eb;
  font-size:11px; font-weight:700; flex-shrink:0;
}
.home-page .text-link {
  display:inline-flex; align-items:center; gap:7px; padding:11px 20px; border-radius:999px;
  background:#2563eb; color:#fff; font-size:13px; font-weight:700;
  box-shadow:0 14px 28px -14px #2563ebb3; transition:background .15s, transform .15s;
}
.home-page .text-link:hover { background:#1d4fd8; transform:translateY(-1px); }

/* --- Model cards --------------------------------------------------------- */
.home-page #supported-models ul.grid { gap:18px; border:0; border-radius:0; overflow:visible; background:transparent; }
.home-page #supported-models .edge-card {
  border:1px solid var(--surface-line)!important; border-radius:20px; padding:24px;
  background:var(--surface); box-shadow:var(--surface-shadow);
  transition:transform .18s, box-shadow .18s;
}
.home-page #supported-models .edge-card:hover { transform:translateY(-3px); box-shadow:var(--surface-shadow-lift); }
.home-page #supported-models .edge-card .rounded-full { display:inline-flex; border-radius:999px; }
.home-page #supported-models .edge-card > div > div:first-child > div:first-child > div { border-radius:14px; }
.home-page #supported-models .mt-12 {
  margin-top:22px; border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page #supported-models .mt-12 > div { padding:28px; }
.home-page #supported-models .mt-12 ul li { border-radius:999px; padding:7px 13px; }

/* --- Why choose ---------------------------------------------------------- */
.home-page #why-choose > div > .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-page #why-choose .card-glow {
  padding:26px; border:1px solid var(--surface-line); border-top:1px solid var(--surface-line);
  border-radius:20px; background:var(--surface); box-shadow:var(--surface-shadow);
  transition:transform .18s, box-shadow .18s;
}
.home-page #why-choose .card-glow:hover { transform:translateY(-3px); box-shadow:var(--surface-shadow-lift); }
.home-page #why-choose .card-glow > div:first-child { display:block; }
.home-page #why-choose .card-glow > div:first-child > div {
  width:44px; height:44px; margin-bottom:18px; border-radius:14px;
  background:#eaf1ff; color:#2563eb; box-shadow:none;
}
.home-page #why-choose .card-glow h3 { font-size:17px; margin-bottom:10px; }
.home-page #why-choose .card-glow > div:last-child {
  display:flex; margin-top:18px; padding-top:14px; border-top:1px solid #eef2fa;
  font-size:11.5px; color:#2563eb;
}

/* --- Detection science --------------------------------------------------- */
.home-page .science-snapshot {
  border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:linear-gradient(135deg,#fff 0%,#f1f6ff 100%); box-shadow:var(--surface-shadow);
}
.home-page .snapshot-tags span { border-radius:999px; }
.home-page #detection-science > div > div:nth-child(2) { border-top:0; gap:18px 18px; }
.home-page #detection-science article {
  padding:24px; border:1px solid var(--surface-line); border-bottom:1px solid var(--surface-line);
  border-radius:20px; background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page #detection-science article > div:first-child { padding-left:16px; }
.home-page #detection-science .mt-14 {
  border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:linear-gradient(135deg,#fff 0%,#eff5ff 100%); box-shadow:var(--surface-shadow);
}

/* --- Phrasing (was the dark slab) ---------------------------------------- */
.home-page .phrasing-section [class*="bg-slate-8"],
.home-page .phrasing-section [class*="bg-slate-9"] {
  background:var(--surface); border:1px solid var(--surface-line);
  border-radius:20px; box-shadow:var(--surface-shadow);
}
.home-page .phrasing-section .text-center.max-w-3xl > div {
  display:inline-flex; align-items:center; padding:7px 14px; border-radius:999px;
  background:#ffffffcc; border:1px solid #dbe6ff; color:#2f5fd0;
  font-size:10.5px; font-weight:700; letter-spacing:.15em;
}
.home-page .playbook-note {
  border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:linear-gradient(135deg,#fff 0%,#eff5ff 100%); box-shadow:var(--surface-shadow); padding:26px;
}

/* --- Glossary ------------------------------------------------------------ */
.home-page #glossary dl {
  padding:8px 24px; border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page #glossary dl > div { border-top:1px solid #eef2fa; }
.home-page #glossary dl > div:first-child { border-top:0; }

/* --- FAQ ----------------------------------------------------------------- */
.home-page #main-content > #faq-section > div { display:block; max-width:860px; margin-inline:auto; }
.home-page #faq-section .space-y-3 > div {
  margin-bottom:10px; border:1px solid var(--surface-line); border-bottom:1px solid var(--surface-line);
  border-radius:16px; background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page .faq-toggle { padding:20px 22px; }
.home-page .faq-content { padding:0 22px 20px; }
.home-page .faq-summary { justify-content:center; margin-top:20px; }
.home-page .faq-summary span { border-radius:999px; padding:7px 13px; background:#fff; border-color:var(--surface-line); }

/* --- Closing CTA: an inset panel, not a full-bleed slab ------------------ */
.home-page #main-content > .closing-section { padding-block:24px 96px; background:#fff; border-top:0; }
.home-page .closing-section > div {
  padding:72px 40px; border-radius:30px;
  border:1px solid #dfe9fc;
  background:
    radial-gradient(90% 70% at 50% 0%, #cdbcff4d 0%, #cdbcff00 60%),
    linear-gradient(180deg,#eef4ff 0%,#f6f9ff 100%);
  box-shadow:var(--surface-shadow);
}
.home-page .closing-section h2 { font-size:clamp(30px,3.4vw,44px); }
.home-page .closing-section a {
  border-radius:999px; padding:15px 32px; font-weight:700;
  box-shadow:0 16px 32px -14px #2563ebb3; transition:background .15s, transform .15s;
}
.home-page .closing-section a:hover { background:#1d4fd8; transform:translateY(-1px); }

@media (max-width:1100px) {
  .home-page #why-choose > div > .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .home-page #main-content > section:not(.home-hero):not(.model-strip) { padding-block:58px; }
  .home-page #main-content > #stats-band { padding-block:44px; }
  .home-page #stats-band dl > div + div { box-shadow:none; }
  .home-page #stats-band dl > div { padding:16px 10px; }
  .home-page #why-choose > div > .grid { grid-template-columns:1fr; }
  .home-page #detection-science article { padding:20px; }
  .home-page #glossary dl { padding:4px 18px; }
  .home-page .closing-section > div { padding:44px 22px; border-radius:22px; }
  .home-page #main-content > .closing-section { padding-block:8px 58px; }
  .home-page .clarity-steps li { padding:18px 20px; }
}

/* ==========================================================================
   FIXES: detection-science intro and the limitations two-up
   The science intro was a 1fr/1.15fr grid with the heading spanning both rows,
   which left a tall empty gutter under the heading and stranded the snapshot
   card in the right column. The limitations columns were bare lists floating
   on white while every neighbouring section had moved to cards.
   ========================================================================== */

/* --- Detection science: centered intro, snapshot as a full-width band ---- */
.home-page .science-intro { display:block!important; margin-bottom:40px!important; }
.home-page .science-intro > h2 {
  max-width:760px; margin:0 auto 18px; text-align:center;
  font-size:clamp(28px,3vw,40px); line-height:1.14;
}
.home-page .science-copy { max-width:680px; margin-inline:auto; }
/* Lead sentence echoes the centered hero subtitle; the supporting paragraphs
   stay left-aligned because centered body copy of this length is hard to read. */
.home-page .science-copy > p:first-child { text-align:center; font-size:17px; line-height:1.6; color:#22344f; }
.home-page .science-copy > p + p { text-align:left; font-size:14.5px; line-height:1.75; color:#53627a; }

.home-page .science-snapshot {
  grid-column:auto; max-width:860px; margin:34px auto 0;
  grid-template-columns:auto 1fr; align-items:center; gap:16px 24px; padding:24px 26px;
}
.home-page .snapshot-head { font-size:9.5px; }
.home-page .snapshot-lines { height:48px; }
.home-page .snapshot-copy strong { font-size:13.5px; }
.home-page .snapshot-copy span { font-size:11.5px; }
.home-page .snapshot-tags { justify-content:center; padding-top:14px; border-top:1px solid #e3ebf9; }
.home-page .snapshot-tags span { font-size:10px; padding:6px 12px; }

/* Signal cards: the copy was set at 12px/10px, too small to scan. */
.home-page #detection-science > div > div:nth-child(2) { gap:18px; }
.home-page #detection-science article { min-height:0; padding:26px; }
.home-page #detection-science article > div:first-child { padding-left:0; }
.home-page #detection-science article > div:first-child::before { display:none; }
.home-page #detection-science article h3 { font-size:19px; }
.home-page #detection-science article > div:first-child > p {
  margin-top:6px; font-size:12px; font-weight:600; letter-spacing:.02em; color:#7b8aa3;
}
.home-page #detection-science article > div:last-child { margin-top:14px; }
.home-page #detection-science article p { font-size:13.5px; line-height:1.75; color:#53627a; }
.home-page #detection-science article > div:last-child > p:last-child {
  display:inline-block; margin-top:14px; padding:7px 13px; border-radius:999px;
  background:#eef4ff; color:#2563eb; font-size:11.5px; font-weight:700; letter-spacing:0;
}

/* "What happens when you press scan": number the steps like the hero rail. */
.home-page #detection-science .mt-14 { margin-top:22px; padding:30px; }
.home-page #detection-science .mt-14 h3 { font-size:17px; }
.home-page #detection-science .mt-14 ol { counter-reset:step; gap:14px; }
.home-page #detection-science .mt-14 ol > li {
  padding:20px; border:1px solid var(--surface-line); border-top:1px solid var(--surface-line);
  border-radius:16px; background:#fff;
}
.home-page #detection-science .mt-14 ol > li::before {
  counter-increment:step; content:"0" counter(step);
  display:inline-block; margin-bottom:12px; padding:4px 10px; border-radius:999px;
  background:#eef4ff; color:#2563eb;
  font-family:var(--font-mono); font-size:10.5px; font-weight:700;
}
.home-page #detection-science .mt-14 ol > li h4 { font-size:15px; }

/* --- Limitations: two cards, not two bare columns ------------------------ */
.home-page #limitations > div > .grid { gap:18px; }
.home-page #limitations > div > .grid > .reveal {
  padding:28px 30px; border:1px solid var(--surface-line); border-radius:var(--surface-radius);
  background:var(--surface); box-shadow:var(--surface-shadow);
}
.home-page #limitations > div > .grid > .reveal:first-child { background:linear-gradient(170deg,#f4fdf8 0%,#fff 42%); }
.home-page #limitations > div > .grid > .reveal:last-child { background:linear-gradient(170deg,#fffaf1 0%,#fff 42%); }

.home-page #limitations .grid > .reveal > h3 {
  display:flex; align-items:center; gap:11px;
  border:0; padding:0 0 18px; margin-bottom:4px;
  font-size:17px; letter-spacing:-.02em;
}
.home-page #limitations .grid > .reveal > h3::before {
  content:""; display:grid; place-items:center; flex-shrink:0;
  width:34px; height:34px; border-radius:12px;
  background:#e7f8ef; color:#0f9d63;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f9d63' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:17px 17px;
}
.home-page #limitations .grid > .reveal:last-child > h3::before {
  background-color:#fdf2e3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c07c12' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3Cpath d='M10.3 3.9L2.4 17a2 2 0 001.7 3h15.8a2 2 0 001.7-3L13.7 3.9a2 2 0 00-3.4 0z'/%3E%3C/svg%3E");
}

.home-page #limitations dl { margin-top:0; }
.home-page #limitations dl > div { padding:16px 0; border-top:1px solid #eef2fa; }
/* the markup carries space-y-6; the divider padding replaces it */
.home-page #limitations dl > div + div { margin-top:0; }
.home-page #limitations dl > div:first-child { border-top:0; padding-top:4px; }
.home-page #limitations dl > div:last-child { padding-bottom:0; }
.home-page #limitations dt { font-size:14.5px; letter-spacing:-.01em; color:#1a2c47; }
.home-page #limitations dd { margin-top:6px; font-size:13.5px; line-height:1.7; color:#5c6b83; }

@media (max-width:767px) {
  .home-page .science-snapshot { grid-template-columns:1fr; margin-top:24px; padding:20px; }
  .home-page .science-copy { text-align:left; }
  .home-page .science-intro > h2 { text-align:left; }
  .home-page #limitations > div > .grid > .reveal { padding:22px; }
}

/* ==========================================================================
   WHO BENEFITS — rebuilt as a three-step journey
   Was a left heading beside an uneven 2x2 card grid (first card spanning the
   full row). Now a centered intro over three equal cards joined by a dashed
   rail, closing on a single outcomes strip.
   ========================================================================== */

/* Re-stated: the shared eyebrow pill rule lives with this section's styles. */
.home-page :is(.clarity-intro,.audience-heading,.playbook-note) .home-eyebrow {
  display:inline-flex; align-items:center; padding:7px 14px; border-radius:999px;
  background:#ffffffcc; border:1px solid #dbe6ff; color:#2f5fd0;
}

.home-page .audience-section > div { display:block; }
.home-page .audience-heading { max-width:640px; margin:0 auto 44px; text-align:center; }
.home-page .audience-heading h2 { margin-top:16px; font-size:clamp(28px,3vw,40px); line-height:1.14; }
.home-page .audience-heading > p:last-child {
  max-width:520px; margin:16px auto 0; color:#53627a; font-size:15.5px; line-height:1.7;
}

.home-page .audience-grid {
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
}
/* Dashed rail threading the three icon tiles together. */
.home-page .audience-grid::before {
  content:""; position:absolute; z-index:0; top:76px; left:14%; right:14%;
  border-top:2px dashed #d3e0f7;
}

.home-page .audience-grid article {
  position:relative; z-index:1; overflow:hidden;
  display:flex; flex-direction:column; min-height:0; margin:0;
  padding:28px 26px 26px;
  border:1px solid var(--surface-line); border-radius:20px;
  background:var(--surface); box-shadow:var(--surface-shadow);
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.home-page .audience-grid article:hover {
  transform:translateY(-4px); border-color:#cfe0fb; box-shadow:var(--surface-shadow-lift);
}

/* Oversized ghost index, clipped by the card. */
.home-page .audience-step {
  position:absolute; top:-6px; right:14px;
  font-family:var(--font-display); font-size:62px; font-weight:800; line-height:1;
  color:#f0f5fd; letter-spacing:-.05em; pointer-events:none;
}
.home-page .audience-icon {
  display:grid; place-items:center; width:52px; height:52px; margin-bottom:18px;
  border-radius:16px; background:#eaf1ff; color:#2563eb;
  transition:background .18s, color .18s, transform .18s;
}
.home-page .audience-icon svg { width:23px; height:23px; }
.home-page .audience-grid article:hover .audience-icon {
  background:#2563eb; color:#fff; transform:scale(1.04);
}

.home-page .audience-label {
  display:inline-flex; align-self:flex-start; padding:5px 11px; border-radius:999px;
  background:#f2f6fd; color:#5c73a0;
  font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
}
.home-page .audience-grid h3 { margin-top:12px; font-size:19px; font-weight:700; letter-spacing:-.025em; }
.home-page .audience-grid p { margin-top:9px; font-size:13.5px; line-height:1.7; color:#5c6b83; }

.home-page .audience-points { margin-top:16px; padding-top:14px; border-top:1px solid #eef2fa; display:grid; gap:8px; }
.home-page .audience-points li {
  display:flex; align-items:flex-start; gap:8px;
  font-size:12.5px; font-weight:600; color:#3d506e;
}
.home-page .audience-points li::before {
  content:""; flex-shrink:0; width:15px; height:15px; margin-top:1px; border-radius:999px;
  background:#e6f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}

/* Outcomes strip closes the section on one line. */
.home-page .audience-proof {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px 14px;
  max-width:none; margin:26px auto 0; padding:20px 26px;
  border:1px solid var(--surface-line); border-radius:999px;
  background:linear-gradient(120deg,#f5f9ff 0%,#eef4ff 100%); box-shadow:var(--surface-shadow);
}
.home-page .audience-proof strong { color:#1c3559; font-size:13.5px; font-weight:700; }
.home-page .audience-proof span {
  display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:999px;
  background:#fff; border:1px solid #e2eafa; color:#4a5d7c; font-size:12px; font-weight:600;
}
.home-page .audience-proof span::before {
  content:""; width:14px; height:14px; border-radius:999px;
  background:#e6f0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/9px 9px no-repeat;
}

@media (max-width:900px) {
  .home-page .audience-grid { grid-template-columns:1fr; }
  .home-page .audience-grid::before { display:none; }
}
@media (max-width:767px) {
  .home-page .audience-heading { margin-bottom:28px; }
  .home-page .audience-grid article { padding:22px; }
  .home-page .audience-proof { border-radius:20px; padding:18px; }
}

/* ==========================================================================
   FIX: hero textarea sizing
   The field was pinned to height:230px inside a flex-1 container, so the card
   stretched past it and left dead space above the sample chips — and more of
   it once typing hid the chips. The field now grows to fill the card instead.
   ========================================================================== */
.home-page #input-container { justify-content:flex-start; min-height:0; }
.home-page #detector-input {
  flex:1 1 auto; height:auto; min-height:200px;
  padding:2px 0; font-size:15px; line-height:1.75;
}
.home-page #quick-sample-chips { flex-shrink:0; padding:16px 0 2px; }
.home-page .editor-body { min-height:340px; }
@media (max-width:767px) {
  .home-page #detector-input { min-height:170px; height:auto; }
  .home-page .editor-body { min-height:290px; }
}

/* The field was a borderless transparent box with no edge of its own, so it
   did not read as something you click into. Same inner panel the reference
   layout uses, with the focus ring on the panel rather than the raw textarea. */
.home-page #input-container {
  padding:18px 18px 14px; border-radius:16px;
  border:1px solid #e8eef8; background:#fbfcff;
  transition:border-color .16s, background .16s, box-shadow .16s;
}
.home-page #input-container:focus-within {
  border-color:#bcd4fb; background:#fff; box-shadow:0 0 0 4px #2563eb14;
}
.home-page #detector-input:focus-visible { outline:0; }
.home-page .editor-body { padding:18px; }
.home-page #file-dropzone { border-radius:16px; }
@media (max-width:767px) {
  .home-page #input-container { padding:14px 14px 12px; }
  .home-page .editor-body { padding:13px; }
}

/* ==========================================================================
   RESTORED: two rules that named #comparison in their selector list and were
   removed wholesale when that section was deleted. Re-stated without it.
   ========================================================================== */
.home-page #main-content > :is(#supported-models,#detection-science,.phrasing-section) {
  position:relative;
  background:
    radial-gradient(80% 46% at 78% 0%, #c6d8ff3d 0%, #c6d8ff00 62%),
    radial-gradient(64% 40% at 10% 4%, #cec4ff33 0%, #cec4ff00 64%),
    var(--wash);
}
.home-page :is(#supported-models,#limitations,#glossary,#faq-section) .reveal.max-w-2xl {
  max-width:700px; margin-inline:auto; text-align:center;
}
.home-page :is(#supported-models,#limitations,#glossary,#faq-section) .reveal.max-w-2xl > p { margin-inline:auto; }

/* ==========================================================================
   PHONE FIXES (hero)
   ========================================================================== */
@media (max-width:767px) {
  /* The rail was overflow-x:auto, which made it a scroll container and clipped
     the sample popover that opens inside it. Wrapping the tabs instead keeps
     the menu visible and removes the sideways scroll entirely. */
  .home-page .hero-rail {
    position:relative;
    width:100%; justify-content:center; flex-wrap:wrap; overflow:visible;
    border-radius:20px; gap:5px;
  }
  .home-page .hero-tab { flex:1 1 auto; justify-content:center; padding:11px 14px; font-size:12.5px; }

  /* Anchored to the rail rather than to the narrow trigger, so a 288px menu
     cannot hang off the side of a 360px screen. */
  .home-page #sample-dropdown-wrapper { position:static; flex:1 1 auto; }
  .home-page #sample-menu { left:0; right:0; width:auto; max-width:none; transform:none; margin-top:10px; }

  /* Count first, action second: the button was rendering above the counter. */
  .home-page .editor-meta { order:1; }
  .home-page .scan-cta { order:2; }

  /* No focus ring on touch: the on-screen keyboard already signals focus, and
     the panel shifting colour under a thumb reads as a glitch. */
  .home-page #input-container,
  .home-page #input-container:focus-within {
    border-color:#e8eef8; background:#fbfcff; box-shadow:none; transition:none;
  }
}

/* Pointer-less devices never hover, so the lift transitions only fire as a
   sticky stuck-on state after a tap. */
@media (hover:none) {
  .home-page .audience-grid article:hover,
  .home-page #supported-models .edge-card:hover,
  .home-page #why-choose .card-glow:hover,
  .home-page .scan-cta:hover,
  .home-page .text-link:hover { transform:none; }
}

@media (max-width:767px) {
  /* Hiding the privacy sentence left its shield icon stranded on the far side
     of the row. Keep the promise, shorten it, and stop stretching the row. */
  .home-page .editor-meta { width:100%; justify-content:flex-start; gap:10px; }
  .home-page .editor-privacy { display:inline-flex; font-size:11.5px; }
  .home-page .editor-privacy span { display:none; }
  .home-page .editor-privacy::after { content:"Never stored"; }
}
