/* Each chapter keeps its original semantic section and usable static fallback. */
.lower-track{position:relative}
.lower-track:focus{outline:none}
.lower-ready:not(.reduced-lower) .lower-track{height:calc(var(--lower-height,100svh) + var(--lower-distance,100svh))}
.lower-ready:not(.reduced-lower) .lower-stage{position:sticky;top:0;height:var(--lower-height,100svh);min-height:0;box-sizing:border-box;overflow:clip}
.lower-ready:not(.reduced-lower) .lower-track.lower-flow{height:auto}
.lower-ready:not(.reduced-lower) .lower-flow>.lower-stage{position:relative;height:auto;min-height:100svh}
.lower-ready:not(.reduced-lower) .lower-stage [data-lower-moving]{will-change:transform,opacity}
.lower-ready:not(.reduced-lower) .lower-stage h2{font-size:clamp(32px,3.8vw,68px);line-height:1.4}

/* Problem: the guardian and companion become a quiet full-frame scene. */
.lower-ready:not(.reduced-lower) .story-section{display:flex;align-items:center;padding:112px 7% 80px;background:#332c26;color:#fff}
.lower-ready:not(.reduced-lower) .story-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
.lower-ready:not(.reduced-lower) .story-image img{object-position:68% center;transform-origin:65% 55%}
.lower-ready:not(.reduced-lower) .story-image:after{inset:0;background:linear-gradient(90deg,#221e1be8 0%,#221e1b9e 37%,#221e1b19 70%)}
.lower-ready:not(.reduced-lower) .story-image>span{left:auto;right:6%;bottom:35px;opacity:.7}
.lower-ready:not(.reduced-lower) .story-text{position:relative;z-index:2;width:45%;max-width:620px}
.lower-ready:not(.reduced-lower) .story-text .section-label{color:#e2e7d8}
.lower-ready:not(.reduced-lower) .story-text>p:not(.section-label){color:#f1eee6;font-size:16px;line-height:1.9;max-width:440px}
.lower-ready:not(.reduced-lower) .story-note{color:#f5f4e9;border-color:#ffffff45;font-size:16px;max-width:440px}

/* How: four readable steps are built in order as the visitor scrolls. */
.lower-ready:not(.reduced-lower) .how-section{display:flex;flex-direction:column;justify-content:center;padding:110px 7% 76px;background:#efeee7}
.lower-ready:not(.reduced-lower) .how-grid{position:relative;gap:32px;margin-top:62px}
.lower-ready:not(.reduced-lower) .how-grid:before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:#57806a;transform:scaleX(var(--how-line,0));transform-origin:left}
.lower-ready:not(.reduced-lower) .how-grid article{padding:25px 10px 0 0}
.lower-ready:not(.reduced-lower) .how-grid .step-number{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #809578;border-radius:50%;font-size:14px;background:#f8f9f1}
.lower-ready:not(.reduced-lower) .how-grid h3{font-size:19px;line-height:1.6;margin-top:25px}
.lower-ready:not(.reduced-lower) .how-grid p{font-size:15px;line-height:1.85}
.lower-ready:not(.reduced-lower) .step-link{top:33px}
.lower-ready:not(.reduced-lower) .how-footnote{margin-top:45px;padding-top:24px;font-size:14px}

/* Global: animate the composition as a unit without scaling the geo-message layer. */
.lower-ready:not(.reduced-lower) .global-section{padding:100px 7% 65px;background:#eee9f2;grid-template-columns:.8fr 1.2fr;gap:3%}
.lower-ready:not(.reduced-lower) .global-copy{position:relative;z-index:4}
.lower-ready:not(.reduced-lower) .global-copy>p:not(.section-label){font-size:16px;line-height:1.9}
.lower-ready:not(.reduced-lower) .globe-composition{height:min(69svh,690px)}
.lower-ready:not(.reduced-lower) .language-labels{gap:12px}
.lower-ready:not(.reduced-lower) .language-labels span{display:block;border:1px solid #bbadc9;border-radius:30px;padding:9px 14px;font-size:13px;background:#ffffff6b}
.lower-ready:not(.reduced-lower) .global-copy>small{font-size:12px;max-width:390px}

/* Safety: a photograph of touch, with owner-control principles appearing in sequence. */
.lower-ready:not(.reduced-lower) .promise-section{display:flex;align-items:center;padding:105px 7% 70px;background:#faf5ed}
.lower-ready:not(.reduced-lower) .promise-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;order:0}
.lower-ready:not(.reduced-lower) .promise-photo img{object-position:65% center;transform-origin:67% 65%}
.lower-ready:not(.reduced-lower) .promise-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#faf7f1f5 0%,#faf7f1e0 39%,#faf7f10d 80%)}
.lower-ready:not(.reduced-lower) .promise-content{position:relative;z-index:2;width:49%;max-width:650px}
.lower-ready:not(.reduced-lower) .promise-lead{font-size:16px}
.lower-ready:not(.reduced-lower) .promise-list{margin-top:28px;max-width:580px}
.lower-ready:not(.reduced-lower) .promise-list article{padding:17px 0;border-color:#b6b9a781}
.lower-ready:not(.reduced-lower) .promise-list h3{font-size:17px}
.lower-ready:not(.reduced-lower) .promise-list p{font-size:14px;line-height:1.75;color:#59624f}

/* Download: the previously repaired wordmark remains wholly above the footer. */
.lower-ready:not(.reduced-lower) .download-section{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:100px 7% 115px}
.lower-ready:not(.reduced-lower) .download-section>img{margin:0 0 25px;flex:none}
.lower-ready:not(.reduced-lower) .download-section>h2,.lower-ready:not(.reduced-lower) .download-section>p{position:relative;z-index:1}
.lower-ready:not(.reduced-lower) .download-section>h2{font-size:clamp(32px,4.1vw,92px)}
.lower-ready:not(.reduced-lower) .download-word{bottom:.3em}
.lower-ready:not(.reduced-lower) .store-actions{flex:none}
.lower-ready:not(.reduced-lower) .download-section:focus-within .store-actions{opacity:1!important;transform:none!important}

@media(max-width:1100px) and (min-width:761px){
  .lower-ready:not(.reduced-lower) .story-text{width:54%}
  .lower-ready:not(.reduced-lower) .promise-content{width:62%}
  .lower-ready:not(.reduced-lower) .how-grid{gap:22px}
  .lower-ready:not(.reduced-lower) .how-grid h3{font-size:16px}
  .lower-ready:not(.reduced-lower) .how-grid p{font-size:14px}
  .lower-ready:not(.reduced-lower) .global-section{gap:0;grid-template-columns:.85fr 1.15fr}
  .lower-ready:not(.reduced-lower) .language-labels{gap:7px;flex-wrap:wrap}
}
@media(max-width:760px){
  .lower-ready:not(.reduced-lower) .lower-stage h2{font-size:clamp(28px,7.8vw,40px);line-height:1.45}
  .lower-ready:not(.reduced-lower) .story-section{align-items:flex-start;padding:105px 7% 80px}
  .lower-ready:not(.reduced-lower) .story-text{width:100%;max-width:480px}
  .lower-ready:not(.reduced-lower) .story-text .section-label{margin-bottom:22px}
  .lower-ready:not(.reduced-lower) .story-text>p:not(.section-label){font-size:14px;line-height:1.8;max-width:31ch;margin-top:24px}
  .lower-ready:not(.reduced-lower) .story-note{font-size:14px;line-height:1.8;max-width:31ch;margin-top:24px;padding-top:20px}
  .lower-ready:not(.reduced-lower) .story-image img{object-position:64% center}
  .lower-ready:not(.reduced-lower) .story-image:after{background:linear-gradient(180deg,#211b17d9 0%,#211b1799 38%,#211b1726 80%)}
  .lower-ready:not(.reduced-lower) .story-image>span{font-size:9px;bottom:25px;right:7%}
  .lower-ready:not(.reduced-lower) .how-section{padding:100px 7% 55px}
  .lower-ready:not(.reduced-lower) .how-grid{grid-template-columns:1fr 1fr;gap:28px 22px;margin-top:35px}
  .lower-ready:not(.reduced-lower) .how-grid:before{display:none}
  .lower-ready:not(.reduced-lower) .how-grid article{padding:17px 0 0;border-top:2px solid #d6ddcd}
  .lower-ready:not(.reduced-lower) .how-grid .step-number{width:31px;height:31px;font-size:11px}
  .lower-ready:not(.reduced-lower) .how-grid h3{font-size:15px;line-height:1.6;margin:16px 0 10px}
  .lower-ready:not(.reduced-lower) .how-grid p{font-size:13px;line-height:1.7}
  .lower-ready:not(.reduced-lower) .step-link{top:18px;font-size:18px}
  .lower-ready:not(.reduced-lower) .how-footnote{font-size:11px;line-height:1.7;margin-top:26px;padding-top:22px}
  .lower-ready:not(.reduced-lower) .global-section{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:100px 7% 30px;gap:16px}
  .lower-ready:not(.reduced-lower) .global-copy>p:not(.section-label){font-size:14px;line-height:1.8;max-width:39ch;margin-top:18px}
  .lower-ready:not(.reduced-lower) .global-copy .section-label{margin-bottom:20px}
  .lower-ready:not(.reduced-lower) .language-labels{margin-top:20px;gap:8px}
  .lower-ready:not(.reduced-lower) .language-labels span{font-size:11px;padding:7px 12px}
  .lower-ready:not(.reduced-lower) .global-copy>small{font-size:10px;line-height:1.6;margin-top:14px}
  .lower-ready:not(.reduced-lower) .globe-composition{height:min(42svh,365px);min-height:260px;margin:0 -5%;flex-shrink:0}
  .lower-ready:not(.reduced-lower) .promise-section{align-items:flex-start;padding:100px 7% 70px}
  .lower-ready:not(.reduced-lower) .promise-content{width:100%;max-width:480px}
  .lower-ready:not(.reduced-lower) .promise-content .section-label{margin-bottom:22px}
  .lower-ready:not(.reduced-lower) .promise-lead{font-size:14px;line-height:1.8;margin-top:18px}
  .lower-ready:not(.reduced-lower) .promise-list{margin-top:26px;max-width:37ch}
  .lower-ready:not(.reduced-lower) .promise-list article{padding:15px 0;gap:12px}
  .lower-ready:not(.reduced-lower) .promise-list h3{font-size:15px;line-height:1.7}
  .lower-ready:not(.reduced-lower) .promise-list p{font-size:13px;line-height:1.65;margin-top:5px}
  .lower-ready:not(.reduced-lower) .promise-photo img{object-position:66% center}
  .lower-ready:not(.reduced-lower) .promise-photo:after{background:linear-gradient(180deg,#faf7f1fa 0%,#faf7f1e6 50%,#faf7f166 80%,#faf7f119 100%)}
  .lower-ready:not(.reduced-lower) .download-section{padding:100px 7% 145px}
  .lower-ready:not(.reduced-lower) .download-section>h2{font-size:clamp(29px,8vw,40px)}
  .lower-ready:not(.reduced-lower) .download-section>p:not(.section-label){font-size:14px}
  .lower-ready:not(.reduced-lower) .download-word{bottom:.3em}
}
/* No pinning or hidden material when motion is reduced, JS fails, or printing. */
.reduced-lower .lower-track{height:auto!important}
.reduced-lower [data-lower-moving]{opacity:1!important;transform:none!important;clip-path:none!important;will-change:auto!important}
@media(prefers-reduced-motion:reduce){.lower-track{height:auto!important}.lower-stage{position:relative!important;height:auto!important}.lower-stage [data-lower-moving]{opacity:1!important;transform:none!important}}
@media print{.lower-track{height:auto!important}.lower-stage{height:auto!important;position:relative!important}.lower-stage [data-lower-moving]{opacity:1!important;transform:none!important}}
.lower-ready .faq-section:focus-within>[data-lower-moving]{opacity:1!important;transform:none!important}

@media print{[data-lower-moving]{opacity:1!important;transform:none!important}}


/* Only the film → Problem boundary. Native fixed positioning avoids compositor/RAF drift. */
.film.handoff-enabled{z-index:1}
.film.handoff-pinned>.film-stage,.lower-ready:not(.reduced-lower) #story.handoff-pinned>.lower-stage{position:fixed;top:0;left:0;right:0;width:100%;transform:none}
.film.handoff-active .copy-finale,.film.handoff-active .film-controls{opacity:var(--handoff-copy-opacity,1)!important}
@media(prefers-reduced-motion:reduce){.film.handoff-enabled .film-stage,#story>.lower-stage{transform:none!important;opacity:1!important}}
@media print{.film.handoff-enabled .film-stage,#story>.lower-stage{position:relative!important;transform:none!important;opacity:1!important}}


