/* v7.5 · Eine gemeinsame Bildreise für alle Bildschirmgrössen. Native SVG-/Scrollbewegung, ohne zusätzliche Bibliothek. */
body.ct-home #ct-main { position: relative; --ct-content-inset: clamp(1rem, 1.7vw, 1.5rem); }

/* Mehr Luft zur Reiselinie: nur die linke Inhaltskante rückt ein.
   Bestehende Breiten, rechte Ränder und Sticky-Scrollcontainer bleiben erhalten. */
body.ct-home #ct-main > * > .ct-shell,
body.ct-home #ct-main .ct-strip__head,
body.ct-home #ct-main .ct-strip__navigation,
body.ct-home #ct-main .ct-strip__empty { padding-inline-start: var(--ct-content-inset); }
body.ct-home #ct-main .ct-strip__track {
	padding-inline-start: calc(max(1.5rem, calc(50vw - var(--shell) / 2)) + var(--ct-content-inset));
	scroll-padding-inline-start: calc(max(1.5rem, calc(50vw - var(--shell) / 2)) + var(--ct-content-inset));
}

/* Hintergrund < Reiselinie < Inhalt: Fotos und Texte liegen immer vor der Route.
   Die Galerie liegt als ganze, deckende Fläche vor der Linie; die übrigen
   Abschnittshintergründe bleiben dahinter, damit die Route dort sichtbar bleibt.
   Kein overflow/transform an der Bildreise: ihr bestehendes Sticky-Verhalten bleibt erhalten. */
body.ct-home #ct-main > :not(.ct-hero) > .ct-shell,
body.ct-home #ct-main > .ct-strip { position: relative; z-index: 2; }
.ct-journey-line { display: none; position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: clip; }
[data-journey].is-enhanced > .ct-journey-line { display: block; }
body.ct-home .ct-journey-line svg { display: block; width: 100%; height: 100%; max-width: none; }
.ct-journey-line path { fill: none; vector-effect: non-scaling-stroke; }
.ct-journey-line__track { stroke: #a995754d; stroke-width: 1; stroke-dasharray: 2 9; }
.ct-journey-line__progress { stroke: #b7654999; stroke-width: 1.6; }
.ct-journey-line__traveller { fill: #a3271ecc; stroke: #f7f5f0; stroke-width: 1.5; }
.ct-journey-line__stop { opacity: .75; }
.ct-journey-rail { overflow: hidden; max-width: calc(100% - 3rem); position: fixed; z-index: 15; bottom: 1rem; left: 1.5rem; display: flex; align-items: center; gap: .65rem; padding: .7rem 1rem; color: var(--ink); border: 1px solid #d7cfc0; border-radius: 3rem; background: #f7f5f0f5; box-shadow: 0 4px 24px #1b1e2410; font-size: .72rem; pointer-events: none; }
.ct-journey-rail::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--seal); transform-origin: left; transform: scaleX(var(--ct-route-progress, 0)); }
.ct-journey-rail__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--seal); }
.ct-journey-rail [data-journey-number] { color: var(--seal); font-variant-numeric: tabular-nums; }
.ct-journey-rail__label { color: #6b6b60; border-left: 1px solid var(--line); padding-left: .65rem; font-size: .63rem; }

/* v7.5: Gewünschten Hintergrund-Hero aus 7.3.1 wiederherstellen.
   Die Basisregeln für das frühere separate Fotofeld werden hier explizit überschrieben. */
body.ct-home .ct-hero--cinematic { min-height: min(900px, calc(100svh - 78px)); background: #172323; border: 0; color: #f7f5f0; }
.ct-hero--cinematic .ct-hero__layout { display: block; position: static; padding-block: clamp(5rem, 10vh, 8rem) 4rem; }
.ct-hero--cinematic .ct-hero__intro { max-width: 690px; padding: 0; }
.ct-hero--cinematic .ct-hero__visual-meta { display: contents; }
.ct-hero--cinematic .ct-hero__visual { position: absolute; inset: 0; padding: 0; margin: 0; z-index: 0; }
.ct-hero--cinematic .ct-hero__frame { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; background: #172323; transform: translate3d(0, var(--hero-shift, 0px), 0) scale(1.12); }
body.ct-home .ct-hero--cinematic .ct-hero__photo { object-fit: cover; object-position: 64% 55%; transform: scale(1.055); }
.ct-hero--cinematic .ct-hero__frame::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #071410e8 0%, #0c1913ba 30%, #0f1b1540 67%, #0c191320 100%), linear-gradient(0deg, #101c17c9, transparent 48%); }
body.ct-home .ct-hero--cinematic .ct-hero__eyebrow { color: #f3e9d5; max-width: none; font-size: .65rem; letter-spacing: .16em; margin-bottom: 1.6rem; }
body.ct-home .ct-hero--cinematic .ct-hero__title { color: #fffdf7; font-size: clamp(4.2rem, 7.1vw, 7rem); line-height: 1.01; letter-spacing: -.055em; text-shadow: 0 2px 30px #0b1b1640; }
body.ct-home .ct-hero--cinematic .ct-hero__title em { color: #eeddb7; }
.ct-hero--cinematic .ct-hero__slogan { color: #fffdf7; font-size: 1rem; margin-top: 2rem; }
.ct-hero--cinematic .ct-hero__sub { color: #e4e5dc; max-width: 29rem; font-size: .91rem; line-height: 1.8; }
.ct-hero--cinematic .ct-hero__link { color: #fffdf7; }
.ct-hero--cinematic .ct-hero__note { color: #dadbcf; margin-bottom: 2rem; }
.ct-hero--cinematic .ct-hero__signature { color: #d5d8ce; }
.ct-hero--cinematic .ct-hero__signature strong { color: #fffdf7; }
.ct-hero--cinematic .ct-hero__signature-line { background: #ffffff30; }
.ct-hero--cinematic .ct-hero__stamp { position: absolute; z-index: 3; top: 2.5rem; right: max(2rem, calc((100vw - 1280px) / 2)); color: #fff7e8; border-color: #fff7e877; background: #12221b50; transform: none; padding: 1rem .7rem; }
.ct-hero--cinematic .ct-hero__caption { position: absolute; z-index: 2; left: auto; right: max(2rem, calc((100vw - 1280px) / 2)); bottom: 9.2rem; width: 300px; min-height: 0; padding: 1.25rem 1.4rem; border: 1px solid #ffffff45; background: #12221bd9; backdrop-filter: blur(8px); box-shadow: none; color: #f5f3ea; }
.ct-hero--cinematic .ct-hero__chapter { color: #ddcba7; font-size: .62rem; }
body.ct-home .ct-hero--cinematic .ct-hero__caption h2 { color: #fffdf7; font-size: 1.7rem; }
.ct-hero--cinematic .ct-hero__caption h2 + p { color: #dedfd4; font-size: .77rem; }
.ct-hero--cinematic .ct-hero__caption a { color: #f2dfb9; border-color: #ffffff35; font-size: .8rem; }
.ct-hero--cinematic .ct-hero__caption a > span, .ct-hero--cinematic .ct-hero__caption a > span > span { color: #f5f3ea; }
.ct-hero--cinematic .ct-hero__choices { position: absolute; left: auto; right: max(2rem, calc((100vw - 1280px) / 2)); bottom: 2.4rem; width: 330px; gap: .5rem; z-index: 3; }
.ct-hero--cinematic .ct-hero__choices button { min-height: 86px; color: #f2f0e5; background: #102019bd; border: 1px solid #ffffff45; border-radius: 3px; font-size: .7rem; }
body.ct-home .ct-hero--cinematic .ct-hero__choices img { width: 64px; height: 39px; }
.ct-hero--cinematic .ct-hero__choices button[aria-pressed="true"] { color: #f7e4be; border-color: #e5d2a7; background: #14261fed; }
.ct-hero--cinematic .ct-hero__choices button:hover { background: #2e4037; }
.ct-hero--cinematic :focus-visible { outline-color: #f1dbad; }
.ct-hero--cinematic .ct-hero__load-status:empty { display: none; }
.ct-hero--cinematic .ct-hero__load-status:not(:empty) { position: absolute; z-index: 3; top: auto; bottom: .5rem; left: auto; right: 2rem; width: 330px; margin: 0; color: #fff8e9; font-size: .65rem; background: #16261ff0; }

/* Die Bildreise: eine stehende Bildfläche und vier frei scrollbare Stationen. */
.ct-story { --story-drift: 0; --story-progress: 0; padding-block: 6.5rem 3rem; background: #ebe8de; }
.ct-story__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 4rem; }
body.ct-home .ct-story__head h2 { font-size: clamp(3rem, 5.2vw, 5.2rem); line-height: 1.06; letter-spacing: -.04em; }
.ct-story__head h2 em { color: var(--seal); }
.ct-story__head > p { max-width: 25rem; margin: 0 0 .5rem; font-size: .93rem; line-height: 1.8; }
.ct-story__layout { display: grid; grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr); gap: clamp(3rem, 6vw, 6rem); align-items: start; }
.ct-story__stage { position: sticky; top: 7rem; min-width: 0; }
.ct-story__screen { position: relative; overflow: hidden; background: #17251f; aspect-ratio: 1.17; max-height: calc(100svh - 13rem); box-shadow: 0 25px 55px #202b221c; border-radius: 2px; }
.ct-story__scene { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .75s ease, visibility .75s; }
.ct-story__scene.is-active { opacity: 1; visibility: visible; z-index: 1; }
body.ct-home .ct-story__photo { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08) translate3d(0, calc(var(--story-drift) * -18px), 0); }
.ct-story__scene::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #0a1816e6 0%, #11231b33 40%, transparent 70%); }
.ct-story__postcard { position: absolute; z-index: 2; top: 14%; right: 5%; width: 29%; padding: 5px 5px 8px; background: #f7f3e7; box-shadow: 0 8px 25px #081b1a55; transform: translateY(calc(var(--story-drift) * 10px)) rotate(5deg); }
body.ct-home .ct-story__postcard img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.ct-story__postcard span { display: block; padding: .35rem .15rem 0; color: #4f594d; font-family: var(--font-display); font-style: italic; font-size: clamp(.55rem, 1vw, .8rem); line-height: 1.2; }
.ct-story__scene figcaption { position: absolute; z-index: 2; inset: auto 2rem 2rem; display: grid; gap: .55rem; color: #fdf9ed; }
.ct-story__scene figcaption > span:first-child { font-size: .71rem; letter-spacing: .12em; }
.ct-story__scene figcaption strong { font-family: var(--font-display); font-size: clamp(1.8rem, 2.5vw, 2.8rem); line-height: 1.1; font-weight: 400; }
.ct-story__scene figcaption > span:last-child { color: #e2dbc8; font-size: .6rem; text-transform: uppercase; letter-spacing: .1em; }
.ct-story__frame-label { position: absolute; z-index: 2; top: 1.5rem; left: 1.5rem; color: #fffdf7; padding: .4rem .65rem; background: #14271fa6; border: 1px solid #ffffff50; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.ct-story__choices { display: none; position: relative; width: 100%; margin: 1rem 0 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; border-top: 1px solid #c9c2b2; }
.ct-story.is-enhanced .ct-story__choices { display: grid; }
.ct-story__choices::before { content: ''; position: absolute; height: 2px; width: 100%; top: -1px; left: 0; background: var(--seal); transform-origin: left; transform: scaleX(var(--story-progress)); }
.ct-story__choices button { min-height: 54px; border: 0; color: #66685f; background: transparent; font-family: var(--font-body); font-size: .7rem; text-align: left; cursor: pointer; }
.ct-story__choices button span { display: block; font-size: .6rem; margin-bottom: .1rem; color: #7d7463; }
.ct-story__choices button[aria-pressed="true"] { color: var(--seal); font-weight: 600; }
.ct-story__choices button:hover { color: var(--ink); }
.ct-story__step { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 76svh; padding-block: 4rem; position: relative; }
.ct-story__step + .ct-story__step { border-top: 1px solid #cdc5b6; }
.ct-story__number { display: flex; align-items: center; gap: .8rem; font-size: .65rem; letter-spacing: .09em; text-transform: uppercase; color: #646a60; margin: 0 0 1.8rem; }
.ct-story__number span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #b3ae9f; border-radius: 50%; font-size: .65rem; color: var(--seal); transition: background .3s, color .3s; }
.ct-story__step.is-active .ct-story__number span { background: var(--seal); border-color: var(--seal); color: #fffdf7; }
body.ct-home .ct-story__step h3 { font-size: clamp(2.25rem, 3.3vw, 3.3rem); line-height: 1.1; letter-spacing: -.04em; }
.ct-story__step > p:not(.ct-story__number) { max-width: 28rem; font-size: .94rem; line-height: 1.85; margin: 1.5rem 0; }
.ct-story__step > a { color: var(--seal); font-size: .78rem; text-decoration: none; border-bottom: 1px solid #b28d78; padding-block: .65rem; min-height: 44px; display: inline-flex; gap: .9rem; align-items: center; }
.ct-story__step > a:hover { border-color: var(--seal); }
.ct-story__outro { font-size: .76rem; color: #60675e; padding-top: 2rem; }
.ct-story__outro > span { margin-right: 1rem; font-size: 1.5rem; color: var(--seal); }
.ct-story__outro a { color: var(--seal); text-underline-offset: 4px; }
/* Ohne Skript werden alle eigenen Fotos gezeigt, ohne lange Scrollstrecke. */
.ct-story:not(.is-enhanced) .ct-story__stage { position: static; }
.ct-story:not(.is-enhanced) .ct-story__screen { display: grid; grid-template-columns: 1fr 1fr; aspect-ratio: auto; max-height: none; gap: .5rem; background: transparent; box-shadow: none; }
.ct-story:not(.is-enhanced) .ct-story__scene { position: relative; aspect-ratio: 3 / 4; opacity: 1; visibility: visible; }
.ct-story:not(.is-enhanced) .ct-story__scene figcaption { inset: auto 1rem 1rem; }
.ct-story:not(.is-enhanced) .ct-story__scene figcaption strong { font-size: 1.2rem; }
.ct-story:not(.is-enhanced) .ct-story__frame-label { display: none; }
.ct-story:not(.is-enhanced) .ct-story__step { min-height: 0; padding-block: 1.5rem; }

/* Eigene Aufnahmen des Potala-Palasts als Bilderpaar, in ihrer natürlichen Proportion. */

body.ct-home .ct-summit { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; min-height: 0; }
body.ct-home .ct-summit__media--potala { position: relative; overflow: visible; aspect-ratio: auto; margin: 2.5rem 1rem 4.5rem 2rem; }
.ct-summit__palace, .ct-summit__detail { margin: 0; position: relative; }
body.ct-home .ct-summit__palace > img, body.ct-home .ct-summit__detail > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.ct-summit__palace figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: .3rem .6rem; color: white; background: #14251dd9; font-size: .65rem; }
.ct-summit__detail { width: 45%; position: absolute; right: -1rem; bottom: -2.6rem; padding: .35rem; background: #f5f0e4; box-shadow: 0 12px 30px #0005; transform: rotate(4deg); }
.ct-summit__detail figcaption { padding: .3rem .2rem .1rem; color: #48584c; font-family: var(--font-display); font-size: .75rem; font-style: italic; }
body.ct-home .ct-summit__body { position: relative; width: auto; margin: 0; padding: 3rem 2.4rem; }
body.ct-home .ct-summit__title { font-size: clamp(2.5rem, 4vw, 3.7rem); }
body.ct-home .ct-tour__media { aspect-ratio: 4 / 3; }
@media (min-width: 981px) {
	body.ct-home .ct-tours__grid { gap: 1.4rem; }
}
@media (max-width: 1120px) {
	body.ct-home .ct-hero--cinematic .ct-hero__title { font-size: 5.1rem; }
	.ct-hero--cinematic .ct-hero__intro { max-width: 600px; }
	.ct-hero--cinematic .ct-hero__caption { width: 270px; right: 1.5rem; }
	.ct-hero--cinematic .ct-hero__choices { width: 285px; right: 1.5rem; }
	.ct-story__layout { gap: 3rem; }
}
/* Unterhalb der Desktop-Navigation erhalten die Bildkarten eine eigene Zeile. */
@media (max-width: 980px) {
	body.ct-home .ct-hero--cinematic { min-height: 0; }
	.ct-hero--cinematic .ct-hero__layout { padding-block: 8rem 18rem; }
	.ct-hero--cinematic .ct-hero__frame::after { background: linear-gradient(90deg, #0d1b15e6, #13251b66), linear-gradient(0deg, #102119e6, transparent 70%); }
	.ct-hero--cinematic .ct-hero__caption { left: calc(1.5rem + var(--ct-content-inset)); right: auto; bottom: 2rem; width: calc(55% - 2rem - var(--ct-content-inset)); }
	.ct-hero--cinematic .ct-hero__choices { bottom: 2rem; width: calc(45% - 2rem); }
	.ct-hero--cinematic .ct-hero__signature { display: flex; }
	.ct-hero--cinematic .ct-hero__note { margin-bottom: 0; }
	.ct-hero--cinematic .ct-hero__stamp { top: 2rem; right: 1.5rem; font-size: 1.25rem; }
}
@media (max-width: 900px) {
	.ct-story { padding-top: 4rem; }
	.ct-story__head { gap: 2rem; }
	.ct-story__head > p { max-width: 19rem; font-size: .85rem; }
	.ct-story__layout { gap: 2rem; grid-template-columns: 1fr 1fr; }

	.ct-story__step > p:not(.ct-story__number) { font-size: .85rem; }
	.ct-story__scene figcaption { inset: auto 1.25rem 1.5rem; }
	.ct-journey-rail { display: grid; grid-template-columns: 7px auto minmax(0, 1fr); gap: .15rem .6rem; left: 1rem; right: 1rem; bottom: max(.75rem, env(safe-area-inset-bottom)); max-width: none; width: auto; padding: .55rem .8rem; border-radius: .75rem; background: #f7f5f0fa; }
	.ct-journey-rail__dot { align-self: center; }
	.ct-journey-rail [data-journey-current] { min-width: 0; overflow-wrap: anywhere; }
	.ct-journey-rail__label { grid-column: 2 / -1; border: 0; padding: 0; font-size: .6rem; }
	.ct-footer { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
}
/* Eine gemeinsame Gestaltung: die Bildbühne bleibt auf allen Grössen erhalten. */
@media (max-width: 720px) {
	body.ct-home { --ct-header-height: 69px; --ct-stage-height: 280px; }
	body.ct-home .ct-header__inner { padding-block: .65rem; min-height: 68px; }
	body.ct-home .ct-hero--cinematic { display: block; min-height: 0; }
	.ct-hero--cinematic .ct-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr); width: min(100% - 3rem, var(--shell)); gap: 1.5rem; padding-block: 5.5rem 2rem; }
	.ct-hero--cinematic .ct-hero__intro { position: relative; width: 100%; max-width: none; min-height: 0; padding: 0; }
	/* Dieselbe durchgehende Fotofläche und dieselben Glaskarten wie auf dem Desktop. */
	.ct-hero--cinematic .ct-hero__visual { display: contents; }
	.ct-hero--cinematic .ct-hero__frame { position: absolute; inset: 0; width: 100%; height: 100%; }
	body.ct-home .ct-hero--cinematic .ct-hero__photo { object-position: 54% 50%; }
	.ct-hero--cinematic .ct-hero__frame::after { background: linear-gradient(90deg, #0d1b15dc, #13251b66), linear-gradient(0deg, #102119e6, transparent 75%); }
	body.ct-home .ct-hero--cinematic .ct-hero__eyebrow { max-width: 19rem; font-size: .59rem; line-height: 1.7; letter-spacing: .08em; margin-bottom: 1.5rem; }
	body.ct-home .ct-hero--cinematic .ct-hero__title { font-size: clamp(3.2rem, 12vw, 5rem); line-height: 1.02; }
	.ct-hero--cinematic .ct-hero__slogan { font-size: .9rem; margin: 1.3rem 0 .65rem; }
	.ct-hero--cinematic .ct-hero__sub { font-size: .88rem; line-height: 1.75; max-width: 31rem; margin: 0 0 1.3rem; }
	.ct-hero--cinematic .ct-hero__actions { flex-direction: column; align-items: stretch; gap: .4rem; }
	.ct-hero--cinematic .ct-hero__actions .ct-btn, .ct-hero--cinematic .ct-hero__link { justify-content: center; font-size: .85rem; min-height: 48px; }
	.ct-hero--cinematic .ct-hero__note { font-size: .67rem; margin: .4rem 0 0; }
	.ct-hero--cinematic .ct-hero__stamp { display: grid; top: .8rem; right: 1.5rem; padding: .4rem; font-size: 1.05rem; }
	.ct-hero--cinematic .ct-hero__signature { display: flex; margin-top: 1.5rem; }
	.ct-hero--cinematic .ct-hero__caption { position: relative; inset: auto; width: 100%; min-height: 0; padding: 1.15rem 1.25rem; background: #12221bc7; border: 1px solid #ffffff45; backdrop-filter: blur(8px); }
	body.ct-home .ct-hero--cinematic .ct-hero__caption h2 { font-size: 1.55rem; }
	.ct-hero--cinematic .ct-hero__caption h2 + p { max-width: none; margin-block: .5rem .75rem; font-size: .8rem; }
	.ct-hero--cinematic .ct-hero__caption a { padding-top: .55rem; font-size: .84rem; }
	.ct-hero--cinematic .ct-hero__choices { position: relative; inset: auto; width: 100%; padding: 0; margin: 0; gap: .5rem; }
	.ct-hero--cinematic .ct-hero__choices button { min-height: 78px; font-size: .68rem; background: #102019bd; border-color: #ffffff45; }
	body.ct-home .ct-hero--cinematic .ct-hero__choices img { width: 58px; height: 35px; }
	.ct-hero--cinematic .ct-hero__load-status:not(:empty) { position: relative; inset: auto; width: auto; margin: 0; padding: .5rem; background: #10231bd9; color: #fff8e9; font-size: .7rem; }
	.ct-story { padding-block: 3.5rem 2rem; }
	.ct-story__head { display: block; margin-bottom: 2rem; }
	body.ct-home .ct-story__head h2 { font-size: clamp(2.65rem, 9.5vw, 4rem); }
	.ct-story__head > p { max-width: 30rem; margin-top: 1.2rem; font-size: .9rem; }
	.ct-story__layout { display: block; width: min(var(--shell), 100% - 3rem); }
	.ct-story__stage { display: block; position: sticky; top: var(--ct-header-height); z-index: 8; padding-top: .5rem; background: #ebe8de; }
	.ct-story__screen { width: min(100%, max(220px, calc((100svh - var(--ct-header-height) - 16rem) * 1.17))); margin-inline: auto; height: auto; max-height: none; aspect-ratio: 1.17; box-shadow: 0 12px 30px #202b2215; }
	.ct-story__scene figcaption { inset: auto 1rem 1rem; gap: .35rem; max-width: 70%; }
	.ct-story__scene figcaption > span:first-child { font-size: .62rem; }
	.ct-story__scene figcaption strong { font-size: clamp(1.25rem, 5vw, 1.7rem); }
	.ct-story__scene figcaption > span:last-child { display: block; font-size: .5rem; letter-spacing: .06em; }
	.ct-story__frame-label { top: .65rem; left: .65rem; font-size: .47rem; padding: .3rem .45rem; }
	.ct-story__postcard { width: 25%; top: 10%; right: 4%; padding: 3px 3px 5px; }
	.ct-story__postcard span { font-size: .52rem; padding-top: .2rem; }
	.ct-story__choices { position: relative; inset: auto; width: 100%; min-height: 52px; margin: .5rem 0 0; padding: 0; gap: .25rem; background: #ebe8de; border-top: 1px solid #c9c2b2; }
	.ct-story__choices button { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 52px; padding: .3rem 0; font-size: .7rem; text-align: center; overflow-wrap: anywhere; }
	.ct-story__choices button span { font-size: .58rem; }
	.ct-story__choices button[aria-pressed="true"] { box-shadow: inset 0 -2px var(--seal); }
	.ct-story__step { display: flex; min-height: max(18rem, calc(100svh - var(--ct-header-height) - var(--ct-stage-height))); padding: 1.5rem 0; justify-content: center; }
	.ct-story__step + .ct-story__step { border-top: 1px solid #cdc5b6; }
	.ct-story__number { margin-bottom: .9rem; font-size: .6rem; letter-spacing: .05em; gap: .65rem; }
	.ct-story__number span { flex-shrink: 0; width: 30px; height: 30px; }
	body.ct-home .ct-story__step h3 { font-size: clamp(1.9rem, 7.6vw, 2.7rem); }
	.ct-story__step > p:not(.ct-story__number) { max-width: 35rem; font-size: .9rem; line-height: 1.7; margin: .9rem 0; }
	.ct-story__step > a { font-size: .8rem; line-height: 1.5; min-height: 48px; }
	.ct-story__outro { font-size: .8rem; line-height: 1.7; padding-top: 1rem; }
	/* Bei zu wenig Lesehöhe bleibt dieselbe Bildbühne im normalen Seitenlauf. */
	.ct-story.is-stage-static .ct-story__stage { position: static; }
	/* Ohne Skript sind alle vier Fotos und die vollständigen Texte sichtbar. */
	.ct-story:not(.is-enhanced) .ct-story__stage { position: static; }
	.ct-story:not(.is-enhanced) .ct-story__screen { height: auto; }
	.ct-story:not(.is-enhanced) .ct-story__scene figcaption { max-width: none; inset: auto .6rem .6rem; }
	.ct-story:not(.is-enhanced) .ct-story__scene figcaption strong { font-size: 1rem; }
	.ct-story:not(.is-enhanced) .ct-story__postcard { display: none; }
	.ct-story:not(.is-enhanced) .ct-story__step { min-height: 0; }
	body.ct-home .ct-summit { grid-template-columns: 1fr; }
	body.ct-home .ct-summit__media--potala { margin: 1rem 1rem 3.5rem; }
	body.ct-home .ct-summit__body { padding: 1.5rem; }
	.ct-summit__detail { right: .5rem; width: 43%; }
	.ct-summit__detail figcaption { font-size: .68rem; }
}
@media (max-width: 360px) {
	.ct-story__choices { gap: 0; }
	.ct-story__choices button { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ct-hero--cinematic .ct-hero__frame { transform: none; }
	.ct-story__postcard { transform: rotate(5deg); }
	body.ct-home .ct-story__photo, body.ct-home .ct-hero--cinematic .ct-hero__photo { transform: none !important; }
	.ct-story__scene, .ct-story__number span { transition: none; }
	.ct-story__choices::before { transform: none; }
}
