/* Shared consumer typography and navigation, used by every page. */
:root{--font-site:Arial,Helvetica,sans-serif;--muted:#4d5b63;--type-body:1.125rem;--type-small:.875rem;--type-label:1rem}
body{font-family:var(--font-site);font-size:var(--type-body);line-height:1.65}
h1,h2,h3,.town-tag,.towns>a>span:nth-child(2),.review-grid blockquote,.support-person h3,.contact-phone,.steps>div>span{font-family:var(--font-site)}
h1,.hero h1,.agent-profile h1,.workshop-hero h1,.strategy-intro h1,.town-hero h1{font-size:clamp(2.25rem,4.5vw,4.5rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
h2,.buyer h2,.town-editorial h2,.town-related h2{font-size:clamp(1.875rem,3vw,3rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
h3{font-size:1.25rem;font-weight:600;line-height:1.35;letter-spacing:0}
p{line-height:1.75;overflow-wrap:break-word}
.hero-description,.town-lead,.workshop-hero>p:not(.eyebrow),.town-editorial p:not(.eyebrow){font-size:var(--type-body);line-height:1.75;max-width:68ch}
.eyebrow,.hero .eyebrow,.town-advisor .eyebrow{font-size:.8125rem;letter-spacing:.1em;line-height:1.6}
.topbar{font-size:var(--type-small);letter-spacing:.04em;gap:16px}
.brand>span,.footer-brand>span{font-size:.75rem;letter-spacing:.18em;line-height:1.4}
.header{gap:20px}.header .brand img{width:180px}.header nav{gap:18px;font-size:var(--type-label);line-height:1.4}.header nav>a{min-height:44px;display:flex;align-items:center}.header nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:7px}
.nav-cta{gap:12px;padding:12px 16px;white-space:normal}
.button,.text-link,.secondary-link,.light-link,.back-link,.agent-role,.support-person .support-role,.town-note,.town-jump,.profile-breadcrumb,.form-grid label,.form-status{font-size:var(--type-label);line-height:1.5}
.button{font-weight:600;min-height:52px;max-width:100%;gap:16px;white-space:normal;text-align:left;overflow-wrap:break-word}
.text-link,.secondary-link,.light-link{font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.text-link{border-bottom:0;gap:16px}.secondary-link{padding-block:5px}.button:hover{transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a93635;outline-offset:4px}
.buyer a:focus-visible,.buyer summary:focus-visible,.hero a:focus-visible,.town-hero a:focus-visible{outline-color:#fff}
.steps p,.support-person p:last-child,.town-advisor p:not(.eyebrow),.buyer-process details p,.seller-copy>p.workshop-copy{font-size:var(--type-body);line-height:1.75}
.steps>div{gap:18px;padding:22px 0}.steps>div>span{font-size:var(--type-label);font-weight:600}.steps h3{line-height:1.4}
.buyer-process summary{font-size:var(--type-small);min-height:44px}.buyer-process summary span{font-size:1.125rem;font-weight:600;line-height:1.5}.buyer-process details p{padding-left:0;padding-right:0}
.towns>a>span:nth-child(2){font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.4}.town-number{font-size:var(--type-small);color:var(--muted)}
.review-grid blockquote{font-size:1.375rem;line-height:1.55;letter-spacing:0}.review-grid figcaption,.review-grid figcaption strong{font-size:var(--type-small);line-height:1.65}
.support-person h3,.town-advisor h2,.form-panel h2{font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.contact-phone{font-size:1.75rem;font-weight:600;letter-spacing:0}.contact-options{min-width:0;max-width:100%}
.footer-main{font-size:var(--type-label)}.footer-bottom,.form-consent,.form-note,.town-source,.town-gallery figcaption span,.event-row p,.event-row time span{font-size:var(--type-small);line-height:1.7}.town-gallery figcaption{font-size:var(--type-label);line-height:1.6}
.image-label,.hero-bottom,.hero-bottom>span,.hero-bottom>a{font-size:var(--type-small);letter-spacing:.035em;line-height:1.5}
.form-grid input,.form-grid select,.form-grid textarea{font-size:var(--type-label);line-height:1.5;min-height:48px}.form-grid label{line-height:1.6}.form-consent{margin-block:24px}
.town-jump{gap:12px 24px;padding-block:16px}.town-jump a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}.town-source a{text-decoration:underline;text-underline-offset:4px}
.profile-breadcrumb{flex-wrap:wrap;gap:8px 12px;line-height:1.6}.profile-breadcrumb a{min-height:32px}.guide-faq summary{font-size:1.125rem;line-height:1.5;min-height:44px}
.section>*,.support-person>*,.strategy-layout>*,.form-grid>*,.town-layout>*{min-width:0}.search-guide .town-editorial{max-width:68ch;margin-inline:auto}.town-editorial>section{scroll-margin-top:24px}
@media(max-width:1200px){
 .header{padding:18px 6%;flex-wrap:wrap;gap:18px}.header .brand img{width:180px}
 .menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;padding:10px 16px;font-size:1rem;min-height:48px;color:var(--ink)}
 .header nav{display:none;width:100%;padding-top:12px;gap:0;font-size:1rem}.header nav.open{display:flex;flex-direction:column;align-items:stretch}
 .header nav>a{padding:16px 0;border-top:1px solid var(--line);min-height:52px}.header nav>.nav-cta{border:0;border-top:1px solid var(--line);justify-content:space-between}
 .agent,.intro,.seller,.buyer-inner,.strategy-layout{gap:40px}
}
@media(max-width:900px){.strategy-layout,.workshop-topics{grid-template-columns:1fr}.town-layout{grid-template-columns:1fr}.town-advisor{max-width:440px}.support-grid{gap:36px}.contact{flex-wrap:wrap}.contact-options{width:100%}}
@media(max-width:760px){
 .topbar{font-size:.8125rem;letter-spacing:0;text-align:center}.brand>span{font-size:.75rem}
 .hero{height:auto;min-height:660px}.hero-content{padding-bottom:140px}.hero-description{max-width:38ch;font-size:1.125rem}.hero-bottom{gap:20px}.hero-bottom>a{max-width:50%;font-size:.875rem}
 .section{padding-block:56px}.agent,.intro,.seller,.buyer-inner{gap:32px}.agent-profile{padding-top:24px}.support-team{padding-top:16px}.reviews{padding-top:16px}
 .town-gallery{padding-block:28px}.town-lead{font-size:1.125rem}.town-tag{font-size:1.375rem;line-height:1.5}.town-jump{padding-inline:6%}.town-editorial p:not(.eyebrow){line-height:1.75}
 .form-panel{padding:24px 20px}.form-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:28px}.footer-brand img{width:180px}
 .support-grid{grid-template-columns:1fr}.support-person{grid-template-columns:120px minmax(0,1fr);gap:20px}.support-person h3{font-size:1.5rem}
 .contact-options .button,.strategy-form>.button{width:100%;max-width:none}.actions{align-items:stretch}.actions .button{justify-content:center}.search-guide{padding-top:40px}
}
@media(max-width:420px){.actions{flex-direction:column}.actions .button{width:100%}.support-person{grid-template-columns:1fr}.support-person img{max-width:220px}.hero-bottom{flex-direction:column;gap:8px}.hero-bottom>a{max-width:none;text-align:left}.hero-content{padding-bottom:160px}}

/* Team and brokerage contact information remain clearly identified. */
.footer-main{display:grid;grid-template-columns:1fr 1.2fr .85fr;gap:48px;align-items:start}.footer-main>div:nth-child(3){line-height:1.7}.footer-team p{margin-top:24px}.footer-office .kw{width:190px;height:auto;max-width:100%;margin-bottom:20px}.footer-office p{margin-top:8px}.footer-office address{font:inherit;line-height:1.75;margin-top:8px;color:var(--muted)}.footer-main strong{color:var(--ink)}.footer-main a:not(.brand){text-underline-offset:4px}.footer-team p a,.footer-office p a,.footer-office-link{text-decoration:underline}.footer-office-link{display:inline-block;margin-top:14px;min-height:36px}.footer-links{display:flex;flex-direction:column;gap:4px}.footer-links strong{margin-bottom:10px}.footer-links a{padding-block:7px;line-height:1.5}.footer-links a:hover{text-decoration:underline}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.footer-links strong{grid-column:1/-1}}
@media(max-width:600px){.footer-main{grid-template-columns:1fr;gap:36px}.footer-links{grid-template-columns:1fr}.footer-office{padding-top:28px;border-top:1px solid var(--line)}}
