/* Shared styling for the legal pages (/privacy, /terms, /disclaimer).
   Same tokens as index.html so the documents are unmistakably part of the site;
   set apart as one measure of running text with a sticky contents rail. */

:root{
  --ground:#EDF2F0; --paper:#FFFFFF; --paper-2:#F6F9F8;
  --heading:#0F3A34; --text:#172321; --muted:#5B6D69;
  --rule:#CCD8D3; --rule-soft:#E1E9E6;
  --accent:#147A6B; --mark:#FFE14D; --on-mark:#1B1A0E;
  --band:#0F3A34; --on-band:#E9F2EF; --on-band-muted:#A9C1BA;
  --warn-bg:#FFF8E1; --warn-br:#E8D48A; --warn-fg:#4A3D08;
  --shadow:0 1px 0 rgba(15,58,52,.05), 0 18px 40px -22px rgba(15,58,52,.35);
  --f-display:"Big Shoulders Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --f-body:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0B1614; --paper:#112220; --paper-2:#152A27;
    --heading:#E9F2EF; --text:#DFE9E6; --muted:#98ACA6;
    --rule:#274740; --rule-soft:#1C352F;
    --accent:#5FC4B0; --mark:#FFD836;
    --band:#143029; --on-band:#E9F2EF; --on-band-muted:#A9C1BA;
    --warn-bg:#2A2410; --warn-br:#5C4E1C; --warn-fg:#F0E4B4;
    --shadow:0 1px 0 rgba(0,0,0,.2), 0 18px 40px -22px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --ground:#0B1614; --paper:#112220; --paper-2:#152A27;
  --heading:#E9F2EF; --text:#DFE9E6; --muted:#98ACA6;
  --rule:#274740; --rule-soft:#1C352F;
  --accent:#5FC4B0; --mark:#FFD836;
  --band:#143029; --on-band:#E9F2EF; --on-band-muted:#A9C1BA;
  --warn-bg:#2A2410; --warn-br:#5C4E1C; --warn-fg:#F0E4B4;
  --shadow:0 1px 0 rgba(0,0,0,.2), 0 18px 40px -22px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--text);font:400 17px/1.7 var(--f-body);-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
a{color:var(--accent);text-underline-offset:3px}
p,ul,ol,dl,h1,h2,h3,h4{margin:0}
b,strong{font-weight:600;color:var(--heading)}
.wrap{max-width:1180px;margin:0 auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.mono{font-family:var(--f-mono)}
.muted{color:var(--muted)}

/* ---- masthead ---- */
.masthead{border-bottom:1px solid var(--rule);background:var(--paper)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--heading);font:800 24px/1 var(--f-display);letter-spacing:.01em}
.brand svg{width:26px;height:26px;flex:none}
.masthead nav{display:flex;gap:20px;font-size:14.5px}
.masthead nav a{color:var(--muted);text-decoration:none}
.masthead nav a:hover,.masthead nav a[aria-current="page"]{color:var(--heading)}

/* ---- title block ---- */
.title{padding-top:clamp(44px,7vw,84px);padding-bottom:8px}
.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
h1{font:800 clamp(46px,7.5vw,86px)/0.95 var(--f-display);color:var(--heading);letter-spacing:.005em}
.standfirst{margin-top:20px;font-size:clamp(18px,2.2vw,21px);line-height:1.55;max-width:44rem;color:var(--text)}
.dates{margin-top:22px;font:400 13.5px/1.6 var(--f-mono);color:var(--muted)}

/* ---- the layout: contents rail + document ---- */
.doc{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;padding-top:40px;padding-bottom:96px;align-items:start}
@media (min-width:1000px){
  .doc{grid-template-columns:230px minmax(0,1fr);gap:56px}
  .toc{position:sticky;top:28px;max-height:calc(100dvh - 56px);overflow:auto}
}
.toc{font-size:14px;line-height:1.5}
.toc h2{font:500 11.5px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;counter-reset:toc}
.toc li{counter-increment:toc;display:flex;gap:9px}
.toc li::before{content:counter(toc);font:500 11.5px/1.6 var(--f-mono);color:var(--muted);flex:none;min-width:1.1em;text-align:right}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--heading)}

article{max-width:47rem;min-width:0}
article section{scroll-margin-top:24px;padding-top:38px}
article section + section{border-top:1px solid var(--rule-soft)}
article h2{font:600 clamp(23px,2.6vw,28px)/1.25 var(--f-body);color:var(--heading);margin-bottom:16px;display:flex;gap:14px;align-items:baseline}
article h2 .n{font:500 13px/1 var(--f-mono);color:var(--accent);flex:none;padding-top:2px}
article h3{font:600 17.5px/1.4 var(--f-body);color:var(--heading);margin:28px 0 10px}
article p{margin:0 0 15px}
article ul,article ol{margin:0 0 15px;padding-left:24px}
article li{margin:7px 0}
article li::marker{color:var(--muted)}
article section > *:last-child{margin-bottom:0}

/* ---- set pieces ---- */
.summary{background:var(--paper);border:1px solid var(--rule-soft);border-radius:18px;padding:clamp(22px,3vw,32px);box-shadow:var(--shadow);margin-bottom:8px}
.summary h2{font:500 11.5px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;display:block}
.summary dl{margin:0;display:grid;gap:16px}
@media (min-width:640px){.summary dl{grid-template-columns:13rem minmax(0,1fr);gap:16px 24px}}
.summary dt{font-weight:600;color:var(--heading);font-size:15.5px}
.summary dd{margin:0;font-size:15.5px;line-height:1.6}
.summary .foot{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--rule-soft);font-size:14px;color:var(--muted)}

.callout{background:var(--warn-bg);border:1px solid var(--warn-br);color:var(--warn-fg);border-radius:14px;padding:18px 20px;margin:0 0 22px;font-size:15.5px;line-height:1.6}
.callout strong{color:inherit}
.callout p{margin:0 0 10px}
.callout p:last-child{margin:0}

.caps{font-size:14.5px;line-height:1.65;background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:12px;padding:16px 18px;margin:0 0 15px}

table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px;display:block;overflow-x:auto;white-space:nowrap}
@media (min-width:700px){table{display:table;white-space:normal}}
th,td{text-align:left;padding:11px 14px 11px 0;border-bottom:1px solid var(--rule-soft);vertical-align:top}
th{font:500 11.5px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
td:last-child,th:last-child{padding-right:0}

.contact{background:var(--band);color:var(--on-band);border-radius:18px;padding:clamp(24px,3vw,34px);margin-top:8px}
.contact h2{color:var(--on-band)}
.contact p{color:var(--on-band-muted)}
.contact a{color:var(--mark)}
.contact address{font-style:normal;line-height:1.7;color:var(--on-band-muted)}

/* ---- footer ---- */
footer.site{border-top:1px solid var(--rule);margin-top:0}
footer.site .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:26px;padding-bottom:40px;font-size:14px;color:var(--muted)}
footer.site nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--heading)}

@media print{
  body{background:#fff;color:#000;font-size:11pt}
  .masthead nav,.toc,footer.site{display:none}
  .doc{grid-template-columns:1fr;padding-bottom:0}
  article{max-width:none}
  .contact{background:none;color:#000;border:1px solid #999}
  .contact h2,.contact p,.contact address,.contact a{color:#000}
  a{text-decoration:none}
}
