/* Shared look for the legal pages (privacy, terms, privacy choices). Matches partners.html. */
:root{
  --paper:#F3F6F7; --surface:#FFFFFF;
  --ink:#10202B; --ink-soft:#4C5F6D; --ink-faint:#5E6F7B;
  --line:#D9E1E5;
  --night:#0D2132; --night-ink:#DCE7EE; --night-soft:#9BB2C2;
  --beam:#9A6612; --beam-lit:#E5B254; --beam-wash:#F6EAD2;
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#09151E; --surface:#0F1F2B;
    --ink:#E6EDF2; --ink-soft:#A0B2BF; --ink-faint:#8A9BA8;
    --line:#1D3243;
    --night:#050D14; --night-ink:#E6EDF2; --night-soft:#9BB2C2;
    --beam:#E5B254; --beam-lit:#F2CB83; --beam-wash:#241C0D;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#09151E; --surface:#0F1F2B;
  --ink:#E6EDF2; --ink-soft:#A0B2BF; --ink-faint:#8A9BA8;
  --line:#1D3243;
  --night:#050D14; --night-ink:#E6EDF2; --night-soft:#9BB2C2;
  --beam:#E5B254; --beam-lit:#F2CB83; --beam-wash:#241C0D;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
html{scroll-padding-top:16px}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
.wrap{
  width:100%; max-width:720px; margin-inline:auto;
  padding-left:max(16px,env(safe-area-inset-left,0px));
  padding-right:max(16px,env(safe-area-inset-right,0px));
}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--ink);padding:8px 12px;border-radius:6px;z-index:10}
.skip:focus{left:8px}
.topbar{background:var(--night)}
.topbar .wrap{display:flex; align-items:center; gap:1rem; padding-block:.7rem; flex-wrap:wrap}
.mark{display:flex; align-items:center; gap:.5rem; text-decoration:none; color:var(--night-ink); margin-right:auto; min-height:44px}
.mark b{font-family:var(--font-display); font-size:1.2rem; font-weight:600; letter-spacing:-.015em}
.mark b span{color:var(--beam-lit)}
.topbar a.back{color:var(--night-soft); text-decoration:none; font-size:.9rem; display:inline-flex; align-items:center; min-height:44px}
.topbar a.back:hover{color:var(--night-ink)}

main .wrap{padding-block:clamp(2rem,5vw,3rem)}
h1{font-family:var(--font-display); font-weight:600; font-size:clamp(1.8rem,4.4vw,2.4rem); margin:0; letter-spacing:-.018em; line-height:1.15}
h2{font-family:var(--font-display); font-weight:600; font-size:1.35rem; margin:2.4rem 0 0; letter-spacing:-.01em; line-height:1.25}
h3{font-size:1.02rem; margin:1.5rem 0 0}
p,ul,ol{margin:.8rem 0 0}
ul,ol{padding-left:1.3rem}
li{margin-top:.4rem}
li::marker{color:var(--beam)}
.date{font-size:.88rem; color:var(--ink-faint); margin:.5rem 0 0}
.lede{font-size:1.08rem; color:var(--ink-soft); margin-top:1.1rem}
a{color:var(--beam); text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--beam); outline-offset:2px}

.summary{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:1.1rem 1.3rem; margin-top:1.6rem}
.summary h2{margin-top:0; font-size:1.15rem}
.summary ul{margin-top:.5rem}
.toc{margin-top:1.4rem; font-size:.95rem}
.toc ol{columns:2; column-gap:2rem}
@media (max-width:560px){.toc ol{columns:1}}

table{width:100%; border-collapse:collapse; margin-top:1rem; font-size:.93rem}
th,td{text-align:left; vertical-align:top; padding:.65rem .7rem; border-bottom:1px solid var(--line)}
th{font-weight:600; background:var(--surface)}
.table-scroll{overflow-x:auto}

/* data tables: framed card, tinted header, fixed columns, subtle zebra; rows become labelled cards on phones */
.table-scroll:has(.data){margin-top:1.2rem; border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden}
table.data{margin:0; table-layout:fixed; font-size:.92rem; line-height:1.55}
table.data th:nth-child(1){width:30%}
table.data th:nth-child(2){width:40%}
table.data th:nth-child(3){width:30%}
table.data thead th{background:var(--beam-wash); color:var(--ink); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.8rem 1rem; border-bottom:1px solid var(--line)}
table.data td{padding:.9rem 1rem; color:var(--ink-soft)}
table.data td:first-child{color:var(--ink); font-weight:600}
table.data td + td, table.data th + th{border-left:1px solid var(--line)}
table.data tbody tr:nth-child(even) td{background:color-mix(in oklab, var(--paper) 55%, var(--surface))}
table.data tbody tr:last-child td{border-bottom:0}
@media (max-width:640px){
  .table-scroll:has(.data){border:0; background:none; border-radius:0}
  table.data, table.data tbody, table.data tr, table.data td{display:block; width:auto}
  table.data thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
  table.data tr{border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:.4rem 0; margin-bottom:.8rem}
  table.data td, table.data tbody tr:nth-child(even) td{border:0; background:none; padding:.45rem 1rem}
  table.data td + td, table.data tbody tr:nth-child(even) td + td{border-left:0; border-top:1px dashed var(--line)}
  table.data td::before{content:attr(data-label); display:block; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--beam); margin-bottom:.15rem}
}

.fill{color:var(--beam); background:var(--beam-wash); padding:0 .3rem; border-radius:3px; font-weight:600}
.note{background:var(--beam-wash); border-left:3px solid var(--beam-lit); padding:.8rem 1rem; border-radius:0 8px 8px 0; margin-top:1.2rem; font-size:.95rem}
.status{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:1rem 1.2rem; margin-top:1.4rem}
.status strong{display:block; font-size:1.05rem}
.status.on{border-color:#2f8a4f}
.foot{border-top:1px solid var(--line); margin-top:3rem; padding-top:1.2rem; font-size:.9rem; color:var(--ink-soft)}
.foot a{display:inline-flex; align-items:center; min-height:44px; margin-right:1.2rem}

.mark img{display:block;height:48px;width:auto}
.with-note{margin-top:2rem;padding:.8rem 1rem;border-left:3px solid var(--beam-lit);background:var(--beam-wash)}
