@font-face{font-family:Polai;src:url(assets/body.otf)}@font-face{font-family:Polai;src:url(assets/bold.otf);font-weight:700}@font-face{font-family:Display;src:url(assets/display.ttf)}@font-face{font-family:Script;src:url(assets/script.otf)}:root{--red:#ed1c24;--ink:#231f20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:Polai,'Helvetica Neue',sans-serif;font-size:20px;line-height:1.5}a{color:inherit}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.draft{background:var(--red);color:white;text-align:center;font-size:14px;padding:5px}header{height:86px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;position:sticky;top:0;z-index:20}.brand img{width:140px;display:block}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--red);color:white;text-decoration:none;padding:14px 25px;border:0;font-weight:700;font-size:19px}.hero{min-height:730px;height:calc(100svh - 115px);max-height:1100px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.04)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 65%)}.hero-content{position:relative;z-index:1;padding:65px 7%;max-width:1050px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:15px;font-weight:700;color:var(--red)}.hero .eyebrow{color:white}.hero h1{font-family:Display;font-size:clamp(65px,7.7vw,118px);font-weight:400;line-height:.98;margin:22px 0 25px}.hero .script{font-family:Script;font-size:36px}.hero p{max-width:490px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px}.text-link{text-underline-offset:7px}.datebar{background:var(--red);color:white;display:flex;justify-content:space-around;gap:20px;padding:24px 6%;font-weight:700;font-size:24px}.wrap{max-width:1280px;margin:auto;padding:100px 6%}h2,h3{font-weight:400;line-height:1.04;font-family:Display;margin:15px 0 25px}h2{font-size:clamp(46px,5vw,72px)}h3{font-size:38px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro h2{margin-top:15px}.script{font-family:Script;font-weight:400}.subtitle{font-weight:700;font-size:24px}.lead{font-size:24px}details{border-top:1px solid #ccc;margin-top:20px;padding-top:12px}summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.video{background:var(--ink);padding:0 6% 75px;color:white}.video .wrap{padding-top:60px;padding-bottom:30px}.video video{width:100%;display:block;max-height:650px;background:black}.video-inner{max-width:1126px;margin:auto}.moments-top{text-align:center;max-width:650px;margin:0 auto 55px}.feature{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:60px;margin-bottom:70px}.feature img{width:100%;height:530px;object-fit:cover}.feature .number{font-family:Display;font-size:70px;color:var(--red);line-height:1}.feature.reverse{grid-template-columns:1fr 1.25fr}.feature.reverse img{order:2}.show{background:var(--red);color:white;padding:45px;display:grid;grid-template-columns:180px 1fr;gap:35px}.show .time{font-family:Display;font-size:80px}.show h3{margin-top:0}.show details{border-color:#ffffff66}.rooms{background:var(--ink);color:white}.rooms-head{display:flex;justify-content:space-between;align-items:end;gap:50px}.rooms-head p{max-width:330px}.room-list{margin-top:45px;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.room{padding:35px 0;border-top:1px solid #ffffff44}.room-label{color:#ff5b61;font-size:15px;text-transform:uppercase;letter-spacing:2px}.room h3{font-size:51px;margin-bottom:12px}.room details{border-color:#ffffff44}.extras{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px}.extras article{border-top:4px solid var(--red);padding-top:20px}.extras h3{font-size:37px}.tickets{background:#f4f3f2}.ticket-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.price{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #d8d3d3;padding:12px 0}.price strong{white-space:nowrap}.shop{border:1px dashed #aaa;padding:40px;background:white;margin-top:30px}.shop .badge{font-size:13px;letter-spacing:1px;background:#eee;padding:5px 10px}.shop h3{margin:30px 0 15px}.shop p{color:#555}.archive-head{display:flex;justify-content:space-between;gap:40px;align-items:end}.archive-head p{max-width:360px}.years{display:flex;gap:10px;overflow:auto;margin:30px 0}.years button{border:1px solid #ccc;background:white;padding:12px 25px;white-space:nowrap}.years button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.gallery button{padding:0;border:0;background:#eee;height:230px;overflow:hidden}.gallery button:first-child{grid-row:span 2;height:474px}.gallery button:last-child{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery button:hover img{transform:scale(1.04)}.archive-note{font-size:16px;color:#666}.empty{padding:60px;background:#f4f3f2;text-align:center}.empty strong{font-family:Display;font-size:70px}.closing{background:var(--red);color:white;text-align:center;padding:55px 6%}.closing h2{margin:10px}.closing .button{background:var(--ink);margin-top:20px}footer{background:var(--ink);color:white;padding:60px 7%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px}footer img{width:200px}footer p{margin:8px 0}footer small{font-size:15px;color:#bbb}.lightbox{background:#171515;color:white;border:0;max-width:96vw;width:1100px;padding:22px}.lightbox::backdrop{background:#000d}.lightbox img{width:100%;height:70vh;object-fit:contain}.lightbox-bar{display:flex;justify-content:space-between;align-items:center}.lightbox button{background:none;border:1px solid #777;color:white;padding:8px 18px}.lightbox p{margin:0}.nav-toggle{display:none}@media(max-width:760px){body{font-size:18px}header{height:73px}.brand img{width:115px}.nav-toggle{display:block;border:1px solid #777;color:white;background:none;padding:8px 15px}nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column}nav.open{display:flex}.hero{min-height:650px;height:85svh}.hero-content{padding:45px 7%}.hero h1{font-size:65px}.hero .script{font-size:29px}.hero>img{object-position:58% center}.hero-actions{gap:15px;flex-wrap:wrap}.datebar{font-size:18px;flex-wrap:wrap;padding:18px;gap:5px 22px}.wrap{padding:65px 7%}.intro,.feature,.feature.reverse,.ticket-layout{grid-template-columns:1fr;gap:25px}.feature.reverse img{order:0}.feature{margin-bottom:50px}.feature img{height:350px}.show{grid-template-columns:1fr;gap:10px;padding:30px}.show .time{font-size:65px}.rooms-head,.archive-head{display:block}.room-list,.extras{grid-template-columns:1fr;gap:25px}.room{padding-bottom:10px}.extras article{padding-top:20px}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:span 2;grid-row:auto;height:300px}.gallery button{height:170px}.gallery button:last-child{height:240px}footer{grid-template-columns:1fr;gap:25px}.shop{padding:25px}.video{padding-bottom:45px}h2{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Zweiter Entwurf: Plakatkomposition mit großem Datum */
.hero-poster{background:var(--ink);display:block;height:auto;max-height:none;min-height:0;overflow:hidden;padding:45px 6% 0;color:white}.hero-poster:after{display:none}.poster-top{display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:1300px;margin:auto}.hero-poster h1{font:400 clamp(34px,3.4vw,54px)/1.05 Display;margin:10px 0}.hero-poster .eyebrow{color:#fff;margin:0}.hero-poster .script{font-size:28px;margin:15px 0}.poster-date{max-width:1300px;margin:10px auto -15px;display:flex;gap:30px;align-items:center;font-family:Display;line-height:.8;color:white;position:relative;z-index:2;pointer-events:none}.poster-date .day{font-size:clamp(170px,22vw,330px);color:var(--red)}.poster-date .month{font-size:clamp(65px,8vw,120px);line-height:.92}.poster-date b{font-weight:400}.poster-photos{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.65fr 1fr;gap:12px;height:390px}.poster-photos img{width:100%;height:100%;object-fit:cover;min-width:0}.poster-photos img:first-child{object-position:center 65%}.poster-caption{max-width:1300px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 25px}.poster-caption p{max-width:none;margin:0}.poster-caption a{white-space:nowrap;text-underline-offset:6px}.room-list{display:block}.room{display:flow-root;padding:45px 0;min-height:380px}.room-photo{float:left;width:46%;margin:0 45px 18px 0}.room:nth-child(even) .room-photo{float:right;margin:0 0 18px 45px}.room-photo img{width:100%;height:330px;object-fit:cover;display:block}.room h3{font-size:39px;line-height:1.1}.room details{overflow:hidden}.room-photo figcaption,.extra-photo figcaption,.highlight-photo figcaption{font-size:14px;line-height:1.3;padding:8px 0;color:#999}.highlight-photo{margin:0}.highlight-photo img{display:block;width:100%;height:430px;object-fit:cover}.show{margin-top:12px}.extra-photo{margin:0 0 25px}.extra-photo img{width:100%;height:250px;object-fit:cover;display:block}.extras h3{font-size:32px;line-height:1.15}.extras article{border:0}.plan-image{display:block;position:relative;aspect-ratio:1.414;background:white;overflow:hidden;margin:20px 0}.plan-image img{position:absolute;width:70.72%;height:141.42%;object-fit:contain;left:14.64%;top:-20.71%;transform:rotate(-90deg)}.plan-detail[open]{clear:both;padding-top:20px}.plan-detail .plan-image{max-width:1000px;margin:20px auto}.intro h2{font-size:51px}.rooms .room-label{color:#ff5b61}.room-photo figcaption{color:#ccc}@media(max-width:760px){.hero-poster{padding:30px 7% 0;min-height:0;height:auto}.hero-poster h1{font-size:35px}.poster-top{align-items:start}.poster-top>.button{padding:9px 15px;font-size:17px}.hero-poster .script{font-size:24px}.poster-date{gap:12px;margin:25px 0 -5px}.poster-date .day{font-size:clamp(140px,39vw,230px)}.poster-date .month{font-size:clamp(55px,15vw,86px)}.poster-photos{height:285px;grid-template-columns:1fr 1fr;gap:7px}.poster-photos img:first-child{object-position:35% center}.poster-caption{display:block;padding:20px 0 30px}.poster-caption a{display:inline-block;margin-top:15px}.room-photo,.room:nth-child(even) .room-photo{float:none;width:100%;margin:0 0 25px}.room-photo img{height:280px}.room h3{font-size:36px}.highlight-photo img{height:280px}.extra-photo img{height:300px}.intro h2{font-size:43px}.poster-title{min-width:0}.hero-poster .eyebrow{font-size:12px}.show h3{font-size:34px}}

.dogana-hinweis{border-left:4px solid var(--red);padding:10px 16px;background:rgba(237,28,36,.08);font-size:20px;line-height:1.4}

/* Vollflächiger Fotostart mit zentriertem Titel und separater Datumszeile */
.hero-fullphoto{height:calc(100svh - 115px);min-height:760px;max-height:1100px;display:block;padding:0;isolation:isolate}.hero-fullphoto>.hero-background{position:absolute;inset:0;object-position:center 44%;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-fullphoto:after{display:block;background:linear-gradient(180deg,rgba(0,0,0,.64),rgba(0,0,0,.08) 42%,rgba(0,0,0,.76));z-index:-1}.hero-composition{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:45px 6% 45px}.hero-heading{text-align:center}.hero-heading .script{margin:0 0 10px;font-size:32px}.hero-fullphoto h1{font:400 clamp(65px,7.4vw,112px)/1 Display;max-width:none;margin:0}.hero-fullphoto .hero-subtitle{font:400 clamp(29px,3.1vw,45px)/1.2 Display;max-width:none;margin:15px 0}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.hero-fullphoto .hero-bigdate{font:400 clamp(50px,6.5vw,96px)/1 Display;max-width:none;margin:0 0 12px;white-space:nowrap}.hero-fullphoto .hero-location{letter-spacing:3px;font-size:21px;margin:0}.hero-invitation{max-width:310px;border-left:3px solid var(--red);padding-left:25px}.hero-invitation p{margin:0 0 20px;font-size:22px}.hero-invitation .button{min-width:170px}@media(max-width:760px){.hero-fullphoto{height:calc(100svh - 105px);min-height:720px;max-height:none}.hero-composition{padding:30px 7%}.hero-heading .script{font-size:26px}.hero-fullphoto h1{font-size:60px}.hero-fullphoto .hero-subtitle{font-size:28px}.hero-bottom{display:block}.hero-fullphoto .hero-bigdate{font-size:clamp(39px,10.8vw,70px);white-space:nowrap}.hero-fullphoto .hero-location{font-size:16px;letter-spacing:2px}.hero-invitation{margin-top:25px;padding-left:15px;max-width:none;display:flex;gap:15px;align-items:center}.hero-invitation p{font-size:18px;margin:0;flex:1}.hero-invitation .button{min-width:0;padding:12px 18px;white-space:nowrap}.hero-fullphoto>.hero-background{object-position:58% center}}

.plan-button{display:inline-flex;align-items:center;background:var(--red);border:0;color:white;padding:13px 22px;margin:22px 12px 0 0;font:700 19px Polai;cursor:pointer}.plan-button:hover{background:#ce141b}.plan-modal{width:min(1250px,94vw);max-width:94vw;max-height:94svh;border:0;background:#fff;color:var(--ink);padding:24px;overflow:auto}.plan-modal::backdrop{background:rgba(0,0,0,.85)}.plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.plan-toolbar h2{font-size:35px;margin:0}.plan-toolbar button{background:none;border:1px solid #ccc;padding:8px 14px;white-space:nowrap}.plan-canvas{position:relative;aspect-ratio:1.414;background:white;overflow:hidden}.plan-canvas img{position:absolute;width:70.72%;height:141.42%;object-fit:contain;left:14.64%;top:-20.71%;transform:rotate(-90deg)}.plan-footer{display:flex;justify-content:flex-end;padding-top:18px}@media(max-width:760px){.plan-modal{padding:16px;width:96vw;max-width:96vw}.plan-toolbar h2{font-size:29px}.plan-toolbar button{font-size:16px;padding:7px 10px}.plan-button{font-size:18px;padding:12px 18px}.plan-footer .button{font-size:17px}}

@media(min-width:761px){.extras{row-gap:0;align-items:stretch}.extras article{display:grid;grid-template-rows:subgrid;grid-row:span 5}.extras article>h3{margin-bottom:20px}.extras article>.subtitle{margin:0 0 18px}.extras article>p:not(.subtitle){margin:0 0 20px}.extras article>details{align-self:start;margin-top:0}}

.gallery-categories{display:flex;gap:24px;border-bottom:1px solid #ddd;margin:10px 0 25px}.gallery-categories button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 0;font-weight:700;color:#666}.gallery-categories button[aria-pressed="true"]{color:var(--red);border-bottom-color:var(--red)}.gallery-title{font-size:30px;margin:0 0 25px}.lightbox #large{max-width:1000px;display:block;margin:auto}

.gallery.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery.archive-grid button,.gallery.archive-grid button:first-child,.gallery.archive-grid button:last-child{grid-column:auto;grid-row:auto;height:240px;background:#f3f2f1;padding:6px}.gallery.archive-grid img{object-fit:contain}.gallery-categories span{font-size:14px;color:#777;margin-left:5px}.gallery-count{font-size:16px;color:#777}@media(max-width:760px){.gallery.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery.archive-grid button,.gallery.archive-grid button:first-child,.gallery.archive-grid button:last-child{height:180px}.gallery-categories{gap:20px}.gallery-categories button{font-size:17px}}

/* Kompakter Seitenabschluss */
.closing{padding:25px max(7%,calc((100vw - 1120px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;text-align:left}
.closing h2{font-size:36px;margin:0;white-space:nowrap}
.closing p{font-size:17px;margin:0}
.closing .button{font-size:16px;padding:10px 18px;margin:0;white-space:nowrap}
footer{padding:36px max(7%,calc((100vw - 1120px)/2)) 30px;grid-template-columns:1fr 1.2fr auto;align-items:start;gap:40px;font-size:16px;line-height:1.55}
footer img{width:125px;display:block}
footer strong{font-size:16px;font-weight:700}
footer p{margin:5px 0 9px}
footer small{font-size:13px;color:#aaa}
footer a{color:#ddd;text-decoration:none}
footer a:hover{text-decoration:underline;text-underline-offset:4px;color:white}

@media(max-width:760px){.closing{padding:24px 7%;grid-template-columns:1fr auto;gap:10px 15px}.closing h2{font-size:30px}.closing p{font-size:15px;grid-column:1;grid-row:2}.closing .button{grid-column:2;grid-row:1 / span 2;font-size:15px;padding:10px 14px}footer{padding:28px 7%;grid-template-columns:1fr 1fr;gap:24px;font-size:15px}footer img{width:105px}footer strong{font-size:15px}footer small{font-size:12px}}
@media(max-width:420px){.closing{grid-template-columns:1fr}.closing p,.closing .button{grid-column:1;grid-row:auto}.closing .button{justify-self:start;margin-top:4px}footer{gap:20px}}

.gallery-categories{flex-wrap:wrap;gap:8px 24px}.gallery-categories button{white-space:nowrap}

.archive-video{display:flex;align-items:center;gap:28px;margin:28px 0 36px;background:#f5f3f1;padding:18px}.archive-video>img{width:230px;aspect-ratio:16/9;object-fit:cover}.archive-video h3{font-size:30px;margin:6px 0 14px}.archive-video .button{font-size:17px;padding:10px 20px}.video-modal{width:min(1000px,94vw);max-width:94vw;max-height:94svh;padding:20px;border:0;background:#151515;color:white}.video-modal::backdrop{background:#000d}.video-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.video-toolbar h2{font-size:30px;margin:0}.video-toolbar button{background:transparent;color:white;border:1px solid #666;padding:8px 12px;white-space:nowrap}.video-modal video{display:block;width:100%;max-height:76svh}@media(max-width:600px){.archive-video{gap:18px;padding:12px}.archive-video>img{width:40%}.archive-video h3{font-size:25px}.video-modal{padding:12px}.video-toolbar h2{font-size:25px}}

/* Thematische Bildserien, bewusst ohne automatischen Wechsel */
.topic-slider{min-width:0}.topic-viewport{overflow:hidden;background:#141414;touch-action:pan-y}.topic-slide[hidden]{display:none!important}.topic-slider .topic-slide img{display:block;width:100%;height:330px;object-fit:cover}.topic-slider .topic-slide img.portrait{object-fit:contain}.topic-slider figcaption{min-height:36px;margin:0;font-size:14px;line-height:1.35;padding:9px 0 4px}.topic-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 0 12px}.topic-controls>button{font:inherit;font-size:15px;background:none;border:0;color:inherit;padding:8px 0;cursor:pointer}.topic-controls>button:hover{text-decoration:underline;text-underline-offset:4px}.topic-dots{display:flex;gap:1px}.topic-dots button{display:grid;place-items:center;width:27px;height:32px;padding:0;background:transparent;border:0;cursor:pointer}.topic-dots button:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35}.topic-dots button[aria-pressed=true]:before{background:var(--red);opacity:1;width:8px;height:8px}.topic-slider:focus-visible,.topic-controls button:focus-visible{outline:2px solid var(--red);outline-offset:4px}.youth-photo{margin:0}.feature .youth-photo .topic-slide img{height:470px}.feature .youth-photo figcaption{color:#777}@media(max-width:760px){.topic-slider .topic-slide img,.feature .youth-photo .topic-slide img{height:310px}.topic-controls>button{font-size:16px;min-height:44px}.topic-dots button{height:44px}}
.topic-dots button{color:inherit}

/* Ruhiger Einstieg: sämtliche Informationen in einer gemeinsamen Fläche. */
.hero-unified{height:calc(100svh - 115px);min-height:720px;max-height:1050px;display:flex;align-items:flex-end;padding:48px 6%;isolation:isolate;background:#211f1f}
.hero-unified:after{display:none}.hero-scenes{position:absolute;inset:0;z-index:-1}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:0;transition:opacity 1.8s ease}.hero-scene.active{opacity:1}
.hero-panel{width:520px;max-width:100%;padding:32px 36px;background:rgba(25,23,23,.91);border-top:4px solid var(--red);box-shadow:0 10px 50px #0002}
.hero-unified .script{font-family:Script;font-size:29px;line-height:1.2;margin:0 0 14px;color:white}.hero-unified h1{font:400 clamp(57px,5.8vw,82px)/.98 Display;margin:0 0 24px;white-space:nowrap}.hero-event-unit{border-top:1px solid #ffffff30;padding-top:20px}.hero-unified .hero-date{font:400 57px/1.04 Display;color:var(--red);white-space:nowrap;margin:0 0 10px;max-width:none}.hero-unified .hero-place{font-size:18px;letter-spacing:2px;margin:0}.hero-unified .hero-intro{font-size:20px;line-height:1.45;margin:20px 0 23px;max-width:360px;color:#ddd}.hero-panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-panel-bottom .button{padding:13px 27px;font-size:19px}.hero-slideshow-controls{display:flex;align-items:center;gap:0}.hero-slideshow-controls button{background:none;border:0;color:#fff;cursor:pointer}.hero-photo-dot{width:25px;height:40px;display:grid;place-items:center;padding:0}.hero-photo-dot:before{content:'';width:5px;height:5px;border-radius:50%;background:#fff;opacity:.5}.hero-photo-dot[aria-pressed=true]:before{background:var(--red);opacity:1;width:7px;height:7px}#hero-pause{font:inherit;font-size:14px;padding:10px 0 10px 10px;min-width:58px}.hero-slideshow-controls button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:760px){.hero-unified{height:auto;min-height:0;max-height:none;display:block;padding:0;background:#211f1f}.hero-scenes{position:relative;height:43svh;min-height:270px;max-height:440px;z-index:auto}.hero-scene{object-position:center}.hero-panel{position:relative;width:100%;max-width:none;padding:27px 7% 30px;background:#211f1f;box-shadow:none;border-top:3px solid var(--red)}.hero-unified h1{font-size:clamp(53px,12vw,76px);margin-bottom:20px}.hero-unified .script{font-size:25px;margin-bottom:10px}.hero-unified .hero-date{font-size:clamp(39px,9.6vw,58px)}.hero-unified .hero-place{font-size:16px}.hero-unified .hero-intro{font-size:18px;margin:17px 0 20px;max-width:none}.hero-event-unit{padding-top:17px}.hero-panel-bottom .button{font-size:18px;padding:12px 24px}}
@media(prefers-reduced-motion:reduce){.hero-scene{transition:none}}

/* Ticketinformationen in klaren, aufklappbaren Einheiten */
.ticket-dogana{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:white;padding:25px 30px;margin:30px 0 24px;border-left:5px solid var(--red)}.ticket-label{font-size:16px;letter-spacing:1px;text-transform:uppercase;color:#fff}.ticket-dogana p{font-size:22px;line-height:1.4;margin:7px 0 0;max-width:690px}.ticket-dogana .button{white-space:nowrap;font-size:18px;border:0;cursor:pointer}.ticket-cards{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.ticket-card{background:#fff;padding:32px;border:1px solid #e2ded9;min-width:0}.ticket-card h3{font:400 33px/1.12 Display;margin:10px 0 16px}.ticket-card .eyebrow{font-size:14px}.ticket-lead{font-size:21px;line-height:1.4;margin:0 0 25px}.ticket-card details{margin:0;border-bottom:1px solid #ddd}.ticket-card summary{padding:19px 0;font-size:20px;gap:15px}.ticket-detail-body{padding:0 0 20px}.ticket-detail-body p{font-size:18px;line-height:1.5}.ticket-detail-body .button{font-size:17px;padding:11px 18px}.ticket-detail-body .price{font-size:17px;gap:20px;padding:11px 0}.ticket-detail-body .price strong{white-space:nowrap}.ticket-detail-body .archive-note{font-size:15px}.ticket-shop-status{background:#f5f3f1;padding:20px;margin-bottom:6px}.ticket-shop-status p{font-size:18px;margin:12px 0 0}.ticket-online .badge{font-size:12px}.ticket-shop-preview .shop{min-height:0;padding:25px 20px;margin:0 0 22px}.ticket-shop-preview .shop h3{font-size:29px}.ticket-shop-preview .shop p{font-size:18px}.ticket-online-note{font-size:16px;line-height:1.4;color:#666;margin:24px 0 0}.ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0 0;margin-top:24px;border-top:1px solid #ccc}.ticket-bottom h3{font-size:26px;margin:0 0 7px}.ticket-bottom p{font-size:18px;margin:0}.ticket-contact{font-size:17px;white-space:nowrap}#ticket-prices{scroll-margin-top:120px}.ticket-card summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:760px){.ticket-dogana{display:block;padding:23px}.ticket-dogana p{font-size:21px}.ticket-dogana .button{margin-top:18px}.ticket-cards{grid-template-columns:1fr;gap:18px}.ticket-card{padding:25px 23px}.ticket-card h3{font-size:30px}.ticket-card summary{font-size:19px}.ticket-bottom{display:block}.ticket-contact{display:inline-block;margin-top:20px}.ticket-detail-body .price{font-size:16px;gap:12px}}

/* Einheitliche, vollständig gefüllte Bildflächen. */
.topic-slider .topic-slide img.portrait{object-fit:cover;object-position:50% 35%}
#erleben .moment-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0;margin:0 0 38px;background:#f5f3f1}
#erleben .moment-media{position:relative;margin:0;width:100%;aspect-ratio:4/3;overflow:hidden;min-width:0;background:#211f1f}
#erleben .moment-media>img,#erleben .moment-media .topic-viewport,#erleben .moment-media .topic-slide{width:100%;height:100%}
#erleben .moment-media>img,#erleben .moment-media .topic-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
#erleben .moment-media .topic-slide img.portrait{object-fit:cover;object-position:50% 35%}
#erleben .moment-media .topic-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);color:#fff;padding:22px 22px 8px}
#erleben .youth-photo figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;min-height:0}
#erleben .moment-copy{padding:32px 35px;min-width:0;border-top:3px solid var(--red)}
#erleben .moment-copy h3{font:400 clamp(28px,2.6vw,38px)/1.12 Display;margin:0 0 18px}
#erleben .moment-copy .subtitle{font-size:23px;line-height:1.25;margin:0 0 18px;color:var(--red)}
#erleben .moment-copy p:not(.subtitle){font-size:19px;line-height:1.5}
#erleben .moment-copy details{margin-top:20px}
#erleben .moment-midnight{background:var(--ink);color:white}
#erleben .moment-midnight details{border-color:#ffffff40}
#erleben .moment-show-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#000a;color:white;padding:12px 18px;font-size:13px;line-height:1.4}
@media(max-width:760px){#erleben .moment-row{grid-template-columns:1fr;margin-bottom:28px}#erleben .moment-copy{padding:26px 24px}#erleben .moment-copy h3{font-size:31px}#erleben .moment-copy .subtitle{font-size:22px}#erleben .moment-copy p:not(.subtitle){font-size:18px}#erleben .moment-media{aspect-ratio:4/3}}
#erleben .show-photo figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;min-height:0}
#erleben .show-photo img[src$="show2.jpg"]{object-position:50% 55%}

/* Pfeile im Bild, Punkte zentral unter dem Bild. */
.topic-slider{position:relative}
.topic-slider .topic-controls{position:static;display:flex;justify-content:center;padding:0 0 8px;background:none;color:inherit}
.topic-slider .topic-controls>[data-slide-action]{position:absolute;top:165px;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:48px;padding:0;min-height:0;background:#17171788;color:white;border:1px solid #ffffff50;border-radius:3px;z-index:2;cursor:pointer;transition:background .15s}
.topic-slider .topic-controls>[data-slide-action="prev"]{left:12px}
.topic-slider .topic-controls>[data-slide-action="next"]{right:12px}
.topic-slider .topic-controls>[data-slide-action]:hover{background:#171717d9;text-decoration:none}
.topic-slider .topic-controls>[data-slide-action] svg{display:block;pointer-events:none}
#erleben .moment-media .topic-controls{position:absolute;inset:0;display:block;background:none;padding:0;pointer-events:none}
#erleben .moment-media .topic-controls>[data-slide-action]{top:50%;pointer-events:auto}
#erleben .moment-media .topic-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:0 7px;border-radius:20px;background:#17171788;color:white;pointer-events:auto}
@media(max-width:760px){.topic-slider .topic-controls>[data-slide-action]{top:155px;width:36px;height:44px}.topic-slider .topic-controls>[data-slide-action="prev"]{left:10px}.topic-slider .topic-controls>[data-slide-action="next"]{right:10px}}

/* Ruhiger Auftakt: Originalmarke und Informationen direkt auf dem Foto. */
.hero-unified{height:calc(100svh - 115px);min-height:700px;max-height:1000px;align-items:center;justify-content:center;text-align:center;padding:48px 6%;color:#fff}
.hero-unified:after{content:'';display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.56) 55%,rgba(0,0,0,.68));z-index:-1;pointer-events:none}
.hero-scenes{position:absolute;inset:0;height:100%;min-height:0;max-height:none;z-index:-2}
.hero-panel{width:760px;max-width:100%;padding:0;background:none;border:0;box-shadow:none;text-shadow:0 2px 18px #0008}
.hero-unified h1.hero-brand{margin:0 auto 24px;line-height:1;white-space:normal;width:clamp(240px,26vw,370px)}
.hero-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 3px 12px #0005)}
.hero-unified .script{font-size:clamp(28px,3.2vw,43px);margin:0 0 28px;color:white}
.hero-event-unit{border:0;padding:0}
.hero-unified .hero-date{font-size:clamp(48px,5.6vw,78px);color:white;margin:0 0 12px}
.hero-unified .hero-place{font-size:19px;letter-spacing:3px}
.hero-unified .hero-intro{max-width:none;margin:23px auto;color:#fff;font-size:21px}
.hero-panel-bottom{justify-content:center;flex-direction:column;gap:18px}
.hero-panel-bottom .button{text-shadow:none;background:var(--red)}
.hero-slideshow-controls{justify-content:center}
#hero-pause{display:grid;place-items:center;width:36px;height:36px;min-width:0;margin-left:8px;padding:7px;border:1px solid #ffffff60;border-radius:50%;background:#0002}
#hero-pause svg{width:19px;height:19px}#hero-pause:hover{background:#ffffff25}
@media(max-width:760px){.hero-unified{display:flex;height:calc(100svh - 75px);min-height:670px;max-height:900px;padding:35px 7%}.hero-panel{padding:0;width:100%;background:none;border:0}.hero-unified h1.hero-brand{width:250px;max-width:80%;margin-bottom:24px}.hero-unified .script{font-size:30px;margin-bottom:28px}.hero-unified .hero-date{font-size:clamp(39px,9.6vw,58px)}.hero-unified .hero-place{font-size:16px;letter-spacing:2px}.hero-unified .hero-intro{font-size:18px;max-width:300px;margin:20px auto}.hero-scenes{position:absolute;height:100%;min-height:0;max-height:none}.hero-scene{object-position:55% center}}

.summer-cta{background:#242121;color:#fff;padding:70px 0}.summer-cta-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.summer-cta figure{margin:0}.summer-cta img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.summer-cta figcaption{color:#bfbaba;font-size:14px;margin-top:9px}.summer-cta .eyebrow{color:#ff777b}.summer-cta h2{font-size:clamp(38px,4.5vw,62px);line-height:1.05;margin:12px 0 22px}.summer-cta-copy p{font-size:23px;line-height:1.4;margin:0 0 26px}.summer-cta .button{white-space:normal;text-align:center;font-size:19px}@media(max-width:760px){.summer-cta{padding:45px 0}.summer-cta-inner{grid-template-columns:1fr;gap:26px}.summer-cta-copy p{font-size:21px}.summer-cta h2{font-size:43px}}

.contact-section{padding-top:75px;padding-bottom:75px}.contact-heading{max-width:660px;margin-bottom:38px}.contact-heading h2{margin:8px 0 20px}.contact-heading p{margin:0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;border-top:1px solid #ddd;padding-top:30px}.contact-grid h3{font-size:25px;margin:0 0 16px}.contact-grid p{font-size:18px;margin:0;line-height:1.6}.contact-phone,.contact-email{display:block;width:fit-content;text-decoration:none;overflow-wrap:anywhere}.contact-phone{font-size:29px}.contact-email{font-size:20px;margin:4px 0 22px}.contact-grid .button{font-size:18px;padding:12px 22px}.contact-ticket-link{display:inline-block;margin-top:16px;font-size:17px;text-underline-offset:4px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:first-child{grid-column:1/-1}}@media(max-width:600px){.contact-section{padding-top:45px;padding-bottom:45px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-heading{margin-bottom:25px}.contact-phone{font-size:27px}}

/* Aufbau der Ballwerbung, Seite 2: Fotokopf, rotes Band, Titel und Datum. */
.hero-unified.hero-advert{display:block;height:auto;min-height:0;max-height:none;padding:0;background:#fff;color:var(--ink);text-align:left;isolation:auto;overflow:hidden}
.hero-unified.hero-advert:after{display:none}
.hero-ad-photo{position:relative;height:clamp(330px,48svh,600px);isolation:isolate;background:var(--ink)}
.hero-advert .hero-scenes{position:absolute;inset:0;height:100%;z-index:-1}
.hero-advert .hero-scene{object-position:center 52%}
.hero-ad-logo{position:absolute;top:26px;right:5%;width:clamp(180px,20vw,300px);height:auto;filter:drop-shadow(0 2px 10px #0008)}
.hero-advert .hero-slideshow-controls{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);border-radius:20px;background:#0007;padding:0 7px}
.hero-ad-band{font:400 clamp(25px,3vw,38px)/1.2 Script;color:#fff;background:var(--red);text-align:center;margin:0;padding:13px 5%}
.hero-ad-info{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 6% 36px;max-width:1500px;margin:auto}
.hero-advert h1{font:400 clamp(40px,5.2vw,74px)/1.1 Display;white-space:normal;margin:0 0 3px}
.hero-advert .hero-date{font:400 clamp(44px,5.6vw,80px)/1.1 Display;color:var(--ink);margin:0 0 12px;white-space:normal}
.hero-advert .hero-place{font:400 19px/1.4 Polai;letter-spacing:1px;text-transform:uppercase;margin:0}
.hero-ad-info>.button{flex-shrink:0;min-width:145px;text-align:center}
@media(max-width:760px){.hero-ad-photo{height:43svh;min-height:300px;max-height:440px}.hero-ad-logo{top:20px;right:6%;width:185px;max-width:43%}.hero-advert .hero-scene{object-position:50% center}.hero-ad-band{font-size:27px;padding:13px 5%}.hero-ad-info{padding:26px 7% 30px;gap:22px;align-items:flex-start;flex-direction:column}.hero-advert h1{font-size:clamp(32px,7.8vw,49px)}.hero-advert .hero-date{font-size:clamp(39px,9.5vw,59px);margin-bottom:10px}.hero-advert .hero-place{font-size:16px}.hero-ad-info>.button{padding:12px 25px;min-width:130px}}
.hero-advert .hero-ad-band{width:100%;max-width:none}

/* Keine sichtbaren Bildunterschriften; Bildbeschreibungen bleiben barrierefrei erhalten. */
figcaption,#caption{display:none!important}

/* Panorama des Quartetts vollständig, ohne zusätzliche Balken zeigen. */
.room-photo:has(.topic-slide:not([hidden]) .band-panorama) .topic-viewport{height:auto}
.room-photo .band-panorama{height:auto;aspect-ratio:5000/2052;object-fit:cover}
.room-photo:has(.topic-slide:not([hidden]) .band-panorama) .topic-controls>[data-slide-action]{top:calc((100% - 48px)/2)}
.room-photo.topic-slider img.band-panorama{height:auto!important;aspect-ratio:5000/2052;object-fit:cover}

/* Hoher fotografischer Auftakt mit Text direkt im Bild. */
.hero-unified.hero-advert{position:relative;height:calc(100svh - 115px);min-height:690px;max-height:1100px;background:var(--ink);color:white;isolation:isolate}
.hero-advert .hero-ad-photo{position:absolute;inset:0;height:100%;min-height:0;max-height:none;z-index:-2}
.hero-advert .hero-ad-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002 20%,#0001 40%,#000b 100%);pointer-events:none;z-index:-1}
.hero-advert .hero-scenes{z-index:-2}
.hero-advert .hero-ad-logo{top:32px;right:6%;width:clamp(190px,22vw,320px)}
.hero-advert .hero-ad-info{position:absolute;left:0;right:0;bottom:90px;max-width:none;padding:0 6%;align-items:flex-end;color:#fff}
.hero-advert h1{color:#fff;text-shadow:0 2px 15px #0005}
.hero-advert .hero-date{color:#fff;text-shadow:0 2px 15px #0005}
.hero-advert .hero-place{color:#fff}
.hero-advert .hero-ad-band{position:absolute;bottom:0;left:0;right:0;padding:14px 6%;margin:0}
.hero-advert .hero-slideshow-controls{bottom:16px;left:auto;right:6%;transform:none;z-index:2;background:none}
.hero-advert .hero-photo-dot[aria-pressed=true]:before{background:#fff}
.hero-advert .hero-ad-photo{z-index:auto;isolation:auto}
.hero-advert .hero-slideshow-controls{bottom:75px}
@media(max-width:760px){.hero-unified.hero-advert{height:calc(100svh - 104px);min-height:650px;max-height:950px}.hero-advert .hero-ad-logo{top:25px;right:7%;width:190px;max-width:44%}.hero-advert .hero-ad-info{bottom:95px;padding:0 7%;gap:22px;align-items:flex-start}.hero-advert h1{font-size:clamp(32px,7.8vw,49px)}.hero-advert .hero-date{font-size:clamp(41px,10vw,62px)}.hero-advert .hero-ad-band{font-size:26px;padding:14px 5%}.hero-advert .hero-slideshow-controls{right:6%;bottom:96px}.hero-advert .hero-scene{object-position:50% center}}
.hero-advert .hero-scenes{z-index:0}
.hero-advert .hero-ad-photo:after{z-index:1}
.hero-advert .hero-ad-logo{z-index:2}
.hero-advert .hero-ad-info,.hero-advert .hero-ad-band{z-index:3}
.contact-grid .contact-phone{font-size:20px;line-height:1.5}

.ticket-cards:has(>.ticket-card:only-child){grid-template-columns:1fr}
.hero-unified.hero-advert{height:calc(100svh - 86px)}
@media(max-width:760px){.hero-unified.hero-advert{height:calc(100svh - 74px)}}
/* Gemeinsame Schriftgrößen nach Funktion statt einzelner Abschnittswerte. */
:root{--type-section:56px;--type-heading:34px;--type-subheading:24px;--type-body:20px;--type-lead:24px;--type-control:18px;--type-small:16px;--type-label:14px}
body{font-size:var(--type-body)}
main h2,.intro h2,.summer-cta h2{font-size:var(--type-section);line-height:1.08}
main h3,.room h3,.extras h3,#erleben .moment-copy h3,.ticket-card h3,.ticket-bottom h3,.archive-video h3,.gallery-title{font-size:var(--type-heading);line-height:1.12}
.contact-grid h3{font-size:var(--type-subheading)}
.closing h2{font-size:var(--type-heading)}
.subtitle,.lead,#erleben .moment-copy .subtitle,.summer-cta-copy p,.ticket-dogana p{font-size:var(--type-lead);line-height:1.35}
#erleben .moment-copy p:not(.subtitle),.ticket-lead,.ticket-detail-body p,.ticket-bottom p,.contact-grid p,.contact-grid .contact-phone,.contact-email,.dogana-hinweis{font-size:var(--type-body);line-height:1.5}
.button,.plan-button,.ticket-dogana .button,.ticket-detail-body .button,.ticket-contact,.archive-video .button,.summer-cta .button,.contact-grid .button,.closing .button,.plan-footer .button,summary,.ticket-card summary,.gallery-categories button,.years button,nav a,.nav-toggle,.contact-ticket-link{font-size:var(--type-control)}
.eyebrow,.room-label,.ticket-label,.ticket-card .eyebrow,.gallery-categories span{font-size:var(--type-label)}
.ticket-detail-body .price,.ticket-detail-body .archive-note,.archive-note,.gallery-count,.closing p,footer,footer strong,footer small{font-size:var(--type-small)}
@media(max-width:760px){:root{--type-section:44px;--type-heading:32px;--type-body:18px;--type-lead:22px;--type-small:15px}}

/* Kontakt: gemeinsame Grundlinien und klar lesbare Überschriften. */
.contact-grid h3{font-size:32px;line-height:1.2;margin:0}
.contact-grid .contact-lines,.contact-grid .contact-phone,.contact-grid .contact-email,.contact-grid .contact-ticket-link{font-size:20px;line-height:1.6;font-weight:400;margin:0}
.contact-grid .contact-lines{padding:0}
.contact-grid .contact-action{display:flex;align-items:center;min-height:51px}
.contact-grid{column-gap:35px;row-gap:20px;grid-template-columns:1.2fr 1.15fr 1fr}
.contact-grid>div{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0}
.contact-grid>div:first-child{grid-column:auto}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:32px}.contact-grid>div{display:block;grid-row:auto}.contact-grid h3{margin-bottom:16px}.contact-grid .contact-action{margin-top:20px}}

.gallery-events{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}.gallery-events button{font-size:var(--type-control);font-weight:700;border:1px solid var(--ink);padding:12px 26px;background:white;color:var(--ink)}.gallery-events button[aria-pressed=true]{background:var(--ink);color:white}

/* Kontakt als einheitlicher Dreispalter mit separater Aktionszeile. */
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 36px;align-items:start}
.contact-grid>div{grid-row:span 2;grid-template-rows:subgrid}
.contact-grid .contact-lines,.contact-grid .contact-phone,.contact-grid .contact-email{font-size:20px;line-height:32px;margin:0;padding:0}
.contact-grid .contact-phone,.contact-grid .contact-email{display:block}
.contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;align-items:center;margin-top:36px}
.contact-actions .button{justify-self:start;min-height:52px;font-size:18px;line-height:24px;padding:14px 24px}
.contact-actions .contact-vvk{grid-column:3}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:28px}.contact-grid>div{display:block;grid-row:auto}.contact-actions{grid-template-columns:1fr 1fr;gap:16px}.contact-actions .contact-vvk{grid-column:2}}
@media(max-width:440px){.contact-actions{grid-template-columns:1fr}.contact-actions .contact-vvk{grid-column:1}.contact-actions .button{width:100%}}

/* Feste Spalten: kein Textfluss unter Saalbildern. */
.room-list .room{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:start;min-height:0}
.room-media-column,.room-copy{min-width:0}
.room-list .room:nth-child(even) .room-media-column{grid-column:2;grid-row:1}
.room-list .room:nth-child(even) .room-copy{grid-column:1;grid-row:1}
.room-list .room .room-photo{float:none;width:100%;margin:0}
.room-list .room .topic-viewport{position:relative;aspect-ratio:3/2;height:auto;overflow:hidden}
.room-list .room .topic-slide{height:100%}
.room-list .room .topic-slide img,.room-list .room img.band-panorama{width:100%;height:100%!important;aspect-ratio:auto;object-fit:cover;object-position:center}
.room-list .room .topic-controls>[data-slide-action]{top:calc((100% - 40px)/2)}
.room-list .room .topic-controls{height:40px;padding:0}
.room-plan-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}
.room-plan-actions .plan-button{margin:0;text-align:center;justify-content:center}
.room-copy>h3{margin-top:15px}
.room-copy details{overflow:visible}
@media(max-width:760px){.room-list .room{grid-template-columns:minmax(0,1fr);gap:28px}.room-list .room:nth-child(even) .room-media-column,.room-list .room:nth-child(even) .room-copy{grid-column:auto;grid-row:auto}.room-plan-actions .plan-button{font-size:16px;padding:12px 16px}}
/* Einheitlicher, ruhiger Fließtext auf der gesamten Seite. */
:root{--type-body:18px;--type-lead:18px}
main p:not(.hero-date):not(.hero-place):not(.hero-ad-band),
#erleben .moment-copy p,.ticket-detail-body p,.ticket-bottom p,
.contact-grid .contact-lines,.contact-grid .contact-phone,.contact-grid .contact-email,.contact-grid .contact-ticket-link,
.ticket-detail-body .price,footer p,footer a,footer strong,footer small{
font-size:var(--type-body);line-height:1.6;
}
main .subtitle,#erleben .moment-copy .subtitle{font-size:var(--type-body);font-weight:700;line-height:1.6}
@media(max-width:760px){:root{--type-body:18px;--type-lead:18px}}
/* Das breite Plankton-Gruppenbild vollständig im einheitlichen Bildrahmen zeigen. */
.room-list .room img.band-panorama{object-fit:contain;object-position:center}

.summer-cta .summer-logo-heading{margin:22px 0 26px;max-width:390px;line-height:1}.summer-cta img.summer-logo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

.summer-cta figure{position:relative}
.summer-save-date{position:absolute;right:18px;top:18px;z-index:1;display:grid;align-content:center;justify-content:center;width:122px;height:122px;border-radius:50%;background:var(--red);color:white;font:400 29px/1.05 Display;text-align:center;transform:rotate(9deg);box-shadow:0 3px 15px #0003}
@media(max-width:760px){.summer-save-date{width:104px;height:104px;right:14px;top:14px;font-size:25px}}

.summer-slides{position:relative;aspect-ratio:1;overflow:hidden;background:var(--ink)}
.summer-cta img.summer-slide{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.summer-cta img.summer-slide.active{opacity:1}
.summer-save-date{font-family:Script;font-size:29px;line-height:1.1;transform:rotate(-8deg);width:132px;height:132px;box-shadow:none}
.summer-slide-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 0;color:white}
.summer-slide-controls>button{border:1px solid #ffffff55;background:none;color:white;width:36px;height:36px;font:28px/1 Arial;cursor:pointer;border-radius:50%}
@media(max-width:760px){.summer-save-date{width:112px;height:112px;font-size:25px}}
@media(prefers-reduced-motion:reduce){.summer-cta img.summer-slide{transition:none}}

.summer-cta{background:#ea8431}
.summer-cta .eyebrow{color:var(--ink)}

.summer-save-date.summer-star{display:block;width:170px;height:164px;background:none;border-radius:0;box-shadow:none;transform:rotate(-5deg);right:12px;top:12px}
.summer-cta .summer-star img{position:absolute;max-width:none;width:139.244%;height:auto;aspect-ratio:auto;left:-17.151%;top:-2.572%;object-fit:initial;clip-path:polygon(48.956% 2.261%,51.879% 11.436%,56.472% 3.324%,57.724% 12.899%,63.674% 6.250%,63.152% 16.090%,70.042% 10.904%,67.954% 20.479%,75.574% 17.154%,71.816% 25.931%,79.958% 24.734%,74.739% 32.447%,82.881% 33.112%,76.514% 39.362%,84.134% 42.287%,76.722% 46.277%,84.029% 51.330%,76.200% 53.989%,82.255% 60.372%,74.217% 60.904%,79.019% 68.617%,70.981% 66.755%,74.530% 76.064%,66.910% 72.473%,68.163% 82.447%,62.109% 76.729%,62.213% 86.569%,56.576% 79.521%,55.010% 89.362%,50.626% 81.117%,47.495% 90.160%,44.676% 80.984%,39.979% 89.229%,38.727% 79.521%,32.881% 86.170%,33.299% 76.330%,26.409% 81.383%,28.601% 71.941%,20.877% 75.133%,24.635% 66.356%,16.597% 67.686%,21.712% 59.840%,13.570% 59.176%,20.146% 53.059%,12.317% 50.266%,19.937% 46.011%,12.422% 41.090%,20.251% 38.431%,14.196% 32.048%,22.234% 31.516%,17.328% 23.670%,25.365% 25.133%,21.921% 16.356%,29.436% 19.947%,27.662% 10.239%,34.447% 15.559%,34.238% 5.851%,39.875% 12.633%,41.545% 3.059%,45.825% 11.303%)}
@media(max-width:760px){.summer-save-date.summer-star{width:140px;height:135px;right:10px;top:10px}}

.summer-cta{background:#242121}
.summer-cta .eyebrow{color:#fff}

/* Kompakter Sommerball-Teaser nach dem Werbemotiv. */
.summer-cta{padding:40px 6%;background:#242121}
.summer-cta .summer-cta-inner{max-width:1126px;padding:0;display:grid;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch}
.summer-cta .summer-slideshow{min-width:0;margin:0;position:relative}
.summer-cta .summer-slides{aspect-ratio:1.15}
.summer-cta .summer-cta-copy{padding:30px 32px 28px 46px;display:flex;flex-direction:column;justify-content:center;border-top:5px solid #ea8431;border-bottom:5px solid #ea8431;min-width:0}
.summer-cta .summer-logo-heading{margin:0 0 24px;max-width:360px;width:100%}
.summer-date-card{background:#93266b;color:white;padding:18px 22px;border-left:5px solid #ea8431}
main .summer-date-card .summer-event-date{font:700 clamp(30px,3.2vw,46px)/1.1 Polai;margin:0 0 8px}
main .summer-date-card .summer-event-place{font:700 18px/1.3 Polai;text-transform:uppercase;letter-spacing:.8px;margin:0}
.summer-cta .summer-save-date.summer-star{width:132px;height:127px;right:-44px;top:40%;transform:translateY(-50%) rotate(-6deg);z-index:3}
.summer-slide-controls{padding:4px 0;height:44px}
@media(max-width:760px){.summer-cta{padding:28px 7%}.summer-cta .summer-cta-inner{grid-template-columns:1fr}.summer-cta .summer-slides{aspect-ratio:1.15}.summer-cta .summer-cta-copy{padding:24px 22px;border-top:0;border-bottom:4px solid #ea8431}.summer-cta .summer-logo-heading{width:78%;max-width:290px;margin:0 auto 20px}.summer-cta .summer-save-date.summer-star{right:12px;top:16px;transform:rotate(-6deg);width:112px;height:108px}.summer-date-card{text-align:center;padding:16px}.summer-slide-controls{height:44px}}
#sommerball .summer-date-card .summer-event-date{font:700 clamp(32px,3.2vw,46px)/1.1 Polai;margin:0 0 8px}
/* Sommerball ohne dekorative Linien; Stern frei links im Motiv. */
.summer-cta .summer-cta-copy{border:0}
.summer-cta .summer-date-card{border:0}
.summer-cta .summer-save-date.summer-star{left:18px;right:auto;top:18px;transform:rotate(-6deg)}
@media(max-width:760px){.summer-cta .summer-save-date.summer-star{left:14px;right:auto;top:14px}}
/* Verbleibende typografische Ausnahmen an die gemeinsame Skala angleichen. */
.contact-grid h3{font-size:var(--type-heading);line-height:1.2}
.hero-advert .hero-place{font-size:var(--type-body)}
.room-plan-actions .plan-button{font-size:var(--type-control)}

footer>div:nth-child(3){text-align:right}
@media(max-width:760px){footer>div:nth-child(3){grid-column:1/-1;text-align:left}}

.legal-modal{width:min(850px,92vw);max-width:92vw;max-height:88svh;padding:0 30px 30px;border:0;background:white;color:var(--ink);font:18px/1.6 Polai;overflow:auto}.legal-modal::backdrop{background:#000b}.legal-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:20px;background:white;border-bottom:1px solid #ddd;padding:20px 0;z-index:1}.legal-toolbar h2{font-size:34px;margin:0}.legal-toolbar button{width:44px;height:44px;border:0;background:var(--ink);color:white;font:32px/1 Arial;cursor:pointer}#legal-content h2,#legal-content h3{font-family:Polai;font-size:22px;line-height:1.3;font-weight:700;margin:28px 0 12px}#legal-content p,#legal-content li{font-size:18px;line-height:1.6}#legal-content a{overflow-wrap:anywhere}.legal-modal .design-credit{margin-top:30px;border-top:1px solid #ddd}@media(max-width:600px){.legal-modal{padding:0 20px 20px}}

/* Vorverkauf und eingebetteter Ö-Ticket Light Shop */
#tickets .ticket-cards{grid-template-columns:minmax(0,0.8fr) minmax(0,1.6fr);gap:24px;align-items:start}
#tickets .ticket-online{padding:32px 20px 20px}
.ticket-shop-embed{width:100%;min-width:0;margin-top:24px}
.ticket-shop-embed iframe{display:block;width:100%;min-height:600px;border:0;background:white}
@media(max-width:1000px){#tickets .ticket-cards{grid-template-columns:1fr}#tickets .ticket-online{padding:25px 12px 12px}}
