.journey{height:1100svh}.scene{--scan:0;--flight:0;--space:0;--breakfast:0;--shop:0;--ground:1;--return:0}.header nav{display:flex;align-items:center;gap:26px}.header nav>button{background:none;font-size:10px;letter-spacing:.2em;min-height:44px;padding:8px 0}.header nav .menu-toggle{font-size:10px}.landscape{opacity:var(--ground);transform:translateY(var(--ground-y,0px));will-change:transform,opacity}.space{position:absolute;inset:0;z-index:-1;opacity:var(--space);background:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px) 0 0/137px 179px,radial-gradient(circle at 70% 60%,#a4d4e5 0 1px,transparent 1.7px) 0 0/213px 163px,radial-gradient(ellipse at 65% 100%,#3b9db7,transparent 70%),#071f36}.earth{position:absolute;width:150vw;height:150vw;border-radius:50%;top:70%;left:-25%;background:radial-gradient(ellipse at 48% 5%,#dcebf2,#63b5cc 12%,#14749e 26%,#143b69 50%);box-shadow:0 -10px 50px #bbf6ff99}.clouds{position:absolute;inset:-20%;z-index:6;opacity:var(--cloud-opacity,0);pointer-events:none;background:radial-gradient(ellipse at 20% 50%,#fff,transparent 35%),radial-gradient(ellipse at 90% 65%,#fff,transparent 40%);filter:blur(25px);transform:translateY(var(--cloud-y,0px))}.story-panel{position:absolute;opacity:0;visibility:hidden;pointer-events:none}.story-panel.active{visibility:visible;pointer-events:auto}.story-panel h2{font-family:"Otherworld Display",Didot,serif;font-size:clamp(52px,7.5vw,140px);line-height:.88;letter-spacing:-.055em;font-weight:700;margin:22px 0}.story-panel h2 em{display:inline-block;font-family:"Otherworld Script",cursive;font-weight:400;color:var(--yellow);letter-spacing:-.025em;line-height:1.05}.scan-panel{left:7%;top:20%;z-index:9;opacity:var(--scan);width:36%;text-shadow:0 2px 20px #174e3e33}.scan-panel h2{font-size:clamp(44px,5.6vw,95px)}.scan-readouts{margin-top:30px;max-width:310px}.scan-readouts p{padding:12px 0;margin:0;border-top:1px solid #fff6;font-size:14px;line-height:1.5}.scan-readouts span{display:block;font-size:8px;letter-spacing:.22em;opacity:.8}.tiny-copy{font-size:8px;letter-spacing:.18em;line-height:1.8;margin-top:26px}.flight-copy{left:7%;top:25%;z-index:9;opacity:var(--flight)}.flight-copy>p:last-child{line-height:1.7;font-size:15px}.breakfast{inset:0;z-index:12;opacity:var(--breakfast)}.breakfast-photo{position:absolute;inset:0;background:url('assets/breakfast.png') center/cover}.breakfast-copy{position:absolute;left:5%;top:12%;padding:24px 30px 25px;max-width:520px;color:#143729;background:#fff8e6ed;box-shadow:0 10px 50px #1437290a}.breakfast-copy h2{font-size:clamp(43px,5vw,85px)}.breakfast-copy p:not(.eyebrow){font-size:14px;line-height:1.7;margin:18px 0}.breakfast-copy button{background:#174e3e;color:#fff9e8;padding:16px 20px;font-size:9px;letter-spacing:.2em}.milk-shop{inset:0;z-index:14;background:#f6f3e8;color:#153c2c;opacity:var(--shop);display:grid;grid-template-columns:54% 46%;padding:9vh 6% 9vh 4%;gap:3%}.product-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;background:radial-gradient(ellipse at center,#edf0d1,transparent 68%)}.product-image{position:relative;z-index:2;height:88%;width:80%;object-fit:contain;filter:drop-shadow(0 20px 18px #163e2f15)}.product-orbit{position:absolute;bottom:5%;width:85%;height:15%;border-radius:50%;border:1px solid #174e3e22;box-shadow:0 1px 0 #fff,0 40px 50px #b3bcab1a}.product-caption{position:absolute;bottom:0;font-size:8px;letter-spacing:.22em;text-align:center}.shop-copy{align-self:center;max-width:480px}.shop-copy h2{font-size:clamp(58px,7.7vw,140px);margin:18px 0 12px}.shop-intro{line-height:1.6;font-size:13px;margin:14px 0 22px}.variants{border:0;padding:0;margin:0 0 22px;display:flex;gap:8px;flex-wrap:wrap}.variants legend{font-size:9px;letter-spacing:.15em;padding-bottom:10px;text-transform:uppercase}.variants label{cursor:pointer;position:relative}.variants input{position:absolute;opacity:0;width:1px;height:1px}.variants span{display:block;border:1px solid #174e3e55;border-radius:30px;padding:11px 15px;font-size:11px}.variants input:checked+span{background:#174e3e;color:#fff9e8;border-color:#174e3e}.variants input:focus-visible+span{outline:3px solid #d4a600;outline-offset:3px}.product-details{border-top:1px solid #174e3e33;padding-top:18px}.product-name{font-family:"Otherworld Display",serif;font-size:25px;letter-spacing:-.04em;margin:0 0 8px}.product-description,.product-volume{font-size:11px;line-height:1.5;margin:5px 0}.product-volume{opacity:.7}.purchase-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.quantity{display:flex;align-items:center;border:1px solid #174e3e55;border-radius:7px}.quantity button{background:none;color:#174e3e;width:42px;height:42px;font-size:22px}.quantity output{width:28px;text-align:center;font-size:13px}.product-price{font-family:"Otherworld Display",serif;font-size:32px;margin:0}.add-to-bag{display:flex;justify-content:space-between;width:100%;background:#174e3e;color:#fff9e8;padding:18px 22px;font-size:11px;letter-spacing:.2em}.add-to-bag:hover{background:#256749}.shop-footnote{font-size:9px;opacity:.65;line-height:1.5}.shop-feedback{font-size:11px;min-height:16px;margin:9px 0 0}.scene.shop-active .header,.scene.shop-active .scene-footer{color:#174e3e}.scene.breakfast-active .header{color:#163d2c;text-shadow:0 1px 10px #fff}.scene.breakfast-active .scene-footer{color:#fff;text-shadow:0 1px 8px #123}.ending{inset:18% 5% auto;opacity:var(--return);z-index:17;color:#fff9e8}.ending h2{font-size:clamp(60px,9vw,145px)}.ending>p:not(.eyebrow){font-size:13px}.end-actions{display:flex;gap:12px;justify-content:center;margin-top:25px}.end-actions button{padding:15px 20px;letter-spacing:.16em;font-size:9px}.return-shop{background:#174e3e;color:#fff9e8}.chapter-nav{display:flex;flex-direction:column;gap:6px}.chapter-nav button{color:#174e3e;background:none;padding:14px;text-align:left;border-bottom:1px solid #174e3e22;font-size:13px}.chapter-nav button:hover{background:#e8e8d2}.cart{position:fixed;inset:0 0 0 auto;margin:0;height:100svh;max-height:none;width:min(500px,100%);max-width:100%;border:0;background:#f6f3e8;color:#174e3e;padding:32px;overflow:auto}.cart::backdrop{background:#0d302f66;backdrop-filter:blur(6px)}.cart-head{display:flex;justify-content:space-between;align-items:center}.close-cart{font-size:10px;letter-spacing:.15em;padding:10px;background:none;color:#174e3e;min-height:44px}.cart h2{font-family:"Otherworld Display",serif;font-size:60px;line-height:1;margin:30px 0}.cart h2 em{font-family:"Otherworld Script",cursive;color:#bb8e00;font-weight:400}.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:16px;padding:20px 0;border-top:1px solid #174e3e22;align-items:center}.cart-item img{width:60px;height:105px;object-fit:contain}.cart-item h3{font-size:14px;margin:0 0 8px}.cart-item p{font-size:11px;margin:5px 0}.cart-item-controls{display:flex;gap:12px;align-items:center;margin-top:10px}.cart-item-controls button{background:none;color:#174e3e;min-width:30px;min-height:30px}.remove-item{font-size:9px;text-decoration:underline}.cart-item>strong{font-size:13px}.cart-summary{border-top:1px solid #174e3e44;margin-top:20px;padding-top:15px}.cart-summary>p:first-child{display:flex;justify-content:space-between}.checkout-button,.back-to-bag,.empty-shop{padding:18px;width:100%;background:#174e3e;color:#fff9e8;font-size:10px;letter-spacing:.15em}.checkout-button:disabled{opacity:.4;cursor:default}.cart-note{font-size:10px;line-height:1.6;opacity:.7}.checkout-preview h3{font-family:"Otherworld Display",serif;font-size:45px;line-height:1}.checkout-preview>p:not(.eyebrow){font-size:14px;line-height:1.7}.empty-bag{font-family:"Otherworld Display",serif;font-size:28px;line-height:1.2;margin:40px 0}.quantity button:disabled{opacity:.3;cursor:default}
@media(max-aspect-ratio:1/1){.header nav{gap:13px}.header nav>button{font-size:8px;letter-spacing:.08em}.header nav .menu-toggle{display:none}.brand{max-width:115px;line-height:1.6}.scan-panel{left:6%;top:24%;width:90%}.scan-panel h2{font-size:45px}.scan-readouts{max-width:190px;margin-top:16px}.scan-readouts p{font-size:11px;padding:10px 0}.tiny-copy{display:none}.flight-copy{left:7%;top:25%}.flight-copy h2{font-size:55px}.breakfast-photo{background-position:62% center}.breakfast-copy{left:6%;right:6%;top:auto;bottom:10%;padding:18px 22px;max-width:370px}.breakfast-copy h2{font-size:36px;margin:10px 0}.breakfast-copy p:not(.eyebrow){font-size:11px;margin:8px 0}.breakfast-copy .eyebrow{font-size:7px}.breakfast-copy button{padding:12px 16px;font-size:8px}.milk-shop{padding:8vh 7% 11vh;grid-template-columns:1fr;grid-template-rows:34% 66%;gap:0}.product-image{height:100%;width:100%}.product-orbit{bottom:0;height:12%;width:60%}.product-caption{display:none}.shop-copy{width:100%;max-width:none;align-self:center}.shop-copy>.eyebrow{font-size:7px}.shop-copy h2{font-size:42px;line-height:.83;margin:12px 0}.shop-copy h2 br{display:none}.shop-copy h2 em{margin-left:9px}.shop-intro{font-size:10px;line-height:1.4;margin:12px 0}.shop-intro br{display:none}.variants{gap:6px;margin:12px 0}.variants legend{font-size:8px;padding-bottom:7px}.variants span{padding:9px 12px;font-size:10px}.product-details{padding-top:12px}.product-name{font-size:20px}.product-description{display:none}.product-volume{font-size:10px}.purchase-row{margin:12px 0}.quantity button{width:37px;height:36px}.product-price{font-size:27px}.add-to-bag{padding:15px 20px}.shop-footnote{font-size:8px}.shop-feedback{font-size:10px;margin:5px 0;min-height:10px}.ending{inset:22% 5% auto}.ending h2{font-size:64px}.end-actions{flex-direction:column;align-items:center}.ending .eyebrow{font-size:8px}.scene-footer .signature{max-width:100px}.scene-footer .scroll-cue{font-size:7px}.cart{padding:24px}.cart h2{font-size:50px}.cart-item{gap:10px}}
@media(prefers-reduced-motion:reduce){.journey{height:900svh}.landscape,.clouds{transform:none!important}.cow-wrap,.ufo-wrap{transform:translateX(-50%)!important}.progress span{transition:none}}

.cow-wrap{transform:translate(-50%,var(--cow-y)) rotate(calc(var(--lift,0) * 330deg)) scale(calc(1 - var(--lift,0) * .72))}.ufo{transform:perspective(1000px) rotateY(calc(var(--lift,0) * 360deg))}.product-stage[data-variant=lactose]{background:radial-gradient(ellipse at center,#e0ebd8,transparent 70%)}.product-stage[data-variant=cocoa]{background:radial-gradient(ellipse at center,#eddbca,transparent 70%)}@media(prefers-reduced-motion:reduce){.ufo{transform:none}}

/* A single viewport stage; document scroll controls the timeline. */
.scene{position:fixed;inset:0;width:100%;height:100svh;transform:translateZ(0)}
@media(max-aspect-ratio:1/1){.breakfast{background:#f6f3e8}.breakfast-photo{top:9%;bottom:auto;width:100%;aspect-ratio:3/2;background-position:center;background-size:cover}.breakfast-copy{top:calc(9svh + 66.667vw);bottom:auto;max-width:none;background:transparent;padding:18px 0}.breakfast-active .scene-footer{color:#174e3e}}
@media(max-aspect-ratio:1/1){.breakfast-active .scene-footer .signature,.breakfast-active .scene-footer .scroll-cue{color:#174e3e;text-shadow:none}}

/* Scan: centered type and readable glass mission readouts. */
.scan-panel{left:50%;top:23%;width:min(840px,76%);transform:translateX(-50%);text-align:center;text-shadow:0 2px 20px #123e5480}
.scan-panel>.eyebrow{font-size:10px;letter-spacing:.25em}
.scan-panel h2{font-size:clamp(46px,5.2vw,88px);margin:12px 0 20px;line-height:.9}
.scan-panel h2 br{display:none}
.scan-panel h2 em{margin-left:.12em;text-shadow:0 2px 15px #264c4c70}
.scan-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none;margin:0 auto;text-shadow:none;text-align:left}
.scan-readouts p{padding:17px 20px;border:1px solid #ffffff70;border-radius:14px;background:rgba(15,55,68,.74);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);box-shadow:inset 0 1px 0 #ffffff24,0 8px 25px #092e3c12;color:#fff9e8;font-size:15px;line-height:1.5}
.scan-readouts span{color:#ffe18a;font-size:9px;letter-spacing:.18em;margin-bottom:7px;opacity:1}
.scan-panel>.tiny-copy{display:none}
@media(max-aspect-ratio:1/1){
.scan-panel{inset:23% 5% 14%;width:auto;transform:none;display:flex;flex-direction:column;align-items:center}
.scan-panel h2{font-size:clamp(40px,7vw,65px);max-width:600px;margin:14px 0}
.scan-panel h2 br{display:block}
.scan-panel h2 em{margin-left:0}
.scan-readouts{width:100%;margin-top:auto;gap:7px}
.scan-readouts p{padding:12px 10px;font-size:12px;line-height:1.4;border-radius:11px}
.scan-readouts span{font-size:7px;letter-spacing:.08em;margin-bottom:6px}
}
@media(max-height:600px) and (min-aspect-ratio:1/1){.scan-panel{top:22%}.scan-panel h2{font-size:42px;margin:8px 0 12px}.scan-readouts p{padding:10px 14px;font-size:13px}}
@media(max-aspect-ratio:1/1){.scan-panel{top:29%}}

/* Figma 1851:272 — translucent neutral fill, 33px corners. */
.scan-readouts p{background:rgba(217,217,217,.2);border:0;border-radius:33px;backdrop-filter:blur(28px) saturate(110%);-webkit-backdrop-filter:blur(28px) saturate(110%);box-shadow:none;color:#123e32;font-weight:600;padding:21px 25px}
.scan-readouts span{color:#174e3e;font-weight:700}
@media(max-aspect-ratio:1/1){.scan-readouts p{border-radius:33px;padding:18px 13px;font-size:12px}.scan-readouts span{font-size:7px}}

/* Match the reference proportions and its shallow, clear glass treatment. */
.scan-readouts{grid-template-columns:repeat(3,minmax(0,222px));justify-content:center;gap:16px}
.scan-readouts p{position:relative;isolation:isolate;min-height:201px;padding:25px 28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:33px;background:rgba(217,217,217,.2);backdrop-filter:blur(4px) saturate(105%);-webkit-backdrop-filter:blur(4px) saturate(105%);box-shadow:inset 1px 1px 1px rgba(255,255,255,.8),inset -1px -1px 1px rgba(255,255,255,.24),inset 3px 3px 8px rgba(255,255,255,.18),inset -3px -3px 9px rgba(24,58,43,.12),0 5px 12px rgba(18,62,50,.06);font-size:12px;font-weight:400;line-height:1.4;color:#26362c}
.scan-readouts p:before{content:"";position:absolute;inset:1px;z-index:-1;pointer-events:none;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.23),transparent 35%,transparent 65%,rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.15)}
.scan-readouts span{font-size:12px;font-weight:400;color:#26362c;letter-spacing:0;margin:0}
.scan-number{display:block;font-family:Arial,sans-serif;font-size:68px;line-height:1.1;font-weight:400;letter-spacing:-3px;margin:10px 0}
@media(min-aspect-ratio:1/1){.scan-panel{top:24%;width:min(900px,80%)}.scan-panel h2{margin-bottom:24px;font-size:clamp(42px,4.6vw,78px)}}
@media(max-aspect-ratio:1/1){.scan-panel{bottom:11%}.scan-readouts{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.scan-readouts p{min-height:165px;padding:20px 15px;font-size:11px;border-radius:33px}.scan-readouts span{font-size:10px}.scan-number{font-size:50px;margin:8px 0}}
@media(max-width:430px){.scan-readouts p{min-height:143px;padding:17px 12px;font-size:10px}.scan-readouts span{font-size:8px}.scan-number{font-size:40px}}
@media(min-aspect-ratio:1/1){.scan-panel{bottom:9%;display:flex;flex-direction:column;align-items:center}.scan-readouts{width:100%;margin-top:auto}.scan-readouts p{min-height:180px}}

/* Mission stickers: opaque printed labels, scattered around the encounter. */
.scan-readouts{position:absolute;inset:0;display:block;margin:0;width:100%;pointer-events:none}
.scan-readouts p{position:absolute;width:210px;min-height:174px;padding:20px 24px;color:#173e30;background:#fff7dc;border:5px solid #fffdf1;border-radius:24px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 5px 0 #173e3026,0 12px 20px #133b2c26;overflow:visible;font-size:13px;font-weight:600;line-height:1.35;text-align:left;justify-content:space-between;transform:rotate(-8deg)}
.scan-readouts p:before{inset:5px;border:1px dashed #173e3045;background:none;border-radius:15px;z-index:-1}
.scan-readouts p:nth-child(1){left:-4%;top:42%;background:#fff7dc}
.scan-readouts p:nth-child(2){right:-4%;top:37%;background:#f9b7cd;border-radius:50% 50% 28px 28px;transform:rotate(9deg)}
.scan-readouts p:nth-child(2):before{border-radius:50% 50% 20px 20px}
.scan-readouts p:nth-child(3){right:0;bottom:1%;background:#ffda48;transform:rotate(-5deg);border-radius:12px 32px 12px 32px}
.scan-readouts p:nth-child(3):before{border-radius:5px 24px 5px 24px}
.scan-readouts span{font-size:10px;font-weight:700;letter-spacing:.14em;color:#173e30}
.scan-number{font-family:"Otherworld Display",Georgia,serif;font-size:55px;line-height:1;font-weight:700;margin:12px 0;letter-spacing:-.06em}
@media(min-aspect-ratio:1/1){.scan-panel{width:min(1040px,80%);bottom:13%}.scan-panel h2{white-space:nowrap}.scan-readouts p:nth-child(1){top:38%}.scan-readouts p:nth-child(2){top:29%}.scan-readouts p:nth-child(3){bottom:0}}
@media(max-aspect-ratio:1/1){.scan-panel{inset:29% 6% 12%}.scan-readouts p{width:145px;min-height:145px;padding:16px 18px;border-width:4px;font-size:11px}.scan-readouts span{font-size:8px}.scan-number{font-size:42px;margin:10px 0}.scan-readouts p:nth-child(1){left:0;top:33%}.scan-readouts p:nth-child(2){right:0;top:38%}.scan-readouts p:nth-child(3){right:5%;bottom:0}}
@media(max-width:430px){.scan-readouts p{width:113px;min-height:126px;padding:13px 12px;font-size:10px}.scan-readouts span{font-size:7px;letter-spacing:.08em}.scan-number{font-size:34px}.scan-readouts p:nth-child(1){left:-2%;top:31%}.scan-readouts p:nth-child(2){right:-2%;top:36%}.scan-readouts p:nth-child(3){right:0;bottom:0}}
@media(max-height:650px) and (min-aspect-ratio:1/1){.scan-readouts p{width:160px;min-height:130px;padding:14px 18px;font-size:11px}.scan-number{font-size:38px;margin:5px 0}.scan-readouts p:nth-child(1){left:0}.scan-readouts p:nth-child(2){right:0}.scan-readouts p:nth-child(3){right:20%;bottom:-2%}}

/* Sticker typography: the message leads, chapter numbers stay in the timeline. */
.scan-readouts p{justify-content:center;gap:15px;padding:26px 27px;font-family:Arial,Helvetica,sans-serif;font-weight:400;text-align:center}
.scan-readouts span{font-size:9px;line-height:1.4;letter-spacing:.16em;font-weight:500;color:#315343}
.scan-readouts strong{display:block;font-size:23px;line-height:1.12;letter-spacing:-.055em;font-weight:500;color:#173e30}
.scan-readouts p:nth-child(2){padding-top:37px;padding-bottom:26px}
.scan-readouts p:nth-child(2) span{font-size:8px;letter-spacing:.12em}
@media(max-aspect-ratio:1/1){.scan-readouts p{padding:20px 17px;gap:12px}.scan-readouts span{font-size:8px;letter-spacing:.11em}.scan-readouts strong{font-size:19px;line-height:1.13;letter-spacing:-.045em}.scan-readouts p:nth-child(2){padding-top:28px;padding-bottom:19px}.scan-readouts p:nth-child(2) span{font-size:7px;letter-spacing:.08em}}
@media(max-width:430px){.scan-readouts p{padding:18px 10px;gap:10px}.scan-readouts span{font-size:7px}.scan-readouts strong{font-size:16px}.scan-readouts p:nth-child(2){padding-top:26px;padding-bottom:18px}.scan-readouts p:nth-child(2) span{font-size:6px;letter-spacing:.06em}}
@media(max-height:650px) and (min-aspect-ratio:1/1){.scan-readouts p{padding:18px;gap:10px}.scan-readouts strong{font-size:18px}.scan-readouts p:nth-child(2){padding:25px 18px 18px}}

/* The fourth mission seal completes the set; scroll presses each one down. */
.scan-readouts p:nth-child(4){left:0;bottom:0;background:#baddc2;transform:rotate(6deg);border-radius:50%;width:180px;min-height:180px;padding:28px 22px}
.scan-readouts p:nth-child(4):before{border-radius:50%}
.scan-readouts p:nth-child(1){--sticker-angle:-8deg}
.scan-readouts p:nth-child(2){--sticker-angle:9deg}
.scan-readouts p:nth-child(3){--sticker-angle:-5deg}
.scan-readouts p:nth-child(4){--sticker-angle:6deg}
.scan-readouts p:nth-child(n){opacity:0;transform:translateY(-25px) rotate(calc(var(--sticker-angle) - 12deg)) scale(1.2);transform-origin:50% 80%;transition:transform .58s cubic-bezier(.2,1.5,.45,1),opacity .2s ease;will-change:transform,opacity}
.scan-readouts p.stuck:nth-child(n){opacity:1;transform:translateY(0) rotate(var(--sticker-angle)) scale(1)}
@media(max-aspect-ratio:1/1){.scan-readouts p:nth-child(4){left:3%;bottom:0;width:140px;min-height:140px;padding:23px 17px}.scan-readouts p:nth-child(3){right:3%}}
@media(max-width:430px){.scan-readouts p:nth-child(4){left:0;width:115px;min-height:115px;padding:18px 10px}.scan-readouts p:nth-child(3){right:0}}
@media(max-height:650px) and (min-aspect-ratio:1/1){.scan-readouts p:nth-child(4){left:20%;bottom:-2%;width:130px;min-height:130px;padding:20px 14px}}
@media(prefers-reduced-motion:reduce){.scan-readouts p:nth-child(n){transition:none;transform:rotate(var(--sticker-angle));will-change:auto}}

/* Keep the label and headline together at the midpoint of the beam. */
.scan-heading{position:fixed;left:50%;top:37%;width:max-content;max-width:90vw;transform:translate(-50%,-50%);text-align:center}
.scan-heading>.eyebrow{font-size:10px;letter-spacing:.25em;line-height:1.8}
.scan-heading h2{margin:12px 0 0}
@media(max-aspect-ratio:1/1){.scan-heading{top:41%;width:90%;max-width:90%}.scan-heading h2{margin:12px auto 0}.scan-heading>.eyebrow{font-size:9px}}
.scan-readouts p,.scan-readouts span,.scan-readouts strong{color:#111}
.scan-heading{position:absolute;top:13svh}
@media(max-aspect-ratio:1/1){.scan-heading{top:12svh}}
/* Enlarge the scan headline while keeping its center in the beam. */
.scan-heading h2{font-size:clamp(50px,5.5vw,94px)}
@media(max-aspect-ratio:1/1){.scan-heading h2{font-size:clamp(46px,8.2vw,76px)}}
@media(max-height:600px) and (min-aspect-ratio:1/1){.scan-heading h2{font-size:49px}}

/* Flight continues through the same sunlit world, without a second visual style. */
.landscape{transform:scale(calc(1 + var(--lift,0) * .09));transform-origin:center 35%}
.space{background:#258fc0 url('assets/flight-sky.png') center/cover no-repeat}
.space .earth,.clouds{display:none}
.ufo{transform:rotate(calc(var(--lift,0) * 18deg));transform-origin:center}
.flight-copy{top:32%;left:7%;max-width:40%;text-shadow:0 2px 24px #17415d66}
.flight-copy h2{font-size:clamp(54px,6vw,100px)}
.flight-copy>p:last-child{font-size:15px;line-height:1.6}
@media(max-aspect-ratio:1/1){.flight-copy{left:7%;top:35%;max-width:86%}.flight-copy h2{font-size:clamp(48px,9vw,72px)}}
@media(prefers-reduced-motion:reduce){.ufo{transform:none}}

/* Camera ascent: an opaque meadow scrolls down over a continuous sky. */
.space{opacity:1;z-index:-2}
.landscape{z-index:-1;opacity:1;transform:translate3d(0,var(--ground-y,0px),0);transform-origin:center;will-change:transform;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 100%)}
@media(prefers-reduced-motion:reduce){.landscape{transform:translateY(var(--ground-y,0px))!important}}

/* Match both sky plates and feather only their joining edge. */
.space{filter:brightness(.92) saturate(.94)}
.landscape{mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.65) 22%,#000 34%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.65) 22%,#000 34%,#000 100%)}
/* Blur outside the cone silhouette, then let the lower light disperse. */
.beam{top:17%;bottom:-12%;width:43%;clip-path:none;background:none;filter:blur(15px);mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.7) 52%,rgba(0,0,0,.22) 75%,transparent 96%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 30%,rgba(0,0,0,.7) 52%,rgba(0,0,0,.22) 75%,transparent 96%)}
.beam:before{content:"";position:absolute;inset:0;clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(255,249,195,.8),rgba(255,252,218,.35) 40%,rgba(255,252,218,.08) 80%,transparent)}

/* Retouch only the blurred yellow petals in the upper-right sky. */
.landscape{background-image:url('assets/meadow-clean.png')}

/* Foreground flower plates share the exact composition of the meadow. */
.scene{--depth-x:0;--depth-y:0}
.parallax-flowers{position:absolute;inset:0;background:url('assets/meadow-clean.png') center/cover no-repeat;pointer-events:none;will-change:translate;translate:calc(var(--depth-x) * -13px) calc(var(--depth-y) * -9px)}
.flowers-left{mask-image:linear-gradient(90deg,#000 0%,#000 14%,transparent 31%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 14%,transparent 31%)}
.flowers-right{mask-image:linear-gradient(270deg,#000 0%,#000 12%,transparent 27%);-webkit-mask-image:linear-gradient(270deg,#000 0%,#000 12%,transparent 27%)}
.cow-wrap{translate:calc(var(--depth-x) * -8px) calc(var(--depth-y) * -5px)}
.ufo-wrap{translate:calc(var(--depth-x) * 4px) calc(var(--depth-y) * 3px)}
.headline-art{translate:calc(var(--depth-x) * 2px) calc(var(--depth-y) * 1px)}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.parallax-flowers{display:none}.cow-wrap,.ufo-wrap,.headline-art{translate:none}}

/* Independent depth planes: clean meadow, flower cutouts, cow and saucer. */
.landscape{background-image:url('assets/meadow-depth-base.png')}
.parallax-flowers{background-image:url('assets/flowers-depth.png');translate:calc(var(--depth-x) * -34px) calc(var(--depth-y) * -22px)}
.flowers-left{mask-image:linear-gradient(90deg,#000 0%,#000 47%,transparent 50%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 47%,transparent 50%)}
.flowers-right{mask-image:linear-gradient(270deg,#000 0%,#000 47%,transparent 50%);-webkit-mask-image:linear-gradient(270deg,#000 0%,#000 47%,transparent 50%);translate:calc(var(--depth-x) * -28px) calc(var(--depth-y) * -18px)}
.cow-wrap{translate:calc(var(--depth-x) * -17px) calc(var(--depth-y) * -11px)}
.ufo-wrap{translate:calc(var(--depth-x) * 8px) calc(var(--depth-y) * 5px)}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.parallax-flowers{display:block;translate:none}.cow-wrap,.ufo-wrap{translate:none}}
@media(max-aspect-ratio:1/1){.parallax-flowers{background-size:100% 100%}}

/* Flowers must not inherit the meadow seam mask. Overscan hides cutout edges. */
.foreground-flowers{position:absolute;inset:0;z-index:2;pointer-events:none;transform:translate3d(0,var(--ground-y,0px),0);will-change:transform}
.parallax-flowers{transform:scale(1.1);transform-origin:center;backface-visibility:hidden}
.parallax-flowers{inset:-42px;transform:none}

/* Center the flight message beneath the saucer. */
.flight-copy{left:50%;top:51%;transform:translate(-50%,-50%);width:84%;max-width:1100px;text-align:center}
.flight-copy h2{font-size:clamp(76px,8.2vw,150px);margin:22px 0 28px;line-height:.88}
.flight-copy>p:last-child{font-size:clamp(15px,1.1vw,20px);line-height:1.6;margin:0}
@media(max-aspect-ratio:1/1){.flight-copy{left:50%;top:54%;width:90%;max-width:90%}.flight-copy h2{font-size:clamp(60px,12vw,100px);margin:18px 0 24px}.flight-copy>p:last-child{font-size:15px}}
@media(max-height:600px) and (min-aspect-ratio:1/1){.flight-copy{top:55%}.flight-copy h2{font-size:clamp(64px,7vw,100px);margin:12px 0 16px}}
/* Subtle cow depth; retain the stronger foreground flower movement. */
.cow-wrap{translate:calc(var(--depth-x) * -7px) calc(var(--depth-y) * -4px)}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cow-wrap{translate:none}}
