.reg__inner{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(2.5rem,5.5vw,5.5rem);align-items:stretch;
}
.reg__included{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;margin-top:auto}
.reg__panel{
  position:relative;display:flex;flex:1;flex-direction:column;gap:2rem;
  padding:clamp(1.5rem,2.5vw,2.25rem);background:var(--navy-deep);color:var(--white);
}
.reg__limit{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:-.75rem;color:var(--mist);font-size:var(--t-label);line-height:1.3}
.reg__limit img{flex:0 0 auto;width:1.1875rem;height:1.1875rem}
.reg__inner{grid-template-columns:minmax(0,1fr)}
.reg__panel{gap:1.5rem}
/* Programme themes share the agenda; no duplicated sessions or new ticket tiers. */
.theme-guide{max-width:76rem;margin:0 auto;padding:var(--s4) var(--gut)}
.theme-guide h2{font:400 var(--t-title)/1.2 var(--f-heading);color:var(--gold-bright)}
.theme-guide>p{margin-top:var(--s2);color:var(--ink-2);max-width:85ch;font-size:var(--t-datum)}
.theme-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:var(--s3)}
.theme-cards button,.theme-all{font:inherit;text-align:left;border:1px solid var(--rule-strong);background:var(--navy-wash);color:var(--ink);padding:1rem;cursor:pointer}
.theme-cards strong{display:block;font-size:var(--t-datum);color:var(--gold-bright)}
.theme-cards span{display:block;margin-top:.5rem;font-size:var(--t-label);line-height:1.6;color:var(--ink-2)}
.theme-cards button[aria-pressed="true"],.theme-all[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:var(--gold-veil)}
.theme-cards button:focus-visible,.theme-all:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.theme-all{margin-top:1rem;padding:.5rem 1rem;font-size:var(--t-datum)}
.theme-status,.theme-empty{margin-top:1rem;color:var(--ink-2);font-size:var(--t-label)}
.theme-guide__booking a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:.2em}
.prog-themes{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.75rem 0;padding:0}
.prog-themes li{border:1px solid var(--gold-edge);padding:.2rem .5rem;font-size:var(--t-label-sm);line-height:1.5;color:var(--gold-bright)}
.prog-ses[hidden],.theme-controls[hidden],.theme-empty[hidden]{display:none!important}
.theme-guide--home{padding-block:var(--s5)}
@media(max-width:1000px){.theme-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.theme-cards{grid-template-columns:minmax(0,1fr)}}

/* Compact theme and day controls stay together beneath the masthead. */
.programme-toolbar{position:sticky;top:3.95rem;z-index:30;background:var(--navy-deep);border-block:1px solid var(--rule);padding:.75rem max(var(--gut),calc((100% - 76rem)/2 + var(--gut)))}
.programme-toolbar .theme-cards{display:flex;gap:.45rem;flex-wrap:wrap;margin:0}
.programme-toolbar .theme-cards button{display:inline-flex;align-items:center;gap:.4rem;min-height:2.65rem;padding:.5rem .7rem;margin:0}
.programme-toolbar .theme-cards strong{font-size:var(--t-label);font-weight:500;white-space:nowrap}
.programme-toolbar .theme-cards .material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';width:20px;height:20px;overflow:hidden;margin:0;flex:none}
.programme-toolbar .theme-status{font-size:var(--t-label-sm);margin:.5rem 0 0}
.programme-toolbar .prog-nav{position:static;padding:.6rem 0 0;background:transparent;border:0;backdrop-filter:none}
.programme-toolbar .prog-nav a{min-height:2.5rem;padding:.45rem .7rem}
.prog-page .theme-guide{padding-block:var(--s3)}
.prog-page .theme-guide>p{margin-top:.65rem}
@media(max-width:600px){.programme-toolbar{padding:.5rem var(--gut)}.programme-toolbar .theme-cards{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem}.programme-toolbar .theme-cards button{flex:none}.programme-toolbar .theme-status{line-height:1.4}.programme-toolbar .prog-nav{padding-top:.45rem}}

/* Theme selection highlights matches without removing schedule context. */
.prog-ses.is-theme-match{background:var(--gold-veil);box-shadow:inset 3px 0 0 var(--gold);padding-left:1rem;padding-right:1rem}
.prog-ses.is-theme-match .prog-ses__title{color:var(--gold-bright)}


/* Day disclosures use native buttons; the full agenda keeps its tabs. */
.prog-page--compact .prog-nav button{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .7rem;border:1px solid var(--rule);background:transparent;color:var(--mist);font:500 var(--t-label)/1 var(--f-text);letter-spacing:.06em;cursor:pointer}
.prog-page--compact .prog-nav button:hover{border-color:var(--mist);color:var(--white)}
.prog-page--compact .prog-nav button[aria-expanded="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy-deep)}
.prog-page--compact .prog-nav button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
.prog-page--compact .prog-day[hidden]{display:none}
/* Compact companion to the full agenda. */
.prog-page--compact .programme-toolbar__top{display:flex;align-items:center;gap:.6rem}
.prog-page--compact .programme-toolbar .prog-nav{padding:0;margin:0}
.prog-page--compact .programme-toolbar .prog-nav button{height:44px;min-height:44px;display:inline-flex;align-items:center}
.prog-page--compact .theme-controls{padding-top:.7rem}
.track-filter-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--rule-strong);background:var(--navy);color:var(--gold-bright);cursor:pointer}
.track-filter-toggle[hidden]{display:none}
.track-filter-toggle .material-symbols-outlined{font-family:'Material Symbols Outlined';font-size:22px;line-height:1;font-weight:normal;font-style:normal;font-feature-settings:'liga'}
.track-filter-toggle:hover{border-color:var(--gold-bright)}
.track-filter-toggle[aria-expanded="true"],.track-filter-toggle.has-active-filters{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.track-filter-toggle:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
.prog-page--compact .theme-cards{align-items:center}
.prog-page--compact .theme-cards button{position:relative;background:var(--navy);color:var(--mist)}
.prog-page--compact .theme-cards button strong,
.prog-page--compact .theme-cards button .material-symbols-outlined{color:inherit}
.prog-page--compact .theme-cards button[aria-pressed="true"]{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.prog-page--compact .theme-cards button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.prog-page--compact .theme-cards button[aria-pressed="true"]:hover{background:var(--gold-bright);color:var(--navy-deep)}
.prog-page--compact .theme-filter-icon{color:var(--gold-bright);margin-right:.3rem!important}
.prog-page--compact .theme-cards .theme-tooltip{display:none}
.prog-page--compact .prog-intro{padding-top:6.5rem;padding-bottom:.8rem}
.prog-page--compact .prog-intro h1{font-size:clamp(2.5rem,5vw,4rem)}
.prog-page--compact .prog-intro__note a{color:var(--gold-bright);display:inline-block;margin-left:.7rem}
.prog-page--compact .theme-guide{padding-block:1rem 1.4rem}
.prog-page--compact .theme-guide h2{font-size:1.65rem}
.prog-page--compact .theme-guide>p{font-size:.9rem}
.prog-page--compact .prog-day__head h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.prog-page--compact .prog-day__head{padding-bottom:.75rem}
.prog-page--compact .prog-track__label{margin-block:1.25rem .5rem}
.prog-page--compact .prog-track .prog-ses{
  display:grid;grid-template-columns:4.2rem minmax(0,1fr);
  column-gap:.85rem;padding:.8rem .6rem;
}
.prog-page--compact .prog-track .prog-ses__when{
  grid-column:1;grid-row:1 / span 2;display:flex;
  flex-direction:column;align-items:flex-start;gap:.3rem;
}
.prog-page--compact .prog-ses__when time{font:500 .95rem/1.35 var(--f-text);color:var(--gold-bright)}
.prog-page--compact .prog-ses__end{font-size:.7rem}
.prog-page--compact .prog-ses__fmt{display:none}
.prog-page--compact .prog-track .prog-ses__title{
  grid-column:2;margin:0;font:400 1rem/1.4 var(--f-text);text-wrap:pretty;
}
.prog-page--compact .prog-themes{grid-column:2;gap:.3rem;margin:.4rem 0 0}
.prog-page--compact .prog-themes li{font-size:.65rem;line-height:1.3;padding:.15rem .35rem}
.prog-page--compact .prog-themes .session-theme{position:relative;border:0;padding:.15rem;cursor:help}
.session-theme .material-symbols-outlined{font-family:'Material Symbols Outlined';font-size:19px;font-weight:normal;font-style:normal;line-height:1;font-feature-settings:'liga'}
.session-theme__tip{display:none}
.session-theme:hover .session-theme__tip,
.session-theme:focus .session-theme__tip{display:block;position:absolute;bottom:calc(100% + .4rem);left:0;z-index:5;width:max-content;max-width:11rem;padding:.45rem .6rem;background:var(--navy-deep);color:var(--white);border:1px solid var(--gold-edge);font:400 .75rem/1.4 var(--f-text);pointer-events:none}
.session-theme:focus-visible{outline:1px solid var(--gold-bright);outline-offset:2px}
.prog-page--compact .prog-brk{padding:.7rem .6rem;font-size:.85rem}
.prog-page--compact .prog-ses.is-theme-match{background:var(--gold-veil);box-shadow:inset 3px 0 0 var(--gold)}
@media(min-width:900px){
  .prog-page--compact .prog-day__cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.5rem;align-items:start}
}
@media(max-width:600px){
  .prog-page--compact .programme-toolbar .theme-cards{overflow:visible;flex-wrap:nowrap;padding:0}
  .prog-page--compact .theme-cards button{width:44px;min-height:44px;padding:0;justify-content:center}
  .prog-page--compact .theme-cards button strong{display:none}
  .prog-page--compact .theme-cards button:hover .theme-tooltip,
  .prog-page--compact .theme-cards button:focus-visible .theme-tooltip{
    display:block;position:absolute;top:calc(100% + .5rem);left:0;z-index:2;
    width:max-content;max-width:11rem;margin:0;padding:.5rem .65rem;
    font:400 .75rem/1.4 var(--f-text);color:var(--white);
    background:var(--navy-deep);border:1px solid var(--gold-edge);pointer-events:none;
  }
  .prog-page--compact .theme-cards button:last-child .theme-tooltip{left:auto;right:0}
  .prog-page--compact .prog-intro__note a{display:block;margin:.5rem 0 0}
  .prog-page--compact .prog-track .prog-ses{grid-template-columns:3.6rem minmax(0,1fr);column-gap:.6rem}
}

/* Shared start-time column and continuous gold timeline. */
.prog-page--compact .prog-list{border-left:1px solid var(--gold);margin-left:4px;padding-left:1.4rem;list-style:none}
.prog-page--compact .prog-track .prog-ses,
.prog-page--compact .prog-brk{position:relative;padding:.8rem 0;margin-inline:0;column-gap:.85rem}
.prog-page--compact .prog-ses::before,
.prog-page--compact .prog-brk::before{content:"";position:absolute;left:calc(-1.4rem - 4px);top:1.15rem;width:7px;height:7px;border:1px solid var(--gold);border-radius:50%;background:var(--navy-deep);box-sizing:border-box}
.prog-page--compact .prog-brk{display:grid;grid-template-columns:4.2rem minmax(0,1fr);background:none}
.prog-page--compact .prog-brk__dot{display:none}
.prog-page--compact .prog-ses__when time,
.prog-page--compact .prog-brk__t{font:500 .95rem/1.35 var(--f-text);font-variant-numeric:tabular-nums;color:var(--mist);text-align:left}
.prog-page--compact .prog-themes{margin-top:calc(.4rem - 3px);gap:.15rem}
.prog-page--compact .programme-toolbar .prog-nav button{font-weight:500;white-space:nowrap}
@media(max-width:600px){
 .prog-page--compact .prog-track .prog-ses,.prog-page--compact .prog-brk{grid-template-columns:3.6rem minmax(0,1fr);column-gap:.6rem}
 .prog-page--compact .programme-toolbar__top{gap:.35rem}
 .prog-page--compact .programme-toolbar .prog-nav{gap:.3rem;min-width:0}
 .prog-page--compact .programme-toolbar .prog-nav button{padding:.4rem .45rem;font-size:.7rem}
}

@media(max-width:360px){
 .prog-page--compact .programme-toolbar .prog-nav button{font-size:.62rem;padding-inline:.3rem}
 .prog-page--compact .programme-toolbar .prog-nav{gap:.2rem}
}

/* Match the homepage programme background. */
body.prog-page--compact{background:var(--navy-deep)}
.prog-page--compact .veil{display:none}

/* One integrated highlight from timeline marker through the session content. */
.prog-page--compact .prog-track .prog-ses{isolation:isolate;background:transparent;box-shadow:none}
.prog-page--compact .prog-ses::after{content:"";position:absolute;inset:0 0 0 -1.4rem;z-index:-1;pointer-events:none;transition:background .2s var(--ease)}
.prog-page--compact .prog-ses.is-theme-match::after,
.prog-page--compact .prog-ses:hover::after,
.prog-page--compact .prog-ses:focus-within::after{background:var(--gold-veil)}
.prog-page--compact .prog-ses::before,.prog-page--compact .prog-brk::before{transition:background .2s var(--ease),box-shadow .2s var(--ease);z-index:1}
.prog-page--compact .prog-ses.is-theme-match::before,
.prog-page--compact .prog-ses:hover::before,
.prog-page--compact .prog-ses:focus-within::before,
.prog-page--compact .prog-brk:hover::before{background:var(--gold);box-shadow:var(--glow-signal)}
.prog-page--compact .prog-ses:hover time,.prog-page--compact .prog-ses:hover .prog-ses__title,
.prog-page--compact .prog-ses:focus-within time,.prog-page--compact .prog-brk:hover time{color:var(--gold-bright)}
.prog-page--compact .programme-toolbar .theme-cards button{min-height:32px;padding:.3rem .6rem;font-size:.75rem}
.prog-page--compact .programme-toolbar .theme-cards button strong{font-size:.75rem}
.prog-page--compact .programme-toolbar .theme-cards .material-symbols-outlined{font-size:18px;width:18px;height:18px}
@media(max-width:600px){.prog-page--compact .programme-toolbar .theme-cards button{width:36px;min-height:32px;padding:.25rem}}
@media(max-width:360px){.prog-page--compact .prog-intro__row{flex-wrap:wrap}}

.home-programme .home-programme__days{position:static;display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;padding:0;border:0;background:none;backdrop-filter:none}
.home-programme__day>h3{font:400 clamp(1.65rem,2.5vw,2.5rem)/1.15 var(--f-heading);margin:.8rem 0 1.25rem;color:var(--white)}

.home-programme .programme-toolbar{padding:.65rem 0;margin-top:1.5rem}
.home-programme .programme-toolbar[hidden]{display:none}
.home-programme .prog{padding:0;max-width:none}
.home-programme .prog-day{padding-top:1.5rem}
.home-programme .prog-day__head{display:none}
.home-programme .prog-day[hidden]{display:none}
@media(max-width:800px){.home-programme .home-programme__days{grid-template-columns:1fr;gap:1.75rem}.home-programme__day>h3{margin-bottom:.8rem}}

.home-programme .home-programme__day .day__when{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;padding:.5rem .75rem;color:var(--gold);font-size:.75rem;letter-spacing:.12em}
.home-programme .home-programme__day .day__when[aria-expanded="true"]{color:var(--navy-deep)}
.home-programme .day__when .material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;font-feature-settings:'liga'}

@media(max-width:800px){
 .home-programme__day{min-width:0}
 .home-programme__day>.prog-day{padding-top:.5rem}
 .home-programme__day>.programme-toolbar{position:static;margin-top:1rem}
 .home-programme__day .prog-day__cols{display:block}
}

/* Whole day heading is one accessible disclosure button. */
.home-programme .home-programme__heading{margin:0}
.home-programme .home-programme__day .home-programme__toggle{
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem 1rem;
 width:100%;height:100%;padding:1rem;text-align:left;white-space:normal;
 background:transparent;border:1px solid transparent;text-transform:none;letter-spacing:normal;
 transition:background .2s var(--ease),border-color .2s var(--ease);
}
.home-programme .home-programme__toggle .day__when{
 grid-column:1;display:block;padding:0;min-height:0;margin:0;
 font:500 .75rem/1.4 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
}
.home-programme .home-programme__toggle .home-programme__title{
 grid-column:1;grid-row:2;font:400 clamp(1.65rem,2.5vw,2.5rem)/1.15 var(--f-heading);color:var(--white);
}
.home-programme .home-programme__toggle .material-symbols-outlined{
 grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--gold);
 font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;
 font-size:28px;line-height:1;letter-spacing:normal;text-transform:none;font-feature-settings:'liga';
}
.home-programme .home-programme__day .home-programme__toggle:hover,
.home-programme .home-programme__day .home-programme__toggle:focus-visible,
.home-programme .home-programme__day .home-programme__toggle[aria-expanded="true"]{
 background:var(--gold-veil);border-color:var(--gold-edge);
}

/* Keep the day controls close together rather than stretching across wide screens. */
@media(min-width:801px){
 .home-programme .home-programme__days{grid-template-columns:repeat(2,minmax(0,1fr));max-width:68rem;gap:1.25rem}
}
.home-programme .home-programme__day .home-programme__toggle{grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;padding:.85rem .75rem}
.home-programme .home-programme__day .home-programme__toggle{border-color:rgba(200,204,215,.16)}
.home-programme .home-programme__day .home-programme__toggle:hover,
.home-programme .home-programme__day .home-programme__toggle:focus-visible,
.home-programme .home-programme__day .home-programme__toggle[aria-expanded="true"]{border-color:var(--gold-edge)}

/* A single compact filter row without horizontal divider lines. */
.home-programme .programme-toolbar{border:0}
.home-programme .track-filter-toggle{width:32px;height:32px}
@media(min-width:801px){
 .home-programme .programme-toolbar{display:flex;align-items:center;gap:.65rem}
 .home-programme .programme-toolbar[hidden]{display:none}
 .home-programme .theme-controls{padding-top:0;min-width:0}
 .home-programme .programme-toolbar .theme-cards{align-items:center}
 .home-programme .programme-toolbar .theme-cards button{height:32px}
}

/* Tight filter pill and a divider introducing the arrival row. */
.home-programme .programme-toolbar{margin-top:.5rem;padding:.3rem 0;gap:.5rem}
.home-programme .track-filter-toggle{width:auto;height:32px;gap:.4rem;padding:0 .75rem;border-radius:999px;border-color:var(--gold-edge);font:500 .75rem/1 var(--f-text)}
.home-programme .track-filter-toggle .material-symbols-outlined{font-size:18px}
.home-programme .prog-day{padding-top:.35rem}
.home-programme .prog-arrival{margin-top:.35rem}
.home-programme .prog-arrival>.prog-brk:first-child{border-top:1px solid var(--rule)}
@media(max-width:800px){
 .home-programme__day>.programme-toolbar{margin-top:.4rem}
 .home-programme__day>.prog-day{padding-top:.25rem}
 .home-programme .theme-controls{padding-top:.4rem}
}

/* Compact square filter control, matching the track buttons. */
.home-programme .track-filter-toggle{border-radius:0;height:32px;min-height:32px;padding:0 .5rem;gap:.35rem}
@media(max-width:800px){
 .home-programme__day>.programme-toolbar{display:flex;align-items:flex-start;gap:.4rem;margin-top:.35rem;padding:.25rem 0}
 .home-programme__day>.programme-toolbar[hidden]{display:none}
 .home-programme .track-filter-toggle{width:32px;flex:0 0 32px;padding:0}
 .home-programme .filter-toggle-label{display:none}
 .home-programme .theme-controls{padding-top:0;min-width:0}
}

.faq{background:var(--white);color:var(--navy);padding:clamp(2rem,5vw,4rem) var(--gut);scroll-margin-top:5rem}
.faq:not(.faq--compact){background:#F5F6F8}
.faq__inner{max-width:none;display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);gap:1.5rem 3rem}
.faq h2{font:400 var(--t-headline)/1 var(--f-heading);letter-spacing:-.01em;margin:0}
.faq__item{border-bottom:1px solid var(--rule-dark)}
.faq__item:first-child{border-top:1px solid var(--rule-dark)}
.faq__item summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;min-height:52px;padding:1rem 0;font:500 1rem/1.4 var(--f-text)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";flex:none;color:#96772F;font-size:1.4rem;line-height:1}
.faq__item[open] summary::after{content:"−"}
.faq__item summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.faq__item p{margin:0;padding:0 2rem 1.25rem 0;color:var(--grey-400);font-size:.95rem;line-height:1.65;max-width:76ch}
.faq__more{grid-column:2;color:var(--navy);font-size:.875rem;text-decoration:underline;text-underline-offset:.25em;justify-self:start}
.faq--compact{padding-top:0;padding-bottom:3rem}
.faq--compact .faq__inner{border-top:1px solid var(--rule-dark);padding-top:1.5rem}
.booking-page:has(.faq--compact) .booking{padding-bottom:2rem}
@media(max-width:800px){
  .faq__inner{grid-template-columns:minmax(0,1fr);gap:1rem}
  .faq__more{grid-column:1}
  .faq--compact{padding-inline:1rem}
  .faq__item summary{font-size:.9rem}
  .faq__item p{font-size:.875rem;padding-right:.5rem}
}

/* Match the new portraits to the square head-and-shoulders speaker cards. */
.speaker__plate img[src$="john-mcnertney.jpg"]{width:120%;max-width:none;height:120%;margin-left:-5%;object-position:40% 0}
.speaker-modal__photo[src$="john-mcnertney.jpg"]{object-position:40% 0}

/* Slightly smaller day titles on desktop. */
@media(min-width:801px){.home-programme .home-programme__toggle .home-programme__title{font-size:clamp(1.5rem,2.1vw,2.1rem)}}

/* Viewport-anchored double chevron: five quick nudges, then a rest. */
.hero-scroll{position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:44px;height:48px;color:var(--gold);z-index:19;transition:opacity .2s,visibility .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.65))}
.hero-scroll.is-ready svg{animation:hero-scroll-burst 5.5s ease-in-out 2s infinite}
.hero-scroll:hover{color:var(--gold-bright)}
.hero-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero-scroll.is-away{opacity:0;visibility:hidden;pointer-events:none}
.hero-scroll.is-away svg{animation-play-state:paused}
@keyframes hero-scroll-burst{
 0%,10%,20%,30%,40%,50%,100%{transform:translateY(0)}
 5%,15%,25%,35%,45%{transform:translateY(5px)}
}
@media(max-width:900px){.hero-scroll{bottom:calc(5.5rem + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.hero-scroll.is-ready svg{animation:none}.hero-scroll{transition:none}}

/* Keep registration side by side on desktop and stack only on narrow screens. */
@media(min-width:801px){
 #register .reg__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
}

/* Supplied SVG: fixed circle and a morphing arrow driven by the day state. */
.home-programme .day-expand-icon{grid-column:2;grid-row:1 / span 2;align-self:center;width:28px;height:28px;color:var(--gold)}
.day-expand-icon__circle,.day-expand-icon__arrow{stroke:currentColor;transition:stroke .18s ease,fill .18s ease}
.home-programme .home-programme__day .home-programme__toggle:hover,
.home-programme .home-programme__day .home-programme__toggle:focus-visible{background:rgba(194,163,88,.18);border-color:var(--gold-bright)}
.home-programme__toggle:hover .day-expand-icon__circle,
.home-programme__toggle:focus-visible .day-expand-icon__circle{fill:var(--gold-bright);stroke:var(--gold-bright)}
.home-programme__toggle:hover .day-expand-icon__arrow,
.home-programme__toggle:focus-visible .day-expand-icon__arrow{stroke:var(--navy-deep)}
@media(prefers-reduced-motion:reduce){.day-expand-icon__circle,.day-expand-icon__arrow{transition:none}}

/* Session hints sit below and slightly left, clear of the session title. */
.home-programme .session-theme:hover .session-theme__tip,
.home-programme .session-theme:focus .session-theme__tip{top:calc(100% + .4rem);bottom:auto;left:-.5rem}
.home-programme .prog-ses:hover,
.home-programme .prog-ses:focus-within{z-index:2}

/* Official anniversary seal alongside the GCS footer logo. */
.dawn__brand-lockup{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.dawn__brand-lockup .dawn__logo{flex:none}
.dawn__anniversary{display:block;width:151px;height:auto;flex:none}

/* Session rows retain theme metadata for filtering, without inline icons. */
.home-programme.prog-page--compact .prog-track .prog-ses__when{grid-row:1}

/* both programme days remain visible, with no selection controls. */
.home-programme--static .prog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,5rem);margin-top:2rem;align-items:start}
.home-programme--static .prog-day{min-width:0;padding-top:0}
.home-programme--static .prog-day__head{display:block;margin:0 0 1.75rem;padding:0;min-height:8rem}
.home-programme--static .prog-day__kicker{font:500 .75rem/1.5 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .75rem}
.home-programme--static .prog-day__head h2{font:400 clamp(1.5rem,2.1vw,2.1rem)/1.2 var(--f-heading);color:var(--white);margin:0}
.home-programme--static .prog-day__cols{display:block}
.home-programme--static .prog-track--side{margin-top:2rem}
/* one small grey caveat closing the whole programme (both days), set apart from the columns */
.home-programme .prog-note{margin-top:clamp(2rem,4vw,3rem);color:var(--mist-dim,rgba(200,204,215,.6));font-size:var(--t-label-sm,.75rem);line-height:1.5;letter-spacing:.01em}
@media(max-width:800px){
 .home-programme--static .prog{grid-template-columns:minmax(0,1fr);gap:3rem}
 .home-programme--static .prog-day__head{min-height:0;margin-bottom:1.5rem}
}
