/* INVOKER — legal/policy pages. Self-contained (only depends on fonts.css). Brand tokens mirror the homepage. */
:root{
  --ink:#0B1220; --ink2:#111A2E; --canvas:#FBFAF8; --paper:#F3EFE6;
  --accent:#1D3FD1; --accentdk:#162EA0; --bronze:#9A7B4F; --bronzedk:#735526;
  --slate:#3A4658; --muted:#5B6675; --body:#2C3744; --line:rgba(11,18,32,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;background:var(--canvas);color:var(--body);
  font-family:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.lg-display{font-family:'Newsreader',Georgia,serif;font-optical-sizing:auto;}
a{color:var(--accent);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--accentdk);text-decoration:underline;}
.lg-wrap{max-width:760px;margin:0 auto;padding:0 20px;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

/* header */
.lg-header{position:sticky;top:0;z-index:10;background:rgba(251,250,248,.85);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.lg-header .lg-wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px;}
.lg-brand{display:inline-flex;align-items:center;gap:10px;}
.lg-brand svg{height:30px;width:30px;flex:none;}
.lg-brand span{font-weight:800;letter-spacing:.18em;color:var(--ink);font-size:15px;}
.lg-back{font-size:14px;font-weight:600;color:var(--slate);white-space:nowrap;}
.lg-back:hover{color:var(--accent);text-decoration:none;}

/* title band */
.lg-hero{padding:56px 0 26px;}
.lg-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--bronzedk);}
.lg-hero h1{font-family:'Newsreader',Georgia,serif;font-weight:700;font-size:clamp(2rem,5vw,3rem);
  line-height:1.08;letter-spacing:-.01em;margin:.55rem 0 0;color:var(--ink);}
.lg-updated{margin-top:1rem;font-size:.9rem;color:var(--muted);}

/* content */
.lg-content{padding-bottom:72px;font-size:1.04rem;line-height:1.75;}
.lg-content h2{font-family:'Newsreader',Georgia,serif;font-weight:700;font-size:1.5rem;line-height:1.25;
  color:var(--ink);margin:2.5rem 0 .8rem;}
.lg-content h3{font-weight:700;font-size:1.05rem;color:var(--ink);margin:1.6rem 0 .4rem;}
.lg-content p{margin:.7rem 0;}
.lg-content ul{margin:.5rem 0 1rem;padding-left:1.25rem;}
.lg-content li{margin:.35rem 0;}
.lg-content strong{color:var(--ink);}
.lg-note{margin:1.6rem 0;padding:1rem 1.2rem;border:1px solid rgba(154,123,79,.3);
  background:rgba(154,123,79,.09);border-radius:.8rem;font-size:.92rem;line-height:1.6;color:var(--bronzedk);}
.lg-toc{margin:1.2rem 0 0;padding:1.1rem 1.3rem;border:1px solid var(--line);background:#fff;border-radius:.9rem;
  box-shadow:0 14px 36px -30px rgba(11,18,32,.4);}
.lg-toc-title{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);}
.lg-toc ol{margin:.5rem 0 0;padding-left:1.1rem;font-size:.95rem;}
.lg-toc li{margin:.25rem 0;}

/* footer */
.lg-footer{background:var(--ink);color:rgba(255,255,255,.7);}
.lg-footer .lg-wrap{padding:44px 20px;max-width:1100px;}
.lg-foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.lg-foot-brand{display:inline-flex;align-items:center;gap:10px;}
.lg-foot-brand span{font-weight:800;letter-spacing:.18em;color:#fff;font-size:15px;}
.lg-foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.9rem;}
.lg-foot-links a{color:rgba(255,255,255,.75);}
.lg-foot-links a:hover{color:#fff;}
.lg-foot-meta{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);
  font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.6;}

/* contact page */
.lg-wrap--wide{max-width:940px;}
.lg-lead{font-size:1.12rem;line-height:1.7;color:var(--slate);max-width:680px;margin:1.1rem 0 0;}
.c-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:2rem 0 0;}
.c-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.5rem 1.4rem;border:1px solid var(--line);
  background:#fff;border-radius:1.1rem;box-shadow:0 18px 44px -36px rgba(11,18,32,.42);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.c-card:hover{border-color:rgba(29,63,209,.3);box-shadow:0 26px 54px -34px rgba(11,18,32,.46);transform:translateY(-2px);}
.c-ico{display:inline-flex;align-items:center;justify-content:center;height:2.6rem;width:2.6rem;border-radius:.8rem;
  background:rgba(29,63,209,.08);color:var(--accent);margin-bottom:.5rem;}
.c-card h2{font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:1.06rem;color:var(--ink);margin:0;}
.c-val{font-size:1.04rem;font-weight:600;color:var(--accent);word-break:break-word;}
.c-card p{margin:.15rem 0 0;font-size:.9rem;color:var(--muted);line-height:1.55;}
.c-card .c-btn{margin-top:.9rem;}
.c-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.15rem;border-radius:9999px;min-height:44px;
  background:linear-gradient(180deg,#2A4BE0,#1B3AC4);color:#fff;font-weight:600;font-size:.94rem;
  box-shadow:0 10px 24px -12px rgba(29,63,209,.7);transition:filter .2s ease,transform .15s ease;}
.c-btn:hover{color:#fff;text-decoration:none;filter:brightness(1.07);transform:translateY(-1px);}
.c-btn svg{height:1rem;width:1rem;}
.c-book{margin-top:2.6rem;padding:1.9rem 1.7rem;border:1px solid var(--line);background:var(--paper);border-radius:1.3rem;
  box-shadow:0 26px 70px -50px rgba(11,18,32,.4);}
.c-book h2{font-family:'Newsreader',Georgia,serif;font-weight:700;font-size:1.6rem;color:var(--ink);margin:0;}
.c-book p{margin:.7rem 0 0;font-size:1rem;line-height:1.65;color:var(--slate);max-width:560px;}
.c-book .c-btn{margin-top:1.3rem;font-size:1rem;padding:.85rem 1.5rem;}
.c-fallback{margin-top:.9rem;font-size:.82rem;color:var(--muted);}
.c-fallback a{font-weight:600;}
.c-legal{margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted);line-height:1.8;}
.c-legal .c-legal-h{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:.5rem;}
.c-legal strong{color:var(--ink);}
.c-legal a{color:var(--slate);}.c-legal a:hover{color:var(--accent);}

@media (max-width:640px){ .lg-hero{padding:40px 0 18px;} .lg-content{font-size:1rem;} .c-book{padding:1.5rem 1.3rem;} }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} a{transition:none;} .c-card,.c-btn{transition:none;} }
