/* Client palette: light, welcoming pages framed by pine and a restrained brass accent. */
:root {
  --palette-pine: #193D32;
  --palette-brass: #D5BC83;
  --palette-ivory: #F4F0E6;
  --palette-sage: #AAB5A2;
  --palette-stone: #E4DCCD;
  --palette-ink: #20372F;
  --palette-muted: #4E6256;
  --palette-line: #B9C2B2;
  --paper: var(--palette-ivory);
  --ink: var(--palette-ink);
  --gold: var(--palette-brass);
  --line: var(--palette-line);
  --pine: var(--palette-pine);
  --champagne: var(--palette-brass);
  --cream: var(--palette-ivory);
  --brand-cream: var(--palette-ivory);
  --brand-pine: var(--palette-pine);
  --brand-gold: var(--palette-brass);
}
body { background: var(--palette-ivory); color: var(--palette-ink); }
::selection { background: var(--palette-brass); color: var(--palette-ink); }
html { scrollbar-color: var(--palette-sage) var(--palette-ivory); }
input, select, textarea { accent-color: var(--palette-pine); caret-color: var(--palette-pine); }

/* The familiar green jewel and navigation keep their position and proportions. */
.site-subheader { background: var(--palette-stone); color: var(--palette-ink); border-bottom-color: var(--palette-sage); }
.site-subheader a, .site-subheader .subheader-left, .site-subheader .subheader-right { color: var(--palette-ink); }
.site-header { background: var(--palette-pine); color: var(--palette-ivory); border-bottom-color: var(--palette-brass); }
.site-header .brand-jewel:before { background: var(--palette-brass); }
.site-header .brand-jewel:after, .site-header .brand-jewel:hover:after { background: var(--palette-pine); }
.site-header nav a, .site-header .menu-toggle { color: var(--palette-ivory); }
.site-header nav a:hover, .site-header nav a[aria-current=page] { color: var(--palette-brass); }
.site-header .header-contact, .site-header .header-contact:hover { background: var(--palette-brass); color: var(--palette-ink); border-color: var(--palette-brass); }

/* Ivory is the principal surface; stone and a wash of sage give the page rhythm. */
.service-section, .home-properties, .communities, .meet-team,
.page-intro, .county-page, .town-guide-intro, .town-nearby-homes,
.property-search-page .search-page-intro { background: var(--palette-ivory); }
.service-stories article { background: var(--palette-stone); }
.about, .map-section, .community-map-section, .town-local-team, .county-help {
  background: color-mix(in srgb, var(--palette-ivory) 77%, var(--palette-sage));
}
.helpful-resources, .town-lifestyle, .county-directory { background: var(--palette-stone); }
.section-label, .communities .eyebrow { color: var(--palette-muted); }
.about h2 em { color: var(--palette-pine); }
.home-properties:before, .communities:before, .map-section:before { background-color: var(--palette-pine); }
.portrait span { background: var(--palette-pine); color: var(--palette-ivory); }
.team-card .team-role, .team-license { color: var(--palette-muted); }

/* Search stays a clear pine destination within a lighter page. */
.property-search-band { background: var(--palette-ivory); }
.property-search-band:after, .property-search-page .search-page-panel { background: var(--palette-pine); }
.property-search-band .property-search-heading, .property-search-band h2,
.property-search-page .search-page-panel-heading h2 { color: var(--palette-ivory); }
.property-search-band .search label, .property-search-page #filters label { color: var(--palette-brass); }
.property-search-band .search select, .property-search-page #filters select,
.property-search-band .search select option, .property-search-page #filters select option {
  background: var(--palette-ink); color: var(--palette-ivory); border-color: var(--palette-sage);
}
.property-search-band .search .button, .property-search-page .search-page-actions .button,
.town-home-filters .button { background: var(--palette-brass); border-color: var(--palette-brass); color: var(--palette-ink); }
.property-search-band .search .button:hover, .property-search-page .search-page-actions .button:hover,
.town-home-filters .button:hover { background: var(--palette-stone); border-color: var(--palette-stone); color: var(--palette-ink); }
.town-jump, .town-home-filters { background: var(--palette-pine); color: var(--palette-ivory); }
.town-resource-book { background: var(--palette-ivory); border-top-color: var(--palette-brass); }
.county-preview-choices { background: var(--palette-stone); }
.county-preview-choices button { color: var(--palette-ink); }
.county-preview-choices button:hover { background: var(--palette-sage); }
.county-preview-choices button[aria-pressed=true] { background: var(--palette-pine); color: var(--palette-ivory); border-color: var(--palette-pine); }
.community-map-section .map-layout .county-preview { background: var(--palette-ivory); border-color: var(--palette-line); }

/* A warm, legible close to every page. */
footer { background: var(--palette-pine); color: var(--palette-ivory); }
footer h2, footer h3, footer .section-label, footer .home-contact-intro,
.home-contact-founders figcaption, .home-contact-founders strong { color: var(--palette-ivory); }
.home-contact-panel, .contact-form-panel { background: var(--palette-ivory); color: var(--palette-ink); }
.home-contact-panel h3, .home-contact-form label, .home-contact-status { color: var(--palette-ink); }
.home-contact-panel>p, .home-contact-form label>span, .home-contact-actions .home-contact-note { color: var(--palette-muted); }
.home-contact-form input:not([type=hidden]), .home-contact-form select, .home-contact-form textarea {
  background: color-mix(in srgb, var(--palette-ivory) 45%, white); color: var(--palette-ink); border-color: var(--palette-sage);
}
.home-contact-form textarea::placeholder { color: var(--palette-muted); }
.home-contact-actions .button { background: var(--palette-pine); border-color: var(--palette-pine); color: var(--palette-ivory); }
.home-contact-actions .button:hover { background: var(--palette-ink); border-color: var(--palette-ink); color: var(--palette-ivory); }
footer .button.light { background: var(--palette-ivory); color: var(--palette-pine); border-color: var(--palette-ivory); }
footer .button.light:hover, footer .button.light:focus-visible { background: var(--palette-brass); color: var(--palette-ink); border-color: var(--palette-brass); }
footer .footer-bottom, .home-contact-founders { border-color: color-mix(in srgb, var(--palette-sage) 55%, var(--palette-pine)); }

@media(max-width:1100px) {
  .site-header #main-navigation { background: var(--palette-pine); }
}

/* a11y: .section-label on the dark launch-search panel was 2.28:1 against #20201e.
   #8A948B measures 5.2:1 and stays in the same muted sage family. 2026-10-31 */
.launch-search-invitation .section-label{color:#8A948B}
