/* Breeze Free Window & Door: design system v2 (approved 2026-09-10). Modules on a warm ground. Navy from the logo, gold as accent only. Inter throughout. */
@font-face{font-family:'Inter';font-weight:400 700;font-display:swap;src:url('../fonts/Inter-var.woff2') format('woff2')}

:root{
  --navy:#00214D; --navy-2:#0A2E63; --navy-3:#001636; --ink:#101B2E; --ink-2:#2A3648; --muted:#5B667A;
  --line:#E4DED3; --line-2:#EEE9E0; --ground:#F6F2EA; --paper:#FFFFFF; --sky:#E3EEF9; --sky-2:#CFE0F3;
  --gold:#E0A424; --gold-2:#8A5A0B; --gold-wash:#FBF1DB; --ok:#1F6B4A; --ok-bg:#E6F4EC; --err:#9B2C2C; --err-bg:#FCEDED;
  --on-navy:#C9D6EA; --on-navy-2:#E6ECF6; --on-navy-mut:#A9BBD8; --on-navy-line:rgba(255,255,255,.14);
  --disp:'Inter',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
  --maxw:1240px; --r:28px; --r-sm:16px; --r-xs:10px; --gap:22px;
  --shadow:0 18px 50px rgba(0,33,77,.10); --shadow-lg:0 26px 60px rgba(0,33,77,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-optical-sizing:auto;
  background-image:radial-gradient(rgba(0,33,77,.09) 1px,transparent 1px);background-size:22px 22px}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;letter-spacing:-.022em;line-height:1.08;text-wrap:balance;color:var(--navy)}
h1{font-size:clamp(36px,4.4vw,58px)}
h2{font-size:clamp(28px,3.1vw,40px)}
h3{font-size:21px;letter-spacing:-.008em}
p{max-width:64ch}
.ic{width:1.05em;height:1.05em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;vertical-align:-.15em}
.ic-star{fill:currentColor;stroke:none}
.skip{position:absolute;left:-9999px;top:8px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:8px;z-index:999}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
.wrap{width:min(var(--maxw),calc(100% - 40px));margin:0 auto;padding:0}
.wrap.narrow{max-width:860px}
.two-tone span{color:var(--muted);font-weight:400}

/* labels, buttons, links */
.eyebrow{display:inline-flex;align-items:flex-start;gap:8px;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-2);line-height:1.35}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);flex:0 0 auto;margin-top:5px}
.eyebrow.light{color:#F3D48A}
.pill{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:16px;padding:15px 24px;border-radius:14px;border:2px solid transparent;transition:.18s;white-space:nowrap;line-height:1;cursor:pointer;min-height:48px}
.pill.solid{background:var(--navy);color:#fff;border-color:var(--navy)}
.pill.solid:hover{background:var(--navy-2);border-color:var(--navy-2)}
.pill.solid.onDark,.pill.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.pill.solid.onDark:hover,.pill.gold:hover{background:#EAB23A;border-color:#EAB23A;transform:translateY(-1px)}
.pill.ghost{border-color:var(--line);color:var(--navy);background:var(--paper)}
.pill.ghost:hover{border-color:var(--navy)}
.pill.ghost.light{border-color:rgba(255,255,255,.35);color:#fff;background:transparent}
.pill.ghost.light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.pill .ic{transition:.18s}.pill:hover .ic-arrow{transform:translateX(3px)}
.lnk{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--disp);font-weight:600;font-size:15.5px;color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:2px;min-height:40px}
.lnk:hover{gap:12px}
.lnk.light{color:#fff;border-color:var(--gold)}
.note{margin-top:20px;font-size:15px;color:var(--muted);max-width:76ch}
.note b{color:var(--ink)}
.caveat{margin-top:16px;font-size:13.5px;color:var(--ink-2);max-width:none}
.prose a,.faq .a a,.answer a,.note a,.caveat a,.card p a,.program p a,td a{text-decoration:underline;text-underline-offset:2px;color:var(--navy)}

/* utility bar + header */
.util{background:var(--navy);color:var(--on-navy);font-size:13.5px}
.util .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:16px}
.util a{color:#fff;font-weight:600;display:inline-block;padding:10px 0}
.util .sep{margin:0 9px;opacity:.5}
.util .stars{color:var(--gold);letter-spacing:1px;margin-right:6px}
@media(max-width:820px){.util .r{display:none}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(0,33,77,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:18px}
.brand .logo{height:54px;width:auto}
.navlinks{display:flex;gap:4px;align-items:center}
.navlinks > a,.navlinks .has-sub > a{font-family:var(--disp);font-weight:500;font-size:15.5px;color:var(--ink-2);padding:10px 12px;border-radius:10px;display:inline-flex;align-items:center;gap:6px}
.navlinks > a:hover,.navlinks .has-sub > a:hover,.navlinks a.current{color:var(--navy);background:var(--ground)}
.navlinks .has-sub{position:static;display:flex;align-items:center;height:82px}
.navlinks .ic-car{width:12px;height:12px;stroke-width:2.4;color:var(--gold-2)}
.mega{position:absolute;left:0;right:0;top:100%;display:flex;justify-content:center;padding:12px 20px 20px;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .16s,transform .16s,visibility 0s .16s;z-index:60;pointer-events:none}
.navlinks .has-sub:hover .mega,.navlinks .has-sub:focus-within .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .16s,transform .16s,visibility 0s}
.mega::before{content:"";position:absolute;top:-12px;left:0;right:0;height:14px}
.mega-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);padding:16px;display:grid;grid-template-columns:1fr 280px;gap:16px;width:min(880px,100%)}
.mega-panel.noimg{grid-template-columns:1fr;width:min(560px,100%)}
.mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;align-content:start}
.mega-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-weight:500;font-size:15.5px;color:var(--ink-2);min-height:46px}
.mega-link:hover{background:var(--ground);color:var(--navy)}
.mega-link .ic{width:22px;height:22px;color:var(--navy);stroke-width:1.7}
.mega-photo{border-radius:12px;overflow:hidden;position:relative;min-height:170px}
.mega-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.mega-photo span{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.94);border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:600;color:var(--navy)}
.navr{display:flex;align-items:center;gap:14px}
.navr .ph{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:15.5px;color:var(--navy);white-space:nowrap;min-width:44px;min-height:44px;padding:0 6px}
.hamb{display:none}.mobile-menu{display:none}.mobile-cta{display:none}
@media(max-width:1100px){.navlinks{display:none}.navr .ph span{display:none}}
@media(max-width:1100px){
  .header-cta{display:none}
  .hamb{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer}
  .hamb span{display:block;height:2px;width:24px;background:var(--navy);border-radius:2px;transition:.22s}
  .nav-open .hamb span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-open .hamb span:nth-child(2){opacity:0}
  .nav-open .hamb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--paper);z-index:200;padding:16px 22px 40px;transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);overflow-y:auto}
  .nav-open .mobile-menu{transform:none}
  html.nav-open{overflow:hidden}
  html.nav-open .mobile-cta{display:none}
  .mm-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:10px}
  .mm-top .logo{height:46px;width:auto}
  .mm-close{font-size:34px;line-height:1;background:none;border:none;color:var(--ink);cursor:pointer;padding:0 6px;min-width:44px;min-height:44px}
  .mm-ctas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 10px}
  .mm-ctas .pill{justify-content:center;padding:14px 10px;font-size:14.5px}
  .mobile-menu > a{padding:13px 4px;font-family:var(--disp);font-weight:600;font-size:18px;color:var(--navy);border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;min-height:48px}
  .mobile-menu > a:not(.sub):not(.mm-call):not(.pill)::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold-2);border-bottom:2px solid var(--gold-2);transform:rotate(-45deg);margin-right:8px}
  .mobile-menu > a.sub{font-weight:400;font-size:16px;color:var(--ink-2);padding:9px 4px 9px 18px;min-height:44px}
  .mobile-menu .mm-call{color:var(--navy);border-bottom:none;margin-top:10px}
  .mobile-menu .pill{margin-top:12px;justify-content:center}
  .mobile-cta{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;left:0;right:0;bottom:0;z-index:150;box-shadow:0 -6px 22px rgba(0,33,77,.18)}
  .mobile-cta a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 10px;font-family:var(--disp);font-weight:600;font-size:15.5px}
  .mobile-cta .mc-call{background:var(--navy-2);color:#fff}
  .mobile-cta .mc-sched{background:var(--gold);color:var(--navy)}
  body{padding-bottom:58px}
}

/* hero: copy card + photo card, then the quick quote bar */
.hero{background:var(--paper);padding:56px 0 0}
.hero > .wrap{padding-bottom:56px}
.hero.plain{padding:52px 0 0}
.hero.plain > .wrap{padding-bottom:48px}
.hgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero.nophoto .hgrid{grid-template-columns:1fr}
.hero.plain .hphoto{min-height:380px}
.hcopy{display:flex;flex-direction:column;justify-content:center;gap:20px}
.hero.plain .hcopy{max-width:820px}
.hcopy .sub{font-size:19px;color:var(--ink-2);max-width:52ch}
.hcopy .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hcopy .trust{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:4px;font-size:14.5px;color:var(--ink-2)}
.hcopy .trust span{display:inline-flex;align-items:center;gap:10px;line-height:1.3;font-weight:500}
.hcopy .trust .tile{width:30px;height:30px;border-radius:9px;background:var(--sky);display:flex;align-items:center;justify-content:center;color:var(--navy);flex:0 0 auto}
.hcopy .trust .ic{width:17px;height:17px;stroke-width:1.9}
.hphoto{position:relative;min-height:520px}
.hphoto .main{position:absolute;inset:0;border-radius:var(--r);overflow:hidden;background:var(--sky);box-shadow:var(--shadow)}
.hphoto .main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hphoto .inset{position:absolute;left:-36px;bottom:34px;width:36%;aspect-ratio:4/3;border-radius:18px;overflow:hidden;border:5px solid var(--paper);box-shadow:var(--shadow-lg);background:var(--sky)}
.hphoto .inset img{width:100%;height:100%;object-fit:cover}
.hphoto.has-inset{margin-left:36px}
.hphoto .chip{top:16px;bottom:auto}
.chip{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);background:rgba(255,255,255,.95);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:600;color:var(--navy);box-shadow:0 8px 24px rgba(0,33,77,.18);align-items:flex-start;line-height:1.35}
.chip .stars{color:var(--gold);letter-spacing:1px;font-size:13px;margin-right:6px}
.chip small{font-weight:500;color:var(--muted);font-size:12.5px}
.chip .ic{color:var(--gold-2)}
.hphoto .chip{left:auto;right:16px;z-index:2}
.answer-wrap{padding:22px 0}
.answer-wrap .wrap{padding:0}
.answer{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px 22px;display:flex;gap:16px;align-items:flex-start;font-size:15px;color:var(--ink-2);line-height:1.55;box-shadow:0 6px 20px rgba(0,33,77,.06)}
.answer .k{font-family:var(--disp);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap;padding:4px 10px;border-radius:8px;background:var(--gold-wash);margin-top:2px}
.answer p{max-width:none}
.answer .verified{font-size:13.5px;color:var(--ink);margin-top:6px}
.answer .verified::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;vertical-align:1px}
.answer > div{flex:1}
@media(max-width:960px){.hero{padding:36px 0 0}.hero > .wrap{padding-bottom:36px}.hgrid{grid-template-columns:1fr;gap:24px}.hphoto{min-height:0;height:auto;aspect-ratio:16/10;width:100%;max-width:100%}.hphoto.has-inset{margin-left:0;margin-bottom:0}.hphoto .inset{left:12px;bottom:12px;width:34%;border-width:3px;border-radius:12px}.hphoto .chip{top:12px;right:12px;padding:8px 10px;font-size:13px}.hphoto .chip small{display:none}.hero{padding:36px 0 40px}}
@media(max-width:480px){.hcopy .trust{flex-direction:column;gap:8px}}

/* forms */
.lead-form{position:relative;background:var(--paper);border-radius:var(--r-sm);padding:24px;display:flex;flex-direction:column;gap:11px;color:var(--ink)}
.lead-form.full{border:1px solid var(--line);padding:30px}
.lf-title{font-family:var(--disp);font-weight:600;font-size:21px;letter-spacing:-.015em;line-height:1.15;color:var(--navy)}
.lf-sub{font-size:14.5px;color:var(--muted);line-height:1.45;max-width:none}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.lead-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.lead-form label .opt{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;font-size:13px}
.lead-form .help{font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;color:var(--muted);line-height:1.4}
.lead-form input,.lead-form select,.lead-form textarea{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:13px 14px;width:100%;transition:.15s;appearance:none;-webkit-appearance:none}
.lead-form select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
.lead-form textarea{min-height:80px;resize:vertical}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,33,77,.12)}
.lead-form .lf-btn{justify-content:center;width:100%;margin-top:4px;border:none}
.lf-priv{font-size:12.5px;color:var(--muted);text-align:center;max-width:none;line-height:1.45}
.lf-priv a{text-decoration:underline}
.lf-fine{font-size:13px;color:var(--muted);text-align:center;max-width:none}
.lf-fine a{color:var(--navy);font-weight:600}
.lead-form label.file{position:relative}
.lead-form .file-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--line);border-radius:10px;padding:14px;background:var(--ground);font-family:var(--body);font-weight:500;font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink-2);cursor:pointer;min-height:48px}
.lead-form label.file:hover .file-btn{border-color:var(--navy)}
.lead-form label.file:focus-within .file-btn{outline:3px solid var(--gold);outline-offset:2px}
.lead-form .vh{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.lead-form .file-list{font-weight:400;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-2)}
.lead-form .file-list:empty{display:none}
.hp{position:absolute;left:-9970px;top:auto;width:1px;height:1px;overflow:hidden}
.lead-banner{margin:0 0 14px;padding:14px 16px;border-radius:10px;font-size:15px}
.lead-banner.err{background:var(--err-bg);color:var(--err);border:1px solid #F1C9C9}
@media(max-width:560px){.lf-grid{grid-template-columns:1fr}}
/* quick bar */
.quick-band{background:var(--navy);padding:16px 0}
.lead-form.quick{margin:0;background:transparent;color:#fff;border-radius:0;padding:0;display:grid;grid-template-columns:auto 1fr 1.15fr 1fr 1.25fr auto;gap:10px;align-items:center}
.lead-form.quick input,.lead-form.quick select{font-size:15px;padding:12px 12px}
.lead-form.quick select{padding-right:30px;background-position:calc(100% - 16px) 50%,calc(100% - 10px) 50%}
.lead-form.quick .lf-title{color:#fff;font-size:17px;padding-right:12px;border-right:1px solid rgba(255,255,255,.18);line-height:1.15}
.lead-form.quick .lf-title small{display:block;font-family:var(--body);font-weight:400;font-size:12.5px;color:var(--on-navy-mut);margin-top:3px;letter-spacing:0;text-transform:none}
.lead-form.quick label{gap:0}
.lead-form.quick label span.t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lead-form.quick input,.lead-form.quick select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
.lead-form.quick input::placeholder{color:var(--on-navy-mut)}
.lead-form.quick select{color:#fff;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.lead-form.quick select option{color:var(--ink)}
.lead-form.quick input:focus,.lead-form.quick select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,164,36,.25)}
.lead-form.quick .lf-btn{width:auto;margin:0;padding:14px 20px}
.lead-form.quick .lf-fine{grid-column:1/-1;text-align:left;color:var(--on-navy-mut);font-size:12.5px;margin-top:-2px}
.lead-form.quick .lf-fine a{color:#fff}
.lead-form.quick .cf-turnstile{grid-column:1/-1}
.lead-form.quick .cf-turnstile:empty{display:none}
@media(max-width:1000px){.lead-form.quick{grid-template-columns:1fr 1fr}.lead-form.quick .lf-title{grid-column:1/-1;border:none;padding:0}.lead-form.quick .lf-btn{grid-column:1/-1;width:100%}}
@media(max-width:560px){.lead-form.quick{grid-template-columns:1fr}}

/* breadcrumbs */
.crumbs{font-size:13.5px;color:var(--muted);padding:16px 0}
.crumbs .wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--navy)}
.crumbs [aria-current]{color:var(--navy);font-weight:600}

/* modules */
section.blk,.honest,.final,.from-blog{width:100%;margin:0;padding:76px 0;border-radius:0;position:relative}
section.blk > .wrap,.honest > .wrap,.final > .wrap,.from-blog > .wrap{width:min(var(--maxw),calc(100% - 40px));padding:0}
section.blk .wrap.narrow{max-width:860px}
section.blk,.blk.surf-paper,.surf-paper{background:var(--paper);box-shadow:none}
.blk.surf-sky,.surf-sky{background:var(--sky);box-shadow:none}
.blk.surf-navy,.surf-navy,.honest{background:var(--navy);color:#fff;box-shadow:none}
.surf-navy h2,.surf-navy h3,.honest h2,.honest h3{color:#fff}
.surf-navy p,.honest p{color:var(--on-navy)}
.surf-navy .eyebrow,.honest .eyebrow{color:#F3D48A}
.sec-head{max-width:66ch;display:flex;flex-direction:column;gap:10px}
.sec-head h2{margin:0}
.sec-head .lead{color:var(--ink-2);font-size:17.5px;line-height:1.6;margin:0}
.surf-navy .sec-head .lead{color:var(--on-navy)}
.sec-head + .cards,.sec-head + .steps,.sec-head + .tbl-wrap,.sec-head + .programs,.sec-head + .dl,.sec-head + .items,.sec-head + ul.checks,.sec-head + .revcards,.sec-head + .posts{margin-top:32px}
.mhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.mhead .lnk{margin-top:0}

/* cards */
.cards{display:grid;gap:16px}
.cards.cols-2{grid-template-columns:repeat(2,1fr)}.cards.cols-3{grid-template-columns:repeat(3,1fr)}.cards.cols-4{grid-template-columns:repeat(4,1fr)}
.cards.style-feature{grid-template-columns:repeat(3,1fr)}
.card{display:flex;flex-direction:column;background:var(--ground);border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;transition:.2s;position:relative}
.surf-sky .card{background:var(--paper);border-color:transparent}
.surf-navy .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.surf-navy .card h3{color:#fff}.surf-navy .card p{color:var(--on-navy-2)}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card .ph{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--sky)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
a.card:hover .ph img{transform:scale(1.04)}
.card .ph .ico{position:absolute;left:14px;top:14px;width:44px;height:44px;border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--navy);box-shadow:0 6px 18px rgba(0,33,77,.15)}
.card .ph .ico .ic{width:23px;height:23px;stroke-width:1.7}
.card .c{padding:22px 22px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:19px}
.card p{font-size:15.5px;color:var(--ink-2);line-height:1.55;max-width:none}
.card .go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:7px;font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--navy);border-bottom:2px solid var(--gold);align-self:flex-start;min-height:40px}
.cards.style-plain .card .c{padding-top:24px}
.cards.style-plain .card .ico-tile{width:44px;height:44px;border-radius:12px;background:var(--sky);display:flex;align-items:center;justify-content:center;color:var(--navy);margin-bottom:4px}
.surf-sky .cards.style-plain .card .ico-tile{background:var(--ground)}
.cards.style-plain .card .ico-tile .ic{width:23px;height:23px;stroke-width:1.7}
@media(max-width:960px){.cards.cols-4,.cards.cols-3,.cards.style-feature{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards.cols-2,.cards.cols-3,.cards.cols-4,.cards.style-feature{grid-template-columns:1fr}}

/* split layouts (text with image, points, areas) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.split.img-left .ph{order:-1}
.split .ph{border-radius:var(--r-sm);overflow:hidden;position:relative;background:var(--sky);min-height:280px;align-self:stretch;margin:0}
.split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .tx{align-self:center}
.split .tx .prose{margin-top:16px}
.prose p{color:var(--ink-2);font-size:16.5px;line-height:1.65;margin-bottom:14px}
.prose p:last-child{margin-bottom:0}
.prose b,.prose strong{color:var(--ink);font-weight:600}
.surf-navy .prose p{color:var(--on-navy)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:26px}.split.img-left .ph{order:0}.split .ph{aspect-ratio:16/10;min-height:0;max-height:none}}
.points-blk .split{align-items:stretch}
.items{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line-2)}
.item:first-child{border-top:none;padding-top:0}
.surf-sky .item{border-color:rgba(0,33,77,.10)}
.item .ico{width:44px;height:44px;border-radius:12px;background:var(--sky);display:flex;align-items:center;justify-content:center;color:var(--navy)}
.item .ico .ic{width:22px;height:22px;stroke-width:1.7}
.surf-sky .item .ico{background:var(--paper)}
.item h3{font-size:18px;margin-bottom:4px}
.item p{font-size:15.5px;color:var(--ink-2);max-width:none}
.items .note{margin-top:14px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat b{display:block;font-family:var(--disp);font-weight:600;font-size:38px;letter-spacing:-.025em;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.stat span{font-size:14px;color:var(--muted);display:block;margin-top:6px}
.surf-navy .stat b{color:#fff}.surf-navy .stat span{color:var(--on-navy-mut)}
.stats-blk{padding-top:44px;padding-bottom:44px}
.stats-blk .stats{gap:24px}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}}

/* steps */
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.steps-grid .ph{border-radius:var(--r-sm);overflow:hidden;position:sticky;top:100px}
.steps-grid .ph img{width:100%;aspect-ratio:4/4.3;object-fit:cover}
ol.steps{list-style:none;display:flex;flex-direction:column;margin-top:26px}
ol.steps li{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:0 0 24px;position:relative}
ol.steps li::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:var(--sky-2)}
.surf-paper ol.steps li::before{background:var(--line)}
ol.steps li:last-child::before{display:none}
ol.steps li:last-child{padding-bottom:0}
ol.steps .n{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
ol.steps .s{padding-top:8px}
ol.steps h3{font-size:18px;margin-bottom:3px}
ol.steps p{font-size:15.5px;color:var(--ink-2);max-width:none}
@media(max-width:900px){.steps-grid{grid-template-columns:1fr}.steps-grid .ph{position:static;order:-1}.steps-grid .ph img{aspect-ratio:16/10}}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper)}
.surf-sky .tbl-wrap{border-color:transparent}
table{width:100%;border-collapse:collapse;font-size:16px}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top}
thead th{background:var(--ground);font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
tbody th[scope=row]{font-weight:600;color:var(--navy);background:transparent}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:none}
@media(max-width:600px){
  .tbl-wrap{border:none;background:transparent;overflow:visible}
  .tbl-wrap table,.tbl-wrap tbody,.tbl-wrap tr,.tbl-wrap td,.tbl-wrap th{display:block;width:100%}
  .tbl-wrap thead{display:none}
  .tbl-wrap tr{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 18px;margin-bottom:12px}
  .tbl-wrap th[scope=row]{font-family:var(--disp);font-size:17px;padding:0 0 8px;border:none}
  .tbl-wrap td{padding:5px 0;border:none;font-size:15.5px}
  .tbl-wrap td::before{content:attr(data-label) ": ";font-weight:600;color:var(--ink)}
}

/* rebates */
.programs{display:grid;gap:16px}
.programs.cols-2{grid-template-columns:1fr 1fr}
.program{background:var(--sky);border-radius:var(--r-sm);padding:26px;display:flex;flex-direction:column;gap:12px}
.surf-sky .program{background:var(--paper)}
.program .top{display:flex;align-items:center;gap:12px}
.program .top .ico{width:42px;height:42px;border-radius:12px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--navy);flex:0 0 auto}
.surf-sky .program .top .ico{background:var(--sky)}
.program .top .ico .ic{width:22px;height:22px;stroke-width:1.7}
.program h3{font-size:20px;margin:0}
.program .amt{display:flex;gap:10px;flex-wrap:wrap}
.program .amt span{background:var(--gold-wash);border-radius:10px;padding:8px 12px;font-family:var(--disp);font-weight:600;color:var(--navy);font-size:15px;display:inline-flex;align-items:baseline;gap:6px}
.program .amt span small{font-family:var(--body);font-weight:400;color:var(--muted);font-size:12.5px}
.program p{font-size:15px;color:var(--ink-2);max-width:none}
.program .lnk{margin-top:auto;font-size:15px}
@media(max-width:760px){.programs.cols-2{grid-template-columns:1fr}}

/* checks and definition rows */
.checks-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
ul.checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}
ul.checks li{display:flex;gap:12px;align-items:flex-start;background:var(--ground);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:16px 18px;font-size:15.5px;color:var(--ink-2)}
.surf-sky ul.checks li{background:var(--paper);border-color:transparent}
ul.checks li .ic{color:var(--gold-2);margin-top:4px;width:20px;height:20px}
@media(max-width:900px){.checks-grid{grid-template-columns:1fr}ul.checks{grid-template-columns:1fr}}
.dl{display:flex;flex-direction:column;margin-top:26px}
.dl .r{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line-2)}
.dl .r:first-child{border-top:none}
.dl dt{font-family:var(--disp);font-weight:600;color:var(--navy)}
.dl dd{color:var(--ink-2);font-size:16px}
@media(max-width:600px){.dl .r{grid-template-columns:1fr;gap:4px}}

/* reviews */
.revs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.rate{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink-2);flex-wrap:wrap}
.rate .stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.rate .t b{font-family:var(--disp);font-size:22px;color:var(--navy);margin-right:4px}
.surf-navy .rate{color:var(--on-navy)}.surf-navy .rate .t b{color:#fff}
.rate .pill.ghost:not(.light){margin-left:6px}
.revcards{display:grid;gap:16px}
.revcards.cols-2{grid-template-columns:1fr 1fr}.revcards.cols-3{grid-template-columns:repeat(3,1fr)}
.revcards.scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:0 -4px;scrollbar-width:thin}
.revcards.scroller .revcard{flex:0 0 min(380px,85%);scroll-snap-align:start}
.revcards.masonry{grid-template-columns:repeat(3,1fr);align-items:start}
.revcard{background:var(--ground);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:24px;display:flex;flex-direction:column;gap:12px}
.surf-sky .revcard,.reviews-page .revcard{background:var(--paper);border-color:transparent}
.surf-navy .revcard{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.revcard .stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.revcard p{font-size:15.5px;line-height:1.55;color:var(--ink-2);flex:1;max-width:none}
.surf-navy .revcard p{color:var(--on-navy-2)}
.revcard p.clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;flex:0 0 auto}
.revcard .more{align-self:flex-start;background:none;border:none;color:var(--navy);font-family:var(--disp);font-weight:600;font-size:14px;cursor:pointer;padding:6px 0;min-height:40px;border-bottom:2px solid var(--gold)}
.surf-navy .revcard .more{color:#fff}
.revcard footer{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--muted)}
.revcard footer b{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--navy)}
.surf-navy .revcard footer{color:var(--on-navy-mut)}.surf-navy .revcard footer b{color:#fff}
@media(max-width:900px){.revcards.cols-3,.revcards.masonry{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.revcards.cols-2,.revcards.cols-3,.revcards.masonry{grid-template-columns:1fr}}
.write{width:100%;margin:0;padding:18px 0;text-align:center;font-size:14.5px;color:var(--muted);background:var(--paper)}
.write a{color:var(--navy);font-weight:600;text-decoration:underline}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters .chip{position:static;box-shadow:none;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:10px 16px;font-family:var(--disp);font-weight:600;font-size:14px;color:var(--ink-2);cursor:pointer;min-height:40px;display:inline-flex;align-items:center}
.filters .chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* honest scoping band */
.honest .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.honest h2{margin-top:12px;max-width:22ch}
.honest .prose p{color:var(--on-navy-2);font-size:18px;max-width:none}
.honest .links{display:flex;gap:22px;flex-wrap:wrap;margin-top:6px}
@media(max-width:900px){.honest .wrap{grid-template-columns:1fr;gap:20px}}

/* service area */
.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.towns a,.towns span{display:inline-flex;align-items:center;gap:7px;padding:11px 15px;background:var(--paper);border:1px solid var(--line);border-radius:100px;font-weight:600;font-size:14.5px;color:var(--navy);min-height:44px}
.surf-sky .towns a,.surf-sky .towns span{border-color:transparent}
.towns a:hover{border-color:var(--navy)}
.towns .ic{color:var(--gold-2)}
.towns-more{margin-top:14px;font-size:14.5px;color:var(--muted);max-width:none}
.areas-blk .ph .chip{flex-direction:row;align-items:center;gap:8px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start}
.sec-head.sticky{position:sticky;top:110px}
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.surf-sky .faq details,.surf-sky .faq details:last-child{border-color:rgba(0,33,77,.12)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-family:var(--disp);font-weight:600;font-size:18px;color:var(--navy);min-height:52px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{color:var(--gold-2);width:22px;height:22px;transition:.2s;flex:0 0 auto}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq .a{padding:0 0 18px;color:var(--ink-2);font-size:15.5px;max-width:60ch}
.faq .a p{margin-bottom:10px;max-width:none}.faq .a p:last-child{margin-bottom:0}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr;gap:16px}.sec-head.sticky{position:static}}

/* closing band */
.final{background:var(--navy);color:#fff}
.final-in{display:grid;grid-template-columns:1.3fr auto;gap:40px;align-items:center}
.final-in.has-form{grid-template-columns:1fr 1fr;align-items:start;gap:44px}
.final h2{color:#fff;margin-top:12px;max-width:20ch}
.final p{color:var(--on-navy);font-size:17.5px;margin-top:12px;max-width:52ch}
.final .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start;margin-top:22px}
.final .lead-form{color:var(--ink)}
.final .lead-form .lf-sub,.final .lead-form .lf-fine,.final .lead-form .lf-priv{color:var(--muted)}
.final .lead-form label{color:var(--ink-2)}
.final .lead-form p{color:inherit}
@media(max-width:900px){.final-in,.final-in.has-form{grid-template-columns:1fr;gap:26px}}

/* from the blog + post cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.post-card{background:var(--ground);border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.surf-sky .post-card,.surf-navy .post-card{background:var(--paper);border-color:transparent}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.post-card .thumb img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post-card .c{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card time{font-size:13px;color:var(--muted)}
.post-card h3{font-size:18px;line-height:1.25}
.post-card p{font-size:15px;color:var(--ink-2);max-width:none}
.post-card .lnk{margin-top:auto;padding-top:8px;font-size:15px}
.posts.filterable .post-card[hidden]{display:none}
@media(max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.posts{grid-template-columns:1fr}}
.pager{margin-top:28px;display:flex;gap:10px;justify-content:center}
.pager .page-numbers{padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font-weight:600;color:var(--ink-2)}
.pager .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* single post */
.post-head{width:100%;margin:0;background:var(--paper);border-radius:0;padding:34px 0 0;overflow:hidden}
.post-head > .wrap{width:min(var(--maxw),calc(100% - 40px))}
.post-head .crumbs .wrap{padding:0 0 14px}
.post-head-in{max-width:860px}
.post h1{max-width:22ch;margin-top:12px}
.post .meta{margin-top:14px;color:var(--muted);font-size:15px}
.post-hero{margin:28px 0 0;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.post-hero img{aspect-ratio:21/9;object-fit:cover;width:100%}
.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding-top:40px;padding-bottom:48px;align-items:start}
.post-main{min-width:0}
.post-body{margin:0 0 28px;font-size:17.5px;overflow-wrap:anywhere;min-width:0}
.post-body > p:first-child{font-size:20px;color:var(--ink);line-height:1.6}
.post-body h2{font-size:clamp(24px,2.8vw,32px);margin:40px 0 12px;scroll-margin-top:110px}
.post-body h3{font-size:21px;margin:28px 0 10px;scroll-margin-top:110px}
.post-body p,.post-body li{color:var(--ink-2);line-height:1.7;max-width:70ch}
.post-body ul,.post-body ol{margin:0 0 18px 22px}
.post-body li{margin-bottom:6px}
.post-body ul li::marker{color:var(--gold-2)}
.post-body a{color:var(--navy);text-decoration:underline}
.post-body img{border-radius:12px;margin:22px 0}
.post-body blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 20px;margin:24px 0;color:var(--ink);font-style:italic}
.post-body table{margin:20px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:16px;display:block;max-width:100%;overflow-x:auto}
.post-body table th{background:var(--ground);text-align:left}
.post-body pre,.post-body code{white-space:pre-wrap;overflow-wrap:anywhere}
.post-body iframe,.post-body video{max-width:100%}
.post-body [style*="width"]{max-width:100% !important}
.post-cta{background:var(--sky);border-radius:var(--r-sm);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.post-cta div{font-size:16.5px;color:var(--ink-2);max-width:50ch}
.post-cta b{color:var(--navy)}
.post-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:16px}
.post-side .fh{display:block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);margin-bottom:10px}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px 20px}
.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;padding:7px 0;font-size:14.5px;color:var(--ink-2);line-height:1.35;min-height:36px;align-items:center}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--disp);font-weight:600;font-size:11.5px;color:var(--gold-2);flex:0 0 22px;letter-spacing:.04em}
.toc a:hover{color:var(--navy)}
.side-card{background:var(--navy);color:#fff;border-radius:var(--r-sm);padding:22px 22px 20px;display:flex;flex-direction:column;gap:12px}
.side-card .fh{color:#F3D48A;margin-bottom:0}
.side-card p{color:var(--on-navy);font-size:15px;max-width:none}
.side-card .pill{justify-content:center}
.side-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:16px;color:#fff;min-height:44px}
.side-links{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px 20px;display:flex;flex-direction:column}
.side-links a{display:flex;align-items:center;min-height:40px;font-size:15px;color:var(--ink-2);border-top:1px solid var(--line-2);padding:4px 0}
.side-links a:first-of-type{border-top:none}
.side-links a:hover{color:var(--navy)}
@media(max-width:1000px){.post-grid{grid-template-columns:1fr;gap:28px}.post-side{position:static}.toc{order:-1}}
@media(max-width:768px){.post-head{padding:26px 0 0}.post-hero{margin:22px 0 0}.post-hero img{aspect-ratio:16/10}.post-grid{padding-top:28px}}

/* contact page */
.contact-blk .contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.contact-card .lead-form.full{background:var(--ground);border-color:transparent}
.surf-sky .contact-card .lead-form.full{background:var(--paper)}
.contact-side{background:var(--ground);border-radius:var(--r-sm);padding:28px;display:flex;flex-direction:column;gap:12px}
.surf-sky .contact-side{background:var(--paper)}
.contact-side h2{font-size:24px}
.contact-side .big{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:26px;color:var(--navy);min-height:44px}
.contact-side p{max-width:none;color:var(--ink-2)}
.contact-side .map{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:var(--sky)}
.contact-side .map iframe{width:100%;height:100%;border:0;display:block}
.contact-side .small{font-size:14px;color:var(--muted)}
.contact-side .lnk{margin-top:4px}
@media(max-width:900px){.contact-blk .contact-grid{grid-template-columns:1fr}}

/* reviews page */
.reviews-page .revs-head{margin-bottom:22px}
.rate.big .t{font-size:16px}

/* footer */
.site-footer{background:var(--navy-3);color:var(--on-navy);margin-top:0;border-radius:0}
.site-footer .wrap{padding:56px 24px 28px}
.ftop{display:grid;grid-template-columns:1.4fr 1fr 1fr .9fr 1fr 1.1fr;gap:28px;padding-bottom:30px;border-bottom:1px solid var(--on-navy-line)}
.fbrand .logo{height:54px;width:auto}
.fbrand .tag{margin-top:14px;font-size:14.5px;color:var(--on-navy-mut);max-width:30ch;line-height:1.55}
.frate{margin-top:14px;font-size:14px;color:var(--on-navy)}
.frate .stars{color:var(--gold);letter-spacing:1px;margin-right:6px}
.fsocial{margin-top:10px;display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13.5px}
.fsocial a{color:#F3D48A;font-weight:600;display:inline-block;padding:10px 0}
.site-footer .fh{display:block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.site-footer .col a{display:flex;align-items:center;min-height:40px;font-size:15px;color:var(--on-navy);padding:2px 0}
.site-footer .col a:hover{color:#fff}
.site-footer .col p{font-size:14.5px;color:var(--on-navy);margin-top:6px;max-width:none}
.site-footer .col.contact .big{font-family:var(--disp);font-weight:600;font-size:22px;color:#fff;margin-bottom:6px}
.fbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:20px;font-size:13px;color:#8FA3C4}
.fbot a{color:var(--on-navy);display:inline-block;padding:8px 0}
@media(max-width:1100px){.ftop{grid-template-columns:1fr 1fr 1fr}.fbrand{grid-column:1/-1}}
@media(max-width:560px){.ftop{grid-template-columns:1fr}}

/* mobile rhythm */
@media(max-width:768px){
  :root{--r:20px;--gap:16px}
  section.blk,.honest,.final,.from-blog{padding:48px 0}
  .hero{padding:28px 0 0}.hero > .wrap{padding-bottom:28px}
  .mhead,.revs-head{margin-bottom:22px}
  .sec-head + .cards,.sec-head + .steps,.sec-head + .tbl-wrap,.sec-head + .programs,.sec-head + .dl,.sec-head + .items,.sec-head + ul.checks,.sec-head + .revcards,.sec-head + .posts{margin-top:22px}
  .hero{padding-top:14px}
  .hcopy .trust{flex-direction:column;gap:8px}
  .lead-form.quick{padding:16px}
  ol.steps li{padding-bottom:18px}
}

/* header and footer share the module frame */
.util .wrap,.nav.wrap,.site-footer .wrap{width:min(var(--maxw),calc(100% - 40px))}
.site-footer .wrap{padding:56px 0 28px}
.mega{padding:14px 20px}
@media(max-width:768px){.wrap,section.blk > .wrap,.honest > .wrap,.final > .wrap,.from-blog > .wrap,.post-head > .wrap{width:calc(100% - 32px)}.util .wrap,.nav.wrap,.site-footer .wrap{width:calc(100% - 32px)}}

.revcards{overflow:visible}
.revcards.scroller{overflow-x:auto}
.revs-head .rate{margin-left:auto}

/* the generic .split helper must never lay out the hero section itself */
.hero.split{display:block;gap:0}

/* WordPress screen-reader-only text (pagination heading etc.) */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cards.cols-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.cards.cols-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.cards.cols-5{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cards.cols-5{grid-template-columns:1fr}}

/* points without a photo: heading left, line items right */
.points-blk .split.heads{grid-template-columns:1fr 1.4fr;align-items:start}
.points-blk .tx.sticky{position:sticky;top:110px}
@media(max-width:900px){.points-blk .split.heads{grid-template-columns:1fr}.points-blk .tx.sticky{position:static}}

/* long guides: article treatment */
.guide .post-head-in .sub{margin-top:14px;font-size:19px;color:var(--ink-2);max-width:60ch}
.guide .lede{font-size:21px;line-height:1.55;color:var(--ink);margin:0 0 26px;padding-left:20px;border-left:3px solid var(--gold);max-width:70ch}
.guide .chapters h2{display:flex;align-items:baseline;gap:14px;margin:48px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.guide .chapters h2 .num{font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.08em;color:var(--gold-2);flex:0 0 auto;padding-bottom:2px}
.guide .chapters h2:first-child{margin-top:0;padding-top:0;border-top:none}
.guide .chapters p{font-size:17.5px;line-height:1.7;color:var(--ink-2);max-width:70ch;margin-bottom:14px}
.guide .chapters p b{color:var(--ink);font-weight:600}
.guide .fig{margin:8px 0 22px;border-radius:var(--r-sm);overflow:hidden}
.guide .fig img{width:100%;height:auto}
.guide .chapters .tbl-wrap{margin:8px 0 24px}
.guide .chapters .lnk{margin:4px 0 8px}
.guide .post-hero img{aspect-ratio:21/9}
@media(max-width:768px){.guide .lede{font-size:18.5px}.guide .chapters h2{margin-top:36px;padding-top:20px}}

/* compact city list rows */
.cards.style-list{grid-template-columns:1fr 1fr;gap:12px}
.card.row{flex-direction:row;align-items:center;gap:0;background:var(--paper);border-color:transparent}
.surf-paper .card.row{background:var(--ground)}
.card.row .ph{width:132px;aspect-ratio:4/3;flex:0 0 auto}
.card.row .ph .ico{display:none}
.card.row .c{padding:14px 18px;flex-direction:row;align-items:center;gap:12px}
.card.row h3{font-size:18px;margin:0}
.card.row .cap{font-size:13.5px;color:var(--muted);margin-left:auto;text-align:right}
.card.row .go-ic{width:34px;height:34px;border-radius:50%;background:var(--sky);display:flex;align-items:center;justify-content:center;color:var(--navy);flex:0 0 auto}
.card.row .go-ic .ic{width:16px;height:16px}
@media(max-width:760px){.cards.style-list{grid-template-columns:1fr}.card.row .cap{display:none}}
/* steps without photo: heading left, steps right */
.steps-grid.heads{grid-template-columns:1fr 1.4fr}
.steps-grid.heads .tx.sticky{position:sticky;top:110px}
@media(max-width:900px){.steps-grid.heads{grid-template-columns:1fr}.steps-grid.heads .tx.sticky{position:static}}
/* contact: white form on the sky band, navy contact card */
.contact-blk .contact-card .lead-form.full{background:var(--paper);border-color:transparent}
.contact-side,.surf-sky .contact-side,.surf-paper .contact-side{background:var(--navy);color:#fff}
.contact-side h2,.contact-side .big{color:#fff}
.contact-side p,.contact-side .small{color:var(--on-navy)}
.contact-side a{color:#fff}
.contact-side .lnk{color:#fff;border-color:var(--gold)}

/* tables: heading left, table right */
.table-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;align-items:start}
.table-grid .tx.sticky{position:sticky;top:110px}
.table-grid .tbl-wrap{margin:0}
@media(max-width:900px){.table-grid{grid-template-columns:1fr;gap:20px}.table-grid .tx.sticky{position:static}}

/* article bodies sit on a white band; side cards and tables take the ground tone */
.post-band{background:var(--paper)}
.post-band .toc,.post-band .side-links{background:var(--ground);border-color:transparent}
.post-band .tbl-wrap{background:transparent;border:none;border-radius:0;overflow-x:auto}
.post-band table{font-size:16px}
.post-band thead th{background:var(--sky);border-bottom:none}
.post-band thead th:first-child{border-radius:10px 0 0 10px}.post-band thead th:last-child{border-radius:0 10px 10px 0}
.post-band th,.post-band td{padding:14px 14px;border-bottom:1px solid var(--line-2)}
.post-band tbody tr:last-child td,.post-band tbody tr:last-child th{border-bottom:none}
.post-band .post-cta{background:var(--sky)}
.prose h3{margin:26px 0 8px;font-size:20px}
.guide .chapters h3{margin:24px 0 8px}

/* closing band with a form: the left column carries the three steps so the two sides match */
.final-steps{list-style:none;display:flex;flex-direction:column;gap:4px;margin-top:22px}
.final-steps li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--on-navy-line)}
.final-steps li:first-child{border-top:none;padding-top:0}
.final-steps .n{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:600;font-size:15px}
.final-steps b{display:block;color:#fff;font-weight:600;font-size:17px;margin-bottom:2px}
.final-steps p{margin:0;font-size:15px;color:var(--on-navy);max-width:none}
.final-in.has-form{align-items:center}
/* sub-headings inside long bodies read as headings */
.post-body h3,.prose h3{font-weight:600;color:var(--navy);font-size:21px;margin:28px 0 8px}
.guide .chapters h3{font-size:20px}

/* header: logo never shrinks; nav items may wrap tighter first */
.nav .brand{flex:0 0 auto}
.brand .logo{height:54px;width:auto;max-width:none;flex:0 0 auto}
.navr{flex:0 0 auto}
@media(max-width:1250px){.navlinks > a,.navlinks .has-sub > a{padding:10px 8px;font-size:15px}.nav{gap:10px}}
/* heading-left layouts: heading pinned to the top, the right column scrolls */
.split.heads .tx,.points-blk .split.heads .tx,.steps-grid.heads .tx.sticky,.table-grid .tx.sticky{align-self:start}
.split.heads{align-items:start}

@media(max-width:960px){.hero.plain .hphoto{min-height:0}}

/* post grids fill their last row: a six-track grid lets 2 leftovers take half each and 1 leftover take the row */
.posts{grid-template-columns:repeat(6,1fr)}
.posts > .post-card{grid-column:span 2}
.posts > .post-card:nth-child(3n+1):nth-last-child(2),.posts > .post-card:nth-child(3n+2):last-child{grid-column:span 3}
.posts > .post-card:nth-child(3n+1):last-child{grid-column:span 6;flex-direction:row;align-items:stretch}
.posts > .post-card:nth-child(3n+1):last-child .thumb{flex:0 0 42%;position:relative;min-height:260px;max-height:320px}
.posts > .post-card:nth-child(3n+1):last-child .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.posts > .post-card:nth-child(3n+1):last-child .c{justify-content:center;padding:28px 32px}
@media(max-width:900px){.posts{grid-template-columns:repeat(2,1fr)}.posts > .post-card,.posts > .post-card:nth-child(3n+1):nth-last-child(2),.posts > .post-card:nth-child(3n+2):last-child,.posts > .post-card:nth-child(3n+1):last-child{grid-column:span 1;flex-direction:column}.posts > .post-card:nth-child(3n+1):last-child .thumb{flex:none}.posts > .post-card:nth-child(3n+1):last-child .thumb img{aspect-ratio:16/10;min-height:0}}
@media(max-width:600px){.posts{grid-template-columns:1fr}}

/* article tables: real tables, full width, no outer box */
.post-body table,.guide .chapters table{display:table;width:100%;border:none;border-radius:0;overflow:visible}
.post-body .tbl-wrap,.guide .chapters .tbl-wrap{overflow-x:auto;border:none;background:transparent}

/* buttons on navy surfaces are always gold */
.surf-navy .pill.solid,.final .pill.solid,.honest .pill.solid,.side-card .pill.solid,.quick-band .pill.solid{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.surf-navy .pill.solid:hover,.final .pill.solid:hover,.side-card .pill.solid:hover{background:#EAB23A;border-color:#EAB23A}

/* split photos grow with their text and stay centered when the text runs past the cap */
.split .tx{align-self:center}
.points-blk .split.img-left .ph{align-self:stretch}
