.pp[data-landing-page="aachen"] h1{font-size:clamp(32px,4.3vw,66px)!important;hyphens:manual;overflow-wrap:normal;word-break:normal}
.pp[data-landing-page="aachen"] h1>em{display:block!important;font-size:.78em;line-height:1.14;margin-top:12px;color:#EE4EAF!important}
.pp[data-landing-page="aachen"] .pp-cover-photo-frame{aspect-ratio:3/2!important}
.pp[data-landing-page="aachen"] .pp-cover-photo-frame img{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;transform:none!important}
/* Explicit section rhythm: inspect the rendered page, not just the color tokens.
   These surfaces come from the homepage and the existing closing invitation. */
.pp[data-landing-page="aachen"] .pp-aachen>.pp-section{background:#0a0a0a}
.pp[data-landing-page="aachen"] .pp-aachen>:is(#videos,#faq){background:#0a0a0a}
.pp[data-landing-page="aachen"] .pp-aachen>:is(#repertoire,#ablauf,#weitere){background:#251b23}
.pp[data-landing-page="aachen"] .pp-aachen>#vorteile{background:#171417}
.pp[data-landing-page="aachen"] .pp-aachen>#locations{background:linear-gradient(145deg,#39152c,#23101e);border-block:1px solid #472038}
.pp[data-landing-page="aachen"] .pp-aachen>#technik{background:linear-gradient(130deg,#180d15,#101010)}
.pp[data-landing-page="aachen"] .pp-aachen>.pp-trust-section{background:#100d10}
.pp[data-landing-page="aachen"] .pp-aachen>.pp-section>.pp-wrap>:last-child{margin-bottom:0}
.pp[data-landing-page="aachen"] .pp-nrw-reading>.pp-wrap>.pp-heading{max-width:860px;margin:0 auto 28px;text-align:center!important}
.pp[data-landing-page="aachen"] .pp-nrw-reading>.pp-wrap>.pp-heading :is(h2,.pp-display-heading){text-align:center!important;text-wrap:balance}
.pp[data-landing-page="aachen"] .pp-nrw-reading>.pp-wrap>p{max-width:760px;margin-inline:auto;text-align:center;text-wrap:pretty}
.pp[data-landing-page="aachen"] .pp-nrw-reading.pp-closing{text-align:center}
.pp[data-landing-page="aachen"] .pp-usp-grid article,.pp[data-landing-page="aachen"] .pp-three article{text-align:left}
.pp[data-landing-page="aachen"] .pp-usp-grid h3,.pp[data-landing-page="aachen"] .pp-three h3{text-align:left!important}
@media(max-width:650px){
 .pp[data-landing-page="aachen"] .pp-nrw>:is(.pp-section,.pp-closing){padding-block:40px}
 .pp[data-landing-page="aachen"] .pp-nrw>.pp-section>.pp-wrap>.pp-heading{margin-bottom:24px}
 .pp[data-landing-page="aachen"] .pp-nrw>.pp-section>.pp-wrap>:last-child{margin-bottom:0}
 .pp[data-landing-page="aachen"] .pp-nrw-reading:not(.pp-closing)>.pp-wrap>.pp-heading :is(h2,.pp-display-heading),.pp[data-landing-page="aachen"] .pp-nrw-reading:not(.pp-closing)>.pp-wrap>p{text-align:left!important}
}

.pp[data-landing-page="aachen"] .pp-cover-hero-grid>*{min-width:0}
.pp[data-landing-page="aachen"] h1{overflow-wrap:anywhere;max-width:100%}
.pp[data-landing-page="aachen"] #anfrage{text-align:center}

/* Chrome review: consistent local type, disclosure controls and reading rhythm. */
.pp[data-landing-page="aachen"] #locations .pp-location h3{font-size:23px;line-height:1.3}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure{margin:0;border-top:1px solid #3b3038;padding-block:4px}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding-block:8px;color:#fff;font-size:16px;font-weight:650;line-height:1.5;list-style:none;cursor:pointer}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure>summary::-webkit-details-marker{display:none}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure>summary::marker{content:""}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure>summary::after{content:"+";flex:none;color:var(--brand-pink);font-size:23px;font-weight:400}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure[open]>summary::after{content:"−"}
.pp[data-landing-page="aachen"] #locations .pp-location-disclosure>p{font-size:16px;line-height:1.75;margin:12px 0}
.pp[data-landing-page="aachen"] #locations .pp-location-map{align-self:flex-start;margin-top:16px;color:#bdb5bb;font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.pp[data-landing-page="aachen"] #videos>.pp-wrap>.pp-video-directory-note,
.pp[data-landing-page="aachen"] #videos>.pp-wrap>.pp-media-note{max-width:760px;margin-inline:auto;text-align:center!important}
.pp[data-landing-page="aachen"] #videos>.pp-wrap>.pp-video-directory-note{margin-top:28px;margin-bottom:8px}
.pp[data-landing-page="aachen"] #videos>.pp-wrap>.pp-media-note{margin-top:0;margin-bottom:24px}
.pp[data-landing-page="aachen"] #videos .pp-after{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:760px;margin:0 auto;padding:28px 24px;border:1px solid #472038;border-radius:14px;background:#1c1018;text-align:center}
.pp[data-landing-page="aachen"] #videos .pp-after :is(h3,p){text-align:center!important}
.pp[data-landing-page="aachen"] #videos .pp-after p{margin:8px 0 0}
.pp[data-landing-page="aachen"] #videos .pp-after>.pp-button{align-self:center;margin:0}
@media(min-width:801px){
 .pp[data-landing-page="aachen"] .pp-lineups .pp-lineup-number{display:flex;align-items:center;min-height:84px;margin-bottom:22px;padding:0;box-sizing:border-box}
 .pp[data-landing-page="aachen"] .pp-lineups h3{min-height:2.6em;display:flex;align-items:flex-start;margin-bottom:16px}
 .pp[data-landing-page="aachen"] .pp-lineups article>p{margin-top:0}
}
@media(min-width:1101px){
 .pp[data-landing-page="aachen"] .pp-lineups h3{min-height:0}
}
@media(max-width:650px){
 .pp[data-landing-page="aachen"] main{--pp-type-display:clamp(24px,7.4vw,31px)}
 .pp[data-landing-page="aachen"] #locations .pp-location h3{font-size:20px}
 .pp[data-landing-page="aachen"] .pp-cover-intro{display:contents}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid{gap:18px}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid :is(.pp-kicker,h1,.pp-cover-lead,.pp-hero-actions,.pp-promise,.pp-cover-hero-portrait){margin:0}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid .pp-kicker{order:0}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid h1{order:1}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid .pp-cover-lead{order:2}
 .pp[data-landing-page="aachen"] .pp-cover-hero-portrait{order:3;width:100%}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid .pp-hero-actions{order:4}
 .pp[data-landing-page="aachen"] .pp-cover-hero-grid .pp-promise{order:5}
 .pp[data-landing-page="aachen"] .pp-cover-hero .pp-breadcrumb{margin-bottom:22px}
}

/* Aachen: compact related links before a consistently centered closing invitation. */
.pp[data-landing-page="aachen"] .pp-nrw>#weitere{background:#251b23;padding-block:32px}
.pp[data-landing-page="aachen"] #weitere>.pp-wrap{max-width:760px}
.pp[data-landing-page="aachen"] #weitere>.pp-wrap>.pp-heading{margin-bottom:16px;text-align:center!important}
.pp[data-landing-page="aachen"] #weitere>.pp-wrap>.pp-heading h2{font-size:clamp(24px,3vw,32px);text-align:center!important}
.pp[data-landing-page="aachen"] #weitere .pp-city-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.pp[data-landing-page="aachen"] #weitere .pp-city-links a{justify-content:center;text-align:center;min-height:44px;padding-block:4px;font-size:16px}
.pp[data-landing-page="aachen"] #weitere>.pp-wrap>.pp-related-faq{border-top:1px solid #3b3038;margin:16px 0 0;padding-top:16px;text-align:center!important;font-size:14px;line-height:1.6}
.pp[data-landing-page="aachen"] .pp-related-faq a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.pp[data-landing-page="aachen"] .pp-nrw>#anfrage{background:linear-gradient(145deg,#39152c,#23101e);padding-block:48px;border-block:1px solid #472038}
.pp[data-landing-page="aachen"] #anfrage>.pp-wrap{max-width:760px}
.pp[data-landing-page="aachen"] #anfrage>.pp-wrap>.pp-heading h2,
.pp[data-landing-page="aachen"] #anfrage>.pp-wrap>p{text-align:center!important}
.pp[data-landing-page="aachen"] #anfrage>.pp-wrap>.pp-heading{margin-bottom:20px}
.pp[data-landing-page="aachen"] #anfrage>.pp-wrap>p{margin-bottom:24px}
@media(max-width:650px){
 .pp[data-landing-page="aachen"] #weitere .pp-city-links{grid-template-columns:1fr}
 .pp[data-landing-page="aachen"] .pp-nrw>#anfrage{padding-block:40px}
}

/* Aachen follows the homepage's white/pink heading hierarchy. */
.pp[data-landing-page="aachen"] .pp-nrw-reading>.pp-wrap>.pp-heading h2 em{display:block;color:var(--brand-pink);font-style:normal}

.pp[data-landing-page="aachen"] #locations .pp-heading h2{font-size:var(--pp-type-display)}

/* One desktop axis for free-standing introductions, as on the occasion pages.
   The FAQ and the venue's detailed account keep their own left reading edge. */
.pp[data-landing-page="aachen"] :is(#locations,#faq)>.pp-wrap{max-width:860px}
.pp[data-landing-page="aachen"] #locations .pp-location,
.pp[data-landing-page="aachen"] #faq .pp-faq{max-width:760px;margin-inline:auto;text-align:left}
.pp[data-landing-page="aachen"] #faq>.pp-wrap>.pp-heading{max-width:760px;text-align:left!important}
.pp[data-landing-page="aachen"] #faq>.pp-wrap>.pp-heading h2{text-align:left!important}
.pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-lead{max-width:760px;margin-inline:auto;text-align:center}
@media(min-width:901px){
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>.pp-heading{max-width:860px;margin-inline:auto;text-align:center!important}
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>.pp-heading :is(h2,.pp-display-heading),
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>p{text-align:center!important}
}
@media(max-width:900px){
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap{max-width:760px}
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>.pp-heading{max-width:none;margin-inline:0;text-align:left!important}
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>.pp-heading :is(h2,.pp-display-heading),
 .pp[data-landing-page="aachen"] :is(#musik,#repertoire,#konzept,#ablauf)>.pp-wrap>p{text-align:left!important}
 .pp[data-landing-page="aachen"] #locations>.pp-wrap>.pp-heading{max-width:760px;text-align:left!important}
 .pp[data-landing-page="aachen"] #locations>.pp-wrap>.pp-heading h2{text-align:left!important}
 .pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-heading{max-width:760px;margin-inline:auto;text-align:left!important}
 .pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-heading :is(h2,.pp-display-heading),
 .pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-lead{text-align:left!important}
}

/* Venue accounts remain left aligned; compact introductions share one axis. */
.pp[data-landing-page="aachen"] #locations>.pp-wrap{max-width:1120px}
.pp[data-landing-page="aachen"] .pp-location{margin-top:28px}
.pp[data-landing-page="aachen"] .pp-location-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:12px}
.pp[data-landing-page="aachen"] .pp-location-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:500}
.pp[data-landing-page="aachen"] .pp-venue-recommendations{margin-top:48px;padding-top:32px;border-top:1px solid #3b3038}
.pp[data-landing-page="aachen"] .pp-venue-recommendations>h3,
.pp[data-landing-page="aachen"] .pp-venue-recommendations>p{max-width:760px;margin-inline:auto;text-align:left!important}
.pp[data-landing-page="aachen"] .pp-venue-recommendations>h3{font-size:24px;line-height:1.3}
.pp[data-landing-page="aachen"] .pp-venue-recommendations .pp-three{margin-top:24px}
.pp[data-landing-page="aachen"] .pp-three article h3{font-size:21px;line-height:1.35}
.pp[data-landing-page="aachen"] .pp-occasion-links{text-align:center;margin-top:24px}
.pp[data-landing-page="aachen"] .pp-occasion-links a{display:inline-block;margin-inline:6px}
@media(min-width:901px){
 .pp[data-landing-page="aachen"] :is(.pp-usp-grid,.pp-three) article h3{min-height:2.7em}
}
.pp[data-landing-page="aachen"] .pp-nrw-reading>.pp-wrap>.pp-heading h2 em{display:block;color:var(--brand-pink);font-style:normal}
.pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-lead{text-align:center;max-width:760px;margin-inline:auto}
@media(min-width:901px){.pp[data-landing-page="aachen"] h1{font-size:clamp(32px,3.7vw,56px)!important}}
@media(max-width:900px){.pp[data-landing-page="aachen"] #technik>.pp-wrap>.pp-lead{text-align:left!important}}
@media(max-width:650px){.pp[data-landing-page="aachen"] h1{font-size:clamp(26px,7.4vw,40px)!important;overflow-wrap:normal}
.pp[data-landing-page="aachen"] .pp-venue-recommendations>h3{font-size:21px}}

.pp[data-landing-page="aachen"] .pp-venue-recommendations article h4{font-size:21px;font-weight:700;line-height:1.35;margin:0 0 16px;text-align:left}

.pp[data-landing-page="aachen"] .pp-stocks-video{margin:28px 0 16px;width:100%;max-width:760px}
.pp[data-landing-page="aachen"] .pp-stocks-video .pp-video-copy h3{font-size:20px!important}

/* Distinct surface changes remain visible while scrolling. */
.pp-nrw.pp-aachen #musik{background:#21151f}.pp-nrw.pp-aachen #repertoire{background:#251b23}.pp-nrw.pp-aachen #anlaesse{background:#0a0a0a}.pp-nrw.pp-aachen #locations{background:linear-gradient(145deg,#39152c,#23101e);border-block-color:#69304f}.pp-nrw.pp-aachen #ablauf{background:#281b25}.pp-nrw.pp-aachen #weitere{background:#21151f}
@media(max-width:900px){
 .pp[data-landing-page="aachen"] .pp-aachen :is(#videos,#besetzung) .pp-heading p,
 .pp[data-landing-page="aachen"] .pp-aachen #technik>.pp-wrap>p{text-align:left!important}
}
@media(max-width:900px){.pp[data-landing-page="aachen"] .pp-aachen #anfrage>.pp-wrap>p{text-align:left!important}}
