/* Gesamtvorschau 2: Lars' fixes 1, 2, 4–7 and text palette (9). */
.loader .center-wrapper{transform:none!important;scale:1!important;width:min(456px,76vw)}
.loader .center-wrapper>.relative{width:100%;height:auto;aspect-ratio:456/204;margin-bottom:70px}
.loader .center-wrapper>.relative:after{inset:0;width:100%;height:100%;transform:none}
.loader .center-wrapper svg{width:100%;height:100%}
.loader .loading-text{top:calc(100% + 24px)!important;bottom:auto!important;left:0!important;width:100%;text-align:center;transform:none!important;line-height:1.4}
.loader .progress-text{top:calc(100% + 6px)!important;left:0!important;width:100%;text-align:center;transform:none!important}
.loader .center-wrapper>.relative>.absolute{top:calc(100% + 24px)!important;bottom:auto!important;left:0!important;right:0;align-items:center;transform:none!important;line-height:1.4}
@media(max-width:700px){.loader .center-wrapper{width:min(320px,70vw)}}
@media(max-height:450px){.loader .center-wrapper{width:min(228px,70vw)}}
/* The finale lives in a transformed scroll container; keep its content inside
   the visible frame and leave room for navigation/footer, including short screens. */
#dws-journey .journey-finale{inset:110px 12vw 120px}
.journey-finale .finale-claim{bottom:24px}
.journey-finale .finale-claim h2{font-size:clamp(27px,3.35vw,56px);line-height:1.16;margin:14px 0 20px;overflow-wrap:normal;word-break:normal}
.journey-finale>.dws-footer-brand{left:0;bottom:-30px}
@media(max-width:700px){
 #dws-journey .journey-finale{inset:92px 24px 38px}
 .journey-finale .finale-claim{bottom:48px}
 .journey-finale .finale-claim h2{font-size:clamp(25px,6.8vw,32px);line-height:1.18;margin:12px 0 18px}
 .journey-finale>.dws-footer-brand{left:0;bottom:0;width:72px;height:32px}
}
@media(min-width:701px) and (max-height:760px){
 #dws-journey .journey-finale{inset:98px 9vw 108px}
 .journey-finale .finale-claim{bottom:8px}
 .journey-finale .finale-claim h2{font-size:clamp(27px,3vw,43px);margin:10px 0 16px}
}

/* Punkt 9: white typography, existing orange word accents.
   Do not change --ink/--flotte-akzent or any surface/graphic declarations. */
html,body,
.dws-evidence,.dws-media-proof,.dws-media-dialog,
.list-modal-item:hover .list-modal-item__title[data-v-f137cc8a],
.list-modal-item:hover .list-modal-item__type[data-v-f137cc8a],
.text-dark-blue,.text-off-blue,.text-off-white,
.theme-light[data-v-ba815286],
.transparent[data-v-acc11dbd],.solid-light[data-v-acc11dbd],.solid-dark[data-v-acc11dbd],
.soldOutEyebrow[data-v-6fed53a9],
.solid-light[data-v-a54381ec],.solid-light[data-v-a54381ec]:not(.disabled):hover,
.solid-dark[data-v-a54381ec],.solid-dark[data-v-a54381ec]:not(.disabled):hover,
#dws-journey,.journey-scene em,.city-story strong,.network-route b,
.glass-control,#dws-cleaning-film .cleaning-caption,
#home-section-0 .dws-title-line:first-child,#home-section-0 .dws-title-line em,
.skip,.site-head a[aria-current],.pill span,.hero-bottom a span,.text-link span,
.accent-point,.water-mark,.activate,.activate span,.model-controls button,.menu-button,
html[data-dws-route="orbit"] header a,html[data-dws-route="orbit"] button{
 color:#fff!important;
}
.journey-scene small,.network-legend,.city-story span,.network-route,.film-index,
#dws-cleaning-film small,#dws-cleaning-film span,
html[data-dws-route="mobile"] small,html[data-dws-route="mobile"] .scroll-hint,
html[data-dws-route="mobile"] .film span,html[data-dws-route="mobile"] .film em,
.brand #logo-hinweis,.eyebrow,.hero-bottom,.section-index,.model-label,.site-footer,
.equipment-copy .model-note,
html[data-dws-route="orbit"] header span,html[data-dws-route="orbit"] .note,
html[data-dws-route="orbit"] #status{
 color:rgb(255 255 255 / .65)!important;
}
.journey-scene p,html[data-dws-route="mobile"] p,
.intro,figcaption,.equipment-copy>p,.plant-heading>p,
.water-note>p:not(.eyebrow),.contact>p:not(.eyebrow),
html[data-dws-route="orbit"] p{
 color:rgb(255 255 255 / .82)!important;
}
.text-off-blue\/30,.placeholder\:text-off-blue\/30::placeholder{
 color:rgb(255 255 255 / .3)!important;
}
input::placeholder,textarea::placeholder,.question[data-v-c2bbcbea]{
 color:rgb(255 255 255 / .5)!important;
}
/* SVG city names are typography; land, pins, routes and icon SVGs stay intact. */
.map-city text,.map-overlay .map-city text{fill:#fff!important}
svg[data-v-ba815286] path[fill="#E5ECFF"],
svg[data-v-ba815286] path[fill="#E0E8FF"]{fill:#fff!important}
/* Keep the existing Flotte inner mask: it hides doubled strokes inside the e. */
html[data-dws-route="flotte"] .hero #titel>.dws-akzent{
 color:var(--night)!important;-webkit-text-stroke-color:#fc4e03!important;
}
/* The comparison switch affects only text, including the outline. */
html:not([data-dws-akzent="aus"]) .dws-akzent{
 color:#fc4e03!important;-webkit-text-stroke-color:currentColor!important;
}
html[data-dws-akzent="aus"] .dws-akzent{
 color:#fff!important;-webkit-text-stroke-color:#fff!important;
}
html[data-dws-akzent="aus"][data-dws-route="flotte"] .hero #titel>.dws-akzent{
 color:var(--night)!important;-webkit-text-stroke-color:#fff!important;
}
/* End Punkt 9. */
/* Size applies before SplitText makes its line wrappers. Existing word accents stay. */
html[data-dws-route="leistungen"] footer.footer>.body>h2:first-child,
html[data-dws-route="referenzen"] footer.footer>.body>h2:first-child,
.dws-contact-heading,.contact h2{font-size:clamp(28px,4.1vw,68px)!important;line-height:1.18!important;max-width:min(900px,85vw)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:manual;text-wrap:balance}
html[data-dws-route="leistungen"] footer.footer>.body,
html[data-dws-route="referenzen"] footer.footer>.body{margin-top:clamp(100px,12vh,148px);gap:24px;padding-inline:24px}
/* Preserve line reveal masks, but provide ink space above capitals/umlauts.
   Negative margins keep the original line boxes and scroll lengths. */
.dws-glyph-mask{padding-top:.22em!important;padding-bottom:.08em!important;margin-top:-.22em!important;margin-bottom:-.08em!important}
html[data-dws-route="contact"] .dws-contact-background{background:linear-gradient(180deg,#030b1940,#030b19c9),url('/dws-extension/hero-flight-r3b.jpg') center/cover no-repeat}
html[data-dws-route="contact"] .dws-contact-background>div{visibility:hidden}

.dws-umlaut .splittext-fix-0{overflow:visible}

/* Compact the two contact footers on short phones: reclaim the oversized
   spacing around the CTA without changing the text or the page's main chapters. */
@media(max-width:700px) and (max-height:760px){
 html[data-dws-route="leistungen"] footer.footer>.body,
 html[data-dws-route="referenzen"] footer.footer>.body{gap:12px}
 html[data-dws-route="leistungen"] footer.footer>.links,
 html[data-dws-route="referenzen"] footer.footer>.links{margin-top:24px}
}
@media(max-width:700px) and (max-height:760px){
 html[data-dws-route="leistungen"] footer.footer>.body>h2:nth-child(2),
 html[data-dws-route="referenzen"] footer.footer>.body>h2:nth-child(2){font-size:14px!important;line-height:1.6!important;max-width:min(100%,340px)!important;margin-top:0!important}
}
/* Expand the moving line as well as its mask. Its 101% hidden position must
   include the extra ink room, otherwise umlaut tips peek out before reveal. */
.dws-glyph-mask>.splittext-fix-0{padding-top:.22em!important;padding-bottom:.08em!important;margin-top:-.22em!important;margin-bottom:-.08em!important}
/* The existing building claim on About also has a long indivisible word.
   Keep its line box within the screen before SplitText builds its masks. */
html[data-dws-route="about"] h2[class*="md:text-110"]{font-size:clamp(24px,2.1vw,40px)!important;line-height:1.18!important;width:min(1100px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important;padding-inline:0!important;word-break:normal;overflow-wrap:normal;hyphens:manual;text-wrap:balance}
/* The width-matrix also caught the last N of Leistungen inside a 60rem mask.
   Preserve its type size; let the existing title use the available viewport. */
html[data-dws-route="leistungen"] h2[class*="md:text-180"]{max-width:90vw!important}
/* Wide but short windows need the same reserved navigation space as phones. */
@media(min-width:701px) and (max-height:760px){
 html[data-dws-route="leistungen"] footer.footer>.body>h2:first-child,
 html[data-dws-route="referenzen"] footer.footer>.body>h2:first-child{font-size:clamp(28px,4.1vw,56px)!important}
 html[data-dws-route="leistungen"] footer.footer>.links,
 html[data-dws-route="referenzen"] footer.footer>.links{margin-top:24px}
}
/* Point 9 follow-up: preserve akzent=aus after parallel map integration. */
html[data-dws-akzent="aus"] #dws-journey .journey-network .network-heading h2 em,
html[data-dws-akzent="aus"] #dws-journey .journey-network .network-heading h2 em *,
html[data-dws-akzent="aus"] #dws-journey .journey-network .city-story h3,
html[data-dws-akzent="aus"] #dws-journey .journey-network .city-story strong{color:#fff!important}
