/* content.css - long-form article components (prose, protocol tables, facts,
   TOC, FAQ list) extracted from craft.css so pages migrated to the homepage
   stack keep their editorial layout. All rules are CSS-variable based, so they
   render correctly in the light page theme and inside dark [data-theme] panels. */

.dd-badge{background:var(--action);color:#000;font-size:9px;font-weight:800;letter-spacing:0.12em;padding:2px 6px;border-radius:4px;text-transform:uppercase}
.crumbs{max-width:var(--max-w);margin:0 auto;padding:96px 40px 0;font-size:12px;color:var(--text-muted);letter-spacing:0.02em}
.crumbs a{color:var(--text-secondary);text-decoration:none}
.crumbs a:hover{color:var(--text-bright)}
.crumbs span{margin:0 8px;opacity:0.5}
.toc{max-width:var(--max-w);margin:8px auto 0;padding:0 40px}
.toc-inner{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}
.toc a{font-size:12.5px;color:var(--text-secondary);text-decoration:none;padding:6px 13px;border-radius:8px;border:1px solid var(--border);transition:color 0.2s,border-color 0.2s,background 0.2s}
.toc a:hover{color:var(--text-bright);border-color:var(--text-muted);background:var(--elevated)}
.section{max-width:var(--max-w);margin:0 auto;padding:72px 40px;scroll-margin-top:80px}
.section + .section{padding-top:0}
.section-eyebrow{font-size:12px;font-weight:700;letter-spacing:0.12em;color:var(--accent);text-transform:uppercase;margin-bottom:18px}
.section-h2{font-size:clamp(27px,3.6vw,42px);font-weight:700;letter-spacing:-0.03em;line-height:1.1;color:var(--text-bright);max-width:20ch;margin-bottom:24px}
.lead{font-size:clamp(18px,1.9vw,21px);line-height:1.6;color:var(--text-body);max-width:64ch;margin-bottom:22px}
.prose{max-width:64ch}
.prose p{font-size:16.5px;line-height:1.75;color:var(--text-secondary);margin-bottom:18px}
.prose p strong{color:var(--text-bright);font-weight:600}
.prose h3{font-size:19px;font-weight:700;color:var(--text-bright);letter-spacing:-0.01em;margin:34px 0 12px}
.prose ul{list-style:none;margin:0 0 20px;padding:0}
.prose li{position:relative;padding-left:24px;font-size:16px;line-height:1.7;color:var(--text-secondary);margin-bottom:11px}
.prose li::before{content:'';position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:2px;background:var(--accent);opacity:0.8}
.prose li strong{color:var(--text-bright);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:44px auto 0;max-width:var(--max-w)}
.fact{background:var(--elevated);border:1px solid var(--border);border-radius:16px;padding:24px 22px;position:relative;overflow:hidden}
.fact::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:0.7}
.fact-num{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:700;color:var(--text-bright);line-height:1;letter-spacing:-0.02em}
.fact-num span{font-size:15px;color:var(--text-muted)}
.fact-label{font-size:12.5px;color:var(--text-secondary);margin-top:10px;line-height:1.45}
table.protocol{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
table.protocol caption{text-align:left;font-size:12px;color:var(--text-muted);padding:14px 18px 0;caption-side:top}
table.protocol th,table.protocol td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--border-subtle)}
table.protocol thead th{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted)}
table.protocol tbody tr:last-child td{border-bottom:none}
table.protocol td:first-child{color:var(--text-bright);font-weight:600}
table.protocol td.mono,table.protocol .mono{font-family:'JetBrains Mono',monospace;color:var(--text-body)}
.faq-list{max-width:760px;margin-top:8px}
.faq-item{border-bottom:1px solid var(--border-subtle);padding:22px 0}
.faq-q{font-size:17px;font-weight:600;color:var(--text-bright);letter-spacing:-0.01em;margin-bottom:10px}
.faq-a{font-size:15.5px;line-height:1.7;color:var(--text-secondary)}
.one-system{border-top:1px solid var(--border-subtle);background:linear-gradient(180deg,rgba(255,255,255,0.015),transparent)}
.os-inner{max-width:var(--max-w);margin:0 auto;padding:80px 40px}
.cta-band{text-align:center;padding:120px 40px 130px;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0.5}
.cta-h{font-size:clamp(34px,5.4vw,64px);font-weight:900;letter-spacing:-0.04em;line-height:1;color:var(--text-bright);margin-bottom:18px;position:relative}
.cta-sub{font-size:clamp(16px,2vw,19px);color:var(--text-secondary);margin-bottom:42px;position:relative;max-width:46ch;margin-left:auto;margin-right:auto}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--action);color:#000;font-size:15px;font-weight:600;letter-spacing:0.01em;padding:15px 32px;border-radius:999px;text-decoration:none;transition:opacity 0.2s,transform 0.2s,box-shadow 0.2s}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:15px;font-weight:600;padding:15px 28px;border-radius:999px;text-decoration:none;border:1px solid var(--border);transition:color 0.2s,border-color 0.2s,transform 0.2s}
.btn-primary:hover{opacity:0.92;transform:translateY(-2px);box-shadow:0 8px 32px var(--action-glow)}
.btn-ghost:hover{color:var(--text-bright);border-color:var(--text-muted);transform:translateY(-2px)}
.btn-primary:active,.btn-ghost:active{transform:scale(0.97);transition-duration:0.1s}
.facts{grid-template-columns:repeat(2,1fr)}
.section{padding:56px 22px}
.dd-hero,.crumbs,.toc,.os-inner{padding-left:22px;padding-right:22px}
.facts{grid-template-columns:1fr}
@media (hover:hover) and (pointer:fine){.btn-primary:hover{opacity:0.92;transform:translateY(-2px);box-shadow:0 8px 32px var(--action-glow)}.btn-ghost:hover{color:var(--text-bright);border-color:var(--text-muted);transform:translateY(-2px)}}
@media(max-width:880px){.facts{grid-template-columns:repeat(2,1fr)}.section{padding:56px 22px}.dd-hero,.crumbs,.toc,.os-inner{padding-left:22px;padding-right:22px}}
@media(max-width:600px){.facts{grid-template-columns:1fr}}
/* The homepage shell styles bare <nav> elements as the fixed site header.
   The article table-of-contents is also a <nav>, so neutralise that here. */
nav.toc{position:static;height:auto;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;display:block;z-index:auto;inset:auto}


/* Photo hero used by the distance and outcome pages: image + dark scrim +
   text. Self-contained (white text over its own scrim), so it works on the
   light page theme unchanged, and keeps the site header readable. */
.plans-hero{position:relative;isolation:isolate;min-height:clamp(440px,64vh,660px);
  display:flex;align-items:flex-end;overflow:hidden;margin-bottom:clamp(28px,4vw,52px)}
.plans-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 40%;z-index:0;filter:brightness(1.12) saturate(1.02)}
.plans-hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(6,9,12,0.34) 0%,rgba(6,9,12,0.20) 40%,rgba(6,9,12,0.78) 100%),
             linear-gradient(90deg,rgba(6,9,12,0.46) 0%,rgba(6,9,12,0.14) 48%,transparent 80%)}
.plans-hero-inner{position:relative;z-index:2;width:100%;max-width:1140px;margin:0 auto;padding:0 24px clamp(38px,5vw,64px)}
.plans-hero .crumbs{color:rgba(255,255,255,0.62);margin-bottom:clamp(18px,3vw,34px);padding:0}
.plans-hero .crumbs a{color:rgba(255,255,255,0.62)}
.plans-hero .crumbs a:hover{color:#FFFFFF}
.plans-hero-kicker{text-shadow:0 1px 12px rgba(0,0,0,0.6);margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:0.16em;
  text-transform:uppercase;color:#FFE500}
.plans-hero-h1{text-shadow:0 2px 24px rgba(0,0,0,0.55);margin:0 0 16px;font-size:clamp(36px,5.6vw,66px);line-height:1.03;
  letter-spacing:-0.035em;font-weight:800;color:#FFFFFF;text-wrap:balance}
.plans-hero-sub{text-shadow:0 1px 16px rgba(0,0,0,0.5);margin:0 0 26px;max-width:56ch;font-size:clamp(16px,1.7vw,20px);line-height:1.5;
  color:rgba(255,255,255,0.84)}
.plans-hero-pills{display:flex;flex-wrap:wrap;gap:10px}
.plans-hero-pills .meta-pill{background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.plans-hero-pills .meta-pill b{color:#FFFFFF}
.plans-hero-pills .dot{background:#FFE500;box-shadow:0 0 10px #FFE500}
.plans-hero{min-height:clamp(400px,72vh,540px)}
@media (max-width:600px){.plans-hero{min-height:clamp(400px,72vh,540px)}}
