/* Source: styles.css */
/* averbrook.com, stylesheet v2.
   One file, no build step. Two web font families (Newsreader for display,
   Instrument Sans for everything else), both with local fallbacks so the
   page reads correctly before they arrive. Navy #14324a is the brand and
   does not move. Every class name from the first stylesheet still works;
   v2 restyles them and adds the header, hero, diagram and matrix classes.
   Contrast ratios computed 2026-09-02: brass text #7d6230 on paper 5.31,
   on white 5.73; muted #5b6b7c on paper 5.06; navy on paper 12.27;
   footer text #c3d0dc on navy 8.44; brass-light #d4b56a on navy 6.70. */

:root{
  --navy:#14324a;
  --navy-deep:#0e2436;
  --navy-wash:#e9eef2;
  --navy-tint:rgba(20,50,74,.06);
  --ink:#16202c;
  --slate:#33414f;
  --muted:#5b6b7c;
  --brass:#7d6230;
  --brass-rule:#b08d47;
  --brass-light:#d4b56a;
  --paper:#f8f6f1;
  --paper-2:#f1ede4;
  --bg:var(--paper);
  --card:#ffffff;
  --line:#e2ddd2;
  --line-strong:#cfc8ba;
  --foot-text:#c3d0dc;
  --foot-link:#ffffff;
  --radius:10px;
  --radius-sm:8px;
  --serif:"Newsreader","Newsreader Fallback",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --header-h:64px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* Georgia, cut to Newsreader's metrics, so the page does not reflow when the
   web font arrives. size-adjust matches x-height; the ascent and descent
   overrides hold the line box still. */
@font-face{
  font-family:"Newsreader Fallback";
  src:local("Georgia"),local("Times New Roman"),local("Times");
  size-adjust:103%;
  ascent-override:96%;
  descent-override:24%;
  line-gap-override:0%;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  font:17px/1.6 var(--sans);
  color:var(--ink);
  background:var(--bg);
  font-feature-settings:"kern","liga";
}
img,svg{max-width:100%}
svg{display:block}
[hidden]{display:none!important}

/* ---------- type ---------- */
h1,h2,h3{
  font-family:var(--serif);
  font-optical-sizing:auto;
  font-weight:500;
  color:var(--navy);
  line-height:1.12;
  letter-spacing:-.008em;
  margin:0 0 16px;
}
h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.06}
h2{font-size:clamp(1.65rem,3.2vw,2.25rem)}
h3{font-size:1.3rem;letter-spacing:-.006em;line-height:1.25}
p{margin:0 0 16px}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:.16em}
a:hover{color:var(--navy-deep)}
strong{font-weight:600}
small{font-size:.875em}
.lead{font-size:1.2rem;line-height:1.5;color:var(--slate)}

:focus-visible{outline:2px solid var(--brass-rule);outline-offset:3px;border-radius:4px}
.btn:focus-visible,.site-nav a.cta:focus-visible{outline-offset:3px}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
/* the reading column starts at the page gutter, not centred inside it, so the
   h1 above it and the text below it share one left edge */
.wrap.narrow{max-width:1120px}
.wrap.narrow > *{max-width:732px}

.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600}
.skip:focus{top:12px;color:#fff}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(248,246,241,.92);
  border-bottom:1px solid var(--line);
}
@supports (backdrop-filter:blur(12px)) or (-webkit-backdrop-filter:blur(12px)){
  .site-header{background:rgba(248,246,241,.78);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}
}
.site-header .wrap{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;min-height:var(--header-h);padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}
.mark{
  width:36px;height:36px;border-radius:8px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font:500 22px/1 var(--serif);flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.brand-name{font:500 1.375rem/1 var(--serif);color:var(--navy);letter-spacing:.01em}
.site-nav{display:flex;align-items:center;gap:4px 26px;flex-wrap:wrap}
.site-nav a{
  text-decoration:none;color:var(--slate);font-size:.94rem;font-weight:500;
  padding:8px 0;position:relative;
}
.site-nav a:hover{color:var(--navy)}
.site-nav a[aria-current="page"]{color:var(--navy)}
.site-nav a[aria-current="page"]:not(.cta)::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--brass-rule);border-radius:2px;
}
.site-nav a.cta{background:var(--navy);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;line-height:1.1}
.site-nav a.cta:hover{background:var(--navy-deep)}
.nav-toggle{
  display:none;align-items:center;gap:8px;
  background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  color:var(--navy);font:600 .94rem var(--sans);padding:9px 12px;cursor:pointer;
}
.nav-toggle svg{width:18px;height:18px}
.nav-toggle .ico-close{display:none}
.nav-toggle[aria-expanded="true"] .ico-open{display:none}
.nav-toggle[aria-expanded="true"] .ico-close{display:block}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--navy);color:#fff;text-decoration:none;
  font-weight:600;font-size:1rem;line-height:1.2;padding:14px 26px;border-radius:var(--radius-sm);
  transition:background .2s var(--ease),transform .2s var(--ease);
}
.btn:hover{background:var(--navy-deep);color:#fff}
.btn:active{transform:translateY(1px)}
.btn.secondary{background:transparent;color:var(--navy);border:1.5px solid var(--navy);padding:12.5px 24.5px}
.btn.secondary:hover{background:var(--navy-tint)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ---------- hero (home) ---------- */
.hero{position:relative;overflow:hidden;padding:72px 0 56px;border-bottom:1px solid var(--line);background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;align-items:center}
.hero .kicker{margin-bottom:18px}
.hero h1{
  margin-bottom:22px;font-size:clamp(2.4rem,4.6vw,3.9rem);
  letter-spacing:-.02em;line-height:1.02;text-wrap:balance;max-width:12ch;
}
.hero .lead{font-size:1.25rem;max-width:34em;margin-bottom:28px}
.hero-note{font-size:.95rem;color:var(--muted);margin:18px 0 0}
.hero-mark{
  position:absolute;right:max(-40px,calc(50% - 760px));top:-40px;width:min(56vw,620px);height:auto;
  pointer-events:none;user-select:none;
}
.hero-mark text{font:500 620px/1 var(--serif);fill:none;stroke:var(--navy);stroke-opacity:.16;stroke-width:1}
.hero-figure{position:relative;z-index:1;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 18px}
.hero-figure figcaption{font-size:.9rem;color:var(--muted);margin-top:8px;line-height:1.45}
.fee-chart{width:100%;height:auto}
.fee-chart .axis{fill:none;stroke:var(--navy);stroke-opacity:.35;stroke-width:1}
.fee-chart .gridlines{display:none}
.fee-chart .gap{fill:var(--navy);fill-opacity:.05;stroke:none}
.fee-chart .pct{fill:none;stroke:var(--navy);stroke-width:2.5;stroke-linecap:round}
.fee-chart .flat{fill:none;stroke:var(--brass-rule);stroke-width:4;stroke-linecap:round}
.fee-chart .dot-pct{fill:var(--navy)}
.fee-chart .dot-flat{fill:var(--brass-rule);stroke:#fff;stroke-width:2}
.fee-chart .lbl{font:500 19px var(--sans);fill:var(--slate)}
.fee-chart .lbl-flat{fill:var(--brass)}
.fee-chart .lbl-price{font:600 19px var(--sans);fill:var(--navy)}
.fee-chart .lbl-axis{font:600 14px var(--sans);fill:var(--muted);letter-spacing:.12em;text-transform:uppercase}

.trust-strip{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);border-left:0;border-right:0;border-radius:0;background:transparent;overflow:hidden;
}
.trust-strip li{display:flex;align-items:center;gap:12px;padding:20px 20px 20px 0;border-left:1px solid var(--line);font-size:.92rem;font-weight:500;color:var(--slate)}
.trust-strip li:first-child{border-left:0}
.trust-strip li:not(:first-child){padding-left:20px}
.trust-strip svg{width:22px;height:22px;flex:0 0 auto;color:var(--brass)}
.trust-band{padding:0;background:var(--paper)}

/* ---------- sections ---------- */
section.band{padding:72px 0}
section.band.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.band.alt + section.band.alt{border-top:0}
.band .btn-row{margin-top:8px}
.kicker{
  font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);margin:0 0 12px;display:flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:22px;height:1.5px;background:var(--brass-rule);flex:0 0 auto}
.section-head{max-width:720px;margin-bottom:36px}
.section-head h2{margin-bottom:10px}
.section-head p{color:var(--slate);font-size:1.08rem;margin:0}

/* ---------- cards ---------- */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.card:hover{border-color:var(--line-strong)}
.card h3{margin:0 0 10px}
.card p{color:var(--slate);font-size:1rem}
.card p:last-child{margin-bottom:0}
.card-num{
  position:absolute;top:18px;right:22px;font:400 2.6rem/1 var(--serif);color:var(--navy);opacity:.14;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.card.numbered{padding-top:34px;align-self:start}

/* one ruled row, not two half-empty cards */
.also-row{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.also-item{padding:28px 36px 28px 0}
.also-item + .also-item{border-left:1px solid var(--line);padding-left:36px}
.also-item h3{margin:0 0 8px}
.also-item p{color:var(--slate);font-size:1rem;margin:0}

/* price cards */
.price-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 32px 30px;display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.price-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--brass-rule)}
.price-card .tier{font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.price-card .amount{
  font:500 3.5rem/1 var(--serif);color:var(--navy);margin:14px 0 6px;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.price-card .amount small{font-size:1rem;color:var(--muted);font-family:var(--sans);font-weight:500;letter-spacing:0;margin-left:6px}
.price-card ul{margin:18px 0 26px;padding:0;list-style:none}
.price-card li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--paper-2);font-size:.98rem;color:var(--slate)}
.price-card li:last-child{border-bottom:none}
.price-card li::before{
  content:"";position:absolute;left:3px;top:18px;width:12px;height:7px;
  border-left:2px solid var(--brass-rule);border-bottom:2px solid var(--brass-rule);transform:rotate(-45deg);
}
.price-card .btn{margin-top:auto;text-align:center}
.price-note{font-size:.95rem;color:var(--muted);margin:22px 0 0}

/* ---------- five-step flow diagram ---------- */
.flow-band{padding-top:56px;padding-bottom:8px}
.flow-band + .band{padding-top:24px}
.flow-band + .band ol.steps{margin-top:8px}
.flow{list-style:none;margin:32px 0 8px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:flow}
.flow-step{position:relative;text-align:center;padding:0 6px}
.flow-node{
  position:relative;z-index:1;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  background:var(--card);border:1.5px solid var(--navy);color:var(--navy);
  display:flex;align-items:center;justify-content:center;
}
.flow-node svg{width:28px;height:28px}
.flow-num{
  position:absolute;top:-6px;right:-4px;width:24px;height:24px;border-radius:50%;
  background:var(--navy);color:#fff;font:500 .82rem/24px var(--serif);text-align:center;
  box-shadow:0 0 0 2px var(--card);
}
.flow-label{
  display:flex;align-items:flex-end;justify-content:center;min-height:2.5em;
  font-family:var(--serif);font-size:1.08rem;font-weight:500;color:var(--navy);line-height:1.25;
}
.flow-sub{display:block;font-size:.88rem;color:var(--muted);margin-top:4px}
.flow-step:not(:last-child)::after{
  content:"";position:absolute;top:32px;left:calc(50% + 38px);right:calc(-50% + 38px);
  border-top:1.5px dashed var(--line-strong);
}
.flow-step:last-child .flow-node{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- comparison matrix ---------- */
table.compare{min-width:560px}
table.compare thead th{background:var(--paper);vertical-align:bottom;padding:18px 18px 14px;border-bottom:1.5px solid var(--line-strong)}
table.compare thead th:first-child{font:500 1rem var(--serif);letter-spacing:0;text-transform:none;color:var(--muted)}
table.compare th .pkg{display:block;font:500 1.15rem/1.2 var(--serif);color:var(--navy);letter-spacing:-.01em}
table.compare th .pkg-price{display:block;font:500 1.45rem/1.2 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums;margin-top:4px}
table.compare th.pkg-col,table.compare td.pkg-col{text-align:center;width:24%}
table.compare td{color:var(--slate);vertical-align:middle;padding:14px 18px}
table.compare td:first-child{color:var(--ink);font-weight:500}
table.compare .yes,table.compare .no{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;vertical-align:middle}
table.compare .yes{color:var(--brass);background:rgba(176,141,71,.14)}
table.compare .yes svg{width:14px;height:14px}
table.compare .no{color:var(--muted)}
table.compare .no svg{width:14px;height:14px}
table.compare .cell-note{display:block;font-size:.92rem;color:var(--slate);text-align:center;line-height:1.35}
table.compare tfoot td{background:var(--paper);font-size:.92rem;color:var(--muted);border-bottom:0}

/* ---------- tables ---------- */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.98rem;min-width:480px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}
th{background:var(--paper);color:var(--navy);font-weight:600;white-space:nowrap;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}
tr:last-child td{border-bottom:none}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.num{font-family:var(--serif);font-size:1.08rem;color:var(--navy);font-weight:500}

/* ---------- coverage: county tiles and footprint map ---------- */
.county-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:18px 0 8px;padding:0;list-style:none}
.county-grid li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 18px;font-size:.95rem;color:var(--muted);line-height:1.4}
.county-grid li strong{display:block;color:var(--navy);font-family:var(--serif);font-size:1.12rem;font-weight:500}

.footprint-band{padding-top:48px;padding-bottom:24px}
.footprint-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:18px 12px 8px}
.footprint{width:100%;min-width:600px;height:auto;margin:0 auto}
.footprint .land{fill:var(--paper-2);stroke:none}
.footprint .land-li{fill:#efe9db}
.footprint .water{fill:none;stroke:#cfd9e2;stroke-opacity:1;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.footprint .shore{fill:none;stroke:#cfd9e2;stroke-opacity:1;stroke-width:3;stroke-dasharray:none;stroke-linecap:round}
.footprint .tile{fill:#fff;stroke:var(--navy);stroke-width:1.2}
.footprint .tile-li{fill:#fffdf7}
.footprint .tile-nyc{fill:#e6edf3}
.footprint .tile-hv{fill:#ffffff}
.footprint .county{font:500 14px var(--serif);fill:var(--navy)}
.footprint .sub{font:500 11px var(--sans);fill:var(--muted)}
.footprint .region{font:600 11px var(--sans);fill:var(--brass);letter-spacing:.16em;text-transform:uppercase}
.footprint .river-lbl{font:italic 400 12px var(--serif);fill:var(--muted)}
.scroll-hint{display:none;font-size:.86rem;color:var(--muted);margin:0 0 10px}

/* ---------- prose pages and learn ---------- */
/* same rule as .wrap.narrow: the article column starts at the page gutter so
   the h1 above it and the first paragraph share one left edge */
.wrap.prose{max-width:1120px}
.wrap.prose > *{max-width:672px}
.prose{max-width:720px}
.prose > p,.prose li{font-size:1.06rem;line-height:1.7}
.prose h2{margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.prose h3{margin-top:30px}
.prose ul{padding-left:22px}
.prose li{margin-bottom:10px}
.byline{
  font-size:.92rem;color:var(--muted);margin:-4px 0 30px;padding-bottom:16px;
  border-bottom:1px solid var(--line);letter-spacing:.02em;
}
.note{
  background:transparent;border:0;border-left:3px solid var(--brass-rule);border-radius:0;
  padding:6px 0 6px 20px;font-size:1rem;color:var(--slate);
}
.prose .note{margin-top:30px}
.prose .byline + h2{border-top:0;padding-top:0;margin-top:8px}

[data-page="learn-index"] .grid{display:block;max-width:820px}
[data-page="learn-index"] .card{
  border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:28px 0 28px 64px;
  counter-increment:learn;
}
[data-page="learn-index"] .card:last-child{border-bottom:1px solid var(--line)}
[data-page="learn-index"] .card::before{
  content:counter(learn,decimal-leading-zero);position:absolute;left:0;top:30px;
  font:400 1.1rem/1 var(--serif);color:var(--brass);letter-spacing:.04em;
}
[data-page="learn-index"] .grid{counter-reset:learn}
[data-page="learn-index"] .card h3{font-size:1.55rem;margin-bottom:8px}
[data-page="learn-index"] .card h3 a{text-decoration:none}
[data-page="learn-index"] .card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
[data-page="learn-index"] .card:hover{transform:none}

.learn-list{list-style:none;margin:0;padding:0;max-width:820px;counter-reset:learn}
.learn-row{position:relative;border-top:1px solid var(--line);padding:28px 0 28px 64px;counter-increment:learn}
.learn-row:last-child{border-bottom:1px solid var(--line)}
.learn-row::before{content:counter(learn,decimal-leading-zero);position:absolute;left:0;top:30px;font:400 1.1rem/1 var(--serif);color:var(--brass);letter-spacing:.04em}
.learn-row h3{font-size:1.55rem;margin-bottom:8px}
.learn-row h3 a{text-decoration:none}
.learn-row h3 a:hover{text-decoration:underline}
.learn-row p{color:var(--slate);margin:0}

/* ---------- page head band ---------- */
.page-head{position:relative;background:var(--paper);border-bottom:1px solid var(--line);padding:64px 0 44px}
.page-head .wrap{position:relative}
.page-head h1{max-width:20ch}
.page-head h1::before{content:"";display:block;width:36px;height:2px;background:var(--brass-rule);margin-bottom:22px}
.page-head p.lead{font-size:1.2rem;color:var(--slate);max-width:36em;margin-bottom:0}
[data-page="learn-article"] .page-head h1,[data-page="learn"] .page-head h1{font-size:clamp(2rem,4.2vw,3rem);max-width:24ch}

/* ---------- steps (detailed, kept) ---------- */
ol.steps{list-style:none;counter-reset:step;margin:28px 0;padding:0}
ol.steps li{counter-increment:step;position:relative;padding:0 0 34px 72px}
ol.steps li::before{
  content:counter(step);position:absolute;left:0;top:-2px;width:48px;height:48px;border-radius:50%;
  background:var(--card);border:1.5px solid var(--navy);color:var(--navy);
  display:flex;align-items:center;justify-content:center;font:500 1.25rem/1 var(--serif);
}
ol.steps li:not(:last-child)::after{content:"";position:absolute;left:23px;top:52px;bottom:6px;width:0;border-left:1.5px dashed var(--line-strong)}
ol.steps h3{margin-bottom:8px}
ol.steps p{color:var(--slate);margin-bottom:0}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:var(--foot-text);margin-top:0;padding:56px 0 36px;font-size:.92rem}
.site-footer a{color:var(--foot-link)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:32px 48px;align-items:start}
.site-footer .foot-top{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.site-footer .mark{width:34px;height:34px;font-size:20px;background:#fff;color:var(--navy);box-shadow:none}
.site-footer .foot-name{font:500 1.25rem/1 var(--serif);color:#fff;letter-spacing:.01em}
.foot-tag{color:var(--foot-text);max-width:34em;margin:0 0 24px}
.foot-nav{display:block;columns:2;gap:24px;margin:0;padding:0}
.foot-nav a{display:block;margin-bottom:10px;text-decoration:none;color:var(--foot-text)}
.foot-nav a:hover{color:#fff}
.foot-head{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-light);margin:4px 0 14px}
.disclosure{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.16);padding-top:22px;margin-top:8px;line-height:1.7}
.disclosure p{margin:0 0 8px}
.disclosure strong{color:#fff;font-weight:600}
.disclosure .fine{font-size:.84rem;color:var(--foot-text)}

/* ---------- reveal on scroll (JS only, motion-safe) ---------- */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn,.card{transition:none}
}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-figure{max-width:560px}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .trust-strip li:nth-child(odd){border-left:0}
  .trust-strip li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:860px){
  .js .nav-toggle{display:inline-flex}
  .js .site-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--card);border-bottom:1px solid var(--line);padding:8px 24px 18px;
    box-shadow:0 18px 30px -24px rgba(20,50,74,.35);
  }
  .js .site-nav{z-index:1}
  .js .site-nav.open{display:flex}
  /* the scrim behind the open drawer. It hangs off body, not off the nav: the
     header's backdrop-filter makes the header a containing block and its own
     paint surface, so nothing drawn inside it reaches the page below.
     z-index sits under the header's 50 so the drawer stays crisp, and
     pointer-events:none keeps tap-outside-to-close working. */
  .js body:has(.site-nav.open)::after{
    content:"";position:fixed;inset:var(--header-h) 0 0 0;
    background:rgba(20,50,74,.18);z-index:40;pointer-events:none;
  }
  .js .site-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .js .site-nav a[aria-current="page"]:not(.cta)::after{display:none}
  .js .site-nav a[aria-current="page"]{padding-left:14px;border-left:2px solid var(--brass-rule)}
  .js .site-nav a.cta{margin-top:14px;text-align:center;border-bottom:0;padding:14px 18px}
  .flow{grid-template-columns:1fr;gap:0;max-width:520px;margin-left:0}
  .flow-step{text-align:left;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;gap:0 18px;align-items:center;padding:0 0 26px}
  .flow-node{margin:0;grid-row:1 / span 2;align-self:center}
  .flow-label{grid-column:2;align-self:end;display:block;min-height:0}
  .flow-sub{grid-column:2;align-self:start}
  .flow-step:not(:last-child)::after{top:64px;bottom:-4px;left:31px;right:auto;border-top:0;border-left:1.5px dashed var(--line-strong)}
  .flow-label{font-size:1.15rem}
  .foot-grid{grid-template-columns:1fr}
  .scroll-hint{display:block}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 20px}
  /* tight enough that the $399 on the chart clears the 844px phone fold */
  .hero{padding:32px 0 30px}
  .hero .kicker{margin-bottom:14px}
  .hero h1{margin-bottom:16px}
  .hero .lead{font-size:1.1rem;margin-bottom:22px}
  .hero-note{margin-top:14px}
  .hero-mark{right:-60px;top:-40px;width:80vw}
  .hero-figure{padding:16px 14px 12px}
  section.band{padding:52px 0}
  .page-head{padding:44px 0 32px}
  .btn{width:100%;text-align:center}
  .btn-row{flex-direction:column;align-items:stretch}
  .card,.price-card{padding:24px}
  .price-card .amount{font-size:3rem}
  .trust-strip{grid-template-columns:1fr}
  .trust-strip li{border-left:0;border-top:1px solid var(--line)}
  .trust-strip li:first-child{border-top:0}
  ol.steps li{padding-left:62px}
  ol.steps li::before{width:42px;height:42px;font-size:1.1rem}
  ol.steps li:not(:last-child)::after{left:20px;top:46px}
  [data-page="learn-index"] .card,.learn-row{padding-left:44px}
  .site-footer{padding:44px 0 30px}
}
/* phone: the comparison matrix scrolls inside its box instead of widening the page */
.table-scroll{max-width:100%;min-width:0;display:block}
.wrap{min-width:0}
@media(max-width:700px){table.compare{min-width:560px}.table-scroll{margin:0 calc(var(--gutter,20px) * -1);padding:0 var(--gutter,20px);border-left:0;border-right:0;border-radius:0}}
/* the service menu is two columns, so on a phone it wraps rather than scrolling
   the price out of sight */
@media(max-width:700px){
  .table-scroll table:not(.compare){min-width:0}
  .table-scroll table:not(.compare) th,
  .table-scroll table:not(.compare) td{padding:13px 14px}
}
/* page-head watermark clip: keep the outline A from widening the phone viewport */
.page-head,.hero,.site-footer{overflow:hidden}
/* the side-by-side matrix was removed with the full-service package on 2026-09-06,
   so the package cards carry every inclusion at both widths and nothing is hidden */

/* headings that break on their own terms */
.card h3{text-wrap:balance}

/* ---------- late responsive corrections ---------- */
@media (max-width:860px){
  .also-row{grid-template-columns:1fr}
  .also-item{padding:24px 0}
  .also-item + .also-item{border-left:0;border-top:1px solid var(--line);padding-left:0}
}
@media (max-width:640px){
  .hero h1 br{display:none}
  .hero-figure{max-width:none;margin:0 -4px}
  .footprint{min-width:560px}
  .footprint .county{font-size:16px}
  .footprint .sub{font-size:12px}
  .foot-nav{columns:1}
}

/* Source: full-service.css */
img{height:auto;display:block}body{background:#f8f6f1}.wrap{max-width:1240px;padding-left:32px;padding-right:32px}.site-header .wrap{min-height:82px}.brand-name{font-size:1.8rem}.site-nav{gap:26px}.full-hero{position:relative;min-height:730px;background:#10283a;color:#fff;display:flex;align-items:center;overflow:hidden}.full-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}.full-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,40,.94) 0%,rgba(7,25,40,.83) 31%,rgba(7,25,40,.14) 76%)}.full-hero-copy{position:relative;z-index:1;width:100%;padding-top:84px;padding-bottom:100px}.full-hero .kicker{color:#e9cd94}.full-hero h1{color:#fff;font-size:clamp(3.6rem,6.4vw,6.3rem);max-width:800px;letter-spacing:-.025em;line-height:1.02;margin-bottom:28px}.full-hero em{color:#e5c992;font-weight:400}.full-hero p:not(.kicker){font-size:1.2rem;line-height:1.6}.full-hero .btn{background:#f4ede0;color:#122c40}.full-hero .btn.secondary{color:#fff;border-color:#e1d4b9;background:transparent}.image-note{position:absolute!important;right:28px;bottom:14px;color:#fff;z-index:2;font-size:12px!important;margin:0}.full-ribbon{display:flex;justify-content:space-between;padding:26px max(32px,calc((100vw - 1176px)/2));background:#eae4d8;color:#45515b;letter-spacing:.18em;font-size:11px;gap:20px}.band{padding:100px 0!important}.section-head{max-width:900px;margin-bottom:40px}.section-head h2{font-size:clamp(2.4rem,4vw,3.7rem);letter-spacing:-.015em}.section-head em{color:#7d6230;font-weight:400}.card{border-radius:0;padding:34px;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start}.card .text-link{margin-top:auto}.card h3{font-size:1.7rem}.step-number{font-size:12px;letter-spacing:.18em;color:#7d6230;margin-bottom:32px}.text-link{text-decoration:none;border-bottom:1px solid #b08d47;padding-bottom:5px;font-size:.93rem;font-weight:600}.broker-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:90px;align-items:center}.broker-split h2{font-size:clamp(2.7rem,4.5vw,4.3rem)}.broker-portrait{max-width:400px}.broker-portrait img{width:100%;height:auto;aspect-ratio:1084/1451;object-fit:cover}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.place-grid p{max-width:570px}.full-cta{background:#14324a;color:#d7e2eb;padding:80px 0}.full-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}.full-cta h2{color:#fff;font-size:clamp(2.4rem,4vw,3.5rem)}.full-cta .kicker{color:#e5c992}.full-cta .btn{background:#f4ede0;color:#14324a;white-space:nowrap}.full-cta p{margin-bottom:0}.page-head{padding:95px 0 75px;background:#eae4d8;border-bottom:1px solid #d7d0c4}.page-head h1{font-size:clamp(3rem,5.4vw,5rem);max-width:1000px;line-height:1.06}.page-head em{font-weight:400;color:#7d6230}.page-head .lead{max-width:720px;margin-bottom:0;margin-top:22px}.prose{max-width:790px}.prose p{margin-bottom:26px}.prose h3{margin-top:28px;font-size:1.6rem}.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.inquiry-form{display:grid;gap:20px;padding:36px;background:#fff;border:1px solid #ded8cc}.inquiry-form label{display:grid;gap:8px;font-weight:500;font-size:.92rem}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{width:100%;min-width:0;padding:12px;border:1px solid #aeb8be;border-radius:0;background:#fff;font:inherit;color:#16202c}.inquiry-form .btn{border:0;cursor:pointer}.inquiry-form .fine{margin:0;font-weight:400}.site-footer{padding:70px 0}.site-footer .foot-grid{gap:40px}.site-footer a{overflow-wrap:anywhere}.fine{font-size:.87rem;color:#5b6b7c}.site-footer .fine{color:#c3d0dc}.inquiry-form textarea{resize:vertical}
@media(max-width:860px){.site-header .wrap{min-height:72px}.site-nav{gap:8px}.full-hero{min-height:690px}.full-hero h1{font-size:clamp(3.4rem,8vw,5rem)}.full-hero:after{background:linear-gradient(90deg,rgba(7,25,40,.92),rgba(7,25,40,.48))}.broker-split{gap:36px}.place-grid,.contact-split{gap:36px}.full-ribbon{padding:24px;letter-spacing:.1em}.full-cta .wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.wrap{padding-left:22px;padding-right:22px}.full-hero{min-height:650px}.full-hero-copy{padding-top:58px;padding-bottom:75px}.full-hero h1{font-size:3.65rem}.full-hero p:not(.kicker){font-size:1rem}.full-hero>img{object-position:65% center}.image-note{right:18px;left:22px;font-size:10px!important}.full-ribbon{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:13px}.band{padding:65px 0!important}.broker-split,.place-grid,.contact-split{grid-template-columns:1fr;gap:35px}.broker-portrait{max-width:360px}.page-head{padding:60px 0}.page-head h1{font-size:3rem}.inquiry-form{padding:22px}.grid{grid-template-columns:1fr}.card{padding:28px}.full-cta{padding:60px 0}.site-nav{width:100%}.brand-name{font-size:1.5rem}}
@media(max-width:350px){.full-hero h1{font-size:3.15rem}.page-head h1{font-size:2.6rem}.btn-row{gap:10px}.btn{padding:13px 18px}}
.full-hero p.hero-fee-note{font-size:.88rem;max-width:580px;color:#f2e5cb;line-height:1.5;margin:16px 0 26px}.offer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:80px;align-items:center}.offer-grid h2{font-size:clamp(2.5rem,4vw,3.8rem)}.offer-price{background:#14324a;color:#f5f0e7;padding:40px}.offer-price .kicker{color:#e5c992}.offer-price>strong{display:block;font:500 6.5rem/1 var(--serif);color:#e5c992;letter-spacing:-.04em}.offer-price .minimum{font-size:1.3rem;font-weight:600;margin:12px 0 20px}.offer-price .fine{color:#d2dce5;font-size:.84rem}.offer-price .btn{background:#f4ede0;color:#14324a;margin-top:12px}.price-calculator{padding:36px;background:white;border:1px solid #d7d0c4}.price-calculator label{display:grid;gap:8px;margin-bottom:20px;font-size:.95rem;font-weight:500}.price-calculator input{width:100%;min-width:0;padding:13px;border:1px solid #9eabb5;font:inherit;color:#14324a;background:#fff}.fee-line{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #e2ddd2;font-size:.95rem}.fee-line output{font-weight:600;text-align:right}.fee-line.difference{color:#14324a;font-size:1.2rem;border-top:2px solid #b08d47;margin-top:8px}.price-calculator .fine{font-size:.8rem;line-height:1.6;margin-bottom:0}
@media(max-width:860px){.offer-grid{gap:35px}.offer-price{padding:28px}.price-calculator{padding:26px}}
@media(max-width:600px){.offer-grid{grid-template-columns:1fr;gap:32px}.offer-price>strong{font-size:5.5rem}.full-hero p.hero-fee-note{font-size:.8rem;max-width:100%}.fee-line{font-size:.9rem}.fee-line.difference{font-size:1.1rem}}

/* Source: fonts.css */
/* Averbrook: original Google Fonts Latin faces, hosted locally. */

@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/instrument-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/newsreader-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/newsreader-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/newsreader-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source: launch.css */
/* Averbrook launch: editorial hierarchy with fast, responsive static pages. */
:root{--paper:#f6f3ec;--paper-2:#ede8dd;--navy:#153b46;--navy-deep:#102e36;--brass:#79633c;--brass-light:#e7d2a8;--ink:#16323b}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--paper);color:var(--ink)}
.wrap{max-width:1376px;padding-left:56px;padding-right:56px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,243,236,.97);border-bottom:1px solid #d8d5ca;backdrop-filter:blur(14px)}
.site-header .wrap{min-height:86px}.brand-name{font-size:1.85rem;letter-spacing:-.06em}.mark{border-radius:0!important}
.site-nav{gap:23px}.site-nav a{font-size:.8rem;font-weight:500;white-space:nowrap}.site-nav a.cta{background:var(--navy);color:white;padding:12px 19px;border:1px solid var(--navy)}
.full-hero{min-height:min(800px,88vh);align-items:center;background:#15313a}
.full-hero>img{object-position:67% 53%}.full-hero:after{background:linear-gradient(90deg,rgba(9,32,38,.97),rgba(9,32,38,.78) 35%,rgba(9,32,38,.1) 76%),linear-gradient(0deg,rgba(7,24,29,.3),transparent 35%)}
.full-hero-copy{padding-top:90px;padding-bottom:102px}.full-hero .kicker{font-size:.69rem;letter-spacing:.24em;margin-bottom:32px;color:#e7d2a8}
.full-hero h1{font-size:clamp(4.5rem,7.1vw,7.7rem);font-weight:400;line-height:.99;letter-spacing:-.045em;max-width:840px;margin:0 0 30px}.full-hero em{color:#e7d2a8}
.full-hero p:not(.kicker):not(.image-note){font-size:1.08rem;max-width:470px;line-height:1.8;color:#f0eee6;margin-bottom:32px}
.full-hero .btn-row{gap:12px}.btn{border-radius:0!important;font-size:.86rem;letter-spacing:.02em;padding:17px 25px;transition:background .2s,transform .2s}.btn span{padding-left:28px;font-size:1.12em}
.btn:hover{transform:translateY(-2px)}.full-hero .btn{background:#f6f3ec;color:#17343c}.full-hero .btn.secondary{border:1px solid #aab4b0;color:white;background:transparent}
.image-note{font-size:10px!important;opacity:.85;letter-spacing:.025em}.full-ribbon{background:var(--paper-2);border-bottom:1px solid #d8d5ca;justify-content:center;padding:25px 40px;gap:65px;font-size:.63rem;letter-spacing:.18em;color:#3c5357}
.band{padding:108px 0!important}.band.alt{background:#ede8dd}.section-head{margin-bottom:42px;max-width:960px}.section-head h2,.broker-split h2{font-size:clamp(2.8rem,4.2vw,4.5rem);font-weight:400;line-height:1.08;letter-spacing:-.035em}.section-head em,.broker-split em,.page-head em{color:#79633c}.kicker{font-size:.68rem;letter-spacing:.2em}
.grid{gap:0;border-top:1px solid #b9c0ba}.card{padding:32px 32px 16px 0;background:transparent;border:0;border-radius:0;border-bottom:1px solid #b9c0ba}.card+.card{padding-left:30px;border-left:1px solid #c7ccc4}.card h3{font-size:1.6rem;line-height:1.2;letter-spacing:-.025em}.card p{font-size:.96rem;line-height:1.8}.card .step-number{font-family:var(--serif);font-size:1.3rem;letter-spacing:0;color:#8c734d;margin-bottom:28px}.card .text-link{margin-top:16px;margin-bottom:18px}.text-link{display:inline-block;font-size:.82rem;border-color:#9d8c65;color:var(--navy);padding-bottom:7px;text-decoration:none}
.broker-split{gap:110px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.broker-portrait{position:relative;max-width:440px;padding:0 0 20px 20px}.broker-portrait:before{content:'';position:absolute;inset:30px 30px 0 0;border:1px solid #b5a884;z-index:0}.broker-portrait img{position:relative;filter:saturate(.8);aspect-ratio:1084/1451}
.broker-split .lead{font-size:1.18rem;line-height:1.7}.broker-split p{max-width:610px}.offer-grid{gap:90px}.offer-price{background:var(--navy);padding:46px}.offer-price>strong{font-size:6.6rem;font-weight:400;color:#e7d2a8}.offer-price .minimum{font-size:1.05rem;font-weight:400}.offer-grid h2{font-size:clamp(2.8rem,4.2vw,4.4rem);font-weight:400;letter-spacing:-.03em}.offer-price .btn{width:100%;text-align:center}.offer-price .fine{font-size:.79rem}
.local-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:46px}.local-intro .lead{max-width:650px;font-size:1.13rem}.local-intro .text-link{white-space:nowrap}.town-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}.town-links a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;border-top:1px solid #bdc5bf;color:var(--navy);text-decoration:none;font-family:var(--serif);font-size:1.6rem;line-height:1.2}.town-links a:hover{color:#79633c}.town-links a span:last-child{font-size:1.15rem}
.page-head{padding:88px 0;background:var(--paper-2)}.page-head h1{font-weight:400;letter-spacing:-.04em;font-size:clamp(3.4rem,5.7vw,6rem)}.page-head .lead{line-height:1.8}.full-cta{background:var(--navy);padding:86px 0}.full-cta h2{font-weight:400;letter-spacing:-.025em}.site-footer{background:var(--navy-deep);padding:74px 0}.foot-name{font-weight:400;letter-spacing:-.04em}.site-footer .foot-grid{grid-template-columns:1.05fr .9fr 1.1fr;gap:70px}.foot-nav a{font-size:.85rem}.disclosure{font-size:.85rem;line-height:1.7}
.guide-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:85px;align-items:start}.guide-toc{position:sticky;top:120px;font-size:.82rem}.guide-toc a{display:block;padding:12px 0;border-bottom:1px solid #c7ccc4;text-decoration:none;color:var(--navy)}.guide-content{max-width:800px}.guide-content section{padding-bottom:42px;margin-bottom:45px;border-bottom:1px solid #c7ccc4;scroll-margin-top:116px}.guide-content h2{font-size:2.25rem;letter-spacing:-.025em;line-height:1.2}.guide-content p,.guide-content li{font-size:1rem;line-height:1.9}.source-links{font-size:.81rem!important;line-height:1.8!important;color:#556765}.source-links a{color:var(--navy)}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.community-entry{border-top:1px solid #b9c0ba;padding:28px 0;scroll-margin-top:115px}.community-entry h3{font-size:1.8rem;font-weight:400}.community-entry p{font-size:.94rem;line-height:1.8}.faq details{border-top:1px solid #b9c0ba;padding:22px 0}.faq summary{cursor:pointer;font-weight:500;line-height:1.5}.faq p{padding:18px 0 0;max-width:770px}.related-guides{display:flex;gap:20px;flex-wrap:wrap;padding-top:20px}.breadcrumb{font-size:.75rem;margin-bottom:32px;color:#526866}.breadcrumb a{color:inherit}
:focus-visible{outline:3px solid #b18535;outline-offset:5px}::selection{background:#e7d2a8;color:#153b46}
@media(min-width:1600px){.full-hero{min-height:800px}.full-hero-copy{max-width:1376px}.full-hero:after{background:linear-gradient(90deg,rgba(9,32,38,.9),rgba(9,32,38,.75) 38%,rgba(9,32,38,.04) 75%)}}
@media(max-width:1120px){.wrap{padding-left:36px;padding-right:36px}.site-nav{gap:15px}.site-nav a{font-size:.72rem}.brand-name{font-size:1.55rem}.broker-split{gap:55px}.full-ribbon{gap:30px}.offer-grid{gap:44px}.guide-layout{grid-template-columns:190px minmax(0,1fr);gap:45px}}
@media(max-width:860px){.full-hero{min-height:720px}.full-hero h1{font-size:clamp(4.4rem,9vw,6.3rem)}.full-hero:after{background:linear-gradient(90deg,rgba(9,32,38,.93),rgba(9,32,38,.55) 75%,rgba(9,32,38,.28))}.site-nav a{font-size:.95rem}.site-nav a.cta{display:inline-block}.site-footer .foot-grid{gap:35px}.local-intro{display:block}.local-intro .lead{margin-bottom:25px}.guide-layout{grid-template-columns:1fr;gap:42px}.guide-toc{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}}
@media(max-width:600px){.wrap{padding-left:24px;padding-right:24px}.site-header .wrap{min-height:72px}.full-hero{min-height:680px}.full-hero-copy{padding-top:68px;padding-bottom:80px}.full-hero h1{font-size:clamp(3.7rem,12.8vw,5rem);margin-bottom:28px}.full-hero .kicker{font-size:.58rem;letter-spacing:.17em;max-width:320px;margin-bottom:28px}.full-hero p:not(.kicker):not(.image-note){max-width:345px;font-size:.96rem;line-height:1.85}.full-hero>img{object-position:61% center}.full-hero .btn-row{display:flex;flex-wrap:wrap;gap:12px}.btn{padding:16px 18px}.btn span{padding-left:14px}.full-ribbon{grid-template-columns:1fr;display:grid;gap:13px;text-align:center;padding:24px;font-size:.59rem}.band{padding:68px 0!important}.section-head h2,.broker-split h2{font-size:2.8rem}.card,.card+.card{padding:28px 0;border-left:0}.card .step-number{margin-bottom:14px}.card h3{font-size:1.7rem}.broker-split{grid-template-columns:1fr;gap:38px}.broker-portrait{max-width:370px}.offer-grid{gap:32px}.offer-price{padding:30px}.offer-price>strong{font-size:5.7rem}.town-links{grid-template-columns:1fr;gap:0}.town-links a{font-size:1.65rem;padding:22px 0}.local-intro{margin-bottom:32px}.page-head{padding:62px 0}.page-head h1{font-size:3.25rem}.full-cta{padding:65px 0}.site-footer .foot-grid{grid-template-columns:1fr;gap:38px}.site-footer{padding:58px 0}.guide-toc{grid-template-columns:1fr}.guide-content h2{font-size:2rem}.community-grid{grid-template-columns:1fr;gap:12px}.contact-split{gap:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:hover{transform:none}}
.region-line{border-bottom:1px solid #d8d5ca;background:#f6f3ec}.region-line .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:20px;padding-bottom:20px}.region-line p{margin:0;font-size:.78rem;letter-spacing:.04em}.region-line a{font-size:.78rem;color:var(--navy);text-decoration:none;border-bottom:1px solid #9d8c65;padding-bottom:3px}@media(max-width:600px){.region-line .wrap{display:block;text-align:center}.region-line p{font-size:.69rem;margin-bottom:10px}}
.full-hero p.hero-price-proof{font-size:.83rem;line-height:1.7;max-width:590px;color:#e7d2a8;margin-top:-12px;margin-bottom:30px}.hero-price-proof strong{font-size:1rem;font-weight:500}.hero-price-proof span{font-size:.72rem;color:#d8e1da}.full-hero-copy{padding-top:68px;padding-bottom:80px}.full-hero h1{font-size:clamp(4.2rem,6.5vw,7rem)}@media(max-width:600px){.full-hero h1{font-size:clamp(3.45rem,11.8vw,4.5rem)}.full-hero p.hero-price-proof{font-size:.77rem;margin-top:-13px;margin-bottom:25px}.hero-price-proof strong{font-size:.89rem}.hero-price-proof span{font-size:.66rem}.full-hero-copy{padding-top:48px;padding-bottom:70px}}
.hero-price-proof .hero-rate{font-family:var(--serif);font-size:1.8rem;line-height:1.3;color:#f1ddb2}.value-proof{padding:65px 0;background:#e2e9e1}.value-proof .wrap{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.value-proof h2{font-size:clamp(2rem,3.4vw,3.5rem);font-weight:400;letter-spacing:-.03em;line-height:1.12}.value-proof em{color:#647c65}.value-proof p{line-height:1.8}.fee-proof-controls{display:flex;align-items:center;gap:50px;margin:30px 0}.fee-proof-controls>label{display:grid;gap:8px;min-width:260px;font-size:.85rem;font-weight:500}.fee-proof-controls .number-control{display:flex;align-items:center;background:white;border:1px solid #91a39a;padding-left:15px}.fee-proof-controls input{padding:15px;border:0;width:100%;font:500 1.1rem var(--sans);background:transparent;color:var(--navy)}.fee-proof-controls>p{max-width:600px;font-size:.9rem;line-height:1.8}.comparison-scroll{overflow-x:auto;border-top:1px solid #acb7af}.published-fees{border-collapse:collapse;width:100%;font-size:.86rem;line-height:1.65}.published-fees th,.published-fees td{padding:22px 18px;text-align:left;border-bottom:1px solid #c2cbc2;vertical-align:top}.published-fees thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.published-fees tbody th{min-width:175px}.published-fees th span{display:block;font-weight:400;font-size:.74rem;color:#5f746a;margin-top:7px}.published-fees a{color:inherit}.published-fees .calculated-fee{font-weight:600;white-space:nowrap;font-size:1.07rem}.published-fees .fee-delta{white-space:nowrap}.published-fees .our-fee{background:var(--navy);color:#fff}.published-fees .our-fee th span{color:#d2dfd6}.comparison-context{max-width:1000px;padding:23px 0}.comparison-context p{font-size:.81rem;line-height:1.8}.comparison-sources{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-bottom:30px}.comparison-sources details{padding:16px 0;border-top:1px solid #c0c9be;font-size:.8rem;line-height:1.8}.comparison-sources summary{cursor:pointer;font-weight:500}.comparison-sources details p{margin:15px 0}.comparison-error{color:#8d3025;font-size:.87rem}.comparison-error:empty{display:none}@media(max-width:760px){.value-proof .wrap{grid-template-columns:1fr;gap:20px}.value-proof{padding:45px 0}.fee-proof-controls{display:block}.fee-proof-controls label{min-width:0;max-width:380px}.fee-proof-controls>p{margin-top:20px}.comparison-sources{grid-template-columns:1fr}.published-fees th,.published-fees td{padding:18px 13px}.published-fees{font-size:.8rem}.hero-price-proof .hero-rate{font-size:1.45rem}}
.published-fees .our-fee th,.published-fees .our-fee td{background:var(--navy);color:#fff}.published-fees .our-fee a{color:#fff}@media(max-width:600px){.full-hero h1{font-size:clamp(2.85rem,11.9vw,3.4rem)}}

/* Two-color keyboard focus remains visible on light and dark surfaces. */
:focus-visible{outline:2px solid #173b46;outline-offset:3px;box-shadow:0 0 0 3px #fff}
@media(forced-colors:active){:focus-visible{outline-color:Highlight;box-shadow:none}}
@media print{.js .reveal{opacity:1!important;transform:none!important;transition:none!important}}
.value-proof p.fine{color:#3d5145}
.full-hero>picture{position:absolute;inset:0}.full-hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}
