/* Public documents continue the landing's palette and editorial typography. */
:root {
  --bg:#f8f7f3; --surface:#ffffff; --surface-raised:#edf1eb;
  --ink:#203b36; --text:#39534c; --muted:#5c7069; --line:#d1dcd3;
  --mint:#267653; --mint-ink:#ffffff;
  --paper:var(--bg); --accent:var(--mint); --dark:var(--ink);
  --brand-wordmark-color:var(--ink); --brand-icon-color:var(--ink); --brand-ai-color:var(--mint);
  color-scheme:light;
}
:root[data-theme="dark"] {
  --bg:#15111d; --surface:#1e1828; --surface-raised:#282031;
  --ink:#f2edf6; --text:#ccc4d3; --muted:#a69cad; --line:#443951;
  --mint:#b7a3ff; --mint-ink:#211835; color-scheme:dark;
}
:root[data-theme="high-contrast"] {
  --bg:#000; --surface:#000; --surface-raised:#000; --ink:#fff;
  --text:#fff; --muted:#fff; --line:#fff; --mint:#fff; --mint-ink:#000;
}
.public-page,.legal-body { background:var(--bg); color:var(--text); font:400 17px/1.7 Geist,system-ui,sans-serif; margin:0; }
.public-page h1,.public-page h2,.legal-body h1,.legal-document h2 {
  font-family:Newsreader,Georgia,serif; font-weight:500; letter-spacing:-.025em; color:var(--ink);
}
.article-head h1,.legal-hero h1 { font-size:clamp(2.6rem,5.5vw,4.8rem); line-height:1.08; }
.article-body h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.public-page .eyebrow,.legal-eyebrow { color:var(--mint); font-weight:600; letter-spacing:.12em; }
.public-page .lede,.public-page .article-body strong { color:var(--ink); }
.public-page a:hover { color:var(--mint); }
.public-page :focus-visible,.legal-body :focus-visible { outline:3px solid var(--mint); outline-offset:4px; }
.public-page .site-header { min-height:92px; padding-block:20px; gap:24px; background:var(--bg); }
.public-page .site-header .wordmark { display:inline-flex; align-items:center; gap:10px; --logo-height:34px; flex-shrink:0; }
.public-page .site-header nav { font-size:1rem; font-weight:500; }
.public-page .site-header nav a { display:inline-flex; align-items:center; min-height:44px; }
.public-page .nav-product { background:var(--mint); color:var(--mint-ink); padding:12px 20px; border-radius:8px; }
.public-page .nav-product:hover { background:var(--ink); color:var(--bg); }
.public-page .answer,.public-page .example { background:var(--surface-raised); color:var(--text); border:1px solid var(--line); border-radius:8px; }
.public-page .answer p { color:var(--text); }
.public-page .answer strong { color:var(--mint); }
.public-page .example { border-left:3px solid var(--mint); }
.public-page .article-body th { background:var(--surface-raised); }
.public-page .related li a,.public-page .product-return { background:var(--surface); border-color:var(--line); }
.public-page .site-footer { background:var(--surface-raised); color:var(--text); border-top:1px solid var(--line); font-size:.9rem; }
.public-page .site-footer a { color:var(--mint); }
.public-page .skip,.legal-body .skip { position:absolute; left:-10000px; }
.public-page .skip:focus,.legal-body .skip:focus { left:16px; top:16px; z-index:100; background:var(--surface); color:var(--ink); padding:12px; }
.legal-body,.legal-body[data-theme],html[data-theme] .legal-body {
  --legal-primary:var(--mint); --legal-primary-dark:var(--mint); --legal-primary-readable:var(--mint);
  --legal-bg:var(--bg); --legal-bg-soft:var(--bg); --legal-surface:var(--surface);
  --legal-surface-solid:var(--surface); --legal-surface-muted:var(--surface-raised);
  --legal-border:var(--line); --legal-border-strong:var(--line); --legal-text:var(--text);
  --legal-heading:var(--ink); --legal-muted:var(--muted); --legal-soft:var(--muted);
  --legal-shadow:none; --legal-shadow-soft:none;
  background:var(--bg); color:var(--text); color-scheme:inherit;
}
.legal-body .legal-topbar { min-height:92px; background:var(--bg); border-color:var(--line); box-shadow:none; backdrop-filter:none; }
.legal-body .legal-topnav a { font-size:1rem; min-height:44px; }
.legal-body .legal-topnav { display:flex; flex-wrap:wrap; gap:8px 12px; }
.legal-body .legal-topnav a { flex:none; min-width:max-content; }
.legal-body .legal-hero { padding-block:48px 24px; }
.legal-body .legal-document,.legal-body .legal-toc { border-radius:8px; box-shadow:none; backdrop-filter:none; }
.legal-body .legal-toc h2 { font:600 1rem Geist,system-ui,sans-serif; }
.legal-body .legal-brand-wordmark { height:30px; }
@media(max-width:700px) {
  .public-page .site-header { padding:20px 24px; min-height:76px; }
  .public-page .site-header .wordmark { --logo-height:28px; }
  .public-page .site-header nav { gap:8px 20px; }
  .legal-body .legal-hero { padding-block:24px 16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(forced-colors:active) {
  :root,:root[data-theme] { --bg:Canvas; --surface:Canvas; --surface-raised:Canvas; --ink:CanvasText; --text:CanvasText; --muted:CanvasText; --line:CanvasText; --mint:LinkText; --mint-ink:Canvas; }
  .public-page .nav-product { border:1px solid ButtonText; }
}
