/* Legal pages (privacy.html, terms.html). Same tokens as index.html, set for long reading. */
:root{
  /* Livery palette: Ink Navy, Paper, Slate, Signal Orange (see index.html) */
  --bg:#F4F1EA;
  --surface:#ECE8DF;
  --ink:#0F1B2D;
  --ink-2:#2E3A4B;
  --muted:#5B6575;
  --line:#DCD8CE;
  --line-2:#C9C6BE;
  --accent:#F05A1A;
  --accent-ink:#B4410B;
  --inv-bg:#0F1B2D;
  --inv-fg:#F4F1EA;
  --fill:#FCE3D6;

  --f-display:'Schibsted Grotesk',ui-sans-serif,system-ui,'Segoe UI',Roboto,Arial,sans-serif;
  --f-body:'Schibsted Grotesk',ui-sans-serif,system-ui,'Segoe UI',Roboto,Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
  --gutter:clamp(16px,4vw,40px);
  --max:1200px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0F1B2D;--surface:#16253A;--ink:#F4F1EA;--ink-2:#D3D8E0;
    --muted:#A3ABB8;--line:#263449;--line-2:#34435A;--accent:#F05A1A;
    --accent-ink:#FF8A57;--inv-bg:#F4F1EA;--inv-fg:#0F1B2D;--fill:#4A2A18;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1B2D;--surface:#16253A;--ink:#F4F1EA;--ink-2:#D3D8E0;
    --muted:#A3ABB8;--line:#263449;--line-2:#34435A;--accent:#F05A1A;
    --accent-ink:#FF8A57;--inv-bg:#F4F1EA;--inv-fg:#0F1B2D;--fill:#4A2A18;color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-0.025em;line-height:1.1}
p{margin:0;text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}

/* nav (matches index.html) */
.nav{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:28px;height:64px}
.mark{display:flex;align-items:center;text-decoration:none;font-size:23px;border-radius:4px}

/* Livery logo (same component as Core/livery-logo.css in the app; inline SVG, sizes in em, set font-size on the parent) */
.lv-logo,.lv-mark{--lv-ink:var(--ink);--lv-accent:#F05A1A}
.lv-logo,.lv-mark{display:inline-block;flex:none;vertical-align:middle;fill:var(--lv-ink);overflow:visible}
.lv-logo{height:1.2em;width:auto;aspect-ratio:430/108.1}
.lv-mark{height:1em;width:auto;aspect-ratio:94/80}
.lv-logo .lv-lead,.lv-mark .lv-lead{fill:var(--lv-accent)}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:15px}
.nav-links a{text-decoration:none;color:var(--ink-2)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}
.nav-links a[aria-current="page"]{font-weight:650}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:9px 14px;font-weight:650;font-size:14px;text-decoration:none;border:1px solid var(--inv-bg);background:var(--inv-bg);color:var(--inv-fg);white-space:nowrap;transition:background .15s}
.btn:hover{background:color-mix(in oklch,var(--inv-bg) 86%,var(--accent))}

/* header */
.lg-head{padding-block:clamp(48px,7vw,96px) clamp(32px,4vw,48px);border-bottom:2px solid var(--ink)}
.lg-head .kicker{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.lg-head h1{font-size:clamp(2.4rem,5.6vw,4.4rem);font-weight:800;letter-spacing:-0.038em;line-height:1;margin-top:14px}
.lg-head .meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:22px;font-size:14.5px;color:var(--muted)}
.lg-head .meta b{color:var(--ink-2);font-weight:600}

/* body: contents rail + prose */
.lg-body{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:clamp(32px,6vw,88px);padding-block:clamp(36px,5vw,56px) 0}
.toc{position:sticky;top:96px;align-self:start;font-size:14px}
.toc p{font-weight:650;margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:toc}
.toc li{counter-increment:toc}
.toc a{display:grid;grid-template-columns:26px 1fr;padding:5px 0;text-decoration:none;color:var(--ink-2);line-height:1.35}
.toc a::before{content:counter(toc);font-family:var(--f-mono);font-size:12px;color:var(--muted);padding-top:1px}
.toc a:hover{color:var(--ink)}

.prose{max-width:68ch;counter-reset:sec}
.short{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,28px);margin-bottom:clamp(40px,5vw,56px)}
.short h2{font-size:1.25rem;font-weight:750;letter-spacing:-0.02em}
.short ul{margin:14px 0 0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2);font-size:16px}
.prose section{counter-increment:sec;padding-top:8px;margin-bottom:clamp(36px,4.5vw,52px)}
.prose section > h2{font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:750;display:flex;gap:14px;align-items:baseline}
.prose section > h2::before{content:counter(sec);font-family:var(--f-mono);font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted);min-width:20px}
.prose h3{font-size:1.1rem;font-weight:700;letter-spacing:-0.015em;margin-top:26px}
.prose p,.prose ul,.prose ol,.prose dl,.prose .tbl{margin-top:14px;color:var(--ink-2)}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:8px}
.prose li::marker{color:var(--muted)}
.prose b,.prose strong{color:var(--ink);font-weight:650}
.prose a{color:var(--accent-ink);text-underline-offset:3px}
.prose code{font-family:var(--f-mono);font-size:0.84em;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:var(--ink)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line)}
.tbl th{font-weight:650;color:var(--ink);background:var(--surface);font-size:13.5px}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{color:var(--ink);font-weight:600;width:30%}
.caps{text-transform:uppercase;font-size:14.5px;letter-spacing:0.01em}

/* details the owner must fill in before publishing */
.fill{background:var(--fill);color:var(--ink);border-radius:4px;padding:0 4px;font-style:normal}

footer{margin-top:clamp(72px,10vw,128px);border-top:1px solid var(--line);padding-block:40px;color:var(--muted);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
footer a{text-decoration:none}
footer a:hover,footer a[aria-current="page"]{color:var(--ink)}
.legal{display:inline-flex;gap:18px;margin-left:18px}

@media (max-width:860px){
  .lg-body{grid-template-columns:1fr}
  .toc{position:static;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
  .nav-links{gap:18px}
}
@media (max-width:560px){
  body{font-size:16px}
  .nav .wrap{gap:14px}
  .nav .btn{display:none}
  .legal{margin-left:0;display:flex;margin-top:8px}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
