:root { --ink:#092a32; --cyan:#53e6dc; --lime:#d6ff5f; --sand:#f7f1e5; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
[id] { scroll-margin-top:24px; }
body { margin:0; background:var(--white); color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
button,input { font:inherit; }
.hidden { display:none!important; }
.field-error { border-color:#df8e76!important; box-shadow:0 0 0 3px rgba(223,142,118,.18)!important; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.hero { position:relative; overflow:hidden; color:white; background:radial-gradient(circle at 83% 25%,#234e4c 0,#12363a 26%,#0b2530 56%,#071b26 100%); }
.hero::before { content:''; position:absolute; inset:0; opacity:.17; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 20%,black 100%); }
.nav { position:relative; z-index:10; height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.13); }
.brand { position:relative; display:inline-flex; font-size:23px; font-weight:900; letter-spacing:-.07em; }
.brand-flash { color:white; }
.brand i { position:absolute; right:-13px; top:3px; width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(214,255,95,.15); }
.legacy-brand { width:198px; overflow:visible; background:transparent; }
.legacy-brand img { display:block; width:100%; height:auto; filter:drop-shadow(0 0 1px rgba(255,255,255,1)) drop-shadow(0 0 3px rgba(255,255,255,.92)) drop-shadow(0 0 8px rgba(83,230,220,.36)); }
.nav-links { display:flex; gap:34px; font-size:14px; font-weight:600; color:rgba(255,255,255,.77); }
.nav-links a:hover { color:white; }
.account-link { padding:12px 17px; border:1px solid rgba(255,255,255,.24); border-radius:999px; font-size:13px; font-weight:700; }
.account-link span,button span,a span { margin-left:6px; }

.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.08fr .92fr; min-height:680px; align-items:center; }
.hero-copy { padding:78px 0 92px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 24px; color:var(--lime); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; }
.eyebrow span { width:28px; height:1px; background:currentColor; }
.hero h1 { max-width:720px; margin:0; font-size:clamp(54px,6.1vw,91px); line-height:.93; letter-spacing:-.068em; font-weight:760; }
.hero h1 em { color:var(--cyan); font-style:normal; }
.lede { max-width:610px; margin:30px 0 32px; color:rgba(255,255,255,.74); font-size:19px; line-height:1.55; }
.coverage-form { width:min(670px,100%); padding:19px; border-radius:18px; background:white; color:var(--ink); box-shadow:0 18px 70px rgba(0,0,0,.24); }
.coverage-form label { display:block; margin:0 0 10px 3px; text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:850; }
.form-row { display:flex; gap:10px; }
.form-row input { min-width:0; flex:1; height:54px; border:1px solid #d9e1dd; border-radius:11px; padding:0 17px; color:var(--ink); background:#f8faf8; outline:none; font-size:15px; }
.form-row input:focus { border-color:#2f968f; box-shadow:0 0 0 3px rgba(83,230,220,.22); }
.form-row button { border:0; border-radius:11px; padding:0 21px; background:var(--ink); color:white; font-weight:800; cursor:pointer; }
.form-row button:hover { background:#16434b; }
.form-note { min-height:17px; margin:11px 3px 0; color:#71807c; font-size:11px; }
.form-note.success { color:#15786f; font-weight:650; }
.lead-panel { width:min(670px,100%); margin-top:12px; padding:18px; border:1px solid rgba(83,230,220,.32); border-radius:18px; background:rgba(7,27,38,.82); backdrop-filter:blur(12px); animation:reveal .28s ease-out; }
.lead-panel strong,.lead-panel small { display:block; }
.lead-panel strong { font-size:14px; }
.lead-panel small { margin-top:4px; color:rgba(255,255,255,.58); font-size:11px; }
.lead-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.lead-fields input { min-width:0; height:44px; border:1px solid rgba(255,255,255,.17); border-radius:9px; padding:0 12px; color:white; background:rgba(255,255,255,.08); outline:none; }
.lead-fields input::placeholder { color:rgba(255,255,255,.45); }
.lead-fields input:focus { border-color:var(--cyan); }
.lead-fields button { grid-column:1/-1; height:45px; border:0; border-radius:9px; background:var(--lime); color:var(--ink); font-weight:850; cursor:pointer; }
.lead-fields button:disabled { opacity:.72; cursor:default; }
.website-field { position:absolute; left:-9999px; }
.bridge-note { margin:10px 0 0; color:#ffd492; font-size:11px; }
@keyframes reveal { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:none; } }

.mascot-stage { position:relative; align-self:stretch; min-height:620px; }
.mascot { position:absolute; z-index:3; right:-110px; bottom:-145px; width:640px; height:auto; filter:drop-shadow(0 28px 30px rgba(0,0,0,.32)); }
.sun-disc { position:absolute; top:106px; right:-10px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle at 40% 38%,#fbffbe,#d6ff5f 45%,#53e6dc 100%); opacity:.93; box-shadow:0 0 100px rgba(83,230,220,.2); }
.signal { position:absolute; border:1px solid rgba(255,255,255,.17); border-radius:50%; }
.signal-one { width:540px; height:540px; top:42px; right:-70px; }
.signal-two { width:650px; height:650px; top:-12px; right:-125px; }
.mascot-caption { position:absolute; z-index:5; right:5px; bottom:52px; display:grid; grid-template-columns:auto 1fr; column-gap:10px; padding:14px 18px; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:rgba(6,27,36,.78); backdrop-filter:blur(12px); }
.mascot-caption .online-dot { grid-row:1/3; align-self:center; width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(214,255,95,.13); }
.mascot-caption strong { font-size:12px; }
.mascot-caption small { margin-top:3px; color:rgba(255,255,255,.58); font-size:10px; }

.trust-strip { position:relative; z-index:5; border-top:1px solid rgba(255,255,255,.13); background:rgba(4,18,25,.5); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid p { margin:0; padding:25px 20px; border-right:1px solid rgba(255,255,255,.12); }
.trust-grid p:first-child { padding-left:0; }
.trust-grid p:last-child { border:0; }
.trust-grid strong,.trust-grid span { display:block; }
.trust-grid strong { font-size:14px; }
.trust-grid span { margin-top:4px; color:rgba(255,255,255,.49); font-size:11px; }

.why { padding-block:120px; }
.eyebrow.dark { color:#1e8882; }
.section-heading h2,.plans h2,.closing h2 { margin:0; font-size:clamp(44px,5.5vw,72px); line-height:.98; letter-spacing:-.06em; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:65px; }
.feature-grid article { min-height:310px; padding:28px; border-radius:18px; background:var(--sand); }
.feature-grid article:nth-child(2) { background:#dff9f4; }
.feature-grid article:nth-child(3) { background:#efffc5; }
.feature-grid b { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; border:1px solid rgba(9,42,50,.18); border-radius:50%; font-size:11px; }
.feature-grid h3 { margin:78px 0 13px; font-size:25px; line-height:1.05; letter-spacing:-.04em; }
.feature-grid p { margin:0; color:#526565; line-height:1.6; font-size:14px; }

.plans { padding-block:115px; color:white; background:#0e5252; }
.plans-grid { display:grid; grid-template-columns:1fr .82fr; gap:100px; align-items:center; }
.plans-grid>div>p:not(.eyebrow) { max-width:550px; margin:26px 0 30px; color:rgba(255,255,255,.67); line-height:1.65; }
.button-light { display:inline-flex; padding:15px 20px; border-radius:999px; background:var(--lime); color:var(--ink); font-size:13px; font-weight:850; }
.plan-card { padding:42px; border-radius:24px; background:white; color:var(--ink); transform:rotate(1.5deg); box-shadow:18px 20px 0 #53e6dc; }
.plan-card .plan-kicker { margin:0 0 12px!important; color:#278b84!important; text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:850; }
.plan-card h3 { margin:0; max-width:390px; font-size:38px; line-height:1.04; letter-spacing:-.045em; }
.plan-card ul { padding:0; margin:32px 0; list-style:none; }
.plan-card li { padding:12px 0; border-bottom:1px solid #e4ebe6; font-size:14px; }
.plan-card li span { color:#218d83; font-weight:900; }
.plan-card small { color:#74817d; }

.closing { padding-block:120px; text-align:center; background:var(--sand); }
.closing p { margin:0 0 15px; text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:800; color:#388980; }
.closing a { display:inline-flex; margin-top:34px; padding:16px 23px; border-radius:999px; background:var(--ink); color:white; font-size:13px; font-weight:800; }

footer { padding:74px 0 26px; background:#071b26; color:white; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:50px; }
.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-grid strong { margin-bottom:7px; color:var(--cyan); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.footer-grid a,.footer-grid p { margin:0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.6; }
.footer-grid a:hover { color:white; }
.footer-brand { width:218px; margin-bottom:8px!important; color:white!important; }
.legal { display:flex; justify-content:space-between; margin-top:60px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.38); font-size:10px; }

@media(max-width:900px){
  .nav-links{display:none}
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:58px 0 0}
  .mascot-stage{min-height:440px;margin-top:20px;overflow:hidden}
  .mascot{right:50%;bottom:-122px;width:470px;transform:translateX(50%)}
  .sun-disc{top:42px;right:50%;width:330px;height:330px;transform:translateX(50%)}
  .signal-one{top:2px;right:50%;width:400px;height:400px;transform:translateX(50%)}
  .signal-two{display:none}
  .mascot-caption{right:7%;bottom:26px}
  .plans-grid{grid-template-columns:1fr;gap:65px}
  .footer-grid{grid-template-columns:1.6fr 1fr 1fr}
  .footer-grid>div:last-child{display:none}
}
@media(max-width:640px){
  .shell{width:min(100% - 28px,1180px)}
  .nav{height:76px}
  .legacy-brand{width:156px}
  .account-link{padding:10px 13px}
  .hero-copy{padding-top:38px}
  .eyebrow{margin-bottom:18px}
  .hero h1{font-size:clamp(46px,13.4vw,54px)}
  .lede{margin:22px 0 24px;font-size:16px;line-height:1.48}
  .coverage-form{padding:16px}
  .form-row{flex-direction:column}
  .form-row button{height:52px}
  .lead-fields{grid-template-columns:1fr}
  .lead-fields button{grid-column:auto}
  .mascot-stage{min-height:330px;margin-top:14px}
  .mascot{right:45%;bottom:-103px;width:382px}
  .sun-disc{top:28px;width:250px;height:250px}
  .signal-one{top:0;width:310px;height:310px}
  .mascot-caption{right:0;bottom:18px;padding:11px 14px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid p{padding:18px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .why,.plans,.closing{padding-block:72px}
  .section-heading h2,.plans h2,.closing h2{font-size:clamp(40px,12vw,54px)}
  .feature-grid{grid-template-columns:1fr;margin-top:38px}
  .feature-grid article{min-height:220px;padding:24px}
  .feature-grid h3{margin-top:42px}
  .plans-grid{gap:48px}
  .plan-card{padding:30px 24px;transform:none;box-shadow:9px 12px 0 #53e6dc}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
  .legal{gap:20px}
}
