/* Experience-first editorial layout. Keep operational fields and poster framing intact. */
:root{--ink:#262622;--line:#e5dfd7;--lime:#b9442c}body{background:#fff;color:#262622}.top{border-bottom:1px solid #eee9e2}.brand-name{letter-spacing:-.045em}.primary-nav{font-weight:600}.primary-nav a:hover,.primary-nav a[aria-current=page]{border-color:#b9442c}.trip-nav-link{border:1px solid #e3ddd5!important;border-radius:24px;padding:9px 15px!important}.discovery-heading{padding:32px 0 22px}.discovery-heading p{font-size:10px;font-weight:700;letter-spacing:.18em;color:#7b7168;margin:0 0 12px}.discovery-heading h1{font-size:clamp(35px,4.2vw,62px);font-weight:750;letter-spacing:-.045em;line-height:1.08;margin:0}.discovery-heading em{font-family:Georgia,serif;font-weight:400;color:#b9442c}body[data-page=home] .controls{margin:0 0 18px;border-radius:12px;background:#faf8f4;box-shadow:none;border:1px solid #e4ded6}body[data-page=home] .control{padding:14px 20px;min-width:0}body[data-page=home] .search-button{background:#b9442c;color:#fff;border-radius:8px}body[data-page=home] .experience-links{display:flex;gap:10px;overflow:auto;padding:0 0 22px;white-space:nowrap;font-size:13px}body[data-page=home] .experience-links a{border:1px solid #e3ddd6;padding:9px 18px;border-radius:24px}body[data-page=home] .experience-links a:first-child{background:#252622;color:#fff;border-color:#252622}.home-section-head{border:0!important}.home-section-head h2{letter-spacing:-.035em;font-weight:650}.home-section-head p{font-size:13px;line-height:1.6;color:#726d65}.home-section{margin-top:44px}.home-section#highlights{margin-top:0}#highlights>.home-section-head{display:none}.results.home-highlights{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:stretch}.home-highlights .card:first-child{grid-row:span 3}.home-highlights .card{border:0;border-radius:12px;background:#f7f5f0;box-shadow:none;overflow:hidden;display:grid;grid-template-columns:42% 58%}.home-highlights .card:first-child{display:flex;flex-direction:column}.home-highlights .card-visual,.home-highlights .card.feature .card-visual{height:100%;min-height:220px;aspect-ratio:auto}.home-highlights .card:first-child .card-visual{height:310px;min-height:310px}.home-highlights .card-content{padding:18px}.home-highlights .card h3{font-size:21px;line-height:1.25;margin:10px 0}.home-highlights .card:first-child h3{font-size:30px;letter-spacing:-.035em}.home-highlights .card-content>p:not(.card-session-note){display:none}.home-highlights .card-label>span:first-child{font-size:9px;letter-spacing:.06em}.home-highlights .card .status{background:#eae7df;font-size:10px;color:#55574e}.home-highlights .card-decision{margin:8px 0;font-size:11px}.home-highlights .card-meta{padding-top:8px;font-size:11px}.home-highlights .trip-save{padding:8px 12px;min-height:36px;font-size:12px;border-radius:20px;border-color:#d2c9bd}.home-highlights .card-visual:not(.official-image):not(.poster-frame){background-size:cover;background-position:center}.home-rail .card{border-color:#e9e3dc;border-radius:12px;box-shadow:none}.home-rail .card h3{letter-spacing:-.03em}.home-rail .card-content{padding:19px}.home-rail .card-meta{font-size:12px}.home-section-head .see-all{color:#99402c}.music-directory-entry,.map-entry{background:#f5f0e8;border-color:#e4d8c9}.planning-grid>a{border-color:#e2d9cd}.trip-save[aria-pressed=true]{background:#b9442c!important;color:white!important;border-color:#b9442c!important}.detail-page{max-width:1100px}.detail-page h1{letter-spacing:-.045em;line-height:1.12}.event-image-detail{background:#f6f4ef;border:0;border-radius:14px;margin:25px 0;padding:18px}.event-image-detail img{max-height:450px}.visit-summary,.travel-context{border-radius:12px}.trip-card{border-radius:12px!important}.trip-actions button{border-radius:9px}.see-all:focus-visible,.experience-links a:focus-visible{outline:3px solid #b9442c;outline-offset:4px}
@media(max-width:1000px){.home-highlights .card{display:flex;flex-direction:column}.home-highlights .card:first-child .card-visual{height:330px}.home-highlights .card-visual{height:150px;min-height:150px}.home-highlights .card:first-child h3{font-size:28px}}
@media(max-width:680px){.discovery-heading{padding:23px 0 18px}.discovery-heading h1{font-size:38px;max-width:350px}.discovery-heading p{font-size:9px;letter-spacing:.12em}body[data-page=home] .control{padding:12px}body[data-page=home] .controls{margin:0 0 13px}body[data-page=home] .experience-links{gap:7px;font-size:11px;padding-bottom:17px}body[data-page=home] .experience-links a{padding:8px 13px}.results.home-highlights{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible}.home-highlights .card{width:auto!important;min-width:0!important;flex:none!important}.home-highlights .card:first-child{grid-column:1/-1;grid-row:auto}.home-highlights .card:first-child .card-visual{height:245px;min-height:245px}.home-highlights .card-visual{height:150px;min-height:150px}.home-highlights .card-content{padding:13px}.home-highlights .card h3{font-size:17px;line-height:1.25;overflow-wrap:anywhere}.home-highlights .card:first-child h3{font-size:25px}.home-highlights .card-label{flex-wrap:wrap;gap:5px}.home-highlights .card-decision{font-size:10px}.home-highlights .card-meta{font-size:10px}.home-highlights .trip-save{font-size:11px;white-space:normal}.home-section{margin-top:34px}.home-section-head h2{font-size:27px}.home-section-head p{font-size:12px}.event-image-detail img{max-height:330px}.event-image-detail{padding:12px}}
body[data-page=home] .trip-presets{display:inline-flex;margin:0 0 12px;padding:0;gap:7px}body[data-page=home] .view-switch{display:none}body[data-page=home] #highlights{padding-top:0;margin-top:0}body[data-page=home] #highlights>.translation-group-note{margin:0 0 8px;font-size:10px}.home-highlights .card:first-child{grid-row:span 2}.home-highlights .card:nth-child(4){grid-column:1/-1;display:grid;grid-template-columns:30% 70%}.home-highlights .card:nth-child(4) .card-visual{height:230px;min-height:230px}@media(max-width:680px){.home-highlights .card:first-child{grid-row:auto}.home-highlights .card:nth-child(4){grid-template-columns:35% 65%}.home-highlights .card:nth-child(4) .card-visual{height:100%;min-height:160px}}
.home-highlights .card,.home-highlights .card-content,.home-highlights .card-visual{min-width:0;max-width:100%;box-sizing:border-box}.home-highlights .official-image img{min-width:0;width:100%;max-width:100%!important;object-fit:contain}.home-highlights .card:nth-child(4) .card-content{min-width:0}body[data-page=home] .home-rail{max-width:100%}
.home-rail .card .trip-save{position:static;inset:auto;width:auto;align-self:flex-start;margin-top:12px;z-index:auto;min-height:40px}.home-highlights .card .trip-save{max-width:100%;white-space:normal}
/* Reset inherited carousel placement: overflow checks alone cannot detect collapsed tracks. */
body[data-page=home] .results.home-highlights{grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:auto}
@media(max-width:680px){
 body[data-page=home] .results.home-highlights{grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible;gap:20px}
 body[data-page=home] .home-highlights .card,body[data-page=home] .home-highlights .card:first-child,body[data-page=home] .home-highlights .card:nth-child(4){grid-column:auto!important;grid-row:auto!important;display:flex!important;flex-direction:column;width:100%!important;min-width:0!important;max-width:100%;height:auto}
 body[data-page=home] .home-highlights .card .card-visual,body[data-page=home] .home-highlights .card:first-child .card-visual,body[data-page=home] .home-highlights .card:nth-child(4) .card-visual{width:100%;height:215px;min-height:0;aspect-ratio:auto}
 body[data-page=home] .home-highlights .card-content{width:100%;padding:17px}
 body[data-page=home] .home-highlights .card h3,body[data-page=home] .home-highlights .card:first-child h3{font-size:23px;line-height:1.25;overflow-wrap:normal;word-break:normal}
 body[data-page=home] .home-highlights .card-decision,body[data-page=home] .home-highlights .card-meta{font-size:12px}
 body[data-page=home] .controls{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0}
 body[data-page=home] .controls .control{width:auto!important;min-width:0!important;margin:0;padding:11px 13px;border:0}
 body[data-page=home] .controls .control[hidden]{display:none!important}
 body[data-page=home] .controls .range-control{border-left:1px solid #e4ded6}
 body[data-page=home] .controls .keyword-control{grid-column:1;min-width:0;border-top:1px solid #e4ded6}
 body[data-page=home] .controls .search-button{grid-column:2;width:auto;margin:8px;min-width:0;padding:10px;font-size:12px;justify-content:center}
 body[data-page=home] .controls label{font-size:9px;letter-spacing:.07em}
 body[data-page=home] .controls input,body[data-page=home] .controls select,body[data-page=home] .controls .filter-picker-trigger,body[data-page=home] #travel-range{font-size:13px;max-width:100%;white-space:normal}
 body[data-page=home] .discovery-heading{padding:19px 0 15px}
 body[data-page=home] .discovery-heading h1{font-size:34px}
}
@media(max-width:680px){body[data-page=home] #filters .control:not([hidden]){grid-column:auto!important}body[data-page=home] #filters .keyword-control{grid-column:1!important}body[data-page=home] #filters .range-control{grid-column:2!important;grid-row:1}body[data-page=home] #filters .control:first-child{grid-column:1!important;grid-row:1}}
.discovery-heading em{display:inline-block;white-space:nowrap}
@media(min-width:681px) and (max-width:1000px){body[data-page=home] .results.home-highlights{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}body[data-page=home] .home-highlights .card,body[data-page=home] .home-highlights .card:first-child,body[data-page=home] .home-highlights .card:nth-child(4){grid-column:auto;grid-row:auto;display:flex;flex-direction:column}body[data-page=home] .home-highlights .card .card-visual,body[data-page=home] .home-highlights .card:first-child .card-visual,body[data-page=home] .home-highlights .card:nth-child(4) .card-visual{height:220px;min-height:220px;width:100%}}

/* Home cards: one reading order, no carousel or feature-specific track inheritance. */
body[data-page=home] .home-rail .card{background:#fff;border:0;border-radius:0;box-shadow:none;overflow:visible}
body[data-page=home] .results.home-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:30px;align-items:start}
body[data-page=home] .home-highlights .card,body[data-page=home] .home-highlights .card:first-child,body[data-page=home] .home-highlights .card:nth-child(4){display:flex!important;flex-direction:column;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0}
body[data-page=home] .home-highlights .card .card-visual,body[data-page=home] .home-highlights .card:first-child .card-visual,body[data-page=home] .home-highlights .card:nth-child(4) .card-visual{width:100%;height:260px;min-height:0;max-width:100%;border-radius:12px;overflow:hidden}
body[data-page=home] .home-rail .card-content{padding:15px 0 0;display:flex;flex-direction:column;gap:0}
body[data-page=home] .home-rail .card-label{display:none}
body[data-page=home] .home-rail .card h3,body[data-page=home] .home-highlights .card:first-child h3{font-size:23px;line-height:1.25;margin:0 0 10px;letter-spacing:-.025em}
body[data-page=home] .home-rail .card-description{display:none}
body[data-page=home] .home-rail .card-programme-warning{display:block!important;font-size:12px;color:#8c402b;margin:0 0 10px}
body[data-page=home] .home-rail .card-decision{display:block;background:none;border:0;padding:0;margin:0 0 9px;font-size:12px}
body[data-page=home] .home-rail .card-decision>div:first-child{display:flex;gap:8px;align-items:baseline}
body[data-page=home] .home-rail .card-decision>div:not(:first-child){display:none}
body[data-page=home] .home-rail .card-decision dt{font-weight:400;color:#79736a}
body[data-page=home] .home-rail .card-decision dd{font-weight:600;margin:0}
body[data-page=home] .home-rail .card-meta{margin:0;padding:0;border:0;align-items:center;font-size:12px;line-height:1.6;color:#69645e}
body[data-page=home] .home-rail .card-meta>a{display:none}
body[data-page=home] .home-rail .card .trip-save{position:static!important;inset:auto!important;min-height:36px;margin:12px 0 0;padding:7px 13px;border-radius:22px;width:auto;align-self:flex-start;background:#fff;border:1px solid #ded8cf;color:#413d37;font-size:12px}
body[data-page=home] .home-rail .card .trip-save[aria-pressed=true]{background:#b9442c;color:white}
@media(max-width:680px){body[data-page=home] .results.home-highlights{grid-template-columns:minmax(0,1fr)!important;gap:27px}body[data-page=home] .home-highlights .card .card-visual,body[data-page=home] .home-highlights .card:first-child .card-visual,body[data-page=home] .home-highlights .card:nth-child(4) .card-visual{height:200px}body[data-page=home] .home-rail .card h3,body[data-page=home] .home-highlights .card:first-child h3{font-size:21px}body[data-page=home] .home-rail .card-content{padding-top:12px}}
/* Portrait artwork has its own ticket layout; never crop the original poster. */
body .card.portrait-card,body[data-page=home] .home-rail .card.portrait-card,body[data-page=home] .home-highlights .card.portrait-card:first-child,body[data-page=home] .home-highlights .card.portrait-card:nth-child(4){display:grid!important;grid-template-columns:minmax(115px,40%) minmax(0,1fr)!important;grid-template-rows:auto;align-items:stretch;background:#f6f5f1;border:1px solid #e6e2db;border-radius:14px;overflow:hidden;min-width:0}
body .card.portrait-card .card-visual.official-image,body[data-page=home] .home-rail .card.portrait-card .card-visual.official-image{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;background:#202c40!important;padding:18px 12px!important;aspect-ratio:auto!important;min-height:230px!important;height:auto!important;width:100%;border:0;border-radius:0;max-width:100%;overflow:hidden}
body .card.portrait-card .card-visual img{width:100%!important;height:auto!important;max-height:330px!important;max-width:100%!important;object-fit:contain;box-shadow:0 7px 20px #0004}
body .card.portrait-card .card-content,body[data-page=home] .home-rail .card.portrait-card .card-content{padding:20px 17px;width:100%;min-width:0;display:flex;flex-direction:column;justify-content:center}
body .card.portrait-card h3,body[data-page=home] .home-rail .card.portrait-card h3{font-size:21px!important;line-height:1.25;overflow-wrap:anywhere;letter-spacing:-.025em;margin:0 0 12px}
body .card.portrait-card .card-description,body .card.portrait-card .card-label{display:none}
body .card.portrait-card .card-decision{font-size:12px;padding:0;margin:0 0 10px;background:none}
body .card.portrait-card .card-decision>div:not(:first-child){display:none}
body .card.portrait-card .card-meta{font-size:12px;padding:0;margin:0;line-height:1.6}
body .card.portrait-card .card-meta>a{display:none}
body .card.portrait-card .trip-save{position:static!important;inset:auto!important;width:auto;max-width:100%;align-self:flex-start;white-space:normal;font-size:12px;padding:8px 12px;margin-top:14px;border-radius:20px}
body .card .card-visual .poster-enlarge{position:static!important;inset:auto!important;display:block;width:auto;height:auto;min-height:34px;border:1px solid #ffffff60;border-radius:20px;background:transparent;color:#fff;font:500 11px/1.4 inherit;padding:7px 10px;cursor:pointer;z-index:1}
body .card .card-visual .poster-enlarge[hidden]{display:none!important}.poster-enlarge:focus-visible{outline:3px solid #fff;outline-offset:3px}
.poster-viewer{width:min(740px,94vw);max-height:92vh;padding:16px;border:0;border-radius:14px;background:#182336;color:white;overflow:auto}.poster-viewer::backdrop{background:#08101dcc}.poster-viewer>button{display:block;margin:0 0 12px auto;color:white;background:transparent;border:1px solid #ffffff70;padding:9px 18px;border-radius:24px;cursor:pointer}.poster-viewer>img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;object-fit:contain;margin:auto}
@media(max-width:680px){body .card.portrait-card,body[data-page=home] .home-rail .card.portrait-card,body[data-page=home] .home-highlights .card.portrait-card:first-child,body[data-page=home] .home-highlights .card.portrait-card:nth-child(4){grid-template-columns:minmax(110px,40%) minmax(0,1fr)!important}body .card.portrait-card .card-content,body[data-page=home] .home-rail .card.portrait-card .card-content{padding:16px 13px}body .card.portrait-card h3,body[data-page=home] .home-rail .card.portrait-card h3{font-size:18px!important}body .card.portrait-card .card-meta{font-size:11px}}
@media(max-width:350px){body .card.portrait-card,body[data-page=home] .home-rail .card.portrait-card,body[data-page=home] .home-highlights .card.portrait-card:first-child,body[data-page=home] .home-highlights .card.portrait-card:nth-child(4){grid-template-columns:minmax(0,1fr)!important}body .card.portrait-card .card-visual.official-image,body[data-page=home] .home-rail .card.portrait-card .card-visual.official-image{min-height:0!important;padding:18px!important}body .card.portrait-card .card-visual img{max-height:230px!important;width:auto!important;max-width:100%!important}}
body .card .card-visual .poster-enlarge{font-family:inherit;font-size:11px;line-height:1.4;font-weight:500;flex:none}
@media(max-width:680px){body[data-page=home] .results.home-rail{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;align-items:start;gap:24px;overflow:visible}body[data-page=home] .home-rail .card{width:100%!important;min-width:0!important;max-width:100%;grid-column:auto;grid-row:auto}body[data-page=home] .home-rail .card .card-visual{height:200px;aspect-ratio:auto;min-height:0}body[data-page=home] .home-rail .card.portrait-card .card-visual.official-image{height:auto!important;min-height:230px!important}}
/* Shared card typography and reading order; retain the music ticket silhouette. */
.card .card-content{display:flex;flex-direction:column}
.card .card-location{order:0;color:#746e66;font-size:11px;font-weight:600;letter-spacing:.035em;margin-bottom:8px;line-height:1.4}
.card .card-label{order:1}.card .card-content>h3{order:2}.card .card-meta{order:3}.card .card-decision{order:4}.card .card-description,.card .card-programme-warning,.card .card-session-note,.card .translation-note{order:5}.card .trip-save{order:6}
body[data-page=home] .home-rail .card .card-meta,body .card.portrait-card .card-meta{margin:0 0 9px;line-height:1.5;font-size:12px}
body[data-page=home] .home-rail .card h3,body .card.portrait-card h3,body[data-page=home] .home-rail .card.portrait-card h3{font-size:21px!important;font-weight:700;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
body .card.portrait-card .trip-save,body[data-page=home] .home-rail .card .trip-save{font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;min-height:36px;padding:7px 13px;border:1px solid #ded8cf;border-radius:22px;background:#fff;color:#413d37;margin-top:12px}
body .card .card-visual .poster-enlarge{font-size:10px;padding:5px 9px;min-height:30px}
body .card.portrait-card .card-visual img{max-width:min(100%,var(--poster-native-width,100%))!important;width:auto!important;height:auto!important}
.poster-viewer>img{width:auto!important;height:auto!important;max-width:min(100%,var(--poster-native-width,100%))}
@media(max-width:680px){body .card.portrait-card h3,body[data-page=home] .home-rail .card.portrait-card h3,body[data-page=home] .home-rail .card h3{font-size:20px!important}}
