/* Compact photo destination selector. The figure journey has its own untouched styles. */
#designlinien.themeLanding{position:relative;padding:16px clamp(16px,4vw,64px) 14px;background:var(--page-dark,#19392e);color:#fff;border-bottom:1px solid #ffffff25;overflow:hidden}
#designlinien .landingIntro{max-width:1060px;margin:0 auto 10px}
#designlinien .landingIntro h2{font:400 21px/1.2 Georgia,serif;color:#fff;margin:0}
#designlinien .landingViewport{position:relative;height:180px;max-width:1060px;margin:auto;touch-action:pan-y;perspective:1200px}
#designlinien .landingDeck{height:100%;position:relative}
#designlinien .landingScene{position:absolute;left:50%;top:0;display:block;width:78%;height:100%;border:1px solid #d5bd7e90;border-radius:7px;padding:0;overflow:hidden;box-shadow:0 5px 14px #0003;background:#243b33;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .65s ease;transform-origin:center;cursor:pointer;text-align:left}
#designlinien .landingScene::before,#designlinien .landingScene::after{content:none}
#designlinien .landingScene[data-position=center]{transform:translateX(-50%);opacity:1;z-index:3}
#designlinien .landingScene[data-position=left]{transform:translateX(-118%) scale(.86);opacity:.4;z-index:2}
#designlinien .landingScene[data-position=right]{transform:translateX(18%) scale(.86);opacity:.4;z-index:2}
#designlinien .landingScene[data-position=back]{transform:translateX(-50%) scale(.7);opacity:0;z-index:1;pointer-events:none}
#designlinien .landingScene img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 27%;border-radius:0;filter:none}
#designlinien .landingSceneCopy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 18px;background:linear-gradient(0deg,#07191be6,transparent 65%);color:#fff;text-shadow:0 1px 3px #000}
#designlinien .landingSceneCopy small,#designlinien .landingSceneCopy>span{display:none}
#designlinien .landingSceneCopy strong{font:400 30px/1.1 Georgia,serif;margin:0;color:#fff}
#designlinien .landingScene:not([data-position=center]) .landingSceneCopy{display:none}
#designlinien .landingArrow{top:calc(50% - 18px);z-index:4;font:27px/1 Georgia,serif}
#designlinien #landingPrev{left:0}#designlinien #landingNext{right:0}
#designlinien .landingFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:1060px;margin:9px auto 0;flex-wrap:nowrap}
#designlinien .landingStops{display:flex;gap:0;flex-shrink:0}
#designlinien .landingStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#designlinien .landingScene:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Important rules in the same layer override shared action-button sizing and positioning. */
@layer action-controls{
 #designlinien .landingArrow[data-button-role]{position:absolute!important;display:grid!important;place-items:center!important;width:32px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid #d5bd7e90!important;border-radius:5px!important;background:#122c25df!important;color:#fff!important;box-shadow:none!important}
 #designlinien .landingStops button[data-button-role]{display:grid!important;place-items:center!important;width:24px!important;height:34px!important;min-height:34px!important;padding:0!important;border:0!important;background:transparent!important;border-radius:4px!important;box-shadow:none!important}
 #designlinien .landingStops button::after{content:'';width:6px;height:6px;border:1px solid #dce5e1;border-radius:50%;background:transparent}
 #designlinien .landingStops button[aria-pressed=true]::after{background:#fff;box-shadow:0 0 0 2px #ffffff25}
 #designlinien button[data-button-role]:focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}
}
@media(max-width:700px){#designlinien.themeLanding{padding:12px 14px 12px}#designlinien .landingIntro{margin-bottom:8px}#designlinien .landingIntro h2{font-size:19px}#designlinien .landingViewport{height:136px}#designlinien .landingScene{width:82%}#designlinien .landingSceneCopy{padding:10px 14px}#designlinien .landingSceneCopy strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){#designlinien .landingScene{transition:none}}
/* Four quiet station dots; the active ring shows the 5-second departure countdown. */
#designlinien .landingFooter{justify-content:center;margin-top:7px}
#designlinien .landingProgress{position:absolute;inset:3px;width:28px;height:28px;transform:rotate(-90deg);pointer-events:none;overflow:visible}
#designlinien .landingProgress circle{fill:none;stroke:#dfc58b;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:62.832;stroke-dashoffset:62.832}
#designlinien [data-landing-stop][aria-pressed=true] .landingProgress circle{animation:landingCountdown 5s linear both;animation-play-state:paused}
#designlinien[data-running=true] [data-landing-stop][aria-pressed=true] .landingProgress circle{animation-play-state:running}
@keyframes landingCountdown{to{stroke-dashoffset:0}}
@layer action-controls{
 #designlinien .landingStops button[data-button-role]{position:relative!important;width:34px!important;height:34px!important;padding:0!important;min-height:34px!important}
 #designlinien .landingStops button::after{width:5px;height:5px}
 #designlinien .landingStops button[aria-pressed=true]::after{box-shadow:none}
}
@media(prefers-reduced-motion:reduce){#designlinien [data-landing-stop][aria-pressed=true] .landingProgress circle{animation:none;stroke-dashoffset:0}}
