/* FloorCleaningNH.com. MASTER STYLESHEET. All pages share this one file.
   Edit the values in :root to change site colors, typography, spacing and shape site-wide.
   See THEME-GUIDE.md for a step-by-step guide. No second theme CSS is required. */
:root {
  --font-heading: Georgia, 'Times New Roman', serif;
  --font-body: 'Trebuchet MS', Arial, sans-serif;
  --color-ink: #253438;
  --color-muted: #5c6668;
  --color-brand: #233e54; /* New Hampshire deep blue */
  --color-brand-dark: #152b3d;
  --color-evergreen: #294a3a;
  --color-evergreen-dark: #203b30;
  --color-burgundy: #893d39;
  --color-gold: #b99452;
  --color-cream: #f7f3e9;
  --color-stone: #e6e3dc;
  --color-paper: #ffffff;
  --color-field: #faf9f5;
  --color-border: #d8d4c9;
  --color-good: #426e4e;
  --color-error: #a02e2e;
  --color-header: #ffffff;
  --color-footer: #172e3e;
  --page-width: 1180px;
  --section-space: 82px;
  --radius-card: 8px;
  --radius-button: 4px;
  --radius-field: 4px;
  --button-fill: var(--color-burgundy);
  --button-hover: #6b2c2a;
  --button-text: #ffffff;
  --heading-weight: 700;
  --body-size: 16px;
  --shadow-card: 0 10px 28px rgba(21,43,61,.09);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--color-paper);color:var(--color-ink);font:var(--body-size)/1.7 var(--font-body)}
h1,h2,h3,h4,p,figure,blockquote{margin-top:0}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--heading-weight);line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(2.8rem,4.8vw,4.9rem)}h2{font-size:clamp(2.2rem,3.4vw,3.5rem)}h3{font-size:1.35rem}h4{font-size:1.18rem}
h1 em,h2 em{color:var(--color-evergreen);font-style:normal}p{margin-bottom:1.15em}
a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-gold);outline-offset:3px}
button,input,select{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 48px),var(--page-width));margin-inline:auto}.section{padding:var(--section-space) 0}.center{text-align:center}.eyebrow{color:var(--color-evergreen);font-weight:800;letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;margin:0 0 15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border:2px solid var(--button-fill);border-radius:var(--radius-button);background:var(--button-fill);color:var(--button-text);text-decoration:none;font-size:.95rem;font-weight:800;line-height:1.25;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--button-hover);border-color:var(--button-hover);transform:translateY(-1px)}.button-sm{font-size:.82rem;padding:10px 14px}.button-large{padding:16px 24px}.text-link{font-weight:800;color:var(--color-burgundy);text-underline-offset:5px}.text-link:hover{color:var(--color-evergreen)}
/* Local trade-brand identity */
.topline{padding:7px max(24px,calc((100vw - var(--page-width))/2));display:flex;justify-content:space-between;gap:18px;background:var(--color-brand-dark);color:#f0e8d3;font-size:.7rem;font-weight:700;letter-spacing:.1em}.online-dot,.badge-dot{display:inline-block;width:7px;height:7px;background:var(--color-gold);border-radius:50%;vertical-align:middle;margin-right:7px}.nav-shell{background:var(--color-header);border-bottom:3px solid var(--color-stone);position:sticky;top:0;z-index:20}.nav{min-height:84px;display:flex;align-items:center;gap:20px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--color-brand-dark);font-size:1.02rem;font-weight:900;letter-spacing:-.04em;white-space:nowrap;line-height:1.05}.logo .accent{color:var(--color-evergreen)}.logo small{display:block;margin-top:7px;letter-spacing:.16em;font-size:.56rem;font-weight:800;color:var(--color-muted)}.logo-mark{display:grid;place-items:center;width:44px;height:57px;background:var(--color-brand);border:2px solid var(--color-gold);border-radius:var(--radius-card)}.logo-mark img{width:29px;height:44px;object-fit:contain}.nav nav{margin-left:auto;display:flex;align-items:center;gap:21px}.nav nav a{font-size:.86rem;font-weight:800;text-decoration:none}.nav nav a:hover{color:var(--color-burgundy)}.nav-phone{font-weight:900;color:var(--color-brand);white-space:nowrap;text-decoration:none;font-size:.9rem}.menu-toggle{display:none}
/* Homepage hero, New Hampshire deep blue and granite */
.hero{background:var(--color-cream);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.hero-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,.4),transparent 60%)}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:55px;min-height:630px;padding:58px 0}.hero-text{position:relative}.hero-text h1{margin:16px 0 24px;color:var(--color-brand-dark)}.hero-text>p{max-width:650px;font-size:1.15rem;color:var(--color-ink)}.hero-badge{display:inline-flex;align-items:center;border-left:4px solid var(--color-burgundy);padding:7px 13px;background:#e9e6dd;color:var(--color-brand);font-weight:800;font-size:.71rem;letter-spacing:.08em}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.outline-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;text-decoration:none;border:2px solid var(--color-brand);border-radius:var(--radius-button);font-weight:800;color:var(--color-brand);background:transparent}.outline-button:hover{background:var(--color-brand);color:white}.hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px;padding-top:21px;border-top:1px solid var(--color-border)}.hero-trust div{display:flex;align-items:center;gap:9px}.hero-trust strong{font-family:var(--font-heading);color:var(--color-burgundy);font-size:1.4rem}.hero-trust span{font-weight:700;font-size:.76rem;line-height:1.3}.hero-visual{height:540px;position:relative;border:9px solid white;box-shadow:var(--shadow-card);border-radius:var(--radius-card)}.hero-visual>img{height:100%;width:100%;object-fit:cover}.hero-visual-label{position:absolute;bottom:21px;left:-20px;background:var(--color-brand);color:white;padding:15px 19px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-card)}.hero-visual-label strong,.hero-visual-label small{display:block}.hero-visual-label small{font-size:.7rem;letter-spacing:.1em;color:#f5dbab}.sparkle{font-size:1.5rem;color:var(--color-gold)}
.trust-strip{background:var(--color-evergreen);color:white;padding:19px 0}.trust-strip .container{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.trust-strip span{font-size:.68rem;letter-spacing:.1em;color:#e4dcbd}.trust-strip strong{font-size:.79rem;letter-spacing:.08em}.pitch-grid,.town-story-grid,.local-details-grid,.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.pitch-body p,.town-story p,.local-details p{font-size:1.05rem;color:var(--color-muted)}.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:28px}.section-heading>p{max-width:420px;color:var(--color-muted)}.section-heading h2{margin-bottom:0}
/* Before and after gallery */
.results-section{background:var(--color-paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px}.comparison{border:1px solid var(--color-border);background:white;box-shadow:0 5px 17px rgba(0,0,0,.04)}.compare-images{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--color-border)}.compare-images figure{position:relative;height:240px;margin:0;overflow:hidden}.compare-images img{width:100%;height:100%;object-fit:cover}.compare-images figcaption{position:absolute;top:9px;left:9px;background:var(--color-burgundy);color:white;padding:4px 9px;font-size:.68rem;font-weight:900;letter-spacing:.08em}.compare-images .after-label{background:var(--color-evergreen)}.comparison-name{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px;font-size:.88rem;font-weight:800}.comparison-name span{color:var(--color-evergreen)}
/* Service explanation */
.how{background:var(--color-cream);border-block:1px solid var(--color-border)}.section-sub{color:var(--color-muted)}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.step{position:relative;padding:32px;border:1px solid var(--color-border);background:var(--color-paper);box-shadow:0 4px 15px rgba(0,0,0,.03)}.step-num{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-burgundy)}.step-icon{font-size:2.5rem;color:var(--color-evergreen);margin:17px 0}.step h3{margin-bottom:11px}.step p{color:var(--color-muted);font-size:.94rem}.benefits{background:white}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:33px}.benefit-grid article{padding:25px;background:var(--color-cream);border-top:4px solid var(--color-evergreen)}.benefit-grid article>span{font-size:2rem;color:var(--color-gold)}.benefit-grid h3{font-size:1.18rem;margin:17px 0 8px}.benefit-grid p{font-size:.9rem;color:var(--color-muted)}
/* Reviews, only display verified customer reviews when provided */
.testimonial-section{background:var(--color-stone)}.placeholder-disclaimer{max-width:470px;font-size:.82rem;color:var(--color-muted)}.testimonial-shell{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;gap:18px}.testimonial-arrow{width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:white;color:var(--color-brand);font-size:1.5rem}.testimonial-window{background:white;padding:35px 45px;text-align:center;box-shadow:var(--shadow-card);min-height:220px}.testimonial-card .stars{color:var(--color-gold);font-size:1.45rem;letter-spacing:.12em}.testimonial-card blockquote{font:italic 1.3rem/1.55 var(--font-heading);max-width:720px;margin:13px auto}.testimonial-card p{font-weight:700;color:var(--color-muted);font-size:.85rem}.testimonial-dots{display:flex;justify-content:center;gap:7px;margin:18px}.testimonial-dots span{height:7px;width:7px;border-radius:50%;background:#a9a7a0}.testimonial-dots span.selected{background:var(--color-burgundy);width:22px;border-radius:8px}
/* Lead form: exactly the same styles on home, every town and exit dialog */
.quote-section{padding:var(--section-space) 0;background:var(--color-brand);color:white}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.quote-copy{padding-top:28px}.quote-copy h2{color:white}.quote-copy h2 em{color:#e4c78f}.quote-copy>p{font-size:1.07rem;color:#e4ebee}.checklist{list-style:none;padding:0;margin:26px 0}.checklist li{margin:11px 0}.checklist span{color:#e3c687;margin-right:8px;font-weight:900}.quote-call{border-top:1px solid #758894;padding-top:18px;color:#dce7e7}.quote-call a{display:block;font-weight:900;font-size:1.7rem;color:white;text-decoration:none}.quote-card{background:white;color:var(--color-ink);padding:30px;border-top:6px solid var(--color-gold);box-shadow:var(--shadow-card);border-radius:var(--radius-card)}.quote-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.quote-card-heading h3{font-size:1.45rem;margin:5px 0 25px}.quick-time{font-size:.65rem;font-weight:900;letter-spacing:.09em;color:var(--color-evergreen);text-align:right}.form-progress{display:flex;gap:6px;margin:0 0 23px}.form-progress span{height:5px;background:#e6e3da;flex:1}.form-progress span.active{background:var(--color-burgundy)}.form-step{display:none}.form-step.active{display:block}.form-step-label{font-size:.7rem;font-weight:900;color:var(--color-evergreen);letter-spacing:.11em}.form-step h4{margin:7px 0 22px;font-size:1.32rem}.estimate-form label{display:block;font-size:.86rem;font-weight:700;margin:13px 0}.estimate-form input:not([type=checkbox]),.estimate-form select,.area-search-label input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-field);background:var(--color-field);color:var(--color-ink);font:inherit;font-size:1rem;min-height:46px}.estimate-form input:focus,.estimate-form select:focus{border-color:var(--color-evergreen);outline:2px solid rgba(41,74,58,.14)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.estimate-form .button{margin-top:14px;width:100%}.estimate-form .button:disabled{opacity:.55;cursor:wait}.form-buttons{display:flex;gap:12px;align-items:center}.form-back,.text-button{background:none;border:none;color:var(--color-brand);font-weight:900;padding:14px 8px}.form-buttons .button{flex:1}.form-privacy,.hint{font-size:.75rem;color:var(--color-muted);margin-top:12px}.form-privacy a{color:var(--color-brand);text-underline-offset:2px}.form-error{margin:10px 0;padding:12px;border-left:4px solid var(--color-error);background:#fff0ee;color:#7e211d;font-weight:700;font-size:.85rem}.form-result{text-align:center;padding:14px 0}.form-result h3{font-size:2.1rem;color:var(--color-evergreen)}.form-result p{color:var(--color-muted)}.success-mark{display:inline-grid;place-items:center;width:56px;height:56px;border:2px solid var(--color-good);border-radius:50%;color:var(--color-good);font-weight:bold;font-size:1.7rem}.consent{display:flex!important;align-items:flex-start;gap:10px;line-height:1.4!important}.consent input{width:20px;height:20px;flex:none;margin-top:1px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.service-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.service-teaser p{color:var(--color-muted)}.town-cloud{display:flex;flex-wrap:wrap;gap:10px}.town-cloud a{padding:9px 15px;border:1px solid var(--color-border);background:var(--color-cream);text-decoration:none;font-weight:800;font-size:.86rem}.town-cloud a:hover{background:var(--color-brand);color:white}.faq{background:var(--color-cream)}details{padding:15px 0;border-bottom:1px solid var(--color-border)}details summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:16px}details summary:after{content:'+';font-size:1.4rem;color:var(--color-evergreen)}details[open] summary:after{content:'−'}details p{margin-top:13px;color:var(--color-muted)}
/* Local location pages */
.town-hero{background:var(--color-cream);padding:50px 0 65px;border-bottom:1px solid var(--color-border)}.town-hero-grid{display:grid;grid-template-columns:1fr .94fr;gap:54px;align-items:center}.town-hero h1{font-size:clamp(2.5rem,4vw,4.3rem);color:var(--color-brand-dark);margin:18px 0}.town-lede{font-size:1.02rem;color:var(--color-ink);line-height:1.7}.breadcrumbs{font-size:.8rem;color:var(--color-muted);margin-bottom:18px}.breadcrumbs a{text-decoration:none;color:var(--color-brand);font-weight:800}.town-hero .hero-actions{margin:25px 0 15px}.town-points{display:flex;gap:11px;flex-wrap:wrap;color:var(--color-evergreen);font-size:.78rem;font-weight:800}.town-photo{position:relative;overflow:hidden;box-shadow:var(--shadow-card);border:8px solid white;background:var(--color-paper)}.town-photo img{display:block;width:100%;object-fit:cover}.town-photo-tag{position:absolute;left:0;bottom:0;background:var(--color-brand);color:white;padding:10px 15px;font-size:.65rem;letter-spacing:.08em;font-weight:900}.town-photo-link{display:inline-block;margin-top:13px;color:var(--color-burgundy);font-weight:800}.town-proof-photos{height:auto}.town-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.town-photo-pair figure{position:relative;margin:0;overflow:hidden;height:385px}.town-photo-pair img{height:100%;width:100%;object-fit:cover}.town-photo-pair figcaption{position:absolute;left:7px;top:10px;background:var(--color-burgundy);color:white;padding:5px 10px;font-size:.72rem;font-weight:900;letter-spacing:.1em}.town-photo-pair figure+figure figcaption{background:var(--color-evergreen)}.town-story p,.local-details p{max-width:650px}.story-card{background:var(--color-brand);padding:34px;color:white;border-left:6px solid var(--color-gold)}.story-card h3{font-size:1.5rem}.story-card .eyebrow{color:#dfc58e}.story-card p{color:#e2e9eb}.story-card-bottom{border-top:1px solid #72818a;padding-top:14px;font-weight:900;font-size:.72rem;letter-spacing:.08em}.story-card-bottom span{margin:0 8px;color:var(--color-gold)}.local-details{background:var(--color-cream)}.local-detail-list>div{display:flex;justify-content:space-between;gap:22px;align-items:center;border-bottom:1px solid var(--color-border);padding:18px 0}.local-detail-list strong{color:var(--color-burgundy);min-width:115px;font-size:.8rem}.local-detail-list span{color:var(--color-muted);font-size:.88rem}.town-bottom .container{max-width:830px}.town-bottom .container>p{margin:10px auto 20px}.town-bottom .text-link{display:block;margin-top:18px}.dark-outline{background:white}
/* Other pages */
.simple-hero{background:var(--color-cream);padding:65px 0;border-bottom:1px solid var(--color-border)}.simple-hero .container{max-width:950px}.simple-hero p{max-width:770px;font-size:1.08rem;color:var(--color-muted)}.simple-hero h1{color:var(--color-brand-dark)}.areas-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.area-search-label{min-width:min(360px,100%);font-size:.9rem;font-weight:800}.areas-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.areas-grid a{padding:12px;border:1px solid var(--color-border);text-decoration:none;font-weight:800;font-size:.85rem}.areas-grid a span{font-size:.66rem;font-weight:600;color:var(--color-muted);display:block}.areas-grid a:hover{background:var(--color-cream);border-color:var(--color-evergreen)}.areas-grid a[hidden]{display:none}.contact-hero{background:var(--color-cream)}.legal{max-width:830px;margin:auto}
/* Popup */
.modal{position:fixed;inset:0;z-index:99;background:rgba(15,29,36,.74);display:none;align-items:flex-start;justify-content:center;padding:22px;overflow-y:auto}.modal.visible{display:flex}.modal-card{position:relative;background:white;width:min(100%,600px);margin:auto;padding:35px;box-shadow:0 22px 70px rgba(0,0,0,.25);border-top:7px solid var(--color-gold)}.modal-card h2{font-size:2rem;margin-bottom:12px}.modal-card p{color:var(--color-muted)}.modal-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:2rem;color:var(--color-brand)}.modal-alt{font-weight:800;margin:23px 0 9px}.modal-form{padding:17px;border:1px solid var(--color-border);background:var(--color-cream)}.modal-form .estimate-form{background:white;padding:20px}.leave-button{display:block;margin:17px auto 0;text-decoration:underline}
/* Footer */
.footer{background:var(--color-footer);color:white;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr;gap:28px}.footer-grid p,.footer-grid span,.footer-grid a:not(.logo){color:#ced5d8;font-size:.88rem}.footer-grid a:not(.logo){text-decoration:none}.footer-grid>div:not(:first-child)>a,.footer-grid>div>span{display:block;margin:8px 0}.footer-grid h3{font:800 1rem var(--font-body);letter-spacing:.03em}.footer-call{display:block;font-size:1.2rem!important;font-weight:900;color:white!important}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #496071;padding-top:22px;margin-top:43px;color:#d4dddf;font-size:.78rem}.footer-logo{color:white}.footer-logo small{color:#e2d5b9}
@media(max-width:1100px){.nav nav{gap:11px}.nav-phone{display:none}.hero-grid{gap:30px}.town-hero-grid{gap:30px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.areas-grid{grid-template-columns:repeat(4,1fr)}.quote-layout{gap:35px}}
@media(max-width:820px){:root{--section-space:58px}.container{width:min(100% - 34px,var(--page-width))}.topline{font-size:.58rem}.topline span:last-child{display:none}.nav{min-height:72px;position:relative}.nav>.button{display:none}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--color-border);background:white;border-radius:var(--radius-button);padding:9px 13px;font-weight:900}.nav nav{display:none;position:absolute;top:72px;left:-17px;right:-17px;background:white;padding:20px;box-shadow:0 16px 20px rgba(0,0,0,.15);flex-direction:column;align-items:stretch;z-index:15}.nav nav.open{display:flex}.hero-grid,.town-hero-grid,.pitch-grid,.town-story-grid,.local-details-grid,.faq-grid,.quote-layout,.service-teaser-grid{grid-template-columns:1fr;gap:30px}.hero-grid{padding:45px 0}.hero-visual{height:380px}.town-hero{padding:36px 0}.town-photo-pair figure{height:310px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:18px}.footer-grid{grid-template-columns:repeat(2,1fr)}.areas-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){h1{font-size:2.65rem}h2{font-size:2.15rem}.hero-trust{grid-template-columns:1fr;gap:10px}.hero-visual{height:280px}.hero-actions .button,.hero-actions .outline-button{width:100%}.trust-strip .container{gap:10px}.trust-strip span{width:100%}.gallery-grid,.benefit-grid{grid-template-columns:1fr}.compare-images figure{height:210px}.town-photo-pair figure{height:250px}.testimonial-shell{grid-template-columns:30px 1fr 30px;gap:4px}.testimonial-arrow{width:30px;height:30px;font-size:1rem}.testimonial-window{padding:25px 15px;min-height:235px}.testimonial-card blockquote{font-size:1.05rem}.quote-card{padding:20px}.quick-time{display:none}.two-col{gap:9px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.areas-grid{grid-template-columns:repeat(2,1fr)}.areas-top{display:block}.area-search-label{display:block;margin-top:20px}.modal-card{padding:24px 16px}.modal-form{padding:8px}.modal-form .estimate-form{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Town-specific service details, inheriting the same master theme tokens */
.town-services{background:var(--color-paper)}.service-focus{background:var(--color-cream);padding:30px;border:1px solid var(--color-border)}.service-focus h3{color:var(--color-brand)}.service-focus ul{padding-left:22px;line-height:2}.service-focus li::marker{color:var(--color-evergreen)}.service-focus details p{max-width:600px}

/* Town conversion layout, same site-wide palette and type variables as the home page. */
.town-confidence-strip{background:var(--color-brand-dark);color:#f6f6f0;border-bottom:3px solid var(--color-gold)}
.town-confidence-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding-top:17px;padding-bottom:17px;font-size:.79rem;font-weight:700;line-height:1.4}
.town-confidence-inner span{display:flex;align-items:center;gap:13px}
.town-confidence-inner strong{font:700 1.2rem var(--font-heading);color:var(--color-gold)}
.town-value{background:var(--color-paper)}
.town-value-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(35px,5vw,85px);align-items:start}
.town-value-layout>div>p:not(.eyebrow){max-width:680px;color:var(--color-muted)}
.town-value-layout .town-large-copy{font-size:1.1rem;color:var(--color-ink)!important;line-height:1.8}
.town-condition-card{background:var(--color-brand);border-top:6px solid var(--color-gold);box-shadow:var(--shadow-card);padding:36px;color:white}
.town-condition-card h3{font-size:1.7rem;line-height:1.25;color:white}
.town-condition-card p{color:#e1e7eb}
.town-condition-card .eyebrow{color:#f4daa4}
.town-benefits{margin:15px 0 27px;padding:0;list-style:none}
.town-benefits li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid rgba(255,255,255,.19);color:#f1f2f0;font-size:.88rem}
.town-benefits li:before{content:'✓';position:absolute;left:0;color:#e9c687}
.town-solutions{background:var(--color-cream);border-top:1px solid var(--color-border)}
.town-section-intro{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.town-section-intro>div{flex:1}
.town-section-intro>p{flex:0 1 390px;color:var(--color-muted);margin-bottom:5px}
.town-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.town-service-card{display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-border);border-top:4px solid var(--color-evergreen);padding:28px 26px;box-shadow:0 3px 10px rgba(21,43,61,.04)}
.town-service-card:nth-child(2){border-top-color:var(--color-gold)}
.town-service-card:nth-child(3){border-top-color:var(--color-burgundy)}
.town-service-card .service-number{font-size:.68rem;letter-spacing:.13em;color:var(--color-evergreen);font-weight:900;margin-bottom:13px}
.town-service-card h3{font-size:1.42rem;line-height:1.25;margin-bottom:14px}
.town-service-card p{font-size:.92rem;color:var(--color-muted);line-height:1.65;flex-grow:1}
.town-service-card a{font-weight:800;color:var(--color-burgundy);text-decoration:none;border-top:1px solid var(--color-border);padding-top:12px}
.town-service-card a:hover{text-decoration:underline}
.town-service-footnote{margin-top:22px;border:1px solid var(--color-border);border-left:4px solid var(--color-gold);background:rgba(255,255,255,.65);padding:16px 21px;line-height:1.65;font-size:.88rem;color:var(--color-muted)}
.town-service-footnote strong{color:var(--color-brand-dark)}
.town-readmore{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:23px 0;padding:14px 0;color:var(--color-brand)}
.town-readmore summary{cursor:pointer;font-weight:800}
.town-readmore p{font-size:.9rem;line-height:1.75;margin-top:15px;color:var(--color-ink)}
.town-glossary{background:var(--color-field);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.glossary-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:45px;margin-bottom:25px}
.glossary-intro>div:last-child p{color:var(--color-muted);font-size:.98rem;line-height:1.65}
.glossary-intro .glossary-note{font-size:.81rem!important;border-left:3px solid var(--color-gold);padding-left:13px;margin-bottom:0}
.glossary-controls{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--color-paper);border:1px solid var(--color-border)}
.glossary-controls label{font-weight:900;font-size:.88rem;color:var(--color-brand);flex:0 0 220px;line-height:1.3}
.glossary-controls input{flex:1;min-width:0;width:100%;padding:13px 15px;border:1px solid var(--color-border);border-radius:var(--radius-field);background:var(--color-field);font:inherit;font-size:.92rem}
.glossary-controls button{font:800 .83rem var(--font-body);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-button);padding:12px 15px;color:var(--color-brand)}
.glossary-controls button:hover{background:var(--color-cream)}
.glossary-status{font-size:.8rem;color:var(--color-muted);margin:11px 0 18px}
.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.glossary-topic{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden;box-shadow:0 2px 9px rgba(21,43,61,.025)}
.glossary-topic[open]{border-color:var(--color-gold);box-shadow:var(--shadow-card)}
.glossary-topic>summary{list-style:none;display:flex;gap:13px;align-items:center;padding:18px 17px;cursor:pointer;min-height:85px}
.glossary-topic>summary::-webkit-details-marker{display:none}
.glossary-topic>summary:hover{background:var(--color-cream)}
.glossary-topic[open]>summary{background:var(--color-cream);border-bottom:1px solid var(--color-border)}
.glossary-topic-number{align-self:flex-start;color:var(--color-burgundy);font:700 1.1rem var(--font-heading);padding-top:2px}
.glossary-topic-name{font-weight:900;color:var(--color-brand-dark);font-size:.97rem;line-height:1.32;flex:1}
.glossary-topic-count{white-space:nowrap;font-size:.68rem;color:var(--color-muted);align-self:flex-end}
.glossary-topic-chevron{display:inline-flex;align-items:center;justify-content:center;background:var(--color-stone);border-radius:50%;height:24px;width:24px;font-weight:900;color:var(--color-brand);flex-shrink:0}
.glossary-topic[open] .glossary-topic-chevron{background:var(--color-brand);color:white;transform:rotate(45deg)}
.glossary-topic-content{padding:20px 21px 21px}
.glossary-topic-content>p:first-child{color:var(--color-muted);font-size:.88rem;line-height:1.6}
.glossary-terms{list-style:none;padding:0;margin:15px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.glossary-terms li{overflow-wrap:anywhere;background:var(--color-field);border:1px solid var(--color-border);border-radius:3px;padding:8px 10px;font-size:.75rem;line-height:1.38;color:var(--color-ink)}
.glossary-terms li:before{content:'›';font-weight:900;color:var(--color-evergreen);padding-right:5px}
.glossary-small-print{font-size:.78rem!important;margin:16px 0 0;color:var(--color-muted)}
.glossary-small-print a{color:var(--color-burgundy);font-weight:800}
.glossary-bottom-cta{background:var(--color-brand);border-bottom:4px solid var(--color-gold);color:white;margin-top:25px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.glossary-bottom-cta strong,.glossary-bottom-cta span{display:block}
.glossary-bottom-cta strong{font:700 1.5rem var(--font-heading);margin-bottom:4px}
.glossary-bottom-cta span{font-size:.88rem;color:#e2e8e9}
.glossary-bottom-cta .button{flex-shrink:0}
@media(max-width:940px){.town-value-layout,.glossary-intro{grid-template-columns:1fr;gap:28px}.town-section-intro{display:block}.town-section-intro>p{max-width:650px}.town-service-cards{grid-template-columns:1fr}.town-service-card{padding:24px}.glossary-controls label{flex-basis:170px}}
@media(max-width:700px){.town-confidence-inner{grid-template-columns:1fr;gap:9px}.glossary-grid{grid-template-columns:1fr}.glossary-controls{flex-wrap:wrap}.glossary-controls label{flex-basis:100%}.glossary-controls input{flex-basis:100%}.glossary-bottom-cta{display:block}.glossary-bottom-cta .button{margin-top:15px;width:100%}.glossary-terms{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.glossary-topic>summary{flex-wrap:wrap;min-height:0}.glossary-topic-count{margin-left:auto}.glossary-terms{grid-template-columns:1fr}}
