/* The entrance preview is isolated from the approved HBW page styles. */
body:has(.portal-story)>header{position:absolute;top:0;left:0;right:0;z-index:30;background:#ffffffed}
.portal-story{height:410svh;position:relative;background:#17213b;isolation:isolate;--portal-sand:#e2c8a3;--portal-ink:#17213b}
.portal-stage{position:sticky;top:0;height:100svh;min-height:480px;width:100%;overflow:hidden;background:#17213b url('home-hbw-rhein-main.webp?v=rhein-main-2') center 55%/cover no-repeat;isolation:isolate}
#portal-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0;opacity:0;transition:opacity .35s ease}
.portal-story.is-ready #portal-canvas{opacity:1}
.portal-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,23,41,.28),rgba(15,23,41,.08) 45%,rgba(15,23,41,.34));opacity:var(--portal-shade-opacity,1);transition:none}
.portal-intro,.portal-arrival{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:125px 7% 105px;text-align:center;color:#fff;pointer-events:none;will-change:transform,opacity}
.portal-intro h1,.portal-arrival h2{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:clamp(46px,6.5vw,94px);line-height:1.1;letter-spacing:-2.7px;color:#fff;margin:0 0 28px;text-shadow:0 2px 30px #10182c30}
.portal-intro h1 em,.portal-arrival h2 em{font-family:Georgia,'Times New Roman',serif;font-style:normal;font-weight:400;color:#e9d4b5;font-size:1em;line-height:inherit}
.portal-intro>.eyebrow,.portal-arrival>.eyebrow{display:block;font-size:10px;letter-spacing:2.5px;font-weight:400;color:#f0e6d7;margin:0 0 26px;line-height:1.7}
.portal-intro>p:not(.eyebrow),.portal-arrival>p:not(.eyebrow){max-width:620px;margin:0;font-size:17px;line-height:1.85;color:#faf8f4;text-shadow:0 2px 18px #10182c70}
.portal-arrival{opacity:0;visibility:hidden;transform:translateY(22px)}
.portal-arrival a{pointer-events:auto;display:inline-flex;gap:24px;align-items:center;justify-content:center;font-size:12px;padding:15px 23px;border:1px solid #dbc09a;background:#e0c8a6;color:#18213c;line-height:1.4;text-shadow:none;margin-top:24px}
.portal-arrival a:hover{background:#ead8bf}
.portal-arrival a:focus-visible,.portal-controls a:focus-visible{outline:3px solid #e1c49d;outline-offset:7px}
.portal-controls{position:absolute;z-index:3;left:5%;right:5%;bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;pointer-events:none}
#portal-phase{font-family:Arial,Helvetica,sans-serif;font-size:9px;letter-spacing:2px;line-height:1.5;font-weight:400;color:#f6eee3;text-shadow:0 1px 10px #10182c80}
.portal-controls a{pointer-events:auto;font-size:10px;letter-spacing:.4px;line-height:1.4;border-bottom:1px solid #ffffff70;padding:5px 0;color:#fff;text-shadow:0 1px 10px #10182c80}
.portal-track{position:absolute;z-index:4;left:0;right:0;bottom:0;height:3px;background:#fff2;pointer-events:none}
#portal-progress{display:block;height:100%;width:0;background:#d6bd98;will-change:width}
#portal-loader{position:absolute;z-index:5;bottom:72px;left:50%;transform:translateX(-50%);max-width:85%;padding:10px 16px;color:#fff;background:#17213bbd;backdrop-filter:blur(8px);font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.35px;text-align:center;border:1px solid #ffffff26;opacity:1;transition:opacity .25s ease;pointer-events:none}
#portal-loader.is-leaving{opacity:0}
#portal-error{position:absolute;z-index:4;bottom:80px;left:50%;transform:translateX(-50%);background:#17213be8;color:#fff;max-width:min(550px,85%);padding:15px 20px;font:12px/1.7 Arial,Helvetica,sans-serif;text-align:center;border:1px solid #ffffff2b}
#portal-error a{color:#ead4b6;text-decoration:underline;text-underline-offset:3px}
#portal-error[hidden],#portal-loader[hidden]{display:none!important}
.portal-story.is-fallback{height:100svh}
.portal-story.is-fallback #portal-canvas{display:none}
.portal-story.is-fallback .portal-arrival{display:none}
#portal-content{scroll-margin-top:20px}
@media(min-width:1600px){.portal-intro h1,.portal-arrival h2{font-size:100px}}
@media(max-width:760px){.portal-story{height:380svh}.portal-stage{min-height:420px}.portal-intro,.portal-arrival{padding:100px 6% 90px}.portal-intro h1,.portal-arrival h2{font-size:clamp(38px,10vw,58px);letter-spacing:-1.6px;line-height:1.13;margin-bottom:25px}.portal-intro>.eyebrow,.portal-arrival>.eyebrow{font-size:8px;letter-spacing:1.5px;line-height:1.8;margin-bottom:22px}.portal-intro>p:not(.eyebrow),.portal-arrival>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:390px}.portal-arrival a{font-size:11px;padding:14px 18px;gap:15px}.portal-controls{left:6%;right:6%;bottom:23px;gap:16px}#portal-phase{font-size:8px;letter-spacing:1px;max-width:55%}.portal-controls a{font-size:9px;letter-spacing:0;white-space:nowrap}#portal-loader{font-size:10px;bottom:65px}#portal-error{font-size:11px;bottom:70px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-story{height:100svh}.portal-stage{position:relative}.portal-intro,.portal-arrival{will-change:auto}.portal-arrival{display:none}#portal-canvas,#portal-loader{transition:none}.portal-track{display:none}}
/* Keep the discreet controls legible over the sunlit threshold. */
.portal-controls #portal-phase,.portal-controls a{background:#16213978;backdrop-filter:blur(5px);padding:7px 10px;border:1px solid #ffffff20;text-shadow:0 1px 4px #10182c80}
html:has(.portal-story){scroll-padding-top:0}#portal-content{scroll-margin-top:0}

/* Financing headline is visible immediately, before the animation. */
.portal-intro h1{max-width:1100px;font-size:clamp(42px,5.3vw,76px);line-height:1.1;letter-spacing:-2px}.portal-intro h1>span{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(18px,2.15vw,30px);letter-spacing:-.4px;line-height:1.35;margin-bottom:15px}.portal-intro h1 em{font-family:Arial,Helvetica,sans-serif;font-weight:500;color:#fff;line-height:1.15}.portal-intro>p:not(.eyebrow){font-size:15px;max-width:550px}.portal-arrival h2{font-size:clamp(38px,5vw,70px);max-width:1000px}@media(max-width:760px){.portal-intro h1{font-size:clamp(34px,8.8vw,50px);letter-spacing:-1.2px;max-width:100%}.portal-intro h1>span{font-size:18px;max-width:100%;margin-bottom:16px;letter-spacing:-.2px}.portal-intro>p:not(.eyebrow){font-size:13px;max-width:350px}.portal-arrival h2{font-size:38px}}

body:has(.portal-story) .cinematic-divider{background-image:linear-gradient(#111a3655,#111a3699),url('home-hbw-rhein-main.webp?v=rhein-main-2')}
#portal-canvas{transition:none}

/* Only the three knowledge questions switch from navigation to disclosure. */
.feature-topics-accordion details{border-bottom:1px solid #e5ded3;padding:0}.feature-topics-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 0;font-size:15px;font-weight:400;list-style:none;cursor:pointer}.feature-topics-accordion summary::-webkit-details-marker{display:none}.feature-topics-accordion .topic-label{display:flex;align-items:baseline;gap:20px;color:inherit;font:inherit}.feature-topics-accordion .topic-number{margin:0;color:#b49b77;font-size:11px;flex:none}.feature-topics-accordion .topic-plus{margin:0;font-size:21px;line-height:1;color:#94764f;transition:transform .18s ease;flex:none}.feature-topics-accordion details[open] .topic-plus{transform:rotate(45deg)}.feature-topics-accordion .topic-answer{padding:0 0 20px 36px}.feature-topics-accordion .topic-answer p{font-size:13px;line-height:1.85;color:#657080;margin:0 0 12px;max-width:none}.feature-topics-accordion summary:focus-visible{outline:2px solid #94764f;outline-offset:5px}@media(prefers-reduced-motion:reduce){.feature-topics-accordion .topic-plus{transition:none}}
.feature-topics-accordion details[open] summary .topic-label,.feature-topics-accordion details[open] summary .topic-number{transform:none}

/* Compositor-only scroll progress; avoid full-width layout updates. */
#portal-progress{width:100%;transform:scaleX(0);transform-origin:left;will-change:transform}
