/* legal.css — document styling for the privacy policy and terms pages.
   Loads on top of site.css, which already supplies the tokens, the
   header/footer chrome, buttons and the motion primitives. */

body{background:var(--paper);}

/* ---------- page head ---------- */
.phead{background:var(--sand);padding:70px 0 60px;border-bottom:1px solid rgba(8,58,79,.1);
       position:relative;overflow:hidden;}
.phead::before{content:'';position:absolute;width:620px;height:620px;border-radius:50%;pointer-events:none;
               background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,0) 68%);
               top:-300px;right:-160px;}
.phead .wrap{position:relative;z-index:1;}
.phead .crumb{margin-bottom:18px;}
.phead h1{font-size:clamp(32px,5vw,50px);}
.phead .upd{margin-top:20px;display:inline-flex;align-items:center;gap:9px;background:#fff;
            border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:700;color:var(--muted);}
.phead .upd i{color:var(--teal-dk);}
@media (max-width:600px){ .phead{padding:44px 0 38px;} }

/* ---------- layout ---------- */
.legalwrap{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start;padding:64px 0 96px;}

/* on-this-page rail — the active link tracks the section you're reading */
.toc{position:sticky;top:calc(var(--nav-h,75px) + 24px);}
.toc h4{margin:0 0 14px;font-size:11.5px;font-weight:800;letter-spacing:.11em;
        text-transform:uppercase;color:var(--muted);}
.toc a{display:block;font-size:14px;font-weight:600;color:var(--muted);
       padding:7px 0 7px 14px;border-left:2px solid rgba(8,58,79,.14);
       transition:color .18s ease,border-color .18s ease,padding-left .18s ease;}
.toc a:hover{color:var(--navy);border-left-color:var(--teal);padding-left:18px;}
.toc a[aria-current]{color:var(--navy);border-left-color:var(--gold);border-left-width:2.5px;}

.doc{max-width:760px;}
.doc section{padding:0 0 40px;scroll-margin-top:calc(var(--nav-h,75px) + 28px);}
.doc h2{font-size:26px;margin-bottom:16px;}
.doc h3{font-size:17.5px;margin:26px 0 10px;}
.doc p{color:var(--muted);font-size:16px;margin-bottom:14px;}
.doc ul,.doc ol{color:var(--muted);font-size:16px;line-height:1.72;padding-left:22px;margin:0 0 16px;}
.doc li{margin-bottom:9px;}
.doc li::marker{color:var(--teal);}
.doc b,.doc strong{color:var(--navy);}
.doc a{color:var(--teal-dk);font-weight:600;}
.doc a:hover{color:var(--navy);}
.doc .lead{font-size:17.5px;color:var(--ink);margin-bottom:22px;}

.callout{background:var(--aqua-lt);border-left:4px solid var(--teal);border-radius:0 var(--r) var(--r) 0;
         padding:20px 24px;margin:0 0 24px;}
.callout p{color:var(--ink-2);margin:0;font-size:15px;}
.callout p+p{margin-top:10px;}
.callout.warn{background:#FBF3E2;border-left-color:var(--gold);}

.contactbox{background:#fff;border:1px solid rgba(8,58,79,.14);border-radius:var(--r);
            padding:26px 28px;margin-top:8px;}
.contactbox .nm{font-weight:800;font-size:17px;margin-bottom:3px;}
.contactbox .rl{font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
                color:var(--teal-dk);margin-bottom:16px;}
.contactbox a,.contactbox div.ln{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;
                                 font-weight:600;margin-bottom:10px;color:var(--ink);}
.contactbox a:hover{color:var(--teal-dk);}
.contactbox i{color:var(--teal);font-size:15px;margin-top:2px;flex-shrink:0;}

@media (max-width:940px){
  .legalwrap{grid-template-columns:1fr;gap:32px;padding:44px 0 64px;}
  .toc{position:static;background:#fff;border:1px solid rgba(8,58,79,.14);
       border-radius:var(--r);padding:20px 22px;}
  .toc a{padding:6px 0 6px 12px;}
  .toc a:hover{padding-left:16px;}
}
@media (max-width:600px){ .doc h2{font-size:22px;} }
