
:root{
  --ink:#17211d; --muted:#5f6e65; --paper:#f5f1e8; --card:#fffdf8;
  --river:#1f5d58; --river2:#173f3b; --rust:#9a4f2f; --sand:#d9c7a5;
  --line:#d8d1c2; --gold:#b88a38; --white:#fff;
  --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
a{color:var(--river);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}
.topbar{background:#0f2f2c;color:#eaf5f2;font-size:.86rem;padding:8px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
header{position:sticky;top:0;z-index:20;background:rgba(245,241,232,.96);backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:72px}
.brand{font-family:Georgia,serif;font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none}
.brand small{display:block;font-family:Inter,sans-serif;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);font-weight:700}
nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
nav a{font-size:.94rem;color:var(--ink);text-decoration:none;font-weight:650}
.hero{min-height:68vh;display:grid;align-items:end;background:
 linear-gradient(180deg,rgba(7,24,22,.05),rgba(7,24,22,.78)),
 url('https://commons.wikimedia.org/wiki/Special:Redirect/file/Gruene%20hall.jpg') center/cover;color:white}
.hero .inner{padding:92px 0 64px}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#f2cf8d}
.hero h1,.article-hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.94;margin:.18em 0 .18em;max-width:980px}
.hero p{font-size:1.24rem;max-width:760px;color:#edf2ef}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn{display:inline-block;padding:12px 17px;border-radius:999px;background:var(--river);color:white;text-decoration:none;font-weight:750;border:1px solid transparent}
.btn.alt{background:transparent;border-color:rgba(255,255,255,.65)}
.section{padding:66px 0}
.section h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.04;margin:0 0 13px}
.lede{font-size:1.18rem;max-width:800px;color:#35433b}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:30px}
.card{grid-column:span 4;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 6px 24px rgba(33,38,34,.04)}
.card.wide{grid-column:span 6}.card.full{grid-column:span 12}
.card h3{font-family:Georgia,serif;font-size:1.48rem;margin:.3rem 0}
.card p{color:#4c5a52}.num{color:var(--rust);font-size:.78rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.band{background:var(--river2);color:white}.band .lede{color:#d7e5e0}.band a{color:#f6d28f}
.searchbox{display:flex;gap:10px;max-width:850px;margin:25px 0}
.searchbox input{flex:1;border:1px solid var(--line);border-radius:999px;padding:14px 18px;font-size:1rem;background:white}
.searchbox button{border:0}
.results{display:grid;gap:10px;margin-top:12px}.result{background:white;border:1px solid var(--line);padding:14px;border-radius:12px}
.article-hero{background:#153f3b;color:white;padding:74px 0 50px}
.article-hero h1{font-size:clamp(2.5rem,6vw,5rem)}
.article-hero p{max-width:760px;font-size:1.18rem;color:#dcebe6}
.article{width:min(780px,calc(100% - 32px));margin:0 auto;padding:52px 0 80px}
.article h2{font-family:Georgia,serif;font-size:2rem;line-height:1.12;margin-top:2.1em}
.article h3{font-size:1.25rem;margin-top:1.8em}
.article p,.article li{font-size:1.06rem}
.callout{border-left:4px solid var(--gold);background:#fffaf0;padding:20px 22px;margin:28px 0;border-radius:0 12px 12px 0}
.sources{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:.94rem}
.sources li{margin:.5rem 0}
.pill{display:inline-block;background:#e5eee9;border-radius:999px;padding:5px 10px;margin:3px;font-size:.82rem;font-weight:700}
footer{background:#101b17;color:#d9e0dc;padding:42px 0}
footer a{color:#f1d199}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px}
.note{font-size:.88rem;color:#69766e}
.mapbox{min-height:420px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#dce9e4,#ede5d7);display:grid;place-items:center;padding:30px}
@media(max-width:850px){
  nav{display:none}.card,.card.wide{grid-column:span 12}.hero{min-height:72vh}.footgrid{grid-template-columns:1fr}
}

.events-controls{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin:28px 0}
.events-controls input,.events-controls select{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:white;font-size:1rem}
.event-day{margin:35px 0}.event-day>h2{font-family:Georgia,serif;font-size:1.8rem;border-bottom:1px solid var(--line);padding-bottom:8px}
.event-card{display:flex;justify-content:space-between;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin:12px 0}
.event-card h3{font-family:Georgia,serif;font-size:1.35rem;margin:.2rem 0}.event-card p{margin:.25rem 0}
.event-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--rust)}
.event-btn{white-space:nowrap}.event-empty{padding:30px;background:var(--card);border:1px solid var(--line);border-radius:16px}
@media(max-width:850px){.events-controls{grid-template-columns:1fr 1fr}.events-controls input{grid-column:1/-1}.event-card{align-items:flex-start;flex-direction:column}.event-btn{width:100%;text-align:center}}

.now-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.now-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:19px}
.now-card .metric{font-family:Georgia,serif;font-size:2rem;line-height:1.05;margin:.2rem 0}.now-card .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--rust)}
.tonys-read{background:var(--river2);color:white;border-radius:18px;padding:24px;margin:24px 0}.tonys-read h2{margin-top:0}.tonys-read p{font-size:1.12rem}
.forecast-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:18px 0}.forecast-card{background:white;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
@media(max-width:850px){.now-grid{grid-template-columns:1fr 1fr}.forecast-grid{grid-template-columns:repeat(2,1fr)}}

.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.visual-grid figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.visual-grid img{width:100%;height:280px;object-fit:cover}
.visual-grid figcaption{padding:14px 16px;font-size:.92rem;color:#425047}
@media(max-width:850px){.visual-grid{grid-template-columns:1fr}.visual-grid img{height:240px}}
