/* Natural document flow owns the narrative. Only its visual companion is pinned. */
:root{--story-header:82px;--story-cream:#eee3dc}
html{scroll-padding-top:calc(var(--story-header) + 28px);scroll-behavior:auto}
.scrollytelling{overflow-x:clip;background:#100b0d}
.scrollytelling .site-header{height:var(--story-header);background:#100b0de8;backdrop-filter:blur(16px)}
.scrollytelling p{color:#c4b4b9}
.scrollytelling .js .reveal,.js .scrollytelling .reveal{opacity:1;transform:none}
.scrollytelling .section-pad{padding-top:110px;padding-bottom:110px}
.scrollytelling .section-heading{min-height:65svh;align-items:center;margin-bottom:0}
.scrollytelling .section-heading h2{font-size:clamp(54px,6.6vw,106px)}
.scrollytelling .section-intro{font-size:16px;line-height:2;max-width:390px}
.scrollytelling .section-kicker{position:relative;z-index:2}
.scrollytelling .hero{height:100svh;min-height:740px;overflow:clip}
.scrollytelling .hero-image,.scrollytelling .hero>img{transform:scale(calc(1.03 + var(--hero-progress,0)*.06));filter:brightness(calc(.9 - var(--hero-progress,0)*.18))}
.scrollytelling .hero-copy{transform:translateY(calc(var(--hero-progress,0)*-35px))}
.scrollytelling .brief-intro{min-height:70svh;align-items:center}
.scrollytelling .editorial-note{min-height:50svh;display:flex;flex-direction:column;justify-content:center;max-width:none;padding:60px 7vw;background:radial-gradient(ellipse at 85% 70%,#761d3440,transparent 60%);border-left:1px solid #ef344b70}
.scrollytelling .editorial-note h3{font-size:clamp(25px,3.3vw,46px);max-width:840px}
.scrollytelling .editorial-note>p{font-size:16px;max-width:810px}
.scroll-track{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;position:relative;isolation:isolate}
.scroll-steps{grid-column:1;grid-row:1;min-width:0}
.scroll-stage{grid-column:2;grid-row:1;position:sticky;top:calc(var(--story-header) + 24px);height:calc(100svh - var(--story-header) - 48px);min-height:520px;align-self:start;min-width:0;overflow:clip;background:radial-gradient(ellipse at 50% 52%,#6f26384a,transparent 70%)}
.story-step{min-height:calc(100svh - var(--story-header));display:flex;flex-direction:column;justify-content:center;position:relative;padding:90px 0;scroll-margin-top:calc(var(--story-header) + 32px)}
.step-copy{position:relative;z-index:1;border-top:1px solid #80616b50;padding-top:30px;max-width:570px}
.story-step.is-active .step-copy{border-color:#ef344b}
.step-copy>p{font-size:16px!important;line-height:2.1!important;max-width:none!important;min-height:0!important;color:#bdadb3!important;margin-top:18px}
.step-copy h3{font-size:clamp(28px,3.2vw,48px)!important;line-height:1.5!important;color:#f2e4df!important;letter-spacing:-.035em!important;margin:22px 0!important;max-width:620px}
.step-copy>small,.step-copy>span:first-child{font-size:10px;letter-spacing:.12em;line-height:1.8;color:#de8c9c}
.story-step .stage-evidence{margin:32px 0 18px}
.story-step .stage-evidence p{color:#e4c9ce;font-size:25px;line-height:1.6}
.story-step .demo-note{font-size:11px;color:#ae929d}
.story-step .next-stage{display:inline-flex;margin-top:22px;font-size:11px;color:#cbb0b9;gap:35px}
.scene-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(26px) scale(.96);transition:opacity .65s,transform .85s cubic-bezier(.2,.6,.2,1),visibility .65s;pointer-events:none}
.scene-layer.is-active{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.scene-layer.is-active>.phone,.scene-layer.is-active>.chat-device,.scene-layer.is-active>.story-stack{translate:0 calc((var(--scene-progress,.5) - .5)*-12px)}
.scene-layer.experience-visual{min-height:0;background:none}
.scene-layer .story-stack{width:310px;height:550px}
.scene-layer .phone{width:285px;height:550px;transform:none}
.scene-layer .phone:before{left:calc(50% - 40px)}
.scene-layer .chat-device{width:min(360px,78%);transform:none}
.scene-layer .gift-scene{width:90%;transform:none}
.scene-layer .midnight-demo{width:88%;position:relative;isolation:isolate}
.scene-layer .midnight-demo:before{content:'';position:absolute;inset:-100px -60px;background:linear-gradient(#16060b66,#100b0df0),url('assets/dj.webp') center/cover;z-index:-1}
.scene-layer .visual-tag{left:25px;top:auto;bottom:36px;height:auto;font-size:9px;max-width:75%;color:#efd7db}
.scene-layer .visual-side-note{right:20px;bottom:10px;font-size:10px}
.scene-layer .ar-status{left:5%;bottom:18%;z-index:5}
.scene-layer .story-reply{font-size:10px}
.scene-layer .story-sticker{font-size:44px}
.scene-layer .gift-placeholder{height:470px;width:80%}
.scene-layer .gift-placeholder>p{font-size:65px}
.scene-layer .claim-slip{right:-4%;bottom:10%;width:49%}
.scene-layer .sealed-screen{padding-top:25px}
.scene-layer .sealed-screen h4{font-size:34px}
.scene-layer .sealed-screen p{font-size:11px}
.scene-layer .sealed-screen .mini-envelope{width:145px;height:82px;margin:24px 0}
.memory-thread{position:absolute;inset:22px 25px auto;display:flex;gap:16px;align-items:center;font-size:9px;letter-spacing:.2em;color:#b98390}
.memory-thread i{height:1px;background:linear-gradient(90deg,#b93b56,#b93b5610);flex:1}
.visual-continuity{position:absolute;inset:auto 25px 9px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#c3929e;pointer-events:none}
.scroll-path-nav{position:sticky;top:var(--story-header);z-index:8;background:#130c10f5;backdrop-filter:blur(15px);padding:16px 0!important;margin-bottom:25px!important;border-bottom:1px solid var(--line)}
.scroll-path-nav button{opacity:1!important;color:#bd9ca8!important;transition:color .3s,border-color .3s;min-width:0}
.scroll-path-nav button.is-active{color:#fff!important;border-color:var(--red)!important;background:#ef344b0d}
.experience-scroll .scroll-stage{top:calc(var(--story-header) + 98px);height:calc(100svh - var(--story-header) - 122px)}
.editorial-track{margin:0!important;border:0!important;padding:0!important}
.editorial-track article{display:flex;grid-template-columns:none;border:0!important;margin:0!important;min-width:0}
.editorial-track .editorial-stage{top:calc(var(--story-header) + 24px)}
.editorial-art> .story-stack{width:300px;height:525px}
.editorial-art> .phone{width:280px;height:540px}
.editorial-art>.visual-slot-note{position:absolute;bottom:3%;font-size:11px;letter-spacing:.07em;color:#ba939e}
.scrollytelling .content-bridge{min-height:65svh;display:flex;flex-direction:column;justify-content:center;max-width:850px;margin:0}
.scrollytelling .content-bridge h3{font-size:clamp(30px,3.6vw,52px);line-height:1.5}
.scrollytelling .content-bridge>p{font-size:16px;max-width:740px}
.photo-booth{position:relative;width:85%;height:75%;min-height:440px}
.photo-booth>figure{position:absolute;top:3%;left:0;width:76%;margin:0;padding:12px 12px 24px;background:#e9dbce;box-shadow:0 25px 60px #0008;transform:rotate(-7deg);transition:transform .9s}
.photo-booth>figure:nth-child(2){top:27%;left:25%;transform:rotate(9deg)}
.photo-booth .scene-photo{margin:0;height:290px}
.photo-booth .scene-photo img{width:100%;height:100%;object-fit:cover}
.photo-booth .scene-photo figcaption{position:absolute;font-size:7px;left:8px;bottom:5px;color:#fff;text-shadow:0 1px 6px #000}
.photo-booth>figure>figcaption{color:#342528;font:italic 23px var(--serif);padding-top:12px;text-align:center}
.scene-layer.is-active .photo-booth>figure:first-child{transform:rotate(-5deg) translate(-4%, -3%)}
.scene-layer.is-active .photo-booth>figure:nth-child(2){transform:rotate(7deg) translate(3%,3%)}
.conversation-cards{position:relative;height:80%;width:80%;display:grid;place-content:center}
.conversation-cards>div{width:300px;max-width:100%;height:390px;padding:30px;font-size:9px;letter-spacing:.12em;background:#dfd0c2;color:#5b2633;border:1px solid #bf9e8d;box-shadow:0 22px 40px #0006;transform:rotate(-7deg)}
.conversation-cards strong{display:block;margin-top:65px;font:italic 55px/.95 var(--serif);letter-spacing:-.03em}
.conversation-cards>div:nth-child(2){position:absolute;left:20%;top:30%;background:#5c1a2d;color:#ead1cc;border-color:#a65e70;transform:rotate(8deg)}
.art-reservation{position:relative;isolation:isolate;min-height:520px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:35px;border:1px solid #b87f9445;background:radial-gradient(ellipse at 50% 45%,#6b24374d,transparent 65%)}
.art-reservation>span{font-size:9px;letter-spacing:.2em;color:#b68492}
.art-reservation>strong{font:400 clamp(25px,3vw,42px)/1.15 var(--serif);max-width:350px;position:relative}
.art-reservation>small{font-size:11px;color:#c19ba6;position:relative}
.reservation-art{position:relative;width:65%;height:250px;display:grid;place-content:center}
.reservation-art i{display:block;position:absolute;inset:5%;border:1px solid #c5819750;transform:perspective(500px) rotateY(-22deg)}
.reservation-art i:nth-child(2){inset:14% 15%;border-color:#eab6c590;transform:perspective(500px) rotateY(20deg)}
.reservation-art i:nth-child(3){inset:23% 25%;box-shadow:0 0 60px #d4477930}
.reservation-guides{position:absolute;inset:15px;pointer-events:none;background:linear-gradient(#cda4ad,#cda4ad) top left/18px 1px no-repeat,linear-gradient(#cda4ad,#cda4ad) bottom right/18px 1px no-repeat}
.memory-pair{position:absolute;bottom:4%;right:10%;font:italic 40px var(--serif);display:flex;align-items:center;gap:20px;color:#d5b6bf}.memory-pair i{width:45px;height:1px;background:#b77085}
.booking-composition{position:relative;width:100%;display:flex;align-items:center;justify-content:center}
.booking-date{position:absolute;bottom:-25px;right:0;background:#e6d5ca;color:#552333;padding:22px;box-shadow:0 20px 40px #0006;transform:rotate(4deg)}
.booking-date span,.booking-date small{display:block;font-size:8px;letter-spacing:.08em}
.booking-date strong{font:55px var(--serif);display:block;line-height:1.2}
.scrollytelling .brief-strip{min-height:55svh;display:flex;align-items:center;margin:0}
.scrollytelling .brief-strip>p{font-size:clamp(30px,4vw,58px)}
.scrollytelling .connection-flow{min-height:45svh;align-items:center;position:relative;margin-bottom:50px}
.flow-marker{display:block;width:6px;height:6px;margin:0 0 20px;border:1px solid #c76881;background:#57192b;border-radius:50%;box-shadow:0 0 18px #ed3e6470}
.scrollytelling .evidence-composition{min-height:100svh;align-items:center}
.scrollytelling .growth-note{min-height:30svh;display:flex;align-items:center;font-size:16px;max-width:850px}
.scrollytelling .outcomes-head{padding-top:10svh;margin-bottom:35px}.scrollytelling .outcomes-head p{font-size:14px}
.scrollytelling .outcomes{margin-bottom:10svh}
.scrollytelling .midnight{padding-bottom:0;overflow:clip;min-height:100svh}
.scrollytelling .midnight>.midnight-copy{padding-top:8svh}
.scrollytelling .midnight>.envelope{margin-top:50px;margin-bottom:40px}
.scrollytelling .midnight>.midnight-footnote{position:relative;inset:auto;grid-column:1/-1;padding-bottom:7svh;font-size:13px}
.scrollytelling .auto-letter-scene{grid-column:1/-1;width:calc(100% + var(--pad)*2);margin-left:calc(var(--pad)*-1)}
.scrollytelling .midnight.is-unsealed .envelope-flap{transform:rotateX(170deg);transform-origin:top;transition:transform 1s}
.auto-letter-scene{position:relative;min-height:100svh;padding:100px var(--pad);display:grid;place-items:center;isolation:isolate;overflow:clip;margin-top:6svh;border-top:1px solid #af6b8140}
.letter-photo{position:absolute;inset:0;z-index:-2}.letter-photo figure{margin:0;height:100%;width:100%}.letter-photo img{width:100%;height:100%;filter:brightness(.22) saturate(.7)}.letter-photo figcaption{position:absolute;bottom:22px;left:25px;font-size:9px;color:#b48b99}
.auto-letter-scene:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#2e142a22,#140a12dd);z-index:-1}
.scroll-letter{position:relative;background:#eaddd1;color:#4b2634;max-width:640px;width:100%;padding:60px 65px;box-shadow:0 30px 120px #0008;transform:rotate(-1.4deg);border:1px solid #bd9689}
.scroll-letter .red-label{color:#9d455e}.scroll-letter p{color:#6e4856;font-size:16px;line-height:2.1}.scroll-letter h2{color:#4b2634;font-family:var(--serif);font-size:42px;line-height:1.4;margin:25px 0}.scroll-letter h2 em{color:#993f58}.scroll-letter .letter-salutation{font:italic 26px var(--serif)}.scroll-letter .letter-signature{color:#884a5c;margin:25px 0 35px}.scroll-letter small{font-size:10px;line-height:1.9;color:#8b6671}.scroll-letter .letter-stamp{right:35px;top:50px;color:#a16b7e;opacity:.6}
.scrollytelling .scene-break{height:100svh;min-height:700px;overflow:clip}.scrollytelling .scene-break img{height:100%;object-fit:cover}
.scrollytelling .afterglow{min-height:90svh;padding:10svh 0}
.scrollytelling .next-top{min-height:70svh;display:flex;flex-direction:column;justify-content:center}
.scrollytelling .next-steps{display:block;position:relative;border:0;margin:0 0 10svh;padding-left:15%;background:linear-gradient(#7c3b51,#7c3b5130) 6% 0/1px 100% no-repeat}
.scrollytelling .next-steps article{min-height:65svh;border:0;display:flex;flex-direction:column;justify-content:center;position:relative;padding:35px 0;max-width:780px}
.scrollytelling .next-steps article>span{font:italic clamp(55px,8vw,110px) var(--serif);color:#684653;transition:color .5s}
.scrollytelling .next-steps article.is-active>span{color:#ed526b}
.scrollytelling .next-steps article h3{font-size:clamp(27px,3.4vw,48px)}
.scrollytelling .next-steps article p,.scrollytelling .next-detail{font-size:16px}
.mobile-scene{display:none}
@media(min-width:901px) and (max-height:760px){.scroll-stage{min-height:0}.scene-layer>.phone,.scene-layer>.story-stack,.scene-layer>.chat-device,.scene-layer>.gift-scene{scale:.8}.scene-layer .photo-booth{scale:.85}.scene-layer .gift-placeholder{height:410px}.scene-layer .visual-tag{bottom:18px}.scene-layer .ar-status{bottom:12%}.ds-world-visual{min-height:0;height:calc(100svh - var(--story-header) - 145px)}.ds-visual-copy>p{font-size:36px}}
@media(min-width:901px) and (max-height:680px){.scene-layer>.phone,.scene-layer>.story-stack,.scene-layer>.chat-device,.scene-layer>.gift-scene{scale:.66}.scene-layer .photo-booth{scale:.7}}
@media(max-width:1100px) and (min-width:901px){.scene-layer .phone{transform:scale(.9)}.scene-layer .story-stack{width:255px;height:455px}.scene-layer .chat-device{width:90%}.step-copy h3{font-size:30px!important}.scroll-track{gap:3vw}.scene-layer .gift-placeholder>p{font-size:50px}}
@media(max-width:900px){
 :root{--story-header:72px}
 .scrollytelling .site-header{height:72px}.scrollytelling .mobile-nav{top:72px}
 .scrollytelling .section-pad{padding-top:70px;padding-bottom:70px}
 .scrollytelling .hero{min-height:760px;height:100svh}.scrollytelling .hero-copy{transform:none}
 .scrollytelling .section-heading{min-height:70svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px;margin:0}
 .scrollytelling .section-heading h2{font-size:clamp(43px,9vw,68px)}
 .scrollytelling .section-intro{font-size:15px;max-width:100%;line-height:2}
 .scrollytelling .brief-intro{min-height:70svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:30px}
 .scrollytelling .editorial-note{padding:40px 25px;min-height:65svh}.scrollytelling .editorial-note h3{font-size:26px}.scrollytelling .editorial-note>p{font-size:15px}
 .scroll-track{display:block!important;gap:0}
 .scroll-stage{display:none}
 .story-step{min-height:100svh;padding:55px 0 65px;gap:30px;justify-content:flex-start}
 .step-copy{max-width:none;padding-top:25px}.step-copy h3{font-size:29px!important;margin:18px 0!important}.step-copy>p{font-size:15px!important;line-height:2.05!important}
 .story-step .stage-evidence{display:block;margin:22px 0 16px}.story-step .stage-evidence p{font-size:23px}.story-step .demo-note{font-size:10px}.story-step .next-stage{display:none}
 .scroll-path-nav{display:flex!important;flex-wrap:wrap;gap:0!important;position:relative;top:auto;padding:12px 0!important;z-index:3;margin:0!important}
 .scroll-path-nav button{flex:1 0 33.333%;padding:15px 7px!important;font-size:9px!important;min-height:48px}
 .mobile-scene{position:relative;display:flex;align-items:center;justify-content:center;min-height:540px;height:70svh;max-height:720px;width:100%;background:radial-gradient(ellipse at center,#732c3d45,transparent 75%);overflow:clip;isolation:isolate}
 .mobile-scene.experience-visual{min-height:540px}
 .mobile-scene .phone{transform:none;width:260px;height:510px;flex-shrink:0}
 .mobile-scene .phone:before{left:calc(50% - 40px)}
 .mobile-scene .story-stack{width:260px;height:465px}.mobile-scene .chat-device{width:min(310px,95%);transform:none}
 .mobile-scene .ar-status{left:0;bottom:9%;font-size:9px}.mobile-scene .ar-status strong{font-size:26px}
 .mobile-scene .visual-tag{top:auto;bottom:12px;left:5px;height:auto;max-width:90%;font-size:8px}.mobile-scene .visual-side-note{bottom:0;right:8px;font-size:9px}
 .mobile-scene .gift-scene{width:100%;height:430px;transform:none}.mobile-scene .gift-placeholder{width:78%;height:390px;left:0}.mobile-scene .gift-placeholder>p{font-size:52px}.mobile-scene .gift-token{right:0}.mobile-scene .claim-slip{width:55%;right:0;bottom:0}.mobile-scene .claim-slip small{font-size:8px}
 .mobile-scene .midnight-demo{width:100%}.mobile-scene .midnight-demo h4{font-size:70px}.mobile-scene .midnight-demo:before{content:'';position:absolute;inset:0;background:linear-gradient(#120b1044,#120b10ce),url('assets/dj.webp') center/cover;z-index:-1}
 .mobile-scene .visual-slot-note{position:absolute;bottom:15px;font-size:10px}
 .mobile-scene .photo-booth{height:460px;width:90%;min-height:0}.mobile-scene .photo-booth .scene-photo{height:230px}.mobile-scene .photo-booth>figure{width:77%;padding:8px 8px 18px}.mobile-scene .photo-booth>figure>figcaption{font-size:20px}
 .mobile-scene .conversation-cards{height:470px;width:90%}.mobile-scene .conversation-cards>div{width:245px;height:335px;padding:24px}.mobile-scene .conversation-cards strong{font-size:42px;margin-top:55px}.mobile-scene .conversation-cards>div:nth-child(2){left:18%;top:25%}
 .mobile-scene .art-reservation{min-height:510px}.mobile-scene .art-reservation>strong{font-size:32px}.mobile-scene .reservation-art{height:220px;width:85%}
 .mobile-scene .booking-date{right:2%;padding:16px;bottom:-10px}.mobile-scene .booking-date strong{font-size:42px}
 .scrollytelling .content-bridge{min-height:65svh;padding:50px 0}.scrollytelling .content-bridge h3{font-size:30px}.scrollytelling .content-bridge>p{font-size:15px}
 .scrollytelling .brief-strip{min-height:60svh;padding:35px 20px;flex-wrap:wrap}.scrollytelling .brief-strip>p{font-size:30px}.scrollytelling .strip-note{display:block}.scrollytelling .section-kicker span:last-child,.scrollytelling .hero-meta span:last-child,.scrollytelling .hero-bottom>span{display:block}
 .scrollytelling .connection-flow{min-height:70svh;grid-template-columns:1fr 1fr;gap:30px 20px}.flow-marker{margin-bottom:10px}
 .scrollytelling .evidence-composition{min-height:100svh;margin:20px 0 70px}
 .scrollytelling .growth-note{font-size:15px}.scrollytelling .outcomes-head p{font-size:13px}
 .scrollytelling .midnight>.midnight-copy{padding-top:5svh}.scrollytelling .midnight-footnote{font-size:14px}
 .auto-letter-scene{padding:70px 20px;min-height:100svh}.scroll-letter{padding:45px 25px;transform:none}.scroll-letter h2{font-size:32px}.scroll-letter p{font-size:15px}.scroll-letter .letter-salutation{font-size:23px}.scroll-letter .letter-stamp{right:20px;top:40px;font-size:12px}
 .scrollytelling .scene-break{height:100svh;min-height:650px}.scrollytelling .scene-break p{font-size:37px}
 .scrollytelling .afterglow{min-height:85svh}.scrollytelling .next-top{min-height:75svh}.scrollytelling .next-top h2{font-size:49px}.scrollytelling .next-steps{padding-left:12%;background-position:2% 0}.scrollytelling .next-steps article{min-height:65svh}.scrollytelling .next-steps article h3{font-size:29px}.scrollytelling .next-steps article p,.scrollytelling .next-detail{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.scrollytelling *{scroll-behavior:auto!important}.scene-layer,.scene-layer.is-active{transition:none;transform:none}.scene-layer.is-active>.phone,.scene-layer.is-active>.chat-device,.scene-layer.is-active>.story-stack{translate:none}.scrollytelling .hero-copy,.scrollytelling .hero-image{transform:none}.scroll-letter{transform:none}}

/* The campaign's two promises lead; the guest journey explains how they happen. */
.scrollytelling .hero{min-height:850px;max-height:none}
.scrollytelling .hero-copy{margin-top:35px;max-width:850px;transform:none}
.scrollytelling .hero-english{font:italic 27px/1.2 var(--serif);color:#d0b3b6;margin:14px 0 25px;letter-spacing:-.015em}
.scrollytelling .hero h1.hero-proposition{font-family:var(--sans);font-size:inherit;line-height:1.4;letter-spacing:-.04em;margin:0 0 27px;font-weight:400}
.hero-promise{display:block}
.hero-promise+ .hero-promise{margin-top:24px;padding-top:22px;border-top:1px solid #eac6cf33;max-width:790px}
.hero-promise small{display:block;font-size:clamp(18px,1.8vw,25px);line-height:1.7;letter-spacing:.015em;color:#e4cbd0;font-weight:400}
.hero-promise strong{display:block;font-size:clamp(43px,4.7vw,74px);line-height:1.45;letter-spacing:-.045em;color:#fff1e7;font-weight:500}
.hero-promise:nth-child(2) strong{color:#ff6479}
.scrollytelling .hero-chinese{font-size:14px;color:#c3a6af;line-height:1.8}
.scrollytelling .hero-link{margin-top:18px}
.scrollytelling .hero-memory{right:7%;bottom:140px;width:180px}
.scrollytelling .hero-memory img{height:140px}
.scrollytelling .strategy-heading{display:block;min-height:100svh;padding:12svh 0 60px}
.strategy-heading>.red-label{font-size:11px;letter-spacing:.16em;margin-bottom:45px}
.campaign-core{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 0 65px}
.campaign-promise small{display:block;color:#dec4ca;font-size:20px;line-height:1.9;letter-spacing:.01em}
.campaign-promise strong{display:block;color:#fff0e7;font-size:clamp(35px,3.6vw,61px);line-height:1.5;font-weight:500;letter-spacing:-.045em;margin-top:10px}
.campaign-promise:last-child strong{color:#ff6479}
.core-connection{position:absolute;left:0;right:0;bottom:7px;display:flex;align-items:center;gap:20px;color:#b77e8e;font-size:10px;letter-spacing:.2em}
.core-connection i{display:block;height:1px;flex:1;background:linear-gradient(90deg,#d3b9a3,#d53b5b)}
.strategy-journey-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:65px;padding-top:32px;border-top:1px solid #8d5d6d50}
.scrollytelling .strategy-heading .strategy-journey-intro h2{font-family:var(--sans);font-size:26px;line-height:1.6;letter-spacing:-.025em;color:#c6a8b3}
.strategy-journey-intro h2 br{display:none}
.strategy-journey-intro h2 em{font-style:normal;color:#e3c1ca}
.scrollytelling .strategy-journey-intro .section-intro{font-size:14px;color:#ad939e}
.premise-scroll .step-copy>small{font-size:12px;letter-spacing:.12em;color:#efaaac}
.premise-scroll .story-step:nth-child(2) .step-copy>small{color:#ff6479}
@media(max-width:1100px) and (min-width:901px){.scrollytelling .hero-copy{max-width:720px}.hero-promise strong{font-size:51px}.scrollytelling .hero-memory{width:150px;right:5%}.scrollytelling .hero-memory img{height:115px}.campaign-core{gap:5%}.campaign-promise small{font-size:17px}.campaign-promise strong{font-size:36px}}
@media(max-width:900px){
 .scrollytelling .hero{height:auto;min-height:940px;padding-bottom:290px;overflow:clip}
 .scrollytelling .hero-copy{margin-top:38px;max-width:none}
 .scrollytelling .hero-english{font-size:24px;margin:15px 0 25px}
 .scrollytelling .hero h1.hero-proposition{margin:0 0 25px}
 .hero-promise small{font-size:17px;line-height:1.9;letter-spacing:0}
 .hero-promise strong{font-size:clamp(29px,7.5vw,49px);line-height:1.5;letter-spacing:-.045em}
 .hero-promise+ .hero-promise{margin-top:23px;padding-top:22px}
 .scrollytelling .hero-chinese{font-size:13px;line-height:1.9}
 .scrollytelling .hero-memory{width:135px;right:8%;bottom:145px}
 .scrollytelling .hero-memory img{height:104px}
 .scrollytelling .hero-date{bottom:90px}
 .scrollytelling .strategy-heading{display:block;min-height:100svh;padding:65px 0 45px}
 .strategy-heading>.red-label{font-size:9px;margin-bottom:35px}
 .campaign-core{display:block;padding-bottom:48px}
 .campaign-promise small{font-size:17px;line-height:1.9}
 .campaign-promise strong{font-size:clamp(30px,7.7vw,50px);line-height:1.5;margin-top:6px}
 .campaign-promise+ .core-connection+ .campaign-promise{margin-top:34px;padding-top:30px;border-top:1px solid #ad718240}
 .core-connection{bottom:0;font-size:9px}
 .strategy-journey-intro{display:block;margin-top:35px;padding-top:28px}
 .scrollytelling .strategy-heading .strategy-journey-intro h2{font-size:21px;line-height:1.7}
 .scrollytelling .strategy-journey-intro .section-intro{font-size:13px;margin-top:14px}
}
@media(max-width:360px){.hero-promise small,.campaign-promise small{font-size:15px}.hero-promise strong,.campaign-promise strong{font-size:27px}.scrollytelling .hero-english{font-size:22px}}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:22px}
.scrollytelling .hero-actions .hero-link{margin-top:0}
@media(max-width:640px){.hero-actions{gap:18px;margin-top:20px}}

/* Opening approved from the supplied reference. Typography carries the scene. */
.scrollytelling .hero.opening-editorial{height:auto;min-height:100svh;max-height:none;padding:130px var(--pad) 28px;overflow:clip;background:#100b0d}
.scrollytelling .opening-editorial>.hero-photo{width:65%;height:100%;opacity:.45;object-position:70% center;filter:brightness(.7) saturate(.6);animation:none;transform:none}
.opening-editorial .hero-shade{opacity:.08;background:linear-gradient(90deg,#100b0d 5%,#100b0df0 39%,#100b0d99 78%,#100b0d99),linear-gradient(0deg,#100b0d 1%,transparent 45%,#100b0d66)}
.opening-editorial .hero-meta{font-size:12px;line-height:1.5;letter-spacing:.12em;align-items:center}
.opening-editorial .hero-meta>span:first-child{font-size:16px;color:#f35a7b;font-weight:500;letter-spacing:.1em}
.scrollytelling .opening-editorial .hero-copy{margin-top:44px;max-width:860px;transform:none}
.opening-editorial .eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.8;color:#bfafb6}
.scrollytelling .opening-editorial h1.opening-title{font-family:'Noto Serif SC','Songti SC','STSong',serif;font-size:clamp(64px,6.7vw,104px);line-height:1.28;letter-spacing:.015em;font-weight:500;margin:25px 0 19px;color:#f7ede6;font-feature-settings:'palt';text-wrap:balance}
.scrollytelling .opening-editorial h1.opening-title em{font-family:inherit;font-weight:500;font-style:normal;color:#f14a70}
.scrollytelling .opening-editorial .opening-english{font-family:var(--serif);font-size:clamp(29px,3.2vw,46px);line-height:1.15;letter-spacing:-.015em;font-weight:400;font-style:italic;color:#dbc7ce;margin-bottom:34px}
.opening-statement{border-top:1px solid #ac52664d;padding-top:26px;max-width:760px}
.scrollytelling .opening-editorial .opening-lead{font-family:'Noto Serif SC','Songti SC','STSong',serif;font-size:22px;line-height:1.9;letter-spacing:.025em;color:#e3d3d8}
.opening-editorial .opening-lead>span{display:inline-block}
.scrollytelling .opening-editorial .opening-detail{font-size:16px;line-height:2.05;letter-spacing:.03em;color:#b8a4ad;margin-top:18px;max-width:690px;text-wrap:pretty}
.opening-editorial .hero-actions{margin-top:27px;gap:25px}
.opening-editorial .hero-date{position:relative;inset:auto;margin-top:38px;width:100%;gap:18px;color:#c494a4;font-size:11px;letter-spacing:.08em}
.opening-editorial .hero-date strong{font-size:29px;margin-left:20px;color:#b38496}
.opening-editorial .hero-bottom{position:relative;inset:auto;width:100%;height:auto;min-height:55px;margin-top:25px;padding-top:17px;gap:20px;z-index:2;align-items:center}
@media(max-width:900px){
 .scrollytelling .hero.opening-editorial{height:auto;min-height:100svh;padding:107px var(--pad) 26px}
 .scrollytelling .opening-editorial>.hero-photo{width:100%;opacity:.32;object-position:66% center}
 .opening-editorial .hero-shade{background:linear-gradient(90deg,#100b0df5,#100b0dbd),linear-gradient(0deg,#100b0d,transparent 50%,#100b0d55)}
 .opening-editorial .hero-meta{font-size:9px;letter-spacing:.06em;gap:20px}
 .opening-editorial .hero-meta>span:first-child{font-size:12px;letter-spacing:.07em}
 .scrollytelling .opening-editorial .hero-copy{margin-top:32px;max-width:none}
 .opening-editorial .eyebrow{font-size:8px;letter-spacing:.06em;max-width:410px;line-height:1.9}
 .scrollytelling .opening-editorial h1.opening-title{font-size:clamp(36px,10.2vw,70px);line-height:1.38;letter-spacing:.01em;margin:23px 0 19px;font-weight:500}
 .scrollytelling .opening-editorial .opening-english{font-size:30px;line-height:1.12;max-width:500px;margin-bottom:27px}
 .opening-statement{padding-top:24px;max-width:650px}
 .scrollytelling .opening-editorial .opening-lead{font-size:19px;line-height:1.9;letter-spacing:.015em}
 .scrollytelling .opening-editorial .opening-detail{font-size:15px;line-height:2;letter-spacing:.02em;margin-top:18px}
 .opening-editorial .hero-actions{margin-top:25px;gap:18px}
 .opening-editorial .hero-date{position:relative;inset:auto;margin-top:34px;max-width:none;width:100%;font-size:8px;gap:11px;flex-wrap:wrap}
 .opening-editorial .hero-date strong{font-size:25px;margin-left:auto}
 .opening-editorial .hero-bottom{position:relative;inset:auto;min-height:60px;flex-wrap:wrap;justify-content:space-between;row-gap:13px;column-gap:16px;font-size:6px;letter-spacing:.03em;margin-top:24px;padding-top:20px}
}
@media(max-width:360px){.scrollytelling .opening-editorial h1.opening-title{font-size:35px}.scrollytelling .opening-editorial .opening-english{font-size:27px}.scrollytelling .opening-editorial .opening-lead{font-size:18px}.opening-editorial .hero-bottom>span{width:100%;order:3}}

/* Six chapters share one pinned stage; document scroll reveals every line. */
.experience-sequence{position:relative;isolation:isolate;margin:0;overflow:visible}
.experience-shell{position:sticky;top:var(--story-header);height:calc(100svh - var(--story-header));display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#171214;padding-bottom:20px}
.experience-shell>.scroll-path-nav{position:relative;top:auto;z-index:4;flex:none;margin:0!important;padding:10px 0!important;background:#171214f5;overflow-x:auto}
.experience-shell>.scroll-path-nav button{font-size:10px;min-height:52px;padding:14px 10px!important;white-space:nowrap}
.experience-shell>.scroll-path-nav button span{font-size:20px}
.experience-shell>.scroll-path-nav button.is-active span{color:var(--red)}
.experience-pinned-panel{position:relative;display:block;flex:1;min-height:0;min-width:0;outline:none;overflow:hidden}
.experience-pages{height:100%;position:relative;isolation:isolate}
.experience-page{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;min-height:0;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}
.experience-page.is-active{opacity:1;visibility:visible;pointer-events:auto}
.experience-reading-window{position:relative;min-height:0;min-width:0;overflow:hidden}
.experience-page .step-copy{max-width:570px;margin:0;padding:24px 0 32px;border-color:#ef344b;will-change:transform;transform:translateY(0)}
.experience-page .step-copy h3{font-size:clamp(28px,3.1vw,46px)!important;margin:20px 0!important}
.experience-page .step-copy>p{font-size:16px!important;line-height:2.05!important}
.experience-page .stage-evidence{display:block;margin:26px 0 18px}
.experience-page .stage-evidence p{font-size:23px;line-height:1.6;color:#e4c9ce}
.experience-page .demo-note{display:block;margin-top:18px;font-size:10px;line-height:1.8;color:#ae929d}
.experience-page-visual.experience-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;margin:0;overflow:clip;isolation:isolate;background:radial-gradient(ellipse at 50% 52%,#6f26384a,transparent 70%)}
.experience-page-visual>*{animation:none!important}
.experience-page-visual .story-stack{width:310px;height:550px}
.experience-page-visual .phone{width:285px;height:550px;transform:none;flex-shrink:0}
.experience-page-visual .phone:before{left:calc(50% - 40px)}
.experience-page-visual .chat-device{width:min(360px,85%);transform:none;flex-shrink:0}
.experience-page-visual .gift-scene{width:90%;height:470px;transform:none}
.experience-page-visual .gift-placeholder{height:450px;width:80%}
.experience-page-visual .gift-placeholder>p{font-size:62px}
.experience-page-visual .claim-slip{right:0;bottom:3%;width:49%}
.experience-page-visual .midnight-demo{width:88%;position:relative;isolation:isolate}
.experience-page-visual .midnight-demo:before{content:'';position:absolute;inset:-100px -60px;background:linear-gradient(#16060b66,#100b0df0),url('assets/dj.webp') center/cover;z-index:-1}
.experience-page-visual .visual-tag{left:20px;top:auto;bottom:35px;height:auto;font-size:9px;max-width:75%;color:#efd7db}
.experience-page-visual .visual-side-note{right:16px;bottom:10px;font-size:10px}
.experience-page-visual .ar-status{left:4%;bottom:13%;z-index:5}
.experience-page-visual .story-reply{font-size:10px}
.experience-page-visual .story-sticker{font-size:44px}
.experience-page-visual .sealed-screen{padding-top:25px}
.experience-page-visual .sealed-screen h4{font-size:34px}
.experience-page-visual .sealed-screen p{font-size:11px}
.experience-page-visual .sealed-screen .mini-envelope{width:145px;height:82px;margin:24px 0}
.experience-position{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:26px;padding-top:8px;border-top:1px solid #80616b40;font-size:9px;line-height:1.5;letter-spacing:.12em;color:#c795a4}
@media(min-width:901px) and (max-height:800px){
 .experience-page-visual>.phone,.experience-page-visual>.story-stack,.experience-page-visual>.chat-device,.experience-page-visual>.gift-scene{scale:.85}
 .experience-page .step-copy h3{font-size:32px!important}
 .experience-page .step-copy>p{font-size:15px!important}
}
@media(max-width:900px){
 .experience-shell{padding-bottom:10px}
 .experience-shell>.scroll-path-nav{display:flex!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0!important;margin-right:0!important;padding:6px 0!important}
 .experience-shell>.scroll-path-nav::-webkit-scrollbar{display:none}
 .experience-shell>.scroll-path-nav button{flex:1 0 33.333%;min-width:105px;min-height:44px;font-size:9px!important;padding:11px 6px!important}
 .experience-shell>.scroll-path-nav button span{font-size:16px;margin-right:6px}
 .experience-page{grid-template-columns:1fr;grid-template-rows:minmax(150px,32%) minmax(0,1fr);gap:14px}
 .experience-reading-window{grid-row:2}
 .experience-page-visual.experience-visual{grid-row:1;grid-column:1}
 .experience-page .step-copy{padding:16px 0 24px;max-width:none}
 .experience-page .step-copy h3{font-size:25px!important;line-height:1.5!important;margin:15px 0!important}
 .experience-page .step-copy>p{font-size:15px!important;line-height:2!important;margin-top:16px}
 .experience-page .stage-evidence{margin:22px 0 16px}
 .experience-page .stage-evidence p{font-size:21px;line-height:1.55}
 .experience-page .demo-note{font-size:9px;line-height:1.8;margin-top:15px}
 .experience-page-visual>.phone,.experience-page-visual>.story-stack,.experience-page-visual>.chat-device{scale:.43;flex-shrink:0}
 .experience-page-visual>.gift-scene{scale:.47;flex-shrink:0;width:580px}
 .experience-page-visual>.midnight-demo{scale:.65;flex-shrink:0;width:400px}
 .experience-page-visual .visual-tag,.experience-page-visual .visual-side-note{font-size:7px;bottom:8px;max-width:90%}
 .experience-page-visual .visual-tag{left:7px;top:7px;bottom:auto}
 .experience-page-visual .ar-status{left:7px;bottom:8px;font-size:8px}
 .experience-page-visual .ar-status strong{font-size:20px}
 .experience-position{font-size:8px;min-height:23px;letter-spacing:.06em;padding-top:5px}
}
@media(max-width:900px) and (max-height:650px){
 .experience-page{grid-template-rows:minmax(105px,27%) minmax(0,1fr);gap:10px}
 .experience-page-visual>.phone,.experience-page-visual>.story-stack,.experience-page-visual>.chat-device{scale:.32}
 .experience-page .step-copy h3{font-size:23px!important}
}
@media(prefers-reduced-motion:reduce){.experience-page{transition:none}.experience-page .step-copy{will-change:auto}}

/* A single campaign descriptor; keep the season at the right. */
.opening-editorial .hero-meta-single{justify-content:flex-end}
