:root {
  --royal:#174A8B;
  --navy:#092A4A;
  --silver:#B8C1CB;
  --ice:#F7F9FB;
  --orange:#F47A38;
  --slate:#4E5965;
  --mist:#E8EDF2;
  --white:#ffffff;
  --max:1180px;
  --shadow:0 12px 35px rgba(9,42,74,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--slate);background:var(--white);font-size:18px;line-height:1.6}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:16px;top:16px;background:#fff;padding:.6rem 1rem;z-index:999;color:var(--navy)}
.topbar{background:var(--navy);color:#fff;font-size:.82rem;letter-spacing:.02em}
.topbar-inner,.header-inner,.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:7px 0;gap:18px}
.toplinks{display:flex;gap:18px;flex-wrap:wrap}.toplinks a{text-decoration:none;opacity:.9}.toplinks a:hover,.toplinks a:focus{text-decoration:underline}
.site-header{background:#fff;border-bottom:1px solid var(--mist);position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(9,42,74,.03)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy);font-family:"Libre Franklin",Arial,sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.brand img{width:62px;height:72px;object-fit:contain}.brand span{font-size:1.03rem;max-width:260px}
.nav-toggle{display:none;border:1px solid var(--silver);background:#fff;padding:.65rem .8rem;font-weight:700;color:var(--navy);border-radius:6px}
.main-nav{display:flex;align-items:center;gap:28px;font-family:"DM Sans",Arial,sans-serif;font-weight:700;color:var(--navy)}
.main-nav a{text-decoration:none;padding:30px 0 26px;border-bottom:4px solid transparent}.main-nav a:hover,.main-nav a:focus,.main-nav a.active{border-color:var(--royal)}
.cta-small{background:var(--royal)!important;color:#fff!important;padding:11px 18px!important;border-radius:5px;border-bottom:0!important}.cta-small:hover,.cta-small:focus{background:var(--navy)!important}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--navy) 0%,var(--royal) 58%,#245ca5 100%);color:#fff;min-height:620px;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:auto -10% -45% 28%;height:620px;border-radius:50%;border:56px solid rgba(255,255,255,.07);transform:rotate(-8deg)}
.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:480px;height:480px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.02)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center;padding:90px 0}
.eyebrow{font-family:"DM Sans",Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--silver);margin:0 0 14px}
h1,h2,h3{font-family:"Libre Franklin",Arial,sans-serif;color:var(--navy);line-height:1.05;letter-spacing:-.035em;margin-top:0}
.hero h1{color:#fff;font-size:clamp(3rem,7vw,5.2rem);margin:0 0 20px;max-width:800px;font-weight:900}
.hero p{font-size:1.25rem;max-width:680px;margin:0 0 34px;color:#edf3fb}
.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:5px;text-decoration:none;font-weight:800;font-family:"DM Sans",Arial,sans-serif}.button.primary{background:#fff;color:var(--navy)}.button.primary:hover,.button.primary:focus{background:var(--ice)}.button.secondary{border:2px solid rgba(255,255,255,.7);color:#fff}.button.secondary:hover,.button.secondary:focus{background:rgba(255,255,255,.1)}
.hero-mark{display:flex;justify-content:center;align-items:center}.hero-mark img{width:min(320px,100%);filter:drop-shadow(0 25px 30px rgba(0,0,0,.16))}
.section{padding:84px 0}.section.alt{background:var(--ice)}.section.navy{background:var(--navy);color:#fff}.section.navy h2,.section.navy h3{color:#fff}
.kicker{color:var(--royal);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;margin-bottom:10px}.section.navy .kicker{color:var(--silver)}
.section h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:18px}.lead{font-size:1.18rem;max-width:760px;margin:0 0 42px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--mist);border-radius:8px;padding:28px;box-shadow:0 8px 24px rgba(9,42,74,.05)}.card h3{font-size:1.45rem;margin-bottom:10px}.card p{margin-bottom:18px}.text-link{font-weight:800;color:var(--royal);text-decoration:none}.text-link:hover,.text-link:focus{text-decoration:underline}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);margin-top:40px}.stat{padding:30px;background:var(--navy)}.stat strong{display:block;font-family:"Libre Franklin",Arial,sans-serif;font-size:2.8rem;line-height:1;color:#fff}.stat span{display:block;margin-top:10px;color:#d9e4ef;font-size:.92rem}
.feature{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.feature-panel{background:var(--mist);border-left:8px solid var(--royal);padding:38px;border-radius:0 8px 8px 0}.feature-panel h3{font-size:2rem}.quote{font-family:"Libre Franklin",Arial,sans-serif;font-size:1.8rem;font-weight:800;line-height:1.2;color:var(--navy);margin:0 0 18px}
.puffin-block{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;align-items:center}.puffin-block img{width:100%;max-width:360px;margin:auto;display:block}.orange-rule{width:72px;height:6px;background:var(--orange);margin:0 0 20px;border-radius:3px}
.news-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.news-main,.news-list{border:1px solid var(--mist);border-radius:8px;background:#fff}.news-main{padding:36px}.news-main h3{font-size:2rem}.news-list article{padding:22px 24px;border-bottom:1px solid var(--mist)}.news-list article:last-child{border-bottom:0}.date{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--royal)}
.site-footer{background:var(--navy);color:#d8e3ef;padding:58px 0 30px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:72px}.footer-brand strong{font-family:"Libre Franklin",Arial,sans-serif;color:#fff;font-size:1.15rem}.footer-links h3{color:#fff;font-size:1rem;letter-spacing:0}.footer-links a{display:block;color:#d8e3ef;text-decoration:none;margin:.4rem 0}.footer-links a:hover,.footer-links a:focus{text-decoration:underline}.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:42px;padding-top:24px;font-size:.82rem;color:#b9c8d7}.legal p{max-width:900px;margin:.35rem 0}
.page-hero{background:linear-gradient(115deg,var(--navy),var(--royal));color:#fff;padding:82px 0}.page-hero h1{color:#fff;font-size:clamp(2.8rem,6vw,4.6rem);margin-bottom:14px}.page-hero p{max-width:760px;font-size:1.18rem;color:#e7eef7}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px}.list-clean{padding-left:1.15rem}.list-clean li{margin:.6rem 0}.callout{background:var(--ice);border-top:6px solid var(--royal);padding:28px;border-radius:7px}.callout.orange{border-top-color:var(--orange)}
@media(max-width:930px){.main-nav{display:none;position:absolute;left:0;right:0;top:92px;background:#fff;padding:14px 20px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 0;border-bottom:1px solid var(--mist)}.cta-small{margin-top:12px;text-align:center}.nav-toggle{display:block}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-mark{display:none}.cards,.stat-grid{grid-template-columns:1fr 1fr}.feature,.puffin-block,.news-grid,.footer-grid,.two-col{grid-template-columns:1fr}.puffin-block{gap:25px}.puffin-block img{max-width:260px}.footer-grid{gap:28px}}
@media(max-width:600px){body{font-size:16px}.topbar-inner{justify-content:flex-end}.toplinks a:not(:last-child){display:none}.brand img{width:50px;height:60px}.brand span{font-size:.9rem}.header-inner{min-height:78px}.main-nav{top:78px}.hero{min-height:560px}.hero-grid{padding:70px 0}.section{padding:62px 0}.cards,.stat-grid{grid-template-columns:1fr}.topbar-inner,.header-inner,.container{width:min(var(--max),calc(100% - 28px))}.feature-panel{padding:28px}}
