
:root{--navy:#12344D;--teal:#0F8B83;--gold:#E8B84A;--bg:#fff;--paper:#F7F5EF;--tint:#E6F0EE;--ink:#182832;--mute:#485B67;--line:#D6DBD3;--link:#0B6F69;--hdr:#F7F5EF;--btn:#12344D;color-scheme:light dark;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F1C26;--paper:#13232F;--tint:#172B38;--ink:#E9EFF2;--mute:#A9BAC5;--line:#2A3E4C;--link:#5FD3CA;--hdr:#13232F;--btn:#0B7A73}}
:root[data-theme="dark"]{--bg:#0F1C26;--paper:#13232F;--tint:#172B38;--ink:#E9EFF2;--mute:#A9BAC5;--line:#2A3E4C;--link:#5FD3CA;--hdr:#13232F;--btn:#0B7A73}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 8rem);height:100%}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 "Public Sans",system-ui,sans-serif;padding-bottom:4.75rem}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--hdr);z-index:30}
h1,h2,h3{font-family:"Bricolage Grotesque","Public Sans",system-ui,sans-serif;line-height:1.08;margin:0;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.6rem,6.4vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800}
h3{font-size:1.3rem;font-weight:600;letter-spacing:-.015em}
p{margin:0}a{color:var(--link)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px}.est :focus-visible,footer :focus-visible,.tbar :focus-visible{outline-color:var(--gold)}[hidden]{display:none!important}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
section{padding:clamp(3.25rem,7vw,5.75rem) 0}
.lede{max-width:40rem;color:var(--mute);margin-top:1rem;font-size:1.15rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.4rem;border-radius:10px;border:2px solid var(--btn);background:var(--btn);color:#fff;font:600 1rem "Public Sans",sans-serif;text-decoration:none;cursor:pointer}
.btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#2b1e00}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--hdr);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;padding:.55rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:52px;height:52px;border-radius:10px;background:#fff;padding:2px}
.brand b{font:800 1.1rem/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;display:block}
.brand small{display:block;color:var(--mute);font-size:.8rem}
nav a{padding:.45rem .8rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;white-space:nowrap}
nav a:hover{background:var(--tint)}
.hcall{display:none}
@media(min-width:900px){.hcall{display:inline-flex;min-height:2.75rem}body{padding-bottom:0}.abar{display:none!important}}
.hero{background:var(--paper);padding-top:clamp(2.5rem,5vw,4.5rem)}
.hero .wrap{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.hero .wrap{grid-template-columns:1.05fr .95fr;gap:4rem}}
.hero .lede{font-size:1.2rem;color:var(--ink);opacity:.85}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.facts{display:grid;gap:1rem;margin:2.25rem 0 0;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}
.facts dt{font-weight:700}.facts dd{margin:0;color:var(--mute);font-size:.95rem;line-height:1.45}
.photo{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:18px;display:block}
.svc{margin-top:2.5rem;border-top:2px solid var(--ink)}
.row{display:grid;gap:.6rem 2.5rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}
@media(min-width:800px){.row{grid-template-columns:1fr 2fr}}
.tag{display:inline-block;margin-top:.45rem;font-size:.85rem;font-weight:600;color:var(--link)}
.row p+p{margin-top:.55rem;color:var(--mute);font-size:.98rem}
.note{font-size:.92rem;border-left:3px solid var(--gold);padding-left:.8rem}
.est{background:var(--navy);color:#EEF3F5}
.est h2{color:#fff}.est .lede{color:#C3D2DB}
.offer{margin-top:1.5rem;max-width:46rem;color:#C3D2DB;font-size:.95rem}
.est-grid{display:grid;gap:2.5rem;margin-top:2.25rem}
@media(min-width:960px){.est-grid{grid-template-columns:1.25fr 1fr;align-items:start}.slip{position:sticky;top:7.5rem}}
.seg{display:inline-flex;border:2px solid #4B6A80;border-radius:12px;padding:3px;flex-wrap:wrap}
.seg button{border:0;background:transparent;color:#EEF3F5;font:600 .98rem "Public Sans",sans-serif;padding:.6rem 1.1rem;border-radius:9px;cursor:pointer}
.seg button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.fields{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-top:1.5rem}
.fields.nb{margin-top:1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
.full{grid-column:1/-1}
input,select,textarea{font:400 1rem "Public Sans",sans-serif;min-height:2.9rem;padding:.55rem .75rem;border-radius:8px;border:1.5px solid #8CA2B1;background:#fff;color:#182832;width:100%}
textarea{min-height:5.5rem}
input[type=checkbox]{width:1.2rem;min-height:0;height:1.2rem;accent-color:var(--teal)}
select:disabled{opacity:.55}
.chk{display:flex;align-items:center;gap:.6rem;font-weight:500}
.est h3{color:#fff;margin-top:2.25rem}
[data-mode=home] [data-for=office],[data-mode=office] [data-for=home]{display:none}
.hp{position:absolute;left:-9999px}
.go{margin-top:1.5rem}
#st{margin-top:1rem;min-height:1.5rem}#st a{color:var(--gold)}
.slip{--s:#F7F5EF;position:relative;background:var(--s);color:#1b2a33;padding:1.6rem 1.5rem 1.8rem;border-radius:8px 8px 0 0;margin-bottom:14px;font-size:.98rem;line-height:1.5}
.slip::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;background:linear-gradient(135deg,var(--s) 25%,transparent 25%) -7px 0/14px 14px,linear-gradient(225deg,var(--s) 25%,transparent 25%) -7px 0/14px 14px}
.slip h3{color:#12344D;margin:0 0 .8rem}.slip .k{font-weight:600;color:#0B6F69}
.ln{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0}.ln i{flex:1;border-bottom:2px dotted #1b2a33;opacity:.3;min-width:1rem;transform:translateY(-.25em)}.ln b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ln.sum{margin-top:.5rem;padding-top:.6rem;border-top:1.5px solid #1b2a33}.ln.tot{font-size:1.3rem;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;color:#12344D}
.slip h4{margin:1.4rem 0 .3rem;font:700 1rem "Public Sans",sans-serif}
.fine{margin-top:1.1rem;font-size:.85rem;color:#4D5F6B}
.steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;gap:2rem}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr);gap:3rem}}
.steps li{display:grid;gap:.5rem}.steps span{font:800 3.2rem/1 "Bricolage Grotesque",sans-serif;color:var(--teal)}
.steps p{color:var(--mute)}
.areas{background:var(--tint)}
.towns{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem 2rem;font:600 clamp(1.4rem,3.2vw,2.1rem)/1.3 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em}
.areas .lim{margin-top:2rem;max-width:40rem}
details{border-bottom:1px solid var(--line)}details:first-of-type{border-top:2px solid var(--ink)}
summary{cursor:pointer;padding:1.15rem 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--link)}
details[open] summary::after{content:"\2212"}
details p{padding:0 2rem 1.3rem 0;color:var(--mute);max-width:46rem}
.faq{display:grid;gap:2.5rem}@media(min-width:900px){.faq{grid-template-columns:.8fr 1.2fr;gap:4rem}}
footer{background:#0C2638;color:#C3D2DB;padding:3rem 0 2rem;font-size:.95rem}
footer a{color:#fff}footer b{color:#fff}
.fgrid{display:grid;gap:2rem}@media(min-width:800px){.fgrid{grid-template-columns:1.2fr 1fr 1fr 1.2fr}}
.fgrid img{width:64px;border-radius:10px;background:#fff;padding:3px;margin-bottom:.8rem}
.fgrid p{margin-top:.3rem}
.legal{margin-top:2rem;padding-top:1rem;border-top:1px solid #24465d;font-size:.85rem}
.abar{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--hdr);border-top:1px solid var(--line)}
.abar .btn{min-height:3rem}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.burger{width:44px;height:44px;border:1.5px solid var(--line);border-radius:10px;background:transparent;position:relative;cursor:pointer;color:var(--ink)}
.burger i{position:absolute;left:11px;right:11px;top:14px;height:2px;border-radius:2px;background:currentColor}
.burger i:nth-of-type(2){top:21px}.burger i:nth-of-type(3){top:28px}
.burger[aria-expanded=true] i:nth-of-type(1){top:21px;transform:rotate(45deg)}.burger[aria-expanded=true] i:nth-of-type(2){opacity:0}.burger[aria-expanded=true] i:nth-of-type(3){top:21px;transform:rotate(-45deg)}
.bar nav{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-rows:0fr;visibility:hidden;background:var(--hdr)}
.bar nav>div{overflow:hidden;min-height:0;display:grid;width:min(1120px,100% - 2.5rem);margin-inline:auto}
.bar nav.open{grid-template-rows:1fr;visibility:visible;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(18,52,77,.4)}
.bar nav a{padding:.9rem .5rem;border-radius:0;border-bottom:1px solid var(--line)}
.bar nav .mcall{margin:1rem 0;border:2px solid var(--gold);border-radius:10px;justify-content:center}
@media(min-width:900px){.burger,.mcall{display:none}.bar nav{position:static;display:block;visibility:visible;background:none}.bar nav>div{display:flex;width:auto;overflow:visible;gap:.25rem}.bar nav a{padding:.45rem .8rem;border:0;border-radius:8px}}
.hero{position:relative;padding-bottom:calc(clamp(3.25rem,7vw,5.75rem) + 1.5rem)}.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:34px;display:block}
.ph{position:relative}.shine{position:absolute;inset:0;border-radius:18px;overflow:hidden;pointer-events:none}
.shine::before{content:"";position:absolute;top:-10%;bottom:-10%;left:-60%;width:36%;opacity:0;transform:skewX(-14deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent)}
.spk{position:absolute;width:var(--z,28px);height:var(--z,28px);fill:var(--gold);pointer-events:none}
.s1{top:-14px;right:14%;--z:36px}.s2{top:24%;left:-14px;--z:22px;fill:var(--teal)}.s3{bottom:14%;right:-12px;--z:26px;fill:var(--teal)}.s4{bottom:-12px;left:18%;--z:18px}
.est{position:relative;overflow-x:clip}.bub{position:absolute;top:1.25rem;right:max(.5rem,3vw);width:min(210px,36vw);pointer-events:none}
.prog{margin-top:1.5rem;scroll-margin-top:5.5rem}.prog p{font-weight:600;font-size:.95rem;color:#C3D2DB}
.pbar{height:6px;border-radius:6px;background:#2A4A62;overflow:hidden;margin-top:.5rem}.pbar i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(.33)}
.est .sh{margin-top:1.75rem;outline:0}.nav2{display:flex;gap:.8rem;margin-top:1.75rem}.nav2 .btn{flex:1}
.est .btn.alt,.tbar .btn.alt{color:#fff;border-color:#4B6A80}
.hintx{font-weight:400;color:#C3D2DB;font-size:.85rem;line-height:1.4}
.inc{display:none;margin-left:.4rem;padding:.1rem .55rem;border-radius:99px;background:var(--teal);color:#fff;font-size:.78rem;font-weight:700}:disabled~.inc{display:inline-block}input:disabled{opacity:.6}
.ln.ad{padding-left:.6rem;margin-left:-.6rem;border-radius:3px;box-shadow:inset 3px 0 0 #0F8B83;background-image:linear-gradient(90deg,rgba(15,139,131,.15),transparent)}
.ln.ad:not(.incl) span::before{content:"Add-on";margin-right:.45rem;padding:.05rem .45rem;border-radius:99px;background:#0F8B83;color:#fff;font-size:.7rem;font-weight:700}
.ln b.incl{padding:0 .6rem;border-radius:99px;background:#0F8B83;color:#fff;font-size:.82rem}
#slipw{scroll-margin-top:5.5rem}
.tbar{position:fixed;inset:auto 0 0;z-index:26;display:none;align-items:center;gap:.8rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--navy);color:#fff;border-top:1px solid #2A4A62;transform:translateY(110%);visibility:hidden}
.tbar span{font-size:.85rem;line-height:1.2;color:#C3D2DB}.tbar b{margin-right:auto;font:800 1.35rem "Bricolage Grotesque",sans-serif;font-variant-numeric:tabular-nums}.tbar .btn{min-height:2.75rem;padding:.4rem 1rem}
@media(max-width:899.98px){.tbar{display:flex}body.in-est .tbar{transform:none;visibility:visible}body.in-est .abar{display:none!important}}
@media(prefers-reduced-motion:no-preference){
 .shine::before{animation:sweep 1.5s .7s cubic-bezier(.4,0,.2,1) both}@keyframes sweep{0%{left:-60%;opacity:0}15%{opacity:1}100%{left:125%;opacity:0}}
 .spk{animation:pop .6s cubic-bezier(.3,1.6,.5,1) both,twk 2.8s ease-in-out 2}@keyframes pop{from{transform:scale(0) rotate(-90deg);opacity:0}}@keyframes twk{50%{transform:scale(.78) rotate(14deg);opacity:.6}}
 .s1{animation-delay:1.1s,2.2s}.s2{animation-delay:1.3s,2.6s}.s3{animation-delay:1.5s,2.4s}.s4{animation-delay:1.7s,2.8s}
 .pbar i{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.step.in{animation:stepin .38s cubic-bezier(.2,.7,.2,1) both}.step.in.back{animation-name:stepback}
 @keyframes stepin{from{opacity:0;transform:translateX(28px)}}@keyframes stepback{from{opacity:0;transform:translateX(-28px)}}
 .ln.is-new{animation:rowin .45s cubic-bezier(.2,.7,.2,1),flash 1.8s ease-out}.ln.is-chg b{animation:bump .6s}
 @keyframes rowin{from{opacity:0;transform:translateX(-16px)}}@keyframes flash{0%{background-color:rgba(232,184,74,.65)}100%{background-color:transparent}}@keyframes bump{40%{transform:scale(1.14);color:#0F8B83}}
 .tbar{transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s .3s}body.in-est .tbar{transition-delay:0s}
 .burger i{transition:transform .25s ease,top .25s ease,opacity .15s}
}
@media(prefers-reduced-motion:no-preference) and (max-width:899.98px){
 .bar nav{transition:grid-template-rows .32s cubic-bezier(.2,.7,.2,1),visibility 0s .32s}.bar nav.open{transition-delay:0s}
 .bar nav a{opacity:0;transform:translateY(-6px);transition:opacity .25s,transform .25s}.bar nav.open a{opacity:1;transform:none;transition-delay:calc(var(--i,0)*45ms + 90ms)}
}

.mu{color:var(--mute)}.btn.ghost{background:transparent;border-color:#fff;color:#fff}
.hero2{position:relative;overflow:hidden;color:#fff;background:var(--navy);min-height:clamp(30rem,76vh,40rem);display:flex;align-items:center;padding:clamp(3rem,7vw,5rem) 0 clamp(6.5rem,12vw,8rem)}
.hbg{position:absolute;inset:0}.hbg img{width:100%;height:100%;object-fit:cover;object-position:70% center;display:block}
.hbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,52,77,.9),rgba(18,52,77,.74))}
@media(min-width:900px){.hbg::after{background:linear-gradient(90deg,rgba(18,52,77,.96) 0%,rgba(18,52,77,.86) 34%,rgba(18,52,77,.2) 68%,transparent)}}
.hero2 .wrap{position:relative;z-index:1}.hero2 h1{max-width:12ch}.hero2 .lede{color:#DCE7EC;max-width:34rem}
.pill{display:inline-block;margin-bottom:1.25rem;padding:.35rem .9rem;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-weight:600;font-size:.9rem}
.hero2 .shine{border-radius:0}.hero2 .spk{z-index:1}.hero2 .s1{top:16%;right:17%;--z:42px}.hero2 .s2{top:46%;right:7%;--z:24px}.hero2 .s3{bottom:30%;right:32%;--z:20px}.hero2 .s4{top:11%;right:42%;--z:16px}
@media(max-width:699px){.hero2 .spk{display:none}}
.trust{position:relative;z-index:2;margin-top:-4.5rem}
.tcard{display:grid;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 48px -24px rgba(18,52,77,.5);overflow:hidden}
.tcard>div{padding:1.5rem;display:grid;gap:.4rem;justify-items:start}.tcard>div+div{border-top:1px solid var(--line)}.tcard p{color:var(--mute);font-size:.95rem}.tcard h3{font-size:1.1rem}
@media(min-width:800px){.tcard{grid-template-columns:repeat(3,1fr)}.tcard>div+div{border-top:0;border-left:1px solid var(--line)}}
.ico{flex:none;width:48px;height:48px;border-radius:12px;background:var(--tint);display:grid;place-items:center;color:var(--link)}.ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.about .wrap{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.about .wrap{grid-template-columns:1fr 1fr;gap:4.5rem}}
.collage{position:relative;padding-bottom:12%}.collage img{display:block;width:100%;border-radius:18px;object-fit:cover}.c1{aspect-ratio:4/3}.c2{position:absolute;width:44%;right:-2%;bottom:0;aspect-ratio:1;border:6px solid var(--bg);box-shadow:0 18px 36px -18px rgba(18,52,77,.55)}
.about ul{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.1rem}.about li{display:flex;gap:.9rem;align-items:flex-start}.about li b{display:block}
.bk{list-style:none;margin:2.75rem 0 0;padding:0;display:grid;gap:2rem 1.5rem}@media(min-width:700px){.bk{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.bk{grid-template-columns:repeat(4,1fr)}}
.bk li{position:relative;padding:2.25rem 1.4rem 1.5rem;background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px -22px rgba(18,52,77,.5)}
.bk em{position:absolute;top:-.9rem;left:1.2rem;background:var(--gold);color:#2b1e00;font:700 .85rem "Public Sans",sans-serif;padding:.3rem .8rem;border-radius:8px}.bk h3{font-size:1.15rem;margin-bottom:.4rem}.bk p{color:var(--mute);font-size:.97rem}
.gal{columns:1;column-gap:1.25rem;margin-top:2.25rem}@media(min-width:760px){.gal{columns:2}}
.gal figure{margin:0 0 1.25rem;break-inside:avoid;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.gal img{display:block;width:100%;height:auto}.gal figcaption{padding:.7rem 1rem;font-weight:600}
.wy{display:grid;gap:1.25rem;margin-top:2.25rem}@media(min-width:760px){.wy{grid-template-columns:1fr 1fr}}.wy>div{padding:1.6rem;border-radius:16px;background:var(--paper);display:grid;gap:.6rem;justify-items:start}
.stars{color:#D99A00;letter-spacing:.1em}.rsum{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;margin-top:1.25rem;font-weight:600}.rsum b{font:800 2.6rem/1 "Bricolage Grotesque",sans-serif}
.rcards{display:grid;gap:1.25rem;margin-top:2rem}@media(min-width:800px){.rcards{grid-template-columns:1fr 1fr}}
.rc{margin:0;padding:1.7rem;background:var(--bg);border:1px solid var(--line);border-radius:16px}.rc blockquote{margin:.7rem 0 1.1rem;font-size:1.1rem;line-height:1.6}.rc figcaption span{display:block;font-size:.9rem}
.cta2{position:relative;overflow:hidden;color:#fff;background:var(--navy);padding:clamp(3.5rem,8vw,6rem) 0}.cta2>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.cta2::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,52,77,.95),rgba(18,52,77,.75) 55%,rgba(18,52,77,.3))}.cta2 .wrap{position:relative;z-index:2}.cta2 h2{color:#fff}.cta2 .lede{color:#DCE7EC}

/* ===== v4 redesign ===== */
:root{--hd:#12344D;--tt:#0C857E;--c2:#D3EEEA}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--hd:#E9EFF2;--tt:#4FC9C0;--c2:#1B3947}}
:root[data-theme="dark"]{--hd:#E9EFF2;--tt:#4FC9C0;--c2:#1B3947}
img{max-width:100%}h1,h2{color:var(--hd)}
.hw,.ph4,.wy,.sl,.rvw,.incl,.ar,.faq{grid-template-columns:minmax(0,1fr)}@media(min-width:900px){.faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.hero2 h1,.est h2,.cta2 h2{color:#fff}
.kick{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.3rem .85rem;border-radius:99px;background:var(--tint);color:#0B5E59;font:700 .74rem/1.2 "Public Sans",sans-serif;letter-spacing:.07em;text-transform:uppercase}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .kick{color:#7DE0D6}}:root[data-theme="dark"] .kick{color:#7DE0D6}
.kick.kd{background:rgba(255,255,255,.12);color:#CFEFEA}.kick svg,.pill svg{width:.9rem;height:.9rem;fill:var(--gold);stroke:none}
.ac{font-style:normal;color:var(--tt)}.hl{color:#8FE0D6}
.bi{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pill{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}
.shd.c{text-align:center}.shd.c .kick{margin-bottom:.8rem}.cta.c{justify-content:center}
.shd.split{display:grid;gap:1.25rem;align-items:end}@media(min-width:900px){.shd.split{grid-template-columns:1.1fr .9fr;gap:3rem}.shd .side{border-left:2px solid var(--line);padding-left:1.75rem}}
.shd .side p{color:var(--mute)}.shd .side .cta{margin-top:1.25rem}
.tcard>div{display:flex;gap:1rem;align-items:flex-start}.tcard h3{margin-bottom:.15rem}
.clg{position:relative;aspect-ratio:1/.95;width:100%;max-width:34rem}.clg img{position:absolute;object-fit:cover;border:5px solid var(--bg);border-radius:20px;box-shadow:0 18px 40px -20px rgba(18,52,77,.55)}
.k1{left:0;top:0;width:55%;height:54%}.k2{right:0;top:12%;width:52%;height:66%}.k3{left:3%;bottom:0;width:44%;height:40%}.blob{position:absolute;left:4%;bottom:2%;width:56%;aspect-ratio:1;border-radius:50%;background:var(--tint)}
.feat{grid-template-columns:1fr}@media(min-width:560px){.feat{grid-template-columns:1fr 1fr}}.feat li{gap:.8rem}.feat span{font-size:.92rem;color:var(--mute);line-height:1.45}.feat .ico{width:38px;height:38px;border-radius:10px}.feat .ico svg{width:20px;height:20px}
.how{background:var(--tint)}.hw{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2rem 1.5rem}
.hw li:not(.arch){position:relative;display:flex;gap:1rem;align-items:flex-start;padding:2.1rem 1.5rem 1.6rem;border-radius:18px;background:var(--bg);box-shadow:0 18px 36px -26px rgba(18,52,77,.55)}
.hw li.st2,.hw li.st3{background:var(--c2)}.hw em{position:absolute;top:-.85rem;left:1.25rem;padding:.3rem .8rem;border-radius:8px;background:var(--teal);color:#fff;font:700 .74rem "Public Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;font-style:normal}
.hw h3{font-size:1.2rem;margin-bottom:.35rem}.hw p{color:var(--mute);font-size:.97rem}.hw .ico{background:rgba(15,139,131,.12)}
.arch{order:-1;margin:0 auto;width:min(100%,19rem)}.arch img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:8px solid var(--bg);border-radius:160px 160px 110px 110px;box-shadow:0 26px 50px -26px rgba(18,52,77,.6)}
@media(min-width:700px){.hw{grid-template-columns:repeat(2,minmax(0,1fr))}.arch{grid-column:1/-1}}
@media(min-width:1000px){.hw{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem) minmax(0,1fr);align-items:center}.arch{order:0;grid-column:2;grid-row:1/3}.hw .st1{grid-column:1;grid-row:1}.hw .st3{grid-column:1;grid-row:2}.hw .st2{grid-column:3;grid-row:1}.hw .st4{grid-column:3;grid-row:2}}
.ph4{display:grid;gap:1.25rem;margin-top:2.5rem}.ph4 figure{position:relative;margin:0;height:15rem;border-radius:22px;overflow:hidden;box-shadow:0 20px 40px -28px rgba(18,52,77,.6)}.ph4 img{width:100%;height:100%;object-fit:cover;display:block}.p1 img{object-position:center 35%}
.cap{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem 1.2rem;border-radius:14px;background:#fff;color:#182832;box-shadow:0 10px 24px -14px rgba(0,0,0,.5)}.cap h3{color:#12344D;font-size:1.15rem;margin-bottom:.2rem}.cap p{font-size:.92rem;color:#485B67;line-height:1.45}
@media(max-width:999px){.ph4{grid-template-columns:repeat(2,minmax(0,1fr))}.ph4 figure{height:13rem}.ph4 .p1{grid-column:1/-1;height:16rem}.ph4 figure:nth-child(4){grid-column:1/-1;height:11rem}}
@media(min-width:1000px){.ph4{grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr))}.p1{grid-column:auto}.ph4 figure,.p1{height:25rem!important}}
.sl{display:grid;gap:.9rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);align-items:start}@media(min-width:700px){.sl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.sl{grid-template-columns:repeat(3,minmax(0,1fr))}}
details.sd,details.sd:first-of-type{border:1px solid var(--line);border-radius:14px;background:var(--bg)}details.sd summary{padding:1rem 1.2rem}details.sd summary span{display:grid}details.sd small{color:var(--link);font-weight:600;font-size:.82rem}details.sd p{padding:0 1.2rem .8rem}details.sd .note{margin:0 1.2rem 1rem;padding-left:.8rem}
.tinted{background:var(--tint)}
.rs{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.75rem .5rem 1.5rem;margin:1.5rem -.5rem 0;overscroll-behavior-x:contain}.rs::-webkit-scrollbar{display:none}
.rsc{flex:0 0 84%;scroll-snap-align:start;background:var(--bg);border-radius:20px;padding:.6rem;box-shadow:0 18px 40px -26px rgba(18,52,77,.6)}
@media(min-width:640px){.rsc{flex-basis:calc((100% - 1.25rem)/2)}}@media(min-width:1000px){.rsc{flex-basis:calc((100% - 2.5rem)/3)}}
.rsi{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/2;background:var(--tint)}.rsi img{width:100%;height:100%;object-fit:cover;display:block}
.lb{position:absolute;bottom:.6rem;padding:.25rem .7rem;border-radius:99px;font:700 .75rem "Public Sans",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#fff}.lb.b{left:.6rem;background:rgba(35,38,45,.88)}.lb.a{right:.6rem;background:var(--teal)}
.rsf{display:flex;justify-content:space-between;padding:.8rem .5rem .3rem}.rsf span{color:var(--mute);font-size:.88rem}
.rsn{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.25rem}.rb{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);display:grid;place-items:center;cursor:pointer}.rb:disabled{opacity:.4;cursor:default}.rb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dots{display:flex;gap:.4rem;align-items:center}.dots button{position:relative;width:10px;height:10px;padding:0;border-radius:99px;border:0;background:#A9C2BE;cursor:pointer}.dots button::after{content:"";position:absolute;inset:-12px -4px}.dots button[aria-current=true]{width:28px;background:var(--teal)}
.est{background:radial-gradient(900px 520px at 88% -8%,rgba(15,139,131,.3),transparent 62%),var(--navy)}
.fcard{background:#fff;color:#182832;border-radius:22px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.fhead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.est .fcard h3{color:#12344D;margin:0;font-size:1.35rem}.est .fcard .sh{margin-top:1.5rem;font-size:1.1rem}
.spill{padding:.3rem .8rem;border-radius:99px;background:var(--c2);color:#0B5E59;font:700 .74rem "Public Sans",sans-serif;text-transform:uppercase;letter-spacing:.06em}:root .spill{background:#D3EEEA}
.fcard .seg{border:0;background:#E6F0EE;margin-top:1.25rem}.fcard .seg button{color:#12344D}.fcard .seg button[aria-pressed="true"]{background:#fff;box-shadow:0 2px 8px rgba(18,52,77,.15)}
.fcard input,.fcard select,.fcard textarea{background:#F6F9F8;border:1.5px solid #D3DDDA;color:#182832}.fcard label{color:#182832}.fcard .hintx{color:#5A6B75}.fcard .btn.alt{color:#12344D;border-color:#C8D3D0}.fcard #st{color:#182832}.fcard #st a{color:#0B6F69}
.prog{margin-top:1.75rem}.fcard .plab{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;font-weight:400;color:#5A6B75;margin-top:.45rem}.fcard .pbar{background:#DCE6E3}.fcard .pbar i{background:var(--teal)}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;padding-bottom:.8rem;border-bottom:2px dotted rgba(27,42,51,.3)}.shead h3{margin:0;font-size:1.25rem}.live{font:700 .7rem "Public Sans",sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#0B6F69}.slip .k{margin:.6rem 0 .3rem}
.offer{font-size:.88rem}
.incl{display:grid;gap:3rem;align-items:start}@media(min-width:960px){.incl{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4rem}}
.clg2{position:relative;margin-top:2.5rem;aspect-ratio:1.1;max-width:34rem}.clg2 img{position:absolute;object-fit:cover;border:5px solid var(--bg);box-shadow:0 18px 38px -20px rgba(18,52,77,.6)}
.clg2 .m{left:8%;top:0;width:80%;height:78%;border-radius:22px;outline:4px solid var(--tint)}.clg2 .t1{left:0;bottom:0;width:34%;height:40%;border-radius:16px;transform:rotate(-5deg)}.clg2 .t2{right:0;bottom:6%;width:36%;height:40%;border-radius:16px;transform:rotate(6deg)}
.kf{background:var(--tint);border-radius:26px;padding:clamp(1.25rem,3vw,2rem)}.kf h3{display:flex;align-items:center;gap:.6rem;font-size:1.5rem;margin-bottom:.5rem}.kf h3 svg{width:1.4rem;height:1.4rem;fill:var(--teal)}
.kf h4{margin:1.5rem 0 .6rem;font:700 .78rem "Public Sans",sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--mute)}
.ck,.adl{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.ck li,.adl li{background:var(--bg);border-radius:12px;padding:.8rem 1rem;font-weight:600;font-size:.97rem}
.ck li{display:flex;gap:.7rem;align-items:center}.ck li::before{content:"\2713";color:var(--tt);font-weight:800}.adl li{display:flex;justify-content:space-between;gap:1rem;border-left:4px solid var(--teal)}.adl b{color:var(--tt);white-space:nowrap}
.kf .note{margin:1rem 0;font-size:.9rem;color:var(--mute)}.kf .btn{width:100%}
.warm{background:var(--paper)}.wy{display:grid;gap:1.25rem;margin-top:2.5rem}@media(min-width:540px){.wy{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1000px){.wy{grid-template-columns:repeat(4,minmax(0,1fr))}}
.wy>div{display:block;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:1.6rem}.wy .ico{margin-bottom:1rem}.wy h3{font-size:1.15rem;margin-bottom:.4rem}.wy p{color:var(--mute);font-size:.96rem}
.rvw{display:grid;gap:2.5rem;align-items:center}@media(min-width:900px){.rvw{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:3.5rem}}.rph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}.rc{background:var(--paper)}
.ar{display:grid;gap:2rem;align-items:center}@media(min-width:900px){.ar{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem}}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.7rem}.chips li{padding:.65rem 1.2rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-weight:600}.chips li.lim{background:transparent;border-style:dashed;color:var(--mute)}
.faq details{border-radius:14px;padding:0 1rem}.faq details[open]{background:var(--paper)}.faq details[open] summary{color:var(--tt)}
footer{padding:3.5rem 0 2rem}.legal{text-align:center}
@media(prefers-reduced-motion:no-preference){
 .js-rv .rv{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*80ms)}.js-rv .rv.on{opacity:1;transform:none}
 .btn{transition:transform .2s,box-shadow .2s}.btn.gold:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(232,184,74,.7)}
 .rsi img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.rsc:hover .rsi img{transform:scale(1.03)}
 .faq details[open] p{animation:fq .3s cubic-bezier(.2,.7,.2,1)}@keyframes fq{from{opacity:0;transform:translateY(-4px)}}
}

/* ===== refinements from design review ===== */
img{height:auto}
.hero2 h1{max-width:46rem}.hero2 .lede{max-width:36rem}
.tinted .kick,.how .kick{background:var(--bg)}
.fields label{align-content:start}.fcard .fields:not(.nb){grid-template-columns:repeat(2,minmax(0,1fr))}.fcard .fields.nb{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.fcard .fields .full{grid-column:1/-1}
.arch{width:min(100%,17rem)}.arch img{aspect-ratio:4/5}@media(min-width:1000px){.arch{width:100%}}
.rph{align-self:stretch}.rph img{aspect-ratio:16/10}@media(min-width:900px){.rph img{height:100%;min-height:24rem;aspect-ratio:auto}}
@media(min-width:800px){.tcard{grid-template-columns:1fr}.tcard>div+div{border-left:0;border-top:1px solid var(--line)}}
@media(min-width:900px){.tcard{grid-template-columns:repeat(3,1fr)}.tcard>div+div{border-top:0;border-left:1px solid var(--line)}}
@media(max-width:699px){.cta2::before{background:rgba(18,52,77,.9)}}
.more{margin-top:1.5rem}.more a{font-weight:700;color:var(--link)}

/* ===== v5: pricing/form refinements ===== */
.hero2 .rate{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.1rem;color:#DCE7EC;font-size:.92rem;text-decoration:none}.hero2 .rate:hover b{text-decoration:underline}.hero2 .rate .stars{color:var(--gold);letter-spacing:.08em}
@media(max-width:699px){.hero2{min-height:0;padding:1.75rem 0 5.75rem}.hero2 h1{font-size:clamp(2.25rem,10.5vw,2.9rem)}.hero2 .lede{font-size:1.02rem;margin-top:.9rem}.hero2 .cta{margin-top:1.25rem}.hero2 .pill{margin-bottom:.9rem}.trust{margin-top:-4rem}}
@media(max-width:379px){.hero2 .cta .btn{width:100%}.wrap{width:min(1180px,100% - 2rem)}}
.fields .full{grid-column:1/-1}.req{color:#B3261E;font-weight:700}.fcard label small{font-weight:400;color:#5A6B75}
.err{display:block;min-height:0;color:#B3261E;font-size:.85rem;font-weight:600}.err:empty{display:none}.fcard [aria-invalid="true"]{border-color:#B3261E!important;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.errsum{margin:1rem 0;padding:1rem 1.2rem;border:2px solid #B3261E;border-radius:12px;background:#FDF1F0;color:#7A1812;outline:0}.errsum ul{margin:.5rem 0 0;padding-left:1.2rem}.errsum a{color:#7A1812;font-weight:600}
.rvbox{margin:.75rem 0 1rem;padding:.8rem 1rem;border-radius:12px;background:#E6F0EE;color:#12344D;font-size:.97rem}
.disc{margin-top:1rem;font-size:.9rem;color:#485B67}.sms{margin-top:1rem;padding:.9rem 1rem;border:1px solid #D3DDDA;border-radius:12px}
.addons{border:0;padding:0;margin:1.25rem 0 0;min-width:0}.addons legend{padding:0;font-weight:700;margin-bottom:.4rem}.addons legend small{display:block;font-weight:400}
.ao{display:grid;grid-template-columns:1fr;gap:.2rem .75rem;padding:.7rem .85rem;margin-top:.5rem;border:1.5px solid #D3DDDA;border-radius:12px;background:#F6F9F8}.ao[hidden]{display:none}
.ao .chk{align-items:flex-start;min-height:44px;gap:.7rem;font-weight:500}.ao .an{display:grid}.ao .an b{font-weight:600}.ao .an small{color:#5A6B75;font-size:.85rem}.ao .hn{color:#5A6B75;font-size:.82rem;padding-left:1.9rem}
.ao.is-inc{background:#E3F3F0;border-color:#9ED5CE}.ao .chk .inc{display:none;margin-left:auto}.ao.is-inc .chk .inc{display:inline-block}
.aq{display:flex;align-items:center;gap:.3rem}.aq[hidden]{display:none}.aq button{width:44px;height:44px;border-radius:10px;border:1.5px solid #C8D3D0;background:#fff;color:#12344D;font-size:1.3rem;cursor:pointer}.aq input{width:3.2rem;min-height:44px;text-align:center;padding:.2rem}.aq em{font-style:normal;font-size:.8rem;color:#5A6B75}
details.more{margin-top:.6rem;border:0}details.more summary{padding:.6rem 0;color:#0B6F69;font-weight:700}
.bn{margin:.4rem 0 .7rem;padding:.6rem .8rem;border-radius:10px;font-size:.9rem;line-height:1.45;background:#E6F0EE;color:#12344D}.bn.warn{background:#FFF3D6;color:#5C3D00}
.ln small{display:block;font-size:.8rem;color:#5A6B75;font-weight:400}.ln .qty{font-weight:700}.ln.dsc b{color:#0B6F69}.ln.tot span{font-size:1.05rem}.ln.tot small{font-family:"Public Sans",sans-serif;font-weight:400;font-size:.8rem;color:#4D5F6B}
.rcb{margin-top:1.25rem;padding-top:.9rem;border-top:2px dotted rgba(27,42,51,.3)}.rcb h4{margin:0 0 .3rem}
#st{margin-top:1rem;font-size:.97rem}#st.ok{padding:1rem;border-radius:12px;background:#E3F3F0;color:#0B3F3B;outline:0}#st.bad{padding:1rem;border-radius:12px;background:#FDF1F0;color:#7A1812}#st:empty{display:none}
.adl{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
@media(max-width:379px){.fcard .fields:not(.nb){grid-template-columns:minmax(0,1fr)}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark}}
.tbar span{max-width:6.5rem}

.adl li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.15rem .75rem;min-width:0;background:var(--bg);border-radius:12px;padding:.8rem 1rem;font-weight:600;font-size:.97rem;border-left:4px solid var(--teal)}.adl li b{white-space:normal;text-align:right;margin-left:auto;color:var(--tt)}
.rs{scroll-padding-left:.5rem}
@media(max-width:380px){.hero2{padding-top:1.1rem}.hero2 h1{font-size:2.1rem}.hero2 .lede{font-size:.95rem;margin-top:.65rem}.hero2 .cta{margin-top:.95rem}.hero2 .pill{margin-bottom:.65rem;font-size:.68rem;padding:.25rem .7rem}}

.ao .aq{padding-left:1.9rem}.lt{display:block}.lt .req{display:inline}
.nav2 .btn{flex:1}.nav2 #bk{flex:0 0 30%}
@media(max-width:519px){.fcard .fields.nb{grid-template-columns:repeat(2,minmax(0,1fr))}.fcard .fields.nb>label{grid-column:1/-1}.fcard .fields.nb>label.half{grid-column:auto}}

/* white form card + receipt keep a light palette in dark mode (native controls, text, links) */
.fcard,.slip{color-scheme:light;--ink:#182832;--mute:#485B67;--line:#D3DDDA;--link:#0B6F69;--tt:#0C857E;--bg:#fff;--tint:#E6F0EE;--paper:#F7F5EF}
.rvbox .mu{color:#485B67}
.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;color:#12344D;padding:.7rem 1rem;border-radius:8px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.3)}

.tcard .th{display:block;font:600 1.1rem "Bricolage Grotesque","Public Sans",sans-serif;color:var(--hd);margin-bottom:.15rem}

/* --- Transparent estimate + flexible-scope message (hybrid quote model) --- */
.est .flex-note{max-width:52rem;margin:1.1rem 0 0;padding:.85rem 1.05rem;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(255,255,255,.09);color:#EDF5F5;font-size:.96rem;line-height:1.58}
.est .flex-note strong{color:#fff}
@media(max-width:699px){.est .flex-note{font-size:.91rem;padding:.8rem .9rem;line-height:1.5}}
