/* ============================================================
   Shared styles for the legal / support pages.
   Tokens mirror index.html so the pages read as one site.
   ============================================================ */
:root{
  --surface:#FAF9F6;
  --surface-raised:#FFFFFF;
  --surface-sunk:#F2F0EA;

  --ink:#16181A;
  --ink-soft:#4E555C;
  --ink-faint:#646B71;

  --accent:#3F6B54;
  --accent-deep:#2E5040;
  --accent-wash:#EDF2EE;
  --accent-line:#C9D8CE;

  --line:#E4E1DA;
  --line-strong:#D4D0C6;
  --focus:#1F4D8F;

  --gutter:clamp(1.25rem,5vw,2.5rem);
  --font-display:"Fraunces","Iowan Old Style",Georgia,"Times New Roman",serif;
  --font-text:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

body{
  margin:0;background:var(--surface);color:var(--ink);
  font-family:var(--font-text);font-size:1.0625rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0;text-wrap:balance}
p,ul,ol{margin:0}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--accent-deep)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--accent);color:#fff;padding:.85rem 1.25rem;border-radius:0 0 8px 0;font-weight:500;text-decoration:none}
.skip:focus{left:0}

.wrap{width:100%;max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}

.masthead{background:rgba(250,249,246,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;max-width:1120px}
.brand{display:flex;align-items:center;gap:.6rem;min-height:44px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.01em}
.brand__mark{width:40px;height:34px;flex:none;display:block;object-fit:contain}
.masthead__link{font-size:1rem;color:var(--ink-soft);text-decoration:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
.masthead__link:hover{color:var(--accent)}

main{padding-block:clamp(3rem,8vw,5rem) clamp(4rem,9vw,6rem)}
.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.1rem}
h1{font-size:clamp(2rem,1.6rem + 2.1vw,3rem)}
.updated{margin-top:1.25rem;color:var(--ink-faint);font-size:.9375rem}
.intro{margin-top:1.75rem;font-size:1.1875rem;line-height:1.6;color:var(--ink-soft)}

h2{font-size:1.375rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
h2 + p,h2 + ul,h2 + ol,h2 + .callout{margin-top:1.1rem}
p + p,p + ul,p + ol,ul + p,ol + p,p + .callout,.callout + p,.callout + h2{margin-top:1.1rem}
main p,main li{color:var(--ink-soft)}
main strong{color:var(--ink);font-weight:600}
ul,ol{padding-left:1.35rem;display:grid;gap:.6rem}
li{padding-left:.25rem}

.callout{background:var(--surface-sunk);border:1px solid var(--line-strong);border-radius:12px;padding:1.35rem 1.5rem;font-size:1rem}
.callout--accent{background:var(--accent-wash);border-color:var(--accent-line)}

.contact-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1.5rem;padding:0;list-style:none}
@media (min-width:640px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-grid li{background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;padding:1.35rem 1.5rem;padding-left:1.5rem}
.contact-grid dt{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}
.contact-grid dd{margin:.4rem 0 0;font-size:1.0625rem;color:var(--ink)}
.contact-grid .meta{margin-top:.5rem;font-size:.9375rem;color:var(--ink-faint);display:block}

.back{display:inline-flex;align-items:center;gap:.5rem;margin-top:3.5rem;min-height:44px;font-weight:500;text-decoration:none}
.back:hover{text-decoration:underline}

.footer{background:var(--surface-sunk);border-top:1px solid var(--line);padding-block:2.75rem 2.25rem;font-size:.9375rem}
.footer .wrap{max-width:1120px}
.footer nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.75rem}
.footer nav a{color:var(--ink-soft);text-decoration:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
.footer nav a:hover{color:var(--accent);text-decoration:underline}
.footer .legal{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line-strong);color:var(--ink-faint);font-size:.875rem;display:grid;gap:1rem;max-width:88ch}
.footer .legal strong{color:var(--ink-soft)}
.footer .base{margin-top:1.75rem;color:var(--ink-faint);font-size:.875rem}
