/* Aimosti redesign — marketing components (public pages).
   Loaded after tokens/core/chrome by redesign/marketing.html. */

/* ── section rhythm + headings ───────────────────────── */
.section{padding-block:var(--space)}
.section--tint{background:var(--tint);border-block:var(--rule)}
.h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:700;letter-spacing:-.03em;max-width:20ch}
.h2--wide{max-width:26ch}
.lead{max-width:var(--measure);margin-top:1rem;color:var(--ink-soft);font-size:1.1rem}
.section-lede{max-width:var(--measure);color:var(--ink-soft);font-size:1.1rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:820px){.split{grid-template-columns:1fr}}

/* ── hero ────────────────────────────────────────────── */
.hero{padding:clamp(3rem,7vw,6rem) 0 var(--space);border-bottom:var(--rule);position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr}}
.hero__eyebrow{margin-bottom:1.6rem}
.hero__eyebrow b{color:var(--primary)}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.4rem);font-weight:700;letter-spacing:-0.035em}
.hero h1 em{font-style:normal;color:var(--primary)}
.lede{max-width:50ch;margin-top:1.5rem;font-size:clamp(1.05rem,1.1vw,1.22rem);color:var(--ink-soft);line-height:1.5}
.cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.proof{margin-top:2.2rem;display:grid;gap:.5rem;font-size:.95rem;color:var(--ink-soft);max-width:52ch}
.proof b{color:var(--ink)}
.dot-sep{color:var(--ink-faint)}

/* ── the finding instrument / carousel ───────────────── */
.spec{border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--bg);
  box-shadow:0 1px 0 var(--paper-line),0 24px 50px -30px oklch(0.46 0.13 252 / .4)}
.spec__bar{display:flex;align-items:center;gap:.5ch;padding:.6rem .85rem;border-bottom:1.5px solid var(--ink);background:var(--tint)}
.spec__bar i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink-faint)}
.spec__bar i:first-child{border-color:var(--signal);background:var(--signal)}
.spec__file{margin-left:auto;font:500 .72rem var(--font-mono);letter-spacing:.04em;color:var(--ink-faint)}
.spec__stage{display:grid}
.spec__slide{grid-area:1/1;padding:1.3rem;display:flex;flex-direction:column;opacity:0;transform:translateY(10px);
  transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.spec__slide.is-active{opacity:1;transform:none;pointer-events:auto}
.spec__slide:only-child{opacity:1;transform:none;pointer-events:auto} /* no-JS fallback: first slide visible */
.spec__cat{font:600 .68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:.75rem}
.spec__axes{display:flex;gap:1.4rem;font:600 .72rem var(--font-mono);letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase}
.spec__axes b{color:var(--ink)}
.stars{color:var(--primary);letter-spacing:.1em}
.spec h3{margin:.7rem 0 .5rem;font-size:1.45rem;letter-spacing:-.02em}
.chip{display:inline-block;font:600 .76rem var(--font-mono);padding:.2em .6em;border:1.5px solid var(--primary);color:var(--primary);border-radius:3px;align-self:flex-start}
.spec__meta{margin-top:.9rem;font-size:.9rem;color:var(--ink-soft);line-height:1.5}
.spec__slide--frontier .spec__cat{color:var(--signal-ink)}
.spec__slide--frontier .chip{border-color:var(--signal);color:var(--signal-ink)}
.spec__slide--frontier .stars{color:var(--signal)}
.spec__dots{display:flex;gap:.2rem;padding:.35rem 1.15rem .5rem;border-top:1.5px solid var(--paper-line)}
.spec__dots:empty{display:none}
/* 24x24 hit area (WCAG 2.5.8 target size); the visible 8px dot is a centered ::before. */
.spec__dots button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.spec__dots button::before{content:"";width:8px;height:8px;border:1.5px solid var(--paper-line);border-radius:50%;background:transparent;transition:background .3s,border-color .3s}
.spec__dots button.is-active::before{background:var(--primary);border-color:var(--primary)}
.spec__dots button:hover::before{border-color:var(--ink-faint)}
/* time-to-next hint: a thin line that fills over the slide interval (JS-inserted; see redesign.js).
   Transparent track so it never reads as a second border — only the moving fill shows. */
.spec__progress{height:2px;overflow:hidden}
.spec__progress i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:var(--primary)}
@keyframes spec-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ── sources strip ───────────────────────────────────── */
.sources{border-bottom:var(--rule);background:var(--primary-wash)}
.sources__in{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;padding-block:1.05rem}
.sources__lbl{font:600 .74rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.sources__src{font-weight:600;font-size:.92rem}
.sources__dot{color:var(--ink-faint)}

/* ── does/never ledger ───────────────────────────────── */
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:2.5rem;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}
@media(max-width:760px){.ledger{grid-template-columns:1fr}}
.ledger>div{padding:1.6rem 1.5rem}
.ledger>div:first-child{border-right:1.5px solid var(--ink)}
@media(max-width:760px){.ledger>div:first-child{border-right:0;border-bottom:1.5px solid var(--ink)}}
.ledger h3{font:600 .8rem/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.1rem}
.ledger .does h3{color:var(--ok)}
.ledger .never{background:var(--tint)}
.ledger .never h3{color:var(--ink-faint)}
.ledger ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ledger li{padding-left:1.6rem;position:relative;font-size:.96rem;color:var(--ink-soft)}
.ledger .does li::before{content:"+";position:absolute;left:0;color:var(--ok);font-weight:700;font-family:var(--font-mono)}
.ledger .never li::before{content:"\2212";position:absolute;left:0;color:var(--ink-faint);font-weight:700;font-family:var(--font-mono)}

/* ── modules + credibility firewall ──────────────────── */
.mods{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;margin-top:2.5rem;background:var(--paper-line);border:1.5px solid var(--paper-line);border-radius:8px;overflow:hidden}
.mod{background:var(--bg);padding:1.5rem;grid-column:span 4;display:flex;flex-direction:column;gap:.5rem}
.mod--wide{grid-column:span 6}
@media(max-width:820px){.mod,.mod--wide{grid-column:span 6}}
@media(max-width:540px){.mod,.mod--wide{grid-column:span 12}}
.mod__src{font:600 .68rem var(--font-mono);letter-spacing:.03em;color:var(--primary);text-transform:uppercase}
.mod h3{font-size:1.18rem;letter-spacing:-.02em}
.mod p{font-size:.93rem;color:var(--ink-soft);line-height:1.5}
.mod--frontier{background:var(--signal-wash)}
.mod--frontier .mod__src{color:var(--signal-ink)}
.mod--frontier .tag{align-self:flex-start;font:600 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--signal-ink);border:1.5px solid var(--signal);border-radius:3px;padding:.15em .55em}
.firewall-note{grid-column:span 12;background:var(--tint);color:var(--ink-soft);padding:.85rem 1.5rem;display:flex;gap:1ch;align-items:center;font:600 .76rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.firewall-note .fw-line{flex:1;height:0;border-top:1.5px dashed var(--signal)}
.firewall-note b{color:var(--signal-ink)}

/* ── pricing cards ───────────────────────────────────── */
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.5rem}
/* Two-up variant (the "add when ready" row). minmax(0,1fr) lets cards shrink instead of forcing
   the track to min-content, which overflowed narrow phones (QA mobile pass). */
.prices--two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:820px){.prices,.prices--two{grid-template-columns:1fr}}
.pc{border:1.5px solid var(--paper-line);border-radius:8px;padding:1.6rem;display:flex;flex-direction:column;gap:.6rem;background:var(--bg);position:relative}
.pc--feature{border-color:var(--primary);box-shadow:0 22px 44px -28px oklch(0.46 0.13 252 / .55)}
.pc--feature::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--primary);border-radius:8px 8px 0 0}
.pc__flag{position:absolute;top:-.8rem;left:1.4rem;background:var(--primary);color:#fff;font:600 .66rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:.28em .7em;border-radius:100px}
.pc h3{font-size:1.15rem;margin-top:.2rem}
.pc__amt{font:700 2.1rem var(--font-sans);letter-spacing:-.03em;margin-top:.3rem}
.pc__amt small{font:500 .9rem var(--font-mono);color:var(--ink-faint)}
.pc__note{font-size:.9rem;color:var(--ink-soft)}
.pc ul{list-style:none;margin:.2rem 0;padding:0;display:grid;gap:.4rem}
.pc li{padding-left:1.3rem;position:relative;font-size:.9rem;color:var(--ink-soft)}
.pc li::before{content:"+";position:absolute;left:0;color:var(--primary);font-weight:700;font-family:var(--font-mono)}
.pc .btn{margin-top:auto}

/* ── cta band + faq ──────────────────────────────────── */
.cta-band{border:1.5px solid var(--ink);border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.6rem);text-align:center;background:var(--tint)}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.03em}
.cta-band p{margin:.6rem auto 1.4rem;color:var(--ink-soft);max-width:50ch}
.faq{display:grid;gap:.6rem;margin-top:1.6rem}
.faq details{border:var(--rule);border-radius:var(--radius);background:var(--bg);padding:.2rem .2rem}
.faq summary{cursor:pointer;font-weight:600;padding:.8rem 1rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--primary);font-family:var(--font-mono)}
.faq details[open] summary::after{content:"\2212"}
.faq details>p{padding:0 1rem 1rem;color:var(--ink-soft);font-size:.95rem}
.text-center{text-align:center}
.mt-3{margin-top:1.2rem}.mt-4{margin-top:1.8rem}

/* ── feature list (security etc.) ────────────────────── */
.feature-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem;max-width:var(--measure)}
.feature-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.feature-list .k{font:600 .68rem var(--font-mono);letter-spacing:.04em;color:var(--primary);background:var(--primary-wash);border-radius:4px;padding:.4em .6em;white-space:nowrap;text-align:center}
.feature-list b{display:block}
.feature-list span span{color:var(--ink-soft);font-size:.95rem}

/* ── static demo card (re-uses the .spec window) ─────── */
.demo .spec__slide{position:static}
.demo-line{font-size:.92rem;color:var(--ink-soft);margin:.3rem 0}
.demo-line .coord{display:inline-block;min-width:6.5ch}
.coord--green{color:var(--ok)}.coord--ember{color:var(--signal-ink)}.coord--mut{color:var(--ink-faint)}

/* ── inner page hero (pricing / trust pages) ─────────── */
.page-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.5rem);border-bottom:var(--rule);position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700;letter-spacing:-.035em;max-width:18ch}
.page-hero h1 em{font-style:normal;color:var(--primary)}
.page-hero__sub{max-width:60ch;margin-top:1.2rem;font-size:clamp(1.05rem,1.1vw,1.2rem);color:var(--ink-soft)}

/* ── pricing extras ──────────────────────────────────── */
.price-was{text-decoration:line-through;color:var(--ink-faint);font-size:.7em;font-weight:500}
.sale-tag{display:inline-block;font:600 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ok);background:oklch(0.95 0.04 150);border-radius:100px;padding:.2em .6em;vertical-align:middle}
.pc__kicker{font:600 .68rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
.pc__kicker--ember{color:var(--signal-ink)}.pc__kicker--mut{color:var(--ink-faint)}
.pc--bundle{border-color:var(--signal)}
.pc--bundle::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--signal);border-radius:8px 8px 0 0}
.pc--bundle .pc__flag{background:var(--signal);color:oklch(0.2 0.04 40)}
.pc__save{display:inline-block;font:600 .72rem var(--font-mono);color:var(--ok)}
.price-amount__list{text-decoration:line-through;color:var(--ink-faint);font:500 1rem var(--font-mono)}
.addon-when{font-size:.84rem;color:var(--ink-faint);margin-top:.4rem}
.addon-explain{margin:.4rem 0;border-top:var(--rule);padding-top:.6rem}
.addon-explain summary{cursor:pointer;font-weight:600;font-size:.9rem;list-style:none}
.addon-explain summary::-webkit-details-marker{display:none}
.addon-explain summary::after{content:" +";color:var(--primary);font-family:var(--font-mono)}
.addon-explain[open] summary::after{content:" \2212"}
.addon-explain>p{font-size:.88rem;color:var(--ink-soft);margin-top:.5rem}
.callout{margin-top:1.6rem;font-size:.95rem;color:var(--ink-soft);background:var(--primary-wash);border:var(--rule);border-radius:var(--radius);padding:1rem 1.2rem}
.callout--ember{background:var(--signal-wash);border-color:oklch(0.85 0.06 60);color:var(--signal-ink)}
.note-sm{font-size:.82rem;color:var(--ink-faint);line-height:1.5}

/* ── long-form prose (trust / content pages) ─────────── */
.prose{max-width:68ch}
.prose h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.025em;margin:2.2rem 0 .8rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.2rem;margin:1.6rem 0 .6rem}
.prose p{color:var(--ink-soft);margin:.8rem 0;line-height:1.6}
.prose ul{margin:.8rem 0;padding:0;list-style:none;display:grid;gap:.6rem}
.prose li{padding-left:1.5rem;position:relative;color:var(--ink-soft)}
.prose li::before{content:"";position:absolute;left:.1rem;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.prose strong{color:var(--ink)}
.learn-cta{margin-top:2.4rem;padding:1.6rem 1.8rem;border:1.5px solid var(--ink);border-radius:var(--radius-lg);background:var(--tint)}
.learn-cta h3{font-size:1.3rem;margin-bottom:1rem}
.learn-cta__actions{display:flex;flex-wrap:wrap;gap:.7rem}

/* ── comparison + coverage-matrix tables ─────────────── */
.cmp{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:.5rem}
.cmp th,.cmp td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line)}
.cmp thead th{font:600 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-faint);background:var(--tint)}
.cmp tbody th{font-weight:600}
.cmp .is-us{background:var(--primary-wash)}
.cmp .is-us td,.cmp .is-us th{font-weight:700;color:var(--ink)}
.mtx-wrap{overflow-x:auto;margin-top:1.2rem}
.mtx .mtx__col{text-align:center;width:7rem}
.mtx .mtx__feat{background:var(--primary-wash)}
.mtx__n{font:700 .95rem var(--font-sans);color:var(--ink)}
.mtx__yes{color:var(--ok);font-weight:700}
.mtx__no{color:var(--ink-faint)}
.mtx__fn{color:var(--primary)}
.mtx__notes{font-size:.78rem;color:var(--ink-faint);margin-top:.6rem}
.mtx__legend{font-size:.8rem;color:var(--ink-faint);margin-top:.6rem;line-height:1.5}
.mtx-toggle{display:none}
#mtx-show-all{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.mtx-toggle__less{display:none}
@media(max-width:640px){
  .mtx-row--extra{display:none}
  #mtx-show-all:checked ~ .cmp .mtx-row--extra{display:table-row}
  .mtx-toggle{display:inline-flex;margin-top:.8rem}
  #mtx-show-all:checked ~ .mtx-toggle .mtx-toggle__more{display:none}
  #mtx-show-all:checked ~ .mtx-toggle .mtx-toggle__less{display:inline}
}

/* ── named coverage inventory (the /coverage page + FAQ embed) ── */
.inv{display:grid;gap:clamp(1.4rem,3vw,2.2rem);margin-top:1.6rem}
.inv__group{padding-top:clamp(1.2rem,2.5vw,1.7rem);border-top:1.5px solid var(--line)}
.inv__group:first-child{padding-top:0;border-top:0}
.inv__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.inv__label{font-size:1.18rem;font-weight:700;letter-spacing:-.02em;margin:0}
.inv__addon{font:600 .62rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--signal-ink);
  border:1.5px solid var(--signal);border-radius:100px;padding:.3em .6em;white-space:nowrap;vertical-align:middle}
.inv__count b{font:700 1.15rem/1 var(--font-mono);color:var(--primary)}
.inv__source{display:block;margin:.4rem 0 0;font-size:.82rem;color:var(--ink-faint)}
.inv__note{font-size:.92rem;color:var(--ink-soft);margin:.55rem 0 0;max-width:68ch}
.inv__items{list-style:none;margin:.95rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.inv__item{font-size:.84rem;line-height:1.3;background:var(--tint);border:1px solid var(--line);border-radius:var(--radius);padding:.32em .62em;color:var(--ink-soft)}
.inv__detail{color:var(--ink-faint)}

/* ── content pages (learn / about / security / methodology / glossary / legal) ── */
/* learn index — explainer cards */
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:1.6rem}
.module-card{display:block;text-decoration:none;color:inherit;border:1.5px solid var(--paper-line);border-radius:8px;
  padding:1.4rem;background:var(--bg);transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .2s,box-shadow .2s}
.module-card:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:0 16px 40px -28px oklch(0.46 0.13 252 / .4)}
.module-card h3{font-size:1.18rem;letter-spacing:-.02em}
.module-card p{font-size:.93rem;color:var(--ink-soft);margin:.5rem 0 0;line-height:1.5}

/* learn topic — prev/next pager */
.learn-nav{display:flex;gap:1.5rem;margin-top:2.4rem;padding-top:1.6rem;border-top:1.5px solid var(--line)}
.learn-nav__link{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;max-width:48%}
.learn-nav__link--next{margin-left:auto;text-align:right;align-items:flex-end}
.learn-nav__dir{font:600 .72rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);display:inline-flex;gap:.5ch;align-items:center}
.learn-nav__arrow{color:var(--primary);transition:transform .2s}
.learn-nav__link--prev:hover .learn-nav__arrow{transform:translateX(-3px)}
.learn-nav__link--next:hover .learn-nav__arrow{transform:translateX(3px)}
.learn-nav__title{font-weight:600;font-size:1.02rem;line-height:1.25;color:var(--ink);letter-spacing:-.01em}
.learn-nav__link:hover .learn-nav__title{color:var(--primary)}
@media(max-width:560px){.learn-nav{flex-direction:column;gap:1.4rem}.learn-nav__link,.learn-nav__link--next{max-width:none;margin-left:0;text-align:left;align-items:flex-start}}

/* methodology — numbered steps (a real ordered sequence) */
.steps{list-style:none;counter-reset:step;margin:1rem 0;padding:0;display:grid;gap:.9rem}
.steps li{counter-increment:step;position:relative;padding-left:2.7rem;color:var(--ink-soft);line-height:1.6}
.steps li::before{content:counter(step);position:absolute;left:0;top:.05em;width:1.8rem;height:1.8rem;background:var(--primary-wash);
  display:flex;align-items:center;justify-content:center;font:600 .85rem var(--font-mono);color:var(--primary);border:1.5px solid var(--primary);border-radius:50%}
.steps strong{color:var(--ink)}

/* security — "the difference" framed card */
.sample-frame{border:1.5px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--bg);box-shadow:0 24px 50px -34px oklch(0.46 0.13 252 / .4)}
.sample-frame__bar{padding:.6rem .85rem;border-bottom:1.5px solid var(--ink);background:var(--tint)}
.sample-frame__body{padding:1.2rem}

/* glossary — definition list */
.glossary{margin:1.4rem 0}
.glossary dt{font-weight:700;color:var(--ink);margin-top:1.3rem;letter-spacing:-.01em}
.glossary dt:first-of-type{margin-top:0}
.glossary dd{margin:.35rem 0 0;color:var(--ink-soft);line-height:1.6}

/* legal — fine print */
.legal-note{font-size:.85rem;color:var(--ink-faint);margin-top:1.2rem;line-height:1.55}

/* learn topic — email capture */
.lead-capture{margin-top:2.4rem;padding:1.6rem 1.8rem;border:1.5px solid var(--line-2);border-radius:var(--radius-lg);background:var(--tint)}
.lead-capture__eyebrow{font:600 .7rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin:0 0 .5rem}
.lead-capture__title{font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:700;letter-spacing:-.02em;max-width:28ch;margin:0 0 .5rem}
.lead-capture__sub{color:var(--ink-soft);font-size:.95rem;margin:0 0 1.2rem;max-width:50ch}
.lead-capture__row{display:flex;gap:.6rem;flex-wrap:wrap}
.lead-capture__email{flex:1;min-width:200px;font:inherit;padding:.6em .8em;border:1.5px solid var(--line-2);border-radius:var(--radius);background:var(--bg);color:var(--ink)}
.lead-capture__email:focus-visible{outline:2.5px solid var(--signal);outline-offset:2px;border-color:var(--primary)}
.lead-capture__email::placeholder{color:var(--ink-faint)}
.lead-capture__consent{display:flex;gap:.6rem;align-items:flex-start;margin-top:.9rem;font-size:.86rem;color:var(--ink-soft);line-height:1.45}
.lead-capture__consent input{margin-top:.18rem;flex:none}

/* Skeptic's Lab — long-form mythbusting articles. Claim/verdict spine + honesty pull-quote. */
.skeptic__byline{font-size:.86rem;margin-top:.2rem}
.skeptic-spine{margin:1.6rem 0 .4rem;border:1px solid var(--line-2);
  border-radius:var(--radius);background:var(--tint);padding:1rem 1.2rem;display:grid;gap:.6rem}
.skeptic-spine p{margin:0}
.skeptic-claim{color:var(--ink-soft)}
.skeptic-verdict{color:var(--ink)}
.skeptic-verdict strong,.skeptic-claim strong{color:var(--primary-press)}
.skeptic-verdict--end{margin-top:1.6rem;padding:.9rem 1.1rem;border-radius:var(--radius);
  background:var(--primary-wash);border:var(--rule)}
.skeptic-wontclaim{margin:1.8rem 0;padding:1rem 1.2rem;border:1px solid var(--line-2);
  background:var(--signal-wash);border-radius:var(--radius)}
.skeptic-wontclaim .eyebrow{color:var(--signal-ink);margin-bottom:.3rem}
.skeptic-wontclaim p:last-child{margin:0;color:var(--ink)}
.module-card__verdict{margin-top:.6rem;font-size:.82rem;color:var(--ink-faint)}

/* Learn breadth band — a compact count strip (counts live from the coverage SSOT) that shows how
   much the report reads and links each module into /coverage. Reuses the .inv count vocabulary. */
.learn-breadth{margin-top:2rem;padding:clamp(1.1rem,2.5vw,1.6rem);border:1.5px solid var(--line);border-radius:var(--radius-lg);background:var(--tint)}
.learn-breadth__lede{margin:0;max-width:var(--measure);color:var(--ink-soft);font-size:.98rem;line-height:1.55}
.learn-breadth__counts{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.learn-breadth__counts a{display:inline-flex;align-items:baseline;gap:.5ch;text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.4em .7em;font-size:.85rem;color:var(--ink-soft);transition:border-color .15s,color .15s}
.learn-breadth__counts a:hover{border-color:var(--primary);color:var(--ink)}
.learn-breadth__counts b{font:700 1.05rem/1 var(--font-mono);color:var(--primary)}
.learn-breadth__all{display:inline-block;margin-top:1.1rem;font-weight:600;font-size:.92rem;color:var(--primary);text-decoration:none}
.learn-breadth__all:hover{text-decoration:underline}
/* Deep Read medication coverage list on /coverage (static server-rendered list). */
.drug-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.drug-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.drug-row__name{font-weight:600;text-transform:capitalize}
.drug-row__genes{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
.drug-row__genes .chip{font-size:.68rem;padding:.12em .45em}
