/* Public buttons share the approved Programme/Festival silhouette. */
.button{border-radius:22px 4px;padding:20px 24px;gap:24px;min-height:64px;border:1px solid transparent;transition:background .2s,box-shadow .2s,transform .2s}
.button-light{background:#FFF;--reading-ink:#000}.button-dark{background:#123E3B;--reading-ink:#FFF}
.button-light:hover{background:#B4DCD1}.button-dark:hover{background:#08786E}
.button:hover{transform:translateY(-2px);box-shadow:0 4px 0 #6EAAA6}
.button:focus-visible{outline:3px solid #6EAAA6;outline-offset:5px}
.button .action-symbol{flex:none}.button .action-symbol svg{width:28px;height:28px}
.facilitator-link,.schedule-card h4 a,.schedule-evening h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;font-weight:600;border-radius:3px}
.facilitator-link:hover,.schedule-card h4 a:hover,.schedule-evening h3 a:hover{text-decoration-thickness:2px;background:#FFF}
/* Icons have their own column; labels and values share the same text alignment. */
.event-meta{margin:0}.event-meta>div{padding:22px 0;border-top:1px solid #6EAAA6}.event-meta>div:first-child{border-top:0;padding-top:0}.event-meta>div:last-child{padding-bottom:0}
.event-meta dt{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;line-height:1.5}.event-meta dt svg{width:32px;height:32px;padding:0;background:transparent;flex:none}
.event-meta dd{margin:8px 0 0 42px;line-height:1.75}.event-meta dd .fact-date{display:block;font-size:16px;margin-bottom:6px}.event-meta dd a{display:inline-block;padding:3px 0}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

/* Contact joins the shared navigation without squeezing desktop links. */
@media(min-width:1001px) and (max-width:1250px){.site-header{gap:20px}.site-header .desktop-nav{gap:14px;font-size:14px}.site-header .nav-cta{padding-left:16px;padding-right:16px}}
.booking-start-anchor{display:block;height:0;scroll-margin-top:28px}
/* Directory icons sit after the text, so longer labels cannot overlap them. */
.festival-route{justify-content:flex-start}.festival-route p{max-width:none;padding-right:0}.festival-route .route-icon{position:static;align-self:flex-end;margin-top:14px;flex:none}
@media(max-width:600px){.festival-directory{grid-template-columns:1fr}.festival-route{min-height:0;padding:24px}.festival-route .route-icon{margin-top:12px}}

.festival-practical-card{scroll-margin-top:28px}.festival-practical-card:target{outline:2px solid #B4DCD1;outline-offset:6px}

/* The three waves accompany selected invitations, separate from the wordmark. */
.wave-heading{display:flex;align-items:center;gap:18px;margin:0 0 22px}
.wave-heading>.edessa-waves{font:400 56px/.8 var(--serif);display:block;flex:none;letter-spacing:0;margin:0;user-select:none}
.wave-heading>.eyebrow{margin:0;min-width:0}
.footer-wave-heading{margin-bottom:22px}
.footer-wave-heading>.edessa-waves{font-size:56px}
.footer-wave-heading>.eyebrow{font-size:16px!important;line-height:1.65}
.about-closing-copy>.wave-heading{padding-bottom:22px;border-bottom:1px solid #6EAAA6}
@media(max-width:600px){.wave-heading{gap:14px}.wave-heading>.edessa-waves{font-size:48px}}
