*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#0B1B30;font:400 17px/1.6 Manrope,'Segoe UI',Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:#0F2847}
h1,h2,h3{font-family:inherit;font-weight:800;letter-spacing:-0.03em;margin:0;text-wrap:balance}
p{margin:0}
section{scroll-margin-top:76px}
input,select,textarea,button{font:inherit;color:#0B1B30}
button{cursor:pointer}
:focus-visible{outline:3px solid #2B5DA8;outline-offset:3px;border-radius:4px}
.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#2B5DA8}
.eyebrow b{color:#0F2847}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:700;font-size:16px;padding:15px 26px;border-radius:8px;min-height:52px;border:0;transition:background .2s ease,color .2s ease}
.btn-navy{background:#0F2847;color:#fff}
.btn-navy:hover{background:#08182D;color:#fff}
.btn-white{background:#fff;color:#0F2847}
.btn-white:hover{background:#E8EEF7;color:#0F2847}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.hdr{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #E4E9F0;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}
.hdr-in{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0B1B30}
.logo{width:38px;height:38px;border:1.5px solid #0F2847;background:#0F2847;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:.04em}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text b{font-size:18px;font-weight:800;letter-spacing:-.02em}
.brand-text small{font-size:12px;color:#5A697D;font-weight:600}
.nav{display:flex;align-items:center;gap:28px}
.nav a.lnk{color:#0B1B30;text-decoration:none;font-weight:600;font-size:15px}
.nav a.lnk:hover{color:#2B5DA8}
.nav a.lnk.on{color:#2B5DA8;box-shadow:inset 0 -2px 0 #2B5DA8;padding-bottom:4px}
.nav .btn{min-height:44px;padding:10px 20px;font-size:15px}
.menu-btn{display:none;width:44px;height:44px;border-radius:8px;border:1px solid #CBD5E2;background:#fff;align-items:center;justify-content:center}
/* Overlay header (home page, over the video) */
.hdr--overlay{position:fixed;left:0;right:0;background:transparent;border-bottom-color:rgba(255,255,255,.18)}
.hdr--overlay:not(.is-solid) .brand,.hdr--overlay:not(.is-solid) .nav a.lnk{color:#fff}
.hdr--overlay:not(.is-solid) .brand-text small{color:#B9CCE8}
.hdr--overlay:not(.is-solid) .logo{background:transparent;border-color:#fff}
.hdr--overlay:not(.is-solid) .nav .btn{background:#fff;color:#0F2847}
.hdr--overlay:not(.is-solid) .menu-btn{background:transparent;border-color:rgba(255,255,255,.5)}
.hdr--overlay:not(.is-solid) .menu-btn svg{stroke:#fff}
.hdr--overlay.is-solid{background:#fff;border-bottom-color:#E4E9F0;box-shadow:0 6px 24px rgba(11,27,48,.08)}
@media (max-width:1040px){
  .menu-btn{display:flex}
  .nav a.lnk{display:none}
  .nav.open{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;border-bottom:1px solid #E4E9F0;box-shadow:0 16px 30px rgba(11,27,48,.12)}
  .nav.open a.lnk{display:block;color:#0B1B30 !important;padding:14px 0;border-bottom:1px solid #EEF1F5}
  .nav.open .btn{margin-top:14px;background:#0F2847 !important;color:#fff !important}
  .hdr-in{position:relative}
}
@media (max-width:560px){.brand-text small{display:none}.nav:not(.open) .btn{display:none}}

/* Sections */
.sec{padding:88px 0}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.sec-head .titles{display:flex;flex-direction:column;gap:10px;max-width:720px}
.h2{font-size:clamp(32px,4vw,52px);line-height:1.05}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;list-style:none;margin:0;padding:0}
.card{background:#F2F5FA;border-radius:16px;padding:36px;display:flex;flex-direction:column;gap:16px}
.icon{width:52px;height:52px;border-radius:12px;background:#0F2847;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.muted{color:#4B5B70}
.card-link{text-decoration:none;color:#0B1B30;transition:transform .2s ease,box-shadow .2s ease}
.card-link:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,27,48,.10)}
.step{background:#fff;border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:18px;box-shadow:0 1px 2px rgba(15,40,71,.06)}
.step-top{display:flex;justify-content:space-between;align-items:flex-start}
.step-icon{width:56px;height:56px;border-radius:14px;background:#E8EEF7;display:flex;align-items:center;justify-content:center}
.step-num{font-size:44px;font-weight:800;letter-spacing:-.04em;color:#D5DEEA;line-height:1}

/* Hero */
.hero{position:relative;overflow:hidden;background:#0B1B30;min-height:100vh;display:flex;flex-direction:column;color:#fff}
.hero video,.hero .shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .shade{background:linear-gradient(180deg,rgba(8,20,38,.60) 0%,rgba(8,20,38,.70) 55%,rgba(8,20,38,.94) 100%)}
.hero-in{position:relative;width:100%;flex:1 1 auto;max-width:1240px;margin:0 auto;padding:112px 24px 0;display:flex;flex-direction:column;gap:22px}
.hero h1{font-size:clamp(40px,6.2vw,82px);line-height:1.02;max-width:1000px}
.hero-form{display:flex;flex-wrap:wrap;gap:10px;max-width:640px;background:#fff;padding:8px;border-radius:12px}
.hero-form input{flex:1 1 240px;min-width:0;border:0;padding:14px;font-size:16px;background:transparent}
.stats{margin-top:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid rgba(255,255,255,.22)}
.stat{padding:28px 24px 36px;border-left:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;gap:4px}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.stat span{color:#B9CCE8;font-size:15px}
@media (max-width:640px){.stat{border-left:0;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.stat:first-child{border-top:0}}

/* Banner on inner pages */
.banner{background:#0F2847;color:#fff}
.banner .wrap{padding-top:40px;padding-bottom:44px;display:flex;flex-direction:column;gap:8px}
.banner .kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9CC2F2}
.banner h1{font-size:clamp(30px,3.8vw,48px);line-height:1.05;max-width:820px}
.banner p{color:#C9D6EA;font-size:17px;max-width:640px}

/* Lists */
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;gap:14px;padding:14px 0;border-top:1px solid #D5DEEA}
.checklist svg{flex:0 0 auto;margin-top:3px}
.panel-dark{background:#0F2847;color:#fff;border-radius:16px;padding:40px;display:flex;flex-direction:column;gap:20px;flex:1 1 440px;min-width:0}
.panel-dark .checklist li{border-top-color:rgba(255,255,255,.14);color:#E6EDF7}
.panel-light{background:#F2F5FA;border-radius:16px;padding:40px;display:flex;flex-direction:column;gap:20px;flex:1 1 440px;min-width:0}

/* Calculator */
.stepper{display:flex;align-items:stretch;border:1px solid #CBD5E2;border-radius:8px;overflow:hidden;align-self:flex-start}
.stepper button{width:48px;height:48px;border:0;background:#F2F5FA;font-size:20px}
.stepper b{min-width:100px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;border-left:1px solid #CBD5E2;border-right:1px solid #CBD5E2}
.cmp{width:100%;border-collapse:collapse;min-width:520px}
.cmp th,.cmp td{padding:17px 24px;text-align:left}
.cmp tbody tr{border-top:1px solid #E4E9F0}
.cmp thead th{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#5A697D}
.cmp .sak{background:#E8EEF7;color:#0F2847;font-weight:800}
.cmp thead .sak{background:#0F2847;color:#fff}

/* Quiz */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.opt{display:flex;align-items:center;gap:12px;text-align:left;min-height:52px;padding:12px 16px;border-radius:8px;border:1.5px solid #CBD5E2;background:#fff;font-weight:600;font-size:15px}
.opt .dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1.5px solid #A9B6C8;display:flex;align-items:center;justify-content:center}
.opt .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:transparent}
.opt[aria-pressed="true"]{border-color:#0F2847;background:#E8EEF7}
.opt[aria-pressed="true"] .dot{border-color:#0F2847}
.opt[aria-pressed="true"] .dot::after{background:#0F2847}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:800;margin-bottom:12px;font-size:16px;padding:0}

/* FAQ */
.faq{background:#fff;border-radius:12px}
.faq summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:18px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#E8EEF7;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0F2847}
.faq summary .pm::before{content:"+"}
.faq[open] summary .pm::before{content:"\2212"}
.faq p{padding:0 70px 22px 24px;color:#4B5B70}

/* Forms */
.field{border:1px solid #CBD5E2;border-radius:8px;padding:11px 13px;font-size:15px;background:#fff;width:100%}
.field:focus{outline:2px solid #2B5DA8;outline-offset:1px;border-color:#2B5DA8}
.lbl{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}
.form-card{margin-top:-88px;position:relative;background:#fff;border-radius:18px;padding:28px 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;box-shadow:0 24px 60px rgba(11,27,48,.16)}
.form-card .full{grid-column:1/-1}
@media (max-width:640px){.form-card{grid-template-columns:1fr;padding:24px 20px}}
.chip{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 16px 10px 10px;text-decoration:none;color:#fff}
.chip .ci{width:38px;height:38px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center}

/* Footer */
.foot{background:#0B1B30;color:#C9D6EA}
.foot a{color:#C9D6EA;text-decoration:none}
.foot a:hover{color:#fff}
.foot-grid{max-width:1240px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;font-size:15px}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col b.h{color:#fff;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.foot-bar{max-width:1240px;margin:0 auto;padding:22px 24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#9FB2CF}
