/* ===================================================================
   Consumer Dividends — shared legal / policy stylesheet
   Used by: legal/index.html and all legal/*.html policy pages
   Refreshed to match the site theme; documents stay readable.
   =================================================================== */

:root{
  --graphite:#2F3437; --cream:#EEE8DA; --cream-deep:#E5DDCB;
  --blue:#3D5873; --brass:#B08D57; --walnut:#5A4330;
  --ink:#2A2E31; --muted:#6B6256;
  --line:rgba(90,67,48,0.22); --line-soft:rgba(61,88,115,0.16);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,sans-serif;
  --maxw:880px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(61,88,115,0.28)}
a:hover{border-bottom-color:var(--brass);color:var(--graphite)}

/* film grain */
body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px}

.wrap{width:min(var(--maxw),calc(100% - 48px));margin:0 auto}

/* nav — matches marketing pages: translucent cream, graphite text */
header{position:sticky;top:0;z-index:100;background:rgba(238,232,218,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(90,67,48,.14)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:-.01em;color:var(--graphite);border-bottom:none}
.brand:hover{color:var(--graphite);border-bottom:none}
.brand img{width:30px;height:30px;object-fit:contain;display:block}
.navlinks{display:flex;align-items:center;gap:28px}
.navlinks a{font-size:14px;font-weight:500;letter-spacing:.01em;color:rgba(42,46,49,.66);border-bottom:none;transition:color .18s ease}
.navlinks a:hover{color:var(--graphite);border-bottom:none}
.navlinks a.active{color:var(--brass)}
.menu-btn{display:none;background:none;border:none;color:var(--graphite);font-family:var(--sans);font-size:14px;cursor:pointer;padding:8px}

/* legal layout: sticky sidebar index + document */
main.legal{display:grid;grid-template-columns:220px 1fr;gap:56px;width:min(1200px,calc(100% - 48px));margin:0 auto;padding:64px 0 96px;position:relative}
.legal-side{position:sticky;top:96px;align-self:start;border-left:1px solid var(--line);padding-left:22px}
.legal-side .legal-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:18px}
.legal-side ul{list-style:none}
.legal-side li{margin-bottom:10px}
.legal-side a{display:block;font-size:13.5px;color:var(--muted);border-bottom:none;line-height:1.4;transition:color .16s ease}
.legal-side a:hover{color:var(--graphite);border-bottom:none}
.legal-side a.active{color:var(--graphite);font-weight:600;padding-left:12px;border-left:2px solid var(--brass);margin-left:-14px}

/* document body */
article.doc{max-width:720px}
article.doc .tick{display:inline-block;width:30px;height:3px;background:var(--brass);margin-bottom:26px}
article.doc h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,48px);line-height:1.05;letter-spacing:-.025em;color:var(--graphite);margin-bottom:24px}
article.doc h2{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.25;letter-spacing:-.015em;color:var(--graphite);margin:44px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
article.doc h3{font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:.005em;color:var(--graphite);margin:26px 0 8px}
article.doc p{margin:0 0 14px;color:var(--ink)}
article.doc ul{margin:8px 0 18px 18px}
article.doc li{margin-bottom:7px;color:var(--ink)}
article.doc strong{color:var(--graphite);font-weight:600}
article.doc em{color:var(--walnut)}
article.doc hr{border:none;border-top:1px solid var(--line);margin:32px 0}
article.doc blockquote{margin:18px 0;padding:16px 20px;background:rgba(176,141,87,0.08);border-left:3px solid var(--brass);border-radius:0 10px 10px 0;font-style:italic;color:var(--walnut)}
article.doc blockquote p{margin:0 0 6px}
article.doc blockquote p:last-child{margin:0}
article.doc code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:14px;background:rgba(61,88,115,0.08);padding:1px 6px;border-radius:4px;color:var(--blue)}
article.doc table{width:100%;border-collapse:collapse;margin:18px 0 26px;font-size:14.5px;border-radius:10px;overflow:hidden}
article.doc table th{text-align:left;background:var(--graphite);color:var(--cream);padding:10px 14px;font-weight:600;font-size:13px;letter-spacing:.02em}
article.doc table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;background:rgba(255,255,255,0.5)}
article.doc table tr:last-child td{border-bottom:none}

/* footer — matches marketing pages */
footer{background:var(--graphite);color:rgba(238,232,218,.7);padding:54px 0 40px;border-top:1px solid rgba(176,141,87,.22)}
.footer-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:40px}
.footer-brand{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--cream);margin-bottom:10px}
.footer-brand-tag{font-size:14px;color:rgba(238,232,218,.6);max-width:280px;line-height:1.5}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.footer-col h4{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.footer-col a{display:block;font-size:14px;color:rgba(238,232,218,.72);margin-bottom:9px;transition:color .16s ease;border-bottom:none}
.footer-col a:hover{color:var(--cream);border-bottom:none}
.footer-bottom{border-top:1px solid rgba(238,232,218,.12);padding-top:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(238,232,218,.5)}

@media (max-width:880px){
  .menu-btn{display:block}
  .navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(238,232,218,.96);backdrop-filter:blur(14px);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px;border-bottom:1px solid rgba(90,67,48,.16)}
  .navlinks.open{display:flex}
  .navlinks a{padding:12px 0;width:100%}
  main.legal{grid-template-columns:1fr;gap:32px;padding:40px 0 64px}
  .legal-side{position:static;border-left:none;padding-left:0;border-bottom:1px solid var(--line);padding-bottom:24px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none !important}}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
