/* Frames follow source-image proportions, without photographic filler.
   No selectors target the figure journey or train. */
#designlinien.themeLanding{--landing-width:clamp(260px,34vw,360px);--landing-ratio:1}
#designlinien .landingViewport{height:calc(var(--landing-width) / var(--landing-ratio));transition:height .65s cubic-bezier(.2,.7,.2,1)}
#designlinien .landingScene{height:100%;width:auto;aspect-ratio:1;isolation:isolate}
#designlinien .landingScene::before{content:none}
#designlinien .landingScene img{object-fit:contain;object-position:center;width:100%;height:100%;padding:0;background:transparent}
#designlinien .landingScene[data-line-choice="klassik"] img{object-fit:cover;object-position:right center}
#designlinien .landingSceneCopy{padding:10px 14px;background:linear-gradient(0deg,#07191bd9,transparent 30%);pointer-events:none}
#designlinien .landingSceneCopy strong{font-size:23px}
body[data-line] .heroPhoto{min-height:0;aspect-ratio:1;align-self:center;background:var(--page-dark,#19392e)}
body[data-line] .heroPhoto>img{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal}
#katalog .productImage.generatedImage{aspect-ratio:1;height:auto}
#katalog .productImage.generatedImage img{width:100%;height:100%;object-fit:contain;object-position:center}
#detail .detailImage.generatedImage img{object-fit:contain;object-position:center;width:100%;height:100%}
@media(max-width:700px){#designlinien.themeLanding{--landing-width:min(76vw,300px)}#designlinien .landingSceneCopy strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){#designlinien .landingViewport{transition:none}}
