/* The legal pages: privacy, cookies, terms, refunds. Loaded after blog.css,
   which supplies the tokens and the shell. A legal page is read in two ways —
   skimmed for one answer, or read end to end — so it gets a rail that tracks
   where you are, a summary that answers the common questions without scrolling,
   and tables wherever a list of facts beats a paragraph. */

.legal-page{display:block;padding-bottom:clamp(56px,8vw,96px)}
@media(min-width:1000px){
  .legal-page{display:grid;gap:clamp(32px,4vw,64px);
    grid-template-columns:minmax(0,232px) minmax(0,1fr);align-items:start}
}

/* ── heading ─────────────────────────────────────────────────────────── */
.legal-head{grid-column:1/-1;padding-block:clamp(30px,4vw,48px) clamp(20px,2.4vw,28px);
  border-bottom:1px solid var(--line);margin-bottom:clamp(26px,3.2vw,40px)}
.legal-head h1{margin:12px 0 0;font-weight:800;letter-spacing:-.034em;line-height:1.06;
  font-size:clamp(2rem,4.2vw,3rem);text-wrap:balance}
.legal-head .updated{margin:12px 0 0;font-size:.87rem;color:var(--muted)}
.legal-head .updated b{color:var(--ink);font-weight:700}
.legal-head .back{display:flex;width:fit-content;margin:0}

/* ── the rail ────────────────────────────────────────────────────────── */
.rail{display:none}
@media(min-width:1000px){
  .rail{display:block;position:sticky;top:clamp(20px,3vh,34px)}
  .rail h2{margin:0 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.11em;
    text-transform:uppercase;color:var(--muted)}
  .rail ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;
    counter-reset:rail}
  .rail a{display:flex;gap:10px;padding:7px 10px;border-radius:9px;
    font-size:.88rem;line-height:1.35;font-weight:600;color:var(--muted);
    transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}
  .rail li{counter-increment:rail}
  .rail a::before{content:counter(rail);flex:none;width:1.4em;
    font-variant-numeric:tabular-nums;color:var(--navy);opacity:.55;font-weight:800}
  .rail a:hover{background:var(--wash);color:var(--ink)}
}

/* ── the summary card ────────────────────────────────────────────────── */
.summary{background:var(--wash);border:1px solid var(--line);border-radius:18px;
  padding:clamp(20px,2.6vw,28px);margin:0 0 clamp(30px,3.6vw,44px)}
.summary h2{margin:0 0 4px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}
.summary > p{margin:0 0 18px;font-size:.92rem;line-height:1.6;color:var(--muted)}
.summary dl{margin:0;display:grid;gap:14px}
@media(min-width:640px){.summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 26px}}
.summary dt{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--navy);margin:0 0 3px}
.summary dd{margin:0;font-size:.93rem;line-height:1.55}
.summary a{color:var(--navy);font-weight:700;text-decoration:underline;
  text-decoration-color:rgba(26,58,117,.3);text-underline-offset:3px}

/* ── body ────────────────────────────────────────────────────────────── */
.legal-body{max-width:74ch}
.legal-body section{scroll-margin-top:24px;padding-top:clamp(18px,2.2vw,26px)}
.legal-body section + section{border-top:1px solid var(--line);
  margin-top:clamp(26px,3.2vw,38px)}
.legal-body h2{display:flex;gap:12px;margin:0 0 14px;font-weight:800;
  letter-spacing:-.024em;line-height:1.25;font-size:clamp(1.16rem,1.7vw,1.4rem)}
.legal-body h2 .n{flex:none;color:var(--navy);opacity:.5;
  font-variant-numeric:tabular-nums}
.legal-body h3{margin:24px 0 8px;font-weight:800;font-size:1rem;letter-spacing:-.018em}
.legal-body p{margin:0 0 14px;font-size:.98rem;line-height:1.72;color:rgba(10,10,10,.8)}
.legal-body strong{color:var(--ink);font-weight:700}
.legal-body ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:9px}
.legal-body li{display:flex;gap:11px;align-items:flex-start;
  font-size:.98rem;line-height:1.65;color:rgba(10,10,10,.8)}
.legal-body li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;
  background:var(--navy);opacity:.45;margin-top:10px}
.legal-body a{color:var(--navy);font-weight:600;text-decoration:underline;
  text-decoration-color:rgba(26,58,117,.28);text-underline-offset:3px}

/* ── tables ──────────────────────────────────────────────────────────── */
.t-scroll{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);
  border-radius:14px}
.legal-body table{width:100%;border-collapse:collapse;font-size:.92rem;
  min-width:520px}
.legal-body th,.legal-body td{text-align:left;vertical-align:top;padding:11px 14px;
  line-height:1.55;border-bottom:1px solid var(--line)}
.legal-body tbody tr:last-child td{border-bottom:0}
.legal-body th{font-weight:800;font-size:.74rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--navy);background:var(--wash);
  white-space:nowrap}

/* ── callouts ────────────────────────────────────────────────────────── */
.short{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--navy);
  border-radius:0 12px 12px 0;padding:14px 18px;margin:0 0 18px}
.short p{margin:0;font-size:.93rem;line-height:1.6;color:var(--muted)}
.short b{color:var(--ink);font-weight:700}

.note{background:rgba(22,163,74,.06);border:1px solid rgba(22,163,74,.24);
  border-radius:12px;padding:14px 18px;margin:0 0 18px}
.note p{margin:0;font-size:.93rem;line-height:1.6;color:#14532D}

/* ── contact block ───────────────────────────────────────────────────── */
.contact-card{background:var(--wash);border:1px solid var(--line);border-radius:16px;
  padding:clamp(18px,2.2vw,24px);margin:6px 0 0}
.contact-card p{margin:0 0 6px;font-size:.95rem}
.contact-card p:last-child{margin:0}

@media print{
  .nav,.rail,.foot,.back{display:none}
  .legal-page{display:block}
  .legal-body a{text-decoration:none;color:inherit}
  .t-scroll{overflow:visible}
}
