/* ════════════════════════════════════════════════════════════════════
   Shared styling for legal / policy pages.
   Mirrors the brand variables of the main site.
   ════════════════════════════════════════════════════════════════════ */
:root{
  --c-primary:#0f2742; --c-primary-2:#0a1c30; --c-primary-soft:#1c3a5c;
  --c-accent:#c6a24c; --c-accent-dark:#a8853a; --c-accent-soft:#f3ead4;
  --c-bg:#ffffff; --c-bg-alt:#f6f4ef; --c-ink:#15212e; --c-ink-soft:#50606f;
  --c-line:#e4e2db; --radius:14px; --radius-sm:9px; --maxw:880px;
  --shadow-sm:0 2px 10px rgba(15,39,66,.06); --shadow-md:0 14px 40px -16px rgba(15,39,66,.28);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-head:"Libre Baskerville",Georgia,"Times New Roman",serif;
  --font-body:"Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);color:var(--c-ink);background:var(--c-bg);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:var(--c-accent-dark);text-decoration:none;font-weight:600;}
a:hover{text-decoration:underline;}
h1,h2,h3{font-family:var(--font-head);color:var(--c-primary);line-height:1.2;margin:0;letter-spacing:-.01em;}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ── Header ── */
header.legal{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);}
.legal-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px;max-width:1160px;margin:0 auto;padding:0 24px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand-mark{width:44px;height:44px;border-radius:10px;background:linear-gradient(150deg,var(--c-primary),var(--c-primary-soft));color:var(--c-accent);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:1.2rem;box-shadow:var(--shadow-sm);}
.brand-name{font-family:var(--font-head);font-weight:700;font-size:1.18rem;color:var(--c-primary);line-height:1.1;}
.brand-tag{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent-dark);font-weight:700;}
.back-home{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--c-primary);font-size:.95rem;}
.back-home svg{width:17px;height:17px;}
.back-home:hover{color:var(--c-accent-dark);text-decoration:none;}

/* ── Page hero band ── */
.legal-hero{background:linear-gradient(155deg,var(--c-primary),var(--c-primary-2));color:#fff;padding:58px 0 52px;position:relative;overflow:hidden;}
.legal-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 90% -20%,rgba(198,162,76,.16),transparent 60%);}
.legal-hero .wrap{position:relative;max-width:1160px;}
.legal-hero .crumb{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent);font-weight:700;margin-bottom:14px;}
.legal-hero .crumb a{color:#cdd9e6;}
.legal-hero h1{color:#fff;font-size:clamp(2rem,4vw,2.8rem);}
.legal-hero .updated{margin-top:14px;color:#bcc9d8;font-size:.95rem;}

/* ── Content ── */
.legal-body{padding:54px 0 80px;}
.legal-body .lede{font-size:1.15rem;color:var(--c-ink-soft);margin:0 0 8px;}
.legal-body h2{font-size:1.5rem;margin:42px 0 14px;padding-top:6px;}
.legal-body h2:first-of-type{margin-top:24px;}
.legal-body h3{font-family:var(--font-body);font-weight:700;font-size:1.08rem;color:var(--c-primary);margin:24px 0 8px;}
.legal-body p{margin:0 0 16px;}
.legal-body ul,.legal-body ol{margin:0 0 18px;padding-left:22px;}
.legal-body li{margin-bottom:9px;}
.legal-body strong{color:var(--c-primary);}
.note{background:var(--c-bg-alt);border-left:3px solid var(--c-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:18px 22px;margin:22px 0;font-size:.96rem;color:var(--c-ink-soft);}
.note strong{color:var(--c-primary);}
.toc{background:var(--c-bg-alt);border:1px solid var(--c-line);border-radius:var(--radius);padding:22px 26px;margin:0 0 36px;}
.toc h2{font-family:var(--font-body);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent-dark);margin:0 0 12px;padding:0;}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:30px;}
.toc li{margin-bottom:7px;}
.toc a{color:var(--c-ink);font-weight:600;}
.contact-box{margin-top:40px;background:var(--c-primary);color:#fff;border-radius:var(--radius);padding:30px 32px;}
.contact-box h3{color:#fff;font-family:var(--font-head);font-size:1.3rem;margin-bottom:8px;}
.contact-box p{color:#cdd9e6;margin-bottom:6px;}
.contact-box a{color:var(--c-accent);}

/* ── Other-pages strip ── */
.related{border-top:1px solid var(--c-line);padding:30px 0;}
.related-links{display:flex;flex-wrap:wrap;gap:10px;}
.related-links a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--c-line);border-radius:100px;padding:9px 18px;color:var(--c-primary);font-size:.9rem;}
.related-links a:hover{border-color:var(--c-accent);background:var(--c-accent-soft);text-decoration:none;}
.related-links a[aria-current]{background:var(--c-primary);color:#fff;border-color:var(--c-primary);}

/* ── Footer ── */
footer.legal{background:var(--c-primary-2);color:#9fb0c2;font-size:.9rem;}
footer.legal .wrap{max-width:1160px;padding-top:34px;padding-bottom:34px;}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.foot-row .links{display:flex;gap:20px;flex-wrap:wrap;}
.foot-row a{color:#aebdce;font-weight:600;}
.foot-row a:hover{color:var(--c-accent);text-decoration:none;}
footer.legal .disclaimer{font-size:.78rem;color:#7e91a6;line-height:1.6;margin-top:18px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;}
.foot-credit{margin-top:14px;text-align:center;font-size:.82rem;color:#7e91a6;}
.foot-credit a{color:#cdd9e6;font-weight:600;}
.foot-credit a:hover{color:var(--c-accent);text-decoration:none;}

@media(max-width:640px){
  .toc ol{columns:1;}
  .legal-body{padding:38px 0 60px;}
  .back-home span{display:none;}
}
