/* Shared spatial language across every public route, without scroll interception. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:journey-out .42s ease both}::view-transition-new(root){animation:journey-in .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes journey-out{to{opacity:0;transform:scale(1.065);filter:blur(3px)}}
@keyframes journey-in{from{opacity:0;transform:perspective(1400px) translateZ(-110px) translateY(22px)}to{opacity:1;transform:none}}
.journey-page{background:#fff;overflow-x:clip}.journey-page .header{z-index:30}.journey-space{position:fixed;inset:90px 0 0;pointer-events:none;z-index:-1;perspective:900px;overflow:hidden;background:#fff}.journey-space i{position:absolute;inset:10% 12%;border:1px solid #1b31570b;border-radius:40%;transform:translateZ(calc(var(--world,0)*240px - 180px)) rotate(-12deg);transition:transform .2s linear}.journey-space i:nth-child(2){inset:0 5%;transform:translateZ(calc(var(--world,0)*320px - 80px)) rotate(12deg)}.journey-space i:nth-child(3){inset:22% 22%;border-color:#c73c3c0b;transform:translateZ(calc(var(--world,0)*160px)) rotate(30deg)}.journey-space i:nth-child(4){inset:-10%;transform:translateZ(calc(var(--world,0)*100px)) rotate(-28deg)}.journey-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:50;background:#c73c3c;transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}.journey-layer,.journey-card{--arrival:0}.journey-motion .journey-layer{transform:perspective(1600px) translate3d(0,calc(var(--arrival)*58px),calc(var(--arrival)*-160px));transform-origin:center top;opacity:calc(1 - var(--arrival)*.22);transition:transform .15s linear,opacity .15s linear}.journey-motion .journey-card .course-art{transform:perspective(1400px) translate3d(calc(var(--arrival)*var(--side)*18px),calc(var(--arrival)*50px),calc(var(--arrival)*-150px)) rotateY(calc(var(--arrival)*var(--side)*5deg));transform-origin:center;transition:transform .18s linear}.journey-page .course-art{overflow:hidden}.journey-page .course-art img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.journey-page .program-card:hover .course-art img{transform:scale(1.065)}.journey-page .programme-sheet[open]{animation:sheet-arrive .45s cubic-bezier(.2,.7,.2,1)}@keyframes sheet-arrive{from{opacity:0;transform:perspective(1300px) translateZ(-130px) translateY(25px)}to{opacity:1;transform:none}}
body .hero-runway{height:170vh;position:relative}body .hero-runway .cinematic-hero{position:sticky;top:90px;height:calc(100svh - 90px);min-height:640px;max-height:1000px;padding-top:40px;padding-bottom:70px;overflow:hidden}.journey-motion .hero-runway .hero-media{transform:scale(calc(1 + var(--camera,0)*.42)) translateX(calc(var(--camera,0)*-3%));transform-origin:72% 52%;will-change:transform}.journey-page .hero-runway .cinematic-hero::after{opacity:calc(1 - var(--camera,0)*.22);transition:opacity .12s linear}.journey-motion .hero-runway .hero-copy{transform:perspective(1200px) translateZ(calc(var(--camera,0)*-150px)) translateX(calc(var(--camera,0)*-18px));opacity:calc(1 - var(--camera,0)*.15);transform-origin:left center}.journey-page .hero-runway .immersion-hint{opacity:calc(1 - var(--camera,0)*.85)}.journey-page .scene-space{height:390px;perspective:1000px;transform-style:preserve-3d;transform:translateY(var(--drift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(calc(1 + var(--scene-camera,0)*.13));}.journey-page .scene-photo{left:7%;width:86%;height:66%;top:18%;box-shadow:0 35px 60px -20px #1b31574a;transform:translateZ(35px) rotateY(-12deg) rotateZ(-4deg)}.journey-page .learning-scene[data-phase="1"] .scene-photo{transform:translateZ(65px) rotateY(7deg) rotateZ(2deg) scale(1.03)}.journey-page .learning-scene[data-phase="2"] .scene-photo{transform:translateZ(80px) rotateY(-3deg) rotateZ(-1deg)}.journey-page .language-tile{box-shadow:0 18px 35px #1b31571d}.journey-page .tile-one{translate:0 0 85px}.journey-page .tile-two{translate:0 0 110px}.journey-page .tile-three{translate:0 0 95px}.journey-page .scene-orbit{border-color:#1b31572a}.journey-page .orbit-two{border-color:#c73c3c1c;transform:translateZ(-65px) rotate(34deg)}
.journey-enter main{animation:journey-fallback .38s ease both}@keyframes journey-fallback{from{opacity:.35}to{opacity:1}}
@media(max-width:760px){body .hero-runway{height:auto}body .hero-runway .cinematic-hero{position:relative;top:0;height:auto;min-height:0;max-height:none;padding-top:38px;padding-bottom:370px}.journey-motion .hero-runway .hero-copy{transform:none;opacity:1}.journey-page .hero-runway .cinematic-hero::after{opacity:1}.journey-motion .hero-runway .hero-media{transform:scale(calc(1 + var(--camera,0)*.15));transform-origin:65% 70%}.journey-motion .journey-layer{transform:perspective(1400px) translate3d(0,calc(var(--arrival)*30px),calc(var(--arrival)*-65px));opacity:1}.journey-motion .journey-card .course-art{transform:perspective(1400px) translate3d(0,calc(var(--arrival)*28px),calc(var(--arrival)*-65px));}.journey-page .scene-space{height:300px;transform:translateY(var(--drift)) scale(calc(1 + var(--scene-camera,0)*.065))}.journey-page .scene-photo{left:9%;width:82%;transform:perspective(900px) rotateY(-7deg) rotateZ(-4deg)}.journey-page .learning-scene[data-phase="1"] .scene-photo{transform:perspective(900px) rotateY(5deg) rotateZ(2deg) scale(1.035)}.journey-page .learning-scene[data-phase="2"] .scene-photo{transform:perspective(900px) rotateY(-2deg) rotateZ(-1deg) scale(1.06)}.journey-page .language-tile{translate:none}.journey-space{inset:80px 0 0}.journey-space i{border-radius:35%}.journey-page .learning-scene{overflow:clip;padding:0 8px 12px}.journey-page .hero-runway .immersion-hint{opacity:1}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}body .hero-runway{height:auto}body .hero-runway .cinematic-hero{position:relative;top:0;height:auto;max-height:none}.journey-page .hero-copy,.journey-page .hero-media,.journey-page .journey-layer,.journey-page .journey-card{transform:none!important;opacity:1!important}.journey-page .cinematic-hero::after,.journey-page .immersion-hint{opacity:1!important}.journey-space{display:none}.journey-page .scene-photo,.journey-page .language-tile{translate:none!important;transform:none!important}.journey-page *, .journey-page *::before{animation:none!important;transition:none!important}}

.journey-page .header{view-transition-name:site-navigation}::view-transition-old(site-navigation),::view-transition-new(site-navigation){animation:none}

.journey-page .journey-card{transform:none!important}.journey-page .hero-actions{position:relative}.journey-page .journey-layer:focus-within{transform:none;opacity:1}@media(max-width:760px){::view-transition-old(root){animation:mobile-page-out .22s ease both}::view-transition-new(root){animation:mobile-page-in .36s ease both}@keyframes mobile-page-out{to{opacity:0}}@keyframes mobile-page-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}}

@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.journey-motion .journey-card .course-art{transform:none!important}}
