/* A single scroll-controlled scene, rather than individually floating sections. */
html{scroll-behavior:auto}.film{height:660svh;position:relative;margin-top:0}.film-stage{--film-ink:#103e3c;position:sticky;top:var(--film-top,92px);height:calc(100svh - var(--film-top,92px));min-height:500px;overflow:hidden;isolation:isolate;background:#eaf5e9;color:var(--film-ink)}
.film-world{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.world-shape{position:absolute;left:50%;top:48%;width:65vmax;height:65vmax;background:#52b592;border-radius:50%;opacity:.2;transform:translate(-50%,-50%)}.world-ribbon{position:absolute;inset:0;width:100%;height:100%;opacity:.3;overflow:visible}.world-ribbon path{fill:none;stroke:#319677;stroke-width:160;stroke-linecap:round}.world-lines{position:absolute;inset:12%;border:1px solid #71a68a35;border-radius:50%;box-shadow:0 0 0 45px #7bb8950c,0 0 0 90px #7bb89508}
.film-chapter{position:absolute;top:27px;left:5%;right:5%;display:flex;gap:15px;align-items:center;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;z-index:10;pointer-events:none}.film-chapter-number{opacity:.5}.film-scene{position:absolute;inset:75px 8% 60px;display:flex;flex-direction:column;justify-content:center;min-width:0;will-change:transform,opacity;opacity:0;pointer-events:none;transform:translateX(120%);margin:0!important;padding:0;scroll-margin:0}.film-scene.is-current{pointer-events:auto}.film-scene:first-of-type{opacity:1;transform:none}.film-scene h1,.film-scene h2{font-size:clamp(3.7rem,7vw,7.5rem);line-height:.99;letter-spacing:-.065em;font-weight:400;margin:0 0 27px}.film-scene h1 em,.film-scene h2 em{color:#29805f}.film-scene p{font-size:.95rem;line-height:1.8;max-width:470px;margin-bottom:20px}.film-scene small{font-size:.65rem;line-height:1.6;display:block}.film-eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.61rem;line-height:1.8;margin-bottom:24px}.film-intro{align-items:center;text-align:center}.film-intro-logo{width:clamp(190px,23vw,350px);margin-bottom:22px}.film-intro-logo img{width:100%;height:auto}.film-intro h1{font-size:clamp(4rem,7vw,7rem)}.film-intro p{font-size:.82rem}.film-scroll-cue{display:flex;align-items:center;gap:35px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;margin-top:20px}.film-scroll-cue>span{font-size:1.2rem}
.film-studio{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;color:#f0f7e9}.film-studio h2 em{color:#a9e6be}.film-studio p{color:#c0d9cf}.film-studio a{font-size:.8rem}.film-studio-symbol{position:relative;display:grid;place-items:center;min-width:0}.film-studio-symbol>span{font-family:Georgia,serif;font-style:italic;font-size:clamp(14rem,35vw,36rem);line-height:.9;color:#ace2bd;text-shadow:0 25px 70px #002f3266}.film-studio-symbol>i{position:absolute;top:-5%;right:18%;width:17%;aspect-ratio:.7;background:#35ba8c;border-radius:100% 0 100% 0;transform:rotate(18deg)}.film-studio-symbol>small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;margin-top:40px;opacity:.6}
.film-products{align-items:center;text-align:center}.film-product-title h2{font-size:clamp(3.2rem,5.7vw,5.5rem)}.film-product-title .film-eyebrow{margin-bottom:15px}.film-app-pair{display:flex;align-items:center;justify-content:center;gap:55px;margin:10px 0 25px;width:100%}.film-app-pair>a{display:flex;flex-direction:column;align-items:center;text-decoration:none;min-width:0}.film-app-pair img{width:clamp(120px,14vw,200px);height:auto;border-radius:25%;box-shadow:0 25px 50px -30px #083c3566}.film-app-pair strong{font-size:1.1rem;margin-top:20px;font-weight:600}.film-app-pair a>span{font-size:.68rem;margin-top:5px;opacity:.7}.film-connection{font-size:2rem;color:#43896e}.film-products>p{font-size:.7rem;max-width:none;opacity:.7;margin:0}
.film-experience{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.film-experience h2{font-size:clamp(3.1rem,5.8vw,6rem)}.film-experience .hero-art{padding:15px 10px 95px;width:100%;min-width:0;transform:none;background:transparent}.film-experience .art-heading strong,.film-experience .hero-art[data-example=child] .art-heading strong{color:#1e5345}.film-experience .art-heading span,.film-experience .hero-art[data-example=child] .art-heading span{color:#5d7c68}.film-experience .studio-orbit{display:none}.film-experience .demo-panel{transform:none;padding:20px;box-shadow:0 20px 55px -20px #0a483d55}.film-experience .studio-mascot{width:140px;height:140px;left:-25px;bottom:-5px;animation:none}.film-experience .connection-badge{right:0;bottom:0;max-width:190px;background:#e7e9ca}.film-experience .art-caption{color:#658675}.film-experience .demo-tabs button{font-size:.7rem}.film-experience .demo-row{font-size:.76rem}
.film-future{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center;color:#372b53}.film-future h2 em{color:#7861a3}.film-future p{max-width:390px}.film-future small{margin-top:20px;max-width:360px;color:#746785}.film-future .button{font-size:.8rem;background:#3c3760;border-color:#3c3760}.film-mascots{min-width:0}.film-mascots img{border-radius:25px;box-shadow:0 35px 60px -30px #42325866;border:7px solid #f7f4ff80;transform:rotate(-4deg)}
.film-contact{text-align:center;align-items:center;color:#e8f5e9}.film-contact h2{font-size:clamp(4rem,8.5vw,9rem)}.film-contact h2 em{color:#a9e6be}.film-contact>a{display:flex;gap:70px;font-size:1.2rem;text-decoration:none;border-bottom:1px solid #a1ccb86b;padding-bottom:10px;margin:10px 0 25px}.film-contact p{font-size:.8rem;color:#b6d3c5}.film-origin{font-size:.6rem;text-transform:uppercase;letter-spacing:.16em;color:#a7c7b3;margin-top:20px}
.film-dots{position:absolute;right:25px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:13px;z-index:20}.film-dots button{width:8px;height:8px;padding:0;border:1px solid currentColor;border-radius:50%;color:var(--film-ink);background:transparent;cursor:pointer;position:relative}.film-dots button::before{content:"";position:absolute;inset:-8px}.film-dots button[aria-current=step]{background:currentColor;box-shadow:0 0 0 4px #7fb79e25}.film-track{height:3px;background:#548c7625;position:absolute;bottom:0;left:0;right:0}.film-track i{display:block;width:100%;height:100%;background:#479d7b;transform:scaleX(var(--film-progress,0));transform-origin:left}
.film-mode-switch{position:fixed;right:17px;bottom:15px;z-index:30;border:1px solid #abc8b4;background:#f5faf0ed;backdrop-filter:blur(12px);color:#315d48;border-radius:30px;padding:10px 15px;font-size:.63rem;cursor:pointer}.film-stage a:focus-visible,.film-stage button:focus-visible{outline:3px solid #a97836;outline-offset:7px}
/* Linear view is also the no-JavaScript and reduced-motion fallback. */
html:not(.film-enabled) .film,.film-linear .film{height:auto!important}html:not(.film-enabled) .film-stage,.film-linear .film-stage{height:auto;position:relative;top:0;background:#eaf5e9!important;min-height:0}html:not(.film-enabled) .film-scene,.film-linear .film-scene{position:relative;inset:auto;opacity:1!important;transform:none!important;pointer-events:auto;min-height:75svh;padding:65px 8%;color:#103e3c;background:#eaf5e9}html:not(.film-enabled) .film-world,.film-linear .film-world,html:not(.film-enabled) .film-dots,.film-linear .film-dots,html:not(.film-enabled) .film-chapter,.film-linear .film-chapter,html:not(.film-enabled) .film-track,.film-linear .film-track{display:none}.film-linear .film-scene h2 em{color:#29805f}.film-linear .film-studio p,.film-linear .film-contact p{color:#557264}.film-linear .film-future{background:#e8e2f0}.film-linear .film-studio-symbol>span{color:#3d9b75}
@media(max-width:1000px){.film-scene{inset:65px 7% 50px}.film-scene h1,.film-scene h2{font-size:clamp(3.5rem,7vw,6rem)}.film-app-pair{gap:35px}.film-experience{gap:4%}.film-experience .studio-mascot{width:110px;height:110px;left:-5px}.film-experience .connection-badge{font-size:.6rem;max-width:165px;padding:12px}.film-experience .demo-row{font-size:.67rem}.film-experience .demo-row small{font-size:.58rem}}
@media(max-width:700px){.film-stage{min-height:560px}.film-scene{inset:55px 7% 40px}.film-scene h1,.film-scene h2{font-size:clamp(3rem,10.5vw,4.5rem)}.film-scene p{font-size:.8rem}.film-eyebrow{font-size:.52rem;margin-bottom:17px}.film-intro-logo{width:190px;margin-bottom:16px}.film-intro h1{font-size:3.5rem}.film-intro p{font-size:.72rem}.film-scroll-cue{font-size:.5rem;margin-top:10px}.film-studio{grid-template-columns:1fr;gap:10px}.film-studio>div:first-child{max-width:85%}.film-studio-symbol{position:absolute;right:0;bottom:0;opacity:.25;z-index:-1}.film-studio-symbol>span{font-size:17rem}.film-studio-symbol>small{display:none}.film-studio a{font-size:.73rem}.film-products{justify-content:center}.film-product-title h2{font-size:2.7rem}.film-product-title .film-eyebrow{font-size:.47rem}.film-app-pair{gap:17px;margin:13px 0 28px}.film-app-pair img{width:clamp(95px,27vw,145px)}.film-app-pair strong{font-size:.9rem;margin-top:18px}.film-app-pair a>span{font-size:.55rem}.film-connection{font-size:1.2rem}.film-products>p{font-size:.61rem;line-height:1.7}.film-experience{grid-template-columns:1fr;gap:8px;align-content:center}.film-experience h2{font-size:2.5rem;margin-bottom:12px}.film-experience-copy>p{font-size:.7rem;margin:0 0 5px}.film-experience-copy .film-eyebrow{font-size:.46rem;margin-bottom:10px}.film-experience-copy>small{font-size:.5rem}.film-experience .hero-art{padding:5px 0 50px;max-width:370px;margin:auto}.film-experience .art-heading{display:none}.film-experience .demo-panel{padding:15px;min-height:0}.film-experience .demo-tabs{padding-bottom:10px;margin-bottom:10px}.film-experience .demo-tabs button{font-size:.61rem;min-height:31px;padding:6px 10px}.film-experience .demo-title{font-size:1.25rem;margin-bottom:8px}.film-experience .demo-kicker{font-size:.52rem}.film-experience .demo-row{min-height:43px;padding:7px 0;font-size:.65rem}.film-experience .demo-row small{font-size:.54rem}.film-experience .art-caption{display:none}.film-experience .studio-mascot{width:75px;height:75px;bottom:-5px;left:0}.film-experience .connection-badge{padding:7px 10px;font-size:.48rem;bottom:-1px;max-width:170px}.film-experience .connection-badge strong{font-size:.54rem}.film-experience .kids-welcome{padding:10px;margin-bottom:10px}.film-future{grid-template-columns:1fr;gap:25px;align-content:center}.film-future h2{font-size:2.8rem;margin-bottom:15px}.film-future p{font-size:.75rem;margin-bottom:15px}.film-future .button{padding:11px 17px;font-size:.68rem}.film-future small{font-size:.5rem;margin-top:10px}.film-mascots{max-width:400px;width:100%;margin:auto}.film-mascots img{border-width:4px;border-radius:18px}.film-contact h2{font-size:3.5rem}.film-contact>a{font-size:1rem;gap:45px}.film-contact p{font-size:.72rem}.film-chapter{font-size:.5rem;left:7%;top:23px;gap:10px}.film-dots{right:10px;gap:13px}.film-dots button{width:6px;height:6px}.film-mode-switch{font-size:.57rem;padding:9px 12px;right:12px;bottom:12px}}
@media(max-height:750px) and (min-width:701px){.film-scene h1,.film-scene h2{font-size:4rem}.film-intro-logo{width:210px;margin-bottom:10px}.film-scene p{font-size:.8rem}.film-app-pair img{width:125px}.film-app-pair{margin-block:5px 15px}.film-product-title h2{font-size:3.3rem}}
@media(prefers-reduced-motion:reduce){.film-scene,.film-world *{animation:none!important;transition:none!important}}
.film-mascots img{width:100%;height:auto;transform:none}.film-studio-symbol{overflow:clip}
@media(max-width:700px){.film-studio-symbol{bottom:25px;width:210px;height:280px}.film-studio-symbol>span{font-size:14rem;line-height:1.2}.film-stage{min-height:0}}
@media(max-width:700px) and (max-height:750px){.film-scene{inset:45px 7% 30px}.film-experience h2{font-size:2rem;margin-bottom:8px}.film-experience .film-eyebrow{margin-bottom:5px}.film-experience-copy>p{font-size:.63rem}.film-experience .demo-panel{padding:12px}.film-experience .demo-tabs{margin-bottom:7px;padding-bottom:7px}.film-experience .demo-row{min-height:37px;padding:5px 0}.film-experience .demo-title{font-size:1.1rem}.film-future h2{font-size:2.5rem}.film-intro-logo{width:150px}.film-intro h1,.film-contact h2{font-size:3rem}.film-studio h2{font-size:2.7rem}.film-product-title h2{font-size:2.4rem}.film-app-pair img{width:95px}}
/* Use the approved wordmark in the studio scene as well. */
.film-studio-symbol{padding:30px 26px 25px;border:1px solid #d4ebd5;border-radius:25px;background:#edf7ea;overflow:hidden;box-shadow:0 25px 60px -35px #002d2f66}
.film-studio-symbol>img{width:100%;height:auto}.film-studio-symbol>small{color:#406d5c;margin-top:24px;opacity:1;font-size:.55rem;text-align:center;line-height:1.8}
@media(max-width:700px){.film-studio{align-content:center;gap:16px}.film-studio>div:first-child{max-width:100%}.film-studio-symbol{position:relative;inset:auto;opacity:1;z-index:auto;width:75%;max-width:270px;height:auto;padding:15px 20px;margin:0 auto}.film-studio-symbol>small{display:block;font-size:.44rem;margin-top:9px}.film-studio h2{font-size:2.8rem;margin-bottom:16px}.film-studio p{font-size:.75rem;line-height:1.7;margin-bottom:13px}.film-studio .film-eyebrow{margin-bottom:10px}}
@media(max-width:700px) and (max-height:750px){.film-studio{gap:10px}.film-studio h2{font-size:2.35rem}.film-studio-symbol{width:65%;padding:10px 15px}.film-studio-symbol>small{font-size:.38rem;margin-top:5px}}
/* Scroll down into the paired-app interaction, dwell, then continue left. */
.film{height:780svh}.film-interaction{align-items:center;text-align:center}.interaction-heading h2{font-size:clamp(2.7rem,4.3vw,4.5rem);margin-bottom:25px}.interaction-heading .film-eyebrow{margin-bottom:12px}.interaction-showcase{display:grid;grid-template-columns:1fr 1fr;gap:90px;width:min(680px,90%);position:relative}.interaction-phone{min-width:0;text-align:left;background:#f7faf3;border:5px solid #c7ddcf;border-radius:29px;padding:24px 21px 19px;box-shadow:0 30px 50px -30px #1a60465c;position:relative;z-index:1}.interaction-child{background:#edf5df;border-color:#b9d8bb}.interaction-app{display:flex;align-items:center;gap:10px;margin-bottom:26px}.interaction-app img{width:34px;height:34px;border-radius:9px;flex:none}.interaction-app>span{font-size:.8rem;font-weight:600}.interaction-app small{font-size:.55rem;font-weight:400;color:#71836b;margin-top:2px}.interaction-kicker{font-size:.47rem;letter-spacing:.1em;display:block;color:#779070;margin-bottom:14px}.interaction-phone h3{font-family:Georgia,serif;font-weight:400;font-size:2.1rem;line-height:1.06;letter-spacing:-.04em;margin:0 0 22px}.interaction-task-meta{display:flex;justify-content:space-between;font-size:.65rem;padding:13px 0;border-block:1px solid #d7e4d4;gap:5px}.interaction-task-meta>span{color:#428559}.interaction-state{margin:20px 0;display:flex;align-items:center;gap:9px;min-height:43px}.interaction-state strong{font-size:.64rem;line-height:1.5;font-weight:500}.interaction-state-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;background:#d7ead9;color:#358453;border-radius:50%;font-size:1rem}.interaction-phone-track{height:4px;background:#dbe7d4;border-radius:9px;overflow:hidden}.interaction-phone-track i{display:block;height:100%;width:calc(var(--interaction-progress,0)*100%);background:#3e9d68;border-radius:9px}.interaction-child-task{display:flex;align-items:center;gap:9px;padding:13px 0;border-block:1px solid #ccdfc2;font-size:.65rem;opacity:.3}.interaction-child-task>span:first-child{width:20px;height:20px;display:grid;place-items:center;border:1px solid #a5c5a3;border-radius:50%;flex:none;color:transparent}.interaction-child-task small{font-size:.53rem;color:#7a906d}.film-interaction[data-interaction-state="1"] .interaction-child-task,.film-interaction[data-interaction-state="2"] .interaction-child-task,.film-interaction[data-interaction-state="3"] .interaction-child-task{opacity:1}.film-interaction[data-interaction-state="2"] .interaction-child-task>span:first-child,.film-interaction[data-interaction-state="3"] .interaction-child-task>span:first-child{background:#5a9d62;color:white}.interaction-route{position:absolute;top:54%;left:25%;right:25%;height:2px;background:#89bc964d}.interaction-packet{position:absolute;z-index:3;top:calc(54% - 15px);left:25%;transform:translateX(-50%);padding:8px 12px;background:#115e48;color:#f0f8e7;border-radius:20px;box-shadow:0 8px 20px #174b3e33;font-size:.6rem;white-space:nowrap;pointer-events:none;opacity:0}.film-interaction .interaction-caption{font-size:.63rem;line-height:1.7;margin:26px 0 0;max-width:600px;color:#5d7f68}
@media(max-width:700px){.interaction-heading h2{font-size:2rem;line-height:1.05;margin-bottom:23px}.interaction-heading .film-eyebrow{font-size:.45rem}.interaction-showcase{width:100%;gap:18px}.interaction-phone{border-width:3px;border-radius:21px;padding:16px 11px 12px}.interaction-app{gap:6px;margin-bottom:20px}.interaction-app img{width:25px;height:25px;border-radius:7px}.interaction-app>span{font-size:.59rem}.interaction-app small{font-size:.43rem}.interaction-kicker{font-size:.36rem;letter-spacing:.06em;margin-bottom:12px}.interaction-phone h3{font-size:1.35rem;margin-bottom:17px}.interaction-task-meta{font-size:.47rem;padding:10px 0;flex-wrap:wrap}.interaction-state{gap:5px;margin:14px 0;min-height:45px}.interaction-state strong{font-size:.46rem;overflow-wrap:normal}.interaction-state-icon{width:19px;height:19px;font-size:.7rem}.interaction-child-task{font-size:.46rem;padding:10px 0;gap:5px}.interaction-child-task>span:first-child{width:15px;height:15px}.interaction-child-task small{font-size:.4rem}.interaction-packet{font-size:.47rem;padding:7px 9px}.film-interaction .interaction-caption{font-size:.5rem;margin-top:22px;max-width:320px}.film-interaction{inset-inline:6%}}
@media(max-width:380px){.interaction-phone{padding:14px 9px 10px}.interaction-app{gap:5px}.interaction-app>span{font-size:.52rem}.interaction-app img{width:22px;height:22px}.interaction-phone h3{font-size:1.22rem}.interaction-showcase{gap:13px}.interaction-heading h2{font-size:1.8rem}.interaction-state-icon{display:none}}
.film-linear .interaction-packet{display:none}.film-linear .film-interaction{background:#ddefe2}html:not(.film-enabled) .interaction-child-task{opacity:1}
/* Zoom through the approved g's upper opening into the next full-screen scene. */
.film-portal{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;display:none}
.film-scene.portal-intro{z-index:4;will-change:auto}
.portal-intro .film-intro-logo{transform-origin:15% 44.5%;will-change:transform;backface-visibility:hidden}
.portal-intro>h1,.portal-intro>p,.portal-intro>.film-scroll-cue{opacity:var(--portal-copy-opacity,1)}
.film-scene.portal-destination{z-index:2;transform-origin:50% 50%;background:#093e40;box-shadow:0 0 0 200vmax #093e40}
.film-linear .film-portal,html:not(.film-enabled) .film-portal{display:none!important}
.film-linear .film-intro-logo{transform:none!important;opacity:1!important}
.film-linear .film-intro>h1,.film-linear .film-intro>p,.film-linear .film-scroll-cue{opacity:1!important}
@media(prefers-reduced-motion:reduce){.film-portal{display:none!important}.film-intro-logo{transform:none!important}}
/* Independent, contour-traced SVG layers: lettering detaches; g remains sharp. */
.film-intro-logo{position:relative;aspect-ratio:1774/887}
.film-intro-logo .portal-logo-g{display:block;width:100%;height:auto;will-change:transform;backface-visibility:hidden}
.film-intro-logo .portal-logo-word{position:absolute;inset:0;width:100%;height:auto;will-change:transform,opacity;pointer-events:none}
.portal-intro .film-intro-logo{transform:none!important;will-change:auto}
.film-linear .portal-logo-g,.film-linear .portal-logo-word{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.portal-logo-g,.portal-logo-word{transform:none!important;opacity:1!important}}
/* Scale vector geometry inside SVG, avoiding a cached bitmap compositor layer. */
.film-intro-logo .portal-logo-g{overflow:visible;will-change:auto;backface-visibility:visible;transform:none!important}
/* New editorial opening; the portal reveals the already-present studio backdrop. */
.film-intro{display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:auto auto auto auto;grid-template-areas:"eyebrow mark" "title mark" "description mark" "cue mark";align-content:center;align-items:start;justify-content:initial;text-align:left;column-gap:50px;row-gap:23px;color:#123e3b}
.film-intro .film-intro-logo{grid-area:mark;width:100%;max-width:none;margin:0;align-self:center}
.film-intro-eyebrow{grid-area:eyebrow;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#6a7d6e;line-height:1.8}
.film-intro h1{grid-area:title;font-size:clamp(4rem,6.6vw,7.4rem);line-height:1.02;margin:0;letter-spacing:-.065em}
.film-intro h1 em{color:#2b8064}.film-intro>p{grid-area:description;font-size:.9rem;line-height:1.9;color:#62756b;margin:0;max-width:390px}
.film-intro .film-scroll-cue{grid-area:cue;font-size:.56rem;letter-spacing:.08em;margin-top:18px;border-top:1px solid #bfd0c2;padding-top:20px;justify-content:space-between;width:min(100%,300px);color:#305f4c}
.portal-intro .film-intro-eyebrow{opacity:var(--portal-copy-opacity,1)}
.film-scene.portal-destination{background:transparent;box-shadow:none}
.film-linear .film-intro-eyebrow{opacity:1}
@media(max-width:1000px){.film-intro{column-gap:30px}.film-intro h1{font-size:clamp(3.5rem,7vw,5.5rem)}.film-intro>p{font-size:.8rem}}
@media(max-width:700px){.film-intro{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "description" "mark" "cue";row-gap:17px;align-content:center}.film-intro-eyebrow{font-size:.49rem}.film-intro h1{font-size:clamp(3.1rem,12vw,4.8rem)}.film-intro>p{font-size:.75rem;line-height:1.7}.film-intro .film-intro-logo{width:90%;max-width:380px;justify-self:center;margin-top:3px}.film-intro .film-scroll-cue{font-size:.47rem;margin-top:3px;padding-top:14px;width:100%}}
@media(max-width:700px) and (max-height:750px){.film-intro{row-gap:12px}.film-intro h1{font-size:2.9rem}.film-intro .film-intro-logo{width:75%;max-width:250px}.film-intro>p{font-size:.7rem}}
/* Keep the destination's background visible independently from its foreground. */
.film-world{background-image:linear-gradient(#aacdb010 1px,transparent 1px),linear-gradient(90deg,#aacdb010 1px,transparent 1px);background-size:64px 64px}

/* A complete studio opening, followed directly by the products. */
.film{height:660svh}
.film-intro{grid-template-rows:repeat(5,auto);grid-template-areas:"eyebrow mark" "title mark" "description mark" "actions mark" "cue mark";row-gap:20px}
.film-intro h1{font-size:clamp(3.6rem,5.7vw,6.7rem)}
.film-intro>p{max-width:430px}.film-intro>p strong{font-weight:500;color:#315d4d;font-size:.85em}
.film-intro-actions{grid-area:actions;display:flex;align-items:center;gap:25px;font-size:.75rem}
.film-intro-actions .button{font-size:.72rem;padding:13px 20px;gap:18px}
.portal-intro .film-intro-actions{opacity:var(--portal-copy-opacity,1)}
.film-linear .film-intro-actions{opacity:1}
@media(max-width:700px){.film-intro{grid-template-areas:"eyebrow" "title" "description" "actions" "mark" "cue";row-gap:13px}.film-intro h1{font-size:clamp(2.7rem,10vw,4.4rem)}.film-intro-actions{gap:22px;font-size:.67rem}.film-intro-actions .button{font-size:.65rem;padding:11px 16px}.film-intro .film-intro-logo{width:78%;max-width:320px}.film-intro .film-scroll-cue{margin-top:0}}
@media(max-width:700px) and (max-height:750px){.film-intro{row-gap:10px}.film-intro h1{font-size:clamp(2.45rem,10vw,3.3rem)}.film-intro .film-intro-logo{width:62%;max-width:210px}.film-intro>p{font-size:.67rem;line-height:1.65}.film-intro .film-scroll-cue{padding-top:9px}}

/* Chapter controls: arrows frame the dots, with larger click targets. */
.film-dots{right:14px;align-items:center;gap:3px;width:40px}
.film-dots button{width:36px;height:25px;border:0;border-radius:0;display:grid;place-items:center}
.film-dots button::before{inset:0}
.film-dots button::after{content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%;background:transparent}
.film-dots button[aria-current=step]{background:transparent;box-shadow:none}
.film-dots button[aria-current=step]::after{background:currentColor;box-shadow:0 0 0 4px #7fb79e25}
.film-dots .film-arrow{height:36px;border:1px solid #7a9d7e55;border-radius:50%;background:#ffffff60;margin-block:5px;transition:background .2s,opacity .2s}
.film-dots .film-arrow::after{display:none}.film-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.film-dots .film-arrow:hover:not(:disabled){background:#ffffffb0}.film-dots .film-arrow:disabled{opacity:.22;cursor:default}

@media(max-width:700px){.film-dots{right:3px;width:30px}.film-dots button{width:28px;height:23px}.film-dots .film-arrow{height:28px}.film-arrow svg{width:16px;height:16px}}
