/* Homepage refinements. Paragraph sizes still come from typography.css. */
.experience-invitation .currents-title,.experience-invitation .currents-copy{font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:0}
.programme-poster .programme-facts{list-style:none;padding:0;margin:0 0 30px;grid-column:2;min-width:0}.programme-facts li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:22px 0;border-top:1px solid #6EAAA6}.programme-facts li>svg{width:32px;height:32px;margin-top:2px}.programme-facts strong{display:block;font-size:18px;line-height:1.6}.programme-facts li span{display:block;font-size:18px;line-height:1.7;margin-top:7px}
.programme-v3{background:#FFF}
/* A clear colour change replaces older, conflicting button hover rules. */
.hero-buttons>.button,.programme-poster>.button,.facilitators-intro>.button{transition:background .2s,box-shadow .2s,transform .2s}
.hero-buttons>.button:is(:hover,:focus-visible),.programme-poster>.button:is(:hover,:focus-visible),.facilitators-intro>.button:is(:hover,:focus-visible){background:#FFF;--reading-ink:#000;border-color:#FFF;box-shadow:0 5px 0 #6EAAA6;transform:translateY(-2px)}
.hero-buttons>.button:is(:hover,:focus-visible)>.action-symbol,.programme-poster>.button:is(:hover,:focus-visible)>.action-symbol,.facilitators-intro>.button:is(:hover,:focus-visible)>.action-symbol{background:#123E3B;--reading-ink:#FFF}
/* Linked rows and text links provide a visible response on dark and light sections. */
#main .text-link,.hero-secondary,.hero-bottom>a{min-height:46px;transition:background .2s,box-shadow .2s,transform .2s;border-radius:3px}
#main .text-link:is(:hover,:focus-visible),.hero-secondary:is(:hover,:focus-visible),.hero-bottom>a:is(:hover,:focus-visible){background:#B4DCD1;--reading-ink:#000;box-shadow:0 0 0 8px #B4DCD1;border-bottom-color:#123E3B;transform:translateY(-2px)}
#main .text-link:is(:hover,:focus-visible) *,.hero-secondary:is(:hover,:focus-visible) *,.hero-bottom>a:is(:hover,:focus-visible) *{--reading-ink:#000}
#main .text-link:focus-visible,.hero-secondary:focus-visible,.hero-bottom>a:focus-visible{outline:2px solid #08786E;outline-offset:11px}
.facilitator-paths .facilitator-path{grid-template-columns:22px minmax(0,1fr) 30px;text-decoration:none;align-items:start;border-radius:4px}
.facilitator-paths .facilitator-path h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.facilitator-paths .facilitator-path>svg{align-self:center;width:30px;height:30px;flex:none}
.facilitator-paths .facilitator-path:is(:hover,:focus-visible){background:#FFF;--reading-ink:#000;box-shadow:-10px 0 0 #FFF,10px 0 0 #FFF;transform:translateY(-2px)}
.facilitator-paths .facilitator-path:is(:hover,:focus-visible) h3{text-decoration-thickness:2px}
.venue-v4 .venue-details{display:grid;grid-template-columns:1fr;gap:0;margin:24px 0}.venue-details a{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #6EAAA6;padding:16px 0;font-size:18px;line-height:1.6;text-decoration:underline;text-underline-offset:5px;border-radius:3px;transition:background .2s,box-shadow .2s}.venue-details svg{width:28px;height:28px;flex:none}
.venue-details a:is(:hover,:focus-visible){background:#B4DCD1;--reading-ink:#000;box-shadow:0 0 0 8px #B4DCD1}.venue-details a:focus-visible{outline:2px solid #FFF;outline-offset:11px}
/* Music, dance and celebration form one intentional caption below the image. */
.celebration-frame{padding-bottom:0}.celebration-caption{width:calc(100% - 60px);position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#133F4E;--reading-ink:#FFF;color:#FFF;border-radius:0 0 28px 4px;padding:0;margin-top:16px;letter-spacing:0}
.celebration-caption>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 10px;font:500 18px/1.5 Manrope,Arial,sans-serif;--reading-ink:#FFF;text-align:center}.celebration-caption>span+span{border-left:1px solid #6EAAA6}.celebration-caption svg{width:32px;height:32px}
@media(max-width:850px) and (min-width:601px){.programme-poster{grid-template-columns:1fr 1.3fr}.programme-poster h3{grid-row:2/3}}
@media(max-width:850px) and (min-width:601px){.celebration-caption{width:calc(100% - 70px)}}
@media(max-width:600px){.celebration-panel{margin-top:24px}.programme-facts strong,.programme-facts li span{font-size:17px}.programme-facts li{gap:14px}.facilitator-paths .facilitator-path{grid-template-columns:20px minmax(0,1fr) 26px;gap:12px}.facilitator-paths .facilitator-path>svg{width:26px;height:26px;min-width:26px}.celebration-caption>span{font-size:17px;padding:18px 8px}.celebration-caption{width:100%;margin-top:12px}.celebration-caption svg{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.programme-poster>.button,.facilitators-intro>.button,#main .text-link,.facilitator-paths .facilitator-path,.venue-details a{transition:none!important}.programme-poster>.button:is(:hover,:focus-visible),.facilitators-intro>.button:is(:hover,:focus-visible),#main .text-link:is(:hover,:focus-visible),.facilitator-paths .facilitator-path:is(:hover,:focus-visible){transform:none}}

.hero-secondary,.hero-bottom>a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;padding:8px 0}
@media(prefers-reduced-motion:reduce){.hero-buttons>.button,.hero-secondary,.hero-bottom>a{transition:none!important}.hero-buttons>.button:is(:hover,:focus-visible),.hero-secondary:is(:hover,:focus-visible),.hero-bottom>a:is(:hover,:focus-visible){transform:none}}
