.public-program-page { background:var(--mantwerp-petrol); color:#f1eadb; }
.program-public-hero { padding-block:clamp(90px,8.7vw,130px) clamp(70px,7vw,105px); text-align:center; }
.program-public-hero h1 { margin:26px 0 0; color:#f1eadb; font-family:var(--font-display); font-size:clamp(52px,7vw,104px); line-height:.86; }

.program-day-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid rgba(226,164,38,.35); }
.program-day-nav button { padding:24px; border:0; border-right:1px solid rgba(226,164,38,.25); background:transparent; color:#f1eadb; text-align:center; cursor:pointer; transition:background-color .25s ease; }
.program-day-nav button:last-child { border-right:0; }
.program-day-nav button:hover,.program-day-nav button[aria-selected="true"] { background:rgba(226,164,38,.07); }
.program-day-nav button:focus-visible { outline:2px solid var(--mantwerp-gold); outline-offset:-4px; }
.program-day-nav span,.program-day-nav strong { display:block; }
.program-day-nav span { font-size:12px; }
.program-day-nav strong { margin-top:4px; color:var(--mantwerp-gold); font-family:var(--font-display); font-size:27px; }

.public-program-page .program-days { display:block; margin-inline:auto; padding-inline:0; overflow:visible; border-bottom:1px solid rgba(226,164,38,.2); }
.public-program-page .program-day { display:block; min-height:0; padding:clamp(64px,6vw,96px) 0; overflow:visible; cursor:default; scroll-margin-top:96px; }
.public-program-page .program-day+.program-day { border-left:0; }
.public-program-page .program-day__inner { width:min(100%,1240px); margin-inline:auto; }
.program-day__header { padding-bottom:clamp(38px,4vw,56px); }
.program-day__meta { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:0 0 22px; color:rgba(241,234,219,.78); font-family:var(--font-display); font-size:clamp(15px,1.05vw,18px); line-height:1; text-transform:uppercase; }
.program-day__meta span:last-child { color:var(--mantwerp-gold); white-space:nowrap; }
.program-day__header h2 { margin:0; color:#f1eadb; font-family:var(--font-display); font-size:clamp(54px,6vw,88px); line-height:.88; text-transform:uppercase; }
.public-program-page .program-day__content { display:block; min-width:0; min-height:0; flex:none; pointer-events:auto; }
.program-quiz-special { padding:0 0 clamp(64px,6vw,80px); }
.program-quiz-special h3 { max-width:900px; margin:18px 0 20px; color:#f1eadb; font-family:var(--font-display); font-size:clamp(42px,5vw,72px); line-height:.94; }
.program-quiz-special>p:not(.section-kicker) { max-width:600px; color:rgba(241,234,219,.8); line-height:1.55; }
.program-quiz-special>a { display:inline-flex; gap:12px; margin-top:12px; padding:15px 22px; border:1px solid var(--mantwerp-gold); color:var(--mantwerp-gold); font-family:var(--font-display); text-decoration:none; transition:background-color .25s ease,color .25s ease; }
.program-quiz-special>a:hover,.program-quiz-special>a:focus-visible { background:var(--mantwerp-gold); color:var(--mantwerp-petrol); }
.program-event-group--secondary { margin-top:clamp(64px,6vw,80px); }
.program-event-group__title { margin:0 0 20px; color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(28px,2.7vw,42px); line-height:1; }
.program-event-group--secondary .program-event-group__title { font-size:clamp(24px,2.2vw,34px); }
.program-event-group__intro { margin:0 0 22px; color:rgba(241,234,219,.72); }

.program-event-list { margin:0; padding:0; list-style:none; border-top:1px solid rgba(226,164,38,.35); }
.program-event { border-bottom:1px solid rgba(226,164,38,.22); }
.program-event__row { display:grid; grid-template-columns:clamp(160px,12vw,180px) minmax(0,1fr) minmax(112px,132px); gap:clamp(28px,3.2vw,56px); align-items:start; width:100%; padding:clamp(30px,3vw,44px) clamp(12px,1.5vw,24px); color:inherit; text-decoration:none; transition:background-color .25s ease; }
.program-event__row>time,.program-event__time-pending { color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(28px,2.4vw,38px); line-height:1; white-space:nowrap; }
.program-event__time-pending { font-size:clamp(20px,1.8vw,28px); }
.program-event__row>div { min-width:0; }
.program-event h3 { max-width:780px; margin:5px 0 8px; color:#f1eadb; font-family:var(--font-display); font-size:clamp(32px,3.5vw,52px); line-height:.95; overflow-wrap:anywhere; transition:color .25s ease; }
.program-event__type,.program-event__organizer { margin:0; color:var(--mantwerp-gold); text-transform:uppercase; }
.program-event__dates { margin:8px 0 0; color:rgba(226,164,38,.82); font-family:var(--font-display); font-size:clamp(14px,1vw,16px); line-height:1.15; text-transform:uppercase; }
.program-event__organizer+p { max-width:720px; margin-top:14px; color:rgba(241,234,219,.75); line-height:1.55; }
.program-event dl { display:flex; gap:40px; margin:22px 0 0; }
.program-event dl div { min-width:160px; }
.program-event dt { color:var(--mantwerp-gold); font-size:11px; text-transform:uppercase; }
.program-event dd { margin:2px 0 0; }
.program-event__address { display:block; margin-top:3px; color:rgba(241,234,219,.65); font-size:.88em; }
.program-event__link { display:inline-flex; align-items:center; justify-self:end; gap:8px; align-self:center; color:var(--mantwerp-gold); font-family:var(--font-display); white-space:nowrap; }
.program-event__link span { transition:transform .25s ease; }
.program-event__row:hover { background:rgba(241,234,219,.025); }
.program-event__row:hover h3,.program-event__row:focus-visible h3 { color:var(--mantwerp-gold); }
.program-event__row:hover .program-event__link span,.program-event__row:focus-visible .program-event__link span { transform:translateX(5px); }
.program-event__row:focus-visible { outline:2px solid var(--mantwerp-gold); outline-offset:-2px; }
.program-empty { margin:0; padding:clamp(30px,2.5vw,40px) 0; border-block:1px solid rgba(226,164,38,.25); color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(18px,1.25vw,22px); line-height:1.15; }

.event-detail { padding-block:clamp(50px,6vw,90px) clamp(64px,7vw,110px); }
.event-detail__primary { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr); gap:clamp(70px,8vw,150px); align-items:start; }
.event-detail__identity { min-width:0; }
.event-detail__back { display:inline-flex; min-height:44px; margin-bottom:clamp(32px,3vw,40px); align-items:center; gap:9px; color:var(--mantwerp-gold); font-family:var(--font-display); font-size:14px; text-decoration-color:transparent; text-underline-offset:5px; transition:opacity .25s ease,text-decoration-color .25s ease; }
.event-detail__back span { display:inline-block; transition:transform .25s ease; }
.event-detail__back:hover { color:var(--mantwerp-gold); opacity:.82; text-decoration-color:currentColor; }
.event-detail__back:hover span,.event-detail__back:focus-visible span { transform:translateX(-4px); }
.event-detail .section-kicker { margin:0 0 18px; }
.event-detail h1 { max-width:900px; margin:0; color:#f1eadb; font-family:var(--font-display); font-size:clamp(56px,6vw,108px); line-height:.9; overflow-wrap:anywhere; }
.event-detail__tagline { margin:22px 0 0; color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(22px,2vw,34px); line-height:1; text-transform:uppercase; }
.event-detail__lead { max-width:760px; margin:clamp(24px,2.3vw,32px) 0 0; color:rgba(241,234,219,.82); font-size:clamp(22px,1.65vw,28px); line-height:1.5; }
.event-detail__practical { align-self:start; margin-top:clamp(94px,9vw,138px); padding-left:clamp(30px,3vw,40px); border-left:1px solid rgba(226,164,38,.35); }
.event-detail__practical dl { margin:0; }
.event-detail__practical dl div { margin-bottom:24px; }
.event-detail__practical dt { color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(14px,1vw,16px); font-weight:400; line-height:1; text-transform:uppercase; }
.event-detail__practical dd { margin:7px 0 0; color:#f1eadb; font-size:clamp(17px,1.15vw,19px); line-height:1.45; }
.event-reserve { display:flex; justify-content:space-between; margin-top:30px; padding:15px 18px; border:1px solid var(--mantwerp-gold); color:var(--mantwerp-gold); font-family:var(--font-display); text-decoration:none; transition:background-color .25s ease,color .25s ease; }
.event-reserve:hover,.event-reserve:focus-visible { background:var(--mantwerp-gold); color:var(--mantwerp-petrol); }
.event-detail__image { display:block; width:100%; max-height:720px; margin:clamp(52px,6vw,90px) 0 0; object-fit:cover; }
.event-detail__extended { max-width:800px; margin-top:clamp(52px,6vw,84px); }
.event-detail__extended section+section { margin-top:48px; }
.event-detail__extended h2 { margin:0 0 18px; color:var(--mantwerp-gold); font-family:var(--font-display); font-size:clamp(24px,2vw,34px); }
.event-detail__extended p { margin:0; color:rgba(241,234,219,.8); font-size:clamp(18px,1.35vw,21px); line-height:1.65; }

@media(max-width:767px){
    .program-public-hero { padding-block:64px 58px; }
    .program-day-nav {
        display:flex;
        overflow-x:auto;
        overscroll-behavior-x:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }
    .program-day-nav::-webkit-scrollbar { display:none; }
    .program-day-nav button {
        display:flex;
        min-width:0;
        min-height:112px;
        padding:24px 22px;
        flex:0 0 clamp(260px,78vw,320px);
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:10px;
        scroll-snap-align:center;
        text-align:center;
    }
    .program-day-nav button[aria-selected="true"] { box-shadow:inset 0 -2px 0 var(--mantwerp-gold); }
    .program-day-nav span { margin:0; font-size:12px; line-height:1; white-space:nowrap; }
    .program-day-nav strong { margin:0; font-size:24px; line-height:1; }
    .program-day { padding-block:clamp(52px,14vw,72px); }
    .public-program-page .program-day__inner { width:100%; }
    .program-day__header { padding-bottom:34px; }
    .program-day__meta { justify-content:space-between; font-size:15px; }
    .program-day__header h2 { font-size:clamp(52px,17vw,72px); }
    .program-event-group--secondary { margin-top:44px; }
    .program-quiz-special { padding-bottom:44px; }
    .program-event__row { grid-template-columns:1fr; gap:14px; padding:28px 0 30px; }
    .program-event h3 { font-size:clamp(30px,10vw,42px); }
    .program-event dl { display:grid; gap:14px; }
    .program-event__link { justify-self:start; margin-top:4px; }
    .event-detail { padding-block:40px 68px; }
    .event-detail__primary { grid-template-columns:1fr; gap:38px; }
    .event-detail__back { margin-bottom:28px; }
    .event-detail h1 { font-size:clamp(44px,13vw,68px); }
    .event-detail__lead { font-size:clamp(19px,5.3vw,23px); }
    .event-detail__practical { margin-top:0; padding:28px 0 0; border-top:1px solid rgba(226,164,38,.35); border-left:0; }
    .event-detail__image { margin-top:48px; }
    .event-detail__extended { margin-top:48px; }
}

@media(min-width:768px) and (max-width:899px){
    .program-event__row { grid-template-columns:120px minmax(0,1fr); gap:28px; }
    .program-event__link { grid-column:2; justify-self:start; margin-top:4px; }
}

@media(min-width:900px) and (max-width:1199px){
    .program-event__row { grid-template-columns:140px minmax(0,1fr) auto; gap:clamp(28px,3vw,40px); }
}

@media(min-width:768px) and (max-width:900px){.event-detail__primary{grid-template-columns:1fr;gap:46px}.event-detail__practical{margin-top:0;padding:32px 0 0;border-top:1px solid rgba(226,164,38,.35);border-left:0}}

@media(prefers-reduced-motion:reduce){.program-day-nav button,.program-event__row,.program-event h3,.program-event__link span,.event-detail__back,.event-detail__back span,.event-reserve{transition:none}}
