@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../assets/fonts/dm-sans-latin.woff2) format("woff2")}:root{--ink:#13232e;--cream:#f4f3e9;--gold:#e2c998}*{box-sizing:border-box}html,body{margin:0;color:var(--cream);background:#eee6d8;font-family:DM Sans,Arial,sans-serif}body:has(dialog[open]){overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:20px;padding:15px;background:var(--ink);z-index:90}.skip:focus{top:20px}.tour-header{position:fixed;inset:0 0 auto;z-index:30;padding:26px 4%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#13232e66,transparent);pointer-events:none}.tour-header>*{pointer-events:auto}.school-brand{display:flex;align-items:center;gap:12px;color:#fff;text-shadow:0 1px 10px #13232e55}.school-brand img{background:#faf8edcc;border-radius:50%;width:48px;height:48px;padding:5px}.school-brand b{display:block;font-size:15px;font-weight:700;letter-spacing:2.3px}.school-brand small{display:block;font-size:14px;letter-spacing:1.5px;margin-top:7px}.header-right{display:flex;gap:12px;align-items:center}.enquire,#open-menu{border:1px solid #ffffff55;background:#13232e44;backdrop-filter:blur(14px);border-radius:30px;padding:13px 21px;font-size:14px;display:flex;align-items:center;gap:23px}#open-menu{background:#f7f6ec;color:#13232e;border-color:#f7f6ec}#open-menu i{font-style:normal}#scroll-journey{height:760svh;position:relative}#tour-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:linear-gradient(#aebac3,#eee6d8)}canvas,#campus-video{width:100%;height:100%;position:absolute;inset:0;display:block}#campus-video{object-fit:cover;z-index:2;background:#13232e}.vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,#13232ed9,transparent 37%,transparent 75%,#13232e44),linear-gradient(90deg,#13232e33,transparent 55%)}.tour-status{position:absolute;left:4%;top:118px;z-index:4;display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:1.3px;background:#13232e6b;backdrop-filter:blur(8px);border:1px solid #ffffff30;padding:9px 12px;border-radius:25px}.status-dot{height:5px;width:5px;border-radius:50%;background:#ddc48f}.chapter-copy{position:absolute;left:5%;bottom:178px;z-index:5;pointer-events:none;max-width:550px;text-shadow:0 2px 20px #13232e55}.chapter-copy>p:first-child{font-size:14px;letter-spacing:2.8px;color:var(--gold);margin:0 0 18px}.chapter-copy h2{font:400 clamp(35px,4.3vw,66px)/1.04 Georgia,serif;letter-spacing:-1.5px;margin:0 0 18px}.chapter-description{font-size:14px;line-height:1.7;max-width:310px;color:#eee6d8;margin:0}.scroll-cue{position:absolute;bottom:205px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;flex-direction:column;gap:13px;transition:opacity .4s;pointer-events:none}.scroll-cue>span:not(.mouse){font-size:14px;letter-spacing:2px}.scroll-cue small{font-size:14px;color:#eee6d8}.mouse{display:block;border:1px solid #ffffff88;width:20px;height:32px;border-radius:20px;position:relative}.mouse i{display:block;width:2px;height:6px;position:absolute;top:7px;left:8px;background:#fff;animation:mouse-scroll 1.8s infinite}@keyframes mouse-scroll{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(9px);opacity:1}}.journey-bottom{position:absolute;bottom:31px;left:5%;right:5%;z-index:5;max-width:1600px;margin:auto}.progress-meta{display:flex;justify-content:space-between;font-size:14px;letter-spacing:1.8px;margin-bottom:12px;color:#eee6d8}.progress-track{height:1px;background:#fff4;margin-bottom:20px}#tour-progress{height:2px;background:var(--gold);width:0;transform:translateY(-1px);transition:width .1s linear}.chapter-links{display:flex;justify-content:space-between;gap:20px}.chapter-links button{background:none;border:0;padding:8px 0;text-align:left;font-size:14px;color:#fff7;display:flex;gap:10px;align-items:center}.chapter-links button span{font-size:14px;color:#fff5}.chapter-links button[aria-current=step]{color:var(--cream)}.chapter-links button[aria-current=step] span{color:var(--gold)}.video-preview-button{position:absolute;right:5%;bottom:182px;z-index:5;background:#13232e44;backdrop-filter:blur(12px);border:1px solid #ffffff55;color:#fff;font-size:14px;padding:12px 17px;border-radius:25px;display:flex;gap:15px}.video-preview-button:hover,.enquire:hover{background:#13232e88}#tour-error{position:absolute;top:165px;left:4%;right:4%;z-index:6;background:#f7f1df;color:#68542f;padding:14px;border-radius:5px;font-size:14px;max-width:650px}dialog{color:var(--ink);background:#f5f4eb;position:fixed;border:0;inset:0;padding:38px 45px;max-width:1000px;width:calc(100% - 60px);max-height:85svh;border-radius:6px;overflow-y:auto}dialog::backdrop{background:#13232eaa;backdrop-filter:blur(12px)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;letter-spacing:2px;margin-bottom:25px}.menu-top button{background:none;border:1px solid #eee6d8;border-radius:50%;width:36px;height:36px;color:var(--ink)}.menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.menu-columns>div>a,.menu-columns summary{font:27px Georgia,serif;padding:16px 0;border-bottom:1px solid #eee6d8;display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer}.menu-columns a:hover,.menu-columns summary:hover{color:#9c7d43}.menu-columns>div>a span{font:14px Arial;color:#52616d}.menu-columns>div>a small{font:14px Arial;color:#52616d}.menu-columns details>a{display:block;padding:12px 15px;font-size:14px}.menu-columns summary:after{content:"+";font-size:21px}.menu-columns details[open] summary:after{content:"\2212"}.menu-footer{display:flex;justify-content:space-between;font-size:14px;margin-top:32px;padding-top:25px;border-top:1px solid #eee6d8;gap:25px}#video-dialog{max-width:550px;padding:32px}#video-dialog h2{font:43px/1.1 Georgia,serif;margin:15px 0 25px}#video-dialog p{font-size:14px;line-height:1.85;color:#344a5b}.file-label{display:block;margin:20px 0 10px;font-size:14px}#tour-file{display:block;margin-top:12px;width:100%;font-size:14px;border:1px solid #eee6d8;padding:14px;border-radius:4px}#video-dialog p.file-help{font-size:14px}#file-status{font-size:14px;line-height:1.8;color:#896532}#reset-model{background:transparent;border:0;border-bottom:1px solid var(--ink);padding:12px 0;font-size:14px;margin-top:20px}.motion-controls{position:absolute;top:155px;right:4%;left:4%;z-index:5;display:flex;gap:15px;align-items:center;justify-content:flex-end;font-size:14px}.motion-controls button{background:var(--cream);color:var(--ink);border:0;border-radius:20px;padding:10px 16px}.motion-controls span{max-width:230px;line-height:1.8}[hidden]{display:none!important}@media(max-width:750px){.tour-header{padding:20px 5%}.school-brand{gap:9px}.school-brand img{width:38px;height:38px}.school-brand b{font-size:14px;letter-spacing:1.2px}.school-brand small{font-size:14px;letter-spacing:.8px;margin-top:5px}.enquire{display:none}#open-menu{padding:11px 13px;gap:13px;font-size:14px}#open-menu span{display:none}.tour-status{left:5%;top:88px;font-size:14px;letter-spacing:.7px;padding:8px 10px}.chapter-copy{left:6%;bottom:188px;max-width:85%}.chapter-copy h2{font-size:43px;letter-spacing:-1px}.chapter-copy>p:first-child{font-size:14px;letter-spacing:2px}.chapter-description{font-size:14px;max-width:260px}.scroll-cue{left:auto;right:6%;bottom:205px;transform:none}.scroll-cue>span:not(.mouse){display:none}.scroll-cue small{display:none}.video-preview-button{left:6%;right:auto;bottom:135px;font-size:14px;padding:9px 12px}.journey-bottom{left:6%;right:6%;bottom:24px}.chapter-links{gap:6px}.chapter-links button{font-size:14px;line-height:1.6;display:block}.chapter-links button span{display:block;margin-bottom:4px;font-size:14px}.progress-track{margin-bottom:12px}.progress-meta{font-size:14px}.chapter-links button:last-child{max-width:60px}dialog{width:calc(100% - 28px);padding:25px 22px;max-height:90svh}.menu-columns{grid-template-columns:1fr;gap:10px}.menu-columns>div>a,.menu-columns summary{font-size:25px;padding:12px 0}.menu-footer{flex-direction:column;font-size:14px;gap:15px}.menu-top{font-size:14px}.motion-controls{top:130px;justify-content:flex-start}.motion-controls span{font-size:14px}#video-dialog{padding:25px}}@media(prefers-reduced-motion:reduce){#scroll-journey{height:100svh}.scroll-cue{display:none}*,*:after,*:before{animation:none!important;transition:none!important}}.journey-bottom{bottom:calc(80px + env(safe-area-inset-bottom))}.chapter-copy,.video-preview-button{bottom:225px}@media(max-width:750px){.chapter-copy{bottom:245px}.video-preview-button{bottom:190px}.scroll-cue{bottom:260px}}.chapter-copy h1{font-size:clamp(44px,6.7vw,104px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0 0 24px;max-width:1050px;text-wrap:balance}.chapter-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#efe3c8}.chapter-copy .chapter-description{max-width:500px}.menu-school-intro{max-width:700px;font-size:14px;line-height:1.8;color:#eee6d8}.menu-school-intro a{color:#f0e5c9}@media(max-width:750px){.chapter-copy h1{font-size:clamp(42px,10vw,70px);max-width:640px}}.chapter-copy{width:min(72vw,1100px)}.chapter-copy h1{font-size:clamp(44px,5.4vw,92px);max-width:1100px}@media(max-width:750px){.chapter-copy{width:calc(100% - 40px);left:20px}.chapter-copy h1{font-size:clamp(42px,10vw,70px)}}.chapter-copy{max-width:none;width:min(72vw,1100px);bottom:17vh}@media(max-width:750px){.chapter-copy{width:calc(100% - 40px);max-width:none;bottom:20vh}}.tour-film-backdrop{display:none}#campus-video{z-index:1}.vignette{z-index:2}.chapter-copy,.scroll-cue,#tour-error{z-index:3}@media(max-width:750px){.scroll-cue{bottom:32px;right:24px}}#scroll-journey{height:1000svh}#campus-video{pointer-events:none;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:transparent;filter:none}.chapter-copy{will-change:opacity}.tour-poster,.tour-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.tour-poster{z-index:0}.tour-header{background:linear-gradient(180deg,#13232ee6,transparent);padding-bottom:35px}.chapter-copy #chapter-title{font-size:clamp(42px,5.4vw,86px);font-weight:600;line-height:1.06;letter-spacing:-.045em;color:#fffaf0;margin:0 0 20px;text-wrap:balance}.chapter-copy #chapter-title em{font-style:normal;color:#ffe4a3}.chapter-copy .chapter-description{font-size:17px;line-height:1.6;color:#fffaf0}.chapter-copy{max-width:760px;bottom:16svh}.school-overview{position:relative;z-index:4;background:#fffaf0;color:#13232e;padding:100px max(6%,calc((100vw - 1320px)/2));font-size:17px;line-height:1.8}.school-overview-intro{max-width:820px}.school-overline{font-size:14px;font-weight:700;letter-spacing:1.8px;color:#9b4300}.school-overview h1{font:400 clamp(34px,5vw,65px)/1.1 Georgia,serif;letter-spacing:-1px;margin:24px 0}.school-overview h2{font:400 34px/1.2 Georgia,serif;margin:16px 0}.school-overview p{max-width:760px}.home-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 22px;border-radius:32px;background:#ff8200;color:#13232e;font-weight:700;font-size:15px}.school-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:60px 0}.school-stages>a{padding:30px;border:1px solid #dbcbb5;border-radius:18px;background:#fffdf6}.school-stages>a>span{font-size:14px;color:#9b4300}.school-stages b{font-size:14px}.school-visit{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;padding:45px 0;border-top:1px solid #dbcbb5}.school-visit-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}.home-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid #dbcbb5;padding-top:25px;font-size:14px}@media(max-width:750px){#tour-stage{height:100svh;width:100%;aspect-ratio:9/16}#campus-video{inset:0;height:100%;width:100%;object-fit:cover}.school-overview{padding:65px 6%;font-size:16px}.school-overview h1{font-size:37px}.school-stages{grid-template-columns:1fr;gap:16px;margin:36px 0}.school-stages>a{padding:25px}.school-visit{grid-template-columns:1fr;gap:20px}.school-visit-links{align-items:stretch}.home-action{gap:12px}}@media(max-width:750px){.clean-portrait #tour-stage .chapter-copy{position:absolute!important;left:6%;right:6%;bottom:15svh;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;max-width:none;text-shadow:0 2px 16px #13232ed9}.clean-portrait .chapter-copy #chapter-title{font-size:clamp(32px,8.8vw,42px);font-weight:700;line-height:1.08;letter-spacing:-1px;color:#fffaf0;margin:0 0 16px}.clean-portrait .chapter-copy #chapter-title em{font-style:normal;color:#ffe4a3}.clean-portrait .chapter-description{font-size:15px;line-height:1.5;max-width:290px;color:#fffaf0}.clean-portrait #tour-stage:after{content:"";position:absolute;inset:50% 0 0;z-index:2;pointer-events:none;background:linear-gradient(transparent,#13232e80)}}@media(prefers-reduced-motion:reduce){#scroll-journey{height:100svh}}.tour-story-cue{position:absolute;z-index:3;will-change:opacity,transform}.tour-story-stat{right:6%;bottom:16svh;width:min(315px,88%);padding:27px 28px 23px;border:1px solid #ffe4a340;border-radius:18px;background:#13232ef5;color:#fffaf0;box-shadow:0 12px 35px #0003}.tour-story-stat .tour-story-value{font-size:clamp(48px,5vw,72px);font-weight:700;line-height:1;letter-spacing:-2px;margin:0 0 12px;color:#ffe4a3}.tour-story-stat h2{font-size:23px;font-weight:600;line-height:1.2;margin:0 0 12px}.tour-story-stat>p:not(.tour-story-value){font-size:15px;line-height:1.6;margin:0;max-width:250px}.tour-story-accent{display:block;width:100%;height:3px;background:#ff8200;margin-top:19px;border-radius:3px}.tour-invitation{left:5%;bottom:14svh;width:min(760px,78%);color:#fffaf0;text-shadow:0 2px 18px #13232e99}.tour-invitation h2{font-size:clamp(42px,5.4vw,80px);font-weight:600;line-height:1.06;letter-spacing:-.045em;margin:0 0 20px;text-wrap:balance}.tour-invitation h2 em{color:#ffe4a3;font-style:normal}.tour-invitation>p{font-size:17px;line-height:1.6;margin:0 0 23px}.tour-invitation .home-action{text-shadow:none;min-height:48px}@media(max-width:750px){.tour-story-stat{left:6%;right:6%;bottom:12svh;width:auto;padding:23px 25px}.tour-story-stat .tour-story-value{font-size:58px}.tour-story-stat h2{font-size:22px}.tour-story-stat>p:not(.tour-story-value){font-size:15px;max-width:100%}.tour-invitation{left:6%;bottom:12svh;width:88%}.tour-invitation h2{font-size:clamp(33px,8.8vw,42px);line-height:1.08;letter-spacing:-1px;margin-bottom:16px}.tour-invitation>p{font-size:15px;line-height:1.5;margin-bottom:20px}.tour-invitation .home-action{width:100%;font-size:14px;padding:13px 18px}}.embedded-film #campus-video,.embedded-film .tour-poster img{object-fit:cover;background:#13232e}.embedded-film .vignette{display:none}.embedded-film .chapter-copy,.embedded-film .tour-story-stat,.embedded-film .tour-invitation>h2,.embedded-film .tour-invitation>p{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.embedded-film .tour-invitation{left:0;right:0;bottom:6svh;width:100%;padding:0 5%;display:flex;justify-content:center}@media(orientation:portrait)and (min-width:751px){.clean-portrait .chapter-copy{left:6%;right:6%;width:auto;bottom:15svh}.clean-portrait .chapter-copy #chapter-title{font-size:clamp(38px,5vw,64px);line-height:1.08}.clean-portrait .tour-story-stat{left:6%;right:6%;bottom:12svh;width:min(430px,88%)}.clean-portrait .tour-invitation{left:6%;width:88%}.clean-portrait .tour-invitation h2{font-size:clamp(38px,5vw,64px)}}.clean-portrait .tour-story-stat{left:auto;right:5%;top:clamp(160px,21svh,190px);bottom:auto;width:min(210px,60vw);padding:14px 16px;border-radius:13px}.clean-portrait .tour-story-stat .tour-story-value{font-size:38px;letter-spacing:-1px;margin:0 0 8px}.clean-portrait .tour-story-stat h2{font-size:17px;line-height:1.2;margin:0 0 8px}.clean-portrait .tour-story-stat>p:not(.tour-story-value){font-size:14px;line-height:1.45;max-width:100%;margin:0}.clean-portrait .tour-story-stat .tour-story-accent{height:2px;margin-top:12px}