:root{--navy:#091A38;--red:#EC1524;--gold:#EBC883;--slate:#6E6E76;--cream:#F7F3EA;--white:#FFFFFF}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--navy);line-height:1.6;overflow-x:clip;-webkit-text-size-adjust:100%}
img,svg,video{max-width:100%;height:auto}
header{background:var(--navy);padding:12px 5vw;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:40}
header .logo{display:inline-flex;align-items:center;max-width:min(220px,70vw)}
header img{height:48px;width:auto;max-width:100%}
.nav-toggle{display:none;appearance:none;background:transparent;border:2px solid var(--gold);color:var(--gold);border-radius:6px;width:44px;height:44px;padding:0;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}
.nav-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.nav-toggle-bars{display:block;width:20px;height:2px;background:currentColor;position:relative}
.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor}
.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}
header.nav-open .nav-toggle-bars{background:transparent}
header.nav-open .nav-toggle-bars:before{top:0;transform:rotate(45deg)}
header.nav-open .nav-toggle-bars:after{top:0;transform:rotate(-45deg)}
nav.primary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0}
nav.primary a{color:#fff;text-decoration:none;margin-left:18px;font-weight:600;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
nav.primary a:hover,nav.primary a:focus-visible{color:var(--gold)}
nav.primary a[aria-current]{color:var(--gold)}
.hero{background:linear-gradient(90deg,rgba(9,26,56,.92) 0,rgba(9,26,56,.6) 60%,rgba(9,26,56,.25) 100%),url(/img/hero-1600.webp) center/cover var(--navy);color:#fff;padding:40px 5vw 90px;position:relative;overflow:hidden;margin:0 -5vw}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:#fff;clip-path:polygon(0 100%,0 60%,12% 20%,22% 55%,34% 5%,47% 50%,58% 25%,70% 60%,82% 15%,92% 45%,100% 30%,100% 100%)}
.hero h1{font-size:clamp(28px,7vw,54px);margin:0 0 10px;line-height:1.1}
.hero p{font-size:clamp(16px,2.4vw,21px);max-width:760px;color:#dfe3ea}
.hero .pillars{font-size:clamp(1.05em,3.2vw,1.3em);font-weight:700;letter-spacing:.04em;color:var(--gold);margin:.3em 0 .8em}
.hero .btn,.hero .btn2{margin:8px 10px 0 0}
.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 24px;border-radius:6px;font-weight:700;margin:8px 10px 0 0;text-decoration:none;border:0;cursor:pointer;font-size:19px;line-height:1.2;min-height:44px}
.btn2{border:2px solid var(--gold);color:var(--gold);background:none}
main>section:first-child{padding-top:0}
main section{padding:32px 5vw;max-width:1100px;margin:auto}
h1,h2,h3{font-family:Montserrat,system-ui,sans-serif}
h1{font-size:clamp(28px,5.5vw,48px);line-height:1.15;margin:.2em 0}
h2{border-bottom:3px solid var(--gold);display:inline-block;font-size:clamp(1.25rem,3.5vw,1.6rem)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.card{border:1px solid #ddd;border-radius:8px;padding:18px;min-width:0;overflow-wrap:anywhere}
.card b{font-size:clamp(22px,5vw,26px);color:var(--red);display:block}
.badge{color:#8a6a1c;font-size:13px}
.note,.src{font-size:13px;color:var(--slate)}
sup a{color:var(--navy);text-decoration:underline}
.teaser{background:var(--cream);text-align:center;font-style:italic;font-size:clamp(16px,3.5vw,20px);max-width:none!important;padding:20px;border-radius:8px;overflow-wrap:anywhere}
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;padding:12px 0 12px 54px;position:relative}
.steps li:before{content:counter(s);position:absolute;left:0;top:10px;width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:700}
details{border-bottom:1px solid #ddd;padding:12px 0}
summary{font-weight:700;cursor:pointer;padding:8px 0;min-height:44px;display:flex;align-items:center;list-style-position:outside}
summary::-webkit-details-marker{margin-right:8px}
form{display:grid;gap:12px;max-width:480px;width:100%}
form label{display:grid;gap:4px;font-weight:600}
input,select,textarea{padding:12px;border:1px solid #bbb;border-radius:6px;font-size:16px;width:100%;max-width:100%}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#signup-msg.ok{color:#126b2f;font-weight:600}
#signup-msg.err{color:#B80F1C;font-weight:600}
.optional{font-weight:400;color:var(--slate);font-size:.9em}
.signup{padding:32px 5vw;max-width:1100px;margin:auto}
.cta{margin:18px 0}
footer{background:var(--navy);color:#cfd5df;padding:30px 5vw;font-size:14px}
footer a{color:var(--gold)}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0}
.footer-nav a{color:var(--gold);padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.footer-social{display:flex;flex-wrap:wrap;gap:18px 36px;margin:16px 0}
.social-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px}
.social-label{color:#fff;font-weight:700;margin-right:4px}
.footer-social a{color:var(--gold);text-decoration:underline;padding:6px 0;min-height:44px;display:inline-flex;align-items:center}
.page-img{margin:16px 0}
.page-img img{display:block;width:100%;height:auto;border-radius:8px}
.faq{margin:28px 0 8px}
.faq details{border-bottom:1px solid #ddd;padding:12px 0}
.faq summary{font-weight:700;cursor:pointer}
.faq details p{margin:.6em 0 .2em}
.placeholder{border:2px dashed var(--red);background:#fff5f5;padding:18px;border-radius:8px;margin:12px 0}
.img-slot{border:2px dashed var(--gold);background:#faf6ec;color:var(--slate);min-height:180px;display:grid;place-items:center;border-radius:8px;margin:12px 0;font-size:14px}
.banner{background:var(--gold);color:var(--navy);text-align:center;font-size:13px;padding:6px}
.sources{font-size:14px;color:var(--slate);overflow-wrap:anywhere}
@media(max-width:768px){
  header{padding:10px 4vw;gap:8px}
  header img{height:40px}
  header .logo{max-width:min(180px,62vw)}
  .nav-toggle{display:inline-flex}
  nav.primary{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 4px;border-top:1px solid rgba(235,200,131,.25);margin-top:4px}
  header.nav-open nav.primary{display:flex}
  nav.primary a{margin:0;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08);width:100%}
  .hero{padding:28px 4vw 72px;margin:0 -4vw;background:linear-gradient(180deg,rgba(9,26,56,.94) 0,rgba(9,26,56,.72) 55%,rgba(9,26,56,.45) 100%),url(/img/hero-1600.webp) center/cover var(--navy)}
  .hero:after{height:48px}
  main section,.signup{padding:28px 4vw}
  .btn,.btn2{display:block;width:100%;max-width:100%;text-align:center;margin:10px 0 0;box-sizing:border-box}
  .hero .btn,.hero .btn2{width:100%}
  .steps li{padding-left:48px}
  .steps li:before{width:34px;height:34px;top:12px}
  .footer-social{flex-direction:column;gap:14px}
  .social-group{flex-direction:column;align-items:flex-start;gap:4px}
}
@media(max-width:375px){
  header .logo{max-width:min(150px,58vw)}
  header img{height:36px}
  .hero{padding:24px 4vw 64px}
  .teaser{padding:16px}
  form{max-width:100%}
}
@media(min-width:769px){
  .nav-toggle{display:none!important}
  nav.primary{display:flex!important;width:auto;flex-direction:row;border:0;padding:0;margin:0}
  nav.primary a{border:0;width:auto}
}
