/* Shared styles for the legal pages (privacy, terms, cookies, refunds).
   Tokens mirror index.html; keep the two in step if the palette changes. */

/* ─────────── tokens ─────────── */
:root{
  --navy:#0B1826; --navy-2:#122438;
  --brass:#CFA84F; --brass-soft:#E0BE74;
  --on-navy:#EEF1F4; --on-navy-mute:#93A4B6;
  --surface:#F0F2EF; --surface-2:#E6E9E5;
  --text:#0F1A23; --text-mute:#53636E; --rule:#D3D8D4;
  --accent-ink:#7C5A0F;
  --note-bg:rgba(207,168,79,.10); --note-br:rgba(124,90,15,.22);

  --sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --gutter:clamp(1rem,5.5vw,7rem);
  --maxw:1320px;
  --r:16px;
}
[data-theme="dark"]{
  --surface:#101F2E; --surface-2:#17293A;
  --text:#E9EEF3; --text-mute:#94A5B6; --rule:#24384B;
  --accent-ink:#DCB55C;
  --note-bg:rgba(207,168,79,.09); --note-br:rgba(207,168,79,.28);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --surface:#101F2E; --surface-2:#17293A;
    --text:#E9EEF3; --text-mute:#94A5B6; --rule:#24384B;
    --accent-ink:#DCB55C;
    --note-bg:rgba(207,168,79,.09); --note-br:rgba(207,168,79,.28);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.72;-webkit-font-smoothing:antialiased;
  transition:background-color .25s ease,color .25s ease}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.022em;line-height:1.2}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:20;background:var(--brass);color:#12202B;
  padding:.6rem 1rem;border-radius:8px;font-weight:700}
.wrap{padding-inline:var(--gutter);max-width:var(--maxw);margin-inline:auto}

/* ─────────── header ─────────── */
.topbar{position:sticky;top:0;z-index:10;background:rgba(11,24,38,.97);color:var(--on-navy);
  box-shadow:0 1px 0 rgba(238,241,244,.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.masthead{display:flex;align-items:center;gap:1.5rem;height:4.25rem;font-size:.9375rem}
.brand{display:inline-flex;margin-right:auto}
.brand img{display:block;width:158px;height:32px}
.nav{display:flex;gap:1.5rem}
.nav a{color:var(--on-navy-mute);text-decoration:none;transition:color .18s}
.nav a:hover{color:var(--brass-soft)}
.nav a[aria-current="page"]{color:var(--on-navy);box-shadow:0 2px 0 var(--brass)}
.tt{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none;
  background:rgba(238,241,244,.06);border:1px solid rgba(238,241,244,.18);color:var(--on-navy);
  transition:background .18s,border-color .18s}
.tt:hover{background:rgba(207,168,79,.16);border-color:var(--brass)}
.tt svg{width:18px;height:18px}
.tt .moon{display:none}
[data-theme="dark"] .tt .sun{display:none}
[data-theme="dark"] .tt .moon{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .tt .sun{display:none}
  :root:not([data-theme="light"]) .tt .moon{display:block}
}
@media (max-width:48rem){.nav{display:none}}

/* ─────────── title band ─────────── */
.band{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 90% at 6% 100%,rgba(207,168,79,.14),transparent 68%),
             radial-gradient(45% 80% at 94% 0%,rgba(58,110,160,.16),transparent 70%)}
.band>*{position:relative}
.band .wrap{padding-block:clamp(2.75rem,7vw,5rem) clamp(2.5rem,6vw,4rem)}
.eyebrow{color:var(--brass);font-weight:700;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .9rem}
.band h1{font-size:clamp(2.25rem,1.4rem + 4vw,4rem);font-weight:800;letter-spacing:-.032em;line-height:1.08;
  background:linear-gradient(168deg,#FFFFFF 10%,#BFCCDA 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.band .meta{margin:1.25rem 0 0;color:var(--on-navy-mute);font-size:.9375rem}

/* ─────────── body layout ─────────── */
.layout{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,46rem);
  gap:clamp(2.5rem,6vw,5.5rem);padding-block:clamp(2.5rem,6vw,4.5rem) clamp(4rem,9vw,6.5rem)}
@media (max-width:64rem){.layout{grid-template-columns:minmax(0,1fr)}}

.toc{position:sticky;top:6rem;align-self:start;font-size:.875rem;line-height:1.45}
.toc h2{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-bottom:.8rem}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.toc a{display:block;padding:.4rem 0 .4rem 1rem;margin-left:-1px;border-left:2px solid transparent;
  color:var(--text-mute);text-decoration:none;transition:color .18s,border-color .18s}
.toc a:hover{color:var(--text);border-left-color:var(--brass)}
@media (max-width:64rem){
  .toc{position:static;border:1px solid var(--rule);border-radius:var(--r);padding:1.1rem 1.25rem;background:var(--surface-2)}
  .toc ol{border-left:0;columns:2 14rem;column-gap:1.5rem}
  .toc a{padding:.3rem 0;border-left:0}
}

/* ─────────── prose ─────────── */
.prose{min-width:0}
.prose>section{padding-top:2.25rem;margin-top:2.25rem;border-top:1px solid var(--rule)}
.prose>section:first-of-type{padding-top:0;margin-top:0;border-top:0}
.prose h2{font-size:clamp(1.375rem,1.1rem + .9vw,1.75rem);letter-spacing:-.024em;margin-bottom:1rem}
.prose h3{font-size:1.0625rem;margin:1.75rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin:0 0 1rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin-bottom:.45rem}
.prose li::marker{color:var(--accent-ink)}
.prose strong{font-weight:700}
.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px;overflow-wrap:anywhere}
.prose a:hover{text-decoration-thickness:2px}
.prose code{font-size:.9em;background:var(--surface-2);border:1px solid var(--rule);border-radius:5px;padding:.05em .35em}
.prose address{font-style:normal}

.summary{background:var(--note-bg);border:1px solid var(--note-br);border-radius:var(--r);
  padding:clamp(1.25rem,3vw,1.75rem);margin-bottom:2.5rem}
.summary h2{font-size:1.0625rem;margin-bottom:.75rem;color:var(--accent-ink)}
.summary ul{margin:0}
.summary li:last-child{margin-bottom:0}

.quote{border-left:3px solid var(--brass);padding:.2rem 0 .2rem 1.1rem;margin:1.25rem 0;font-weight:600}

.table{overflow-x:auto;margin:1rem 0 1.5rem;border:1px solid var(--rule);border-radius:var(--r)}
.table table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5;min-width:34rem}
.table th,.table td{text-align:left;vertical-align:top;padding:.8rem 1rem;border-bottom:1px solid var(--rule)}
.table tr:last-child td{border-bottom:0}
.table th{background:var(--surface-2);font-weight:700;font-size:.875rem}
.table td:first-child{font-weight:600}

.card{border:1px solid var(--rule);border-radius:var(--r);background:var(--surface-2);
  padding:1.25rem 1.4rem;margin:1rem 0 1.5rem;line-height:1.75}

/* ─────────── footer ─────────── */
.foot{background:var(--navy);color:var(--on-navy-mute);font-size:.875rem}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2.5rem;padding-block:2rem 2.75rem}
.foot .brand img{width:132px;height:27px}
.foot nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.foot nav a{color:var(--on-navy-mute);text-decoration:none;transition:color .18s}
.foot nav a:hover{color:var(--brass-soft)}
.foot .legal{width:100%;padding-top:1.25rem;border-top:1px solid rgba(238,241,244,.12);line-height:1.6}
