:root{color-scheme:light;--bg:#f4efe6;--surface:#fffdf9;--surface-2:#e7f0e8;--text:#1a2822;--text-muted:#3f5148;--accent:#1e4636;--accent-contrast:#f7f1e6;--border:#d9ccb8;--gold:#6b4e0e;--border-strong:#8a7864;--map-land:#d7e3d4;--map-water:#c5d5de;--map-shore:#8eabb8;--map-road:#a6843f;--mask:#000;--page:var(--bg);--sheet:var(--surface);--ink:var(--text);--muted:var(--text-muted);--forest:var(--accent);--forest-deep:color-mix(in srgb,var(--accent) 73%,black);--gold-line:var(--map-road);--link:var(--accent);--rule:var(--border);--focus:var(--gold);--on-accent:var(--accent-contrast);--wash:rgb(from var(--accent) r g b / 0.07);--credit-bg:rgb(from var(--surface) r g b / 0.15);--credit-shadow:0 0 2px rgb(from var(--surface) r g b / 0.8);--selection-bg:color-mix(in srgb,var(--gold) 32%,var(--surface));--selection-ink:var(--text);--foothills:var(--map-land);--water:var(--map-water);--water-edge:var(--map-shore);--btn-bg:var(--accent);--btn-bg-hover:color-mix(in srgb,var(--accent) 73%,black);--btn-ink:var(--accent-contrast);--icon-share:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.8v7.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M6.7 6.1 10 2.8l3.3 3.3' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4.8 9.2v6.2c0 .8.6 1.4 1.4 1.4h7.6c.8 0 1.4-.6 1.4-1.4V9.2' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--icon-cal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1.75' y='2.75' width='12.5' height='11.5' rx='1.4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M1.75 6.4h12.5M5 1.35v2.5M11 1.35v2.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.6' fill='none' stroke='%23000' stroke-width='1.9'/%3E%3Cpath d='M12.7 12.7 17.2 17.2' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E");--menu-border:var(--border-strong);--menu-shadow:0 0.55rem 1.6rem rgb(from var(--text) r g b / 0.18);--radius:2px;--pill:999px;--focus-ring:2px solid var(--focus);--read:40rem;--measure:44rem;--photo-filter:none;--serif:"Iowan Old Style",Palatino,"Palatino Linotype",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}@media (prefers-contrast:more){:root{--text-muted:var(--text);--gold:#5c420c;--border:#8d7d68;--border-strong:#4e4336;--menu-shadow:0 0.45rem 1.2rem rgb(from var(--text) r g b / 0.28)}}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#243044;--surface:#3b516b;--surface-2:#3e5672;--text:#fff6ea;--text-muted:#f6eee4;--accent:#9fe3c4;--accent-contrast:#10241c;--border:#8ea3b8;--gold:#f2c878;--border-strong:#e8b15a;--map-land:#355646;--map-water:#345e78;--map-shore:#9ec4d6;--map-road:#e8b15a;--forest-deep:color-mix(in srgb,var(--accent) 55%,white);--wash:rgb(from var(--accent) r g b / 0.18);--credit-bg:rgb(from var(--bg) r g b / 0.15);--credit-shadow:0 0 2px rgb(from var(--bg) r g b / 0.8);--selection-bg:color-mix(in srgb,var(--gold) 38%,var(--bg));--btn-bg-hover:color-mix(in srgb,var(--accent) 92%,white);--menu-border:var(--border-strong);--menu-shadow:0 0.7rem 1.8rem rgb(from var(--bg) r g b / 0.45)}}@media (prefers-color-scheme:dark) and (prefers-contrast:more){:root{--bg:#1b2838;--surface:#2c4158;--text:#fffaf3;--text-muted:#fffaf3;--accent:#c6f5dc;--gold:#f6d48a;--border:#d5e2ee;--border-strong:#f6d48a;--map-road:#f6d48a;--forest-deep:color-mix(in srgb,var(--accent) 40%,white);--credit-bg:var(--bg);--credit-shadow:none;--menu-shadow:0 0.55rem 1.4rem rgb(0 0 0 / 0.55)}}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}.print-mast{display:none}html{background:var(--page);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{display:flex;flex-direction:column;margin:0;min-height:100vh;min-height:100dvh;background:var(--page);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}main{flex:1}h1,h2,h3{color:var(--ink);font-family:var(--serif);font-weight:600;letter-spacing:-0.03em;line-height:1.12}p{overflow-wrap:break-word}a{color:var(--link);text-underline-offset:0.14em}:focus-visible{outline:var(--focus-ring);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;box-sizing:border-box;min-height:2.75rem;margin:0;padding:0 0.85rem;border:1px solid var(--btn-bg);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-ink);font-family:var(--sans);font-size:0.875rem;font-weight:650;line-height:1.2;text-align:center;text-decoration:none;list-style:none;cursor:pointer;touch-action:manipulation;appearance:none;-webkit-appearance:none}.prose a.btn{color:var(--btn-ink);font-weight:650;text-decoration:none}.btn:hover,.btn:focus-visible{border-color:var(--btn-bg-hover);background:var(--btn-bg-hover);color:var(--btn-ink);text-decoration:none}.prose a.btn:hover,.prose a.btn:focus-visible{color:var(--btn-ink);text-decoration:none}.btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}img{display:block;max-width:100%;height:auto;filter:var(--photo-filter)}picture{display:block}.skip-link{position:absolute;left:0.75rem;top:-4rem;z-index:40;padding:0.45rem 0.7rem;background:var(--sheet);color:var(--ink)}.skip-link:focus{top:0.75rem}.to-top{--to-top-lift:0px;position:fixed;z-index:25;right:max(0.7rem,env(safe-area-inset-right));bottom:calc(0.7rem + env(safe-area-inset-bottom));display:grid;place-items:center;width:2.5rem;height:2.5rem;margin:0;padding:0;border:1px solid var(--forest-deep);border-radius:50%;background:var(--btn-bg);color:var(--btn-ink);box-shadow:0 0.15rem 0.55rem rgb(from var(--text) r g b / 0.22);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(-1 * var(--to-top-lift)));transition:opacity 0.18s ease,visibility 0s linear 0.18s}.to-top.is-on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 0.18s ease,visibility 0s}.to-top:hover{background:var(--btn-bg-hover)}.to-top:focus-visible{outline:var(--focus-ring);outline-offset:3px}.to-top svg{display:block;width:1rem;height:1rem}.wrap{width:min(100% - 3rem,var(--measure));margin-inline:auto}.site-header{position:relative;z-index:20;padding-top:env(safe-area-inset-top);background:var(--page)}.mast-title-row{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}.mast-title-row .brand{flex:1 1 auto;min-width:0}.home-mast .brand{margin:0}.home-mast .brand a{color:inherit;text-decoration:none}.home-mast .brand a:hover .brand-name,.home-mast .brand a:focus-visible .brand-name{text-decoration:underline;text-underline-offset:0.06em}.home-mast{padding:0}.mast-title-row{align-items:center;box-sizing:border-box;height:auto;padding:1.14rem 0;border-bottom:1px solid var(--rule)}.home-mast .brand{display:flex;align-items:center;max-width:none;overflow:hidden;color:var(--forest);font-family:var(--sans);font-size:1.45rem;font-weight:700;font-variant:small-caps;letter-spacing:0.06em;line-height:1;white-space:nowrap}.home-mast .brand a{display:flex;align-items:center;gap:0.5em;max-width:100%;min-width:0}.brand-mark{display:block;flex:none;width:1.46em;height:1.46em}.brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (prefers-color-scheme:dark){.brand-mark .mark-bind{fill:var(--text)}}@media (max-width:42rem){.mast-title-row{padding:0.823rem 0}.home-mast .brand{font-size:1.2rem;letter-spacing:-0.01em}.home-mast .brand a{gap:0.38em}}.nav-mock .mast-title-row{justify-content:flex-start;gap:0;padding:0.75rem 0 0.15rem;border-bottom:0}.nav-mock .mast-title-row .brand,.nav-mock .home-mast .brand{flex:0 1 auto;min-width:0;max-width:100%;overflow:visible;font-size:clamp(1.05rem,0.7rem + 1.6vw,1.45rem);letter-spacing:0}.nav-mock .home-mast .brand a{max-width:none;min-width:0;min-height:2.75rem}.nav-mock .brand-name{overflow:visible;text-overflow:clip}.nav-mock-bar,.nav-phone{position:relative}.nav-mock-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:0.15rem;padding:0 0 0.1rem;border-bottom:1px solid var(--rule)}.nav-mock-bar summary{flex:0 0 auto;white-space:nowrap}.nav-mock-bar>:first-child{margin-inline-start:-0.75rem}.nav-phone{display:none;width:100%;padding:0 0 0.1rem;border-bottom:1px solid var(--rule)}.nav-mock summary{display:inline-flex;align-items:center;gap:0.4rem;min-height:2.75rem;padding:0 0.75rem;border-radius:0.45rem;color:var(--forest);font-family:var(--sans);font-size:0.95rem;font-weight:700;line-height:1.2;list-style:none;cursor:pointer;touch-action:manipulation}.nav-mock summary::-webkit-details-marker{display:none}.nav-mock summary::after{content:"";width:0.4rem;height:0.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-0.12rem) rotate(45deg)}.nav-mock details[open]>summary{background:var(--wash)}.nav-mock details[open]>summary::after{transform:translateY(0.12rem) rotate(225deg)}.nav-mock summary:focus-visible,.nav-mock a:focus-visible{outline:var(--focus-ring);outline-offset:2px}.nav-fly{position:static}.nav-fly-panel,.nav-phone-panel{position:absolute;z-index:40;margin:0;padding:0.35rem;overflow:auto;max-height:min(70dvh,calc(100dvh - 8rem));background:var(--sheet);border:1px solid var(--menu-border);border-radius:0.8rem;box-shadow:var(--menu-shadow)}.nav-fly-panel,.nav-phone-panel{top:calc(100% + 0.35rem);left:0;right:0;width:auto}.nav-links{margin:0;padding:0;list-style:none}.nav-links.is-wide{width:100%;display:grid;grid-template-columns:1fr}.nav-links a{display:flex;align-items:center;min-height:2.75rem;padding:0.35rem 0.75rem;border-radius:0.4rem;color:var(--ink);font-family:var(--sans);font-size:0.95rem;font-weight:600;line-height:1.25;text-decoration:none;touch-action:manipulation}.nav-links a:hover,.nav-links a:focus-visible{background:var(--wash);color:var(--forest);text-decoration:underline;text-underline-offset:0.12em}.nav-phone-panel{padding:0.25rem}.nav-section{border-bottom:1px solid var(--rule)}.nav-section:last-child{border-bottom:0}.nav-search{margin-inline-start:auto}.nav-mock .nav-search>summary::after{display:none}.nav-search>summary::before{content:"";width:1.1rem;height:1.1rem;background:currentColor;-webkit-mask:var(--icon-search) center / contain no-repeat;mask:var(--icon-search) center / contain no-repeat}.nav-search-word{display:none}@media (min-width:48rem){.nav-search-word{display:inline}.nav-search .nav-fly-panel{left:auto;right:0;width:min(26rem,calc(100vw - 3rem))}}.nav-search .nav-fly-panel{padding:0.75rem}.nav-phone-search{border-top:1px solid var(--rule)}.search-form label{display:block;margin:0 0 0.4rem;color:var(--ink);font-family:var(--sans);font-size:0.9rem;font-weight:650}.search-fields{display:flex;gap:0.5rem}.search-form input[type="search"]{flex:1 1 auto;min-width:0;height:2.75rem;margin:0;padding:0 0.7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--sheet);color:var(--ink);font-family:var(--sans);font-size:1rem}.search-form input[type="search"]::placeholder{color:var(--muted);opacity:1}.search-form input[type="search"]:focus-visible{outline:var(--focus-ring);outline-offset:2px}.search-status{margin:0.5rem 0 0;color:var(--muted);font-family:var(--sans);font-size:0.8rem}.search-status:empty{display:none}.search-results{margin:0.35rem 0 0;padding:0;list-style:none}.search-results li{border-top:1px solid var(--rule)}.search-results a{display:block;padding:0.5rem 0.25rem 0.1rem;color:var(--link);font-family:var(--sans);font-size:0.95rem;font-weight:650;line-height:1.3;text-decoration:none}.search-results a:hover,.search-results a:focus-visible{text-decoration:underline;text-underline-offset:0.12em}.search-meta{display:block;padding:0 0.25rem 0.5rem;color:var(--muted);font-family:var(--sans);font-size:0.78rem;line-height:1.35}.search-page .search-form{max-width:var(--read)}.nav-section>summary{display:flex;justify-content:space-between;width:100%}@media (min-width:30rem){.nav-links.is-wide{width:100%;display:grid;grid-template-columns:1fr 1fr}}@media (min-width:48rem){.nav-fly{position:relative}.nav-fly-panel{left:0;right:auto;width:max-content;min-width:15rem;max-width:min(36rem,calc(100vw - 3rem))}.nav-links.is-wide{width:min(34rem,calc(100vw - 3rem))}}#nav-panel-cities>.nav-links,#nav-phone-cities{display:block;columns:2;column-gap:0}#nav-panel-cities>.nav-links>li:first-child,#nav-phone-cities>li:first-child{column-span:all}#nav-panel-cities>.nav-links>li,#nav-phone-cities>li{break-inside:avoid}@media (max-width:26rem){.nav-mock-bar{justify-content:space-between}.nav-mock-bar summary{gap:0.25rem;padding:0 0.2rem;font-size:0.84rem}.nav-mock-bar>:first-child{margin-inline-start:-0.2rem}}@media (max-width:21.24rem){.nav-mock-bar{display:none}.nav-phone{display:block}}.page,.home,.city-home{padding-top:1.35rem;padding-bottom:0.5rem}.home-cities h2,.event-list h2,.guide-page h2,.prose h2{margin:0;scroll-margin-top:1rem;font-size:1.45rem;line-height:1.15}.visually-hidden,.filter-chip input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.share-button,.footer-family a{touch-action:manipulation}.event-list h2.event-bucket,.hub-section>h2,.event-bucket-row{margin-top:0.9rem;padding-bottom:0.4rem;border-bottom:1px solid var(--rule)}.prose h1,.page h1{margin:0 0 0.85rem;padding-bottom:0;border-bottom:0;font-size:clamp(2.2rem,8vw,2.85rem)}.city-name,.home-title{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(2.55rem,10vw,3.4rem);font-weight:600;letter-spacing:-0.04em}.city-name{line-height:0.96}.home-title{line-height:0.98}.prose h3 a{color:inherit;font-weight:inherit;text-decoration:none}.prose h3 a:hover,.prose h3 a:focus-visible{text-decoration:underline;text-underline-offset:0.08em}.prose p,.prose ul,.prose ol{margin:0.8rem 0}.prose a{font-weight:600}.site-footer{margin-top:0;padding:0 0 calc(1.15rem + env(safe-area-inset-bottom));border-top:2px solid var(--ink);color:var(--muted);font-size:0.75rem}.site-footer .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:0.3rem;padding-top:1.75rem}.footer-family a{color:var(--forest);font-weight:500;text-decoration:none}.footer-family a:hover,.footer-family a:focus-visible,.footer-meta a:hover,.footer-meta a:focus-visible,.footer-install:hover,.footer-install:focus-visible{color:var(--link);text-decoration:underline}.footer-meta{display:flex;flex-wrap:wrap;align-items:center;row-gap:0.1rem;margin:0;padding:0;list-style:none;color:var(--muted);font-size:0.75rem;line-height:1.45}.footer-meta li{display:inline-flex;align-items:baseline;max-width:100%;color:var(--forest);font-weight:500}.footer-meta li:not(:last-child)::after{content:"\00B7";margin:0 0.5rem;color:var(--muted);font-weight:400}.footer-meta li:has(+ li .footer-install[hidden])::after{content:none}.footer-meta li:has(.footer-install[hidden]){display:none}.footer-meta a,.footer-install{display:inline-flex;align-items:flex-start;min-height:1.5rem;margin:0;padding:0;border:0;background:none;color:var(--forest);font-size:0.75rem;font-weight:500;line-height:inherit;vertical-align:baseline;text-align:inherit;text-decoration:none;text-underline-offset:0.14em;touch-action:manipulation}.footer-install{appearance:none;-webkit-appearance:none;font:inherit;color:inherit;cursor:pointer}.footer-family{margin:0;color:var(--muted);font-size:0.75rem;font-weight:400;line-height:1.45}.footer-sites{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 0.5rem;color:var(--muted);font-size:0.75rem;line-height:1.45}.map-choice:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.5rem;margin-top:0.2rem}.map-choice-pills{display:flex;gap:0.28rem}.map-choice button{min-height:1.75rem;margin:0;padding:0 0.6rem;border:1px solid var(--btn-bg);border-radius:var(--pill);background:transparent;color:var(--ink);font:600 0.75rem/1.2 var(--sans);white-space:nowrap;cursor:pointer;touch-action:manipulation;appearance:none;-webkit-appearance:none}.map-choice button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink)}.map-choice button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.install-howto{width:min(22rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;margin:auto;padding:1rem 1rem 0.9rem;border:1px solid var(--border-strong);border-radius:0.8rem;background:var(--sheet);color:var(--ink);font-family:var(--sans);box-shadow:var(--menu-shadow)}.install-howto:focus{outline:none}.install-howto:focus-visible{outline:var(--focus-ring);outline-offset:2px}.install-howto::backdrop{background:rgb(from var(--text) r g b / 0.28)}.install-howto-title{margin:0 0 0.65rem;color:var(--ink);font-family:var(--sans);font-size:1.05rem;font-weight:650;line-height:1.3}.install-howto ol{margin:0 0 0.9rem;padding-left:1.2rem;color:var(--ink);font-size:0.95rem;line-height:1.45}.install-howto li + li{margin-top:0.55rem}.install-safari-bar{display:block;width:100%;height:auto;margin:0.7rem 0 0.1rem;color:var(--ink)}.install-safari-glyph{fill:none;stroke:var(--sheet);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.newsletter-slot{margin:2.5rem auto 3rem}.newsletter{width:100%;max-width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font-family:var(--sans);font-size:0.875rem;line-height:1.4}.newsletter-lead{margin:0 0 0.75rem;color:var(--ink);font-family:var(--sans);font-size:1.02rem;font-weight:650;line-height:1.35}.newsletter-lead + .newsletter-sub{margin:-0.5rem 0 0.75rem;color:var(--muted);font-size:0.9rem;line-height:1.4}.newsletter-fields{display:flex;flex-wrap:nowrap;align-items:center;gap:0.5rem;max-width:32rem}.newsletter input[type="email"]{flex:1 1 auto;width:auto;min-width:0;height:2.75rem;min-height:2.75rem;margin:0;padding:0 0.7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.2}.newsletter input[type="email"]::placeholder{color:var(--muted);opacity:1}.newsletter input[type="email"]:focus-visible{outline:var(--focus-ring);outline-offset:2px}.newsletter .btn{flex:0 0 auto;height:2.75rem;min-height:2.75rem;white-space:nowrap}.newsletter-fine{margin:0.65rem 0 0;color:var(--muted);font-family:var(--sans);font-size:0.75rem;font-weight:400;line-height:1.4}.newsletter-inline{margin:2rem 0;padding:1.1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.newsletter-inline .newsletter-lead{margin:0 0 0.6rem;font-size:0.98rem}::selection{background:var(--selection-bg);color:var(--selection-ink)}.hero{position:relative;margin:0 0 1rem;border-radius:var(--radius);aspect-ratio:16 / 9}.hero picture{position:absolute;inset:0}.hero img,.event-photo img{width:100%;border-radius:var(--radius)}.hero img{height:100%;object-fit:cover}figure figcaption{position:absolute;right:0;bottom:0;left:0;z-index:1;margin:0;padding:0.28rem 0.6rem;background:var(--credit-bg);color:var(--ink);font-size:0.65rem;line-height:1.4;text-shadow:var(--credit-shadow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.event-card figure figcaption a.event-source,.event-card figure figcaption a.event-source:hover,.event-card figure figcaption a.event-source:focus,.event-card figure figcaption a.event-source:focus-visible,.event-card figure figcaption a.event-source:visited,.event-card figure figcaption a.event-source:active,figure figcaption a,figure figcaption a:hover,figure figcaption a:focus,figure figcaption a:focus-visible,figure figcaption a:visited,figure figcaption a:active{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}.suggest-event{margin:0.35rem 0 0;padding-top:0.95rem;color:var(--muted);font-size:0.98rem}.suggest-event a{font-weight:700}.empty-suggest{margin:1rem 0 0.25rem;max-width:var(--read)}.empty-suggest p{margin:0;color:var(--text);font-size:1.05rem;line-height:1.45}.empty-suggest p + p{margin-top:0.85rem}.empty-play{margin-top:0.85rem}.empty-play a{font-weight:700}.empty-suggest-btn,.prose a.empty-suggest-btn{margin-top:0.85rem}.season-banner{--season-bg:var(--season-bg-light,var(--bg));--season-ink:var(--season-ink-light,var(--text));--season-muted:var(--season-muted-light,var(--text-muted));--season-link:var(--season-link-light,var(--accent));height:2.75rem;margin:0.875rem 0;overflow:hidden;background:var(--season-bg);color:var(--season-ink)}.season-banner-link{display:flex;align-items:center;gap:0.55rem;height:2.75rem;color:inherit;font-size:0.92rem;line-height:1.2;text-decoration:none;white-space:nowrap}.season-banner-link:hover,.season-banner-link:focus-visible{text-decoration:none}.season-banner-link:focus-visible{outline-offset:-2px}.season-banner-motif,.season-banner-motif svg{display:block;width:1.35rem;height:1.35rem;flex:none}.season-banner-title,.season-banner-cta{flex:none}.season-banner-title{font-weight:700}.season-banner-hook{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--season-muted);text-overflow:ellipsis}.season-banner-cta{color:var(--season-link);font-weight:700;text-decoration:underline;text-underline-offset:0.14em}@media (prefers-reduced-motion:reduce){.season-banner,.season-banner *{animation:none;transition:none}}@media (prefers-contrast:more){.season-banner{background:var(--sheet);color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}.season-banner-hook{color:var(--text)}.season-banner-cta{color:var(--link)}figure figcaption{background:var(--sheet);color:var(--ink);text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.map-tip{color:var(--ink)}}.event-photo{position:relative;margin:0.65rem 0 0.85rem;border-radius:var(--radius)}.list-updated{margin:0.35rem 0 0;color:var(--muted);font-size:0.8rem;font-weight:500;line-height:1.35}.map-tip{margin:0.35rem 0 0;min-height:1.15rem;color:var(--muted);font-size:0.85rem;line-height:1.35}.hub-page>.map-tip:last-child,.guide-page>.map-tip:last-child{margin-top:1.5rem}.saved-note{margin:0;padding:0.45rem 1rem;background:var(--sheet);color:var(--gold);border-bottom:1px solid var(--rule);font-size:0.85rem;font-weight:600;line-height:1.4;text-align:center}a.addr{--addr-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 .9a4.6 4.6 0 0 0-4.6 4.6c0 3.5 4.6 9.2 4.6 9.2s4.6-5.7 4.6-9.2A4.6 4.6 0 0 0 8 .9Zm0 6.3a1.7 1.7 0 1 1 0-3.4 1.7 1.7 0 0 1 0 3.4Z'/%3E%3C/svg%3E");color:var(--link);font-size:inherit;font-weight:400;text-decoration:none}a.addr::before{content:"";display:inline-block;width:1em;height:1em;margin:0 0.28em 0 0;vertical-align:-0.15em;background:currentColor;-webkit-mask:var(--addr-pin) center / contain no-repeat;mask:var(--addr-pin) center / contain no-repeat}a.addr .addr-text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.14em}@media (prefers-color-scheme:dark){.season-banner{--season-bg:var(--season-bg-dark,var(--season-bg-light,var(--bg)));--season-ink:var(--season-ink-dark,var(--season-ink-light,var(--text)));--season-muted:var(--season-ink);--season-link:var(--season-ink)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}.event-tags{display:flex;flex-wrap:wrap;gap:0.28rem;margin:0.4rem 0 0.15rem;padding:0;list-style:none}.event-card .event-tags{margin:0.4rem 0 0.1rem;padding:0}.event-tags li{margin:0;padding:0.05rem 0.42rem;border:1px solid var(--rule);border-radius:var(--pill);color:var(--muted);font-family:var(--sans);font-size:0.72rem;font-weight:650;line-height:1.45;letter-spacing:0.01em}.event-price,.event-ages{display:block;margin:0.28rem 0 0;padding:0;border:0;color:var(--muted);font-family:var(--sans);font-size:0.92rem;font-weight:500;line-height:1.4;letter-spacing:0;text-decoration:none}.event-filters{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem 0.55rem;margin:0.85rem 0 1.35rem}.event-list .event-filters{margin:0}.filter-label{margin:0 0.1rem 0 0;color:var(--muted);font-family:var(--sans);font-size:0.72rem;font-weight:700;letter-spacing:0.06em;line-height:1;text-transform:uppercase}.filter-chip{position:relative;display:inline-flex;align-items:center;gap:0.4rem;min-height:2rem;margin:0;padding:0.12rem 0.7rem 0.12rem 0.45rem;border:1px solid var(--rule);border-radius:0.45rem;background:var(--sheet);color:var(--ink);font-family:var(--sans);font-size:0.82rem;font-weight:650;line-height:1.2;cursor:pointer}.filter-switch{position:relative;flex:0 0 auto;width:1.65rem;height:0.95rem;border-radius:var(--pill);background:color-mix(in srgb,var(--ink) 28%,var(--sheet))}.filter-switch::after{content:"";position:absolute;top:0.12rem;left:0.12rem;width:0.7rem;height:0.7rem;border-radius:50%;background:var(--bg)}.filter-chip:has(input:checked){background:var(--forest);border-color:var(--forest);color:var(--btn-ink)}.filter-chip:has(input:checked) .filter-switch{background:color-mix(in srgb,var(--btn-ink) 40%,transparent)}.filter-chip:has(input:checked) .filter-switch::after{left:0.82rem;background:var(--btn-ink)}.filter-chip:has(input:focus-visible){outline:var(--focus-ring);outline-offset:2px}.filter-empty{margin-top:0.85rem}.event-card.is-filtered-out,.card-grid.is-filtered-out,.hub-section.is-filtered-out,.camp-list>li.is-filtered-out,.camp-town.is-filtered-out,.event-list h2.event-bucket.is-filtered-out,.hub-toc li.is-filtered-out,.event-card.is-past,.card-grid.is-past,h2.event-bucket.is-past{display:none}.page-intro{margin:0.85rem 0 0;max-width:var(--read);color:var(--text);font-size:1.05rem;line-height:1.45}.guide-page .page-intro{margin:0.2rem 0 0;line-height:1.5}.city-home>.page-intro{margin:0 0 0.9rem;line-height:1.5}.city-home>.hero ~ .page-intro{margin:0.35rem 0 0;color:var(--ink);font-family:var(--serif);font-weight:500;line-height:1.5}.event-list{display:flex;flex-direction:column;gap:0.85rem;margin-top:1.7rem}.event-list>h2,.event-list>.list-updated{margin:0}.event-card{display:flex;flex-direction:column;height:100%;min-width:0;margin:0;padding:0;background:transparent;color:var(--text);border:0;border-radius:0;box-shadow:none;overflow-wrap:break-word}@media screen{.event-card{padding:0.7rem 0.75rem 0.8rem;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius)}}@media screen and (prefers-contrast:more){.event-card{border-color:var(--ink)}}@media screen{.event-card.is-sponsored{border:1px solid color-mix(in srgb,var(--forest) 38%,var(--rule));border-left:4px solid var(--forest);background:color-mix(in srgb,var(--forest) 8%,var(--sheet));box-shadow:none}.event-card.is-sponsored .sponsor-mark{display:inline-flex;align-items:center;width:fit-content;margin:0 0 0.55rem;padding:0.28rem 0.58rem;border-radius:999px;background:color-mix(in srgb,var(--forest) 16%,var(--sheet));color:var(--forest-deep);letter-spacing:0.07em}.event-card.is-sponsored .event-photo{border-radius:calc(var(--radius) + 2px)}}.event-card h3{margin:0;color:var(--ink);font-size:1.28rem;line-height:1.22}.event-card h3 a{color:inherit;font-weight:inherit;text-decoration:none}.event-card h3 a:hover,.event-card h3 a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.08em}.event-card[data-stretch]{position:relative}.event-card[data-stretch] h3 a::after{content:"";position:absolute;z-index:1;inset:0}.event-card[data-stretch] h3 a:focus-visible{outline:none}.event-card[data-stretch]:focus-within{outline:var(--focus-ring);outline-offset:3px}a.event-kicker,p.event-kicker{display:block;margin:0 0 0.15rem;color:var(--forest);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;line-height:1.2;text-transform:uppercase}.event-kicker a{color:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:none}a.event-kicker{color:var(--forest);font-weight:600;letter-spacing:0.08em;text-decoration:none}a.event-kicker:hover,a.event-kicker:focus-visible,.event-kicker a:hover,.event-kicker a:focus-visible{text-decoration:underline;text-underline-offset:0.12em}.event-card>.event-when{display:grid;grid-template-columns:minmax(0,1fr) calc(0.35rem + 4.6rem - 2rem - 0.1rem - 2rem) 2rem 0.1rem 2rem;align-items:start;column-gap:0;min-height:2rem;margin:0.2rem 0 0.15rem;padding-top:0.32rem;max-width:none;color:var(--gold);font-size:0.95rem;font-weight:600;line-height:1.35}.event-card>.event-when:has(.event-actions){grid-template-columns:minmax(0,1fr) max-content;column-gap:0.35rem}.event-card>.event-when>:is(a.event-cal,.event-share,.event-actions){margin-top:-0.32rem}.event-card>.event-when:not(:has(.event-actions))>a.event-cal{grid-column:3}.event-card>.event-when:not(:has(.event-actions))>.event-share{grid-column:5}.event-card>.event-when>.event-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.05rem 0.1rem;min-width:4.6rem;max-width:11rem;min-height:2rem}.event-share{position:relative;z-index:2;display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:6px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer}.event-share::before{content:"";display:block;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--icon-share) center / contain no-repeat;mask:var(--icon-share) center / contain no-repeat}.event-share:hover,.event-share:focus-visible{color:var(--ink)}.event-share:focus-visible{outline:var(--focus-ring);outline-offset:2px}.event-share-status{position:absolute;right:calc(100% - 4px);top:50%;transform:translateY(-50%);padding:0.12rem 0.4rem;border-radius:0.25rem;background:var(--sheet);color:var(--ink);font-family:var(--sans);font-size:0.75rem;font-weight:650;line-height:1.2;white-space:nowrap;pointer-events:none}.event-share-status:empty{display:none}.event-bucket-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.35rem 0.75rem}.event-bucket-row>h2.event-bucket{margin:0;padding:0;border:0;flex:1 1 auto;min-width:0}.event-share-labeled{width:auto;height:auto;min-height:32px;gap:0.3rem;padding:0.15rem 0.1rem 0.15rem 0.15rem;font-family:var(--sans);font-size:0.85rem;font-weight:650;line-height:1.2;white-space:nowrap}.event-share-labeled .event-share-status{position:static;transform:none;padding:0;background:transparent;font-size:inherit}.article-page .prose h2{margin:1.35rem 0 0.55rem}.event-card>.event-place{margin:0.2rem 0 0.1rem;color:var(--muted);font-size:0.92rem;font-weight:500;line-height:1.4}.event-card>a.event-place{display:block;color:var(--link);font-weight:400}.event-card>.event-place :is(a,span).place-town{color:inherit;font-weight:600;text-decoration:none}.event-card>.event-place .drive-time::before{content:" · "}.event-card>.event-place a.place-town:hover,.event-card>.event-place a.place-town:focus-visible{color:var(--link);text-decoration:underline}.event-card>p:not(.event-when):not(.event-place):not(.event-links):not(.hub-blurb):not(.event-kicker),.event-card>ul:not(.event-tags),.event-card>ol{margin:0.8rem 0}.event-card>ul:not(.event-tags),.event-card>ol{padding-left:1.25rem}.event-card>p:not(.event-place):not(.event-links) a:not(.event-cal){font-weight:600}.event-card>p.event-links{margin:0.35rem 0 0;font-size:0.9rem;font-weight:400;line-height:1.4}.event-card a.event-source{color:var(--link);font-size:0.9rem;font-weight:400;line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.14em}.event-card .event-cals{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.1rem 0.2rem;margin:0;vertical-align:middle}.event-card a.event-cal{display:inline-flex;align-items:center;justify-content:center;gap:0.25rem;min-width:2rem;min-height:2rem;padding:0.15rem 0.25rem;border-radius:var(--radius);color:var(--link);font-size:0.95rem;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.event-card a.event-cal::before{content:"";display:block;width:1.15em;height:1.15em;flex:none;background:currentColor;-webkit-mask:var(--icon-cal) center / contain no-repeat;mask:var(--icon-cal) center / contain no-repeat}.event-card a.event-cal:hover,.event-card a.event-cal:focus-visible{background:var(--wash);text-decoration:none}.event-card .event-cal-when{line-height:1.2}.hub-blurb{margin:0.35rem 0 0;color:var(--text);font-size:0.95rem;line-height:1.4}.card-grid{display:grid;grid-template-columns:1fr;align-items:stretch;gap:2.5rem;margin:0.9rem 0 0}.event-list>.card-grid{margin-top:0}.event-card>.event-photo{margin:0 0 0.55rem;aspect-ratio:16 / 9}.event-card>.event-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media (min-width:42rem){.card-grid{grid-template-columns:1fr 1fr;gap:2.25rem 1.5rem}}.card-grid>.event-card:nth-child(n + 5){content-visibility:auto;contain-intrinsic-block-size:26rem;contain-intrinsic-block-size:auto 26rem}.cal-subscribe{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;margin:0.45rem 0 0;color:var(--muted);font-size:0.85rem;line-height:1.4}.feed-note{margin:0.45rem 0 0;color:var(--muted);font-family:var(--sans);font-size:0.8rem;font-weight:400;line-height:1.4}.suggest-event .feed-note{margin:0;font-size:0.8rem;font-weight:400}.feed-note a{display:inline-block;min-height:1.5rem;padding:0.15rem 0;color:var(--muted);font-weight:400;font-size:0.8rem;line-height:1.5rem;text-decoration-thickness:1px;text-underline-offset:0.14em}.feed-note a:hover,.feed-note a:focus-visible{color:var(--link)}.cal-subscribe summary{grid-row:1;justify-self:start;white-space:nowrap}.cal-subscribe summary::-webkit-details-marker{display:none}.cal-subscribe summary::marker{content:none}.cal-subscribe-panel{grid-row:2;justify-self:stretch;width:100%;min-width:0}.cal-subscribe:not([open])>.cal-subscribe-panel{display:none}.cal-subscribe>summary::before{content:"";display:block;width:1.15em;height:1.15em;flex:none;background:currentColor;-webkit-mask:var(--icon-cal) center / contain no-repeat;mask:var(--icon-cal) center / contain no-repeat}.cal-subscribe-note{margin:0.4rem 0 0;max-width:36rem}.cal-subscribe-links{display:flex;flex-wrap:wrap;gap:0.35rem 0.9rem;margin:0.35rem 0 0;padding:0;list-style:none}.cal-subscribe-links a,.cal-subscribe-copy{color:var(--link);font:inherit;font-weight:600;line-height:1.4}.cal-subscribe-copy{padding:0;border:0;background:none;cursor:pointer;text-decoration:underline;text-underline-offset:0.14em}.sponsor-mark{color:var(--forest);font-size:0.72rem;font-weight:700;letter-spacing:0.08em;line-height:1.2;text-transform:uppercase}.sponsor-line{margin:0.85rem 0 0;color:var(--muted);font-size:0.92rem;line-height:1.4}.sponsor-line a,.email-sponsor a{color:var(--ink);font-weight:650;text-decoration:none}.sponsor-line a:hover,.sponsor-line a:focus-visible,.email-sponsor a:hover,.email-sponsor a:focus-visible{text-decoration:underline;text-underline-offset:0.08em}.email-sponsor{margin:0.55rem 0 0;color:var(--ink);font-size:0.95rem;line-height:1.45}.eastside-svg .foothills{fill:var(--foothills)}.eastside-svg .water{fill:var(--water);stroke:var(--water-edge);stroke-width:1.4;stroke-linejoin:round}.eastside-svg .river{fill:none;stroke:var(--water-edge);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.eastside-svg .island{fill:var(--page);stroke:var(--water-edge);stroke-width:1.4;stroke-linejoin:round}.eastside-svg .road{fill:none;stroke:var(--gold-line);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0.9}.eastside-svg .water-label,.eastside-svg .road-label{fill:var(--muted);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.03em}.row-miles{white-space:nowrap}figure figcaption:has(.photo-swap){padding-right:2.2rem}.photo-swap{position:absolute;top:50%;right:0.35rem;width:1.75rem;height:1.75rem;margin:0;padding:0;border:0;background:transparent;color:var(--ink);opacity:0.45;cursor:pointer;transform:translateY(-50%);transition:opacity 0.15s}.photo-swap:hover,.photo-swap:focus-visible{opacity:0.9}.photo-swap::before,.photo-swap::after{position:absolute;content:""}.photo-swap::before{top:0.5rem;left:0.32rem;width:1.1rem;height:0.78rem;border:1.5px solid currentColor;border-radius:0.18rem;box-sizing:border-box}.photo-swap::after{top:0.68rem;left:0.65rem;width:0.44rem;height:0.44rem;border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box}.photo-swap:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-radius:0.25rem}.photo-note{position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:50;max-width:28rem;margin:0 auto;padding:0.6rem 0.85rem;border-radius:var(--radius);background:var(--ink);color:var(--bg);font-size:0.9rem;opacity:0;pointer-events:none;transition:opacity 0.2s}.photo-note.is-on{opacity:1}.photo-note.is-bad{background:#8a1c1c;color:#fff}[id]{scroll-margin-top:1rem}:target:not(h1,h2,h3,h4,section,main,body){outline:3px solid var(--gold);outline-offset:4px;animation:target-flash 2.6s ease-out 0.4s forwards}@keyframes target-flash{to{outline-color:transparent}}@media (prefers-reduced-motion:reduce){:target:not(h1,h2,h3,h4,section,main,body){animation:none}}
