/* A native-scroll, three-scene opening. Each crossing has a clear stage. */
.opening-water,.opening-dark,.opening-bank,.opening-cue{display:none}
.opening-pains{margin-top:24px}.opening-pains p{padding:15px 0;border-bottom:1px solid var(--line)}.opening-pains b,.opening-pains span{display:block}.opening-pains b{font-size:15px;font-weight:500;line-height:1.4}.opening-pains span{font-size:12px;color:var(--muted);margin-top:5px}.opening-barrier{font-size:12px!important;line-height:1.7!important;color:var(--muted)}
.opening-ready #opening-journey{height:calc(var(--scene-height)*3.35);position:relative}
.opening-ready .opening-stage{position:sticky;top:0;height:var(--scene-height);overflow:hidden;background:#eff5ee}
.opening-ready .opening-water,.opening-ready .opening-dark{display:block;position:absolute;inset:0;pointer-events:none}
.opening-ready .opening-water{background:linear-gradient(90deg,#f0f6eeec 0%,#edf5ebbb 38%,#edf5eb20 75%),url('assets/pond.png') 60% 50%/cover}
.opening-ready .opening-dark{background:linear-gradient(90deg,#103b30f5 15%,#103b30b0 65%,#103b3060),url('assets/pond.png') 65% 50%/cover;opacity:0;transition:opacity 900ms ease}
.opening-ready .opening-stage[data-state="2"] .opening-dark{opacity:1}
.opening-ready #opening-journey .chapter{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;background:none;border:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 120ms ease,visibility 120ms}
.opening-ready #opening-journey .chapter.scene-current{opacity:1;visibility:visible;pointer-events:auto}
.opening-ready #opening-journey .hero-water,.opening-ready #opening-journey .hero-stage,.opening-ready #opening-journey .friction-scene,.opening-ready #opening-journey .possibility-water,.opening-ready #opening-journey .leap-scene,.opening-ready #opening-journey .scroll-cue{display:none}
.opening-ready #opening-journey .section-wrap{width:100%;margin:0;padding:0;display:block;position:static}
.opening-ready #home .hero-content{margin:0 0 0 5.3%;width:54%;max-width:720px;padding:clamp(100px,14vh,150px) 0 0}
.opening-ready #home h1{font-size:clamp(46px,5.2vw,80px);line-height:1.06;margin:22px 0}
.opening-ready #home .lead{font-size:clamp(16px,1.5vw,20px);max-width:490px}
.opening-ready #home .hero-facts{margin-top:20px}
.opening-ready #home .hero-actions{margin-top:24px;gap:22px}
.opening-ready #home .price-note{margin-top:18px}
.opening-ready #friction .section-copy{position:relative;margin-left:51%;padding-top:clamp(65px,10vh,110px);width:43%;max-width:540px}
.opening-ready #friction h2{font-size:clamp(34px,3.5vw,51px);line-height:1.1}
.opening-ready #friction .section-copy>.eyebrow{margin-bottom:20px}
.opening-ready #friction .section-copy>.body-large{font-size:17px;margin-top:20px;max-width:400px}
.opening-ready #friction .section-copy>.opening-barrier{margin-top:21px;max-width:430px}
.opening-ready #first-leap .section-copy{position:relative;margin-left:5.3%;padding-top:clamp(85px,13vh,145px);width:51%;max-width:640px;color:#e8efdf}
.opening-ready #first-leap h2{font-size:clamp(38px,4.2vw,64px)}
.opening-ready #first-leap .section-copy>p:not(.eyebrow){max-width:470px}
.opening-ready .opening-bank{display:block;position:absolute;top:75%;width:0;height:0;pointer-events:none;z-index:2}
.opening-ready .bank-left{left:23%}.opening-ready .bank-right{left:79%}
.opening-ready .opening-bank .pad-dock{left:0;top:0;width:290px;height:100px}
.opening-ready .opening-cue{display:flex;position:absolute;bottom:26px;left:5.3%;right:5.3%;align-items:center;justify-content:space-between;font-size:10px;color:#607c65;letter-spacing:.025em;z-index:4}
.opening-ready .opening-cue>span:first-child{letter-spacing:.15em;font-size:9px}
.opening-ready .opening-stage[data-state="2"] .opening-cue{color:#bed1b4}
.opening-ready .opening-bank{opacity:.68;transition:opacity .35s}.opening-ready .opening-bank.bank-occupied{opacity:1}
/* A thin leaf touches the water; shadows belong to the pad, never hover under the sprite. */
#opening-journey .pad-dock .lily-pad{top:28%;height:44%;transform:rotate(-4deg);border-radius:50%;background:repeating-conic-gradient(from 8deg at 48% 50%,transparent 0deg 38deg,#c8d9a52a 39deg 40deg,transparent 41deg 58deg),radial-gradient(ellipse at 45% 35%,#a5bb78,#74965b 55%,#4f7849);box-shadow:inset 0 1px 1px #dfedb975,inset 0 -1px 1px #345c3950;clip-path:polygon(0 0,100% 0,100% 23%,54% 53%,100% 41%,100% 100%,0 100%)}
#opening-journey .pad-dock:before{content:'';position:absolute;left:1%;right:1%;top:55%;height:20%;border-radius:50%;background:#163e3038;filter:blur(4px);transform:rotate(-4deg);opacity:.55}
#opening-journey .pad-dock:after{content:'';position:absolute;left:26%;width:48%;top:42%;height:12%;border-radius:50%;background:#173c2a55;filter:blur(3px);z-index:3;opacity:0;transition:opacity .12s}
#opening-journey .pad-dock.has-frog:after{opacity:.7}
#opening-journey .water-ring{inset:18% -13% 11%;border-color:#7e9b7030;box-shadow:none;opacity:.35;transform:scale(1)}
#opening-journey .water-ring.second{display:none}
#opening-journey .pad-dock.landed .lily-pad{animation:leaf-settle 580ms ease-out}
#opening-journey .pad-dock.landed .water-ring{animation:water-settle 1100ms ease-out}
@keyframes leaf-settle{0%{transform:rotate(-4deg) translateY(0)}35%{transform:rotate(-3deg) translateY(2px) scaleY(.96)}100%{transform:rotate(-4deg) translateY(0)}}
@keyframes water-settle{0%{opacity:.4;transform:scale(.95)}100%{opacity:0;transform:scale(1.22)}}
#traveler .frog-front{position:absolute;inset:0;background:url('assets/frog-front-blink.png') 0% 50%/200% 100% no-repeat;display:none;transform-origin:50% 86%;transform:translateY(-6%) scale(.82)}
#traveler .frog-eyelids{position:absolute;inset:0;background:url('assets/frog-front-blink.png') 100% 50%/200% 100% no-repeat;opacity:0;mask-image:linear-gradient(#000 0 38%,transparent 43%);-webkit-mask-image:linear-gradient(#000 0 38%,transparent 43%)}
#traveler[data-facing="front"] .frog-front{display:block}
#traveler[data-facing="front"] .frog-sprite{display:none}
#traveler[data-blink="true"] .frog-eyelids{opacity:1}
#traveler .frog-sprite{filter:none}
#traveler[data-opening="true"] .frog-shadow{display:none}
#traveler[data-opening="true"]{transition:none}
@media(min-width:761px) and (max-width:1100px){
 .opening-ready #home h1{font-size:58px}.opening-ready #home .hero-content{padding-top:115px;width:55%}.opening-ready #home .hero-actions{gap:12px}.opening-ready #home .hero-actions .button{padding:16px 20px}
 .opening-ready #friction .section-copy{padding-top:58px;width:44%}.opening-ready #friction h2{font-size:38px}.opening-pains{margin-top:15px}.opening-pains p{padding:12px 0}.opening-pains b{font-size:14px}.opening-pains span{font-size:11px}
 .opening-ready #first-leap .section-copy{padding-top:85px;width:53%}.opening-ready #first-leap h2{font-size:42px}.opening-ready #first-leap .section-copy>p:not(.eyebrow){font-size:14px}.opening-ready #first-leap .section-copy>.body-large{font-size:17px}
 .opening-ready .opening-bank .pad-dock{width:260px;height:90px}
}
@media(max-width:760px){
 .opening-ready #opening-journey{height:calc(var(--scene-height)*3.1)}
 .opening-ready #home .hero-content{padding-top:85px;margin-left:22px;width:calc(100% - 44px)}
 .opening-ready #home h1{font-size:clamp(35px,10vw,46px);line-height:1.05;margin:14px 0 15px}.opening-ready #home h1 br:first-child{display:none}
 .opening-ready #home .lead{font-size:14px;line-height:1.6;max-width:470px}.opening-ready #home .hero-facts{font-size:9px;margin-top:14px}
 .opening-ready #home .hero-actions{margin-top:17px;gap:12px;flex-direction:row;align-items:center}.opening-ready #home .hero-actions .button{font-size:11px;padding:13px 15px}.opening-ready #home .hero-actions .text-link{font-size:10px}
 .opening-ready #home .price-note{margin-top:12px}.opening-ready #home .price-note b{font-size:18px}.opening-ready #home .price-note>span{font-size:8px}
 .opening-ready #friction .section-copy,.opening-ready #first-leap .section-copy{margin-left:22px;width:calc(100% - 44px);padding-top:42px;max-width:none}
 .opening-ready #friction h2{font-size:34px;line-height:1.08}.opening-ready #friction h2 br{display:none}.opening-ready #friction h2 .soft{display:block;margin-top:6px}
 .opening-ready #friction .section-copy>.body-large{font-size:14px;line-height:1.5;margin-top:16px}.opening-ready #friction .eyebrow{font-size:8px;margin-bottom:16px}
 .opening-ready .opening-pains{margin-top:13px}.opening-ready .opening-pains p{padding:10px 0}.opening-ready .opening-pains b{font-size:13px}.opening-ready .opening-pains span{font-size:10px;margin-top:3px}
 .opening-ready #friction .section-copy>.opening-barrier{font-size:10px!important;line-height:1.6!important;margin-top:15px}
 .opening-ready #first-leap h2{font-size:36px}.opening-ready #first-leap .section-copy>.eyebrow{font-size:8px;margin-bottom:20px}.opening-ready #first-leap .section-copy>p:not(.eyebrow){font-size:13px;margin-top:20px}.opening-ready #first-leap .section-copy>.body-large{font-size:16px}.opening-ready #first-leap .quiet-promise{padding-top:20px}
 .opening-ready .opening-bank{top:auto;bottom:90px}.opening-ready .bank-left{left:28%}.opening-ready .bank-right{left:72%}.opening-ready .opening-bank .pad-dock{width:185px;height:70px}
 .opening-ready .opening-cue{bottom:18px;left:22px;right:22px;font-size:8px}.opening-ready .opening-cue>span:first-child{font-size:7px;letter-spacing:.08em}
 .opening-ready .opening-water{background:linear-gradient(#eff5ee 30%,#eff5ee80 65%,#eff5ee20),url('assets/pond.png') 65% bottom/auto 110%}
}
@media(max-height:760px) and (min-width:761px){.opening-ready #home .hero-content{padding-top:92px}.opening-ready #home h1{font-size:50px}.opening-ready #home .hero-actions{margin-top:15px}.opening-ready #home .hero-facts{margin-top:14px}.opening-ready #friction .section-copy{padding-top:35px}.opening-ready #friction h2{font-size:33px}.opening-ready #first-leap .section-copy{padding-top:45px}.opening-ready #first-leap h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.opening-ready .opening-dark,.opening-ready #opening-journey .chapter,#traveler .frog-front,#traveler .frog-sprite{transition:none!important}}
.opening-ready .opening-water:after{content:'';position:absolute;inset:0;background:linear-gradient(270deg,#eff5eefc 0%,#eff5eef0 44%,#eff5ee00 84%);opacity:0;transition:opacity 650ms ease}
.opening-ready .opening-stage[data-state="1"] .opening-water:after{opacity:1}
.opening-ready .opening-bank{opacity:0}
.opening-ready .opening-bank.bank-occupied,.opening-ready .opening-stage.is-crossing .opening-bank{opacity:1}
.opening-ready .opening-cue{font-size:11px;font-weight:500;color:#294b36}
.opening-ready .opening-stage[data-state="2"] .opening-cue{color:#d8e6cc}
@media(max-width:760px){.opening-ready .opening-cue{font-size:8px}}
@media(max-height:760px) and (max-width:760px){
 .opening-ready #home .hero-content{padding-top:80px}.opening-ready #home h1{font-size:35px;margin:12px 0}.opening-ready #home .lead{font-size:13px}.opening-ready #home .hero-facts{margin-top:11px;font-size:8px}.opening-ready #home .hero-actions{margin-top:13px}.opening-ready #home .hero-actions .button{padding:11px 13px;font-size:10px}.opening-ready #home .hero-actions .text-link{font-size:9px}.opening-ready #home .price-note{margin-top:10px}
 .opening-ready #friction .section-copy,.opening-ready #first-leap .section-copy{padding-top:27px}.opening-ready #friction h2{font-size:28px}.opening-ready #friction .section-copy>.body-large{font-size:12px;margin-top:12px}.opening-ready #friction .section-copy>.eyebrow{margin-bottom:12px}.opening-ready .opening-pains{margin-top:8px}.opening-ready .opening-pains p{padding:8px 0}.opening-ready .opening-pains b{font-size:12px}.opening-ready .opening-pains span{font-size:9px}.opening-ready #friction .section-copy>.opening-barrier{font-size:9px!important;margin-top:12px}
 .opening-ready #first-leap h2{font-size:30px}.opening-ready #first-leap .section-copy>p:not(.eyebrow){font-size:12px;margin-top:15px}.opening-ready #first-leap .section-copy>.body-large{font-size:14px}.opening-ready #first-leap .quiet-promise{padding-top:15px}
 .opening-ready .opening-bank{bottom:75px}.opening-ready .opening-bank .pad-dock{width:170px;height:65px}
}
.opening-ready .opening-stage.motion-paused .opening-dark,.opening-ready .opening-stage.motion-paused .opening-water:after,.opening-ready .opening-stage.motion-paused .chapter,.opening-ready .opening-stage.motion-paused .opening-bank{transition:none}
@media(max-width:360px) and (max-height:760px){.opening-ready .opening-bank{bottom:65px}}

/* Clear the departure pad before the incoming copy fades back over that side. */
.opening-ready .opening-stage.copy-returning .opening-bank:not(.bank-occupied){opacity:0;transition:none}
