@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:dark;--bg:#222423;--ink:#f8f2e7;--muted:#d1d0c6;--sage:#c5d2ab;--line:#4b4e46;--paper:#f4e9d5;--dark:#272923;--display:"Instrument Serif",Georgia,serif;--body:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--body)}a{color:inherit}a:focus-visible{outline:3px solid #a37745;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 72px));margin-inline:auto}.header{border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:30px/1 var(--display);white-space:nowrap}.brand i{color:var(--sage)}.brand img{border-radius:50%;background:var(--ink)}nav{display:flex;gap:30px}nav a,.footer a{text-decoration:none}nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;left:10px;top:-100px;background:var(--paper);color:var(--dark);padding:10px;z-index:2}.skip:focus{top:10px}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:58px;align-items:center;padding-block:82px 92px}.label{color:var(--sage);font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px}.label span{margin-inline:5px}h1,h2{font-family:var(--display);font-weight:400;line-height:.9;margin:0}h1{font-size:clamp(90px,12vw,178px);letter-spacing:-.035em}h2{font-size:clamp(46px,6.4vw,83px);letter-spacing:-.02em}h1 em,h2 em{color:var(--sage)}.intro{font-size:1.16rem;max-width:35ch;margin:28px 0;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--sage);color:#22261d;padding:12px 20px;border-radius:3px;text-decoration:none;font-weight:700;min-height:48px}.button:hover{background:#e0e8cf}.seal{width:min(100%,390px);justify-self:end;aspect-ratio:1;border:1px solid #818b73;border-radius:50%;padding:13px;display:grid;place-items:center}.seal img{display:block;width:100%;height:auto;border-radius:50%}
.event{background:var(--paper);color:var(--dark);padding-block:65px}.event-layout{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:80px}.event .label{color:#664333}.event-subtitle{font:italic 34px/1.15 var(--display);color:#744035;margin:10px 0 18px}.event-facts{margin:24px 0;padding:15px 0;border-block:1px solid #bdae96;display:grid;gap:12px}.event-facts dt{font-weight:700}.event-facts dd{margin:0}.open-mic{font-size:.94rem}.dark{background:#343e30;color:#fff8ea}.dark:hover{background:#4c5a45}.poster{display:block;width:min(100%,340px);height:auto;justify-self:end;box-shadow:0 14px 33px #48321c30;border-radius:3px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:83px 61px}.story p:not(.label),.offerings p:not(.label){color:var(--muted);max-width:55ch}.story p:first-child:not(.label){margin-top:0}.offerings{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-block:38px 72px;border-top:1px solid var(--line)}.offerings h2{font-size:clamp(40px,4.5vw,60px)}.visit{background:#333931;padding-block:42px}.visit-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.visit h2{font-size:54px}.visit address{font-style:normal;margin-top:12px}.footer{padding-block:20px;color:var(--muted);display:flex;justify-content:space-between;gap:15px;font-size:.9rem}
@media(max-width:720px){.wrap{width:calc(100% - 38px)}.nav{min-height:70px}.brand{font-size:24px;gap:7px}.brand img{width:36px;height:36px}nav{gap:12px;font-size:.82rem}.hero{padding-block:51px 47px;gap:26px;grid-template-columns:1fr auto}.seal{width:clamp(96px,24vw,165px);align-self:start;margin-top:37px;padding:5px}h1{font-size:clamp(65px,13vw,110px)}.intro{font-size:1rem}.event{padding-block:42px}.event-layout,.story,.offerings{grid-template-columns:1fr;gap:26px}.poster{justify-self:center;width:min(100%,310px)}.story{padding-block:50px 33px}.offerings{padding-block:29px 47px}.visit h2{font-size:43px}}
@media(max-width:390px){.nav{flex-wrap:wrap;justify-content:center;padding-block:10px;gap:8px 18px}.hero{gap:12px}.hero .label{font-size:.64rem}.seal{width:86px}.visit-inner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visit-details .button{margin-top:20px}
.visit-map{display:block;width:min(100%,640px);height:clamp(280px,35vw,360px);border:1px solid #818b73;border-radius:6px;background:var(--paper)}
@media(max-width:720px){.visit-inner{align-items:stretch;flex-direction:column}.visit-map{width:100%;height:300px}}

.weekend{padding-block:76px 0}
.weekend-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:34px}
.weekend-heading h2{font-size:clamp(50px,7vw,82px)}
.weekend-controls{display:flex;align-items:center;justify-content:space-between;gap:13px;white-space:nowrap;color:var(--muted);font-size:.9rem}
.weekend-controls button{font:inherit;font-size:1.2rem;background:transparent;color:var(--sage);border:1px solid #818b73;border-radius:4px;min-width:44px;min-height:44px;cursor:pointer}
.weekend-controls button:disabled{opacity:.45;cursor:default}
.weekend-controls button:focus-visible{outline:3px solid #a37745;outline-offset:4px}
.weekend-agenda{border-block:1px solid var(--line)}
.agenda-row{display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:26px;padding:22px 0}
.agenda-row+.agenda-row{border-top:1px solid var(--line)}
.agenda-day{color:var(--sage);font-size:.94rem}
.agenda-day time{display:block;color:var(--muted)}
.agenda-row h3{font:34px/1.06 var(--display);margin:0 0 5px}
.agenda-row p{margin:0;color:var(--muted)}
.agenda-actions{display:flex;flex-wrap:wrap;gap:12px}
.agenda-actions a{color:var(--sage);text-underline-offset:4px}
@media(max-width:720px){.weekend{padding-block:48px 0}.weekend-heading{align-items:start;flex-direction:column;margin-bottom:22px}.agenda-row{grid-template-columns:100px 1fr;gap:9px 15px}.agenda-actions{grid-column:2}.agenda-row h3{font-size:29px}.agenda-day{font-size:.82rem}}
