:root{--paper:rgba(250, 244, 234, 0.9);--panel:rgba(255, 251, 245, 0.94);--ink:#1f2f2f;--muted:#556260;--forest:#173b3a;--wine:#6f2c2f;--copper:#c98562;--shadow:0 24px 70px rgba(20, 26, 24, 0.14)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Avenir Next","Segoe UI",sans-serif;background:radial-gradient(circle at top left,rgba(201,133,98,.18),transparent 32%),linear-gradient(180deg,#fbf5ea 0,#efe3cf 100%)}.page{width:min(980px,calc(100vw - 32px));margin:0 auto;padding:24px 0 56px}.back-link{color:var(--forest);font-weight:700;text-underline-offset:0.16em}.calendar-hero,.calendar-section{margin-top:22px;padding:clamp(24px,4vw,42px);border-radius:32px;background:var(--paper);box-shadow:var(--shadow)}.event-series,.eyebrow{margin:0 0 10px;color:var(--wine);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3{margin:0;color:var(--forest);font-family:"Iowan Old Style",Georgia,serif}h1{font-size:clamp(3rem, 8vw, 5.6rem);line-height:.95;letter-spacing:-.05em}h2{font-size:clamp(2.2rem, 6vw, 3.6rem)}h3{font-size:clamp(1.35rem, 3vw, 1.8rem)}.lede{max-width:42rem;margin:20px 0 0;color:var(--muted);font-size:1.08rem;line-height:1.7}.calendar-section{background:var(--panel)}.section-heading{margin-bottom:22px}.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.event-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:start;padding:20px;border:1px solid rgba(31,47,47,.1);border-radius:22px;background:#fff}.event-card time{display:grid;place-items:center;min-height:76px;border-radius:18px;background:var(--forest);color:#fff;text-align:center;text-transform:uppercase}.event-card--social time{background:var(--wine)}.event-card time span{align-self:end;font-size:.72rem;font-weight:800;letter-spacing:.12em}.event-card time strong{align-self:start;font-family:Georgia,serif;font-size:2rem;line-height:1}.event-card p:not(.event-series){margin:8px 0 0;color:var(--muted);line-height:1.5}.event-card .featured-artist{color:var(--forest);font-weight:800}.event-card a{display:inline-block;margin-top:12px;color:var(--wine);font-weight:700;text-underline-offset:0.16em}footer{padding:28px 8px 0;color:rgba(31,47,47,.7);text-align:center}@media (max-width:720px){.event-list{grid-template-columns:1fr}}@media (max-width:520px){.page{width:calc(100vw - 16px)}.calendar-hero,.calendar-section{padding:20px;border-radius:24px}.event-card{grid-template-columns:64px minmax(0,1fr);padding:16px}.event-card time{min-height:64px}}