:root{--ink:#0b1220;--ink2:#334155;--mute:#64748b;--line:#e2e8f0;--bg:#f8fafc;--acc:#f59e0b;--acc2:#d97706;--navy:#0b1a33}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Inter,Roboto,sans-serif;color:var(--ink);background:#fff}
a{color:inherit}.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
header{position:sticky;top:0;z-index:10;background:rgba(11,26,51,.92);backdrop-filter:blur(10px);color:#fff}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{font-weight:800;letter-spacing:.04em;text-decoration:none;font-size:18px}.logo span{color:var(--acc)}
nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;font-size:15px;opacity:.85}nav a:hover,nav a.on{opacity:1;color:var(--acc)}
.nav-cta{background:var(--acc);color:var(--ink)!important;opacity:1!important;padding:8px 14px;border-radius:999px;font-weight:700}
#menu{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(245,158,11,.28),transparent 60%),linear-gradient(160deg,#0b1a33,#13284d 60%,#0b1a33);color:#fff;padding:96px 0 88px}
.hero.sm{padding:64px 0 56px}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.hero h1{font-size:clamp(34px,5.4vw,60px);line-height:1.05;margin:0 0 18px;letter-spacing:-.02em;max-width:820px}
.hero p{font-size:clamp(17px,2vw,20px);color:#cbd5e1;max-width:640px;margin:0 0 30px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;background:var(--acc);color:var(--ink);font-weight:700;text-decoration:none;padding:14px 22px;border-radius:12px;border:0;font-size:16px;cursor:pointer;transition:.15s}
.btn:hover{background:var(--acc2);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}.btn.ghost:hover{background:rgba(255,255,255,.08)}
section{padding:80px 0}section.alt{background:var(--bg)}
h2{font-size:clamp(26px,3.4vw,38px);line-height:1.15;letter-spacing:-.01em;margin:0 0 14px}
.lead{color:var(--ink2);font-size:18px;max-width:680px;margin:0 0 36px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;transition:.2s}
.card:hover{box-shadow:0 12px 30px rgba(15,23,42,.08);transform:translateY(-2px)}
.card h3{margin:0 0 8px;font-size:20px}.card p{margin:0;color:var(--ink2)}
.card .ico{width:44px;height:44px;border-radius:12px;background:#fef3c7;display:grid;place-items:center;font-size:22px;margin-bottom:16px}
.card a.more{display:inline-block;margin-top:14px;font-weight:700;color:var(--acc2);text-decoration:none}
.steps{counter-reset:s;display:grid;gap:14px;padding:0;list-style:none;max-width:760px}
.steps li{counter-increment:s;position:relative;padding:18px 20px 18px 64px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink2)}
.steps li:before{content:counter(s);position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px}
.steps strong{color:var(--ink)}
.band{background:var(--navy);color:#fff;border-radius:24px;padding:48px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.band h2{margin:0 0 6px}.band p{margin:0;color:#cbd5e1}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.formcard{max-width:720px}
form{display:grid;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
label{font-weight:600;font-size:15px;display:block;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);border-color:var(--acc)}
.check{display:flex;gap:10px;font-weight:400;align-items:flex-start}.check input{width:auto;margin-top:5px}
.hint{color:var(--mute);font-size:14px}
#instant{display:none;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px 14px}
table{border-collapse:collapse;width:100%;margin:10px 0;background:#fff;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}th{background:var(--bg)}
footer{background:#060d1a;color:#94a3b8;padding:44px 0;font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
footer a{color:#e2e8f0;text-decoration:none}footer .fl{display:flex;gap:18px;flex-wrap:wrap}
footer .legal{width:100%;font-size:12px;color:#64748b;border-top:1px solid #1e293b;padding-top:16px;margin:0}
@media(max-width:820px){
#menu{display:block}
nav{display:none;position:absolute;top:64px;left:0;right:0;background:#0b1a33;flex-direction:column;align-items:flex-start;padding:16px 22px 22px;gap:16px}
nav.open{display:flex}
.two{grid-template-columns:1fr;gap:28px}.band{padding:32px}.hero{padding:72px 0 64px}section{padding:60px 0}}
/* mascot */
.logo{display:flex;align-items:center;gap:8px}.logo img{width:34px;height:34px}
.bot{display:block;height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 14px 22px rgba(0,0,0,.35))}
@keyframes pop{0%{transform:translateY(40%);opacity:0}70%{transform:translateY(-4%);opacity:1}100%{transform:translateY(0)}}
@keyframes wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(5deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero{position:relative;overflow:hidden}.hero .wrap{position:relative;z-index:1}
.hero-bot{position:absolute;right:max(2vw,calc((100vw - 1100px)/2 - 10px));bottom:-30px;width:340px;z-index:0;animation:pop .9s cubic-bezier(.2,.9,.3,1.2) both .2s}
.hero-bot img{animation:wave 3.2s ease-in-out 1.2s infinite;transform-origin:50% 90%}
.hero.home h1,.hero.home p{max-width:620px}
.peek{position:relative}
.peek-bot{position:absolute;width:120px;top:-86px;right:28px;z-index:0;animation:pop .8s ease both .4s}
.peek>.card,.peek>.band,.peek>form{position:relative;z-index:1}
.side-bot{position:absolute;width:150px;right:-60px;top:-110px;z-index:0;animation:bob 3.5s ease-in-out infinite}
.corner-bot{position:absolute;right:24px;bottom:-24px;width:150px;z-index:0;animation:pop .9s ease both .2s}
.has-bot{position:relative}
@media(max-width:1180px){.side-bot{right:10px;top:-96px;width:120px}}
@media(max-width:820px){
.hero.home{padding-bottom:200px}
.hero-bot{width:190px;right:50%;margin-right:-95px;bottom:-20px}
.hero.sm{padding-bottom:110px}.corner-bot{width:100px;bottom:-14px;right:16px}
.peek-bot{width:90px;top:-64px;right:16px}.side-bot{width:96px;top:-76px;right:8px}}
@media(prefers-reduced-motion:reduce){.bot,.hero-bot,.hero-bot img,.peek-bot,.side-bot,.corner-bot{animation:none!important}}
.form-peek{margin-top:96px}.form-peek .peek-bot{width:130px;top:-100px}
@media(max-width:820px){.hero.home{padding-bottom:190px}.hero-bot{width:150px;margin-right:-75px;bottom:-16px}.form-peek{margin-top:70px}.form-peek .peek-bot{width:90px;top:-68px}}
@media(max-width:820px){.hide-m{display:none!important}.hero.sm:has(.hide-m){padding-bottom:56px}}
.hero-bot img{width:100%;height:auto}
@media(max-width:820px){.hero.home{padding-bottom:170px!important}.hero-bot{width:130px!important;right:16px!important;margin-right:0!important;bottom:-12px!important}}
/* flat-fee + switch */
section.flat{background:#fef3c7;border-bottom:1px solid #fde68a}
section.flat h2{max-width:860px;font-size:clamp(28px,4vw,44px)}section.flat .lead{margin-bottom:24px;font-size:20px;color:var(--ink)}
section.flat .btn.ghost{color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}section.flat .btn.ghost:hover{background:rgba(11,26,51,.06)}
.note{margin-top:20px;max-width:760px}
.bor{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;font-family:Georgia,serif;font-size:15px;color:var(--ink2);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.bor-lh{font-family:system-ui,sans-serif;font-weight:800;color:var(--navy);border-bottom:3px solid var(--acc);padding-bottom:10px;margin-bottom:16px}.bor-lh span{display:block;font-weight:400;font-size:13px;color:var(--mute)}
.bor-sig{margin-top:22px;font-style:italic}
input[type=file]{padding:10px;background:var(--bg)}
fieldset.choice{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px}fieldset.choice legend{font-weight:600;font-size:15px;padding:0 4px}fieldset.choice .check{margin:0}
section.quote-opt{padding-top:0}

/* coverage section v3 */
section.coverage{padding:64px 0 72px;background:var(--bg)}
.cov-band{background:linear-gradient(135deg,#0b1a33,#13284d);color:#fff;border-radius:24px;padding:56px;box-shadow:0 20px 50px rgba(11,26,51,.18);border-top:6px solid var(--acc)}
.cov-band h2{font-size:clamp(28px,4.2vw,46px);max-width:860px}.cov-band p{color:#cbd5e1;font-size:clamp(17px,1.9vw,20px);max-width:760px;margin:0 0 28px}
.faq{max-width:860px;margin:40px auto 0}.faq h3{font-size:22px;margin:0 0 14px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;font-weight:700;padding:18px 28px 18px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:14px;font-size:24px;color:var(--acc2)}.faq details[open] summary:after{content:"\2013"}
.faq details p{margin:0 0 18px;color:var(--ink2)}
.cov-note{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:18px 22px;margin-top:24px;color:var(--ink2)}
@media(max-width:820px){.cov-band{padding:32px 24px}section.coverage{padding:44px 0 52px}}
