/* Photography, banners and restrained movement for the visual review. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-visual.slider-shell{height:auto;max-height:none;background:var(--navy);box-shadow:0 18px 42px #142b3812}
.slide-stage{height:452px;position:relative;isolation:isolate;overflow:hidden}
.hero-slide{position:absolute;inset:0;overflow:hidden;background:#183747}
.hero-slide::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#10233250);pointer-events:none}
.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:59% center}
.hero-slide:nth-child(2)>img{object-position:62% center}
.hero-slide:nth-child(3)>img{object-position:50% center}
.hero-slide:nth-child(4)>img{object-position:72% center}
.hero-slide.is-active>img{animation:photo-settle 8.5s ease-out both}
.hero-slide.is-active .slide-caption{animation:caption-enter .5s ease-out both}
.slider-shell.is-still .hero-slide>img{animation-play-state:paused}
.slide-index,.slide-symbol{position:absolute;z-index:2;top:17px;color:#fff;font-size:9px;font-weight:700;line-height:1.6;background:#142b38ba;border-radius:3px;padding:5px 9px}
.slide-index{left:18px;letter-spacing:.08em}
.slide-symbol{right:17px;font-size:8px;font-weight:500}
.slide-caption{position:absolute;z-index:2;left:23px;bottom:25px;max-width:calc(100% - 46px);background:var(--yellow);color:var(--ink);padding:17px 23px 15px;border-radius:3px;box-shadow:0 8px 30px #0001}
.slide-caption>p{font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#384738;margin-bottom:7px}
.slide-caption>strong{font-size:18px;line-height:1.28;letter-spacing:-.03em;display:block;font-weight:800}
.slide-caption>a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;font-weight:800;margin-top:13px;min-height:24px}
.slide-caption>a:hover{text-decoration:underline;text-underline-offset:4px}
.slide-caption .icon{width:15px;height:15px}
.slider-controls{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:5px 12px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius)}
.slider-nav,.slider-dots{display:flex;align-items:center;gap:2px}
.slider-button,.slider-dot{display:grid;place-items:center;height:44px;min-width:44px;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:0}
.slider-button:hover{background:var(--paper)}
.slider-button .icon{width:18px;height:18px}
.slider-play{background:var(--paper)}
.slider-play:hover{background:#fff4c5}
.slider-play>span{display:flex;align-items:center;justify-content:center}
.slider-dot{min-width:24px;width:24px}
.slider-dot>span{height:6px;width:6px;border-radius:50%;background:#9ba8ad;transition:width .3s,background .3s}
.slider-dot[aria-pressed=true]>span{width:17px;border-radius:4px;background:#b38800}
.slider-dot:hover>span{background:var(--ink)}
@keyframes photo-settle{from{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes caption-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

.service-card{padding:0;overflow:hidden;background:#fff;box-shadow:0 5px 14px #142b3803}
.service-card:hover{background:#fff9e9}
.service-media{position:relative;height:177px;background:#dce1dc;flex:none}
.service-media>img{width:100%;height:100%;object-fit:cover;object-position:59% center;transition:transform .6s ease}
.service-media-expressfahrten>img{object-position:62% center}
.service-media-medizinische-transporte>img{object-position:50% center}
.service-media-overnight-fahrten>img{object-position:74% center}
.service-card:hover .service-media>img{transform:scale(1.035)}
.service-media .service-number{position:absolute;top:13px;left:15px;color:#fff;background:#142b38b8;padding:4px 8px;border-radius:2px;line-height:1.5;font-size:9px;letter-spacing:.05em}
.service-media .service-icon{position:absolute;right:18px;bottom:-21px;z-index:1;width:45px;height:45px;box-shadow:0 5px 15px #142b3814}
.service-media .service-icon .icon{width:24px;height:24px}
.service-image-label{position:absolute;bottom:8px;left:10px;color:#fff;font-size:7px;line-height:1.4;background:#142b38a8;padding:2px 4px;border-radius:2px}
.service-card-body{padding:34px 21px 22px;display:flex;flex-direction:column;flex:1}
.service-card-body .service-short{font-size:10px;line-height:1.5;margin-bottom:9px}
.service-card-body>p:not(.service-short){font-size:12px;line-height:1.85;margin:15px 0 25px}
.service-card-body .service-more{font-size:10px}

.night-section{padding:80px 0 0;background:#fff}
.night-banner{position:relative;min-height:435px;background:#101f35;border-radius:8px;overflow:hidden;isolation:isolate}
.night-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d1b30f5 0%,#0d1b30d9 35%,#0d1b303d 70%,transparent 100%);z-index:-1}
.night-banner>.night-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 63%;z-index:-2}
.night-copy{position:relative;max-width:545px;padding:61px 0 61px 55px;color:#fff}
.night-copy .eyebrow{color:#ffd23f;font-size:9px;margin-bottom:19px}
.night-copy h2{font-size:43px;line-height:1.17}
.night-copy h2 span{color:var(--yellow)}
.night-copy>p:not(.eyebrow){color:#c2cdd7;font-size:13px;line-height:1.85;max-width:385px;margin-top:22px}
.night-copy .button{margin-top:27px;font-size:12px;gap:24px}
.night-symbol{position:absolute;right:15px;bottom:12px;color:#fff;background:#142b3899;border-radius:2px;padding:2px 5px;font-size:8px}

.detail-photo{position:relative;min-height:340px;border-radius:7px;overflow:hidden;align-self:stretch;background:var(--paper);border:1px solid #e9ece5}
.detail-photo>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:59% center}
.detail-photo-expressfahrten>img{object-position:62% center}
.detail-photo-medizinische-transporte>img{object-position:50% center}
.detail-photo-overnight-fahrten>img{object-position:72% center}
.detail-photo .detail-number{z-index:1;color:#fff;background:#142b38c7;padding:4px 9px;top:19px;left:20px;border-radius:2px;font-size:10px}
.detail-photo-icon{position:absolute;bottom:24px;left:24px;width:63px;height:63px;display:grid;place-items:center;background:var(--yellow);border-radius:5px;box-shadow:0 6px 15px #142b3824}
.detail-photo-icon .icon{width:34px;height:34px}
.detail-photo figcaption{position:absolute;bottom:11px;right:12px;color:#fff;background:#142b3899;font-size:8px;padding:2px 5px;border-radius:2px}

.story-visual.poster-visual{height:auto;background:#fff;box-shadow:0 5px 25px #142b3808;border:1px solid var(--line)}
.poster-visual>img{width:100%;height:auto;aspect-ratio:1024/683;object-fit:contain}
.poster-visual .location-stamp{position:static;border-top:1px solid var(--line);margin:0;border-radius:0;padding:19px 24px}
.poster-visual figcaption{top:10px;bottom:auto;background:#142b38aa;font-size:8px}
.contact-poster{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;margin-top:22px}
.contact-poster>img{width:100%;height:auto;aspect-ratio:1024/683;object-fit:contain}
.contact-poster figcaption{position:absolute;right:10px;bottom:8px;color:#fff;background:#142b3899;font-size:8px;line-height:1.5;padding:2px 5px;border-radius:2px}
.reveal-pending{opacity:0;transform:translateY(14px)}
.reveal-ready{transition:opacity .55s ease,transform .55s ease}
.reveal-visible{opacity:1;transform:none}

@media(min-width:1440px){.slide-stage{height:475px}}
@media(max-width:1100px){.slide-stage{height:425px}.service-media{height:155px}.service-card-body{padding:33px 17px 22px}.night-copy{padding-left:42px;max-width:490px}.night-copy h2{font-size:39px}}
@media(max-width:880px){.slide-stage{height:404px}.slide-caption{padding:15px 17px 13px;left:17px;bottom:20px;max-width:calc(100% - 34px)}.slide-caption>strong{font-size:16px}.slide-caption>a{gap:12px;font-size:9px}.slide-caption>p{font-size:7px}.service-media{height:203px}.service-card-body{padding:34px 25px 24px}.service-card-body>p:not(.service-short){font-size:13px}.night-section{padding-top:60px}.night-banner{min-height:400px}.night-copy{max-width:420px;padding:47px 0 47px 32px}.night-copy h2{font-size:34px}.night-copy>p:not(.eyebrow){font-size:12px;max-width:330px}.night-copy .button{font-size:11px}.detail-photo{min-height:310px}}
@media(max-width:620px){.slide-stage{height:360px;max-height:89vw}.hero-slide:first-child>img{object-position:59% 47%}.slide-caption{left:18px;bottom:20px;padding:17px 20px 15px;max-width:calc(100% - 36px)}.slide-caption>strong{font-size:19px}.slide-caption>p{font-size:8px}.slide-caption>a{font-size:11px;min-height:28px;gap:24px}.slide-symbol{top:14px;right:14px}.slide-index{top:14px;left:14px}.slider-controls{padding-inline:10px}.service-media{height:225px}.service-card-body{padding:35px 22px 24px}.service-card-body>p:not(.service-short){font-size:14px;line-height:1.8;margin-top:14px;margin-bottom:23px}.service-card-body .service-short{font-size:11px}.service-card-body .service-more{font-size:12px}.service-media .service-icon{right:22px;width:48px;height:48px}.service-image-label{font-size:8px}.night-section{padding-top:46px}.night-banner{min-height:0;display:flex;flex-direction:column;background:#101f35}.night-banner::after{display:none}.night-banner>.night-photo{position:static;width:100%;height:245px;object-position:72% center;z-index:0}.night-copy{padding:32px 25px 35px;max-width:none}.night-copy h2{font-size:clamp(29px,7.7vw,40px)}.night-copy>p:not(.eyebrow){font-size:14px;max-width:450px;margin-top:20px}.night-copy .button{font-size:12px;gap:17px;padding-inline:17px;margin-top:25px}.night-symbol{top:222px;bottom:auto;font-size:8px}.detail-photo{min-height:280px;max-height:none}.detail-photo-icon{width:54px;height:54px;left:20px;bottom:20px}.detail-photo-icon .icon{width:29px;height:29px}.poster-visual .location-stamp{padding:17px 20px}.contact-poster{margin-top:19px}.contact-poster figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-slide.is-active>img,.hero-slide.is-active .slide-caption{animation:none}.service-card:hover .service-media>img{transform:none}.reveal-pending{opacity:1;transform:none}.reveal-ready{transition:none}}
@media print{.reveal-pending{opacity:1;transform:none}.slider-controls,.night-symbol{display:none!important}.night-copy{color:#142b38}.night-copy h2 span{color:#142b38}.night-copy>p:not(.eyebrow){color:#142b38}}
