:root{
  --ink:#13251D;
  --oak-deep:#122A22;
  --brass:#A8852E;
  --brass-bright:#C09A3E;
  --paper:#F7F5EE;
  --paper-warm:#EFECE1;
  --stone:#5A6A60;
  --line:rgba(19,37,29,.14);
  --line-brass:rgba(168,133,46,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Figtree',sans-serif;font-size:18px;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
/* THE SERIF IS FOR h1 AND h2 ONLY. Changed 2026-08-19 (owner: "please have
   one font"). h3 was in this rule, so every subheading inside an article
   rendered in Marcellus while the labels and body around it were Figtree,
   which read as two designs stacked rather than one. Individual pages had
   started overriding it one at a time; this is the single place it belongs. */
h1,h2,.serif{font-family:'Marcellus',serif;font-weight:400;line-height:1.2}
h3{font-family:'Figtree',sans-serif;font-weight:600;font-size:19px;line-height:1.35;color:var(--ink)}
a{color:inherit}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:600;display:block;margin-bottom:18px}

header.site{border-bottom:1px solid var(--line);background:var(--paper)}
header.site .wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;height:78px}
.mark{font-family:'Marcellus',serif;font-size:20px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.mark span{color:var(--brass)}
.head-cta{font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-brass);padding-bottom:2px}
.head-cta:hover{color:var(--brass)}

.crumb{font-size:13px;letter-spacing:.04em;color:var(--stone);margin:40px 0 0}
.crumb a{color:var(--stone);text-decoration:none}
.crumb a:hover{color:var(--brass)}

article{padding:8px 0 64px}
article h1{font-size:clamp(32px,5vw,46px);margin:18px 0 20px;letter-spacing:.005em}
.lede{font-size:21px;color:var(--stone);margin-bottom:40px;line-height:1.6}
article h2{font-size:clamp(24px,3vw,30px);margin:44px 0 14px}
article p{margin-bottom:20px}
article p strong{font-weight:600}
article ul{margin:0 0 24px 0;list-style:none;counter-reset:aeitem}
article li{position:relative;padding:8px 0 8px 34px;border-bottom:1px solid var(--line);counter-increment:aeitem}
article li::before{content:counter(aeitem) ".";position:absolute;left:2px;top:8px;font-family:'Figtree',sans-serif;font-size:15px;font-weight:600;color:var(--brass);line-height:1.65}
article a.inline{color:var(--oak-deep);text-decoration:underline;text-decoration-color:var(--line-brass);text-underline-offset:3px}
article a.inline:hover{text-decoration-color:var(--brass)}

.callout{background:var(--paper-warm);border:1px solid var(--line);border-radius:0;padding:24px 28px;margin:32px 0}
.callout .lbl{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600;display:block;margin-bottom:8px}
.callout p{margin:0;font-size:17px}

.bestbox{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin:32px 0}
.bestbox div{padding:22px 24px}
.bestbox div:first-child{border-right:1px solid var(--line)}
.bestbox .lbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:10px}
.bestbox .yes .lbl{color:#0F6E56}
.bestbox .no .lbl{color:#993C1D}
.bestbox p{margin:0;font-size:16px;color:var(--stone)}
@media(max-width:560px){.bestbox{grid-template-columns:1fr}.bestbox div:first-child{border-right:none;border-bottom:1px solid var(--line)}}

.faq-block{margin:48px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.faq-block .eyebrow{margin-bottom:20px}
.faq-item{padding:18px 0;border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:none}
.faq-item h3{font-size:18px;margin-bottom:6px;font-family:'Figtree',sans-serif;font-weight:600;color:var(--ink)}
.faq-item p{margin:0;font-size:16px;color:var(--stone)}

.related{margin:48px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.related .eyebrow{margin-bottom:20px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.related-grid{grid-template-columns:1fr}}
.related a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);padding:22px 22px;transition:transform .3s ease,box-shadow .3s ease;background:#FFFEFA}
.related a:hover{transform:translateY(-4px);box-shadow:0 12px 26px -18px rgba(19,37,29,.35)}
.related h3{font-size:19px;margin-bottom:6px}
.related span{font-size:14.5px;color:var(--stone)}

.cta{background:var(--oak-deep);color:var(--paper);margin-top:56px;padding:56px 0;position:relative}
.cta .wrap{position:relative}
.cta .eyebrow{color:var(--brass-bright)}
.cta h2{font-size:clamp(26px,3.4vw,34px);margin-bottom:14px;color:var(--paper)}
.cta p{color:rgba(247,245,238,.8);font-size:18px;margin-bottom:28px;max-width:52ch}
.btn{display:inline-block;background:var(--brass);color:#fff;font-family:'Figtree',sans-serif;font-size:17px;font-weight:600;letter-spacing:.02em;padding:16px 34px;border:1px solid var(--brass);border-radius:2px;text-decoration:none;transition:background .25s,color .25s,letter-spacing .3s;cursor:pointer}
.btn:hover{background:var(--paper);color:var(--oak-deep);border-color:var(--paper);letter-spacing:.045em}

form.capture{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px}
form.capture input{grid-column:span 1;background:rgba(247,245,238,.07);border:1px solid rgba(247,245,238,.3);color:var(--paper);font-family:'Figtree',sans-serif;font-size:17px;padding:16px 18px;border-radius:2px}
form.capture input::placeholder{color:rgba(247,245,238,.55)}
form.capture input:focus-visible{outline:2px solid var(--brass-bright);outline-offset:1px}
form.capture .full{grid-column:1/-1}
form.capture button{grid-column:1/-1}
form.capture select{width:100%;background:rgba(247,245,238,.07);border:1px solid rgba(247,245,238,.3);color:var(--paper);font-family:'Figtree',sans-serif;font-size:17px;padding:16px 18px;border-radius:2px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C09A3E' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
form.capture select:focus-visible{outline:2px solid var(--brass-bright);outline-offset:1px}
form.capture select option{color:var(--ink);background:var(--paper)}
.phone-err{display:block;grid-column:1/-1;font-size:14px;color:#E24B4A;margin-top:-6px}
.phone-err[hidden]{display:none}
.addr-err{display:block;grid-column:1/-1;font-size:14px;color:#E24B4A;margin-top:-6px}
.addr-err[hidden]{display:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.fstep{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1}
.fstep[hidden]{display:none}
.flabel{display:block;font-size:14px;color:rgba(247,245,238,.7);letter-spacing:.02em}
.flabel input,.flabel select{margin-top:8px;width:100%}
.fprog{grid-column:1/-1;height:2px;background:rgba(247,245,238,.15);border-radius:1px;overflow:hidden}
.fprog i{display:block;height:100%;background:var(--brass-bright);width:8%;transition:width .9s ease}
.fdone-list{grid-column:1/-1;margin:0;padding-left:22px;display:grid;gap:12px;font-size:17px;color:rgba(247,245,238,.85)}
.fdone-list li{line-height:1.6}
.fdone-list strong{color:var(--brass-bright);font-weight:600}
.steplbl{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright);font-weight:600}
.s0hint{grid-column:1/-1;font-size:13.5px;color:rgba(247,245,238,.6);margin-top:-4px}
.fdone-resources{grid-column:1/-1;margin-top:6px;padding-top:22px;border-top:1px solid rgba(247,245,238,.15)}
.fdone-res-lbl{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-bright);font-weight:600;margin-bottom:14px}
.fdone-res-links{display:grid;gap:10px}
.fdone-res-link{display:block;color:rgba(247,245,238,.88);text-decoration:none;font-size:15.5px;padding:14px 16px;border:1px solid rgba(247,245,238,.18);border-radius:2px}
.fdone-res-link .arrow{color:var(--brass-bright);margin-left:4px}
.fdone-h{font-family:'Marcellus',serif;font-size:28px;grid-column:1/-1;margin:0}
.fdone-p{grid-column:1/-1;font-size:17px;color:rgba(247,245,238,.8);margin:0}
.fdone-p a{color:var(--brass-bright)}
.btn-back{background:transparent;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.6);font-family:'Figtree',sans-serif;font-size:15px;font-weight:500;padding:12px 24px;border-radius:2px;cursor:pointer;transition:border-color .25s,color .25s;margin-top:4px}
.btn-back:hover{border-color:rgba(255,255,255,.6);color:#fff}
.sms-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:rgba(247,245,238,.65)}
.sms-consent input{width:auto;margin-top:3px;flex-shrink:0;accent-color:var(--brass-bright)}
.assure{display:block;margin-top:14px;font-size:14px;color:rgba(247,245,238,.6)}
@media(max-width:560px){.fstep{grid-template-columns:1fr}form.capture{grid-template-columns:1fr}form.capture input{grid-column:1/-1}}

footer.site{background:var(--ink);color:rgba(247,245,238,.55);font-size:14px;padding:36px 0}
footer.site .wrap{max-width:1080px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site a{color:rgba(247,245,238,.7);text-decoration:none}
footer.site a:hover{color:var(--paper)}
footer.site .mark{font-size:16px;color:var(--paper)}

.hub-list{margin:8px 0 0}
.hub-item{display:block;text-decoration:none;color:inherit;border-top:1px solid var(--line);padding:32px 0;transition:padding-left .3s ease}
.hub-item:last-child{border-bottom:1px solid var(--line)}
.hub-item:hover{padding-left:12px}
.hub-item .tag{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600}
.hub-item h2{font-size:26px;margin:8px 0 8px}
.hub-item p{color:var(--stone);font-size:17px;margin:0;max-width:60ch}
.hub-item .more{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--oak-deep)}

.expired-cta{background:var(--oak-deep);margin:48px 0;padding:44px 40px;position:relative;text-align:center}
.expired-cta::after{content:"";position:absolute;inset:10px;border:1px solid rgba(192,154,62,.28);pointer-events:none}
.expired-cta .wrap-inner{position:relative;max-width:46ch;margin:0 auto}
.expired-cta .lbl{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-bright);font-weight:600;display:block;margin-bottom:14px}
.expired-cta h3{font-family:'Marcellus',serif;font-size:clamp(24px,3vw,29px);color:var(--paper);margin-bottom:14px;line-height:1.3}
.expired-cta p{color:rgba(247,245,238,.72);font-size:16px;margin-bottom:26px}
.expired-cta .btn{background:var(--brass);border-color:var(--brass)}
.expired-cta .btn:hover{background:var(--paper);color:var(--oak-deep);border-color:var(--paper)}

.expired-banner{position:fixed;bottom:0;left:0;right:0;z-index:9998;background:var(--oak-deep);border-top:2px solid var(--brass);transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:0 -12px 30px -10px rgba(0,0,0,.35)}
.expired-banner.show{transform:translateY(0)}
.expired-banner-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:18px 24px}
.expired-banner .eb-lbl{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright);font-weight:600;display:block;margin-bottom:4px}
.expired-banner h4{font-family:'Marcellus',serif;font-size:18px;color:var(--paper);margin:0 0 4px;line-height:1.25}
.expired-banner p{color:rgba(247,245,238,.72);font-size:14px;margin:0}
.expired-banner .eb-text{flex:1;min-width:0}
.expired-banner .btn{flex-shrink:0;padding:13px 24px;font-size:15px;white-space:nowrap}
.expired-banner .eb-close{position:absolute;top:8px;right:10px;background:none;border:none;color:rgba(247,245,238,.5);font-size:20px;line-height:1;cursor:pointer;padding:4px 8px}
.expired-banner .eb-close:hover{color:var(--paper)}
@media(max-width:680px){
  .expired-banner-inner{flex-direction:column;align-items:stretch;gap:14px;padding:20px 24px 18px}
  .expired-banner .btn{width:100%;text-align:center}
}

.cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--oak-deep);border-top:1px solid var(--line-brass);padding:18px 24px;transform:translateY(100%);transition:transform .4s ease;font-size:15px;color:rgba(247,245,238,.85)}
.cc-banner.show{transform:translateY(0)}
.cc-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cc-text{flex:1;min-width:280px;line-height:1.5}
.cc-text a{color:var(--brass-bright);text-decoration:none;border-bottom:1px solid var(--line-brass)}
.cc-btns{display:flex;gap:10px;flex-shrink:0}
.cc-btn{font-family:'Figtree',sans-serif;font-size:14px;font-weight:600;padding:10px 22px;border-radius:2px;cursor:pointer;border:none;letter-spacing:.01em}
.cc-accept{background:var(--brass);color:#fff}
.cc-accept:hover{background:var(--brass-bright)}
.cc-decline{background:transparent;color:rgba(247,245,238,.6);border:1px solid rgba(247,245,238,.25)}
.cc-decline:hover{color:var(--paper);border-color:rgba(247,245,238,.5)}
@media(max-width:680px){
  .cc-inner{flex-direction:column;text-align:center}
  .cc-btns{width:100%}
  .cc-btn{flex:1}
}

/* The last-updated line. Two separate agents flagged that this class had no rule
   at all, so it rendered at full body size in full ink and read as the article's
   first paragraph. One font, one colour, same as every other piece of supporting
   text on a page. */
.updated,.stat-updated{font-family:'Figtree',sans-serif;font-size:15px;line-height:1.6;color:var(--stone);margin:0 0 26px}

/* READABILITY, 2026-08-19. Owner: "I don't want these grayed out because it
   makes them hard to read, and our target audience is a little older." The
   muted supporting text inside cards and option blocks now carries the same
   ink as body copy. Only the small uppercase eyebrow labels stay brass. */
.callout p,.bestbox p,.faq-item p,.related span{color:var(--ink)}
.opt-row p,.opt p,.group p,.stat-src{color:var(--ink)}
.lbl{color:var(--ink)}
.eyebrow,.ae-tools-lbl,.stat-table caption{color:var(--brass)}

/* ---------------------------------------------------------------------------
   AUTHOR BYLINE. Added 2026-08-19.
   Google's 2026 generative-AI guidance rewards a "unique expert or experienced
   take" over commodity content, and its quality systems weigh who produced a
   page. Every article now names a licensed principal agent and links their
   profile, and the same person is the Person author in the Article JSON-LD.
   The structured data and the visible byline must always say the same thing:
   Google states flatly that structured data has to match visible content.
   One font, full contrast. The audience is older, so nothing here is greyed
   down past var(--stone).
   -------------------------------------------------------------------------- */
.byline{font-family:'Figtree',sans-serif;font-size:15px;line-height:1.6;color:var(--stone);margin:0 0 26px}
.byline a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.byline a:hover{color:var(--brass)}
/* The updated line and the byline are one unit, so close the gap between them
   without disturbing pages that carry an updated line on its own. */
.updated:has(+ .byline){margin-bottom:5px}

/* "Prices where you live" strip, added 2026-09-02. Sends internal link weight
   from the 48 articles down to the twelve city market reports, which had one
   inbound link each while sitting at positions 13-27. */
.local-prices .lp-note{font-size:15.5px;color:var(--stone);margin:-6px 0 18px;line-height:1.55}
.lp-links{display:flex;flex-wrap:wrap;gap:10px}
.lp-links a{display:inline-block;text-decoration:none;color:var(--ink);border:1px solid var(--line);padding:11px 17px;font-size:15px;background:#FFFEFA;transition:transform .3s ease,box-shadow .3s ease}
.lp-links a:hover{transform:translateY(-2px);box-shadow:0 10px 22px -16px rgba(19,37,29,.35)}

/* The short answer block, added 2026-09-03. Search Console over 90 days: this
   article took 150 impressions across 92 queries and got zero clicks, best
   position 29. Semrush: 75 of the 78 keywords this site ranks for carry an AI
   Overview, and the site holds no SERP features on any of them. An AI Overview
   lifts a short self-contained passage, not a page, so the block is written to
   survive being cut out of its context: the answer, both source figures, a
   worked dollar example and the attribution, with nothing depending on the
   sentence above it. Tables get lifted whole, which is why there is one. */
.short-answer{border:1px solid var(--line);border-top:2px solid var(--brass);background:#FFFEFA;padding:24px 26px;margin:28px 0}
.short-answer .eyebrow{display:block;margin-bottom:10px}
.short-answer p{margin:0;font-size:17px;line-height:1.62}
.sa-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15.5px}
.sa-table caption{text-align:left;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);padding-bottom:10px}
.sa-table th,.sa-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;vertical-align:top}
.sa-table thead th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)}
.sa-table tbody tr:last-child th,.sa-table tbody tr:last-child td{border-bottom:none}
.sa-table td{font-variant-numeric:tabular-nums}
@media(max-width:520px){.short-answer{padding:20px 18px}.sa-table{font-size:14px}}

.wrap.wrap-crumb{padding-top:0}
.wrap.wrap-crumb .crumb{margin:34px 0 16px}
/* The hero painting's own rules moved to /articles/hero-2.css on 2026-09-11,
   so one small file serves every page family and a change to it publishes
   without waiting four hours on the edge cache for this one. Load that file
   after this one. */
