/* Natural document flow with short, independent entrance animations. */
.scroll-scene{--scene-progress:1;--enter:1;--settle:1;--exit:0;--photo-progress:1;--split-progress:1;--goal-progress:1;position:relative!important;overflow:visible!important;height:auto;min-height:0;isolation:auto}
.scroll-scene .scene-pin{position:relative;top:auto;min-height:100svh;overflow:hidden}

.hero{height:auto;min-height:0}.hero-pin{height:100svh;min-height:700px!important;isolation:isolate}.hero .copy{transform:translateY(calc(var(--exit)*-24px));opacity:calc(1 - var(--exit)*.2)}.hero .scene-meta{bottom:38px}.hero .concept{bottom:14px}.hero h1{font-size:clamp(36px,3.35vw,58px);letter-spacing:-.065em}.hero .stage{bottom:0}
.practice{display:block;padding:0;min-height:0}.practice-layout{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:9%;padding:9vh 6.1%}.practice-image{height:min(64vh,650px);transform:translateY(calc((1 - var(--photo-progress))*35px));transform-origin:center}.practice-image img{transform:scale(calc(1.22 - var(--photo-progress)*.22));transform-origin:57% 57%}.practice-copy{transform:translateY(calc((1 - var(--settle))*45px));opacity:calc(.55 + var(--settle)*.45)}.practice-goal{transform:translateX(calc((1 - var(--goal-progress))*20px))}
.chapter{min-height:0}.chapter-stage{padding-top:8vh;padding-bottom:50px;gap:30px 6%}.chapter-heading{transform:translateY(calc((1 - var(--enter))*25px));opacity:calc(.65 + var(--enter)*.35)}.chapter-foot{opacity:calc(.6 + var(--settle)*.4)}
.allocation-board{transform:perspective(1400px) translateY(calc((1 - var(--settle))*55px)) rotateY(calc((1 - var(--settle))*-11deg)) rotateZ(calc((1 - var(--settle))*2.5deg));transform-origin:50% 70%}.split-track{gap:calc(var(--split-progress)*4px)}.split-life{transform:scaleX(calc(.91 + var(--split-progress)*.09))}.split-goal{transform:translateY(calc(var(--split-progress)*-10px));box-shadow:0 calc(var(--split-progress)*9px) 0 #78914c22}.split-reserve{transform:scaleX(calc(.4 + var(--split-progress)*.6))}.goal-transfer{transform:translateY(calc((1 - var(--goal-progress))*32px)) scale(calc(.93 + var(--goal-progress)*.07));opacity:calc(.35 + var(--goal-progress)*.65)}
.arrival .chapter-stage{padding-top:7vh;padding-bottom:46px;gap:28px}.arrival-date{transform:translateX(calc((1 - var(--settle))*50px)) scale(calc(1.045 - var(--settle)*.045));transform-origin:right center}.month>i{transform:scaleY(calc(.08 + var(--bar-progress,1)*.92));transform-origin:center bottom}.month>span{opacity:calc(.35 + var(--bar-progress,1)*.65)}.month.finish>i{box-shadow:0 0 calc(var(--bar-progress,1)*25px) #d3e7b40a}
.everyday .chapter-stage{padding-top:7vh;padding-bottom:46px;gap:28px 5.5%}.product-window{transform:perspective(1400px) translateY(calc((1 - var(--enter))*45px)) rotateY(calc((1 - var(--settle))*-8deg));transform-origin:center center}.entry{transform:translateX(calc((1 - var(--entry-progress,1))*45px));opacity:calc(.12 + var(--entry-progress,1)*.88)}.product-goal{transform:translateY(calc((1 - var(--goal-progress))*25px)) scale(calc(.97 + var(--goal-progress)*.03));opacity:calc(.3 + var(--goal-progress)*.7)}.balance>.balance-value{font-size:inherit;letter-spacing:inherit;color:inherit;margin:0}.balance>span:not(.balance-value){font-size:8px;letter-spacing:0;margin-left:10px;color:#65735a}
.closing{display:block;padding:0;min-height:0}.closing-layout{padding:50px 6.1% 48px;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.closing-content{transform:translateY(calc((1 - var(--settle))*45px)) scale(calc(.96 + var(--settle)*.04));opacity:calc(.65 + var(--settle)*.35)}.closing footer{transform:translateY(calc((1 - var(--settle))*20px))}
/* Static alternatives keep the full content and remove all artificial scroll length. */
.scroll-reduced .scroll-scene{height:auto!important}.scroll-reduced .scene-pin{position:relative!important;top:auto!important}.scroll-reduced .scene-pin *{transform:none!important;opacity:1!important}
@media(max-width:1100px) and (min-width:701px){.practice-layout{gap:6%;padding:8vh 5%}.practice-image{height:60vh}.chapter-stage{padding-left:5%;padding-right:5%}}
@media(max-width:700px){
 .hero-pin{min-height:740px!important}.hero h1{font-size:27px;line-height:1.4}.hero .copy{top:103px}.hero .stage{top:34%;bottom:54px}.hero .scene-meta{bottom:27px}.hero .concept{bottom:9px}.hero .front-card{top:41%}.hero .fallback .front-card{top:41%}
 .practice-layout{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:25px;padding:40px 24px}.practice-image{height:25svh;min-height:180px;max-height:270px;flex-shrink:0}.practice-copy h2{font-size:26px;margin-bottom:15px}.practice-copy .chapter-kicker{margin-bottom:15px}.practice-copy>p:not(.chapter-kicker){font-size:10px}.practice-goal{margin-top:22px;padding:17px 0;gap:10px}.practice-goal strong{font-size:18px}.practice-copy>small{margin-top:14px}
 .chapter-stage,.arrival .chapter-stage,.everyday .chapter-stage{padding:36px 24px 28px;gap:25px;align-content:center}.chapter-heading h2,.everyday .chapter-heading h2{font-size:27px;margin-bottom:14px}.chapter-heading .chapter-kicker{margin-bottom:16px}.chapter-heading>p:not(.chapter-kicker){font-size:10px}.chapter-foot{padding-top:12px;min-height:46px}.chapter-foot a{min-height:44px}.allocation-board{transform:translateY(calc((1 - var(--settle))*35px)) rotateZ(calc((1 - var(--settle))*1deg));padding:20px 20px 16px}.income{padding-top:21px}.goal-transfer{margin-top:22px}.arrival-intro{gap:19px}.arrival-date{transform:translateX(calc((1 - var(--settle))*25px));align-items:flex-start}.arrival-date>strong{font-size:76px}.forecast-bars{height:165px}.everyday .chapter-heading h2{font-size:25px}.everyday .chapter-heading .chapter-kicker{margin-bottom:12px}.everyday .chapter-heading>p:not(.chapter-kicker){font-size:9px;line-height:1.8}.proposal-label{margin-top:12px;font-size:6px}.product-window{transform:translateY(calc((1 - var(--enter))*28px))}.product-top{padding:13px 17px}.product-main{padding:15px 17px}.balance{font-size:41px;margin:11px 0 12px}.ledger{margin-top:18px}.entry{min-height:47px;transform:translateX(calc((1 - var(--entry-progress,1))*25px))}.product-goal{margin-top:18px;padding:13px 10px}.closing-layout{padding:33px 24px 30px;gap:35px}.closing-content{padding:38px 0}.closing footer{gap:16px}
}
@media(max-width:359px){
 .hero h1{font-size:23px}.hero .copy{top:92px}.hero .stage{top:34%;bottom:52px}.hero .scene-meta{bottom:26px}.hero .concept{bottom:9px}.practice-layout{padding:28px 20px;gap:20px}.practice-image{min-height:175px;height:25svh}.practice-copy h2{font-size:24px}.practice-goal strong{font-size:17px}.practice-goal{margin-top:18px;padding:15px 0;gap:9px}.practice-copy>small{font-size:6px}.chapter-stage,.arrival .chapter-stage,.everyday .chapter-stage{padding:29px 20px 24px;gap:20px}.chapter-heading h2,.everyday .chapter-heading h2{font-size:24px}.chapter-heading>p:not(.chapter-kicker){font-size:9px}.chapter-heading .chapter-kicker{margin-bottom:14px}.allocation-board{padding:18px 15px 15px}.income>strong{font-size:49px}.arrival-date>strong{font-size:70px}.forecast-bars{height:140px;margin-bottom:44px}.arrival-intro{gap:16px}.product-top{padding:12px 14px}.product-main{padding:14px 13px}.balance{font-size:38px}.entry{min-height:43px}.ledger{margin-top:15px}.product-goal{margin-top:15px;padding:12px 9px}.closing-layout{padding:28px 20px;gap:30px}.closing-content{padding:30px 0}
}
@media(prefers-reduced-motion:reduce){.scroll-scene{height:auto!important}.scroll-scene .scene-pin{position:relative!important;top:auto!important}.scene-pin *{transform:none!important;opacity:1!important}}

/* The goal resolves after the photograph and copy have settled. */
.practice-goal{opacity:calc(.4 + var(--goal-progress)*.6)}

/* Native vertical scrolling, zoom and touch are always available. */
html{scroll-behavior:auto}
.scene-native .scene-pin{touch-action:auto}

/* A gesture starts one camera handoff. Escape and reduced motion remain native. */
.scene-seamless:not(.flow-native):not(.scroll-reduced) .flow-fitted .scene-pin{touch-action:pan-x pinch-zoom}
.scene-seamless .closing-content{transform:none;opacity:1}
.scene-seamless .closing h2{transform:translateY(calc((1 - var(--enter))*20px));opacity:calc(.7 + var(--enter)*.3)}
.scene-seamless .closing .cta{transform:translateY(calc((1 - var(--settle))*18px));opacity:calc(.5 + var(--settle)*.5)}
@media(prefers-reduced-motion:reduce){.scene-seamless .scene-pin *{transform:none!important;opacity:1!important}}
