:root{--blue:#064da6;--head:#064da6;--navy:#03275a;--yellow:#fbc21f;--bg:#fff;--tint:#e8f0fb;--text:#0b1b36;--muted:#4a5d7e;--card:#fff;--danger:#b42318;--line:rgba(6,77,166,.14);--line2:rgba(6,77,166,.3);color-scheme:light dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#061327;--tint:#0a1f40;--text:#eef3fb;--muted:#9db0cf;--card:#0f2a52;--head:#8ec0ff;--danger:#ff9b92;--line:rgba(142,192,255,.2);--line2:rgba(142,192,255,.4)}}
:root[data-theme="dark"]{--bg:#061327;--tint:#0a1f40;--text:#eef3fb;--muted:#9db0cf;--card:#0f2a52;--head:#8ec0ff;--danger:#ff9b92;--line:rgba(142,192,255,.2);--line2:rgba(142,192,255,.4)}
*{box-sizing:border-box;max-width:100%}
html{scroll-padding-top:4.5rem;scroll-padding-bottom:5rem;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.45;padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px))}
a{color:inherit;text-decoration:none}
img{height:auto}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--blue);z-index:30}
:is(a,button,summary,input):focus-visible{outline:.1875rem solid var(--yellow);outline-offset:.125rem;box-shadow:0 0 0 .1875rem var(--navy)}
.skip{min-height:3rem;display:inline-flex;align-items:center;position:absolute;left:.5rem;top:-4rem;z-index:40;background:var(--yellow);color:#0b1b36;font-weight:700;padding:.75rem 1rem;border-radius:.75rem}
.skip:focus{top:calc(.5rem + env(safe-area-inset-top,0px))}
.wm{display:inline-flex;line-height:1;color:#fff;min-height:3rem;align-items:center}
.wm img{display:block;height:1.75rem;width:auto}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--blue);color:#fff}
nav .row{max-width:62.5rem;margin:0 auto;min-height:3.5rem;padding:.25rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.625rem}
nav .links{display:flex;align-items:center;gap:.5rem;font-size:.9375rem}
nav .links a.l{display:none;align-items:center;min-height:3rem;padding:0 .75rem;opacity:.92}
.btn{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:62rem;padding:.8125rem 1.625rem;font-size:1.0625rem;font-weight:600;border:.125rem solid transparent;cursor:pointer;font-family:inherit}
.y{background:var(--yellow);color:#0b1b36}
.o{border-color:#fff;color:#fff}
.sm{padding:0 1.125rem;min-height:3rem;font-size:.9375rem}
.hero{background:var(--blue);color:#fff;text-align:center;padding:3rem 1.25rem 4rem;border-radius:0 0 2.25rem 2.25rem}
.badge{min-height:2.25rem;min-width:12rem;justify-content:center;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.14);border-radius:62rem;padding:.375rem .875rem;font-size:.875rem;font-weight:600;margin-bottom:1.125rem}
.badge:before{content:"";width:.5625rem;height:.5625rem;border-radius:50%;background:#aab8d0}
.badge.on:before{background:#3ddc84}.badge.off:before{background:#ff6b6b}
h1{font-size:clamp(2.375rem,9vw,5.125rem);line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:0}
h1 span{color:var(--yellow)}
.sub{font-size:clamp(1.0625rem,3vw,1.5rem);max-width:37.5rem;margin:1rem auto 1.75rem;opacity:.92;line-height:1.3}
.cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.chips{display:flex;gap:.625rem;justify-content:center;flex-wrap:wrap;margin-top:2.125rem}
.chips span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:62rem;padding:.5rem .875rem;font-size:.875rem;font-weight:600}
section{padding:4.5rem 1.25rem}
.in{max-width:62.5rem;margin:0 auto}
h2{font-size:clamp(1.875rem,6vw,3.25rem);line-height:1.08;letter-spacing:-.025em;font-weight:800;margin:0 0 .625rem;text-align:center;color:var(--head)}
.lead{font-size:clamp(1rem,2.6vw,1.3125rem);color:var(--muted);text-align:center;max-width:37.5rem;margin:0 auto 2.25rem;line-height:1.3}
.tint{background:var(--tint)}
.grid{display:grid;gap:.875rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr))}
.tile{background:var(--card);border-radius:1.5rem;padding:1.625rem 1.5rem;border:1px solid var(--line)}
.tile small{display:block;font-size:.8125rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.tile h3{font-size:clamp(1.5rem,4vw,2rem);line-height:1.1;letter-spacing:-.02em;margin:.375rem 0;font-weight:800;color:var(--head)}
.tile p{margin:0 0 .375rem;color:var(--muted);font-size:1rem}
.tile a.k{display:inline-flex;align-items:center;min-height:3rem;color:var(--head);font-weight:700;font-size:1rem;overflow-wrap:anywhere}
.tile.hi a.k{color:var(--yellow)}
.cp{background:none;border:0;padding:0;font:inherit;font-weight:700;font-size:1rem;color:var(--head);display:inline-flex;align-items:center;min-height:3rem;cursor:pointer}
.cp[hidden]{display:none}
.tile.hi{background:var(--blue);border-color:var(--blue)}
.tile.hi small,.tile.hi p{color:#dbe7fb}.tile.hi h3{color:#fff}
.svc{grid-template-columns:1fr}
.rates{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}
.rates .tile{padding:1.25rem .875rem;border-radius:1.25rem}
.rates .tile h3{font-size:clamp(1.75rem,6vw,2.5rem)}
.rates .shoe{grid-column:1/-1}
#bmat{margin-top:1.375rem}
#bmat[hidden]{display:none}
.navy{background:var(--navy);color:#fff}
.navy h2{color:#fff}.navy .lead{color:#b9c9e6}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr));gap:1.875rem;text-align:center}
.steps b{display:block;font-size:4.5rem;line-height:1;font-weight:800;color:var(--yellow)}
.steps h3{font-size:1.375rem;margin:.5rem 0 .25rem}
.steps p{margin:0;color:#b9c9e6;font-size:1rem}
footer{background:var(--blue);color:#dbe7fb;font-size:.8125rem;text-align:center;padding:1.625rem 1.25rem;border-radius:2.25rem 2.25rem 0 0}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;gap:.625rem;padding:.625rem .875rem calc(.625rem + env(safe-area-inset-bottom,0px));background:var(--blue);box-shadow:0 -.25rem 1.125rem rgba(0,0,0,.2)}
.bar a{flex:1;padding:.8125rem .625rem}
.bk{max-width:40rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:1.5rem;padding:1.375rem 1.125rem}
.card h3{margin:1.375rem 0 .625rem;font-size:.9375rem;color:var(--head);text-transform:uppercase;letter-spacing:.05em}
.card h3:first-child{margin-top:0}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opt{min-height:3rem;padding:.5rem 1rem;border-radius:62rem;border:.125rem solid var(--line2);background:transparent;color:var(--text);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;line-height:1.2}
.opt small{display:block;font-size:.75rem;font-weight:500;color:var(--muted)}
.opt.sel{background:var(--blue);border-color:var(--blue);color:#fff}
.opt.sel small{color:#dbe7fb}
.opt[disabled]{opacity:.4;cursor:not-allowed}
.card input{width:100%;min-height:3rem;margin:0 0 .625rem;padding:0 .875rem;border-radius:.875rem;border:.125rem solid var(--line2);background:var(--bg);color:var(--text);font:inherit;font-size:1rem}
.note{margin:.625rem 0;font-size:.875rem;color:var(--muted)}
.err{margin:.375rem 0;min-height:1.25rem;font-size:.875rem;font-weight:600;color:var(--danger)}
.gps{width:100%;display:flex}
.full{width:100%;margin-top:.25rem}
#bmap{width:100%;aspect-ratio:2/1;height:auto;border:0;border-radius:1rem;margin:0 0 .625rem;display:block}
#bmap[hidden]{display:none}
.req{font-size:.75rem;font-weight:700;color:var(--danger);text-transform:none;letter-spacing:0;margin-left:.375rem}
.lb{display:block;font-size:.875rem;font-weight:700;margin:.125rem 0 .375rem;color:var(--text)}
.st{color:var(--danger)}
.fe{margin:-.25rem 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--danger)}
.card input.bad{border-color:var(--danger)}
a.full{display:flex;text-align:center}
a.full.dis{opacity:.55}
.ml{font-size:1rem;opacity:.92;margin:-.875rem auto 1.5rem;max-width:37.5rem}
.step{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}
.step output{font-size:1.375rem;font-weight:800;min-width:1.5rem;text-align:center;color:var(--text)}
.sb{width:3rem;height:3rem;border-radius:50%;border:.125rem solid var(--line2);background:transparent;color:var(--head);font:inherit;font-size:1.5rem;font-weight:700;cursor:pointer;line-height:1;padding:0}
.tile.on{border-color:var(--blue);box-shadow:inset 0 0 0 .125rem var(--blue)}
.tile.on .sb:last-child{background:var(--blue);border-color:var(--blue);color:#fff}
.est{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.375rem;font-weight:700;font-size:1.125rem;color:var(--head)}
.est[hidden]{display:none}
.faq{max-width:45rem}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:1.125rem;margin:0 0 .625rem;padding:0 1.25rem}
.faq summary{min-height:3.5rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;font-weight:700;font-size:1.0625rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:1.5rem;color:var(--head);transition:transform .3s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin:0 0 1rem;color:var(--muted);font-size:1rem}
nav.sc{background:rgba(6,77,166,.88);-webkit-backdrop-filter:saturate(180%) blur(1rem);backdrop-filter:saturate(180%) blur(1rem)}
.tag{font-size:clamp(1.125rem,3.2vw,1.625rem);font-weight:700;line-height:1.25;color:var(--yellow);margin:1rem auto 0;max-width:37.5rem}

@media (min-width:35em){
.svc{grid-template-columns:repeat(2,1fr)}.svc .wide{grid-column:span 2}
.rates{grid-template-columns:repeat(3,1fr)}.rates .tile{padding:1.625rem 1.5rem;border-radius:1.5rem}
}
@media (min-width:43.75em){
body{padding-bottom:0}
nav .links a.l{display:inline-flex}
.bar{display:none}
}
@media (prefers-reduced-motion:no-preference){
html{scroll-behavior:smooth}
.hero .badge,.hero h1,.hero .sub,.hero .ml,.hero .cta,.hero .chips{animation:up .9s cubic-bezier(.2,.7,.2,1) backwards}
.hero .tag{animation:up .9s cubic-bezier(.2,.7,.2,1) .14s backwards}
.hero h1{animation-delay:.08s}.hero .sub{animation-delay:.2s}.hero .ml{animation-delay:.28s}.hero .cta{animation-delay:.36s}.hero .chips{animation-delay:.46s}
@keyframes up{from{opacity:0;transform:translateY(1.625rem)}}
.hero h1,.hero .sub{transform:translateY(calc(var(--p,0)*2.25rem));opacity:calc(1 - var(--p,0)*.55)}
.chips span{animation:fl 5s ease-in-out infinite}.chips span:nth-child(2){animation-delay:-1.7s}.chips span:nth-child(3){animation-delay:-3.3s}
@keyframes fl{50%{transform:translateY(-.25rem)}}
.rv{opacity:0;transform:translateY(1.875rem) scale(.97);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.go{opacity:1;transform:none}
.tile,.btn,.opt,.sb{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,background .2s,border-color .2s}
.tile:hover{transform:translateY(-.3125rem);box-shadow:0 1rem 2.125rem rgba(6,77,166,.18)}
.btn:hover{transform:translateY(-.125rem)}
.btn:active,.opt:active,.sb:active{transform:scale(.95)}
.step output.pop{animation:pop .35s cubic-bezier(.2,.9,.3,1.6)}
@keyframes pop{40%{transform:scale(1.35)}}
.est:not([hidden]){animation:up .5s both}
}
@media print{.rv{opacity:1!important;transform:none!important}.bar,nav{display:none}}
