/* ═══════════════════════════════════════════════════════
   CricBun — Terms of Service
   Extracted from html/cricbun-terms-of-service.html
   Body-content styles only. Chrome (root vars, body, links,
   masthead, nav, footer, focus ring) owned by global-shell.css.

   Prototype var names remapped to the global-shell scheme so
   dark theme applies:
     --p -> --paper   --m -> --muted   --c -> --cyan
     --cd -> --cyan-d --cp -> --cyan-p
   Selectors adjusted to avoid clobbering global chrome:
     .meta    -> .termsmeta        (global-shell .meta = scorebar line)
     .warning -> .plain.warning    (global-shell has .flash.warning)
   ═══════════════════════════════════════════════════════ */

.hero{background:var(--navy);color:var(--paper);padding:50px 0}
.hero h1{font-size:clamp(2.5rem,7vw,5rem);line-height:.94;letter-spacing:-.075em}
.hero p{font-size:.62rem;color:oklch(75% .015 230);margin-top:12px}
.termsmeta{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:.51rem;color:oklch(70% .015 230)}
.notice{background:var(--cyan-p);border-bottom:1px solid oklch(84% .04 221)}
.noticein{padding:15px 0;font-size:.55rem;color:var(--muted)}
.notice b{color:var(--ink)}
.layout{display:grid;grid-template-columns:230px minmax(0,720px);gap:50px;padding:40px 0 80px}
.toc{position:sticky;top:18px;height:max-content}
.toc h2{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.toc nav{display:grid;margin-top:10px}
.toc a{padding:7px 0;border-bottom:1px solid var(--line);font-size:.54rem;color:var(--muted)}
.print{width:100%;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--cyan-d);font-size:.53rem;margin-top:14px}
.terms{font:400 1rem/1.75 "Source Serif 4",serif}
.terms section{scroll-margin-top:20px;margin-bottom:46px}
.terms h2{font:700 1.58rem/1.2 Inter,sans-serif;letter-spacing:-.035em;margin-bottom:14px}
.terms h3{font:700 .92rem/1.3 Inter,sans-serif;margin:23px 0 8px}
.terms p+p{margin-top:17px}
.terms ul{padding-left:22px;margin-top:12px}
.terms li{margin:7px 0}
.plain{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font:500 .56rem/1.6 Inter,sans-serif;margin:18px 0}
.plain.warning{background:oklch(96% .025 78);border-color:oklch(86% .05 78)}
.contact{padding:21px;background:var(--navy);color:var(--paper);border-radius:12px}
.contact p{color:oklch(76% .015 230)}
@media(max-width:760px){.layout{grid-template-columns:1fr}.toc{position:static;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px}.toc nav{grid-template-columns:1fr 1fr;column-gap:12px}}
@media(max-width:520px){.hero h1{font-size:2.7rem}.toc nav{grid-template-columns:1fr}}
@media print{.toc,.notice{display:none}.layout{display:block;padding:0}.hero{background:none;color:var(--ink);padding:0 0 20px}.hero p,.termsmeta{color:var(--muted)}}
