.fun-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:end;padding-block:44px 62px;border-bottom:1px solid var(--line)}
.fun-hero .guide-back{margin-bottom:36px;display:inline-block}
.fun-hero .eyebrow{font-size:10px}
.fun-hero h1{font-size:clamp(64px,7vw,100px);letter-spacing:-.065em;line-height:1.06;margin:21px 0 0}
.fun-dot{color:var(--brand-gold)}
.fun-hero h1 em{display:block;font-family:var(--accent-font);font-style:normal;color:var(--brand-violet);font-size:.44em;letter-spacing:0;line-height:1.3;margin-top:15px}
.fun-intro{max-width:430px;padding-bottom:4px}
.fun-intro p{font-size:19px;line-height:1.8}
.fun-intro p+p{font-size:14px;color:var(--muted);margin-top:18px}
.fun-agenda{padding-block:40px 80px}
.fun-agenda-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.fun-agenda-header h2{font-size:28px;letter-spacing:-.025em}
.fun-checked{font-size:11px;color:var(--muted)}
.fun-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.fun-filters button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:30px;font-size:12px;line-height:1.5;min-height:44px;padding:11px 17px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.fun-filters button:hover{border-color:var(--brand-violet)}
.fun-filters button[aria-pressed=true]{background:var(--brand-violet);border-color:var(--brand-violet);color:#fff}
.fun-filters button:focus-visible,.fun-flyer:focus-visible,.fun-close:focus-visible{outline:3px solid var(--brand-gold);outline-offset:4px}
.fun-agenda-meta{display:flex;justify-content:space-between;gap:12px;margin:23px 0 28px;color:var(--muted);font-size:11px}
.fun-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:48px}
.fun-card{min-width:0}
.fun-flyer{display:flex;position:relative;align-items:center;justify-content:center;aspect-ratio:4/5;background:#f7f3f8;border:1px solid #eee7ef;padding:13px;cursor:zoom-in}
.fun-flyer img{width:100%;height:100%;object-fit:contain;display:block;min-height:0}
.fun-enlarge{display:grid;place-items:center;position:absolute;bottom:10px;right:10px;background:#fff;color:var(--brand-violet);width:34px;height:34px;border-radius:50%;font-size:22px;box-shadow:0 2px 10px #32133e15;transition:transform .2s}
.fun-flyer:hover .fun-enlarge{transform:translate(2px,-2px)}
.fun-card-copy{padding:20px 0 0}
.fun-category{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-violet);margin-bottom:9px}
.fun-card h2{font-size:22px;line-height:1.3;letter-spacing:-.035em;margin:0 0 13px}
.fun-date{font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.fun-place{font-size:12px;color:var(--muted);margin-bottom:14px;line-height:1.6}
.fun-description{font-size:13px;line-height:1.8;color:var(--muted)}
.fun-note{border-top:1px solid var(--line);padding-top:22px;margin-top:42px;color:var(--muted);font-size:11px;line-height:1.8}
.fun-empty{padding:60px 25px;background:#faf7fb;text-align:center;border-top:2px solid var(--brand-gold)}
.fun-empty h3{font-size:25px;letter-spacing:-.025em;margin-bottom:14px}
.fun-empty p{font-size:14px;color:var(--muted);max-width:550px;margin:auto}
.fun-empty button{margin:22px auto 0;cursor:pointer}
.fun-dialog{position:fixed;inset:0;margin:auto;width:min(95vw,1000px);max-width:95vw;max-height:94dvh;padding:16px;border:0;background:white;color:var(--ink);border-radius:2px;overscroll-behavior:contain}
.fun-dialog::backdrop{background:#24132ae8}
.fun-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:13px}
.fun-dialog h2{font-size:15px;line-height:1.45;margin:0}
.fun-close{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:28px;cursor:pointer}
.fun-dialog>img{display:block;max-height:calc(94dvh - 110px);width:100%;object-fit:contain}
body.fun-modal-open{overflow:hidden}
.site-header nav>a[aria-current=page]{color:var(--brand-violet)}
@media(max-width:1000px){.fun-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fun-hero{gap:6%}.fun-intro p{font-size:17px}}
@media(max-width:600px){.fun-hero{grid-template-columns:1fr;gap:28px;padding-block:30px 35px}.fun-hero .guide-back{margin-bottom:25px}.fun-hero h1{font-size:68px}.fun-hero h1 em{font-size:.45em}.fun-intro{max-width:none}.fun-intro p{font-size:16px}.fun-intro p+p{font-size:13px;margin-top:13px}.fun-agenda{padding-block:29px 50px}.fun-agenda-header{display:block}.fun-agenda-header h2{font-size:25px}.fun-checked{margin-top:7px}.fun-filters{gap:8px;margin-top:21px}.fun-filters button{font-size:11px;padding:10px 13px}.fun-grid{grid-template-columns:1fr;gap:35px}.fun-flyer{aspect-ratio:auto;padding:12px}.fun-flyer img{height:auto;max-height:540px}.fun-card-copy{padding-top:18px}.fun-card h2{font-size:24px}.fun-description{font-size:14px}.fun-agenda-meta{font-size:10px;margin-bottom:24px}.fun-dialog{padding:12px}.fun-dialog h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){.fun-filters button,.fun-enlarge{transition:none}.fun-flyer:hover .fun-enlarge{transform:none}}
