.event-card-date{display:block;margin-bottom:9px;font-family:var(--mono);font-size:15px;letter-spacing:.07em;text-transform:uppercase}
.event-status-badge{position:absolute;top:15px;left:15px;z-index:3;padding:7px 10px 6px;border:1px solid currentColor;background:var(--paper);font-family:var(--mono);font-size:11px;line-height:1;letter-spacing:.09em;text-transform:uppercase}
.event-card--linked .event-status-badge{top:15px;left:15px}
.home-page .events-section .event-card-date{margin-bottom:6px!important;font-size:12px!important}
.home-page .events-section .event-status-badge{top:12px!important;left:12px!important;font-size:9px!important;padding:6px 9px!important}
.event-card--summary .event-card-date{margin-bottom:7px}
body.event-modal-open{overflow:hidden}
.event-modal[hidden]{display:none!important}
.event-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .24s ease, visibility .24s ease}
.event-modal.is-open{opacity:1;visibility:visible}
.event-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(12, 31, 26, .72);backdrop-filter:blur(7px);cursor:pointer}
.event-modal-panel{position:relative;z-index:1;width:min(980px, calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:none;background:var(--paper);color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.3);opacity:0;transform:translateY(18px) scale(.975);transition:opacity .26s ease, transform .32s cubic-bezier(.2,.8,.2,1);outline:none}
.event-modal-panel::-webkit-scrollbar{width:0;height:0}
.event-modal.is-open .event-modal-panel{opacity:1;transform:translateY(0) scale(1)}
.event-modal-content{display:grid;grid-template-columns:minmax(270px, .82fr) minmax(0, 1.18fr);min-height:520px}
.event-modal-media{min-height:100%;padding:28px;background:var(--paper-2)}
.event-modal-media img{width:100%;height:100%;max-height:590px;object-fit:contain;object-position:center}
.event-modal-copy{position:relative;padding:clamp(54px, 5vw, 78px) clamp(32px, 4.5vw, 62px) 46px}
.event-modal-status{position:static;display:inline-block;margin-bottom:18px}
.event-modal-copy .event-card-date{margin-bottom:8px}
.event-modal-copy h2{max-width:620px;margin:0;font-family:var(--serif);font-size:clamp(38px, 4vw, 58px);font-weight:400;line-height:.9;letter-spacing:-.04em}
.event-modal-location{margin:16px 0 0;font-size:16px;line-height:1.4;opacity:.72}
.event-modal-headline{margin:24px 0 0;font-family:var(--serif);font-size:23px;font-style:italic;line-height:1.08}
.event-modal-meta{display:grid;gap:5px;margin-top:21px;font-size:14px;line-height:1.45}
.event-modal-meta p{margin:0}
.event-modal-hours{display:grid;gap:2px}
.event-modal-description{max-width:610px;margin:22px 0 0;font-size:15px;line-height:1.55}
.event-modal-link{display:inline-block;margin-top:22px;padding-bottom:4px;border-bottom:1px solid currentColor;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.event-modal-close{position:absolute;top:18px;right:18px;z-index:3;width:42px;height:42px;border:1px solid rgba(20,18,15,.28);border-radius:50%;background:var(--paper);color:var(--ink);font-size:29px;line-height:1;cursor:pointer}
@media  (max-width: 900px){.event-modal{padding:16px}
.event-modal-panel{width:min(720px, calc(100vw - 32px));max-height:calc(100dvh - 32px)}
.event-modal-content{grid-template-columns:1fr}
.event-modal-media{min-height:0;padding:22px 22px 0}
.event-modal-media img{width:100%;height:auto;max-height:300px}
.event-modal-copy{padding:38px 28px 34px}}
@media  (max-width: 620px){.event-modal{place-items:start center;overflow-y:auto;scrollbar-width:none}
.event-modal::-webkit-scrollbar{width:0}
.event-modal-panel{max-height:none;margin:12px 0}
.event-modal-copy h2{font-size:clamp(34px, 11vw, 48px)}}
@media  (prefers-reduced-motion: reduce){.event-modal,
  .event-modal-panel,
  .event-learn-more{transition:none!important}}
.events-page .page-hero-media,
.events-page .page-hero-media img,
.events-page .event-card,
.events-page .event-card > img,
.events-page .event-card--summary,
.events-page .event-card--festival-page,
.events-page .event-card--festival-page > img,
.home-page .events-section .event-card,
.home-page .events-section .event-card > img,
.event-modal-panel,
.event-modal-media,
.event-modal-media img,
.event-modal-close{border-radius:0!important}
.events-page #event-chastain-park-fall-arts-festival-2026 > img,
.events-page .event-modal-media img[src$="event-chastain-2026.jpg"],
.home-page #event-chastain-park-fall-arts-festival-2026 > img{object-fit:contain!important;object-position:center!important}
body.rd-home-page.event-modal-open{overflow:hidden!important}

/* Exact source page wipe and custom desktop cursor, mounted at body level so CSS transforms in Elementor do not constrain fixed elements. */
.rd-page-wipe{position:fixed;inset:0;z-index:100000;background:#ef5c2d;pointer-events:none;transform:translateY(0);animation:rd-page-uncover .42s cubic-bezier(.76,0,.24,1) .06s both;will-change:transform}
.rd-page-wipe.is-departing{animation:rd-page-cover .36s cubic-bezier(.7,0,.28,1) both}
.rd-home-cursor-dot{position:fixed;left:0;top:0;width:12px;height:12px;background:#ef5c2d;border-radius:50%;pointer-events:none;z-index:8000;transform:translate3d(-100px,-100px,0);transition:width .18s,height .18s,background .18s;mix-blend-mode:difference}
.rd-home-cursor-dot.is-large{width:27px;height:27px;background:#f5cb3d;mix-blend-mode:multiply}
@media (prefers-reduced-motion:reduce){.rd-page-wipe{animation:none;transform:translateY(-100%)}.rd-page-wipe.is-departing{animation:none;transform:translateY(0)}.rd-home-cursor-dot{display:none}}
@media (pointer:coarse){.rd-home-cursor-dot{display:none}}
