/* Canonical refinement layer. See DESIGN.md; loaded after page styles. */
:root{
 --guide-ink:#173b3a;--guide-muted:#496359;--guide-border:#d5ddcf;
 --guide-paper:#fffefa;--guide-ground:#f5f3eb;--guide-sage:#edf1e9;
 --guide-radius:8px;--guide-gap:24px;--guide-space:clamp(40px,5vw,64px);
 --guide-title:clamp(40px,5.4vw,72px);
}
/* One editorial title scale; the opening slogan keeps its established display face. */
.page-head h1,.directory-head h1,.attractions-intro h1,
.local-businesses .local-business-heading h1,.guide-search-page h1,
.forecast-heading h1,.history-hero h1,.meetup-intro h1{
 font-family:var(--editorial-serif);font-size:var(--guide-title);font-weight:400;
 line-height:1.08;letter-spacing:-.04em;text-transform:none;text-wrap:balance;
}
.page-head,.page-head.text-only,.directory-head,.attractions-intro,
.local-businesses,.guide-search-page,.forecast-full,.meetup-intro{padding-top:var(--guide-space)}
.page-head .lead,.directory-head p:not(.eyebrow),.search-intro{line-height:1.65;max-width:65ch}
.article p,.article li{max-width:68ch}
/* Shared card geometry and quiet surfaces, without ornamental rings or shadows. */
:is([data-directory="food"],[data-directory="stay"]) .place-card,
.local-businesses .local-list-card,.local-businesses .local-list-card:nth-child(n),
.local-businesses .local-business-card,.is-home .home-featured .discovery-tile{
 border-radius:var(--guide-radius);box-shadow:none;
}
.local-businesses .local-list-card:hover{box-shadow:none}
.local-businesses .local-business-mark:before,.local-businesses .local-business-mark:after{display:none}
.local-businesses .local-list-card{transition:border-color .18s ease}
:is([data-directory="food"],[data-directory="stay"]) .place-grid{gap:var(--guide-gap)}
/* Stable image frames; venue and landmark focal points remain individually set. */
.attraction-card img{height:auto;aspect-ratio:3/2;object-fit:cover}
.is-home .discovery-tile{transition:border-color .18s ease}
.is-home .discovery-tile:hover{transform:none}
/* Controls share a usable target and visible keyboard state. */
.directory-tools input,.directory-tools select,.local-directory-tools input,
.attractions-tools input,.attractions-tools select{font:inherit;min-height:48px;border-radius:6px}
.directory-view button,.attraction-filters button,.local-businesses .local-filters button{min-height:44px}
:where(input,select,button,summary,a):focus-visible{outline:3px solid #9c3f00;outline-offset:4px}
.site-header :focus-visible,.footer :focus-visible{outline-color:#ffcd96}
@media(max-width:720px){
 :root{--guide-gap:16px;--guide-title:clamp(38px,10vw,56px)}
 .discovery-heading{align-items:start;gap:12px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Contrast corrections found by the rendered accessibility audit. */
.history-hero .eyebrow,.history-intro .eyebrow,.history-tag,
.history-local-note .eyebrow,.local-business-more .eyebrow{color:#805026}
.map-choice .eyebrow,.directory-promo .eyebrow{color:#425d50}
:is([data-directory="food"],[data-directory="stay"]) .place-card-featured .business-address-meta{color:#d2dfd3}
