/* Original motion treatment inspired by cinematic light and depth. */
.cinematic-hero{--pointer-x:0px;--pointer-y:0px}
.cinematic-hero .hero-image-wrap{inset:-18px;translate:var(--pointer-x) var(--pointer-y);transition:translate 1.2s ease-out;animation:heroCamera 22s ease-in-out infinite alternate}
.cinematic-hero .hero-image{filter:saturate(1.17) contrast(1.03)}
.hero-atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.hero-light{position:absolute;width:65vw;height:65vw;border-radius:50%;filter:blur(45px);will-change:transform;animation:heroLightFlow 18s ease-in-out infinite alternate}
.hero-light-red{left:-35%;bottom:-65%;background:radial-gradient(circle,#ef345566,transparent 68%)}
.hero-light-gold{right:-30%;top:-45%;background:radial-gradient(circle,#ffc67d60,transparent 67%);animation-delay:-8s;animation-duration:23s}
.hero-halo{position:absolute;width:min(70vw,1050px);aspect-ratio:1;right:-18%;top:3%;translate:var(--pointer-x) var(--pointer-y);transition:translate 1.6s ease-out;animation:heroHaloTurn 65s linear infinite}
.hero-halo i{position:absolute;inset:0;border:1px solid #f5cf9124;border-radius:50%;box-shadow:inset 0 0 35px #f5cf9105}
.hero-halo i:nth-child(2){inset:8%;border-color:#f5cf9138;border-top:2px solid #ffd39b9c;transform:rotate(-40deg)}
.hero-halo i:nth-child(3){inset:18%;border-style:dashed;border-color:#f5cf911a}
.hero-halo i:nth-child(2)::after{content:'';position:absolute;top:14%;left:14%;width:7px;height:7px;background:#ffe0a6;border-radius:50%;box-shadow:0 0 20px 6px #ffc37865}
.hero-sparks{position:absolute;inset:0}
.hero-sparks i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#ffe0b0;box-shadow:0 0 10px #ffd299;opacity:0;animation:heroSpark var(--duration) calc(var(--i)*-.9s) ease-in-out infinite}
.cinematic-hero h1 em{color:#f4d0a0;text-shadow:0 3px 35px #e9934420}
.cinematic-hero .hero-eyebrow .status-dot{box-shadow:0 0 0 6px #f3c68a13,0 0 22px #f3c68a65}
.cinematic-hero .enrollment-card{background:linear-gradient(135deg,#fffcf7fa,#f6e7d9f5);box-shadow:0 25px 80px #24081445,0 0 0 1px #fff5;animation:heroCardArrival 1.4s .35s both,heroCardFloat 7s 1.75s ease-in-out infinite;backdrop-filter:blur(14px)}
.cinematic-hero .hero-buttons .button{box-shadow:0 6px 32px #f6c59320;transition:box-shadow .3s,transform .3s}
.cinematic-hero .hero-buttons .button:hover{box-shadow:0 8px 40px #f6c59350;transform:translateY(-3px)}
.hero-motion-toggle{position:absolute;right:5vw;bottom:100px;z-index:2;display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 15px;border:1px solid #f8d9bb55;border-radius:30px;background:#41131ebd;color:#fff2e4;font:500 13px/1.5 var(--sans);backdrop-filter:blur(10px)}
.hero-motion-toggle::before{content:'Ⅱ';font-size:13px}.hero-motion-toggle[aria-pressed=true]::before{content:'▷'}
.hero-motion-toggle:hover{background:#772331}.hero-motion-toggle:focus-visible{outline:2px solid #ffdfb1;outline-offset:4px}
.hero-motion-notice{max-width:38ch;margin:0 0 16px;padding:10px 14px;border:1px solid #f8d9bb66;border-radius:12px;background:#37131fe8;color:#fff2e4;font:500 14px/1.4 var(--sans)}
.hero-motion-notice[hidden]{display:none}
.cinematic-hero.motion-outside *,.cinematic-hero.motion-hidden *{animation-play-state:paused!important}
@keyframes heroCamera{from{scale:1}to{scale:1.055}}
@keyframes heroLightFlow{from{transform:translate(-3%,4%) scale(.9)}to{transform:translate(14%,-12%) scale(1.2)}}
@keyframes heroHaloTurn{to{rotate:360deg}}
@keyframes heroSpark{0%,100%{opacity:0;transform:translate(0,20px)}35%,65%{opacity:.5}90%{opacity:0;transform:translate(-25px,-65px)}}
@keyframes heroCardArrival{from{opacity:0;transform:perspective(1000px) translateY(35px) rotateX(8deg)}to{opacity:1;transform:perspective(1000px) translateY(0) rotateX(0)}}
@keyframes heroCardFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(max-width:1100px){.hero-motion-toggle{top:105px;bottom:auto;right:6vw}.hero-halo{width:110vw;right:-55%;top:5%}.cinematic-hero .enrollment-card{animation:heroCardArrival 1.4s .35s both}.hero-light{width:110vw;height:110vw}}
@media(max-width:560px){.hero-motion-toggle{top:265px;font-size:12px}.hero-halo{width:125vw;top:50px;right:-60%}.hero-sparks{height:340px}.hero-light-gold{top:-200px;right:-65%}.hero-light-red{bottom:0;left:-70%;opacity:.5}.cinematic-hero .hero-image-wrap{inset:0;animation:none;translate:none}.hero-atmosphere{opacity:.8}}
html.reduce-motion .cinematic-hero .hero-image-wrap,html.reduce-motion .hero-halo{translate:none!important;scale:1!important}
html.reduce-motion .hero-sparks{display:none}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .cinematic-hero .hero-image-wrap,html:not(.force-motion) .hero-halo{translate:none!important;scale:1!important}html:not(.force-motion) .hero-sparks{display:none}}

/* Second motion direction: photographic scenes, silk trails and staged reveals. */
.hero-director .hero-image-wrap{animation:directorOpening 2.2s cubic-bezier(.18,.7,.2,1) both;transform:translateY(var(--hero-travel,0px));transition:translate 1s,transform .15s linear}
.hero-director .hero-image,.hero-director .hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 48%;opacity:0;transition:opacity 1.8s ease,filter 1.8s ease;animation:sceneCamera 16s ease-in-out infinite alternate;will-change:opacity,transform}
.hero-director .hero-image{transform:none!important}
.hero-director .scene-current{opacity:1}
.hero-director .hero-scene:nth-child(2){object-position:62% center;animation-direction:alternate-reverse}
.hero-director .hero-shade{background:linear-gradient(90deg,#3c0d20f2 0%,#4e1426db 28%,#49162b50 61%,#35101e18),linear-gradient(0deg,#390c20ed,transparent 45%)}
.hero-director .hero-halo{display:none}
.hero-director .hero-sparks{display:none}
.hero-silk{position:absolute;inset:0;width:100%;height:min(100%,1200px);opacity:.9}
.hero-director .hero-light-red{left:-20%;bottom:-40%;background:radial-gradient(ellipse,#fa39546e,transparent 65%);animation-duration:9s}
.hero-director .hero-light-gold{top:-28%;right:-25%;background:radial-gradient(ellipse,#ffbb7060,transparent 66%);animation-duration:12s}
.hero-director h1 .line>span{animation:directorType 1.4s cubic-bezier(.16,1,.3,1) both;animation-delay:.25s}
.hero-director h1 .line:nth-child(2)>span{animation-delay:.45s}.hero-director h1 .line:nth-child(3)>span{animation-delay:.65s}
.hero-director .hero-eyebrow{animation:directorCaption 1.2s .1s both}
.hero-director .hero-vietnamese{animation:directorCaption 1.2s .7s both}
.hero-director .hero-description{animation:directorCaption 1.2s .85s both}
.hero-director .hero-buttons{animation:directorCaption 1.2s 1s both}
.hero-director .campaign-details{animation:directorCaption 1.2s 1.15s both}
.hero-director .enrollment-card{rotate:var(--hero-turn,0deg);transform-origin:70% 85%;animation:directorCard 1.8s .65s both,heroCardFloat 5s 2.45s ease-in-out infinite;transition:rotate .2s}
.hero-director .enrollment-checks p{animation:directorCaption 1s 1.2s both}.hero-director .enrollment-checks p:nth-child(2){animation-delay:1.4s}.hero-director .enrollment-checks p:nth-child(3){animation-delay:1.6s}
.hero-scene-nav{position:absolute;bottom:105px;left:5vw;display:flex;gap:22px;z-index:2;animation:directorCaption 1.3s 1.2s both}
.hero-scene-nav button{position:relative;display:grid;grid-template-columns:auto auto;gap:5px 10px;min-width:115px;min-height:48px;padding:7px 0;background:transparent;color:#f5d9c9;text-align:left;font:500 13px/1.5 var(--sans);transition:color .25s}
.hero-scene-nav button[aria-pressed=true]{color:#fff}.scene-number{font-size:10px;opacity:.65;align-self:center}.scene-track{grid-column:1/-1;display:block;height:2px;background:#fff3;overflow:hidden}.scene-track i{display:block;height:100%;background:#ffd79c;transform-origin:left;transform:scaleX(var(--scene-progress,0));box-shadow:0 0 10px #ffbb64}
.hero-scene-nav button:focus-visible{outline:2px solid #ffd79c;outline-offset:5px}.hero-scene-nav button:hover{color:#ffd79c}
@keyframes directorOpening{from{clip-path:inset(10% 7% 10% 7% round 80px);filter:brightness(.4);scale:1.12}to{clip-path:inset(0 round 0);filter:brightness(1);scale:1}}
@keyframes sceneCamera{from{scale:1.02;translate:-.5% 0}to{scale:1.16;translate:1.5% -1%}}
@keyframes directorType{from{transform:translateY(110%) rotate(3deg);filter:blur(8px);opacity:0}to{transform:translateY(0) rotate(0);filter:blur(0);opacity:1}}
@keyframes directorCaption{from{opacity:0;transform:translateY(24px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes directorCard{from{opacity:0;transform:perspective(1000px) translate(90px,40px) rotateY(-22deg) rotateZ(7deg)}to{opacity:1;transform:perspective(1000px) translate(0,0) rotateY(0) rotateZ(0)}}
@media(max-width:1100px){.hero-scene-nav{top:102px;bottom:auto;left:6vw;gap:16px}.hero-scene-nav button{min-width:100px}.hero-director .enrollment-card{rotate:none}.hero-director .hero-content{padding-top:185px}}
@media(max-width:560px){.hero-director .hero-image,.hero-director .hero-scene{height:370px;object-position:70% center;animation:sceneCamera 16s ease-in-out infinite alternate}.hero-director .hero-image-wrap{transform:none;animation:directorOpening 1.8s both}.hero-director .hero-content{padding-top:355px}.hero-director .hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e calc(100% - 325px),#41131e40 calc(100% - 180px),transparent 100%)}.hero-director .hero-motion-toggle{top:227px}.hero-scene-nav{top:285px;gap:16px;left:6vw;right:6vw}.hero-scene-nav button{min-width:0;flex:1;font-size:12px;gap:4px}.hero-silk{height:600px;opacity:.7}.hero-director .hero-light-red{bottom:-10%;left:-70%}}
html.reduce-motion .hero-director .hero-image-wrap{transform:none!important;clip-path:none!important}
html.reduce-motion .hero-director .enrollment-card{rotate:none!important;translate:none!important}
html.reduce-motion .hero-silk{display:none}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .hero-director .hero-image-wrap{transform:none!important;clip-path:none!important}html:not(.force-motion) .hero-director .enrollment-card{rotate:none!important;translate:none!important}html:not(.force-motion) .hero-silk{display:none}}

/* Real footage supplies the background motion; no simulated photo carousel. */
.video-hero .hero-atmosphere,.video-hero .hero-grain{display:none}
.video-hero .hero-image-wrap{inset:0;animation:none;transform:none;translate:none;scale:1}
.video-hero .hero-image{opacity:1;animation:none;scale:1;translate:none;filter:none;object-position:70% center}
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;opacity:0;transition:opacity .8s ease;pointer-events:none}
.video-hero.video-playing .hero-background-video{opacity:1}
.video-hero .hero-shade{background:linear-gradient(90deg,#350b20f7 0%,#471225df 25%,#49162988 48%,#43112118 76%),linear-gradient(0deg,#350b20c9,transparent 45%)}
@media(min-width:1101px){.video-hero.enrollment-hero .hero-content{padding-bottom:240px}.video-hero .enrollment-card{top:auto;bottom:115px;width:340px;padding:22px}.video-hero .enrollment-card h2{font-size:22px;margin:14px 0 10px}.video-hero .enrollment-checks{display:none}.video-hero .enrollment-source{margin-top:12px}.video-hero .hero-motion-toggle{bottom:115px;right:auto;left:5vw}}
@media(max-width:560px){.video-hero .hero-image,.hero-background-video{height:370px;object-position:74% center}.video-hero .hero-shade{background:linear-gradient(0deg,#41131e 0%,#41131e calc(100% - 325px),#41131e40 calc(100% - 180px),transparent 100%)}.video-hero .hero-motion-toggle{top:275px}.video-hero .hero-content{padding-top:345px}}
/* Slower, staged hero typography; translated text remains intact. */
.hero-director .hero-eyebrow{animation:directorCaption 2.4s .2s both}
.hero-director h1 .line>span{animation:directorType 2.8s cubic-bezier(.2,.65,.25,1) .55s both}
.hero-director h1 .line:nth-child(2)>span{animation-delay:1s}
.hero-director h1 .line:nth-child(3)>span{animation-delay:1.35s}
.hero-director .hero-vietnamese{animation:directorCaption 2.2s 1.65s both}
.hero-director .hero-description{animation:directorCaption 2.2s 1.9s both}
.hero-director .hero-buttons{animation:directorCaption 2s 2.2s both}
.hero-director .campaign-details{animation:directorCaption 2s 2.4s both}
.hero-text-rain{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
html.reduce-motion .hero-text-rain{display:none}
@media(prefers-reduced-motion:reduce){html:not(.force-motion) .hero-text-rain{display:none}}
@media(max-width:560px){
 .hero-director .hero-eyebrow,.hero-director .hero-vietnamese,.hero-director .hero-description,.hero-director .hero-buttons,.hero-director .campaign-details{animation-duration:.7s;animation-delay:.15s}
 .hero-director h1 .line>span{animation-duration:.85s;animation-delay:.1s}
 .hero-director h1 .line:nth-child(2)>span{animation-delay:.2s}
 .hero-director h1 .line:nth-child(3)>span{animation-delay:.3s}
}
