@font-face{font-family:"Inter";src:url("/fonts/Inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --navy:#1F4478;      /* brighter navy, main */
  --navy-2:#1A3C6C;    /* alternate sections */
  --navy-3:#163460;    /* footer */
  --ink:#1F4478;       /* text on white */
  --body:#4A5A75;      /* body copy on white */
  --soft:#D7DFEB;      /* body copy on navy */
  --line:#DCE3ED;      /* hairlines on white */
  --line-d:rgba(255,255,255,.16);
  --white:#fff;
  --accent:#F6A24B;    /* warm orange pop accent on navy (4.72:1 on #1F4478, 5.34:1 on #1A3C6C, 6.01:1 footer) */
  --accent-dk:#B0560E; /* burnt orange on white (5.02:1 on #fff) */
  --wrap:1100px;
  --hdr:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--white);font:400 17px/1.6 "Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
b,strong{font-weight:800}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
.on-white :focus-visible,.card :focus-visible,.form-card :focus-visible{outline-color:var(--navy)}
.wrap{max-width:calc(var(--wrap) + 48px);margin:0 auto;padding:0 24px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 14px;z-index:100}
.skip:focus{left:8px}

/* ---------- labels / type ---------- */
.label{display:block;font-size:11.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px}
h1{font-weight:300;font-size:clamp(36px,6.2vw,64px);line-height:1.06;letter-spacing:-.02em}
h2{font-weight:300;font-size:clamp(28px,4vw,42px);line-height:1.12;letter-spacing:-.015em;margin-bottom:16px}
h3{font-weight:700;font-size:20px;line-height:1.3;margin-bottom:8px}
.lead{font-size:18px;color:var(--soft);max-width:640px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.on-white{background:#fff;color:var(--ink)}
.on-white .lead{color:var(--body)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid var(--line-d)}
.hdr .wrap{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:block;flex:none}
.logo img{height:46px;width:auto}
.hdr .wrap{max-width:1268px}
.hdr .logo{margin-left:-6px;margin-right:10px}
@media (min-width:1081px) and (max-width:1220px){.logo img{height:42px}.hdr .logo{margin-left:0;margin-right:0}.nav{gap:16px}.hdr .wrap{gap:14px}.nav a{letter-spacing:.16em}.hdr .phone{font-size:19px;padding:10px 12px}}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:#E7ECF4;white-space:nowrap;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:#fff;border-bottom-color:#fff}
.nav a[aria-current=page]{font-weight:700}
.nav .nav-contact{display:none}
.phone{display:inline-flex;align-items:center;gap:9px;flex:none;text-decoration:none;font-weight:800;font-size:21px;letter-spacing:.02em;white-space:nowrap;padding:10px 16px;border:1px solid rgba(255,255,255,.7);border-radius:2px}
.phone:hover{background:#fff;color:var(--navy)}
.phone svg{width:18px;height:18px;flex:none}
.burger{display:none;background:none;border:0;color:#fff;width:44px;height:44px;padding:10px;cursor:pointer;flex:none}
.burger span{display:block;height:1.5px;background:#fff;margin:6px 0;transition:.2s}
.hdr-min .wrap{justify-content:space-between}
@media (max-width:1080px){
  .burger{display:block}
  .hdr .wrap{gap:12px}
  .nav{display:none;position:absolute;top:var(--hdr);left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line-d)}
  .nav.open{display:flex}
  .nav a{font-size:13px;padding:16px 0;border-bottom:1px solid var(--line-d)}
  .nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--line-d)}
  .nav .nav-contact{display:block}
  .hdr .phone{margin-left:auto}
}
@media (max-width:520px){
  :root{--hdr:64px}
  .wrap{padding:0 18px}
  .logo img{height:33px}
  .hdr .logo{margin-left:-4px;margin-right:0}
  .hdr .wrap{gap:8px}
  .phone{font-size:17px;padding:8px 9px;gap:6px;border-color:rgba(255,255,255,.5)}
  .phone svg{width:15px;height:15px}
  .burger{width:38px;padding:9px;margin-right:-8px}
}
@media (max-width:360px){.hdr .wrap{padding:0 12px;gap:8px}.hdr .logo{margin-left:0}.logo img{height:27px}.phone{font-size:15px;padding:7px 6px;gap:4px}.phone svg{width:13px;height:13px}.burger{width:36px;padding:8px;margin-right:-6px}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy);display:flex;align-items:center;min-height:min(82vh,760px)}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:rgba(27,58,104,.56)}
.hero.night .hero-media::after{background:rgba(27,58,104,.42)}
.hero.solid{min-height:min(64vh,600px)}
.hero-in{position:relative;z-index:2;width:100%;padding:96px 0 104px;text-align:center}
.hero-in .wrap{max-width:900px}
.hero h1 .label{font-size:12px;margin-bottom:24px}
.hero h1{text-shadow:0 2px 24px rgba(10,25,50,.35)}
/* blank hero (fall package, v4): no photo, plain navy, headline ~12% bigger */
.hero.blank{background:var(--navy)}
.hero.blank h1,.hero.blank .sub{text-shadow:none}
.hero.blank h1{font-size:clamp(40px,7vw,72px)}
.hero .sub{font-size:clamp(18px,2.2vw,21px);line-height:1.5;color:#fff;max-width:680px;margin:22px auto 0;text-shadow:0 1px 14px rgba(10,25,50,.4)}
.proof{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:15px;font-weight:500;letter-spacing:.02em}
.stars{letter-spacing:.12em;font-size:15px}
.hero .ctas{margin-top:34px}
.hero .callline{margin-top:18px;font-size:15px;color:#fff}
.callline a{font-weight:800;font-size:22px;text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.callline a:hover{text-decoration:underline}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 32px;border-radius:2px;border:1px solid #fff;background:#fff;color:var(--navy);font:700 14px/1.2 "Inter",sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:transparent;color:#fff}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background:#fff;color:var(--navy)}
.btn-ghost{background:transparent;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-call .num{font-weight:800;font-size:19px;letter-spacing:.03em}
.btn-block{width:100%}
.ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
@media (max-width:520px){.btn{width:100%;padding:0 18px;font-size:13px;letter-spacing:.12em}}

/* ---------- sections ---------- */
.sec{padding:96px 0}
.sec.alt{background:var(--navy-2)}
.sec-head{margin-bottom:44px}
@media (max-width:720px){.sec{padding:64px 0}.sec-head{margin-bottom:32px}}

/* ---------- cards ---------- */
.card{background:#fff;color:var(--ink);border-radius:2px}
.card p{color:var(--body)}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.box{padding:32px 30px}
.box .label{display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--navy);margin-bottom:18px;font-size:11px}
.box .num{display:block;font-weight:200;font-size:44px;line-height:1;margin-bottom:14px;letter-spacing:-.02em}
.svc{display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:transform .2s}
.svc:hover{transform:translateY(-3px)}
.svc picture img,.svc .noimg{aspect-ratio:4/3;width:100%;object-fit:cover}
.svc .noimg{background:var(--navy-2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;border:1px solid #fff}
.svc .body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.svc .more{margin-top:auto;padding-top:18px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.svc.call{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);justify-content:center;text-align:center;padding:36px 26px}
.svc.call p{color:var(--soft)}
.svc.call .callline a{font-size:26px}

/* feature (photo + text) */
.feature{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.feature picture img{width:100%;height:100%;object-fit:cover;min-height:100%}
.feature .txt{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.feature .txt .label{border-bottom:1px solid var(--navy);padding-bottom:8px}
.feature .txt p{margin-bottom:28px}
.feature.textonly{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.feature.textonly .txt{align-items:center;text-align:center}
.small{font-size:14px;color:var(--body)}
@media (max-width:820px){.feature{grid-template-columns:1fr}.feature picture img{aspect-ratio:4/3}.feature .txt{padding:36px 26px}}

/* offer */
.offer{display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden}
.offer .txt{padding:52px 50px}
.offer picture img{width:100%;height:100%;object-fit:cover}
.price{display:flex;align-items:flex-start;gap:4px;margin:4px 0 6px;color:var(--navy)}
.price .cur{font-size:36px;font-weight:800;line-height:1;margin-top:14px}
.price .amt{font-size:104px;font-weight:800;line-height:.92;letter-spacing:-.04em}
.offer h2{font-size:clamp(24px,3vw,32px);margin:10px 0 22px}
.incl{border-top:1px solid var(--line);margin-bottom:18px}
.incl li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:16.5px}
.incl li span{display:flex;align-items:center;gap:12px}
.incl li span::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.free{flex:none;font-size:11px;font-weight:800;letter-spacing:.16em;background:var(--navy);color:#fff;padding:4px 9px;border-radius:2px}
.offer .btn{margin-top:22px}
.offer .callline{margin-top:14px;font-size:15px;color:var(--body)}
.offer .callline a{color:var(--ink);font-size:20px}
@media (max-width:860px){.offer{grid-template-columns:1fr}.offer picture{order:-1}.offer picture img{aspect-ratio:16/10}.offer .txt{padding:34px 24px}.price .amt{font-size:84px}}

/* offer one-liner */
.offer-line{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px}
.offer-line p{color:var(--ink);font-size:17px}
.offer-line .btn{flex:none;min-height:52px}
@media (max-width:820px){.offer-line{flex-direction:column;align-items:stretch;text-align:center}}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gal figure{background:#fff;color:var(--ink)}
.gal img{aspect-ratio:4/3;width:100%;object-fit:cover}
@media (min-width:821px){.gal.g4{grid-template-columns:repeat(4,1fr)}}
.gal.g3s{grid-template-columns:repeat(3,1fr)}
@media (max-width:640px){.gal.g3s{grid-template-columns:1fr;gap:14px}}
.gal figcaption{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:14px 16px}
@media (max-width:820px){.gal{grid-template-columns:repeat(2,1fr);gap:12px}.gal figcaption{font-size:10px;letter-spacing:.16em;padding:10px 12px}}

/* before / after */
.ba-wrap{display:grid;gap:24px}
.ba-card{background:#fff;color:var(--ink);margin:0}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#fff}
@media (max-width:640px){.ba-pair{grid-template-columns:1fr}}
.ba-ph{position:relative;overflow:hidden}
.ba-ph picture,.ba-ph img{display:block;width:100%;height:100%}
.ba-ph img{object-fit:cover}
.ba-ph .tag{position:absolute;top:14px;left:14px;font-size:10.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;background:#fff;color:var(--navy);padding:6px 10px}
.ba-card figcaption{padding:16px 20px 20px;font-size:15px;color:var(--body)}

/* reviews */
.review{padding:30px 30px 28px}
.review .stars{display:block;color:var(--navy);font-size:17px;margin-bottom:12px}
.review blockquote{font-size:17.5px;line-height:1.55;color:var(--ink);font-weight:500}
.review cite{display:block;margin-top:16px;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--body)}
.reviews-col{display:flex;flex-direction:column;gap:18px}
.reviews-col .rhead{display:flex;align-items:center;gap:12px;font-weight:600}

/* estimate (form + reviews) */
.estimate{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
@media (max-width:900px){.estimate{grid-template-columns:1fr}}
.form-card{padding:40px 38px}
.form-card h2{font-size:clamp(26px,3.2vw,34px);margin-bottom:6px}
.form-card .intro{color:var(--body);margin-bottom:22px;font-size:16px}
@media (max-width:520px){.form-card{padding:30px 20px}}
.lead-form .steps-ind{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--body);margin-bottom:16px}
.lead-form:not(.js) .steps-ind{display:none}
.lead-form fieldset{border:0;margin:0;padding:0;min-width:0}
.lead-form legend{padding:0}
.lead-form .field{margin-bottom:16px}
.lead-form label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px;color:var(--ink)}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;font:500 17px/1.3 "Inter",sans-serif;color:var(--ink);background:#fff;border:1px solid #B9C5D8;border-radius:2px;padding:14px 14px;min-height:54px;appearance:none;-webkit-appearance:none}
.lead-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F4478' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.lead-form textarea{min-height:96px;resize:vertical}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.lead-form .row{grid-template-columns:1fr;gap:0}}
.lead-form .btn{margin-top:6px}
.lead-form .back{background:none;border:0;padding:12px 0 0;font:600 12px "Inter",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--body);cursor:pointer}
.lead-form .back[hidden],.lead-form [hidden]{display:none!important}
.lead-form.js .step2:not(.show){display:none}
.lead-form.js .step1.done{display:none}
.lead-form .err{color:var(--ink);font-weight:700;font-size:14px;margin:-4px 0 12px}
.form-note{margin-top:16px;font-size:14.5px;color:var(--body)}
.form-note a{font-weight:800;color:var(--ink);white-space:nowrap}
.hp{position:absolute;left:-5000px}

/* faq */
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:19px;font-weight:700;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:30px;line-height:1;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 24px;color:var(--body);max-width:720px}
.faq details p a{font-weight:800;color:var(--ink)}

/* towns */
.towns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:720px){.towns{grid-template-columns:1fr}}
.towns ul{display:flex;flex-wrap:wrap;gap:8px 0}
.towns li{font-weight:600;color:var(--ink);font-size:16px}
.towns li:not(:last-child)::after{content:"\00b7";margin:0 10px;color:var(--body);font-weight:400}

/* season lists (FPM) */
.season ul{margin-top:12px}
.season li{position:relative;padding:7px 0 7px 18px;border-top:1px solid var(--line);color:var(--body);font-size:15.5px;line-height:1.45}
.season li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;background:var(--navy);border-radius:50%}
.more-detail{margin-top:28px}
.more-detail>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:6px}
.more-detail>summary::-webkit-details-marker{display:none}
.more-detail>summary::after{content:"+";font-size:18px;font-weight:400}
.more-detail[open]>summary::after{content:"\2212"}
.more-detail .grid{margin-top:28px}
.steps7{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px}
.steps7 .box{padding:22px 22px}
.steps7 .num{font-size:30px;margin-bottom:6px}
.steps7 h3{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}

/* fine print + footer */
.fine{font-size:14px;color:var(--soft);max-width:820px;margin:0 auto;text-align:center}
.ftr{background:var(--navy-3);padding:56px 0 36px;font-size:15px}
.ftr .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.ftr img{height:36px;width:auto;margin-bottom:16px}
.ftr p,.ftr li{color:var(--soft)}
.ftr a{text-decoration:none}
.ftr a:hover{text-decoration:underline}
.ftr .big{font-size:24px;font-weight:800;color:#fff;letter-spacing:.01em}
.ftr li{padding:4px 0}
.ftr .copy{margin-top:40px;padding-top:22px;border-top:1px solid var(--line-d);font-size:13px;color:var(--soft);letter-spacing:.04em}
@media (max-width:760px){.ftr .cols{grid-template-columns:1fr}}

/* sticky mobile call bar is intentionally NOT used (no bars); phone lives in header */
.thanks{min-height:60vh;display:flex;align-items:center}
@media (max-width:560px){.hero .label .sep{display:block;height:0;overflow:hidden;visibility:hidden}}
/* announcement bar (scrolls away; header below stays sticky) */
html{scroll-padding-top:calc(var(--hdr) + 12px)}
.ann{background:#fff;color:var(--navy);border-bottom:1px solid #D7DFEB}
.ann .wrap{min-height:38px;display:flex;align-items:center;justify-content:center;padding-top:6px;padding-bottom:6px}
.ann a{display:inline-flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none;font-size:13.5px;line-height:1.35;font-weight:400;text-align:left}
.ann a:hover .ann-long,.ann a:hover .ann-short{text-decoration:underline;text-underline-offset:3px}
.ann b{font-weight:700}
.ann .pill{flex:none;background:var(--navy);color:#fff;font-size:9.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:4px 7px 4px 9px;border-radius:999px;line-height:1}
.ann .arr{flex:none;font-weight:700}
.ann-short{display:none}
@media (max-width:640px){.ann-long{display:none}.ann-short{display:inline}.ann a{font-size:13px;gap:10px}.ann .wrap{min-height:36px}}
/* offer popup (built by js/site.js) */
html.pop-open,html.pop-open body{overflow:hidden}
.pop-ov{position:fixed;inset:0;z-index:200;background:rgba(14,30,56,.62);display:flex;align-items:center;justify-content:center;padding:16px;animation:popfade .2s ease-out}
.pop{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;color:var(--navy);border-radius:2px;padding:40px 36px 26px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.pop .label{display:inline-block;padding-bottom:8px;border-bottom:1px solid var(--navy);margin-bottom:16px;font-size:11px;color:var(--navy)}
.pop h2{margin:0 0 6px;font-size:30px;line-height:1.15;font-weight:300;color:var(--navy)}
.pop h2 b{font-weight:800}
.pop .price .amt{font-size:80px}.pop .price .cur{font-size:30px;margin-top:10px}
.pop-sub{margin:0 0 14px;color:var(--body);font-size:16px}
.pop .incl li{font-size:15.5px;padding:11px 0}
.pop .small{margin:0 0 18px}
.pop-call{text-align:center;margin:16px 0 4px;color:var(--body);font-size:15px}
.pop-call a{color:var(--navy)}
.pop-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;color:var(--navy);font-size:32px;line-height:1;cursor:pointer;border-radius:2px}
.pop-x:hover{background:#EEF2F8}
.pop-no{display:block;margin:6px auto 0;border:0;background:none;color:var(--body);font:500 14px/1 "Inter",sans-serif;text-decoration:underline;text-underline-offset:3px;padding:10px 14px;cursor:pointer}
.pop :focus-visible{outline:2px solid var(--navy);outline-offset:2px}
@keyframes popfade{from{opacity:0}to{opacity:1}}
@media (max-width:480px){.pop{padding:34px 22px 18px}.pop h2{font-size:26px}.pop .price .amt{font-size:68px}.pop .incl li{font-size:15px}}
@media (prefers-reduced-motion:reduce){.pop-ov{animation:none}}
@media (max-width:400px){.proof{flex-wrap:wrap;justify-content:center;gap:4px 8px;font-size:14px}.proof .stars{font-size:14px}}
/* ---------- orange pop accent (.gold class kept as the hook): phone number text + $199 package callouts ---------- */
.ph,.gold,.gold .amt,.gold .cur{color:var(--accent)}
.pop .ph,.pop .gold,.pop .gold .amt,.pop .gold .cur,.on-white .ph,.on-white .gold,.card .ph,.card .gold{color:var(--accent-dk)}
/* gold on white-hover / white buttons */
.phone:hover .ph,.btn-call .ph,.btn:hover .ph{color:var(--accent-dk)}
/* ---------- v8: cards in 4 (privacy "What we plant" + Fills in fast) ---------- */
@media (min-width:961px){.grid.g4c{grid-template-columns:repeat(4,1fr)}.grid.g4c .box{padding:28px 24px}}
/* ---------- v8: cleaner before/after ---------- */
.ba-clean{max-width:1040px;margin:0 auto;box-shadow:0 18px 40px rgba(8,20,45,.25)}
.ba-clean .ba-pair{gap:4px;background:#fff;padding:4px}
.ba-clean .ba-ph{aspect-ratio:4/3}
.ba-clean .tag{top:auto;bottom:16px;left:16px;font-size:12px;letter-spacing:.3em;padding:8px 14px}
.ba-clean .tag-a{background:var(--navy);color:#fff}
.ba-clean figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px 14px;text-align:center;padding:18px 22px 22px;font-size:16px}
.ba-clean figcaption .label{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--ink)}
@media (max-width:640px){.ba-clean .ba-pair{gap:4px}.ba-clean .tag{bottom:12px;left:12px;font-size:11px}}
/* ---------- v8: inline video section ---------- */
.vid-split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.vid-txt .sec-head{margin-bottom:28px}
.vid-box{justify-self:center;width:100%;max-width:380px;background:var(--navy);border:1px solid var(--line)}
.vid-box video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover}
@media (max-width:820px){.vid-split{grid-template-columns:1fr;gap:32px}.vid-box{max-width:340px}.vid-txt{text-align:center}.vid-txt .sec-head{text-align:center}}
/* ---------- v8: About page ---------- */
.about-split{display:grid;grid-template-columns:1.35fr .65fr;gap:56px;align-items:start}
.about-txt p{color:var(--body);font-size:17.5px;max-width:62ch}
.headshot{margin:0;background:#fff;border:1px solid var(--line)}
.headshot picture,.headshot img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.hs-ph{aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;background:#E9EEF5;color:#B9C6D8;overflow:hidden}
.hs-ph svg{width:78%;height:auto;display:block}
.headshot figcaption{padding:14px 18px 16px;display:flex;flex-direction:column;gap:2px}
.headshot figcaption b{color:var(--ink);font-size:16px}
.headshot figcaption span{color:var(--body);font-size:13.5px}
@media (max-width:820px){.about-split{grid-template-columns:1fr;gap:32px}.about-hs{max-width:320px}}
.about-list{list-style:none;margin:0 auto;padding:0;max-width:820px}
.about-list li+li{border-top:1px solid var(--line)}
.about-list a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;padding:20px 26px;text-decoration:none}
.about-list a b{color:var(--ink);font-size:17px}
.about-list a span{color:var(--body);font-size:15.5px}
.about-list a:hover b{text-decoration:underline}
/* v8: announcement bar is white, so its gold uses the dark tone */
.ann .gold{color:var(--accent-dk)}
/* v8: 7 nav items (About added) - keep one row from 1081 to 1280 */
@media (min-width:1081px) and (max-width:1280px){.nav{gap:18px}.nav a{letter-spacing:.14em}}
@media (min-width:1081px) and (max-width:1220px){.nav{gap:11px}.nav a{font-size:11px;letter-spacing:.09em}.hdr .wrap{gap:12px}.hdr .phone{font-size:18px;padding:9px 10px}}
/* ---------- v10: primary CTA buttons in warm orange (secondary ghost / call buttons, header phone and nav unchanged) ---------- */
:root{--cta-ink:#14284A} /* dark navy text: 7.1:1 on --accent, 8.5:1 on hover fill */
.btn:not(.btn-ghost):not(.btn-call),.btn-navy{background:var(--accent);border-color:var(--accent-dk);color:var(--cta-ink);font-weight:800;min-height:60px;padding:0 36px;
  box-shadow:0 6px 18px rgba(8,20,45,.22),inset 0 -2px 0 rgba(0,0,0,.12);transition:background .15s,box-shadow .15s,transform .15s}
.btn:not(.btn-ghost):not(.btn-call):hover,.btn-navy:hover,.btn:not(.btn-ghost):not(.btn-call):focus-visible,.btn-navy:focus-visible{background:#FFB766;color:var(--cta-ink);border-color:var(--accent-dk);
  box-shadow:0 10px 26px rgba(8,20,45,.32),inset 0 -2px 0 rgba(0,0,0,.12);transform:translateY(-1px)}
.btn:not(.btn-ghost):not(.btn-call):active,.btn-navy:active{transform:none;box-shadow:0 3px 10px rgba(8,20,45,.25)}
.btn:not(.btn-ghost):not(.btn-call):focus-visible,.btn-navy:focus-visible{outline:3px solid var(--cta-ink);outline-offset:3px}
.offer-line .btn{min-height:54px}
@media (max-width:520px){.btn:not(.btn-ghost):not(.btn-call),.btn-navy{padding:0 18px}}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none!important}}
/* ---------- v11: header phone as a clear call box (orange border, tinted fill); number text stays orange ---------- */
.hdr .phone{border:2px solid var(--accent);background:rgba(10,24,48,.35);border-radius:8px;padding:11px 18px;font-size:22px;font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:background .15s,border-color .15s}
.hdr .phone svg{color:var(--accent);width:19px;height:19px}
.hdr .phone:hover,.hdr .phone:focus-visible{background:#fff;border-color:var(--accent)}
@media (min-width:1081px) and (max-width:1220px){.hdr .phone{font-size:19px;padding:9px 12px}}
@media (max-width:1080px){.hdr .phone{font-size:17px;padding:8px 10px;gap:6px;border-radius:6px}.hdr .phone svg{width:15px;height:15px}}
@media (max-width:360px){.hdr .phone{font-size:15px;padding:6px 7px;gap:4px}.hdr .phone svg{width:13px;height:13px}}
/* v11: homepage hero eyebrow ~25% bigger */
.hero.blank h1 .label{font-size:15px}
@media (max-width:480px){.hero.blank h1 .label{font-size:14px}}
