/* Shared styling for Sumptus legal & contact pages.
   Mirrors the design tokens used in index.html. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --blue:#c4a466; --blue-lt:#d8c08a; --blue-dim:rgba(196,164,102,.12);
  --blue-border:rgba(196,164,102,.38);
  --gold-ink:#9c7b33; --gold-deep:#a8843c;
  --navy:#0a0e1a; --slate:#4a4640; --muted:#9a9284; --dim:#d8d1c4;
  --bg:#ffffff; --surface:#faf8f4; --surface-alt:#f3efe7; --border:#e7e2d8;
  --green:#16a34a;
}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--navy);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.7;
}
a{color:var(--gold-ink);text-decoration:none;}
a:hover{text-decoration:underline;}
.mono{font-family:'DM Mono',ui-monospace,monospace;}

/* Header */
.page-nav{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;padding:0 40px;background:#fff;border-bottom:1px solid var(--border);
}
.nav-logo{display:flex;align-items:center;gap:10px;}
.nav-mark{
  width:32px;height:32px;border-radius:8px;background:var(--blue);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:var(--navy);letter-spacing:-1px;flex-shrink:0;
}
.nav-wordmark{font-size:17px;font-weight:800;color:var(--navy);letter-spacing:-.3px;}
.nav-back{font-size:14px;font-weight:500;color:var(--slate);}
.nav-back:hover{color:var(--navy);text-decoration:none;}

/* Document body */
.doc{max-width:760px;margin:0 auto;padding:56px 40px 96px;}
.doc-eyebrow{
  font-family:'DM Mono',ui-monospace,monospace;font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px;
}
.doc h1{font-size:clamp(30px,5vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px;}
.doc-updated{font-size:13px;color:var(--muted);margin-bottom:8px;}
.doc-intro{font-size:16px;color:var(--slate);margin:18px 0 28px;}
.doc h2{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:36px 0 12px;padding-top:8px;}
.doc h3{font-size:15px;font-weight:700;margin:22px 0 8px;color:var(--navy);}
.doc p{font-size:15px;color:var(--slate);margin-bottom:14px;}
.doc ul,.doc ol{margin:0 0 16px 22px;}
.doc li{font-size:15px;color:var(--slate);margin-bottom:8px;}
.doc strong{color:var(--navy);font-weight:600;}
.doc hr{border:none;border-top:1px solid var(--border);margin:32px 0;}
.callout{
  background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--blue);
  border-radius:10px;padding:16px 20px;margin:20px 0;font-size:14px;color:var(--slate);
}
.toc{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 22px;margin:24px 0 32px;}
.toc-title{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.toc ol{margin:0 0 0 18px;}
.toc li{margin-bottom:5px;font-size:14px;}

/* Contact-specific */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 20px;}
.contact-card h3{margin-top:0;}
.contact-card p{font-size:14px;margin-bottom:6px;}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr;}}

/* Footer */
.page-footer{
  background:var(--navy);padding:32px 40px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
}
.page-footer .footer-links{display:flex;gap:22px;flex-wrap:wrap;}
.page-footer .footer-links a{font-size:13px;color:rgba(255,255,255,.45);}
.page-footer .footer-links a:hover{color:#fff;text-decoration:none;}
.page-footer .footer-copy{font-size:12px;color:rgba(255,255,255,.3);}

:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px;}

@media(max-width:640px){
  .page-nav{padding:0 20px;}
  .doc{padding:40px 20px 72px;}
  .page-footer{flex-direction:column;align-items:flex-start;padding:28px 20px;}
}
