/* Accessibility contrast pass — loaded after the original site styles. */
:root{
  --bg:#063945;
  --bg-2:#07515c;
  --surface:#0b5661;
  --surface-2:#0d6971;
  --paper:#f7f4ea;
  --ink:#ffffff;
  --muted:#d3e6e5;
  --dark:#12363d;
  --dark-muted:#38575d;
  --line:rgba(255,255,255,.28);
  --paper-line:#c5d1cf;
  --coral:#bd432f;
  --pink:#ad3d62;
  --gold:#ffd166;
  --green:#187653;
  --shadow:0 24px 70px rgba(0,0,0,.30);
}

/* Hero imagery receives a dependable dark field behind text at every width. */
.psl-hero{background-image:linear-gradient(90deg,rgba(2,26,32,.97) 0%,rgba(2,34,41,.84) 52%,rgba(2,35,42,.54) 100%),url('/assets/images/hero-lake-tradition.webp')}
.hero-overlay{background:linear-gradient(90deg,rgba(3,15,20,.95) 0%,rgba(3,15,20,.76) 52%,rgba(3,15,20,.38) 100%),linear-gradient(0deg,rgba(3,15,20,.82),transparent 62%)}
.hero p:not(.eyebrow){color:#f2f7f7}
.prompt-links a{color:#f5f9f9;border-color:rgba(255,255,255,.48)}
.primary-nav a{color:#edf4f4}
.weather-chip small{color:#d3e6e5}

/* Secondary copy and low-emphasis UI on light surfaces. */
.live-meta,.event-location,.live-skeleton,.live-empty,.live-source-banner p,
.section-heading p,.utility-grid p,.content-section .section-heading p,
.editorial-grid p,.source-cards p,.directory-toolbar span,.empty-state p,
.review-note,.source-list span,.credit-card p,.shop-local-home p,
.placement-grid p,.placement-grid ul,.sponsor-inventory-copy p,.sponsor-slot p,
.business-paths p{color:var(--dark-muted)}
.prose p{color:#324f55}
.notice-card p{color:#43565a}

/* Dark-surface copy, including paid-placement panels and live weather. */
.listing-card p,.area-card p:not(.card-kicker),.newsletter-section p,
.sponsor-preview p,.shop-local-hero>div>p:not(.eyebrow),.shop-local-hero-card p,
.placement-featured p,.placement-featured ul{color:var(--muted)}
.feature-band p:not(.eyebrow){color:#e2ebed}
.claim-card p,.live-weather p{color:#d5e3e5}
.guide-plan,.guide-steps li{color:var(--ink)}
.page-hero .eyebrow,.photo-credits .eyebrow,.home-visual-guides .eyebrow,.shop-local-hero .eyebrow{color:var(--gold)}
.planning-proof .eyebrow,.home-warm-cta .eyebrow{color:#14313a}
.footer-grid>div:first-child p{color:#c5d1d4}
.footer-grid>div:not(:first-child) a{color:#d3dde0}
.footer-bottom{color:#bdc9cd}

/* Labels and live-data states must remain legible without relying on color alone. */
.event-date,.event-source{color:#8f2d1f}
.live-source-banner{border-color:#c99f55;background:#fff5d7}
.live-source-banner span{color:#6f3d08}
.notice-card{border-color:#d7b46e;background:#fff5dc}
.source-cards span,.facts dt,.listing-stack span,.empty-state span{color:#8c3425}
.utility-grid span,.business-paths span,.sponsor-slot-link{color:#8c3425}
.placement-number{color:#a53625}
.sponsor-label{background:var(--gold);color:#2a250e;border:1px solid rgba(42,37,14,.22)}

/* Controls: darker primary action, stronger border and clearly visible focus. */
.button,.concierge-search button{background:var(--coral);border-color:var(--coral);color:#fff}
.button:hover,.concierge-search button:hover{background:#9f3222;border-color:#9f3222}
.email-form input,.email-form select,.email-form textarea,.directory-toolbar input,.directory-toolbar select{border-color:#9baead;color:#16383e}
.email-form input::placeholder,.email-form textarea::placeholder,.directory-toolbar input::placeholder{color:#61777b;opacity:1}
.concierge-search:focus-within{outline-color:rgba(255,209,102,.85)}
:focus-visible{outline-color:#ffd166;outline-offset:4px}

/* Decision-first landing-page links. */
.audience-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border-bottom:1px solid var(--paper-line)}.audience-strip a{min-height:120px;padding:24px 20px;border-right:1px solid var(--paper-line);color:var(--dark);text-decoration:none}.audience-strip a:last-child{border-right:0}.audience-strip b,.audience-strip span{display:block}.audience-strip b{margin-bottom:7px;font:700 18px/1.2 "Space Grotesk",sans-serif}.audience-strip span{color:var(--dark-muted);font-size:15px;line-height:1.4}.audience-strip a:hover,.audience-strip a:focus-visible{background:#fffaf0}.live-events-section .text-link{font-weight:700;color:#8c3425}@media(max-width:760px){.audience-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-strip a:nth-child(2){border-right:0}.audience-strip a:nth-child(-n+2){border-bottom:1px solid var(--paper-line)}}

/* Native controls use browser-local preferences; no third-party service is involved. */
.accessibility-controls{position:relative;margin-left:4px}.accessibility-trigger{padding:8px 11px;border:1px solid #d3e6e5;border-radius:999px;background:transparent;color:#fff;font:700 13px/1.15 "Source Sans 3",sans-serif;cursor:pointer}.accessibility-trigger:hover{background:rgba(255,255,255,.14)}.accessibility-panel{position:absolute;z-index:20;top:calc(100% + 10px);right:0;width:min(340px,calc(100vw - 32px));padding:18px;border:2px solid #ffd166;border-radius:12px;background:#fff;color:#12363d;box-shadow:0 18px 42px rgba(0,0,0,.35)}.accessibility-panel h2{margin:0 0 8px;font:700 21px/1.2 "Space Grotesk",sans-serif}.accessibility-panel p{margin:0 0 12px;color:#324f55}.accessibility-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.accessibility-actions button{min-height:42px;padding:8px;border:1px solid #38575d;border-radius:7px;background:#fff;color:#12363d;font:700 14px/1.2 "Source Sans 3",sans-serif;cursor:pointer}.accessibility-actions button[aria-pressed="true"]{border-color:#12363d;background:#12363d;color:#fff}.accessibility-actions button[data-accessibility-action="reset"]{grid-column:1/-1}.accessibility-status{min-height:1.25em;font-weight:600}.accessibility-panel>a{color:#12363d;font-weight:700}.accessibility-panel[hidden]{display:none}
html.accessibility-text-large{font-size:112.5%}
html.accessibility-high-contrast{--bg:#000;--bg-2:#000;--surface:#111;--surface-2:#111;--paper:#fff;--ink:#fff;--muted:#fff;--dark:#000;--dark-muted:#111;--line:#fff;--paper-line:#000;--coral:#9d260f;--pink:#8f174e;--gold:#ffd166;--green:#005a35}html.accessibility-high-contrast .listing-card,html.accessibility-high-contrast .event-card,html.accessibility-high-contrast .source-cards>a,html.accessibility-high-contrast .notice-card,html.accessibility-high-contrast .live-source-banner,html.accessibility-high-contrast .placement-grid article,html.accessibility-high-contrast .accessibility-panel{border-width:2px;border-color:#000}html.accessibility-high-contrast a{text-decoration-thickness:2px}
html.accessibility-reduce-motion,html.accessibility-reduce-motion *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}

@media(max-width:640px){
  .accessibility-controls{margin-left:0}.accessibility-trigger{padding:7px 9px;font-size:12px}.accessibility-panel{position:fixed;top:12px;right:12px;max-height:calc(100vh - 24px);overflow:auto}
  .psl-hero{background-image:linear-gradient(0deg,rgba(2,20,25,.97),rgba(2,31,37,.72)),url('/assets/images/hero-lake-tradition.webp')}
  .hero-overlay{background:linear-gradient(0deg,rgba(3,15,20,.97),rgba(3,15,20,.62))}
}
