/* Shared public interaction states, loaded after page-specific colours. */
body :is(.text-link,.schedule-detail-link,.workshops-stay-link){border-radius:3px;transition:background .18s,box-shadow .18s,transform .18s}
body :is(.text-link,.schedule-detail-link,.workshops-stay-link):is(:hover,:focus-visible){background:#B4DCD1;--reading-ink:#000;box-shadow:0 0 0 7px #B4DCD1;border-bottom-color:#123E3B;transform:translateY(-2px)}
body :is(.text-link,.schedule-detail-link,.workshops-stay-link):is(:hover,:focus-visible) *{--reading-ink:#000}
body :is(.text-link,.schedule-detail-link,.workshops-stay-link):focus-visible{outline:2px solid #08786E;outline-offset:10px}
body .site-header .nav-cta{background:#123E3B;--reading-ink:#FFF;border:1px solid #123E3B;transition:background .18s,box-shadow .18s,transform .18s}
body .site-header .nav-cta:is(:hover,:focus-visible){background:#B4DCD1;--reading-ink:#000;box-shadow:0 4px 0 #123E3B;transform:translateY(-2px)}
body .site-header .nav-cta:is(:hover,:focus-visible) *{--reading-ink:#000}
body #facilitators .facilitator-path:is(:hover,:focus-visible),body #facilitators .facilitator-footnote .text-link:is(:hover,:focus-visible){background:#133F4E;--reading-ink:#FFF;box-shadow:0 0 0 8px #133F4E}
body #facilitators .facilitator-path:is(:hover,:focus-visible) *,body #facilitators .facilitator-footnote .text-link:is(:hover,:focus-visible) *{--reading-ink:#FFF}
.site-footer .footer-links a:is(:hover,:focus-visible),.footer-workspace:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:5px;background:#B4DCD1;--reading-ink:#000;box-shadow:0 0 0 5px #B4DCD1;border-radius:3px}
.site-footer .footer-links a:is(:hover,:focus-visible) *,.footer-workspace:is(:hover,:focus-visible) *{--reading-ink:#000}
body .workshops-hero-panel>a:is(:hover,:focus-visible),body .entertainment-event-facts>a:is(:hover,:focus-visible){background:#B4DCD1;--reading-ink:#000;box-shadow:0 0 0 8px #B4DCD1;border-radius:3px}
body .workshops-hero-panel>a:is(:hover,:focus-visible) *,body .entertainment-event-facts>a:is(:hover,:focus-visible) *{--reading-ink:#000}
body .facilitator-link:is(:hover,:focus-visible),body .schedule-card h4 a:is(:hover,:focus-visible),body .schedule-evening h3 a:is(:hover,:focus-visible){background:#133F4E;--reading-ink:#FFF;text-decoration-thickness:2px;box-shadow:0 0 0 4px #133F4E}
body .facilitator-link:is(:hover,:focus-visible) *{--reading-ink:#FFF}
.button:focus-visible{background:#B4DCD1;--reading-ink:#000}.button:focus-visible *{--reading-ink:#000}
/* The festival menu opens on hover, keyboard focus, or its plus control. */
.festival-nav{position:relative;display:flex;align-items:center;gap:2px}
.festival-menu-toggle{display:flex;align-items:center;justify-content:center;width:30px;min-height:40px;padding:4px;border:0;background:transparent;cursor:pointer;border-radius:6px;--reading-ink:#000}
.festival-menu-toggle svg{width:20px;height:20px;transition:transform .18s}
.festival-menu-toggle[aria-expanded=true] svg{transform:rotate(45deg)}
.festival-menu-toggle:is(:hover,:focus-visible){background:#B4DCD1}
.festival-submenu{position:absolute;top:100%;left:-18px;min-width:290px;padding:12px;background:#FFF;--reading-ink:#000;border:1px solid #6EAAA6;box-shadow:0 12px 26px #123E3B26;border-radius:4px 4px 24px 4px;z-index:30}
.festival-submenu[hidden]{display:none}
.desktop-nav .festival-submenu a{display:block;font-size:16px;padding:13px 14px;border:0;border-radius:4px}
.desktop-nav .festival-submenu a:is(:hover,:focus-visible){background:#133F4E;--reading-ink:#FFF}
.mobile-festival-links{display:flex;flex-direction:column;border-left:2px solid #08786E;padding-left:18px;grid-column:1/-1}
.mobile-festival-links a{font-size:16px!important}
@media(min-width:1001px) and (max-width:1250px){.site-header .desktop-nav{gap:11px}.site-header{gap:14px}.festival-menu-toggle{width:26px}}
.about-closing-brand{width:fit-content;align-items:center;margin-bottom:6px}.about-closing-brand .wordmark{font:500 72px/1 var(--serif);letter-spacing:-2px}.about-closing-brand .brand-descriptor{font:600 12px/1.5 var(--sans);letter-spacing:3.4px;margin-top:7px}
@media(max-width:600px){.about-closing-brand .wordmark{font-size:60px}.about-closing-brand .brand-descriptor{font-size:10px;letter-spacing:2.9px}}
@media(prefers-reduced-motion:reduce){body :is(.text-link,.schedule-detail-link,.workshops-stay-link),body .site-header .nav-cta{transition:none;transform:none!important}.festival-menu-toggle svg{transition:none}}
body :is(.contact-hero-card,.programme-meals) .text-link:is(:hover,:focus-visible){background:#133F4E;--reading-ink:#FFF;box-shadow:0 0 0 7px #133F4E}
body :is(.contact-hero-card,.programme-meals) .text-link:is(:hover,:focus-visible) *{--reading-ink:#FFF}

/* Permanent dropdown frame, requested 27 October 2026. */
body :is(select,input[list]){outline:3px solid #08786E;outline-offset:5px}
body :is(select,input[list]):focus-visible{box-shadow:inset 0 0 0 2px #08786E}
