/* V5.4: one continuous film, a new chapter, then the existing light section.
   Static HTML remains readable. Only the decorative background becomes sticky. */
.intro-journey{--journey-screen:max(760px,100svh);position:relative;isolation:isolate;background:#060d12}
.journey-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:#060d12}
/* GSAP pins .journey-visual together with the hero on every device (one scroll driver, no compositor/JS mismatch). */
.intro-journey.is-pinned .journey-visual{position:absolute;top:0;left:0;right:auto;bottom:auto;width:100%;height:var(--journey-screen)}
.intro-journey.is-immersive .journey-visual,.intro-journey.is-immersive .hero-media{will-change:transform;backface-visibility:hidden}
.intro-journey .hero-pin{background:transparent}
.journey-visual .hero-media{transform-origin:54% 47%}
.journey-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,#85d5c526,transparent 65%),linear-gradient(#06110a00,#06110ae0);opacity:.7}
.journey-rings{position:absolute;inset:0;display:grid;place-items:center;opacity:.24}
.journey-rings i{position:absolute;width:min(69vw,970px);aspect-ratio:1;border:1px solid #85d5c569;border-radius:50%;box-shadow:0 0 60px #85d5c50a,inset 0 0 60px #85d5c508}
.journey-rings i:nth-child(2){width:min(48vw,670px);border-color:#85d5c530}
.journey-rings i:nth-child(3){width:min(91vw,1280px);border-color:#85d5c522}
.journey-rings span{position:absolute;top:23%;left:72%;width:8px;height:8px;border-radius:50%;background:#b3f1dd;box-shadow:0 0 24px #85d5c5}
.search-bridge{position:relative;min-height:110svh;display:grid;align-items:center;padding:180px 0 260px;text-align:center;scroll-margin-top:100px}
.search-bridge:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:200px;background:linear-gradient(180deg,transparent,var(--paper));pointer-events:none}
.bridge-content{position:relative;z-index:1;max-width:1100px}
.bridge-kicker{justify-content:center;color:#afdecf;letter-spacing:.16em;margin-bottom:35px}
.search-bridge h2{font-size:clamp(64px,7.2vw,108px);font-weight:400;line-height:1.02;letter-spacing:-.065em;text-wrap:balance;color:#eeeee6;text-shadow:0 4px 35px #03080dcc}
.search-bridge h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#a9ecd9}
.bridge-description{font-size:16px;line-height:1.75;color:#d1e1d9;max-width:540px;margin:35px auto 28px;text-wrap:pretty}
.bridge-context{display:flex;align-items:center;justify-content:center;gap:18px;font:10px 'Courier New',monospace;letter-spacing:.09em;text-transform:uppercase;color:#b2cabf}
.bridge-context i{height:1px;width:50px;background:linear-gradient(90deg,#85d5c560,#b9efd1)}
.bridge-next{display:inline-flex;align-items:center;gap:25px;min-height:48px;margin-top:44px;border-bottom:1px solid #85d5c575;padding:8px 0;color:#d5f3e5;font-size:12px}
.bridge-next span{color:var(--mint);font-size:25px;transition:transform .25s}.bridge-next:hover span{transform:translateY(4px)}
.bridge-video-toggle{display:flex;margin:28px auto 0;font-size:9px;opacity:.85}
@media(min-width:1000px) and (max-height:800px){.intro-journey{--journey-screen:max(650px,100svh)}.search-bridge{padding-block:150px 220px}.search-bridge h2{font-size:clamp(62px,6.5vw,92px)}}
@media(max-width:999px){.intro-journey{--journey-screen:max(780px,100svh)}.search-bridge{min-height:100svh;padding-block:170px 200px}.search-bridge h2{font-size:clamp(54px,8.5vw,82px)}}
@media(max-width:700px){.intro-journey{--journey-screen:max(700px,100svh)}.search-bridge{min-height:95svh;padding-block:170px 180px;scroll-margin-top:120px}.search-bridge:after{height:130px}.bridge-kicker{font-size:8px;letter-spacing:.1em;margin-bottom:27px}.search-bridge h2{font-size:clamp(43px,11.5vw,66px);line-height:1.04}.bridge-description{font-size:13px;max-width:340px;margin:27px auto}.bridge-description br{display:none}.bridge-context{font-size:8px;gap:12px;letter-spacing:.035em}.bridge-context i{width:26px}.bridge-next{font-size:11px;gap:18px;margin-top:30px}.journey-rings i{width:105vw;box-shadow:none}.journey-rings i:nth-child(2){width:72vw}.journey-rings i:nth-child(3){width:143vw}}
@media(max-width:360px){.intro-journey{--journey-screen:max(690px,100svh)}.search-bridge h2{font-size:40px}}
/* No pinned background or zoom when the system/manual preference is reduced. */
.motion-reduced .intro-journey .journey-visual{position:absolute;height:100%;margin-bottom:0}
.motion-reduced .journey-rings{display:none}
.motion-reduced .search-bridge{background:linear-gradient(#07110ce8,#07110c);min-height:0;padding-block:110px 180px}
@media(prefers-reduced-motion:reduce){.intro-journey .journey-visual{position:absolute!important;height:100%;margin-bottom:0!important}.journey-rings{display:none}.search-bridge{background:linear-gradient(#07110ce8,#07110c);min-height:0;padding-block:110px 180px}.journey-visual .hero-media{transform:none!important}}

/* Hero without pause button: the scroll hint takes the centre column. */
.network-hero .hero-bottom .hero-scroll{grid-column:2}
@media(max-width:700px){.network-hero .hero-bottom{grid-template-columns:1fr}.network-hero .hero-bottom .hero-scroll{grid-column:1;justify-self:center}}
/* Mobile method: stacked cards (CSS sticky; GSAP only recedes the covered card). */
.method.is-stacked .horizontal-window{overflow:visible}
.method.is-stacked .steps{display:grid;grid-template-columns:1fr;gap:22px}
.method.is-stacked .horizontal-panel{position:sticky;top:calc(84px + var(--stack-offset,0px));background:#e9ece2;border:1px solid #b9c4b4;border-radius:18px;padding:30px 24px 34px;min-height:0;box-shadow:0 -14px 40px #10281914;will-change:transform}
.method.is-stacked .horizontal-panel:nth-child(2){--stack-offset:10px}.method.is-stacked .horizontal-panel:nth-child(3){--stack-offset:20px}.method.is-stacked .horizontal-panel:nth-child(4){--stack-offset:30px}
.method.is-stacked .horizontal-panel:last-child{margin-bottom:60px}
.motion-reduced .method.is-stacked .horizontal-panel{position:relative;top:auto;opacity:1!important;transform:none!important}
