:root {
  --paper:#f2f4f8; --white:#fff; --ink:#141a2b; --muted:#586174;
  --cobalt:#173fcb; --coral:#ff6758; --pale-blue:#e5eaff; --pale-coral:#ffe3df;
  --shadow:0 16px 40px rgba(20,26,43,.09);
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:3rem; --s6:4rem; --s7:6rem;
  --radius:1.5rem; --rail:17rem; --max:76rem;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 1rem/1.65 Arial, Helvetica, sans-serif; padding-bottom:3.8rem; }
img { display:block; max-width:100%; }
a { color:var(--cobalt); text-decoration:none; }
main a:not(.button):not(.brand)::before, footer a:not(.brand)::before { content:"· "; color:var(--coral); font-weight:900; }
a:hover { text-decoration:underline; text-underline-offset:.2em; }
button, input { font:inherit; }
h1,h2,h3,p,ul { margin-top:0; }
h1,h2,h3 { font-family:Arial, Helvetica, sans-serif; line-height:1.02; letter-spacing:-.035em; }
h1 { font-size:clamp(3.1rem,8.1vw,7.7rem); margin-bottom:var(--s3); }
h2 { font-size:clamp(2rem,4vw,4rem); margin-bottom:var(--s3); }
h3 { font-size:clamp(1.25rem,2vw,1.65rem); margin-bottom:var(--s2); }
p, li { max-width:72ch; }
code { font:600 .88em ui-monospace, SFMono-Regular, Menlo, monospace; background:var(--pale-blue); padding:.12rem .3rem; border-radius:.25rem; }
.wrap { width:min(calc(100% - 2rem), var(--max)); margin-inline:auto; }
.stack > * + * { margin-top:var(--s2); }
.cluster { display:flex; flex-wrap:wrap; gap:var(--s1); align-items:center; }
.split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.eyebrow { display:block; color:var(--cobalt); font:800 .74rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing:.12em; text-transform:uppercase; margin-bottom:var(--s2); }
.lede { font-size:clamp(1.08rem,1.7vw,1.35rem); line-height:1.55; max-width:68ch; }
.fine-print, small { font-size:.76rem; line-height:1.45; color:var(--muted); }
.skip-link { position:fixed; top:.5rem; left:.5rem; z-index:99; padding:.7rem 1rem; background:var(--ink); color:#fff; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.site-rail { position:fixed; z-index:20; inset:0 auto 0 0; width:var(--rail); padding:2rem 1.4rem 5rem; background:var(--white); display:flex; flex-direction:column; }
.brand { color:var(--ink); font-weight:900; font-size:1.1rem; line-height:1.1; }
.brand img { flex:0 0 auto; }
.site-rail nav { display:flex; flex-direction:column; gap:.25rem; margin-top:4rem; }
.site-rail nav a { color:var(--ink); padding:.7rem .85rem; border-radius:999px; font-weight:700; }
.site-rail nav a::before { content:"· "; color:var(--coral); }
.site-rail nav a[aria-current="page"], .site-rail nav a:hover { background:var(--pale-blue); text-decoration:none; }
.rail-note { margin-top:auto; display:grid; gap:.2rem; font-size:.8rem; }
.rail-note span { color:var(--muted); }
main, .site-footer { margin-left:var(--rail); }
.hero { position:relative; overflow:hidden; min-height:88vh; display:grid; align-items:center; padding:var(--s7) 0; background:var(--white); }
.hero__wedge { position:absolute; inset:-20% -18% auto auto; width:55vw; aspect-ratio:1; border-radius:50%; background:var(--coral); clip-path:polygon(35% 0,100% 0,100% 100%,0 72%); opacity:.95; }
.hero__grid { position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); gap:clamp(2rem,5vw,5rem); align-items:end; }
.hero h1 { max-width:12ch; }
.independence-note { max-width:65ch; padding:var(--s2) var(--s3); background:var(--pale-blue); border-radius:var(--radius); }
.age-chip { display:inline-grid; place-items:center; width:3rem; height:3rem; border-radius:50%; background:var(--ink); color:#fff; font:900 .9rem ui-monospace, monospace; }
.editorial-figure { margin:0; position:relative; }
.editorial-figure img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.hero .editorial-figure { transform:rotate(1.5deg); }
.editorial-figure figcaption { margin-top:.75rem; color:var(--muted); font:600 .72rem/1.5 ui-monospace, monospace; }
.credibility { background:var(--ink); color:#fff; padding:var(--s4) 0; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s3); }
.stats div { display:grid; }
.stats strong { font:900 clamp(2rem,5vw,4.5rem)/1 ui-monospace, monospace; color:var(--coral); }
.stats span { font-size:.78rem; }
.marquee { position:relative; overflow:hidden; background:var(--cobalt); color:#fff; padding:1rem 7.5rem 1rem 0; }
.marquee__track { width:max-content; display:flex; gap:3rem; animation:marquee 28s linear infinite; }
.marquee__track span { font:800 .76rem ui-monospace, monospace; text-transform:uppercase; letter-spacing:.12em; }
.marquee.is-paused .marquee__track { animation-play-state:paused; }
.marquee__toggle { position:absolute; right:.7rem; top:.5rem; border:0; border-radius:999px; padding:.45rem .75rem; color:var(--cobalt); background:#fff; cursor:pointer; }
@keyframes marquee { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .marquee__track { animation:none; } html { scroll-behavior:auto; } }
.section { padding-block:var(--s7); }
.section--tint { background:var(--pale-blue); }
.section::after { content:""; display:block; width:4rem; height:.35rem; border-radius:999px; background:var(--coral); margin:var(--s7) auto calc(var(--s7) * -1); }
.section-heading { display:grid; grid-template-columns:1fr 1.2fr; gap:var(--s4); align-items:end; margin-bottom:var(--s5); }
.section-heading .eyebrow { grid-column:1/-1; margin-bottom:0; }
.section-heading h2 { margin:0; }
.affiliate-callout, .notice { padding:var(--s3); border-radius:var(--radius); background:var(--pale-coral); margin-bottom:var(--s4); }
.showcase { display:grid; gap:var(--s3); }
.operator-card { background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.operator-card__top { display:flex; justify-content:space-between; align-items:center; min-height:3.5rem; padding:.75rem var(--s3); background:var(--cobalt); color:#fff; }
.operator-card__top .eyebrow { color:#fff; margin:0; }
.operator-card--featured .operator-card__top { background:var(--coral); color:var(--ink); }
.operator-card--featured .operator-card__top .eyebrow { color:var(--ink); }
.operator-card__body { display:grid; grid-template-columns:9rem minmax(0,1fr) 13rem; gap:var(--s3); align-items:center; padding:var(--s3); }
.logo-box { min-height:6rem; background:var(--paper); border-radius:1rem; display:grid; place-items:center; padding:1rem; }
.logo-box img { max-height:3.2rem; width:auto; }
.operator-card h3 { margin-bottom:0; }
.operator-card p { color:var(--muted); margin-bottom:0; }
.operator-action { display:grid; gap:.7rem; align-items:start; }
.button { display:inline-flex; justify-content:center; align-items:center; width:max-content; min-height:2.8rem; padding:.75rem 1.15rem; border:0; border-radius:999px; color:#fff; background:var(--cobalt); font-weight:800; cursor:pointer; text-align:center; }
.button:hover { text-decoration:none; filter:brightness(.92); }
.button--coral { background:var(--coral); color:var(--ink); }
.button--quiet { background:var(--paper); color:var(--ink); }
.text-link { font-weight:800; }
.badge, .verdict { display:inline-flex; width:max-content; border-radius:999px; padding:.35rem .65rem; background:var(--pale-blue); color:var(--cobalt); font:800 .68rem/1 ui-monospace, monospace; text-transform:uppercase; letter-spacing:.05em; }
.badge--coral { background:var(--pale-coral); color:#9b231b; }
.operator-card__top .verdict { background:#fff; color:var(--ink); }
.method-grid, .article-grid { display:grid; grid-template-columns:minmax(14rem,.65fr) minmax(0,1.35fr); gap:clamp(2rem,7vw,7rem); }
.faq-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s3); }
.faq-card { grid-column:span 2; padding:var(--s3); border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); }
.faq-card:nth-child(1), .faq-card:nth-child(2) { grid-column:span 3; }
.compact-disclaimer { padding-block:var(--s4) var(--s6); }
.page-hero { position:relative; overflow:hidden; background:var(--white); padding:var(--s7) 0 var(--s6); }
.page-hero::before { content:""; position:absolute; width:32rem; height:32rem; border-radius:50%; background:var(--coral); top:-20rem; right:-10rem; }
.page-hero .wrap { position:relative; }
.page-hero h1 { font-size:clamp(2.8rem,6.5vw,6rem); }
.article-grid { grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr); align-items:start; }
.prose h2 { font-size:clamp(1.8rem,3vw,3rem); margin-top:var(--s4); }
.prose h3 { margin-top:var(--s3); }
.prose li + li { margin-top:.65rem; }
.pull-fact, .resource-card { padding:var(--s3); border-radius:var(--radius); background:var(--coral); box-shadow:var(--shadow); }
.pull-fact p { font:800 clamp(1.3rem,2.5vw,2rem)/1.25 Arial, sans-serif; }
.resource-card { background:var(--white); }
.resource-card img { max-height:3rem; width:auto; margin-bottom:var(--s2); }
.table-scroll { overflow:auto; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); }
table { width:100%; min-width:90rem; border-collapse:collapse; font-size:.82rem; }
caption { text-align:left; padding:var(--s3); color:var(--muted); }
th,td { padding:1rem; text-align:left; vertical-align:top; }
thead { background:var(--cobalt); color:#fff; }
tbody tr:nth-child(even) { background:var(--pale-blue); }
.table-brand { display:flex; gap:.6rem; align-items:center; min-width:9rem; }
.table-brand img { width:2.5rem; height:2rem; object-fit:contain; }
.context-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s3); margin-top:var(--s4); }
.context-grid article { grid-column:span 2; padding:var(--s3); border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); }
.context-grid article:nth-child(4), .context-grid article:nth-child(5) { grid-column:span 3; }
.context-grid p { margin-bottom:0; color:var(--muted); }
.quiz-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); gap:var(--s5); align-items:start; }
.quiz fieldset { border:0; margin:0; padding:var(--s3); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow); }
.quiz legend { float:left; width:100%; font-size:1.2rem; font-weight:900; margin-bottom:var(--s2); }
.quiz label { clear:both; display:block; padding:.5rem 0; }
.quiz details { margin-top:var(--s2); padding-top:var(--s2); color:var(--muted); }
.quiz-result { min-height:3rem; padding:var(--s2); border-radius:1rem; background:var(--pale-coral); font-weight:900; }
.site-footer { background:var(--ink); color:#fff; padding:var(--s6) max(1rem,calc((100vw - var(--rail) - var(--max))/2)) var(--s5); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:var(--s5); }
.site-footer .brand { color:#fff; }
.site-footer a { color:#fff; display:block; margin:.45rem 0; }
.site-footer .eyebrow { color:var(--coral); }
.site-footer p { color:#bbc2d0; }
.age-bar { position:fixed; z-index:50; bottom:0; left:0; right:0; min-height:3.8rem; padding:.65rem 1rem; background:var(--coral); color:var(--ink); display:flex; gap:.75rem; align-items:center; justify-content:center; font-size:.78rem; }
.age-bar a { color:var(--ink); font-weight:900; text-decoration:underline; }
.safety-links { display:flex; gap:.65rem; }
.cookie-banner { position:fixed; z-index:60; left:calc(var(--rail) + 1rem); right:1rem; bottom:4.5rem; background:var(--ink); color:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:var(--s3); display:flex; justify-content:space-between; gap:var(--s3); align-items:center; }
.cookie-banner p { margin:0; }
.cookie-banner a { color:#fff; text-decoration:underline; }
.cookie-banner[hidden] { display:none; }
@media (max-width:1050px) {
  :root { --rail:0rem; }
  .site-rail { position:sticky; top:0; width:auto; height:auto; padding:.65rem 1rem; flex-direction:row; align-items:center; justify-content:space-between; }
  .site-rail nav { margin:0; flex-direction:row; overflow:auto; }
  .site-rail nav a { white-space:nowrap; }
  .rail-note { display:none; }
  main,.site-footer { margin-left:0; }
  .cookie-banner { left:1rem; }
}
@media (max-width:760px) {
  body { padding-bottom:5.7rem; }
  .site-rail { align-items:flex-start; flex-wrap:wrap; }
  .site-rail nav { order:2; width:100%; }
  .hero { min-height:auto; padding:var(--s6) 0; }
  .hero__wedge { width:95vw; opacity:.3; }
  .hero__grid,.split,.section-heading,.method-grid,.article-grid,.quiz-layout { grid-template-columns:1fr; }
  .section-heading .eyebrow { grid-column:auto; }
  .stats { grid-template-columns:1fr 1fr; }
  .operator-card__body { grid-template-columns:1fr; }
  .logo-box { width:100%; }
  .button { width:100%; }
  .faq-grid { grid-template-columns:1fr; }
  .faq-card,.faq-card:nth-child(1),.faq-card:nth-child(2) { grid-column:auto; }
  .context-grid { grid-template-columns:1fr; }
  .context-grid article,.context-grid article:nth-child(4),.context-grid article:nth-child(5) { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .age-bar { justify-content:flex-start; flex-wrap:wrap; padding:.55rem .75rem; }
  .safety-links { width:100%; justify-content:space-between; }
  .cookie-banner { display:grid; bottom:6.4rem; }
  .cookie-banner[hidden] { display:none; }
  h1 { font-size:clamp(2.7rem,15vw,4.6rem); }
}
