
@font-face{font-family:Jakarta;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-var-latin.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/fonts/poppins-600-latin.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/poppins-700-latin.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:800;font-display:swap;src:url(/fonts/poppins-800-latin.woff2) format('woff2')}
:root{
  --blue:#0b55d0;--navy:#0d3b8c;--navy-2:#0a2f70;--navy-3:#061a3a;--deep:#030f24;--gold:#F9B92E;--gold-2:#ffcb57;
  --ink:#0b1a33;--body:#26324a;--mute:#4a5873;--line:#dbe3ef;--sky:#eaf4fe;--mist:#f3f7fc;--paper:#fff;
  --r:16px;--wrap:1240px;--head:Poppins,Jakarta,system-ui,sans-serif;
  --shadow:0 1px 2px rgba(6,26,58,.06),0 12px 32px rgba(6,26,58,.08);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px;scroll-behavior:smooth}
body{margin:0;font:400 17.5px/1.68 Jakarta,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--body);background:var(--paper);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--blue);text-underline-offset:3px}
a:hover{color:var(--navy-2)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(36px,5.6vw,66px);font-weight:800;letter-spacing:-.03em;line-height:1.04}
h2{font-size:clamp(29px,3.6vw,46px);font-weight:800;letter-spacing:-.025em}
h3{font-size:21px;letter-spacing:-.01em}
p{margin:0 0 1em}
ul{padding-left:1.2em}
strong,b{font-weight:700;color:var(--ink)}
.dark strong,.dark b{color:#fff}
.eyebrow{font:700 14.5px/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 14px;display:inline-flex;gap:10px;align-items:center}
.eyebrow:before{content:"";width:26px;height:4px;border-radius:2px;background:var(--gold)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center .lede{margin-left:auto;margin-right:auto}
.dark{background:var(--navy-3);color:#d6e1f5}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .eyebrow{color:var(--gold)}
.dark a{color:#fff}
.lede{font-size:19.5px;line-height:1.62;max-width:62ch}
section{padding:96px 0}
.tight{padding:60px 0}
.mist{background:var(--mist)}
.sky{background:var(--sky)}
/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 16.5px/1 var(--head);text-decoration:none;padding:17px 26px;border-radius:12px;border:2px solid transparent;transition:transform .18s,box-shadow .18s,background .18s;cursor:pointer;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:19px;height:19px;flex:none}
.btn-gold{background:var(--gold);color:var(--deep);box-shadow:0 10px 26px rgba(249,185,46,.35)}
.btn-gold:hover{background:var(--gold-2);color:var(--deep);box-shadow:0 14px 34px rgba(249,185,46,.45)}
.btn-gold:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s}
.btn-gold:hover:after{left:130%}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--blue);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(3,15,36,.25);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.btn-line{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-line:hover{background:var(--navy);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(219,227,239,.8)}
.top .wrap{display:flex;align-items:center;gap:20px;height:80px}
.logo img{height:50px;width:auto}
.nav{display:flex;align-items:center;gap:2px;margin:0 auto;background:var(--mist);border:1px solid var(--line);border-radius:999px;padding:5px}
.nav>a,.nav .dd>a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font:600 15px/1 var(--head);padding:11px 15px;border-radius:999px;white-space:nowrap}
.nav>a:hover,.nav .dd>a:hover,.nav a[aria-current]{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(6,26,58,.1)}
.nav .dd{position:relative}
.nav .dd>a:after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-3px);opacity:.6}
.dd .panel{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 6px;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(6,26,58,.18);padding:10px;display:grid;opacity:0;visibility:hidden;transition:opacity .18s,translate .18s,visibility .18s}
.dd .panel.two{grid-template-columns:1fr 1fr;min-width:480px}
.dd .panel:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd:hover .panel,.dd:focus-within .panel{opacity:1;visibility:visible;translate:-50% 0}
.dd .panel a{color:var(--ink);text-decoration:none;font:600 15px/1.25 Jakarta,sans-serif;padding:11px 12px;border-radius:10px;white-space:nowrap}
.dd .panel a:hover{background:var(--sky);color:var(--blue)}
.top .call{padding:15px 20px;font-size:16px;border-radius:12px;background:var(--navy-3);color:#fff;box-shadow:none}
.top .call:hover{background:var(--blue);color:#fff}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;color:var(--navy);font:700 15px/1 var(--head);padding:13px 18px;border:2px solid var(--navy);border-radius:12px}
.menu summary::-webkit-details-marker{display:none}
.menu[open] .drawer{display:flex}
.drawer{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;background:#fff;padding:6px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(6,26,58,.18);max-height:calc(100vh - 140px);overflow:auto}
.drawer a{color:var(--ink);text-decoration:none;font:600 17px/1 var(--head);padding:16px 0;border-bottom:1px solid var(--line)}
.drawer .sub{padding-left:18px;font:500 16px/1 Jakarta,sans-serif;color:var(--mute)}
@media (max-width:1180px){.nav>a.opt{display:none}}
@media (max-width:1040px){.nav{display:none}.menu{display:block}.top .call{display:none}.top .wrap{height:72px}.logo img{height:44px}}
@media (max-width:420px){.logo img{height:38px}}
/* hero */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;padding:0;min-height:min(calc(100vh - 80px),880px);display:flex;flex-direction:column;justify-content:flex-end}
.hero .media{position:absolute;inset:0}
.hero .media video,.hero .media canvas,.hero .media .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .media canvas{opacity:0;transition:opacity .6s}
.hero.gl .media canvas{opacity:1}
.hero.gl .media video{opacity:0}
.hero .shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,15,36,.92) 0%,rgba(3,15,36,.78) 32%,rgba(3,15,36,.2) 62%,rgba(3,15,36,0) 80%),linear-gradient(0deg,rgba(3,15,36,.9) 0%,rgba(3,15,36,0) 34%)}
.hero .copy{position:relative;padding-top:56px;padding-bottom:30px;max-width:var(--wrap);margin:0 auto;width:100%;pointer-events:none}
.hero .copy>div{max-width:640px;pointer-events:auto}
.hero h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1{font-size:clamp(36px,4.7vw,60px)}
.hero h1 em{font-style:normal;color:var(--gold);white-space:nowrap}
.hero strong{color:#fff}
.hero .lede{color:#e3ebf8;font-size:20px}
.hero .eyebrow{color:var(--gold);display:flex}
.hero .badge{position:absolute;right:max(24px,calc((100vw - var(--wrap))/2 + 24px));top:110px;width:150px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.4));animation:bob 5s ease-in-out infinite;pointer-events:none}
@keyframes bob{50%{translate:0 -8px;rotate:-4deg}}
.stages{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-bottom:28px;max-width:var(--wrap);margin:0 auto;width:100%}
.stage{font:600 14.5px/1.3 var(--head);color:rgba(255,255,255,.62);transition:color .3s}
.stage i{display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.22);margin-bottom:10px;overflow:hidden}
.stage i:before{content:"";display:block;height:100%;width:var(--p,0%);background:var(--gold);border-radius:2px}
.stage.on{color:#fff}
.stage small{display:block;font:500 13.5px/1.3 Jakarta,sans-serif;color:rgba(255,255,255,.55);margin-top:3px}
.stage.on small{color:#cfdcf2}
.hero .tag{position:absolute;right:24px;bottom:96px;font:500 13.5px/1 Jakarta,sans-serif;color:rgba(255,255,255,.6);pointer-events:none}
@media (max-width:860px){
  .hero{min-height:0;display:block}
  .hero .media{position:relative;aspect-ratio:16/10}
  .hero .shade{background:linear-gradient(0deg,rgba(3,15,36,1) 0%,rgba(3,15,36,0) 40%)}
  .hero .copy{padding-top:6px;padding-bottom:26px}
  .hero .badge{top:auto;bottom:calc(100% - 50vw);right:14px;width:96px}
  .stages{position:absolute;left:0;right:0;top:0;padding:14px 16px 0;grid-template-columns:repeat(4,1fr);gap:6px}
  .stage{font-size:0}.stage small{display:none}
  .hero .tag{display:none}
}
.chip{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 16px 8px 9px;font:600 14.5px/1.2 Jakarta,sans-serif;color:#fff;text-decoration:none;margin-bottom:22px;backdrop-filter:blur(6px)}
.chip .g{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#1a56d6;font:800 14px/1 var(--head)}
.stars{color:var(--gold);letter-spacing:1px}
/* promise strip */
.promises-band{background:linear-gradient(110deg,var(--navy-2),var(--blue));position:relative}
.promises{display:grid;grid-template-columns:repeat(4,1fr);color:#fff}
.promises div{display:flex;gap:16px;align-items:center;padding:26px 22px;border-right:1px solid rgba(255,255,255,.16)}
.promises div:first-child{padding-left:0}
.promises div:last-child{border-right:0}
.promises svg{width:44px;height:44px;flex:none;color:var(--gold)}
.promises b{display:block;font:700 18.5px/1.2 var(--head);color:#fff}
.promises span{font-size:14.5px;color:#d3e0f7;line-height:1.4;display:block;margin-top:3px}
@media (max-width:980px){.promises{grid-template-columns:1fr 1fr}.promises div{padding-left:0;border-right:0}.promises div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}}
@media (max-width:520px){.promises{grid-template-columns:minmax(0,1fr)}.promises div{border-bottom:1px solid rgba(255,255,255,.16)}.promises div:last-child{border-bottom:0}}
.subhero{position:relative;background:var(--navy-3);color:#d6e1f5;overflow:hidden;padding:0}
.subhero .bg{position:absolute;inset:0}
.subhero .bg img{width:100%;height:100%;object-fit:cover}
.subhero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(3,15,36,.97) 0%,rgba(6,26,58,.9) 55%,rgba(11,85,208,.55) 100%)}
.subhero .wrap{position:relative;padding-top:68px;padding-bottom:64px}
.subhero h1{color:#fff;max-width:20ch}
.subhero .lede{color:#d6e1f5}
.subhero .eyebrow{color:var(--gold)}
.crumbs{font:600 14.5px/1.4 Jakarta,sans-serif;margin-bottom:18px;color:#b9c8e6}
.crumbs a{color:#fff;text-decoration:none}
.glance{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);margin-top:34px;backdrop-filter:blur(6px)}
.glance div{padding:16px 18px;border-right:1px solid rgba(255,255,255,.14)}
.glance div:last-child{border-right:0}
.glance small{display:block;font:700 14.5px/1.2 Jakarta,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#b9c8e6;margin-bottom:6px}
.glance b{font:700 18px/1.2 var(--head);color:#fff}
@media (max-width:820px){.glance{grid-template-columns:1fr 1fr}.glance div:nth-child(2){border-right:0}.glance div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}}
/* layout */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.withform{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:56px;align-items:start}
.withform aside{position:sticky;top:104px}
@media (max-width:980px){.split,.withform{grid-template-columns:minmax(0,1fr);gap:36px}.withform aside{position:static}}
.prose{max-width:740px}
.prose h2{margin-top:1.3em;font-size:clamp(25px,2.8vw,33px)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.2em}
.prose li{margin-bottom:8px}
/* our posts: lead, moisture meter TOC (one per site, no JS), sources */
.vigo9-first{font-size:19px;font-weight:600;color:var(--navy-3)}
.rxmr{margin:26px 0 30px;padding:20px 22px;border-radius:var(--r);background:#eef4ff;border:1px solid #c9dafa}
.rxmr-k{font:700 14.5px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin:0 0 12px}
.rxmr ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rxmr li{margin:0}
.rxmr a{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;min-height:44px;padding:6px 10px;border-radius:8px;background:#fff;color:var(--navy-3);text-decoration:none;font-size:16px}
.rxmr a:hover{background:#dce8ff}
.rxmr b{font:700 14.5px/1 var(--head);color:#fff;background:linear-gradient(90deg,var(--blue) var(--lvl),#7a98c9 var(--lvl));border-radius:6px;padding:8px 0;text-align:center}
.vigo9-notes{width:100%;border-collapse:collapse;font-size:15px;margin-top:10px}
.vigo9-notes th,.vigo9-notes td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid #d7e1f2}
.vigo9-notes th{font:700 14.5px/1.2 var(--head);color:var(--navy);background:#eef4ff}
.vigo9-notes td span{display:block;color:var(--mute);font-size:14.5px}
@media (max-width:560px){.vigo9-notes th:last-child{display:none}.vigo9-notes td{display:block;border:0;padding:4px 0}.vigo9-notes tr{display:block;padding:10px 0;border-bottom:1px solid #d7e1f2}}
.photo img{border-radius:var(--r);width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}
.photo figcaption{font-size:14.5px;color:var(--mute);margin-top:10px}
.prose .photo{margin:26px 0}
.bite{background:var(--sky);border-left:5px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:20px 24px;font-size:19px;line-height:1.55;color:var(--ink);margin:0 0 20px}
.snack{border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin:0 0 34px;background:#fff}
.snack h2{font-size:15px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;color:var(--blue)}
.snack ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.snack li{padding-left:24px;position:relative;font-weight:600;color:var(--ink);font-size:16px}
.snack li:before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:var(--gold)}
@media (max-width:600px){.snack ul{grid-template-columns:minmax(0,1fr)}}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{padding-left:32px;position:relative}
.ticks li:before{content:"";position:absolute;left:2px;top:5px;width:18px;height:18px;border-radius:50%;background:var(--blue);box-shadow:inset 0 0 0 5px #cfe0ff}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.chips li{font:600 14.5px/1 Jakarta,sans-serif;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)}
/* help now */
.help{display:grid;grid-template-columns:1fr 430px;gap:56px;align-items:center}
.help .van{position:relative;margin-top:28px;max-width:520px}
.help .van img{width:100%;filter:drop-shadow(0 26px 30px rgba(6,26,58,.25))}
.help .van .est{position:absolute;right:-6px;top:-30px;width:118px;filter:drop-shadow(0 10px 18px rgba(6,26,58,.3));rotate:8deg}
.help .van:before{content:"";position:absolute;left:6%;right:6%;bottom:2%;height:14px;border-radius:50%;background:rgba(6,26,58,.18);filter:blur(10px)}
.help>*{min-width:0}
@media (max-width:980px){.help{grid-template-columns:minmax(0,1fr)}.help .van{max-width:420px}}
/* carriers */
.carriers{display:grid;grid-template-columns:repeat(8,1fr);gap:18px 28px;align-items:center;list-style:none;padding:0;margin:30px 0 0}
.carriers li{display:grid;place-items:center;height:56px}
.carriers img{max-height:40px;width:auto;max-width:100%;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s,transform .25s}
.carriers li:hover img{filter:none;opacity:1;transform:scale(1.06)}
@media (max-width:900px){.carriers{grid-template-columns:repeat(4,1fr)}}
@media (max-width:480px){.carriers{grid-template-columns:repeat(2,1fr)}}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(6,26,58,.16);color:inherit}
.card .ph{overflow:hidden}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .6s}
.card:hover img{transform:scale(1.05)}
.card .in{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.card h3{margin-bottom:8px;font-size:20px}
.card p{font-size:16px;color:var(--mute);margin-bottom:16px}
.card .go{margin-top:auto;font:700 15px/1 var(--head);color:var(--blue);display:inline-flex;gap:8px;align-items:center}
.card .go:after{content:"\2192";transition:translate .2s}
.card:hover .go:after{translate:4px 0}
.big3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.big3 .card img{aspect-ratio:4/3}
.big3 .card h3{font-size:23px}
@media (max-width:900px){.big3{grid-template-columns:minmax(0,1fr)}}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile{display:flex;flex-direction:column;gap:14px;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;text-decoration:none;color:var(--ink);font:700 16.5px/1.25 var(--head);transition:transform .2s,box-shadow .2s,border-color .2s}
.tile .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue);transition:background .2s,color .2s}
.tile .ic svg{width:26px;height:26px}
.tile:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(6,26,58,.12);border-color:#bcd0f0;color:var(--blue)}
.tile:hover .ic{background:var(--blue);color:#fff}
.minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:22px}
.mini{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);font-weight:700;font-size:15.5px;transition:border-color .2s,color .2s}
.mini:hover{border-color:var(--blue);color:var(--blue)}
.mini span{font-weight:500;font-size:14.5px;color:var(--mute);white-space:nowrap}
.dark .mini{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.dark .mini span{color:#c9d6f0}
/* form */
.lead{background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 70px rgba(6,26,58,.2);border-top:6px solid var(--gold);color:var(--body)}
.lead h2{font-size:25px;margin:0 0 6px;color:var(--ink)}
.lead p{font-size:15.5px;color:var(--mute);margin:0 0 18px}
.lead label{display:block;font:700 14.5px/1.3 Jakarta,sans-serif;color:var(--ink);margin:0 0 14px}
.lead label span{font-weight:500;color:var(--mute)}
.lead input,.lead textarea{display:block;width:100%;margin-top:7px;font:500 16px/1.4 Jakarta,sans-serif;padding:14px 15px;border:1.5px solid #b7c3d8;border-radius:10px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.lead input:focus,.lead textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,85,208,.15)}
.lead button{width:100%;margin-top:4px}
.lead .fine{font-size:14.5px;margin:12px 0 0;text-align:center}
.lead .fine a{color:var(--blue);font-weight:700}
.hp{position:absolute;left:-9999px}
/* reviews */
.rating{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:linear-gradient(110deg,var(--navy-3),var(--navy));color:#fff;border-radius:22px;padding:30px 36px;margin-bottom:34px}
.rating .big{font:800 76px/.9 var(--head);color:#fff;letter-spacing:-.04em}
.rating .stars{font-size:26px}
.rating p{margin:4px 0 0;color:#d6e1f5}
.rating .btns{margin:0}
@media (max-width:760px){.rating{grid-template-columns:minmax(0,1fr);gap:12px;padding:26px}}
.revs{columns:3 300px;column-gap:20px}
.rev{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;margin:0 0 20px;box-shadow:var(--shadow)}
.rev p{font-size:16px;margin:12px 0 16px}
.rev footer{display:flex;gap:12px;align-items:center;font:700 15px/1.3 var(--head);color:var(--ink)}
.rev footer .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 16px/1 var(--head);background:var(--blue);flex:none}
.rev footer span span{display:block;font:500 14.5px/1.3 Jakarta,sans-serif;color:var(--mute);margin-top:2px}
.rev .stars{color:#a86b00}
.ev{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.ev div{padding:26px 24px;border-right:1px solid var(--line)}
.ev div:last-child{border-right:0}
.ev b{display:block;font:800 52px/.95 var(--head);color:var(--blue)}
.ev span{display:block;font-size:15px;color:var(--mute);margin-top:10px}
@media (max-width:860px){.ev{grid-template-columns:1fr 1fr}.ev div:nth-child(2){border-right:0}.ev div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.fine{font-size:14.5px;color:var(--mute);margin-top:14px}
.dark .fine{color:#b9c8e6}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s;margin-top:40px;position:relative}
.steps:before{content:"";position:absolute;left:30px;right:30px;top:52px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(249,185,46,.1))}
.step{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:var(--r);padding:26px;backdrop-filter:blur(4px);transition:background .2s,transform .2s}
.step:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.step:before{counter-increment:s;content:counter(s);position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--gold);color:var(--deep);font:800 22px/1 var(--head);margin-bottom:18px;box-shadow:0 0 0 8px rgba(249,185,46,.12)}
.step p{font-size:16px;color:#c9d6f0;margin:0}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps:before{display:none}}
@media (max-width:540px){.steps{grid-template-columns:minmax(0,1fr)}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.gallery figure{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:12px 15px;font-size:14.5px;color:var(--mute)}
/* map */
.mapsec{background:radial-gradient(1200px 600px at 75% 40%,#0c2a5e 0%,var(--deep) 70%);color:#d6e1f5;overflow:hidden}
.mapsec h2{color:#fff}
.mapsec .eyebrow{color:var(--gold)}
.mapgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
@media (max-width:980px){.mapgrid{grid-template-columns:minmax(0,1fr);gap:28px}}
.vmap{position:relative;border-radius:24px;overflow:hidden;background:#04132c;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 90px rgba(0,0,0,.45),inset 0 0 120px rgba(11,85,208,.18)}
.vmap svg{display:block;width:100%;height:auto}
.vmap .grid line{stroke:rgba(120,170,255,.07);stroke-width:1}
.vmap .topo path{fill:none;stroke:rgba(150,190,255,.12);stroke-width:1.2}
.vmap .road{fill:none;stroke:rgba(190,215,255,.3);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.vmap .belt{fill:none;stroke:rgba(249,185,46,.35);stroke-width:2.4;stroke-dasharray:2 7;stroke-linecap:round;animation:belt 30s linear infinite}
@keyframes belt{to{stroke-dashoffset:-360}}
.vmap .rlabel{font:700 19px/1 Jakarta,sans-serif;fill:rgba(200,220,255,.55);letter-spacing:.04em}
.vmap .plabel{font:600 italic 21px/1 Jakarta,sans-serif;fill:rgba(170,200,255,.5);letter-spacing:.06em}
.vmap .glow{fill:url(#vglow)}
.vmap .lake{fill:rgba(11,85,208,.35);stroke:rgba(120,170,255,.35)}
.vmap .ring{fill:none;stroke:var(--gold);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:ping 3.6s ease-out infinite}
.vmap .ring.b{animation-delay:1.2s}.vmap .ring.c{animation-delay:2.4s}
@keyframes ping{0%{opacity:.85;transform:scale(.2)}100%{opacity:0;transform:scale(1)}}
.vmap .hq .core{fill:var(--gold);filter:drop-shadow(0 0 12px rgba(249,185,46,.9))}
.vmap .hq .ring{fill:rgba(249,185,46,.06)}
.vmap .hq text{font:700 24px/1 var(--head);fill:#fff;paint-order:stroke;stroke:#04132c;stroke-width:6px}
.vmap .town{cursor:pointer;outline:none}
.vmap .town .dot{fill:#fff;stroke:var(--blue);stroke-width:4;transition:r .2s,fill .2s}
.vmap .town .halo{fill:rgba(11,85,208,.35);opacity:0;transition:opacity .2s}
.vmap .town text{font:600 23px/1 var(--head);fill:#e6eefb;paint-order:stroke;stroke:#04132c;stroke-width:7px;stroke-linejoin:round;transition:fill .2s}
.vmap .town:hover .dot,.vmap .town.on .dot,.vmap .town:focus .dot{fill:var(--gold);r:12}
.vmap .town:hover .halo,.vmap .town.on .halo,.vmap .town:focus .halo{opacity:1}
.vmap .town:hover text,.vmap .town.on text,.vmap .town:focus text{fill:var(--gold)}
.vmap .route{fill:none;stroke:var(--gold);stroke-width:4.5;stroke-linecap:round;stroke-dasharray:6 8;filter:drop-shadow(0 0 6px rgba(249,185,46,.7))}
.vmap .route.go{animation:route .9s ease-out both}
@keyframes route{from{stroke-dashoffset:400;opacity:0}to{stroke-dashoffset:0;opacity:1}}
.vcard{position:absolute;left:18px;top:18px;right:18px;max-width:340px;background:rgba(4,19,44,.82);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:16px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between}
.vcard b{display:block;font:700 18px/1.2 var(--head);color:#fff}
.vcard span{font-size:14.5px;color:#c9d6f0}
.vcard a{flex:none;padding:12px 16px;font-size:15px}
.towns{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}
.towns a{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;text-decoration:none;font:600 14.5px/1 var(--head);transition:background .2s,border-color .2s,color .2s}
.towns a:hover,.towns a.on{background:var(--gold);border-color:var(--gold);color:var(--deep)}
/* give back */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.duo>div{border-radius:24px;padding:40px;position:relative;overflow:hidden}
.duo .gb{background:linear-gradient(135deg,var(--sky),#d6e9ff);display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center}
.duo .gb img{width:150px}
.duo .rf{background:linear-gradient(135deg,var(--blue),var(--navy-2));color:#dbe6fa}
.duo .rf h2,.duo .rf strong{color:#fff}
.duo .rf:after{content:"";position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;border:40px solid rgba(255,255,255,.06)}
.duo h2{font-size:clamp(25px,2.6vw,32px)}
@media (max-width:900px){.duo{grid-template-columns:minmax(0,1fr)}.duo .gb{grid-template-columns:minmax(0,1fr)}.duo .gb img{width:120px}}
/* faq */
.faq{max-width:900px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;font:600 18px/1.35 var(--head);color:var(--ink);padding:20px 56px 20px 22px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:50%;translate:0 -50%;width:30px;height:30px;border-radius:50%;background:var(--sky);display:grid;place-items:center;font:500 22px/1 Jakarta,sans-serif;color:var(--blue);transition:rotate .25s}
.faq details[open] summary:after{rotate:45deg}
.faq details p{margin:0;padding:0 22px 20px;max-width:76ch}
/* band */
.band{background:var(--gold);color:var(--deep);padding:60px 0;position:relative;overflow:hidden}
.band:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 85% 0%,rgba(255,255,255,.45),transparent)}
.band h2{color:var(--deep);margin:0}
.band .wrap{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.band p{margin:8px 0 0;font-size:18px;max-width:54ch;color:var(--deep)}
.band .btn-line{border-color:var(--deep);color:var(--deep);background:transparent}
.band .btn-line:hover{background:var(--deep);color:#fff}
/* posts */
.post .meta{font-size:14.5px;color:#b9c8e6;margin-top:12px}
.postlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.badges{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:20px}
.badges img{height:64px;width:auto}
.person{display:flex;gap:18px;align-items:center;margin-top:26px}
.person img{width:84px;height:84px;border-radius:50%;object-fit:cover}
/* footer */
.foot{background:var(--deep);color:#c9d6f0;padding:80px 0 32px;font-size:15.5px}
.foot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.foot h2{color:#fff;font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.foot a{color:#fff;text-decoration:none}
.foot a:hover{color:var(--gold)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.foot ul.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.foot ul.social a{display:inline-block;padding:7px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:14.5px;font-weight:600}
.foot ul.social a:hover{border-color:var(--gold)}
ul.chips{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px}
ul.chips a{display:inline-block;padding:8px 14px;border:1px solid var(--line,#d6deea);border-radius:999px;font-size:15px;font-weight:600;text-decoration:none}
ul.chips a:hover{border-color:var(--gold)}
.ytwrap{margin:0 0 28px}
.yt,.ytf{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:14px;overflow:hidden;background:#000;cursor:pointer}
.yt.tall,.ytf.tall{aspect-ratio:9/16;max-width:340px;margin:0 auto}
.yt img{width:100%;height:100%;object-fit:cover;display:block}
.ytp{position:absolute;left:50%;top:50%;width:72px;height:50px;translate:-50% -50%;background:#e62117;border-radius:14px}
.ytp::after{content:"";position:absolute;left:29px;top:15px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.yt:hover .ytp,.yt:focus-visible .ytp{background:#c00}
.foot .base{border-top:1px solid rgba(255,255,255,.14);margin-top:52px;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14.5px;color:#b9c8e6}
@media (max-width:900px){.foot .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot .grid{grid-template-columns:minmax(0,1fr)}section{padding:64px 0}.lede{font-size:17.5px}.hero .lede{font-size:17.5px}.subhero .wrap{padding-top:32px;padding-bottom:44px}.wrap{padding:0 16px}.duo>div{padding:28px}}
.mobilebar{display:none}
@media (max-width:760px){.mobilebar{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(6,26,58,.18)}
.mobilebar a,.mobilebar button{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;border-radius:12px;font:700 16px/1 var(--head);text-decoration:none;border:0;cursor:pointer}
.mobilebar svg{width:18px;height:18px}
.mobilebar .c{background:var(--gold);color:var(--deep)}
.mobilebar .t{background:var(--navy);color:#fff}
body{padding-bottom:76px}}
.goog-te-banner-frame,#goog-gt-tt,.skiptranslate iframe{display:none!important}
body{top:0!important}
/* reveal (motion-kit) */
.rv-wait{opacity:0;translate:0 1.5rem}
.rv-wait.is-in{opacity:1;translate:0;transition:opacity .7s ease,translate .7s cubic-bezier(.2,.7,.2,1)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 14px;border-radius:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
/* home, 10-28: call back bar, proof strip, kit, first hour, claim, triage, pairs, the doctor */
.callbar{background:var(--navy-3);padding:18px 0;border-top:1px solid rgba(255,255,255,.08)}
.cb{display:grid;grid-template-columns:auto 1fr 1fr 1.1fr auto;gap:14px;align-items:end}
.cb-h{margin:0;align-self:center;color:#fff;font:700 15px/1.25 var(--head)}
.cb-h b{display:block;color:var(--gold);font-size:14.5px;letter-spacing:.1em;text-transform:uppercase}
.cb-h span{font-size:17px}
.cb label{font:700 14.5px/1.2 Jakarta,sans-serif;color:#c9d6f0;letter-spacing:.04em;text-transform:uppercase}
.cb input,.cb select{display:block;width:100%;margin-top:6px;font:500 16px/1.3 Jakarta,sans-serif;padding:13px 14px;border:1.5px solid transparent;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
.cb input:focus,.cb select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(249,185,46,.25)}
.cb .btn{min-height:48px}
.cb-alt{grid-column:1/-1;margin:2px 0 0;font-size:14.5px;color:#b9c8e6}
.cb-alt a{color:#fff;font-weight:700}
@media (max-width:980px){.cb{grid-template-columns:1fr 1fr}.cb-h{grid-column:1/-1}.cb .btn{grid-column:1/-1}}
@media (max-width:520px){.cb{grid-template-columns:minmax(0,1fr)}}
.promises.six{grid-template-columns:repeat(6,1fr)}
.promises.six div{padding:22px 14px;gap:12px}
.promises.six b{font-size:16.5px}
.promises.six span{font-size:14.5px}
.promises .g{width:44px;height:44px;flex:none;border-radius:50%;background:#fff;color:#1a56d6;display:grid;place-items:center;font:800 22px/1 var(--head)}
.promises img{width:44px;height:44px;flex:none;border-radius:10px;background:#fff;object-fit:contain;padding:3px}
@media (max-width:1180px){.promises.six{grid-template-columns:repeat(3,1fr)}.promises.six div{border-right:0;padding-left:0}}
@media (max-width:640px){.promises.six{grid-template-columns:1fr 1fr}.promises.six div{border-bottom:0}}
.kit{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;align-items:center}
.kitvan img{width:100%;filter:drop-shadow(0 26px 30px rgba(6,26,58,.22))}
.more{font:700 16px/1.3 var(--head);color:var(--blue)}
.more:after{content:" \2192"}
.gear{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:18px}
.gearcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.gearcard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gearcard figcaption{padding:16px 18px 18px}
.gearcard b{display:block;font:700 17px/1.25 var(--head);color:var(--ink);margin-bottom:6px}
.gearcard span{display:block;font-size:15px;line-height:1.5;color:var(--mute)}
@media (max-width:1100px){.gear{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.kit{grid-template-columns:minmax(0,1fr)}.gear{grid-template-columns:1fr 1fr}}
.big3.six .card img{aspect-ratio:16/10}
.also{margin:30px 0 0;font-size:15.5px;color:var(--mute);line-height:1.9}
.also a{font-weight:600;white-space:nowrap}
.firsthour{display:grid;grid-template-columns:.9fr 1.3fr;gap:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.fh-lead{background:linear-gradient(150deg,var(--blue),var(--navy-2));color:#dbe6fa;padding:44px}
.fh-lead h2,.fh-lead .eyebrow{color:#fff}
.fh-lead a{color:#fff;font-weight:700}
.fh-list{list-style:none;margin:0;padding:18px 40px;counter-reset:fh;background:#fff}
.fh-list li{counter-increment:fh;display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:20px 0;border-bottom:1px solid var(--line)}
.fh-list li:last-child{border-bottom:0}
.fh-list li:before{content:counter(fh);grid-row:span 2;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--deep);display:grid;place-items:center;font:800 18px/1 var(--head)}
.fh-list b{font:700 18px/1.3 var(--head);color:var(--ink)}
.fh-list span{font-size:16px;color:var(--mute)}
.fh-src{grid-column:1/-1;margin:0;padding:14px 40px;background:var(--mist);border-top:1px solid var(--line)}
@media (max-width:860px){.firsthour{grid-template-columns:minmax(0,1fr)}.fh-lead{padding:32px 24px}.fh-list{padding:8px 24px}.fh-src{padding:14px 24px}}
.claim{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;counter-reset:cl}
.claim li{counter-increment:cl;position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 22px}
.claim li:before{content:"0" counter(cl);display:block;font:800 30px/1 var(--head);color:var(--gold);margin-bottom:14px}
.claim b{display:block;font:700 18px/1.25 var(--head);color:#fff;margin-bottom:8px}
.claim span{font-size:15.5px;line-height:1.55;color:#c9d6f0}
.carrier-card{background:#fff;border-radius:20px;padding:28px 32px;margin-top:30px;color:var(--body);text-align:center}
.carrier-card>p:first-child{margin:0;font:700 15px/1.3 var(--head);color:var(--ink);letter-spacing:.06em;text-transform:uppercase}
.carrier-card .carriers{margin-top:16px}
.carrier-card .fine{color:var(--mute);margin-bottom:0}
@media (max-width:1100px){.claim{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.claim{grid-template-columns:minmax(0,1fr)}.carriers{grid-template-columns:repeat(4,1fr)}}
.tri{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.tri .ticks{margin-top:22px}
.chart{background:#fff;border:1.5px solid var(--line);border-radius:22px;box-shadow:0 30px 70px rgba(6,26,58,.14);padding:0 28px 28px;border-top:6px solid var(--blue);min-height:420px}
.chart-top{display:flex;justify-content:space-between;gap:12px;padding:16px 0;margin-bottom:20px;border-bottom:1px dashed var(--line);font:700 14.5px/1.2 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.chart-top span+span{color:var(--mute)}
.tq{border:0;padding:0;margin:0;min-width:0}
.tq legend{font:800 24px/1.2 var(--head);color:var(--ink);margin-bottom:18px;padding:0}
.tq legend small{display:block;font:700 14.5px/1.2 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opts button{font:600 16px/1.3 Jakarta,sans-serif;text-align:left;padding:15px 16px;min-height:56px;border:1.5px solid #b7c3d8;border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.opts button:hover,.opts button:focus-visible{border-color:var(--blue);background:var(--sky);outline:0}
.tr-u{display:inline-block;margin:0 0 12px;padding:7px 12px;border-radius:999px;font:800 14.5px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;background:var(--sky);color:var(--navy)}
.tr-u.hot{background:#ffe1dc;color:#9b1c0c}
.tr-u.warm{background:#fff1cc;color:#7a5200}
.tr-c{font-size:24px;margin-bottom:8px}
.tr-n{color:var(--mute);font-size:16px}
.tr-f{margin:0 0 22px;padding-left:1.2em;display:grid;gap:8px;font-size:16px}
.tr-again{margin-top:14px;background:none;border:0;padding:6px 0;font:600 15px/1 Jakarta,sans-serif;color:var(--blue);text-decoration:underline;cursor:pointer}
@media (max-width:980px){.tri{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (max-width:480px){.opts{grid-template-columns:minmax(0,1fr)}.chart{padding:0 18px 22px}}
.pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pair{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.pp{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--line)}
.pp div{position:relative}
.pp img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pp span{position:absolute;left:10px;top:10px;font:800 14.5px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:6px;background:var(--deep);color:#fff}
.pp div+div span{background:var(--gold);color:var(--deep)}
.pair figcaption{padding:18px 20px 20px;font-size:15.5px;color:var(--mute)}
.pair figcaption b{display:block;font:700 18px/1.3 var(--head);color:var(--ink);margin-bottom:6px}
@media (max-width:980px){.pairs{grid-template-columns:minmax(0,1fr);max-width:560px}}
.doc{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:center}
.docpic{text-align:center}
.docpic img{width:220px;height:220px;border-radius:50%;margin:0 auto 16px;object-fit:cover;box-shadow:0 0 0 8px var(--sky),0 20px 40px rgba(6,26,58,.2)}
.docpic figcaption{font-size:15px;color:var(--mute)}
.docpic b{display:block;font:800 20px/1.2 var(--head);color:var(--ink)}
.docfacts{list-style:none;padding:0;margin:22px 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.docfacts li{background:var(--mist);border-radius:14px;padding:16px 18px;font-size:15.5px;color:var(--mute)}
.docfacts b{display:block;font:800 19px/1.2 var(--head);color:var(--navy);margin-bottom:3px}
@media (max-width:860px){.doc{grid-template-columns:minmax(0,1fr);gap:28px}.docfacts{grid-template-columns:minmax(0,1fr)}}
.notes .date{font:700 14.5px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.towns a{min-height:44px}
@media (max-width:560px){
  .hero .media{aspect-ratio:16/9}
  .hero .eyebrow{display:none}
  .hero .chip{margin-bottom:12px}
  .hero h1{font-size:32px;margin-bottom:12px}
  .hero .lede{font-size:16.5px;line-height:1.55;margin-bottom:16px}
  .hero .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero .btns .btn{padding:13px 10px;font-size:14.5px;white-space:normal;text-align:center;min-height:48px}
  .hero .btns .btn:nth-child(-n+2){grid-column:1/-1;font-size:16.5px}
  .chart-top{flex-direction:column;gap:4px}
}
/* 10-28 bright pass. His sites run bright: white, a clear blue, the gold. Dark navy
   is left only on some call buttons (.btn-navy, the header call). */
:root{--bright:#2f80ff;--wash:#eef5ff}
.btn-blue{background:linear-gradient(135deg,var(--bright),var(--blue));color:#fff;box-shadow:0 10px 24px rgba(11,85,208,.28)}
.btn-blue:hover{color:#fff;box-shadow:0 14px 30px rgba(11,85,208,.38)}
/* the glimmer: a slow light sweep across call and gold buttons */
.btn-gold:after,.btn-navy:after,.btn-blue:after,.top .call:after,.mobilebar .c:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:glint 5.5s ease-in-out infinite;pointer-events:none}
.btn-navy:after,.top .call:after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent)}
.top .call,.mobilebar .c{position:relative;overflow:hidden}
.btns .btn:nth-child(2):after{animation-delay:.35s}
@keyframes glint{0%,64%{left:-60%}86%,100%{left:130%}}
.btn-gold{box-shadow:0 10px 26px rgba(249,185,46,.42),inset 0 1px 0 rgba(255,255,255,.55)}
@media (prefers-reduced-motion:reduce){.btn:after,.top .call:after,.mobilebar .c:after{animation:none;display:none}}
.dark{background:linear-gradient(165deg,var(--wash),#dcEAff);color:var(--body)}
.dark h1,.dark h2,.dark h3{color:var(--ink)}
.dark .eyebrow{color:var(--blue)}
.dark a{color:var(--blue)}
.dark strong,.dark b{color:var(--ink)}
.hero{background:var(--blue)}
.hero .shade{background:linear-gradient(90deg,rgba(11,85,208,.9) 0%,rgba(11,85,208,.74) 32%,rgba(11,85,208,.16) 62%,rgba(11,85,208,0) 80%),linear-gradient(0deg,rgba(9,72,180,.85) 0%,rgba(11,85,208,0) 34%)}
.hero .btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.85)}
.promises-band{background:linear-gradient(110deg,var(--blue),var(--bright))}
.subhero{background:var(--blue)}
.subhero .bg:after{background:linear-gradient(95deg,rgba(11,85,208,.96) 0%,rgba(11,85,208,.86) 55%,rgba(47,128,255,.5) 100%)}
.rating{background:linear-gradient(110deg,var(--blue),var(--bright))}
.duo .rf{background:linear-gradient(135deg,var(--bright),var(--blue))}
.fh-lead{background:linear-gradient(150deg,var(--bright),var(--blue))}
.foot{background:linear-gradient(180deg,var(--blue),#0a4cbc);color:#e3edff}
.foot .base{color:#d6e4ff;border-top-color:rgba(255,255,255,.22)}
.mobilebar .t{background:var(--blue)}
.callbar{background:linear-gradient(110deg,var(--blue),var(--bright));border-top:0}
.cb label{color:#e8f0ff}
.cb-alt{color:#e3edff}
.pp span{background:var(--blue)}
@media (max-width:899px){.hero .shade{background:linear-gradient(0deg,rgba(11,85,208,1) 0%,rgba(11,85,208,0) 40%)}}
@media (max-width:899px){.hero .copy{background:var(--blue)}}
/* claim steps, now on the light band */
.claim li{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);box-shadow:var(--shadow)}
.claim li:before{color:var(--blue)}
.claim b{color:var(--ink)}
.claim span{color:var(--mute)}
.carrier-card{box-shadow:var(--shadow)}
/* Peter, where customers name him */
mark.peter{background:linear-gradient(transparent 55%,rgba(249,185,46,.55) 55%);color:var(--ink);font-weight:700;padding:0 2px}
/* angled tiles: a blue top edge, the photo cut on a slant, a blue corner */
.card,.gearcard,.pair{position:relative;border-top:4px solid var(--blue)}
.card:before,.pair:before{content:"";position:absolute;right:0;top:0;width:54px;height:54px;background:var(--blue);clip-path:polygon(0 0,100% 0,100% 100%);z-index:2;transition:width .25s,height .25s}
.card:hover:before{width:70px;height:70px;background:var(--gold)}
.card .ph,.gearcard .ph{clip-path:polygon(0 0,100% 0,100% 84%,0 100%);margin-bottom:-14px}
.pp{clip-path:polygon(0 0,100% 0,100% 88%,0 100%);margin-bottom:-10px}
.gearcard .ph{overflow:hidden}
.gearcard figcaption{position:relative}
.gearcard em{font-style:normal;font-weight:700;color:var(--blue)}
/* kit, the van over a soft city */
.kitsec{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.9) 70%,#fff),url(/img/brand/city-soft.webp) center/cover}
.kitvan{position:relative}
.kitvan:before{content:"";position:absolute;left:-4%;right:12%;top:46%;height:34%;background:linear-gradient(110deg,var(--blue),var(--bright));transform:skewX(-24deg);border-radius:6px;z-index:0}
.kitvan img{position:relative;z-index:1}
/* the valley map, bright */
.mapsec{background:linear-gradient(180deg,#fff,var(--wash));color:var(--body)}
.mapsec h2{color:var(--ink)}
.mapsec .eyebrow{color:var(--blue)}
.maphead{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;align-items:end;margin-bottom:30px}
.maphead .lede{margin:0}
.mapstats{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mapstats li{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow)}
.mapstats b{display:block;font:800 34px/1 var(--head);color:var(--blue);letter-spacing:-.02em;margin-bottom:6px}
.mapstats span{font-size:15px;color:var(--mute)}
.mapgrid{grid-template-columns:1fr 300px;gap:22px;align-items:stretch}
.vmap{background:#f7faff;border:1px solid var(--line);box-shadow:0 30px 70px rgba(11,85,208,.14)}
.vmap canvas.pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vmap svg{position:relative}
.vmap .glow{display:none}
.vmap .grid line{stroke:rgba(11,85,208,.06)}
.vmap .topo path{stroke:rgba(11,85,208,.13)}
.vmap .road{stroke:rgba(249,185,46,.85);stroke-width:4}
.vmap .belt{stroke:rgba(11,85,208,.4)}
.vmap .rlabel{fill:#b07a00}
.vmap .plabel{fill:rgba(11,85,208,.55)}
.vmap .lake{fill:#cfe2ff;stroke:#9dc3ff}
.vmap .hq text{fill:var(--ink);stroke:#fff}
.vmap .town .dot{fill:#fff;stroke:var(--blue)}
.vmap .town .halo{fill:rgba(249,185,46,.3)}
.vmap .town text{fill:var(--ink);stroke:#fff}
.vmap .town:hover text,.vmap .town.on text,.vmap .town:focus text{fill:#a36f00}
.vmap .job path{fill:var(--gold);stroke:#fff;stroke-width:3;filter:drop-shadow(0 6px 8px rgba(6,26,58,.3))}
.vmap .job circle{fill:#fff}
.vmap .job:hover path{fill:var(--gold-2)}
.vcard{background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:var(--shadow)}
.vcard b{color:var(--ink)}
.vcard span{color:var(--mute)}
.legend{position:absolute;right:16px;bottom:14px;list-style:none;margin:0;padding:10px 14px;display:flex;gap:16px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:12px;font:600 14.5px/1 Jakarta,sans-serif;color:var(--ink)}
.legend li{display:flex;align-items:center;gap:7px}
.legend i{display:block;width:10px;height:10px;border-radius:50%}
.legend .lp{background:var(--blue);opacity:.7}.legend .lh{background:var(--gold);box-shadow:0 0 0 3px rgba(249,185,46,.3)}.legend .lj{background:var(--gold);border-radius:50% 50% 50% 0;rotate:-45deg}
.townlist{list-style:none;margin:0;padding:0;display:grid;gap:6px;align-content:start;counter-reset:tl}
.townlist a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s,translate .2s}
.townlist b{font:700 15.5px/1.2 var(--head)}
.townlist span{font-size:14.5px;color:var(--mute);white-space:nowrap}
.townlist a:hover,.townlist a.on{border-color:var(--gold);background:#fff8e6;translate:4px 0}
@media (max-width:1100px){.mapgrid{grid-template-columns:minmax(0,1fr)}.townlist{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.maphead{grid-template-columns:minmax(0,1fr)}.mapstats{grid-template-columns:1fr 1fr}.townlist{grid-template-columns:1fr 1fr}.legend{left:12px;right:12px;bottom:10px;justify-content:center;gap:10px;font-size:14.5px;padding:8px 10px;flex-wrap:wrap}}
@media (max-width:520px){.vcard{display:none}.mapstats b{font-size:28px}}
@media (max-width:560px){
  .gear{grid-template-columns:minmax(0,1fr)}
  .gearcard{display:grid;grid-template-columns:42% 1fr}
  .gearcard .ph{clip-path:polygon(0 0,100% 0,86% 100%,0 100%);margin:0}
  .gearcard .ph img{height:100%;aspect-ratio:auto}
  .gearcard figcaption{padding:14px 14px 14px 6px}
  .townlist{grid-template-columns:1fr 1fr;gap:6px}
  .townlist a{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:9px 12px}
  .townlist a:hover,.townlist a.on{translate:0}
  .vmap{display:flex;flex-direction:column}
  .legend{position:static;order:3;border:0;border-top:1px solid var(--line);border-radius:0;justify-content:center}
  .vmap canvas.pins{bottom:auto;height:auto;aspect-ratio:1000/770}
}
/* gmap tokens mapped to this site (2026-11-01) */
.gmap{--surface:#fff;--line-soft:#e8eef7;--line-bright:var(--line);--ink-soft:var(--body);--ink-muted:var(--mute);--green-ink:var(--blue);--sc-green-dim:var(--navy);--sc-green-glow:rgba(249,185,46,.35);--paper-2:var(--mist);--r-lg:18px;padding:56px 0 8px}
.gmap .section-eyebrow{font:700 14.5px/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.lead .consent{font-size:15px;line-height:1.5;color:var(--mute);margin:10px 0 0}
/* Google map section (scripts/gmap.py). Light card, one green accent. */
.gmap-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg, 18px);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(14, 21, 17, 0.04), 0 12px 32px -18px rgba(14, 21, 17, 0.22);
}
.gmap-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--line-soft);
}
.gmap-head h2 { margin: 4px 0 0; }
.gmap-line {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
}
.gmap-line svg { flex: none; margin-top: 3px; color: var(--green-ink); }
.gmap-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gmap-btn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  color: var(--ink);
  background: var(--surface);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
.gmap-btn:hover { border-color: var(--ink); background: var(--paper); }
.gmap-btn-primary { background: var(--ink); border-color: var(--ink); color: #fff; }
.gmap-btn-primary:hover { background: var(--sc-green-dim); border-color: var(--sc-green-dim); color: #fff; }
.gmap-frame {
  position: relative;
  aspect-ratio: 16 / 7;
  background-color: var(--paper-2);
  background-image:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size: 40px 40px;
}
.gmap-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  transition: opacity .4s ease;
}
.gmap-frame.is-loaded iframe { opacity: 1; }
.gmap-frame noscript iframe { opacity: 1; }
.gmap-facade {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink-muted);
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
.gmap-facade-pin {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--green-ink);
  box-shadow: 0 0 0 8px var(--sc-green-glow);
}
.gmap-facade-pin svg { width: 24px; height: 24px; }
.gmap-frame.is-loaded .gmap-facade { display: none; }
@media (max-width: 700px) {
  .gmap-head { padding: 18px 16px 14px; }
  .gmap-frame { aspect-ratio: 4 / 3; }
  .gmap-actions { width: 100%; }
  .gmap-btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .gmap-frame iframe { transition: none; }
}
