@charset "UTF-8";

/* Phone-first foundations: the original green brand, two fonts, four base colors. */
:root {
  --green:#147547;
  --green-dark:#172d24;
  --ink:#172d24;
  --muted:#172d24;
  --line:rgba(23,45,36,.14);
  --paper:#ffffff;
  --pale:#f2f5f3;
  --orange:#147547;
  --radius:20px;
  font-family:Georgia,serif;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-size:16px;line-height:1.65}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
a{color:inherit;text-decoration:none;text-underline-offset:4px}
a:hover{color:var(--green)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:Arial,sans-serif;line-height:1.12;letter-spacing:-.045em;overflow-wrap:break-word}
h1{font-size:clamp(2.15rem,7vw,3.8rem);font-weight:750}
h2{font-size:clamp(1.65rem,4.5vw,2.35rem);font-weight:700}
h3{font-size:1.18rem;line-height:1.3;letter-spacing:-.025em}
h1>span{color:var(--green)}
p{overflow-wrap:break-word}
.container{width:calc(100% - 32px);max-width:1200px;margin-inline:auto}
.icon{display:inline-block;width:21px;height:21px;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 20px;background:var(--paper);border:2px solid var(--green);border-radius:10px}
.skip-link:focus{top:12px}

/* A compact header; the existing menu expands into generous, clear destinations. */
.topbar{background:var(--green-dark);color:var(--paper);font: .75rem/1.5 Arial,sans-serif}
.topbar .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 16px;min-height:32px;padding-block:6px}
.status-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--paper)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:78px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;font-family:Arial,sans-serif}
.brand img{width:42px;height:42px;border-radius:12px;flex-shrink:0}
.brand>span{font-size:1.13rem;letter-spacing:-.045em;line-height:1.2}
.brand strong{font-weight:800}
.brand-dot{color:var(--green)}
.brand small{display:block;margin-top:5px;font-size:.75rem;letter-spacing:.015em;font-weight:400}
.menu-toggle{display:grid;place-items:center;width:48px;height:48px;margin-left:auto;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:var(--pale)}
.menu-toggle[aria-expanded=true]{background:var(--ink);color:var(--paper)}
#main-nav{display:none;width:100%;gap:6px;padding:4px 0 8px;max-height:calc(100dvh - 110px);overflow-y:auto;font-family:Arial,sans-serif}
#main-nav.is-open{display:grid;grid-template-columns:1fr}
#main-nav a{display:flex;align-items:center;min-height:48px;padding:12px 16px;border-radius:12px;font-size:.9375rem;font-weight:600;line-height:1.45}
#main-nav a[aria-current=page]{background:var(--green);color:var(--paper)}
#main-nav a:hover:not([aria-current=page]){background:var(--pale)}
.header-weather{display:none;align-items:center;gap:8px;min-height:44px;font: .875rem/1.4 Arial,sans-serif}
.header-weather .icon{color:var(--green)}
.location-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:17px 0;margin-bottom:8px}
.location-label{display:flex;align-items:center;gap:6px;font: .8125rem/1.5 Arial,sans-serif;color:var(--green)}
.location-label .icon{width:16px;height:16px}
.towns{display:flex;gap:8px;flex-wrap:wrap}
.towns button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font: .875rem Arial,sans-serif}
.towns button[aria-pressed=true]{background:var(--green);color:var(--paper)}

/* The same homepage content, with search readable and usable on the smallest screen. */
.welcome-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin:12px 0 24px}
.welcome-row>div{min-width:0;flex:1 1 260px}
.eyebrow{font:700 .75rem/1.5 Arial,sans-serif;letter-spacing:.11em;color:var(--green);margin-bottom:10px}
.welcome-row p:not(.eyebrow){max-width:600px;margin-top:14px;font-size:1rem;line-height:1.65}
.local-stamp{display:block;border-left:2px solid var(--green);padding:3px 0 3px 12px;font: .75rem/1.7 Arial,sans-serif;letter-spacing:.09em;color:var(--green)}
.local-stamp b{font-size:.75rem;font-weight:400;letter-spacing:.02em}
.searchbar{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px 12px;margin-bottom:24px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 5px 24px rgba(23,45,36,.04)}
.searchbar:focus-within,.input-with-icon:focus-within{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}
.searchbar>.icon{margin-left:4px;color:var(--green)}
.searchbar input{width:100%;min-width:0;min-height:44px;border:0;background:transparent;padding:8px 0;font:1rem/1.5 Arial,sans-serif}
.searchbar input:focus-visible,.input-with-icon input:focus-visible{outline:none}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}
.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 18px;border:1px solid transparent;border-radius:12px;background:var(--green);color:var(--paper);font:600 .9375rem/1.4 Arial,sans-serif;text-align:center}
.button:hover{background:var(--green-dark);color:var(--paper)}
.searchbar .button{grid-column:1/-1;width:100%}
.button-white{background:var(--paper);color:var(--ink)}
.button-white:hover{background:var(--pale);color:var(--ink)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.river-feature{position:relative;min-width:0;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:var(--paper)}
.river-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,45,36,.88),rgba(23,45,36,.32)),linear-gradient(0deg,rgba(23,45,36,.35),transparent)}
.feature-copy{position:relative;z-index:1;padding:26px 22px 16px}
.photo-tag{display:flex;align-items:center;gap:6px;font: .75rem/1.5 Arial,sans-serif;letter-spacing:.06em;margin-bottom:22px}
.photo-tag .icon{width:16px;height:16px}
.feature-copy h2{font-size:clamp(1.85rem,6vw,3rem);line-height:1.1;max-width:600px}
.feature-copy p{max-width:360px;margin:16px 0 22px;font-size:1rem;line-height:1.6}
.photo-credit{position:relative;z-index:2;display:flex;align-items:center;min-height:44px;margin:0 22px 8px;padding:8px 0;font:.75rem/1.4 Arial,sans-serif;text-decoration:underline;color:var(--paper)}
.photo-credit:hover{color:var(--paper)}
.river-feature a:focus-visible{outline-color:var(--paper)}

/* Weather always uses normal flow, including long live forecasts and failure states. */
.weather-card{display:flex;flex-direction:column;min-width:0;padding:24px;border-radius:var(--radius);background:var(--pale);border:1px solid var(--line);font-family:Arial,sans-serif}
.card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.card-topline h2{font-size:1.25rem;letter-spacing:-.03em}
.weather-location{font-size:.8125rem}
.weather-main{display:flex;align-items:center;gap:20px;margin:22px 0 12px;min-width:0}
.weather-main>div{display:flex;flex-direction:column;gap:7px;min-width:0}
.large-weather.icon{width:54px;height:54px;color:var(--green);stroke-width:1.3}
.temperature{font-size:3.5rem;font-weight:500;line-height:1;letter-spacing:-.065em}
.weather-main span:not(.large-weather){font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
.weather-detail{font-size:.875rem;line-height:1.6;margin-bottom:16px}
.forecast-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}
.forecast-day{font-size:.8125rem;text-align:center;overflow-wrap:anywhere}
.forecast-day .icon{display:block;margin:10px auto;color:var(--green)}
.forecast-day strong{font-size:1rem}
.weather-updated{font-size:.75rem;margin-top:18px}
.weather-source{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin-top:auto;padding-top:16px;font-size:.8125rem;text-decoration:underline}
.weather-source .icon{width:16px;height:16px}
.weather-alert{display:block;margin-top:14px;padding:14px;border:1px solid var(--green);border-left-width:4px;border-radius:10px;font-size:.875rem;line-height:1.6;background:var(--paper)}
.weather-alerts-note{font-size:.8125rem;margin:12px 0}
.weather-card .muted{font-family:Georgia,serif}

/* Clear, comfortable lists on phones; progressively richer grids on larger screens. */
.quick-links{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;margin-top:20px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line)}
.quick-links a{display:flex;align-items:center;gap:14px;min-width:0;padding:17px 18px;background:var(--paper)}
.quick-links a:hover{background:var(--pale)}
.quick-links a>span:nth-child(2){min-width:0;font:600 1rem/1.4 Arial,sans-serif}
.quick-links small{display:block;margin-top:4px;font:.875rem/1.4 Georgia,serif}
.quick-links .quick-icon{width:40px;height:40px;padding:9px;border-radius:12px;background:var(--pale);color:var(--green)}
.quick-links a>.icon:last-child{width:18px;margin-left:auto}
.content-section{margin-top:44px}
.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 20px;margin-bottom:20px}
.section-heading>div{flex:1 1 220px;min-width:0}
.section-heading .eyebrow{margin-bottom:8px}
.section-heading h2{font-size:clamp(1.65rem,4vw,2.15rem)}
.text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:var(--green);font:600 .875rem/1.5 Arial,sans-serif}
.text-link .icon{width:17px;height:17px}
.text-link:hover{text-decoration:underline}
.feed-note{font:.8125rem/1.6 Arial,sans-serif;margin:0 0 18px}
.event-grid,.place-grid,.news-grid,.directory-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.event-card,.place-card,.news-card,.directory-card{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.event-card{display:flex;flex-direction:column;padding:22px}
.event-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.date-tile{min-width:58px;padding:8px 12px;border-radius:12px;background:var(--pale);text-align:center;color:var(--green);font-family:Arial,sans-serif}
.date-tile small{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.date-tile strong{display:block;font-size:1.85rem;line-height:1.15;font-weight:600}
.category-tag{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font:.75rem/1.4 Arial,sans-serif}
.event-card h3{margin-bottom:12px}
.event-meta{display:flex;align-items:flex-start;gap:8px;font:.8125rem/1.6 Arial,sans-serif;margin-top:7px;overflow-wrap:anywhere}
.event-meta .icon{width:16px;height:16px;margin-top:2px}
.card-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;margin-top:auto;padding-top:18px}
.event-card .card-bottom{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}
.verified{font:.75rem/1.5 Arial,sans-serif}
.place-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px}
.place-banner{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding-top:4px}
.place-banner>.icon{width:46px;height:46px;padding:10px;border-radius:14px;background:var(--pale);color:var(--green)}
.place-banner>span{font:.75rem/1.4 Arial,sans-serif;text-align:center;overflow-wrap:break-word}
.place-content{display:flex;flex-direction:column;min-width:0}
.place-content .eyebrow{font-size:.75rem;letter-spacing:.07em;margin-bottom:7px}
.place-content p:not(.eyebrow){margin:12px 0;font-size:1rem;line-height:1.65}
.place-content .text-link{margin-top:auto}
.community-band{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:44px;padding:28px 24px;border-radius:var(--radius);background:var(--ink);color:var(--paper)}
.community-band .eyebrow{color:var(--paper)}
.community-band h2{font-size:clamp(1.8rem,5vw,2.75rem)}
.community-band p:last-child{font-size:1rem;line-height:1.65;margin-top:16px;max-width:460px}
.community-links{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.community-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 16px;border:1px solid rgba(255,255,255,.35);border-radius:12px;font:.9375rem/1.5 Arial,sans-serif}
.community-links a:hover{background:var(--green);color:var(--paper)}
.community-links a:focus-visible{outline-color:var(--paper)}
.news-card{display:flex;flex-direction:column;padding:24px}
.news-card h3{font-size:1.25rem;line-height:1.35;margin-bottom:12px}
.news-card p:not(.eyebrow){font-size:1rem;margin-bottom:18px;line-height:1.65}
.news-card .text-link{margin-top:auto}
.page-heading{max-width:820px;padding:14px 0 28px}
.page-heading>p:last-child{margin-top:16px;font-size:1rem;line-height:1.7}
.filterbar{display:flex;flex-direction:column;gap:18px;margin:0 0 24px}
.filter-pills{display:flex;flex-wrap:wrap;gap:8px}
.filter-pills button{min-height:46px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:.875rem/1.4 Arial,sans-serif}
.filter-pills button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--paper)}
.filter-pills button:hover:not([aria-pressed=true]){background:var(--pale)}
.select-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:.875rem/1.5 Arial,sans-serif}
select{min-width:0;max-width:100%;min-height:48px;flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--pale);font:1rem/1.5 Arial,sans-serif}
.source-panel{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--pale)}
.source-panel h2{font-size:1.4rem}
.source-panel p{margin:14px 0;font-size:1rem;line-height:1.7}
.source-links{display:flex;flex-direction:column;gap:0;margin-top:18px}
.source-links a{display:flex;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--green);font:.9375rem/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.source-links a:last-child{border-bottom:0}
.source-links a:hover{text-decoration:underline}
.large-grid{margin-top:24px}
.directory-card{display:flex;align-items:flex-start;gap:14px;padding:20px}
.directory-card>div:last-child{min-width:0}
.directory-symbol{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--pale);color:var(--green)}
.directory-card h3{margin:8px 0 12px}
.directory-card p:not(.eyebrow){font-size:1rem;margin-bottom:10px;line-height:1.65}
.directory-card .eyebrow{font-size:.75rem;letter-spacing:.05em;margin:0}
.input-with-icon{display:flex;align-items:center;gap:12px;min-width:0;min-height:52px;padding:6px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.input-with-icon input{min-width:0;width:100%;min-height:44px;border:0;background:transparent;font:1rem/1.5 Arial,sans-serif}
.input-with-icon .icon{color:var(--green)}
#directory-count{font:.875rem/1.5 Arial,sans-serif;margin-bottom:18px}
.muted{font-size:1rem;line-height:1.65}
.footnote{font-size:.875rem;line-height:1.65;margin-top:22px}
.empty-state{grid-column:1/-1;padding:28px 22px;border:1px dashed var(--line);border-radius:18px;background:var(--pale)}
.empty-state h3{margin-bottom:12px}
.empty-state p{font-size:1rem;line-height:1.65;margin-bottom:20px}
.prose{max-width:820px;padding:26px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.prose h2{font-size:1.4rem;margin:30px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:1rem;line-height:1.8}
.prose a{color:var(--green);text-decoration:underline;overflow-wrap:anywhere}

/* Original resources, ad placeholders, and answers retain all of their copy. */
.resource-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.resource-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.resource-card h3{margin:12px 0;font-size:1.25rem}
.resource-card p{font-size:1rem;line-height:1.7}
.resource-card ul{list-style:none;padding:0;margin:18px 0 0}
.resource-card li+li{border-top:1px solid var(--line)}
.resource-card a{display:flex;align-items:center;min-height:48px;padding:12px 0;color:var(--green);font:.9375rem/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.resource-card a:hover{text-decoration:underline}
.ad-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ad-placeholder{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:180px;padding:24px;border:1px dashed var(--green);border-radius:18px;background:var(--pale)}
.ad-placeholder h3{font-size:1.25rem;margin:2px 0 12px}
.ad-placeholder p{font-size:1rem}
.ad-placeholder small{display:block;margin-top:18px;font:.75rem/1.6 Arial,sans-serif}
.local-faq{max-width:900px}
.local-faq>h2{margin-bottom:24px}
.local-faq article{border-top:1px solid var(--line);padding:24px 0}
.local-faq article h3{line-height:1.4}
.local-faq article p{font-size:1rem;line-height:1.8;margin-top:12px}
.site-footer{margin-top:52px;border-top:1px solid var(--line);background:var(--pale)}
.footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-block:30px}
.footer-top p{font-size:1rem;line-height:1.7}
.footer-nav{display:flex;flex-wrap:wrap;gap:4px 20px;font:.875rem/1.5 Arial,sans-serif}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px;border-top:1px solid var(--line);font:.75rem/1.6 Arial,sans-serif}
.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-size:.875rem}

/* Contact shares the same phone-first rhythm; submission and spam logic are untouched. */
.contact-page .page-heading{padding-top:32px}
.contact-form{display:grid;gap:22px;max-width:820px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.contact-form label{display:grid;gap:9px;min-width:0;font:600 .9375rem/1.5 Arial,sans-serif}
.contact-form input:not([type=hidden]),.contact-form textarea{width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--pale);color:var(--ink);font:1rem/1.6 Georgia,serif}
.contact-form textarea{resize:vertical}
.contact-form .button{width:100%}
.contact-form a{color:var(--green);text-decoration:underline}
.contact-form .contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-notice{max-width:820px;margin-bottom:22px;padding:20px;border:1px solid var(--green);border-radius:12px;background:var(--pale)}

/* Layout expands only when there is room; no smaller-than-phone control overrides. */
@media(min-width:480px){
  .container{width:calc(100% - 48px)}
  #main-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-copy{padding:32px 30px 16px}
  .photo-credit{margin-inline:30px}
  .contact-form .button{width:auto;justify-self:start}
}
@media(min-width:720px){
  .container{width:calc(100% - 64px)}
  .welcome-row{margin:16px 0 28px}
  .welcome-row p:not(.eyebrow){font-size:1.125rem}
  .local-stamp{padding:12px 16px;border:1px solid var(--line);border-radius:14px}
  .searchbar{grid-template-columns:22px minmax(0,1fr) auto;padding:10px 10px 10px 18px}
  .searchbar .button{grid-column:auto;width:auto}
  .hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:20px;align-items:stretch}
  .river-feature{display:flex;flex-direction:column;align-items:stretch;justify-content:center}
  .feature-copy{padding:32px 26px 16px}
  .photo-credit{margin-inline:26px}
  .feature-copy h2{font-size:2.35rem}
  .quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quick-links a{padding:18px 14px;gap:10px;flex-wrap:wrap}
  .quick-links a>.icon:last-child{display:none}
  .event-grid,.place-grid,.news-grid,.directory-grid,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .place-card{display:flex;flex-direction:column;padding:0;gap:0}
  .place-banner{flex-direction:row;justify-content:space-between;padding:22px 24px 0;gap:18px}
  .place-banner>span{text-align:right;font-size:.8125rem}
  .place-content{padding:22px 24px;flex:1}
  .content-section{margin-top:56px}
  .section-heading{margin-bottom:24px}
  .community-band{padding:36px;gap:32px}
  .filterbar{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
  .filterbar .select-label{flex:0 1 320px}
  .directory-filter .input-with-icon{flex:1 1 300px}
  .source-links{flex-direction:row;flex-wrap:wrap;gap:8px 28px}
  .source-links a{border:0}
  .source-panel,.prose,.contact-form{padding:32px}
  .ad-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-placeholder{padding:22px}
  .footer-top{flex-direction:row;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:24px}
  .footer-top>.footer-nav{flex:1 1 100%}
  .footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
}
@media(min-width:1100px){
  .header-inner{flex-wrap:nowrap;gap:24px;min-height:88px}
  .brand img{width:48px;height:48px}
  .brand>span{font-size:1.25rem}
  .menu-toggle{display:none}
  #main-nav,#main-nav.is-open{display:flex;align-items:center;justify-content:flex-end;width:auto;max-height:none;overflow:visible;gap:4px;margin-left:auto;padding:0}
  #main-nav a{padding:12px;font-size:.875rem;white-space:nowrap}
  #main-nav a[aria-current=page]{background:var(--pale);color:var(--green)}
  .header-weather{display:flex;border-left:1px solid var(--line);padding-left:16px;max-width:132px;flex-shrink:0}
  .location-row{padding-top:24px;margin-bottom:16px}
  .welcome-row{margin-bottom:30px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}
  .feature-copy{padding:44px 40px 16px}
  .photo-credit{margin-inline:40px}
  .feature-copy h2{font-size:3rem}
  .weather-card{padding:28px}
  .quick-links a{flex-wrap:nowrap;padding:24px;gap:14px}
  .quick-links a>.icon:last-child{display:inline-block}
  .event-grid,.place-grid,.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .community-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:44px;margin-top:56px}
  .resource-card{padding:30px}
  .ad-placeholder{padding:28px}
  .footer-top{padding-block:40px}
  .footer-top>.footer-nav{flex:0 1 300px;justify-content:flex-end}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .button,.menu-toggle,.filter-pills button,#main-nav a{transition:background-color .16s ease,color .16s ease}
  .place-card,.event-card,.news-card,.directory-card{transition:border-color .16s ease,box-shadow .16s ease}
  .place-card:hover,.event-card:hover,.news-card:hover,.directory-card:hover{border-color:var(--green);box-shadow:0 6px 20px rgba(23,45,36,.06)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-header{position:static}
  .topbar,.location-row,.searchbar,.menu-toggle,.site-footer{display:none}
  .container{width:100%}
  .event-card,.place-card,.directory-card,.resource-card{break-inside:avoid}
  .hero-grid{grid-template-columns:1fr}
  a{text-decoration:underline}
}
