:root{
  color-scheme: light;
  --ink:#14171e; --ink-2:#44536a; --ink-3:#6b7a90;
  --ground:#f2f6ef; --card:#ffffff; --line:#e3e9e7;
  --brand:#1f2a66; --brand-2:#2c3a99; --accent:#795710; --accent-ink:#fff;
  --alert:#e2b75c; --alert-ink:#1b1400;
  --good:#1f8a4c; --bad:#b83a3a; --soft:#eceff9;
  --display:Khand,"Arial Narrow",Arial,sans-serif;
  --body:"Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;margin:0}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.alertbar{background:var(--alert);color:var(--alert-ink);font-weight:700;font-size:14px}
.alertbar .wrap{display:flex;gap:10px;align-items:center;justify-content:center;padding-block:9px;text-align:center}
.pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);flex:none;animation:p 1.6s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(121,87,16,.6)}70%{box-shadow:0 0 0 10px rgba(121,87,16,0)}100%{box-shadow:0 0 0 0 rgba(121,87,16,0)}}
.bar{background:var(--brand);color:#fff}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.logo img{height:46px;width:auto;display:block}
.phone{color:#fff;font-weight:700;text-decoration:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.phone small{font-weight:500;font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}
.trust{background:var(--brand-2);color:#dfe8f2;font-size:13px}
.trust .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;padding-block:8px;justify-content:center}
.trust span::before{content:"✓ ";color:#8fd0a8;font-weight:700}

.hero{background:linear-gradient(180deg,rgba(31,42,102,.93),rgba(31,42,102,.82)),url("img/ai-storm-aerial.jpg") center/cover no-repeat;color:#fff;padding-block:40px 52px}
.hero-grid{display:grid;grid-template-columns:1fr 470px;gap:36px;align-items:start}
.stormcard{font-family:var(--mono);font-size:13px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;max-width:440px;margin-bottom:20px}
.stormcard dt{color:#9fb5cc;text-transform:uppercase;font-size:11px;letter-spacing:.1em;align-self:center}
.stormcard dd{margin:0;font-weight:700;color:#fff}
.stormcard .hd{grid-column:1/-1;color:var(--alert);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--alert);margin:4px 0 10px}
h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(38px,5.2vw,62px);line-height:.96;margin:0 0 14px;text-wrap:balance}
h1 em{font-style:normal;color:var(--alert)}
.lede{font-size:18px;color:#d5e1ee;max-width:33em;margin:0 0 20px}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:34em}
.checks li{display:flex;gap:10px;align-items:flex-start;color:#e6ecf7}
.checks b{color:#fff}
.tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}
.hero-review{margin-top:22px;max-width:34em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:14px 16px;font-size:14px;color:#dfe6f3}
.hero-review .st{color:#f5c04a;letter-spacing:2px}
.hero-review b{color:#fff}

/* form card */
.card{background:var(--card);color:var(--ink);border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.55);overflow:hidden}
.card-head{background:var(--brand);color:#fff;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.card-head h2{font-family:var(--display);font-size:27px;margin:0;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
.card-head p{margin:3px 0 0;font-size:13px;color:#c8d6e5}
.progress{height:6px;background:var(--brand-2)}
.progress i{display:block;height:100%;width:6%;background:var(--alert);transition:width .3s ease}
.step{padding:20px 20px 18px}
.step h3{font-size:19px;margin:0 0 4px;line-height:1.25}
.step .hint{font-size:13px;color:var(--ink-3);margin:0 0 14px}
.q2{margin-top:18px}
.opts{display:grid;gap:9px}
.opts.two{grid-template-columns:1fr 1fr}
.opt{appearance:none;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;text-align:left;font:inherit;font-weight:600;font-size:15px;color:var(--ink);cursor:pointer;display:flex;gap:10px;align-items:center;transition:border-color .15s,background .15s}
.opt:hover{border-color:var(--brand-2);background:var(--soft)}
.opt.sel{border-color:var(--accent);background:#f8f1e2}
.opt small{display:block;font-weight:400;color:var(--ink-3);font-size:12.5px}
.opt .box{flex:none;width:20px;height:20px;border-radius:5px;border:2px solid #c3cad6;display:grid;place-items:center;font-size:13px;color:#fff}
.opt.sel .box{background:var(--accent);border-color:var(--accent)}
.opt:focus-visible,.cta:focus-visible,.back:focus-visible{outline:3px solid #7fb0e0;outline-offset:2px}
label.f{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 5px}
input.t,select.t{width:100%;font:inherit;font-size:16px;padding:11px 13px;border:1.5px solid var(--line);border-radius:9px;color:var(--ink);background:#fff}
input.t:focus,select.t:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px #cfe0f1}
.row{display:grid;gap:10px;margin-bottom:10px}
.row.two{grid-template-columns:1fr 1fr}
.row.addr{grid-template-columns:2fr 1fr}
.cta{appearance:none;border:0;width:100%;background:var(--accent);color:#fff;font:inherit;font-weight:700;font-size:17px;padding:14px;border-radius:10px;cursor:pointer;margin-top:12px}
.cta[disabled]{opacity:.45;cursor:default}
.back{background:none;border:0;color:var(--ink-3);font:inherit;font-size:13px;cursor:pointer;padding:10px 0 0;text-decoration:underline}
.err{color:var(--bad);font-size:13px;min-height:1em;margin:6px 0 0}
.fine{font-size:11px;color:var(--ink-3);margin:10px 0 0;line-height:1.45}
.secure{font-size:12px;color:var(--ink-3);text-align:center;margin-top:10px}
.done{text-align:center;padding:26px 20px}
.done .ok{width:56px;height:56px;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center;font-size:28px;margin:0 auto 12px}
.done h3{font-family:var(--display);font-size:30px;text-transform:uppercase;color:var(--brand);margin:0 0 6px}
.done ol{text-align:left;color:var(--ink-2);font-size:14.5px;padding-left:20px;margin:14px 0 0;display:grid;gap:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

section.band{padding-block:52px}
section.alt{background:var(--card);border-block:1px solid var(--line)}
.h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(30px,3.6vw,42px);line-height:1;margin:0 0 10px;color:var(--brand);text-wrap:balance}
.sub{color:var(--ink-2);max-width:42em;margin:0 0 26px}
.signs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
.sign{background:var(--ground);border-radius:12px;padding:16px;border:1px solid var(--line)}
.alt .sign{background:var(--ground)}
.sign::before{counter-increment:s;content:counter(s);font-family:var(--display);font-weight:700;font-size:30px;color:var(--accent);display:block;line-height:1}
.sign h3{font-size:16px;margin:6px 0 4px}
.sign p{margin:0;font-size:14px;color:var(--ink-2)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.timeline::before{content:"";position:absolute;left:7px;right:0;top:35px;height:2px;background:var(--line)}
.tl{padding:0 14px 0 0;position:relative}
.tl .d{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.06em}
.tl .dot{width:14px;height:14px;border-radius:50%;background:var(--brand);border:3px solid var(--card);box-shadow:0 0 0 2px var(--brand);margin:8px 0 12px;position:relative;z-index:1}
.tl h3{margin:0 0 4px;font-size:17px}
.tl p{margin:0;color:var(--ink-2);font-size:14.5px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.qt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.qt .st{color:#f5a623;letter-spacing:2px}
.qt p{margin:8px 0 10px;color:var(--ink-2);font-size:15px}
.qt b{font-size:13px}
.zips{font-family:var(--mono);font-size:13px;color:var(--ink-2);background:var(--soft);border-radius:10px;padding:12px 14px;margin-top:18px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{color:var(--ink-2);margin:10px 0 0}
.endcta{text-align:center}
.endcta a{display:inline-block;background:var(--accent);color:#fff;font-weight:700;text-decoration:none;padding:14px 26px;border-radius:10px;margin-top:6px}
footer{background:var(--brand);color:#b9c8d8;font-size:12.5px;padding-block:28px}
footer p{margin:0 0 8px;max-width:70em}
footer a{color:#dfe8f2}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy .checks,.hero-review{display:none}
  .signs{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr;row-gap:24px}
  .timeline::before{display:none}
  .quotes{grid-template-columns:1fr}
  .phone small{display:none}
  .logo span{display:none}
}
@media (max-width:520px){.signs,.timeline{grid-template-columns:1fr}.opts.two,.row.two,.row.addr{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}*{transition:none!important}}
.hero-review .note{display:block;margin-top:6px;font-size:12px;color:#aebbd6}
h1.quote{font-size:clamp(38px,5vw,58px);line-height:.98;margin-bottom:18px}
h1.quote q{display:block;color:var(--alert);quotes:"\201C" "\201D";text-wrap:balance}
h1.quote .rest{display:block;margin-top:14px;font-size:.52em;line-height:1.12;letter-spacing:.01em;color:#fff;max-width:26em;text-wrap:balance}

/* storm stats band */
.stormstats{background:var(--brand);color:#fff;border-top:1px solid rgba(255,255,255,.12);padding-block:26px}
.ss-lead{margin:0 0 14px;font-size:16px;color:#dfe6f3;text-align:center}
.ss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:0 auto}
.ss-grid div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 16px;text-align:center}
.ss-grid b{display:block;font-family:var(--display);font-size:48px;line-height:1;color:var(--alert);font-variant-numeric:tabular-nums}
.ss-grid span{display:block;margin-top:4px;font-size:14px;color:#e6ecf7}
.ss-src{margin:12px auto 0;max-width:900px;font-size:11.5px;color:#aebbd6;text-align:center}
@media (max-width:640px){.ss-grid{grid-template-columns:1fr}.ss-grid div{display:flex;align-items:center;gap:14px;text-align:left}.ss-grid b{font-size:40px;min-width:76px}}
