.page-nav{position:fixed;right:24px;bottom:24px;z-index:15;width:112px;height:112px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:8px;border:1px solid rgba(16,37,31,.15);border-radius:18px;background:rgba(251,250,245,.9);backdrop-filter:blur(12px);box-shadow:0 12px 35px rgba(16,37,31,.15)}
.page-nav button{border:0;border-radius:10px;background:transparent;color:var(--green);font:700 21px 'Space Grotesk',sans-serif;cursor:pointer;transition:.18s}
.page-nav button:hover,.page-nav button:focus-visible{background:var(--mint);outline:0;transform:scale(1.06)}
.page-nav button[data-nav="up"]{grid-column:2;grid-row:1}.page-nav button[data-nav="left"]{grid-column:1;grid-row:2}.page-nav button[data-nav="home"]{grid-column:2;grid-row:2}.page-nav button[data-nav="right"]{grid-column:3;grid-row:2}.page-nav button[data-nav="down"]{grid-column:2;grid-row:3}
.page-nav .nav-home{background:var(--green);color:white;font-size:17px}.page-nav .nav-home:hover,.page-nav .nav-home:focus-visible{background:var(--orange)}
@media(max-width:800px){.page-nav{right:14px;bottom:14px;width:96px;height:96px}.page-nav button{font-size:18px}}

/* Presentation layout: one main scene per viewport on desktop */
html{overflow-x:hidden;scroll-snap-type:y proximity}
body{overflow-x:hidden}
@media(min-width:801px){
  .hero,#story,#path,#control,.fee-section,#sources{min-height:calc(100svh - 76px);scroll-snap-align:start}
  .hero{padding-top:42px;padding-bottom:42px}
  .section-pad{padding-top:64px;padding-bottom:64px}
  .signal-strip{min-height:126px}
  .story-card{min-height:250px;padding:28px}
  .story-main h3{margin-top:110px}
  .path-panel{min-height:220px;padding:30px}
  .timeline-step p{font-size:13px}
  .fee-grid{min-height:calc(100svh - 204px)}
}
@media(min-width:801px) and (max-height:820px){
  .section-pad{padding-top:38px;padding-bottom:38px}
  .section-heading{margin-bottom:24px}
  .section-heading h2{font-size:38px}
  .story-card{min-height:215px;padding:23px}
  .story-main h3{font-size:29px;margin-top:78px}
  .story-card h3{font-size:21px;margin-top:17px}
  .purpose-list{margin-top:13px;gap:6px}
  .purpose-list div{padding-top:6px}
  .mini-flow{margin-top:20px}
  .path-panel{min-height:190px;padding:24px}
  .path-panel h3{font-size:28px}
  .timeline-step{padding-top:52px}
  .timeline-step h3{font-size:18px}
  .timeline-step p{font-size:12px}
}

/* Fullscreen presentation fit */
@media(min-width:801px){
  .topbar{height:64px}
  .hero,#signal,#story,#path,#control,.fee-section,#sources{height:calc(100dvh - 64px);min-height:calc(100dvh - 64px);overflow:hidden;scroll-snap-align:start}
  .hero{padding-top:30px;padding-bottom:30px}
  .signal-strip{height:calc(100dvh - 64px);min-height:0;align-content:center}
  .section-pad{padding-top:42px;padding-bottom:42px}
  .section-heading{margin-bottom:26px}
  .story-card{min-height:0}
  .story-main h3{margin-top:92px}
  #sources{display:flex;align-items:center}
  #sources>.section-shell{width:100%}
  .fee-grid{min-height:0}
}
@media(min-width:801px) and (max-height:760px){
  .hero h1{font-size:clamp(48px,7vw,76px);margin-bottom:18px}
  .lede{font-size:15px;line-height:1.55}
  .hero-actions{margin-top:24px}
  .hero-orbit{height:320px}
  .ring-one{width:290px;height:290px}.ring-two{width:205px;height:205px}.orbit-core{width:122px;height:122px;font-size:23px}
  .section-pad{padding-top:28px;padding-bottom:28px}
  .section-heading h2{font-size:34px}.section-heading{margin-bottom:18px}
  .story-card{padding:20px}.story-main h3{font-size:26px;margin-top:70px}.story-card h3{font-size:19px;margin:12px 0 6px}.story-card p{font-size:12px;line-height:1.45}.purpose-list{margin-top:9px;gap:4px}.purpose-list div{padding-top:4px}.purpose-list small{font-size:10px}.activity-cloud{margin-top:14px}.mini-flow{margin-top:14px}
  .path-tabs{margin-bottom:10px}.path-tab{padding:8px 14px;font-size:13px}.path-panel{min-height:170px;padding:20px}.path-panel h3{font-size:24px}.path-panel p,.path-panel ul{font-size:12px;line-height:1.55}.path-badge{margin-bottom:12px}
  .timeline-step{padding-top:48px}.timeline-step h3{font-size:17px;margin-bottom:4px}.timeline-step p{font-size:11px;line-height:1.4}
  .fee-section h2{font-size:42px}.duration-row{padding:17px 0}.duration-row strong{font-size:23px}
  .source-card{padding:20px}.source-card h3{font-size:18px;margin:12px 0 5px}.source-card p{font-size:12px;line-height:1.45}.source-footer{margin-top:12px;padding-top:10px}.disclaimer{padding:10px 14px}.disclaimer p{font-size:11px}
}

/* Calm movement in every presentation scene */
#signal,#story,#path,#control,.fee-section,#sources{position:relative;isolation:isolate}
#signal:after,#story:after,#path:after,#control:after,.fee-section:after,#sources:after{content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;opacity:.45;filter:blur(1px)}
#signal:after{width:240px;height:240px;right:8%;top:15%;background:radial-gradient(circle,rgba(201,231,215,.7),transparent 70%);animation:sceneFloat 8s ease-in-out infinite}
#story:after{width:300px;height:300px;left:-120px;bottom:-100px;background:radial-gradient(circle,rgba(217,240,106,.2),transparent 70%);animation:sceneFloat 10s ease-in-out infinite reverse}
#path:after{width:280px;height:280px;right:-90px;top:8%;background:radial-gradient(circle,rgba(233,147,84,.13),transparent 70%);animation:sceneFloat 9s ease-in-out infinite}
#control:after{width:260px;height:260px;left:30%;top:-120px;background:radial-gradient(circle,rgba(201,231,215,.35),transparent 70%);animation:sceneFloat 11s ease-in-out infinite reverse}
.fee-section:after{width:390px;height:390px;right:-110px;bottom:-180px;background:radial-gradient(circle,rgba(217,240,106,.16),transparent 70%);animation:sceneFloat 10s ease-in-out infinite}
#sources:after{width:260px;height:260px;left:4%;top:12%;background:radial-gradient(circle,rgba(233,147,84,.12),transparent 70%);animation:sceneFloat 8s ease-in-out infinite reverse}
#signal div{animation:signalRise .8s ease both}.signal-strip div:nth-child(2){animation-delay:.16s}.signal-strip div:nth-child(3){animation-delay:.32s}
#story .story-card{animation:cardLift .75s ease both}.story-grid .story-card:nth-child(2){animation-delay:.16s}.story-grid .story-card:nth-child(3){animation-delay:.32s}
#path .path-tab{animation:tabSlide .55s ease both}.path-tabs .path-tab:nth-child(2){animation-delay:.08s}.path-tabs .path-tab:nth-child(3){animation-delay:.16s}.path-tabs .path-tab:nth-child(4){animation-delay:.24s}
#control .timeline-line{animation:lineTravel 2.2s ease-in-out infinite alternate}
#control .timeline-step{animation:stepRise .7s ease both}.timeline-step:nth-child(2){animation-delay:.08s}.timeline-step:nth-child(3){animation-delay:.18s}.timeline-step:nth-child(4){animation-delay:.28s}.timeline-step:nth-child(5){animation-delay:.38s}
.fee-section .duration-card{animation:cardLift 1s ease both}.fee-section .duration-row strong{animation:softBlink 3.2s ease-in-out infinite}
#sources .source-card{animation:cardLift .8s ease both}.source-grid .source-card:nth-child(2){animation-delay:.18s}#sources .disclaimer{animation:noteSlide .8s .36s ease both}
@keyframes sceneFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(18px,-14px,0) scale(1.08)}}
@keyframes signalRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes cardLift{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes tabSlide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes lineTravel{from{transform:scaleX(.92);transform-origin:left center;opacity:.45}to{transform:scaleX(1);transform-origin:left center;opacity:1}}
@keyframes stepRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes softBlink{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes noteSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* More visible scene-enter motion, triggered only when a scene is in view */
.scene-active .signal-strip strong{animation:signalPop .8s cubic-bezier(.2,.8,.2,1) both}
.scene-active .story-card{animation:storyBounce .8s cubic-bezier(.2,.8,.2,1) both}.scene-active .story-grid .story-card:nth-child(2){animation-delay:.14s}.scene-active .story-grid .story-card:nth-child(3){animation-delay:.28s}
.scene-active .path-panel{background:linear-gradient(110deg,var(--green) 0%,#226451 45%,var(--green) 70%);background-size:220% 100%;animation:panelSweep 3.2s ease-in-out both}.scene-active .path-badge{animation:badgePop .65s ease both}
.scene-active .timeline-line{animation:lineGrow 1.25s cubic-bezier(.2,.8,.2,1) both}.scene-active .timeline-step span{animation:nodePop .65s ease both}.scene-active .timeline-step:nth-child(2) span{animation-delay:.12s}.scene-active .timeline-step:nth-child(3) span{animation-delay:.26s}.scene-active .timeline-step:nth-child(4) span{animation-delay:.4s}.scene-active .timeline-step:nth-child(5) span{animation-delay:.54s}
.scene-active .duration-row{animation:rowSlide .7s cubic-bezier(.2,.8,.2,1) both}.scene-active .duration-row:nth-child(2){animation-delay:.16s}.scene-active .duration-row:nth-child(3){animation-delay:.32s}.scene-active .duration-row strong{animation:signalPop .75s .45s ease both}
.scene-active .source-card{animation:storyBounce .75s cubic-bezier(.2,.8,.2,1) both}.scene-active .source-grid .source-card:nth-child(2){animation-delay:.16s}.scene-active .disclaimer{animation:noteSlide .75s .3s ease both}
@keyframes signalPop{0%{opacity:0;transform:translateY(12px) scale(.92)}65%{transform:translateY(-3px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes storyBounce{0%{opacity:0;transform:translateY(28px) scale(.96)}70%{transform:translateY(-5px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes panelSweep{0%{background-position:100% 0}100%{background-position:0 0}}
@keyframes badgePop{0%{opacity:0;transform:scale(.65) rotate(-5deg)}70%{transform:scale(1.08) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes lineGrow{from{transform:scaleX(0);transform-origin:left center;opacity:0}to{transform:scaleX(1);transform-origin:left center;opacity:1}}
@keyframes nodePop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.2)}100%{opacity:1;transform:scale(1)}}
@keyframes rowSlide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}

/* Detailed content scenes */
.detail-scene{position:relative}.cream-scene{background:var(--cream)}
.definition-grid,.eligibility-grid,.facility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.definition-card,.eligibility-card,.facility-card,.document-board{background:white;border:1px solid var(--line);border-radius:10px;padding:25px;position:relative;overflow:hidden}.definition-card h3,.eligibility-card h3,.facility-card h3{font-size:22px;margin:18px 0 8px;letter-spacing:-.03em}.definition-card p,.eligibility-card p,.facility-card p,.document-board p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}.definition-wide{grid-column:span 1}.accent-card{background:var(--green);color:white}.accent-card p{color:#cce1d7}.detail-index{font:700 13px 'Space Grotesk',sans-serif;color:var(--orange);border:1px solid currentColor;border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.detail-tag{display:inline-block;margin-top:22px;padding:6px 10px;background:var(--mint);color:var(--green);border-radius:50px;font:600 11px 'Space Grotesk',sans-serif}.accent-card .detail-tag{background:var(--lime)}.eligibility-grid{grid-template-columns:repeat(4,1fr)}.eligibility-card{min-height:220px}.eligibility-card h3{margin-top:12px}.purpose-icon{font-size:27px;color:var(--orange)}.activity-cloud.dark span{border-color:#bdd2c7;color:var(--green)}.application-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.application-flow,.document-board{background:var(--green);color:white;border-radius:10px;padding:26px}.flow-step{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2)}.flow-step:last-child{border-bottom:0}.flow-step>span{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:700 12px 'Space Grotesk',sans-serif}.flow-step h3{font-size:18px;margin:0 0 4px}.flow-step p{color:#cce1d7;font-size:13px;line-height:1.55;margin:0}.document-board{background:white;color:var(--ink)}.document-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.document-chips span{padding:8px 10px;border:1px solid var(--line);border-radius:50px;color:var(--green);font-size:12px}.facility-grid{grid-template-columns:repeat(4,1fr)}.facility-card{min-height:205px}.facility-card>span{font:700 13px 'Space Grotesk',sans-serif;color:var(--orange)}
.definition-card:hover,.eligibility-card:hover,.facility-card:hover,.document-board:hover{transform:translateY(-7px);box-shadow:0 16px 30px rgba(16,37,31,.11);transition:.3s ease}
@media(min-width:801px){.detail-scene,.cream-scene{height:calc(100dvh - 64px);min-height:calc(100dvh - 64px);overflow:hidden;scroll-snap-align:start}.detail-scene>.section-shell{width:100%}.definition-grid{grid-template-columns:repeat(4,1fr)}.definition-card{min-height:210px}.definition-wide{grid-column:span 2}.eligibility-card{min-height:205px}.facility-card{min-height:190px}.application-layout{min-height:285px}.document-board{padding:26px}}
@media(max-width:800px){.definition-grid,.eligibility-grid,.facility-grid,.application-layout{grid-template-columns:1fr}.definition-wide{grid-column:auto}.eligibility-card,.facility-card{min-height:0}.application-flow,.document-board{padding:22px}}

/* Extra motion layer */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(2px)}
.hero:before{width:340px;height:340px;right:4%;top:12%;background:radial-gradient(circle,rgba(217,240,106,.25),rgba(217,240,106,0) 68%);animation:driftGlow 7s ease-in-out infinite}
.hero:after{width:230px;height:230px;left:36%;bottom:3%;background:radial-gradient(circle,rgba(233,147,84,.14),rgba(233,147,84,0) 70%);animation:driftGlow 9s ease-in-out infinite reverse}
.orbit-ring:before,.orbit-ring:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 7px rgba(217,240,106,.16),0 0 22px rgba(217,240,106,.7)}
.orbit-ring:before{left:23%;top:-4px}.orbit-ring:after{right:8%;bottom:20%;background:var(--orange);box-shadow:0 0 0 7px rgba(233,147,84,.14),0 0 22px rgba(233,147,84,.6)}
.story-card,.source-card,.duration-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.story-card:hover,.source-card:hover{transform:translateY(-8px) rotate(-.35deg);box-shadow:0 18px 35px rgba(16,37,31,.12);border-color:#a7beb2}
.story-card.story-main:hover{box-shadow:0 18px 35px rgba(16,37,31,.25)}
.timeline-step span{animation:stepPulse 3.6s ease-in-out infinite}
.timeline-step:nth-child(2) span{animation-delay:.1s}.timeline-step:nth-child(3) span{animation-delay:.7s}.timeline-step:nth-child(4) span{animation-delay:1.3s}.timeline-step:nth-child(5) span{animation-delay:1.9s}
.path-panel{animation:panelIn .45s ease both}.path-panel.panel-refresh{animation:panelIn .45s ease both}
.signal-strip strong{animation:numberFloat 4s ease-in-out infinite}.signal-strip div:nth-child(2) strong{animation-delay:.45s}.signal-strip div:nth-child(3) strong{animation-delay:.9s}
@keyframes driftGlow{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-18px,15px,0) scale(1.1)}}
@keyframes stepPulse{0%,65%,100%{box-shadow:0 0 0 0 rgba(217,240,106,0)}15%{box-shadow:0 0 0 10px rgba(217,240,106,.16)}}
@keyframes numberFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes panelIn{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
