/* Oktoberfest Cagliari · release 8 ottobre 2026 */
:root{--green-950:#052e24;--green-900:#0b4132;--green-800:#105541;--green-700:#246547;--cream:#f6f0df;--cream-deep:#e8dcbc;--warm:#f1e5cb;--amber:#ffbd38;--gold:#ffd277;--ink:#132e25;--white:#fffcf3;--radius:18px;--container:1220px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html{scroll-padding-top:100px}
body{overflow-x:clip}
::selection{background:#ffbd38;color:#052e24}
:focus-visible{outline:3px solid #d18110;outline-offset:5px}
.button{border-radius:8px;gap:16px;min-height:52px;font-size:14px;line-height:1.3}
.button--amber{background:var(--amber);color:#102c24;box-shadow:0 6px 22px #ffbd3820}
.button span[aria-hidden]{font-size:21px;font-weight:500;line-height:1;transition:transform .25s}
.button:hover span[aria-hidden]{transform:translate(2px,-2px)}
.button:active{transform:scale(.975)}
.eyebrow{letter-spacing:.16em;font-size:11px}
.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.announcement{background:var(--amber);color:var(--green-950);font-size:12px}
.announcement__inner{display:flex;align-items:center;justify-content:center;gap:11px;min-height:36px;line-height:1.4;padding:8px 0}
.announcement a{margin-left:14px;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.festival-header{position:sticky;top:0;z-index:80;background:#052e24f5;color:#fff;border-bottom:1px solid #ffffff1c;backdrop-filter:blur(18px)}
.festival-header__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;height:82px}
.festival-header.is-scrolled{box-shadow:0 8px 24px #0002}
.festival-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.festival-brand img{width:66px;height:66px;object-fit:contain}
.festival-brand>span{font-size:15px;font-weight:850;letter-spacing:.04em;line-height:1.3}
.festival-brand small{display:block;font-size:9px;color:#decfa9;letter-spacing:.16em;margin-top:5px}
.festival-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:650}
.festival-nav>a:not(.button){padding-block:12px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.festival-nav>a:not(.button):hover{color:var(--gold);border-color:var(--gold)}
.festival-nav .button{min-height:44px;padding:11px 19px}
.festival-menu{display:none}
.festival-hero{position:relative;isolation:isolate;overflow:hidden;background:#052e24;color:var(--white);padding:43px 0 0}
.festival-hero__video{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;opacity:.27}
.festival-hero__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#052e24f5 5%,#052e24d4 43%,#052e2466 100%),linear-gradient(0deg,#052e24 0%,transparent 50%)}
.festival-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:repeating-linear-gradient(120deg,transparent 0,transparent 78px,#ffd27705 79px,#ffd27705 80px);pointer-events:none}
.festival-hero__grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:58px;padding-bottom:47px}
.festival-hero__copy{padding:12px 0}
.festival-hero__copy .eyebrow{color:#ffd277;font-size:11px;letter-spacing:.14em;margin:0 0 22px}
.festival-hero h1{margin:0;font-size:clamp(68px,6.9vw,99px);font-weight:850;letter-spacing:-.065em;line-height:.98}
.festival-hero h1 em{display:inline-block;font-family:PrataLocal,Georgia,serif;font-weight:400;font-style:normal;font-size:.96em;color:var(--gold);letter-spacing:-.05em;margin-top:8px}
.festival-hero__lead{font-size:16px;line-height:1.6;max-width:485px;color:#e7e8d7;margin:29px 0 25px}
.festival-hero__actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.festival-hero__actions .button{padding:16px 22px;min-height:57px}
.hero-text-link{font-size:12px;font-weight:750;border-bottom:1px solid #c5bea475;padding-bottom:6px;display:inline-flex;gap:18px}
.hero-text-link:hover{color:var(--gold)}
.hero-reassurance{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px;font-size:10px;color:#c8d3c3}
.hero-reassurance>*::before{content:"";display:inline-block;width:4px;height:4px;background:var(--amber);border-radius:50%;vertical-align:middle;margin-right:7px}
.hero-reassurance a{text-decoration:underline;text-underline-offset:3px}
.hero-stock-link{display:inline-flex;align-items:center;gap:10px;border:1px solid #ffca6759;background:#bd85191c;color:#ffe0a0;padding:9px 12px;font-size:10px;border-radius:5px;margin-top:18px;line-height:1.3}
.hero-stock-link strong{font-weight:800}
.hero-stock-link:hover{background:#bd85192f;border-color:#ffcd72}
.festival-hero__visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 0 2px;min-width:0}
.festival-hero__logo{position:relative;z-index:3;width:310px;margin-top:-36px;margin-bottom:-57px;filter:drop-shadow(0 16px 16px #0004);transform:rotate(3deg)}
.festival-postcard{width:100%;max-width:505px;margin:0;transform:rotate(-3deg);background:#f5e6c3;padding:9px 9px 0;box-shadow:0 26px 65px #0005;border-radius:3px}
.festival-postcard>img{width:100%;height:auto;border-radius:1px}
.festival-postcard figcaption{padding:17px 10px 19px;display:flex;gap:10px;align-items:center;justify-content:space-between;color:#123c2a;line-height:1.35}
.festival-postcard figcaption>span{font-family:PrataLocal,Georgia,serif;font-size:14px;max-width:205px}
.festival-postcard figcaption strong{font-size:21px;letter-spacing:-.04em;white-space:nowrap}
.hero-stamp{position:absolute;right:-12px;top:25px;transform:rotate(10deg);width:92px;height:92px;border-radius:50%;border:1px dashed #f4c974;background:#ffbd38;color:#16372b;outline:5px solid #ffbd38;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;line-height:1.15;font-weight:800;box-shadow:0 8px 28px #0004}
.hero-stamp strong{font-size:27px;margin-top:4px;letter-spacing:-.06em}
.festival-hours{position:relative;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:30px;align-items:center;padding:24px 0 27px;border-top:1px solid #dfca932e}
.festival-hours>div>span{display:block;text-transform:uppercase;color:#d0d6c6;letter-spacing:.1em;font-weight:600;font-size:10px;line-height:1.6}
.festival-hours>div>strong{display:block;font-size:68px;line-height:1.2;font-weight:700;letter-spacing:-.065em;color:#fff8e7;font-variant-numeric:tabular-nums}
.festival-hours>div>strong>span{color:#ffcd67}
.festival-hours>div:last-child{text-align:right}
.festival-hours__bridge{display:flex;align-items:center;gap:22px;text-align:center;justify-content:center}
.festival-hours__bridge>span{height:1px;flex:1;background:#dec17c55;position:relative}
.festival-hours__bridge>span:last-child::after{content:"";position:absolute;width:6px;height:6px;border-top:1px solid #dec17c;border-right:1px solid #dec17c;right:0;top:-2.5px;transform:rotate(45deg)}
.festival-hours__bridge p{color:#ccbfa0;font-size:9px;font-weight:600;line-height:1.8;letter-spacing:.12em;white-space:nowrap}
.festival-hours__bridge b{color:var(--gold)}
.motion-toggle{position:absolute;right:18px;top:14px;display:flex;align-items:center;gap:9px;font-size:10px;color:#dddcc9;background:#082e24b3;border:1px solid #fff3;border-radius:4px;padding:8px 10px;cursor:pointer}
.countdown-strip{background:var(--amber);color:var(--green-950);padding:28px 0}
.countdown-strip__inner{display:grid;grid-template-columns:1.15fr 1.2fr auto;align-items:center;gap:45px}
.countdown-strip .eyebrow{display:block;font-size:9px;margin:0 0 7px;color:#263f2a}
.countdown-strip h2{font-size:23px;font-weight:800;line-height:1.15;letter-spacing:-.04em;margin:0}
.countdown-strip__copy>p{margin:8px 0 0;font-size:11px;color:#324428}
.countdown{display:flex;gap:12px;align-items:flex-start;justify-content:center}
.countdown>div{min-width:50px;text-align:center}
.countdown strong{display:block;font-size:46px;font-weight:750;letter-spacing:-.06em;line-height:1.2;font-variant-numeric:tabular-nums}
.countdown span{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-top:5px}
.countdown>b{font-size:29px;line-height:1.65;font-weight:400;opacity:.45}
.countdown-strip .button{white-space:nowrap;background:#093e2e;color:#fff7dd;box-shadow:none}
.countdown-strip.is-expired .countdown{display:none}
.countdown-strip.is-expired .countdown-strip__inner{grid-template-columns:1fr auto}
.music-section{background:#fffcf3;padding:90px 0 45px;scroll-margin-top:20px}
.music-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}
.music-heading h2,.passes-heading h2{font-size:clamp(36px,4.5vw,60px);font-weight:800;line-height:1.08;letter-spacing:-.045em;margin:0;color:#113e2e}
.music-heading h2 em,.passes-heading h2 em{font-family:PrataLocal,Georgia,serif;font-style:normal;font-weight:400;letter-spacing:-.045em;font-size:.93em}
.music-heading .text-link{flex:none;font-size:13px;margin-bottom:10px}
.music-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:start}
.music-photo{position:sticky;top:120px;background:#103e2e;margin:0;border-radius:4px;overflow:hidden;box-shadow:0 16px 38px #1b3f2010}
.music-photo>img{width:100%;height:auto}
.music-photo figcaption{padding:29px 30px 34px;color:#fff6dc}
.music-photo figcaption>span{font-size:9px;letter-spacing:.16em;color:#ffd277;font-weight:750}
.music-photo figcaption p{font-family:PrataLocal,Georgia,serif;font-size:27px;line-height:1.35;letter-spacing:-.035em;margin:14px 0 0}
.music-photo__tag{position:absolute;top:16px;left:16px;font-size:10px;font-weight:850;background:var(--amber);color:#173d2b;padding:7px 11px;border-radius:3px;letter-spacing:.08em}
.artist-list{border-top:1px solid #153d2c30}
.artist-row{padding:18px 0 20px;border-bottom:1px solid #153d2c30}
.artist-row__type{font-size:9px;font-weight:750;letter-spacing:.13em;color:#44714e}
.artist-row h3{font-size:clamp(24px,2.6vw,35px);line-height:1.12;letter-spacing:-.04em;margin:9px 0 8px;font-weight:800;color:#123f2d;overflow-wrap:anywhere}
.artist-row p{font-size:12px;margin:0;color:#5a685a;line-height:1.55}
.artist-row--dj h3{font-size:clamp(28px,3.2vw,44px)}
.music-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #17473428;padding:25px 0;font-size:12px;color:#596650}
.music-footer b{color:#184732;font-size:16px;margin-right:12px}
.passes-section{background:#f6f0df;padding:80px 0 75px;position:relative;isolation:isolate;scroll-margin-top:0}
.passes-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.passes-heading h2{font-size:clamp(48px,5.5vw,72px)}
.passes-intro{max-width:400px;justify-self:end;font-size:15px;line-height:1.7;color:#53604c}
.passes-intro p{margin:0 0 12px}
.passes-warning{display:flex;align-items:center;gap:10px;color:#214930;font-weight:750;font-size:13px}
.passes-warning>span{font-size:24px;color:#b7750c}
.pass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;align-items:stretch;perspective:1400px}
.pass-card{--rx:0deg;--ry:0deg;--mx:50%;--my:35%;position:relative;isolation:isolate;background:#fffcf3;border:1px solid #173c2b24;padding:26px 27px;display:flex;flex-direction:column;color:#183f2b;border-radius:14px;box-shadow:0 8px 25px #193b1b06;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .24s ease,box-shadow .24s,border-color .24s}
.pass-card::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(circle 250px at var(--mx) var(--my),#ffcc6145,transparent 75%);opacity:0;transition:opacity .3s;pointer-events:none}
.pass-card::after{content:"";position:absolute;left:27px;right:27px;top:216px;border-top:1px dashed #0d3f2e33;pointer-events:none}
.pass-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:29px}
.pass-tag{padding:6px 9px;border-radius:4px;font-size:9px;font-weight:850;letter-spacing:.07em;line-height:1.2;background:#ebeada;color:#2d583b}
.pass-index{font-family:PrataLocal,Georgia,serif;font-size:20px;color:#8a927b}
.pass-release{font-size:9px;letter-spacing:.11em;color:#6b755f;margin:0 0 5px;font-weight:650}
.pass-card h3{font-size:31px;font-weight:800;letter-spacing:-.055em;margin:0;line-height:1.2}
.pass-card__summary{font-size:12px;color:#67705d;line-height:1.5;margin:8px 0 25px;min-height:18px}
.pass-price{display:flex;align-items:flex-start;gap:3px;margin:27px 0 25px;line-height:1}
.pass-price>span{font-size:26px;margin-top:9px}
.pass-price>strong{font-size:84px;letter-spacing:-.065em;font-weight:750;display:block;transition:transform .28s;color:inherit}
.pass-price>small{font-size:12px;margin:0 0 10px 7px;align-self:end;white-space:nowrap}
.pass-new-price{font-size:15px;min-height:84px;line-height:1.4;margin:27px 0 25px}
.pass-new-price>strong{font-size:25px}
.pass-features{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:13px;font-size:12px;line-height:1.5}
.pass-features li{position:relative;padding-left:23px}
.pass-features li::before{content:"✓";position:absolute;left:0;top:0;color:#62915b;font-weight:900}
.pass-card__bottom{margin-top:auto;padding-top:22px}
.pass-validity{font-size:10px;margin:0 0 12px;color:#6b755f}
.pass-cta{display:flex;position:relative;width:100%;font-size:12px;padding-inline:12px;gap:8px;min-height:52px}
.pass-card--regular{background:#103f2f;color:#fff6df;border-color:#103f2f;box-shadow:0 14px 36px #13382418}
.pass-card--regular .pass-tag{background:#ffbd38;color:#173a27}
.pass-card--regular .pass-index{color:#b4c0a6}
.pass-card--regular .pass-release,.pass-card--regular .pass-validity{color:#c4d0b2}
.pass-card--regular .pass-card__summary{color:#d0d8c3}
.pass-card--regular .pass-features li::before{color:#ffc250}
.pass-card--regular::before{background:radial-gradient(circle 300px at var(--mx) var(--my),#ffc24525,transparent 75%)}
.pass-card--regular::after{border-color:#dbc99855}
.pass-card--bavarian{border:2px solid #ca951d;background:linear-gradient(130deg,#fff4d6,#f8e4b1)}
.pass-card--bavarian .pass-tag{background:#60351d;color:#fff1cc}
.pass-card--bavarian .pass-card__bottom{padding-top:17px}
.pass-card--bavarian .pass-features{margin-bottom:16px}
.pass-stock{margin:4px 0 0}
.pass-stock>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;margin-bottom:8px;color:#624322}
.pass-stock strong{font-size:12px;color:#462e14}
.stock-meter{height:6px;border-radius:6px;background:#c7a96555;overflow:hidden}
.stock-meter>span{display:block;height:100%;background:linear-gradient(90deg,#936622,#60351d);border-radius:6px}
.passes-footnote{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;font-size:10px;line-height:1.7;color:#66715b;margin:22px 0 25px}
.passes-footnote p{margin:0}
.official-box{display:flex;align-items:center;gap:16px;border-top:1px solid #1a472a22;padding:25px 0 0;color:#315235}
.official-box__mark{display:grid;place-items:center;border:1px solid #3857394a;border-radius:50%;width:30px;height:30px;flex:none}
.official-box>div{display:grid;gap:2px}
.official-box strong{font-size:12px}
.official-box>div>span{font-size:11px;color:#727c64}
.official-box>a{margin-left:auto;font-size:12px;flex:none;display:flex;gap:8px;align-items:center}
@media (hover:hover) and (pointer:fine){
 .pass-card:hover{transform:perspective(1000px) translateY(-9px) rotateX(var(--rx)) rotateY(var(--ry));box-shadow:0 24px 55px #1d371527,0 0 0 3px #ffbc3320;border-color:#bc8d26}
 .pass-card:hover::before{opacity:1}
 .pass-card:hover .pass-price>strong{transform:translateY(-2px) scale(1.055)}
 .pass-card:hover .pass-cta{background:#ffd476;box-shadow:0 7px 27px #ffc74535}
}
.pass-card:focus-within{box-shadow:0 0 0 3px #d29c32,0 14px 30px #193b2017}
.pass-card:focus-within::before{opacity:1}
.pass-card:active{transform:scale(.994)}
/* The existing food section and original artwork remain complete. */
#cibo{padding-top:85px;padding-bottom:85px;border-top:1px solid #143a2017}
.food-gallery{padding-top:76px;background:linear-gradient(180deg,#0b392d,#052e24)}
.food-gallery__viewport{grid-auto-columns:minmax(275px,330px)}
.food-slide{aspect-ratio:auto;overflow:visible;border-radius:8px;background:#103e2f;box-shadow:none}
.food-slide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:8px 8px 0 0}
.food-slide::after{display:none}
.food-slide>div{position:static;padding:18px 20px;min-height:89px}
.food-slide:hover img{transform:none}
.food-slide strong{font-size:23px}
.food-gallery__controls button{border-radius:6px}
.food-gallery__controls button:disabled{opacity:.35;cursor:default;transform:none}
.food-poster{margin-top:30px}
.food-poster details{border-top:1px solid #ffe0a03b;border-bottom:1px solid #ffe0a03b}
.food-poster summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none}
.food-poster summary::-webkit-details-marker{display:none}
.food-poster summary b{display:block;font-size:17px;color:#ffe4ae;font-weight:650}
.food-poster summary small{display:block;margin-top:5px;font-size:12px;color:#bbd0bd}
.food-poster__icon{font-size:30px;color:#ffce6d}
.food-poster details[open] .food-poster__icon{transform:rotate(45deg)}
.food-poster details>div{padding:0 0 30px}
.food-poster details img{max-width:min(100%,620px);height:auto;margin-inline:auto;border-radius:6px}
.beverage-showcase{padding-block:80px}
.beverage-showcase__inner{background:transparent;border-radius:0;padding:0;border:0;box-shadow:none}
.beer-story-section{padding-block:90px}
.experience-card{border-radius:8px}
.experience-card,.experience-card--wide{min-height:0}
.experience-card>img{aspect-ratio:auto;height:auto;object-fit:contain}
.experience-card--wide{grid-column:span 2}
.experience-card>div{position:static;padding:22px 24px;background:#0b3c2d;min-height:125px}
.experience-card::after{display:none}
.experience-card:hover>img{transform:none}
.experience-card h3{font-size:24px}
.event-map-frame{border-radius:10px;overflow:visible}
.event-map-frame::before,.event-map-glow{display:none}
.event-map-frame img{width:100%;height:auto;min-height:0!important;object-fit:contain!important;animation:none!important;transform:none!important;border-radius:5px}
.event-map-frame a{display:block}
.event-map-frame a:focus-visible{outline-offset:6px}
.location-card{border-radius:8px}
.map-placeholder{position:relative;z-index:3;width:100%;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#efe7d1;color:#234e35;text-align:center;padding:28px;gap:10px}
.map-placeholder>span{font-size:42px;line-height:1}
.map-placeholder strong{font-family:PrataLocal,Georgia,serif;font-size:28px;line-height:1.3}
.map-placeholder p{font-size:12px;margin:0 0 10px}
.map-placeholder small{font-size:10px;max-width:250px;color:#65765a}
.location-card__map iframe{width:100%;display:block}
.sales-points-section{padding-block:70px}
.sales-disclosure{border-top:1px solid #173c282a;border-bottom:1px solid #173c282a}
.sales-disclosure summary{cursor:pointer;padding:23px 5px;font-size:15px;font-weight:700;color:#214934}
.sales-disclosure .sales-points-grid{padding-bottom:20px}
.final-cta{background:#ffbd38}
.final-cta h2{font-weight:800;font-family:InterLocal,system-ui,sans-serif;font-size:clamp(36px,4.5vw,57px)}
.final-cta .button{background:#0b4132;color:#fff4d7;box-shadow:none}
.site-footer__nav{font-size:13px}
.site-footer__bottom{font-size:10px}
.sticky-tickets{display:none}
@media(max-width:1100px){
 .festival-nav{gap:18px}
 .festival-brand>span{font-size:13px}
 .festival-hero__grid{gap:32px}
 .festival-hero h1{font-size:80px}
 .hero-stamp{right:0}
 .pass-card{padding:24px 22px}
 .pass-card h3{font-size:28px}
 .pass-card::after{left:22px;right:22px;top:209px}
 .pass-card__summary{font-size:11px}
 .countdown-strip__inner{gap:26px}
 .countdown{gap:8px}
 .countdown>div{min-width:46px}
 .music-layout{gap:35px}
 .music-photo figcaption p{font-size:25px}
}
@media(max-width:900px){
 .festival-header__inner{height:72px}
 .festival-brand img{width:58px;height:58px}
 .festival-menu{display:flex;align-items:center;gap:13px;background:none;color:#fff3da;border:1px solid #fff4;padding:10px 13px;font-size:12px;border-radius:5px;cursor:pointer}
 .festival-menu>span:last-child{font-size:17px;line-height:1}
 .festival-nav{position:absolute;display:none;top:100%;left:0;right:0;background:#052e24;border-top:1px solid #fff2;box-shadow:0 20px 30px #0002;padding:24px max(20px,calc((100vw - 1220px)/2));max-height:calc(100dvh - 100px);overflow-y:auto}
 .festival-nav.is-open{display:grid;gap:6px}
 .festival-nav>a{font-size:16px;min-height:45px}
 .festival-nav .button{margin-top:10px;max-width:260px}
 .festival-hero{padding-top:30px}
 .festival-hero__grid{grid-template-columns:1.1fr 1fr;gap:24px;padding-bottom:28px}
 .festival-hero h1{font-size:clamp(50px,7.7vw,73px)}
 .festival-hero__copy .eyebrow{font-size:9px;line-height:1.8}
 .festival-hero__lead{font-size:14px}
 .festival-hero__logo{width:250px;margin-top:-24px;margin-bottom:-43px}
 .hero-stamp{width:72px;height:72px;top:0;right:0;font-size:10px}
 .hero-stamp strong{font-size:23px}
 .festival-postcard figcaption>span{font-size:11px}
 .festival-postcard figcaption strong{font-size:16px}
 .hero-reassurance{gap:10px;font-size:9px}
 .festival-hero__actions{gap:18px}
 .festival-hero__actions .button{font-size:12px;padding-inline:17px;gap:14px}
 .festival-hours{grid-template-columns:1fr .9fr 1fr;gap:15px}
 .festival-hours>div>span{font-size:8px}
 .festival-hours>div>strong{font-size:59px}
 .festival-hours__bridge{gap:12px}
 .festival-hours__bridge p{font-size:8px}
 .countdown-strip__inner{grid-template-columns:1fr 1fr;gap:20px}
 .countdown-strip__inner>.button{grid-column:1/-1;justify-self:center;min-height:44px;padding:11px 22px;font-size:12px}
 .countdown-strip h2{font-size:22px}
 .music-heading h2{font-size:40px}
 .music-photo figcaption{padding:23px}
 .music-photo figcaption p{font-size:22px}
 .artist-row h3{font-size:27px}
 .artist-row p{font-size:11px}
 .pass-grid{gap:12px}
 .pass-card{padding:20px 16px}
 .pass-card h3{font-size:24px}
 .pass-card__summary{font-size:11px;min-height:33px}
 .pass-card__top{margin-bottom:23px}
 .pass-tag{font-size:8px;padding:5px 7px}
 .pass-index{font-size:17px}
 .pass-card::after{left:16px;right:16px;top:207px}
 .pass-price strong{font-size:70px}
 .pass-price small{font-size:10px;margin-left:4px}
 .pass-price>span{font-size:21px}
 .pass-features{font-size:11px;gap:12px}
 .pass-cta{font-size:11px;padding-inline:8px;gap:6px;min-height:54px}
 .pass-stock>div:first-child{flex-wrap:wrap;gap:2px 5px}
 .pass-stock strong{font-size:10px}
 .pass-stock>div:first-child>span{font-size:9px}
 .official-box{flex-wrap:wrap}
 .official-box>a{margin-left:46px}
}
@media(max-width:680px){
 html{scroll-padding-top:83px}
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .container{width:calc(100% - 36px)}
 .announcement{font-size:10px}
 .announcement__inner{gap:7px;min-height:34px;padding:8px 0;width:calc(100% - 24px)}
 .announcement__extra{display:none}
 .announcement a{margin-left:auto;white-space:nowrap}
 .announcement .status-dot{width:5px;height:5px}
 .festival-header__inner{height:66px}
 .festival-brand{gap:6px}
 .festival-brand img{width:55px;height:55px}
 .festival-brand>span{font-size:12px}
 .festival-brand small{font-size:7px;letter-spacing:.1em;margin-top:4px}
 .festival-menu{font-size:10px;padding:10px;gap:9px;min-height:40px}
 .festival-hero{padding-top:32px}
 .festival-hero__grid{grid-template-columns:1fr;gap:7px;padding-bottom:35px}
 .festival-hero__copy{padding:0}
 .festival-hero__copy .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:20px}
 .festival-hero h1{font-size:clamp(61px,15.7vw,96px);letter-spacing:-.063em}
 .festival-hero h1 em{margin-top:8px}
 .festival-hero__lead{font-size:14px;max-width:365px;margin:22px 0}
 .desktop-break{display:none}
 .festival-hero__actions{flex-wrap:nowrap;gap:17px}
 .festival-hero__actions .button{font-size:12px;min-height:53px;padding-inline:15px;gap:10px}
 .hero-text-link{font-size:10px;gap:10px;white-space:nowrap}
 .hero-reassurance{gap:11px;font-size:8px;margin-top:18px}
 .hero-reassurance>*::before{margin-right:4px;width:3px;height:3px}
 .festival-hero__visual{max-width:420px;width:100%;justify-self:center;padding:0 6px;margin-top:10px}
 .festival-hero__logo{width:200px;margin-top:-8px;margin-bottom:-46px;transform:rotate(3deg);align-self:flex-end;margin-right:4px}
 .festival-postcard{transform:rotate(-2deg);padding:6px 6px 0}
 .festival-postcard figcaption{padding:13px 10px}
 .festival-postcard figcaption>span{font-size:12px;max-width:185px}
 .festival-postcard figcaption strong{font-size:19px}
 .hero-stamp{width:65px;height:65px;top:62px;left:18px;font-size:9px;right:auto;transform:rotate(-9deg)}
 .hero-stamp strong{font-size:21px}
 .festival-hours{grid-template-columns:1fr 1fr;padding:20px 0 23px;gap:20px}
 .festival-hours>div>span{font-size:8px;line-height:1.5;letter-spacing:.04em}
 .festival-hours>div>strong{font-size:63px;line-height:1.2;margin-top:5px}
 .festival-hours__bridge{display:none}
 .motion-toggle{right:10px;top:9px;font-size:8px;padding:6px 8px}
 .countdown-strip{padding:28px 0}
 .countdown-strip__inner{grid-template-columns:1fr;gap:23px;text-align:center}
 .countdown-strip h2{font-size:25px}
 .countdown-strip h2 br{display:none}
 .countdown-strip .eyebrow{font-size:8px}
 .countdown-strip__copy>p{font-size:10px;margin-top:7px}
 .countdown{gap:13px}
 .countdown strong{font-size:47px}
 .countdown>div{min-width:45px}
 .countdown>b{font-size:28px}
 .countdown span{font-size:8px}
 .countdown-strip__inner>.button{font-size:12px;padding:12px 22px}
 .countdown-strip.is-expired .countdown-strip__inner{grid-template-columns:1fr}
 .music-section{padding:58px 0 25px}
 .music-heading{display:block;margin-bottom:26px}
 .music-heading .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:16px}
 .music-heading h2{font-size:clamp(30px,8.4vw,50px);line-height:1.15;letter-spacing:-.045em}
 .music-heading .text-link{display:inline-flex;margin-top:20px;margin-bottom:0;font-size:12px}
 .music-layout{grid-template-columns:1fr;gap:24px}
 .music-photo{position:relative;top:auto}
 .music-photo figcaption{padding:21px 22px 25px}
 .music-photo figcaption>span{font-size:8px}
 .music-photo figcaption p{font-size:24px}
 .music-photo__tag{font-size:8px;top:12px;left:12px}
 .artist-row{padding:21px 0}
 .artist-row__type{font-size:9px}
 .artist-row h3{font-size:clamp(27px,7.7vw,42px);margin-top:9px}
 .artist-row p{font-size:12px}
 .artist-row--dj h3{font-size:39px}
 .music-footer{display:block;padding-block:18px}
 .music-footer>span{display:block;margin:8px 0;font-size:10px}
 .music-footer b{font-size:14px;margin-right:9px}
 .passes-section{padding:52px 0}
 .passes-heading{grid-template-columns:1fr;gap:20px;margin-bottom:29px}
 .passes-heading h2{font-size:56px}
 .passes-heading .eyebrow{font-size:9px}
 .passes-intro{justify-self:start;font-size:13px;max-width:400px}
 .passes-warning{font-size:12px}
 .pass-grid{grid-template-columns:1fr;gap:22px;max-width:440px;margin-inline:auto}
 .pass-card{padding:25px 27px;border-radius:12px}
 .pass-card__top{margin-bottom:24px}
 .pass-tag{font-size:9px;padding:7px 10px}
 .pass-index{font-size:21px}
 .pass-release{font-size:9px}
 .pass-card h3{font-size:34px}
 .pass-card__summary{font-size:12px;min-height:0;margin-bottom:22px}
 .pass-card::after{left:27px;right:27px;top:211px}
 .pass-price{margin:29px 0 25px}
 .pass-price strong{font-size:87px}
 .pass-price>span{font-size:28px}
 .pass-price small{font-size:12px;margin-left:8px}
 .pass-features{font-size:13px;gap:12px;margin-bottom:8px}
 .pass-validity{font-size:10px}
 .pass-cta{font-size:13px;padding:15px 20px;justify-content:space-between}
 .pass-card__bottom{padding-top:24px}
 .pass-card--bavarian .pass-card__bottom{padding-top:24px}
 .pass-stock{margin-top:16px}
 .pass-stock strong{font-size:13px}
 .pass-stock>div:first-child>span{font-size:11px}
 .pass-stock .stock-meter{height:7px}
 .passes-footnote{grid-template-columns:1fr;gap:10px;font-size:10px;margin:20px 0 25px}
 .official-box{align-items:start;gap:12px}
 .official-box>div{flex:1}
 .official-box strong{font-size:12px}
 .official-box>div>span{font-size:10px}
 .official-box>a{font-size:12px;margin-left:42px}
 #cibo{padding:60px 0}
 .food-visual>img{aspect-ratio:auto;height:auto}
 .food-visual{margin:0}
 .food-visual figcaption{position:static;padding:22px;background:#f9f1dd;border-radius:0}
 .food-visual figcaption{color:#123f2d}
 .food-visual figcaption span{color:#766021}
 .food-visual figcaption small{color:#5b6e54}
 .food-gallery{padding-block:56px}
 .food-gallery__viewport{grid-auto-columns:82vw}
 .food-gallery__head h2{font-size:39px}
 .food-gallery__head p:not(.eyebrow){font-size:13px}
 .food-gallery__hint{font-size:9px}
 .food-slide>div{min-height:86px;padding:17px 18px}
 .food-poster summary b{font-size:15px}
 .food-poster summary small{font-size:11px}
 .beverage-showcase{padding-block:55px}
 .beverage-showcase__inner{padding:0;gap:30px}
 .beer-story-section{padding-block:65px}
 .beer-story-media>img{aspect-ratio:auto;object-fit:contain}
 .beer-story-seal{bottom:-20px;right:10px;width:100px;height:100px}
 .beer-story-seal strong{font-size:25px}
 .experience-card--wide{grid-column:auto}
 .experience-card>div{min-height:0;padding:21px}
 .experience-card h3{font-size:23px}
 .map-placeholder{min-height:330px;padding:24px}
 .location-card__map{min-height:330px}
 .location-card__map-label{display:none}
 .sales-points-section{padding-block:50px}
 .sales-disclosure summary{font-size:13px;padding-block:20px}
 .final-cta img{width:150px}
 .final-cta h2{font-size:36px}
 .final-cta p:not(.eyebrow){font-size:14px}
 .site-footer__bottom{font-size:9px}
 .sticky-tickets{position:fixed;z-index:75;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px max(18px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#062e24f5;border-top:1px solid #e2c27844;box-shadow:0 -6px 25px #0002;backdrop-filter:blur(15px);color:#fff4d9}
 .sticky-tickets>div{display:grid;gap:3px;line-height:1.3}
 .sticky-tickets small{font-size:8px;letter-spacing:.06em;color:#f2ce82;font-weight:750}
 .sticky-tickets strong{font-size:18px;font-weight:750;letter-spacing:-.025em}
 .sticky-tickets strong>span{font-size:10px;font-weight:450}
 .sticky-tickets .button{min-height:48px;padding:13px 24px;font-size:13px}
}
@media(max-width:360px){
 .festival-hero__actions{flex-wrap:wrap;gap:18px}
 .festival-hero__copy .eyebrow{font-size:8px}
 .festival-brand>span{font-size:11px}
 .festival-menu{padding:9px 8px}
 .festival-hours>div>span{font-size:7px}
 .festival-hours>div>strong{font-size:55px}
 .countdown{gap:9px}
 .countdown>div{min-width:42px}
 .countdown strong{font-size:41px}
 .pass-card{padding-inline:23px}
 .pass-card h3{font-size:31px}
 .pass-card::after{left:23px;right:23px}
 .pass-features{font-size:12px}
 .music-heading h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .pass-card,.pass-card:hover,.pass-card:active{transform:none!important}
 .pass-price strong{transform:none!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
 .festival-header,.announcement,.sticky-tickets,.motion-toggle,.countdown-strip,.pass-cta{display:none!important}
 body{padding:0}
 .festival-hero{print-color-adjust:exact}
 .pass-grid{grid-template-columns:repeat(3,1fr)}
 .pass-card{break-inside:avoid}
}
