@font-face { font-family:'Teko'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/teko-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0303,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Teko'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/teko-latin-ext-700-normal.woff2') format('woff2'); unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0303,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/montserrat-latin-ext-400-normal.woff2') format('woff2'); unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Roboto Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/roboto-condensed-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0303,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Roboto Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/roboto-condensed-latin-ext-700-normal.woff2') format('woff2'); unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/bebas-neue-latin-400-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0303,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Bebas Neue'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/bebas-neue-latin-ext-400-normal.woff2') format('woff2'); unicode-range:U+0100-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

/* Brand tokens are fixed. Edition-only tokens are overridden in assets/css/editions. */
:root {
 --dec-red:#ed0017; --dec-ink:#111; --dec-paper:#f7f7f5; --dec-white:#fff;
 --dec-muted:#ccc; --dec-line:#5a5a5a; --dec-width:82.5rem;
 --dec-edition-accent:var(--dec-red); --dec-edition-border:#646464;
 --dec-body:'Montserrat',sans-serif; --dec-heading:'Teko',sans-serif;
 --dec-condensed:'Roboto Condensed',sans-serif; --dec-display:'Bebas Neue',sans-serif;
}
* { box-sizing:border-box; }
html { scroll-padding-top:1rem; }
body { margin:0; background:var(--dec-paper); color:var(--dec-ink); font:400 1rem/1.55 var(--dec-body); }
a { color:inherit; text-underline-offset:.2em; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--dec-red); outline-offset:5px; }
.band--dark :focus-visible,.site-header :focus-visible { outline-color:#fff; box-shadow:0 0 0 7px #c40013; }
img { max-width:100%; height:auto; display:block; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none !important; }
.container { width:min(var(--dec-width),calc(100% - 2rem)); margin-inline:auto; }
h1,h2,h3 { line-height:1; overflow-wrap:anywhere; }
h1 { font-family:var(--dec-heading); font-size:clamp(2.75rem,6vw,5rem); text-transform:uppercase; }
p { margin-block:0 1rem; }
.dec-icon { color:var(--dec-red); flex:none; vertical-align:middle; }
.accent { color:var(--dec-red); }
.site-header { position:relative; z-index:10; color:var(--dec-white); background:#0a0a0a; }
.header-inner { min-height:5.25rem; display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; padding-block:.5rem; }
.brand-logo { display:flex; align-items:center; justify-content:center; flex:none; text-decoration:none; width:5rem; height:5rem; }
.original-logo { object-fit:contain; max-height:100%; width:100%; }
.site-header .brand-logo { margin-inline-end:auto; }
.submenu-toggle { background:none; color:inherit; border:0; min-width:44px; min-height:44px; }
.submenu-open > .sub-menu { display:block; }
.menu-toggle { min-height:44px; display:flex; gap:.75rem; align-items:center; background:none; color:#fff; border:1px solid #626262; padding:.5rem .75rem; }
.menu-bars,.menu-bars::before,.menu-bars::after { width:18px; height:2px; background:currentColor; display:block; content:''; }
.menu-bars { position:relative; }
.menu-bars::before { position:absolute; top:-6px; }
.menu-bars::after { position:absolute; top:6px; }
nav ul { list-style:none; padding:0; margin:0; }
nav a { display:inline-flex; align-items:center; min-height:44px; padding:.45rem .2rem; }
#primary-menu { flex-basis:100%; order:5; }
#primary-menu a { text-decoration:none; }
#primary-menu .sub-menu { padding-left:1rem; }
#primary-menu a:hover,#primary-menu .current-menu-item > a { text-decoration:underline; text-decoration-color:var(--dec-red); text-decoration-thickness:3px; text-underline-offset:10px; }
.languages ul { display:flex; align-items:center; gap:.5rem; }
.languages li + li::before { content:'|'; margin-right:.5rem; color:#777; }
.languages a { font-size:.75rem; text-decoration:none; }
.languages a[aria-current] { color:var(--dec-red); }
.button { display:inline-flex; gap:.5rem; align-items:center; justify-content:center; min-height:48px; padding:.4rem 1.75rem; background:var(--dec-red); color:#fff; font:700 italic 1.8rem/1 var(--dec-heading); text-transform:uppercase; text-decoration:none; clip-path:polygon(7% 0,100% 0,93% 100%,0 100%); }
.button .dec-icon { width:20px; height:20px; color:inherit; }
.button:hover { background:#bb0012; }
.button:focus-visible { clip-path:none; outline-offset:4px; }
.header-register { display:none; }
.event-hero { position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at 75% 45%,#272727 0,#0d0d0d 48%,#050505 100%); color:#fff; min-height:29rem; }
.event-hero::after { content:''; position:absolute; z-index:-1; left:-5%; right:-5%; height:.45rem; bottom:1.25rem; background:var(--dec-red); transform:rotate(-4deg); box-shadow:0 .9rem 0 -3px var(--dec-red); }
.hero-inner { position:relative; padding-block:2.5rem 3rem; }
.hero-copy { position:relative; z-index:2; }
.hero-title { margin:0 0 0 .5rem; font-weight:700; font-style:italic; font-size:clamp(3.7rem,12vw,6rem); line-height:.82; letter-spacing:.01em; }
.hero-title em { color:var(--dec-red); font-style:inherit; }
.edition-ribbon { display:table; margin:1rem 0 1.2rem; padding:.1rem 1.4rem .15rem; background:var(--dec-edition-accent); color:#fff; font:400 2.3rem/1.1 var(--dec-display); letter-spacing:.12em; text-transform:uppercase; transform:skew(-9deg); }
.edition-ribbon a { color:inherit; text-decoration:none; }
.hero-art { position:relative; width:100%; height:0; }
.hero-ring { display:none; }
.hero-photo { position:absolute; width:100%; height:100%; object-fit:contain; }
.has-hero-image .hero-art { position:absolute; inset:0; height:auto; opacity:.32; z-index:-1; }
.has-hero-image::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#050505 0,transparent 100%); z-index:0; }
.event-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1.1rem; margin-block:1.4rem; }
.event-meta > div { display:flex; align-items:center; gap:.65rem; min-width:0; }
.event-date { font:400 2.3rem/1 var(--dec-display); white-space:nowrap; }
.event-venue { font:400 1.05rem/1.15 var(--dec-body); max-width:15rem; }
.event-meta .dec-icon { width:30px; height:34px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.hero-actions .button { flex:1 1 12rem; font-size:1.65rem; }
.button--outline { background:transparent; border:2px solid #ddd; transform:skew(-9deg); clip-path:none; padding-inline:1rem; }
.button--outline:hover { background:#fff; color:#111; }
.band { padding-block:1.5rem; }
.band--light { background-color:var(--dec-paper); background-image:radial-gradient(ellipse at 10% 20%,#e4e4e466 0,transparent 55%),linear-gradient(110deg,#ffffff40,#d7d7d72b 45%,#fff0); color:#111; }
.band--dark { background-color:#0c0c0c; background-image:radial-gradient(ellipse at 35% 35%,#31313166,transparent 60%),linear-gradient(125deg,transparent 65%,#2226 80%,transparent 90%); color:#f6f6f6; }
.section-heading { font:700 italic 2.4rem/.89 var(--dec-heading); text-transform:uppercase; margin:0; }
.slash-heading { position:relative; padding-left:1.2rem; }
.slash-heading::before { content:''; position:absolute; left:.25rem; top:0; width:6px; height:calc(100% - .1rem); max-height:4rem; background:var(--dec-red); transform:skew(-19deg); }
.about-grid { display:grid; gap:1.4rem; align-items:center; }
.about-copy { font-size:1.05rem; line-height:1.6; }
.about-copy p { margin:0; }
.edition-grid { display:grid; gap:1.75rem; align-items:center; }
.current-edition { position:relative; overflow:hidden; }
.current-edition::before { content:''; width:15rem; height:.5rem; position:absolute; top:1rem; left:-2rem; background:var(--dec-red); transform:rotate(-30deg); box-shadow:0 .8rem 0 -2px #ed001780,0 -.6rem 0 -2px var(--dec-red); }
.edition-summary { position:relative; }
.edition-summary > .section-heading { margin:0 0 .65rem; }
.edition-summary .edition-ribbon { font:700 italic 3.2rem/.95 var(--dec-heading); letter-spacing:0; padding:.2rem .7rem 0; margin:.5rem 0 .85rem; }
.edition-summary .event-meta { margin-bottom:0; gap:.65rem; }
.edition-summary .event-date { font-size:1.8rem; }
.edition-summary .event-venue { font-size:.8rem; max-width:11rem; }
.edition-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.edition-link { border:1px solid var(--dec-edition-border); border-radius:6px; position:relative; text-decoration:none; padding:1rem 1rem 1.6rem; background:#0b0b0bb3; }
.edition-link .dec-icon { color:var(--dec-edition-accent); width:36px; height:36px; margin-bottom:.45rem; }
.edition-link h3 { margin:0 0 .5rem; font:700 1.2rem/1 var(--dec-condensed); text-transform:uppercase; }
.edition-link p { font-size:.8rem; line-height:1.35; margin:0; }
.card-arrow { position:absolute; right:.7rem; bottom:.35rem; font-size:2rem; line-height:1; color:var(--dec-edition-accent); }
.edition-link:hover { border-color:var(--dec-edition-accent); background:#252525; }
.categories-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.band-intro { grid-column:1 / -1; }
.band-intro > p { margin:.7rem 0 0; padding-left:1.2rem; font-size:.85rem; line-height:1.35; }
.category-card { position:relative; min-width:0; padding:1rem; isolation:isolate; }
.category-card::before { position:absolute; content:''; z-index:-1; inset:0; background:linear-gradient(130deg,#e9e9e9,#efefef); transform:skew(-8deg); border-radius:4px; }
.category-card .dec-icon { width:34px; height:34px; margin-bottom:.35rem; }
.category-card h3 { margin:0 0 .5rem; font:700 1.3rem/.95 var(--dec-condensed); text-transform:uppercase; }
.category-card p { margin:0; font-size:.8rem; line-height:1.35; }
.history-grid { display:grid; gap:1rem; }
.history-card { display:grid; grid-template-columns:2.3rem 1fr; gap:.5rem .8rem; padding:1.1rem; border:1px solid #666; border-radius:6px; position:relative; }
.history-card .dec-icon { grid-row:1 / 3; }
.history-card h3 { font:700 1.25rem/1.1 var(--dec-condensed); text-transform:uppercase; margin:0; }
.history-card h3 a { text-decoration:none; }
.history-card p { font-size:.8rem; line-height:1.35; margin:0; }
.history-card.has-link::after { content:'›'; color:var(--dec-red); position:absolute; bottom:.35rem; right:.75rem; font-size:2rem; line-height:1; }
.history-card:has(a:hover) { border-color:var(--dec-red); }
.partners-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.partner-group { border-left:1px solid var(--dec-red); padding-left:1rem; min-width:0; }
.partner-group h3 { font:700 1rem/1.15 var(--dec-condensed); text-transform:uppercase; text-align:center; margin:0 0 .8rem; }
.partner-logos { display:flex; gap:.5rem; align-items:center; }
.partner-placeholder { flex:1; min-height:4rem; display:flex; justify-content:center; align-items:center; text-align:center; border-radius:4px; background:#e1e1e1; color:#444; font:400 .85rem/1.1 var(--dec-body); margin:0; }
.partner-logos .wp-block-image { margin:0; flex:1; min-width:0; }
.partner-logos img { object-fit:contain; max-height:5rem; margin:auto; }
.site-footer { padding-block:1.5rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
.footer-brand { display:flex; align-items:center; gap:1rem; }
.brand-logo--footer { width:6rem; height:6rem; }
.footer-contact { font-size:.75rem; min-width:0; }
.footer-contact p { margin:0 0 .5rem; display:flex; gap:.5rem; align-items:center; }
.footer-contact .dec-icon { color:#fff; width:16px; height:16px; }
.footer-contact a { overflow-wrap:anywhere; text-decoration:none; }
.site-footer h2 { font:700 .85rem/1.3 var(--dec-condensed); margin:0 0 .5rem; text-transform:none; }
.footer-links ul { columns:2; }
.footer-links li { break-inside:avoid; }
.footer-links a { font-size:.75rem; min-height:28px; text-decoration:none; gap:.5rem; }
.footer-links a::before { content:'›'; }
.footer-social ul { display:flex; list-style:none; margin:0; padding:0; gap:1rem; }
.footer-social a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; text-decoration:none; }
.social-mark { font:700 1.25rem/1 var(--dec-body); }
.footer-legal ul { display:flex; flex-wrap:wrap; gap:.3rem .7rem; }
.footer-legal nav:not(.languages) a { min-height:32px; font-size:.75rem; text-decoration:none; }
.copyright { font-size:.6rem; line-height:1.6; margin-top:.8rem; }
.inner-main { min-height:50vh; padding-block:2.5rem; }
.inner-main .section { padding-block:1.5rem; }
.inner-main > .section > h1,.inner-main article > header > h1 { margin:0 0 1.5rem; }
.inner-main h2 { font:700 2rem/1 var(--dec-heading); }
.inner-main h3 { font:700 1.4rem/1.2 var(--dec-condensed); }
.cards { display:grid; gap:1.25rem; }
.card { border:1px solid #d0d0d0; background:#fff; padding:1.25rem; min-width:0; }
.card h2 { font:700 1.7rem/1 var(--dec-heading); }
.card h2 a { text-decoration:none; }
.card img { aspect-ratio:16/9; object-fit:cover; }
.content { max-width:52rem; }
.content > * { max-width:100%; }
.content table { display:block; overflow-x:auto; border-collapse:collapse; }
th,td { padding:.6rem; border:1px solid #ccc; }
pre { overflow:auto; }
.edition-details { display:flex; flex-wrap:wrap; gap:1rem; }
.edition-details dt { font-weight:700; }
.edition-details dd { margin:0; }
.skip-link,.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link:focus { position:fixed; z-index:1000; top:1rem; left:1rem; width:auto; height:auto; clip-path:none; padding:1rem; background:#fff; color:#111; }
@media(min-width:40rem) {
 .container { width:min(var(--dec-width),calc(100% - 3rem)); }
 .about-grid { grid-template-columns:14rem 1fr; gap:1.5rem; }
 .about-copy { border-left:2px solid #333; padding-left:1.5rem; }
 .about-brand { padding-block:2rem; }
 .categories-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
 .history-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .history-card { grid-template-columns:1fr; align-content:start; }
 .history-card .dec-icon { grid-row:auto; }
 .footer-grid { grid-template-columns:1fr 1fr; }
 .cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:60rem) {
 .container { width:min(var(--dec-width),calc(100% - 5rem)); }
 .header-inner { min-height:5rem; padding-block:0; gap:1rem; }
 .home .site-header .brand-logo { position:absolute; top:1.25rem; width:10rem; height:10rem; z-index:12; margin:0; }
 .home .header-inner::before { content:''; flex:0 0 12.1rem; }
 #primary-menu { flex:1; flex-basis:auto; order:0; }
 #primary-menu > ul,#primary-menu > div > ul { display:flex; align-items:center; justify-content:space-between; gap:.9rem; }
 #primary-menu li { position:relative; }
 #primary-menu a { font-size:.72rem; white-space:nowrap; padding-inline:0; }
 #primary-menu .sub-menu { position:absolute; z-index:20; background:#151515; min-width:12rem; padding:.5rem 1rem; display:none; border-top:2px solid var(--dec-red); }
 #primary-menu li:hover > .sub-menu,#primary-menu li:focus-within > .sub-menu,#primary-menu li.submenu-open > .sub-menu { display:block; }
 .submenu-toggle { background:none; color:#fff; border:0; min-width:44px; min-height:44px; }
 .menu-toggle { display:none; }
 .header-register { display:inline-flex; min-height:38px; padding:.2rem 1.5rem; font-size:1.5rem; }
 .site-header .languages { margin-left:.75rem; }
 .event-hero { min-height:23rem; }
 .hero-inner { padding-block:1.5rem 3rem; }
 .hero-copy { max-width:58%; }
 .hero-title { margin-left:clamp(9rem,14.5vw,12rem); font-size:clamp(4rem,6.1vw,6.4rem); line-height:.83; position:relative; white-space:nowrap; }
 .hero-title::before { content:''; width:2px; background:var(--dec-red); position:absolute; left:-1.2rem; top:.1rem; height:110%; transform:skew(-23deg); }
 .hero-copy > .edition-ribbon { margin-left:clamp(8rem,13.5vw,11rem); font-size:2.2rem; margin-top:.75rem; margin-bottom:1rem; padding-inline:1.5rem; }
 .hero-copy > .event-meta { margin-block:1rem; }
 .hero-copy .event-date { font-size:2.5rem; padding-right:1.25rem; border-right:1px solid var(--dec-red); }
 .hero-copy .event-venue { max-width:13rem; font-size:1rem; }
 .hero-actions { max-width:37rem; margin-top:1.1rem; }
 .hero-actions .button { flex:1 1 auto; font-size:1.75rem; min-height:48px; }
 .hero-art,.has-hero-image .hero-art { position:absolute; right:0; left:auto; top:0; bottom:0; width:56%; height:auto; z-index:-1; opacity:1; }
 .hero-photo { object-position:center;  }
 .hero-ring { display:block; position:absolute; width:91%; aspect-ratio:1; border:13px solid var(--dec-red); border-radius:50%; top:0; right:-2%; opacity:.9; box-shadow:inset 0 0 0 5px #a30011,0 0 0 3px #c80013; transform:rotate(-18deg) scaleY(.93); }
 .has-hero-image::before { background:linear-gradient(90deg,#050505 10%,#050505d9 34%,transparent 65%); }
 .section-heading { font-size:2.4rem; }
 .about-grid { grid-template-columns:14rem 1fr; }
 .about-copy { font-size:1.1rem; padding-left:1.7rem; }
 .edition-grid { grid-template-columns:37% 1fr; gap:1.5rem; }
 .edition-links { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
 .edition-link { min-height:10.4rem; padding:1rem .85rem 1.6rem; }
 .edition-link h3 { font-size:1.15rem; }
 .edition-link p { font-size:.75rem; }
 .edition-summary .edition-ribbon { font-size:clamp(2.9rem,4.7vw,4.15rem); }
 .edition-summary .event-meta { flex-wrap:nowrap; }
 .edition-summary .event-date { font-size:1.8rem; padding-right:.8rem; border-right:1px solid var(--dec-red); }
 .edition-summary .event-venue { font-size:.75rem; max-width:10rem; }
 .edition-summary .dec-icon { width:26px; }
 .categories-grid { grid-template-columns:1.1fr repeat(4,1fr); gap:1.3rem; }
 .categories-grid .band-intro,.history-grid .band-intro,.partners-grid .band-intro { grid-column:auto; }
 .category-card { padding:.9rem .8rem .9rem 1.1rem; }
 .category-card h3 { font-size:1.2rem; }
 .category-card p { font-size:.75rem; }
 .history-grid { grid-template-columns:1.05fr repeat(3,1fr); gap:1rem; align-items:center; }
 .history-card { grid-template-columns:2.3rem 1fr; min-height:8rem; gap:.4rem .7rem; padding:1rem; }
 .history-card .dec-icon { grid-row:1 / 3; }
 .history-card h3 { font-size:1.15rem; }
 .history-card p { font-size:.75rem; }
 .band-intro > p { font-size:.75rem; }
 .partners-grid { grid-template-columns:1.1fr .85fr 1.1fr 1.5fr 1.1fr; gap:1.2rem; }
 .partner-group { padding-left:1rem; }
 .partner-group h3 { font-size:.85rem; }
 .partner-placeholder { min-height:4rem; font-size:.75rem; }
 .footer-grid { grid-template-columns:1.55fr 1.1fr .8fr 1.3fr; gap:1.75rem; align-items:start; }
 .footer-grid > div + div { border-left:1px solid #666; padding-left:1.5rem; min-height:6rem; }
 .footer-brand { gap:.8rem; }
 .brand-logo--footer { width:6.5rem; height:6.5rem; }
 .footer-contact { font-size:.75rem; }
 .footer-links a { min-height:24px; font-size:.75rem; }
 .site-footer h2 { font-size:.8rem; }
 .footer-social ul { gap:.3rem; }
 .footer-social a { width:32px; height:44px; }
 .footer-legal .languages a { min-height:25px; }
}
@media(min-width:80rem) {
 .band { padding-block:1.75rem; }
 #primary-menu a { font-size:.8rem; }
 .hero-title { font-size:6.7rem; }
 .hero-copy .event-date { font-size:2.8rem; }
 .about-copy { font-size:1.2rem; }
 .section-heading { font-size:2.7rem; }
 .edition-link h3 { font-size:clamp(1.05rem,1.4vw,1.3rem); overflow-wrap:normal; }
 .edition-link p,.category-card p,.history-card p,.band-intro > p { font-size:.8rem; }
 .category-card h3 { font-size:1.4rem; }
 .history-card h3 { font-size:1.3rem; }
 .footer-contact,.footer-links a { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }

/* The supplied hero artwork already contains its red brush ring. */
.has-hero-image .hero-ring { display:none; }

/* Organizer occupies the former main-partner slot; original image stays intact. */
.partner-group--organizer .organizer-logo { display:block; width:100%; max-width:9rem; height:auto; object-fit:contain; margin-inline:auto; }

/* Two intact co-organizer logos share the former strategic-partners column. */
.partner-group--coorganizers .partner-logos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:.6rem; }
.partner-group--coorganizers .coorganizer-logo { display:block; width:100%; height:auto; max-height:9rem; object-fit:contain; background:#fff; }

/* Collapse only the unused mock sponsor columns, keeping the approved real logos. */
@media(min-width:60rem) {
 .partners-grid:not(:has(> .partner-group:not(.partner-group--organizer):not(.partner-group--coorganizers))) { grid-template-columns:1.1fr 1fr 1.4fr; }
}
