:root{--navy:#002556;--navy-deep:#001B3F;--gold:#E3B506;--gold-deep:#8A6B08;--sub:#4B61B9;
--cream:#FBF7EF;--cream-2:#F5EFE1;--periwinkle-pale:#EEF2FB;--white:#fff;
--ink:#33405F;--muted:#5B657F;--line:#EBE3D2;--maxw:1000px;}
*{box-sizing:border-box;}html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{font-family:'Gantari',sans-serif;color:var(--navy);font-weight:700;line-height:1.18;letter-spacing:-.01em;margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,5vw,3.3rem);}h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-top:1.6em;}
h3{font-size:1.15rem;margin-top:1.3em;}
p{margin:0 0 1.1em;}a{color:var(--navy);}
img,svg{max-width:100%;display:block;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 26px;}
.narrow{max-width:720px;margin:0 auto;}
.eyebrow{font-family:'Gantari',sans-serif;text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:.7rem;color:var(--gold-deep);margin:0 0 .8rem;}
.isub{font-family:'Hanken Grotesk',sans-serif;font-style:italic;color:var(--sub);font-weight:500;font-size:1.16rem;}
.divider{width:52px;height:3px;border-radius:3px;background:var(--gold);border:0;margin:0 0 24px;}
.divider.center{margin:0 auto 24px;}
header.top{position:sticky;top:0;z-index:40;background:rgba(251,247,239,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
header.top .in{max-width:var(--maxw);margin:0 auto;padding:12px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
header.top img{height:34px;}
header.top nav{display:flex;gap:22px;align-items:center;}
header.top nav a{font-family:'Gantari',sans-serif;font-weight:500;font-size:.92rem;color:var(--navy);opacity:.82;}
header.top nav a:hover{opacity:1;color:var(--gold-deep);}
.cta-pill{background:var(--gold);color:var(--navy-deep)!important;border-radius:100px;padding:9px 16px;opacity:1!important;}
.hero{padding:clamp(56px,9vw,110px) 0 clamp(30px,5vw,54px);text-align:center;}
.hero .isub{max-width:44ch;margin:0 auto;}
.section{padding:clamp(30px,5vw,54px) 0;}
.prose{font-size:1.04rem;}
.prose h2{color:var(--navy);}
.prose ul{margin:0 0 1.1em;padding-left:1.2em;}
.prose li{margin:.35em 0;}
.prose .lead{font-size:1.14rem;color:var(--ink);}
.note{background:var(--periwinkle-pale);border:1px solid #E1E8F6;border-radius:16px;padding:16px 20px;font-size:.95rem;color:var(--navy);margin:0 0 30px;}
.note b{font-family:'Gantari',sans-serif;}
.figure{border-radius:22px;overflow:hidden;box-shadow:0 26px 60px -34px rgba(0,37,86,.4);margin:8px 0 26px;}
.figure img{width:100%;display:block;}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0;}
.card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:0 14px 34px -24px rgba(0,37,86,.3);}
.card h3{margin-top:0;font-size:1.1rem;}
.card p{margin:0 0 12px;color:var(--muted);font-size:.96rem;}
.card a.b{font-family:'Gantari',sans-serif;font-weight:600;color:var(--gold-deep);font-size:.95rem;}
@media(max-width:760px){.cards{grid-template-columns:1fr;}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.9rem;font-family:'Gantari',sans-serif;font-weight:600;font-size:1.02rem;border-radius:100px;background:var(--navy);color:var(--cream);box-shadow:0 16px 34px -18px rgba(0,37,86,.5);transition:transform .25s;}
.btn:hover{transform:translateY(-3px);}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px;}
.toc{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin:0 0 34px;}
.toc h2{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep);}
.toc ol{margin:0;padding-left:1.2em;columns:2;column-gap:30px;}
.toc a{color:var(--navy);opacity:.85;font-size:.95rem;}
@media(max-width:600px){.toc ol{columns:1;}}
footer{background:var(--navy-deep);color:#D7E1F6;padding:44px 0;margin-top:clamp(50px,8vw,90px);}
footer .in{max-width:var(--maxw);margin:0 auto;padding:0 26px;display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between;}
footer img{height:32px;opacity:.95;}
footer a{color:#D7E1F6;opacity:.82;font-size:.92rem;margin-right:18px;}
footer a:hover{opacity:1;color:var(--gold);}
footer small{opacity:.6;font-size:.82rem;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

  img[width][height]:not(.col-img img){height:auto;}

  /* Five menu items do not fit on a phone, so the links collapse behind the
     same hamburger the home page uses. site.js drives it via #navToggle. */
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;margin:0;color:var(--navy);}
  .nav-toggle svg{width:24px;height:24px;display:block;}
  header.top nav a[aria-current="page"]{opacity:1;color:var(--gold-deep);font-weight:600;}
  @media(max-width:760px){
    header.top nav a:not(.cta-pill){display:none;}
    .nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:46px;}
    header.top nav.open{position:fixed;top:59px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:flex-start;padding:10px 26px 20px;box-shadow:0 12px 24px -18px rgba(0,37,86,.25);gap:0;z-index:41;}
    header.top nav.open a:not(.cta-pill){display:block;padding:12px 0;width:100%;border-bottom:1px solid var(--line);}
    header.top nav.open .cta-pill{margin-top:14px;}
  }
