/* New editorial hubs. All selectors are scoped to avoid changing the catalogue. */
:is(#tour-hub,#agenda-hub,#community-hub,#social-hub,#guide-detail){--hub-ink:var(--ink,#193d36);--hub-paper:var(--paper,#f5f1e9);--hub-orange:var(--orange,#af5639);--hub-line:var(--line,#d7d8ca);--hub-muted:var(--muted,#626c61);max-width:1320px;margin:auto;padding:88px 60px;scroll-margin-top:90px;font-family:var(--sans,'DM Sans',Arial,sans-serif)}
:is(#tour-hub,#agenda-hub,#community-hub,#social-hub,#guide-detail) :is(button,input,select,textarea){font:inherit;color:inherit}
:is(#tour-hub,#agenda-hub,#community-hub,#social-hub,#guide-detail) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--hub-orange);outline-offset:4px}
.hub-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.hub-heading h2{font-size:clamp(39px,4.5vw,62px);max-width:760px;letter-spacing:-.7px}.hub-heading>p{font-size:13px;line-height:1.8;color:var(--hub-muted);max-width:380px;margin-bottom:3px}.hub-heading .eyebrow{margin-bottom:18px}.hub-filter-bar{display:flex;align-items:end;gap:18px;border-top:1px solid var(--hub-ink);padding-top:22px;margin-bottom:28px}.hub-filter-bar label{display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;flex:1;max-width:260px}.hub-filter-bar select{background:transparent;border:1px solid var(--hub-line);padding:12px;font-size:12px;letter-spacing:0;text-transform:none;border-radius:2px;max-width:100%;min-height:44px}.hub-filter-bar>p{font-size:11px;color:var(--hub-muted);margin-left:auto;padding-bottom:10px;white-space:nowrap}.hub-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hub-tour-card{display:flex;flex-direction:column;padding:27px 25px 20px;background:var(--white,#fffcf6);border:1px solid var(--hub-line);border-radius:2px;min-width:0;transition:border-color .18s,transform .18s;position:relative}.hub-tour-card:hover{border-color:#8b9d8f;transform:translateY(-3px)}.hub-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px}.hub-sequence{font:39px/1 var(--serif,Georgia,serif);color:#98a18f}.hub-pill{font-size:10px;line-height:1.4;border:1px solid #ccd3c3;border-radius:20px;padding:5px 10px;text-align:right;max-width:160px}.hub-card-kicker{font-size:9px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--hub-orange);margin-bottom:11px}.hub-tour-card h3{font-size:34px;letter-spacing:-.4px;line-height:1.08}.hub-tour-card h3 a:hover{color:var(--hub-orange)}.hub-card-summary{font-size:12px;color:var(--hub-muted);line-height:1.8;margin-top:15px;margin-bottom:20px}.hub-stop-preview{margin-top:auto;padding-top:18px;border-top:1px solid var(--hub-line);font-size:10px;line-height:1.8;color:#647362;overflow-wrap:anywhere}.hub-stop-preview span{color:var(--hub-orange);padding:0 3px}.hub-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:23px}.hub-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;background:var(--hub-ink);color:var(--hub-paper)!important;border:1px solid var(--hub-ink);padding:12px 16px;font-size:11px!important;font-weight:600;line-height:1.5;text-align:left;text-decoration:none;cursor:pointer;border-radius:2px}.hub-button:hover{background:#2d5b50}.hub-button-light{background:transparent;color:var(--hub-ink)!important;border-color:#a3b29f}.hub-button-light:hover{background:#e4e8d9}.hub-text-button{background:none;border:0;border-bottom:1px solid #a9b39f;padding:3px 0;font-size:10px!important;line-height:1.6;text-decoration:none;cursor:pointer;color:inherit;display:inline-block}.hub-text-button:hover,.hub-link:hover{color:var(--hub-orange)}.hub-icon-button{margin-left:auto;background:none;border:1px solid var(--hub-line);width:38px;height:38px;font-size:20px!important;border-radius:50%;cursor:pointer}.hub-icon-button:hover{background:#e4e8d9}.hub-status{font-size:11px;line-height:1.65;color:var(--hub-muted);margin-top:10px;overflow-wrap:anywhere;min-height:0}.hub-status:empty{display:none}.hub-status.is-error{color:#98412f}.hub-status input{display:block;width:100%;margin-top:8px;font-size:11px;background:var(--hub-paper);border:1px solid var(--hub-line);padding:10px}.hub-empty{grid-column:1/-1;padding:25px;border-block:1px solid var(--hub-line);font-size:13px;color:var(--hub-muted)}.hub-fine-print{font-size:10px;line-height:1.8;color:var(--hub-muted);margin-top:18px;max-width:760px}.hub-link{font-size:11px;border-bottom:1px solid #a9b39f;line-height:1.7;overflow-wrap:anywhere}.hub-collection-heading{padding-top:64px;max-width:720px}.hub-collection-heading h3{font-size:41px}.hub-collection-heading>p:last-child{font-size:13px;color:var(--hub-muted);margin-top:16px}.hub-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px}.hub-collection{background:var(--hub-ink);color:var(--hub-paper);padding:32px}.hub-collection .hub-card-kicker{color:#e3ac84}.hub-collection h3{font-size:36px}.hub-collection>p:not(.hub-card-kicker){font-size:12px;line-height:1.8;color:#c8d3bf;margin-top:15px}.hub-collection ol{padding:0;margin:24px 0 0;list-style:none}.hub-collection li{border-top:1px solid #466556;padding:12px 0;display:grid;grid-template-columns:52px 1fr;gap:15px;font-size:12px}.hub-collection li>span{color:#d9a585;font-size:9px;letter-spacing:1px;padding-top:3px;text-transform:uppercase}.hub-collection li a:hover{text-decoration:underline}.hub-collection .hub-text-button{margin-top:20px;border-color:#78927e}
#agenda-hub{border-block:1px solid var(--hub-line)}.hub-agenda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.hub-event{padding:22px 0;border-top:1px solid var(--hub-ink);min-width:0}.hub-event-date{font-size:14px;color:var(--hub-orange);margin:15px 0 19px;font-weight:550}.hub-event-date span{font-weight:400;font-size:11px}.hub-event h3{font-size:32px;margin-bottom:16px;line-height:1.12}.hub-event>p:not(.hub-card-kicker){font-size:12px;line-height:1.8;color:var(--hub-muted);margin-top:12px}.hub-event .hub-event-location{font-size:11px;color:var(--hub-ink)}.hub-event small{display:block;font-size:9px;color:var(--hub-muted);margin-top:18px}.hub-agenda-sources{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px}.hub-community-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start}.hub-comment{padding:23px 0;border-top:1px solid var(--hub-line)}.hub-comment:first-child{border-top-color:var(--hub-ink)}.hub-comment header{display:flex;align-items:center;justify-content:space-between;gap:20px}.hub-comment header strong{font-size:12px;font-weight:600}.hub-comment time,.hub-comment small{font-size:9px;color:var(--hub-muted)}.hub-comment small{display:block;margin-top:8px}.hub-comment>p:not(.hub-status){font-size:12px;line-height:1.85;margin-top:14px;white-space:pre-wrap;overflow-wrap:anywhere}.hub-comment-reply{margin-left:28px;border-left:2px solid #ccd3bf;padding-left:18px}.hub-comment-actions{display:flex;gap:25px;margin-top:15px}.hub-comment-form{padding:30px;background:#e8ebdf;border:1px solid #d4dac8;position:relative}.hub-comment-form h3{font-size:34px;margin-bottom:22px}.hub-comment-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;margin-bottom:17px}.hub-comment-form input,.hub-comment-form textarea{border:1px solid #b8c3ae;background:var(--white,#fffcf6);padding:12px;width:100%;font-size:13px;border-radius:2px;resize:vertical;min-width:0}.hub-comment-form textarea{line-height:1.7}.hub-comment-form .hub-fine-print{margin:5px 0 20px}.hub-comment-form .hub-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}.hub-reply-note{font-size:11px;margin-bottom:20px;color:var(--hub-orange)}.hub-reply-note button{margin-left:10px}.hub-button:disabled,.hub-icon-button:disabled,.hub-text-button:disabled{opacity:.55;cursor:wait}.hub-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;border-top:1px solid var(--hub-line);padding-top:23px;margin:0}.hub-stats>div{display:flex;flex-direction:column-reverse;gap:6px}.hub-stats dt{font-size:10px;color:var(--hub-muted);line-height:1.6}.hub-stats dd{font:39px/1 var(--serif,Georgia,serif);margin:0}#hub-public-stats{margin-top:55px}#hub-public-stats .eyebrow{margin-bottom:18px}
#social-hub{border-top:1px solid var(--hub-line)}.hub-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.hub-social-card{background:var(--white,#fffcf6);border:1px solid var(--hub-line);min-width:0;overflow:hidden}.hub-social-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#e4e8d9}.hub-social-card>div{padding:25px}.hub-social-card h3{font-size:31px;line-height:1.15}.hub-social-card p:not(.hub-status){font-size:11px;line-height:1.8;color:var(--hub-muted);margin-top:14px;white-space:pre-wrap;overflow-wrap:anywhere}.hub-social-card .hub-actions{gap:12px 18px}
#guide-detail{padding-top:45px}.hub-back{margin-bottom:45px}.hub-guide-heading{max-width:920px;margin-bottom:60px}.hub-guide-heading h1{font:400 clamp(53px,6.8vw,88px)/1.02 var(--serif,Georgia,serif);letter-spacing:-1.4px}.hub-guide-summary{font-size:17px;line-height:1.8;color:var(--hub-muted);max-width:740px;margin-top:25px}.hub-guide-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;font-size:11px;line-height:1.7}.hub-guide-meta span+span{border-left:1px solid var(--hub-line);padding-left:24px}.hub-guide-heading .hub-actions{margin-top:30px}.hub-guide-body{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;align-items:start;border-top:1px solid var(--hub-ink);padding-top:40px}.hub-guide-route h2{font-size:43px;margin-bottom:30px}.hub-guide-stops{list-style:none;margin:0;padding:0}.hub-guide-stops>li{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:28px 0;border-top:1px solid var(--hub-line)}.hub-stop-number{font:33px/1 var(--serif,Georgia,serif);color:#9aa38f;padding-top:3px}.hub-guide-stops h3{font-size:32px;line-height:1.15}.hub-guide-stops li>div>p:not(.hub-card-kicker){font-size:12px;line-height:1.85;color:var(--hub-muted);margin-top:13px}.hub-guide-stops .hub-highlight{color:var(--hub-ink)!important;font-weight:600}.hub-guide-stops .hub-stop-address{font-size:10px!important;letter-spacing:.15px}.hub-guide-stops details{margin-top:15px;font-size:11px;color:var(--hub-muted)}.hub-guide-stops summary{cursor:pointer;display:list-item;list-style:disclosure-closed;margin-left:13px;color:var(--hub-ink);font-weight:550}.hub-guide-stops details[open] summary{list-style:disclosure-open}.hub-guide-stops details p{margin-top:12px}.hub-guide-practical{background:#e5e9db;padding:30px;position:sticky;top:105px;overflow-wrap:anywhere}.hub-guide-practical h3{font:600 12px/1.5 var(--sans,Arial,sans-serif);margin:25px 0 10px}.hub-guide-practical h3:first-of-type{margin-top:0}.hub-guide-practical>p:not(.eyebrow):not(.hub-status){font-size:12px;line-height:1.85;color:var(--hub-muted);white-space:pre-line}.hub-guide-practical>p.hub-fine-print{font-size:10px!important}.hub-official-links{display:flex;flex-direction:column;align-items:start;gap:12px}.hub-map-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hub-vote-tour{width:100%;margin-top:25px;gap:12px}.hub-vote-tour[aria-pressed=true]{background:#3f6854}.hub-guide-practical .hub-status{margin-top:12px}
@media(min-width:1600px){.hub-tour-card{padding:30px}}
@media(max-width:1050px){:is(#tour-hub,#agenda-hub,#community-hub,#social-hub,#guide-detail){padding:65px 35px}.hub-heading{gap:35px}.hub-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-community-layout,.hub-guide-body{gap:35px}.hub-guide-practical{padding:23px}.hub-social-grid{gap:17px}.hub-social-card>div{padding:20px}.hub-social-card h3{font-size:28px}.hub-guide-meta span+span{padding-left:15px}.hub-guide-meta{gap:12px 15px}}
@media(max-width:750px){:is(#tour-hub,#agenda-hub,#community-hub,#social-hub,#guide-detail){padding:54px 24px}.hub-heading{display:block;margin-bottom:30px}.hub-heading h2{font-size:41px}.hub-heading>p{max-width:none;margin-top:20px;font-size:13px}.hub-heading .eyebrow{margin-bottom:16px}.hub-filter-bar{flex-wrap:wrap;gap:15px}.hub-filter-bar label{max-width:none;flex:1 1 40%;min-width:0}.hub-filter-bar label:nth-of-type(3){flex-basis:65%}.hub-filter-bar>p{padding-bottom:10px}.hub-tour-grid,.hub-agenda-grid,.hub-collection-grid,.hub-social-grid{grid-template-columns:1fr}.hub-tour-card{padding:24px}.hub-card-top{margin-bottom:22px}.hub-tour-card h3{font-size:36px}.hub-card-summary{font-size:13px}.hub-stop-preview{font-size:11px}.hub-collection-heading{padding-top:45px}.hub-collection-heading h3{font-size:36px}.hub-collection{padding:27px}.hub-collection li{padding:15px 0}.hub-event{padding:20px 0}.hub-event h3{font-size:33px}.hub-event>p:not(.hub-card-kicker){font-size:13px}.hub-community-layout,.hub-guide-body{display:block}.hub-comment-form{margin-top:35px;padding:25px}.hub-comment-reply{margin-left:15px;padding-left:14px}.hub-comment header{align-items:start}.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.hub-stats dd{font-size:36px}.hub-social-grid{gap:30px}.hub-social-card img{max-height:600px;object-fit:cover}.hub-social-card>div{padding:25px}.hub-social-card h3{font-size:33px}.hub-back{margin-bottom:35px}.hub-guide-heading{margin-bottom:40px}.hub-guide-heading h1{font-size:57px;letter-spacing:-.8px}.hub-guide-summary{font-size:15px}.hub-guide-meta{font-size:10px;gap:12px}.hub-guide-meta span+span{padding-left:12px}.hub-guide-body{padding-top:30px}.hub-guide-route h2{font-size:36px}.hub-guide-stops>li{grid-template-columns:32px 1fr;gap:14px;padding:25px 0}.hub-stop-number{font-size:27px}.hub-guide-stops h3{font-size:31px}.hub-guide-stops li>div>p:not(.hub-card-kicker){font-size:13px}.hub-guide-practical{position:static;margin-top:35px;padding:28px}.hub-guide-practical>p:not(.eyebrow):not(.hub-status){font-size:13px}.hub-map-actions{display:block}.hub-map-actions a{display:flex;margin-top:12px;max-width:400px}.hub-button{min-height:46px;font-size:12px!important}.hub-text-button{font-size:11px!important}.hub-icon-button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.hub-tour-card{transition:none}.hub-tour-card:hover{transform:none}}
@media print{.hub-filter-bar,.hub-comment-form,.hub-icon-button,.hub-vote-tour,.hub-comment-actions{display:none!important}.hub-tour-card,.hub-event,.hub-comment,.hub-guide-stops>li{break-inside:avoid}.hub-guide-practical{position:static}.hub-tour-grid,.hub-agenda-grid{grid-template-columns:repeat(2,1fr)}#guide-detail{max-width:none;padding:0}.hub-guide-body{display:block}}
/* Published programme details and per-link circulation. */
.hub-collection li>span b{display:block;margin-top:5px;font-size:9px;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none;color:#c8d3bf}.hub-collection .hub-collection-note{border-top:1px solid #466556;padding-top:15px;font-size:11px}.hub-collection-day-note{font-size:10px;line-height:1.8;color:#c8d3bf;margin-top:7px}.hub-event-facts{margin:18px 0 0;padding:0;font-size:11px;line-height:1.8}.hub-event-facts>div{border-top:1px solid var(--hub-line);padding:10px 0;display:grid;grid-template-columns:90px 1fr;gap:10px}.hub-event-facts dt{font-size:9px;letter-spacing:.2px;color:var(--hub-orange)}.hub-event-facts dd{margin:0;color:var(--hub-muted);white-space:pre-line}.hub-source-details{margin-top:20px;font-size:10px;color:var(--hub-muted)}.hub-source-details summary{cursor:pointer;display:list-item;list-style:disclosure-closed;margin-left:12px;padding:7px 0}.hub-source-details[open] summary{list-style:disclosure-open}.hub-source-details>div{display:flex;align-items:start;flex-direction:column;gap:12px;padding:12px 0}.hub-agenda-registry{border-top:1px solid var(--hub-line);padding-top:12px;margin-top:28px}.hub-agenda-registry>.hub-agenda-sources{flex-direction:row;flex-wrap:wrap;gap:12px 22px;margin-top:0}.hub-link-stats{margin-top:28px;padding:25px;background:#e6eadc;border:1px solid var(--hub-line)}.hub-link-stats h3{font-size:29px;margin-bottom:20px}.hub-link-stats .hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:750px){.hub-collection li{grid-template-columns:62px 1fr}.hub-event-facts>div{grid-template-columns:85px 1fr}.hub-link-stats{padding:22px}.hub-link-stats .hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
