/* Entdeckung / sunrise topography. All ornament stays behind the shop content. */
body.has-topography{background:#fafbf8}
.has-topography #main{position:relative;isolation:isolate}
.has-topography #main::before,.has-topography :is(.duo-offer,.light-film,.catalogue-band__link,.bundle-message,.site-footer)::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 background:url('topography.svg') 50% 0/1200px 1200px repeat;opacity:var(--topo-strength,.16);
}
.has-topography #main::before{mask-image:linear-gradient(90deg,#000,transparent 43%,transparent 57%,#000)}
.has-topography :is(.duo-offer,.light-film,.catalogue-band__link,.bundle-message,.site-footer){position:relative;isolation:isolate}
.has-topography :is(.duo-offer,.light-film)::before{background-position:20% 35%;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.has-topography .site-footer::before{filter:brightness(0) invert(1);opacity:calc(var(--topo-strength,.16) * .7);mask-image:linear-gradient(110deg,transparent 20%,#000)}
.has-topography .trail-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('topography.svg') 80% 50%/1400px;filter:brightness(0) invert(1);opacity:calc(var(--topo-strength,.16) * .8);mask-image:linear-gradient(90deg,#000,transparent 30%,transparent 70%,#000);transform:translateY(calc(var(--hero-progress,0) * -35px)) scale(1.08)}
.has-topography .catalogue-band__link{border-color:#c7cec2;background-color:#eef1e9;overflow:hidden}
.has-topography .catalogue-band__link::before{background-size:900px;background-position:65% 35%;opacity:calc(var(--topo-strength,.16) * 1.5)}
.has-topography .catalogue-band__book{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.has-topography .catalogue-band__link:hover .catalogue-band__book{transform:rotate(-2deg) translateY(-4px)}

/* One short, scroll-driven landscape chapter. Normal document flow is the fallback. */
.terrain-story{position:relative;background:#121e1d;color:#f5f1e5;isolation:isolate}
.terrain-stage{position:relative;overflow:hidden;min-height:710px;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:center;gap:0;padding:68px var(--gutter) 75px;background:radial-gradient(ellipse at 84% 31%,#6d422235,transparent 56%),#121e1d}
.terrain-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:url('topography.svg') 50% 50%/1600px;filter:brightness(0) invert(1);opacity:.08;mask-image:linear-gradient(110deg,transparent 22%,#000)}
.terrain-kicker{position:absolute;top:27px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;border-bottom:1px solid #ffffff20;padding-bottom:14px;font:10px/1.4 monospace;letter-spacing:.12em;color:#b7c4bc}
.terrain-kicker>span:first-child{color:#f99e6b}
.terrain-copy{position:relative;z-index:2;max-width:440px;padding:32px 0}
.terrain-copy .eyebrow{font-size:9px;letter-spacing:.15em;color:#c3d0c6;margin-bottom:22px}
.terrain-copy h2{font:700 clamp(66px,6.9vw,108px)/.94 var(--font-display);letter-spacing:-.015em;margin:0 0 28px}
.terrain-copy h2 span{color:#efa56f}
.terrain-copy>p:not(.eyebrow){max-width:360px;font-size:13px;line-height:1.9;color:#c1ccc7}
.terrain-copy .button{margin:14px 0 0;border:1px solid #d9e3d052;background:transparent;color:#f5f1e5;font-size:12px;gap:27px}
.terrain-copy .button:hover{background:#f5f1e5;color:#15211d}
.terrain-view{position:relative;width:100%;aspect-ratio:1.08;min-width:0;align-self:center;margin-top:18px;isolation:isolate}
.terrain-view::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 56% 48%,#de905d20,transparent 64%);pointer-events:none}
.terrain-canvas,.terrain-route,.terrain-fallback{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.terrain-fallback{object-fit:cover;filter:sepia(.3) brightness(1.6);opacity:.55;transform:perspective(650px) rotateX(32deg) rotateZ(-14deg) scale(.85)}
.terrain-view.is-rendered .terrain-fallback{visibility:hidden}
.terrain-route{overflow:visible;opacity:0;transition:opacity .25s}
.terrain-view.is-rendered .terrain-route{opacity:1}
.terrain-route__shadow{fill:none;stroke:#ff7627;stroke-width:7;opacity:.24;stroke-linejoin:round;stroke-linecap:round;filter:blur(4px)}
.terrain-route__line{fill:none;stroke:#ffc181;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.terrain-route circle{fill:#fff1d8;stroke:#dc7c41;stroke-width:4}
.terrain-map-label{position:absolute;bottom:9%;left:10%;font:9px/1.5 monospace;letter-spacing:.14em;color:#acbfb3}
.terrain-map-label::before{content:"+";color:#ef9c66;font-size:17px;margin-right:9px}
.terrain-compass{position:absolute;top:7%;right:4%;font:11px monospace;color:#b4c4b8;display:grid;justify-items:center;gap:7px}
.terrain-compass::after{content:"";width:1px;height:32px;background:linear-gradient(#edab76 50%,#819689 50%);transform:rotate(23deg)}
.terrain-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;display:flex;align-items:center;gap:24px;font:9px/1.5 monospace;letter-spacing:.1em;color:#aabcaf;border-top:1px solid #ffffff20;padding-top:15px}
.terrain-foot__track{flex:1;height:1px;background:#ffffff20;position:relative}
.terrain-foot__track::after{content:"";position:absolute;inset:0;background:#ecaa76;transform-origin:left;transform:scaleX(var(--terrain-progress,.5))}
.terrain-foot>span:last-child{color:#ecc6a4}
.terrain-memory{position:absolute;right:var(--gutter);bottom:92px;width:105px;aspect-ratio:4/5;object-fit:cover;border:4px solid #f1f0e5;transform:rotate(6deg);box-shadow:0 12px 24px #0005;z-index:2}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 .topography-motion .terrain-story:not(.is-static){height:150svh;min-height:1000px}
 .topography-motion .terrain-story:not(.is-static) .terrain-stage{position:sticky;top:0;height:100svh;min-height:650px;max-height:1000px}
 .topography-motion .terrain-copy{transform:translateY(calc((.5 - var(--terrain-progress,.5)) * 24px))}
 .topography-motion .terrain-memory{transform:rotate(calc(7deg - var(--terrain-progress,.5) * 5deg)) translateY(calc((.5 - var(--terrain-progress,.5)) * 35px))}
}
@media(max-width:900px){
 .terrain-stage{padding:78px 30px 74px;min-height:660px;grid-template-columns:1fr 1fr}
 .terrain-copy h2{font-size:clamp(57px,8vw,78px)}.terrain-view{width:120%;margin-left:-10%}
 .terrain-memory{width:78px;bottom:95px}
 .terrain-kicker{font-size:8px}.terrain-foot{font-size:8px;gap:13px}
}
@media(max-width:600px){
 .has-topography #main::before{background-size:750px 750px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
 .has-topography .trail-hero::after{background-size:950px}
 .terrain-stage{display:flex;flex-direction:column;align-items:stretch;padding:78px 25px 66px;min-height:0;gap:0}
 .terrain-kicker{top:24px;left:25px;right:25px;font-size:7px;letter-spacing:.06em}
 .terrain-copy{padding:0;max-width:none}.terrain-copy .eyebrow{font-size:8px;margin-bottom:18px}
 .terrain-copy h2{font-size:64px;margin-bottom:18px;line-height:.96}
 .terrain-copy h2 br{display:none}.terrain-copy h2 span{display:block}
 .terrain-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;max-width:34ch}
 .terrain-copy .button{margin-top:8px;min-height:49px;font-size:11px;gap:19px}
 .terrain-view{width:calc(100% + 36px);margin:0 -18px;aspect-ratio:1.18;max-height:350px}
 .terrain-map-label{font-size:7px;bottom:6%;left:7%}.terrain-compass{top:12%;right:8%;font-size:9px}
 .terrain-foot{left:25px;right:25px;bottom:20px;gap:12px;font-size:7px;letter-spacing:.04em}
 .terrain-memory{width:65px;right:28px;bottom:81px;border-width:3px}
}
@media(prefers-reduced-motion:reduce){.terrain-route,.catalogue-band__book{transition:none}.has-topography .trail-hero::after{transform:none}}
@media print{.terrain-story,.terrain-stage{height:auto;min-height:0;position:static}.terrain-view{display:none}}
@media print,(forced-colors:active){.has-topography #main::before,.has-topography :is(.duo-offer,.light-film,.catalogue-band__link,.bundle-message,.site-footer)::before,.has-topography .trail-hero::after,.terrain-stage::before{display:none}}
