@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&family=Raleway:wght@400;700&display=swap');

:root{--ivory:#f4f0e7;--cream:#fbf8f1;--navy:#102738;--forest:#183e34;--forest-2:#285a49;--gold:#b89555;--charcoal:#202522;--muted:#6d746e;--line:rgba(24,62,52,.18);--white:#fff;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 24px 70px rgba(16,39,56,.13);--radius:26px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.skip-link{position:fixed;left:1rem;top:-100px;z-index:10000;background:var(--cream);padding:.75rem 1rem}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.container{width:min(1220px,calc(100% - 48px));margin:auto}.eyebrow{display:flex;align-items:center;gap:.7rem;margin:0 0 1.25rem;color:var(--forest-2);font-size:.74rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.eyebrow:before{content:'';width:32px;height:1px;background:var(--gold)}h1,h2,h3,.display{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0}h1{font-size:clamp(4rem,8.4vw,9rem)}h2{font-size:clamp(3rem,5.8vw,6.3rem)}h3{font-size:clamp(1.8rem,3vw,3rem)}p{margin:0 0 1.25rem}.lede{font-size:clamp(1.1rem,1.7vw,1.45rem);color:var(--muted);max-width:650px}.section{padding:clamp(5.5rem,10vw,10rem) 0}.section-dark{background:var(--forest);color:var(--cream)}.section-dark .eyebrow{color:#c7d6ce}.section-dark .lede{color:#d6ded9}.section-header{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:5vw;align-items:end;margin-bottom:4rem}.section-header p{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:52px;padding:.85rem 1.3rem;border:1px solid transparent;border-radius:100px;background:var(--forest);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s}.button:hover{transform:translateY(-3px);background:var(--forest-2)}.button-light{background:var(--cream);color:var(--forest)}.button-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.button-outline.dark{border-color:var(--forest);color:var(--forest)}.button .arrow{font-size:1.05rem;transition:transform .3s}.button:hover .arrow{transform:translateX(5px)}

.preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--forest);color:var(--cream);pointer-events:none;animation:preloader-failsafe .01s 1.5s forwards;transition:opacity .35s,visibility .35s}.preloader.done{opacity:0;visibility:hidden}.preloader-inner{text-align:center}.preloader-mark{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem)}.preloader-line{height:1px;width:180px;background:rgba(255,255,255,.2);margin:1rem auto;overflow:hidden}.preloader-line:after{content:'';display:block;width:100%;height:100%;background:var(--gold);transform:translateX(-100%);animation:load .7s var(--ease) forwards}.preloader-count{font-size:.7rem;letter-spacing:.2em}@keyframes load{to{transform:none}}@keyframes preloader-failsafe{to{opacity:0;visibility:hidden}}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;padding:1.2rem 0;transition:.4s}.site-header.scrolled{padding:.65rem 0;background:rgba(244,240,231,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{width:min(1380px,calc(100% - 36px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.8rem;color:#fff;z-index:2}.scrolled .brand,.internal-header .brand{color:var(--forest)}.brand-emblem{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-family:var(--serif);font-size:1.4rem}.brand-text{line-height:1.05}.brand-text strong{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:400}.brand-text span{display:block;font-size:.55rem;letter-spacing:.17em;text-transform:uppercase;margin-top:.25rem}.desktop-nav{display:flex;align-items:center;gap:1.65rem;color:#fff;font-size:.76rem;font-weight:500}.scrolled .desktop-nav,.internal-header .desktop-nav{color:var(--charcoal)}.desktop-nav>a:not(.button){position:relative}.desktop-nav>a:not(.button):after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .3s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.scrolled .desktop-nav .button,.internal-header .desktop-nav .button{color:#fff}.menu-toggle{display:none;border:0;background:none;padding:.75rem;color:#fff;z-index:2}.scrolled .menu-toggle,.internal-header .menu-toggle{color:var(--forest)}.menu-toggle span{display:block;width:28px;height:1px;background:currentColor;margin:6px;transition:.35s}.menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:rotate(-45deg)}.mobile-panel{position:fixed;inset:0;display:grid;align-content:center;padding:7rem 2rem 3rem;background:var(--forest);color:var(--cream);transform:translateY(-100%);transition:transform .7s var(--ease)}.menu-open .mobile-panel{transform:none}.mobile-panel a{font-family:var(--serif);font-size:clamp(2.4rem,11vw,4.5rem);line-height:1.13}.mobile-panel .mobile-small{font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-top:2.2rem;color:#d3ddd8}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:#fff}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:115%;object-fit:cover;object-position:center 38%;animation:heroScale 8s var(--ease) both}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,22,.85) 0%,rgba(7,25,22,.43) 52%,rgba(7,25,22,.13)),linear-gradient(0deg,rgba(5,18,16,.62),transparent 58%)}.hero-grain{position:absolute;inset:0;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.hero-content{position:relative;z-index:2;padding:10rem 0 5rem;width:100%}.hero .eyebrow{color:#e6d8bb}.hero h1{max-width:1040px}.hero h1 em{color:#d8c39b;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:2.3rem}.hero-copy{max-width:580px;font-size:clamp(1rem,1.7vw,1.35rem);color:#e3e8e4}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.hero-orbit{position:absolute;right:4vw;top:22%;width:clamp(120px,14vw,220px);aspect-ratio:1;border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:float 5s ease-in-out infinite}.hero-orbit:before{content:'PLAY  •  DISCOVER  •  GROW  •';position:absolute;inset:13%;display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;font-size:.55rem;letter-spacing:.16em}.scroll-cue{position:absolute;right:2rem;bottom:2.2rem;z-index:3;writing-mode:vertical-rl;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase}.scroll-cue:after{content:'';display:inline-block;width:1px;height:70px;background:rgba(255,255,255,.6);margin-top:1rem;animation:scrollLine 2s infinite}@keyframes heroScale{from{transform:scale(1.1)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(-16px) rotate(3deg)}}@keyframes scrollLine{50%{transform:scaleY(.4);transform-origin:bottom}}
.intro-statement{max-width:1100px}.intro-statement h2 span{color:var(--gold);font-style:italic}.intro-meta{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}.signature{font-family:var(--serif);font-size:1.5rem;color:var(--forest)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.feature-card{min-height:310px;padding:2rem;background:var(--cream);transition:background .45s,color .45s,transform .45s}.feature-card:hover{background:var(--forest);color:var(--cream);transform:translateY(-6px)}.feature-card .number{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.14em;margin-bottom:5rem}.feature-card h3{font-size:2.15rem;margin-bottom:1.1rem}.feature-card p{color:var(--muted)}.feature-card:hover p{color:#cdd8d2}
.journey{overflow:hidden}.journey-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem max(24px,calc((100vw - 1220px)/2)) 3rem;scrollbar-width:thin}.journey-card{position:relative;flex:0 0 min(380px,82vw);min-height:490px;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;border-radius:var(--radius);overflow:hidden;scroll-snap-align:center;color:#fff}.journey-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.journey-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 22%,rgba(11,34,29,.9))}.journey-card:hover img{transform:scale(1.06)}.journey-card>*:not(img){position:relative;z-index:1}.journey-card .stage{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#dec99f}.journey-card h3{font-size:2.8rem;margin:.8rem 0}.journey-card p{margin:0;color:#e0e7e3}.journey-nav{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.round-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;transition:.3s}.round-button:hover{background:var(--forest);color:#fff}
.split-story{display:grid;grid-template-columns:1.05fr .95fr;min-height:780px}.split-image{position:relative;overflow:hidden}.split-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,8rem);background:var(--forest);color:var(--cream)}.split-copy h2{font-size:clamp(3rem,5vw,5.5rem);margin-bottom:2rem}.split-copy p{color:#d2dcd6;max-width:540px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem}.principle{padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.principle strong{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400}.principle span{font-size:.82rem;color:#bac9c1}
.mosaic{display:grid;grid-template-columns:1.25fr .75fr .8fr;grid-template-rows:310px 310px;gap:1rem}.mosaic figure{position:relative;overflow:hidden;margin:0;border-radius:18px;cursor:pointer}.mosaic figure:first-child{grid-row:1/3}.mosaic figure:nth-child(4){grid-column:2/4}.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.mosaic figure:hover img{transform:scale(1.05)}.mosaic figcaption{position:absolute;left:1rem;bottom:1rem;padding:.5rem .75rem;border-radius:50px;background:rgba(16,39,56,.7);backdrop-filter:blur(10px);color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.facility-list{counter-reset:item}.facility-row{position:relative;display:grid;grid-template-columns:80px 1fr 1fr;gap:2rem;align-items:center;padding:2rem 0;border-top:1px solid rgba(255,255,255,.18)}.facility-row:before{counter-increment:item;content:'0' counter(item);color:var(--gold);font-size:.75rem}.facility-row h3{font-size:clamp(2.1rem,4vw,4rem)}.facility-row p{margin:0;color:#c9d5cf}.facility-note{margin-top:2rem;padding:1rem;border:1px solid rgba(255,255,255,.2);font-size:.82rem;color:#bdcbc4}
.quote-block{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:start}.quote-mark{font-family:var(--serif);font-size:11rem;line-height:.7;color:var(--gold)}blockquote{margin:0;font-family:var(--serif);font-size:clamp(2.3rem,4.6vw,5rem);line-height:1.06}.quote-source{margin-top:2rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.admissions-cta{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;overflow:hidden}.admissions-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.admissions-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,29,.92),rgba(10,35,29,.32))}.admissions-cta .container{position:relative;z-index:1}.admissions-cta h2{max-width:900px;margin-bottom:2rem}.admissions-cta p{max-width:560px;color:#dce4df;font-size:1.15rem}.footer{padding:5rem 0 2rem;background:#0d2c25;color:#dce4df}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:4rem}.footer-brand h2{font-size:clamp(2.7rem,4vw,4.8rem);color:#fff}.footer h4{margin:0 0 1.3rem;color:#cdb78e;font-size:.67rem;letter-spacing:.16em;text-transform:uppercase}.footer a{display:block;margin:.6rem 0;font-size:.9rem}.footer a:hover{color:#d1bc92}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:5rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16);font-size:.72rem;color:#9fb2a9}.footer-note{max-width:390px;color:#9fb2a9;font-size:.8rem;margin-top:1.5rem}

.page-hero{position:relative;min-height:72svh;display:flex;align-items:flex-end;padding:11rem 0 5rem;background:var(--forest);color:#fff;overflow:hidden}.page-hero-media{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,34,28,.9),rgba(8,34,28,.25))}.page-hero-content{position:relative;z-index:1}.breadcrumb{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2.2rem;color:#d4c39f}.page-hero h1{font-size:clamp(4rem,8vw,8rem);max-width:1050px}.page-hero p{max-width:640px;font-size:1.2rem;color:#d9e2dd;margin:2rem 0 0}.editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start}.sticky-title{position:sticky;top:130px}.prose h2{font-size:clamp(2.5rem,4.5vw,4.8rem);margin-bottom:1.5rem}.prose h3{font-size:2rem;margin:2.5rem 0 1rem}.prose p{font-size:1.08rem;color:var(--muted)}.value-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.value-card{padding:1.7rem;border:1px solid var(--line);background:var(--cream);border-radius:16px}.value-card h3{font-size:1.65rem;margin:0 0 .6rem}.value-card p{font-size:.92rem;margin:0}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stage-tile{position:relative;min-height:380px;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;border-radius:20px;overflow:hidden;color:white}.stage-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stage-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(8,31,26,.9))}.stage-tile>*:not(img){position:relative;z-index:1}.stage-tile h3{font-size:2.3rem;margin:.5rem 0}.stage-tile p{margin:0;font-size:.9rem}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.process-step{padding:2rem;border-top:2px solid var(--gold);background:var(--cream)}.process-step .number{font-size:.7rem;color:var(--gold);letter-spacing:.18em}.process-step h3{font-size:1.8rem;margin:2.5rem 0 .8rem}.process-step p{color:var(--muted);font-size:.9rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.45rem}.form-field.full{grid-column:1/-1}.form-field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{width:100%;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--charcoal)}.form-field textarea{min-height:130px;resize:vertical}.form-help{font-size:.78rem;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw}.contact-card{padding:2rem;background:var(--cream);border:1px solid var(--line);border-radius:18px}.contact-card h3{font-size:2rem;margin-bottom:1rem}.contact-card a{color:var(--forest);text-decoration:underline;text-underline-offset:4px}.faq details{padding:1.4rem 0;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.5rem;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';float:right}.faq details[open] summary:after{content:'−'}.faq details p{max-width:760px;color:var(--muted);margin-top:1rem}.gallery-grid{columns:3 280px;column-gap:1rem}.gallery-item{position:relative;break-inside:avoid;margin:0 0 1rem;cursor:pointer;overflow:hidden;border-radius:16px}.gallery-item img{width:100%;transition:.6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.8rem}.filter-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2rem}.filter{padding:.55rem 1rem;border:1px solid var(--line);border-radius:50px;background:transparent;cursor:pointer}.filter.active{background:var(--forest);color:#fff}.lightbox{position:fixed;inset:0;z-index:4000;display:none;place-items:center;background:rgba(6,22,18,.95);padding:4rem}.lightbox.open{display:grid}.lightbox img{max-height:84vh;max-width:90vw}.lightbox-close{position:absolute;right:2rem;top:2rem;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:none;color:#fff;font-size:1.4rem;cursor:pointer}.legal{max-width:850px}.legal h2{font-size:2.4rem;margin:2.5rem 0 1rem}.legal p,.legal li{color:var(--muted)}.notice{padding:1rem 1.2rem;border-left:3px solid var(--gold);background:#ede6d8;color:#4f554f;font-size:.9rem}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1020px){.desktop-nav{display:none}.menu-toggle{display:block}.feature-grid,.stage-grid{grid-template-columns:repeat(2,1fr)}.split-story{grid-template-columns:1fr;min-height:auto}.split-image{min-height:600px}.mosaic{grid-template-columns:1fr 1fr}.mosaic figure:first-child{grid-row:auto}.mosaic figure:nth-child(4){grid-column:auto}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top>div:last-child{grid-column:2/4}.process{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.container{width:min(100% - 30px,1220px)}.section{padding:5.2rem 0}.section-header,.intro-meta,.editorial-grid,.contact-grid{grid-template-columns:1fr}.section-header{gap:1.5rem;margin-bottom:2.5rem}.hero-content{padding:8rem 0 3rem}.hero-bottom{display:block}.hero-actions{margin-top:1.5rem}.hero-orbit,.scroll-cue{display:none}.hero h1{font-size:clamp(3.6rem,17vw,5.7rem)}.hero-media img{height:100%;object-position:54% center}.feature-grid,.stage-grid,.value-list,.process,.form-grid{grid-template-columns:1fr}.feature-card{min-height:270px}.feature-card .number{margin-bottom:3rem}.split-image{min-height:420px}.split-copy{padding:4rem 1.2rem}.principles{grid-template-columns:1fr}.mosaic{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.mosaic figure{min-width:82vw;height:440px;scroll-snap-align:center}.facility-row{grid-template-columns:45px 1fr}.facility-row p{grid-column:2}.quote-block{grid-template-columns:1fr}.quote-mark{font-size:7rem}.admissions-cta{min-height:610px}.footer-top{grid-template-columns:1fr 1fr;gap:2.5rem 1.3rem}.footer-brand{grid-column:1/-1}.footer-top>div:last-child{grid-column:auto}.footer-bottom{display:block}.page-hero{min-height:70svh;padding-bottom:3rem}.page-hero h1{font-size:clamp(3.8rem,16vw,6rem)}.sticky-title{position:static}.gallery-grid{columns:1}.form-field.full{grid-column:auto}}
@media(pointer:fine){.cursor{position:fixed;z-index:10000;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--gold);pointer-events:none;mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s}.cursor.hover{width:40px;height:40px;margin:-15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.preloader{display:none}.reveal{opacity:1;transform:none}}

/* Purple & gold next-generation direction — inspired by the supplied reference, original to Elegancia */
:root{--ivory:#fbfafc;--cream:#fff;--navy:#241032;--forest:#4d176f;--forest-2:#6d2b91;--gold:#d6a72e;--charcoal:#2a2130;--muted:#746d78;--line:rgba(77,23,111,.15);--shadow:0 24px 70px rgba(50,16,69,.14)}
body{background:var(--ivory)}
.site-header,.site-header.scrolled{height:100px;padding:0;background:#fff;color:var(--charcoal);border-bottom:1px solid rgba(77,23,111,.1);box-shadow:0 8px 36px rgba(43,19,56,.06);backdrop-filter:none}
.nav-wrap{width:100%;height:100%;display:grid;grid-template-columns:minmax(210px,240px) 1fr;gap:1rem;padding:0 28px 0 32px}
.brand-logo-link,.scrolled .brand,.internal-header .brand{color:var(--forest)}
.brand-logo{width:min(220px,100%);height:auto;max-height:76px;object-fit:contain;mix-blend-mode:multiply}
.mega-nav{height:100%;display:grid;grid-template-columns:repeat(5,minmax(118px,1fr)) 146px;gap:0;color:var(--charcoal);font-family:'Raleway',var(--sans);font-size:16px;font-weight:400}
.scrolled .mega-nav,.internal-header .mega-nav{color:var(--charcoal)}
.mega-nav .mega-link{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 clamp(.75rem,1.2vw,1.25rem);border-left:1px solid rgba(77,23,111,.16);overflow:hidden}
.mega-nav .mega-link:before{content:'';position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--forest),var(--gold));transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.mega-nav .mega-link:hover:before,.mega-nav .mega-link[aria-current=page]:before{transform:scaleX(1);transform-origin:left}
.mega-nav .mega-link:after{display:none}
.mega-link strong{color:var(--forest);font-size:17px;line-height:17px;font-weight:700;letter-spacing:.32px}
.mega-link span{margin-top:8px;color:#211c24;font-size:10px;line-height:14px;font-weight:400;letter-spacing:.28px}
.mega-nav .nav-enquire{align-self:center;justify-self:end;width:146px;height:62px;min-height:0;padding:14px 24px;border-radius:999px;background:var(--gold);color:#24152d;text-align:center;font-family:'Raleway',var(--sans);font-size:16px;font-weight:400;line-height:16px;letter-spacing:.32px;text-transform:none}
.mega-nav .nav-enquire:hover{background:#e4b83e;color:#24152d;transform:scale(1.03)}
.mega-nav .nav-enquire .arrow{position:absolute;right:13px;top:13px;font-family:var(--sans);font-size:.75rem}

.video-hero{min-height:calc(100svh - 100px);margin-top:100px;align-items:center;background:var(--navy)}
.video-hero .hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.92) contrast(1.04)}
.video-hero .hero-media:after{background:linear-gradient(180deg,rgba(34,12,47,.38),rgba(28,8,39,.62)),radial-gradient(circle at 50% 48%,transparent 0,rgba(31,9,43,.18) 52%,rgba(26,8,37,.62) 100%)}
.video-hero .hero-content{padding:clamp(5rem,9vh,8rem) 0 6rem;text-align:center}
.hero-centre{display:flex;flex-direction:column;align-items:center}
.hero-kicker{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.3rem;padding:.56rem 1rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(31,9,43,.24);backdrop-filter:blur(10px);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.video-hero h1{max-width:1050px;font-family:var(--sans);font-size:clamp(4.3rem,7.4vw,8.2rem);font-weight:600;line-height:.88;letter-spacing:-.065em;text-shadow:0 8px 40px rgba(16,3,24,.35)}
.video-hero h1 em{font-family:var(--serif);font-weight:400;color:#f2cf66;letter-spacing:-.045em}
.video-hero .hero-copy{max-width:860px;margin:1.6rem auto 0;color:#fff;font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.48;text-shadow:0 2px 20px rgba(20,5,28,.5)}
.video-hero .hero-actions{justify-content:center;margin-top:2rem}
.button-gold{min-width:190px;background:var(--gold);color:#25142f}
.button-gold:hover{background:#e3b941;color:#25142f}
.video-hero .button-outline{min-width:190px;border-color:rgba(255,255,255,.9);background:rgba(34,12,47,.18);backdrop-filter:blur(8px)}
.hero-badge{position:absolute;z-index:3;left:30px;bottom:24px;display:grid;place-items:center;width:106px;height:106px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(76,22,108,.76);backdrop-filter:blur(12px);color:#fff;text-align:center;box-shadow:0 15px 45px rgba(20,4,29,.22)}
.hero-badge:before{content:'';position:absolute;inset:8px;border:1px solid rgba(214,167,46,.9);border-radius:50%}
.hero-badge span{font-family:var(--serif);font-size:2.4rem;line-height:1;color:#f2cf66}
.hero-badge small{max-width:70px;margin-top:-1rem;font-size:.46rem;letter-spacing:.12em;text-transform:uppercase}
.hero-scroll{position:absolute;z-index:3;left:154px;bottom:35px;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;font-size:1.45rem;transition:.35s}
.hero-scroll:hover{background:#fff;color:var(--forest);transform:translateY(4px)}
.hero-control{position:absolute;z-index:3;right:28px;bottom:28px;display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(35,10,48,.28);backdrop-filter:blur(12px);color:#fff;cursor:pointer}
.hero-control:hover{background:rgba(77,23,111,.74)}
.control-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--gold);color:#281532;font-size:.65rem;font-weight:700}.control-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.section-dark,.split-copy{background:var(--forest)}
.footer{background:#2a0c3b}
.page-hero{margin-top:100px;min-height:calc(72svh - 100px);background:var(--forest)}
.mobile-panel{background:linear-gradient(145deg,#2a0c3b,#59197b)}

@media(max-width:1180px){.nav-wrap{grid-template-columns:220px 1fr;padding:0 18px}.mega-nav{grid-template-columns:repeat(5,minmax(105px,1fr)) 118px}.mega-nav .nav-enquire{width:106px;height:68px;font-size:1.05rem}.mega-link strong{font-size:.9rem}.mega-link span{font-size:.375rem}}
@media(max-width:1020px){.site-header,.site-header.scrolled{height:82px}.nav-wrap{display:flex;padding:0 16px}.brand-logo{width:220px}.mega-nav{display:none}.menu-toggle,.scrolled .menu-toggle,.internal-header .menu-toggle{color:var(--forest)}.video-hero{min-height:calc(100svh - 82px);margin-top:82px}.page-hero{margin-top:82px;min-height:calc(70svh - 82px)}.mobile-panel{padding-top:7rem}.mobile-panel a{color:#fff}.mobile-panel .mobile-small{color:#f0cd69}}
@media(max-width:720px){.brand-logo{width:195px}.video-hero .hero-content{padding:4.5rem 0 7.5rem}.video-hero h1{font-size:clamp(3.35rem,15.5vw,5.1rem);line-height:.91}.video-hero .hero-copy{font-size:1rem;line-height:1.5}.hero-kicker{font-size:.56rem;letter-spacing:.1em}.video-hero .hero-actions{width:100%;flex-direction:column;align-items:stretch}.video-hero .button{width:100%}.hero-badge{left:16px;bottom:18px;width:76px;height:76px}.hero-badge span{font-size:1.8rem}.hero-badge small{display:none}.hero-scroll{left:104px;bottom:24px;width:54px;height:54px}.hero-control{right:16px;bottom:26px;padding:.65rem}.control-label{display:none}.video-hero .hero-media video{object-position:56% center}}
@media(prefers-reduced-motion:reduce){.video-hero .hero-media{background:url('../assets/images/3.jpeg') center/cover no-repeat}}

/* Full-site editorial mega navigation and unified inner-page experience */
.nav-cluster{height:100%;min-width:0}
.nav-cluster>.mega-link{height:100%;width:100%}
.site-header.scrolled .nav-cluster>.mega-link>span{display:none}
@media(min-width:1021px){
  .site-header,.site-header.scrolled,.brand-logo,.nav-enquire,.nav-dropdown{transition:height .38s var(--ease),width .38s var(--ease),max-height .38s var(--ease),top .38s var(--ease),padding .38s var(--ease),background .3s}
  .site-header.scrolled{height:78px}
  .site-header.scrolled .brand-logo{width:185px;max-height:58px}
  .site-header.scrolled .nav-enquire{height:48px;padding-top:8px;padding-bottom:8px}
  .site-header.scrolled .nav-dropdown{top:78px}
}
.nav-dropdown{position:fixed;z-index:990;top:100px;left:0;width:100vw;min-height:420px;display:grid;grid-template-columns:minmax(320px,36%) minmax(440px,42%) minmax(230px,22%);background:#fff;color:var(--charcoal);box-shadow:0 28px 70px rgba(36,16,50,.2);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-14px);transition:opacity .28s ease,transform .42s var(--ease),visibility .28s}
.nav-cluster:hover>.nav-dropdown,.nav-cluster:focus-within>.nav-dropdown,.nav-cluster.is-open>.nav-dropdown{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.nav-cluster:hover>.mega-link:before,.nav-cluster:focus-within>.mega-link:before,.nav-cluster.is-open>.mega-link:before{transform:scaleX(1);transform-origin:left}
.dropdown-visual{position:relative;min-height:420px;overflow:hidden;background:var(--forest)}
.dropdown-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.88)}
.dropdown-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,12,60,.08),rgba(39,9,54,.82))}
.dropdown-visual>div{position:absolute;z-index:1;left:clamp(1.5rem,3vw,3rem);right:2rem;bottom:2rem;color:#fff}
.dropdown-visual span,.dropdown-eyebrow{display:block;margin-bottom:.8rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.dropdown-visual strong{display:block;max-width:420px;font-family:var(--serif);font-size:clamp(1.9rem,2.5vw,3.2rem);font-weight:400;line-height:1.02}
.dropdown-main{padding:2.3rem clamp(2rem,3.3vw,4rem)}
.dropdown-main h2{margin:0 0 1.6rem;color:var(--forest);font-size:clamp(2.3rem,3vw,3.8rem)}
.dropdown-links{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}
.dropdown-links a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:47px;border-top:1px solid rgba(77,23,111,.18);color:#2f2633;font-family:'Raleway',var(--sans);font-size:.84rem;font-weight:700;letter-spacing:.02em;transition:color .25s,padding .25s}
.dropdown-links a:hover{padding-left:.35rem;color:var(--forest)}
.dropdown-links a span{color:var(--gold)}
.dropdown-utility{display:flex;flex-direction:column;padding:2.4rem 2rem;background:linear-gradient(150deg,#2a0c3b,#571d74);color:#fff}
.dropdown-utility p{margin:0 0 1.2rem;color:#f1cf6f;font-family:'Raleway',var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.dropdown-utility>a{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.15);font-family:'Raleway',var(--sans);font-size:.82rem}
.dropdown-utility .dropdown-visit{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:1rem 1.1rem;border:0;border-radius:999px;background:var(--gold);color:#241032;font-weight:700}
.mega-nav .nav-cluster:nth-child(2)>.nav-dropdown{grid-template-columns:minmax(250px,24%) minmax(540px,54%) minmax(230px,22%)}
.mega-nav .nav-cluster:nth-child(2) .dropdown-visual{display:grid;place-items:center;padding:2rem;background:#f4eef7}
.mega-nav .nav-cluster:nth-child(2) .dropdown-visual img{width:min(100%,280px);height:auto;aspect-ratio:1;object-fit:cover;box-shadow:0 18px 45px rgba(44,12,61,.18)}
.mega-nav .nav-cluster:nth-child(2) .dropdown-visual:after,.mega-nav .nav-cluster:nth-child(2) .dropdown-visual>div{display:none}

.page-hero{min-height:calc(92svh - 100px);padding:0;align-items:center;text-align:center}
.page-hero-media:after{background:linear-gradient(180deg,rgba(42,12,59,.42),rgba(34,8,48,.76)),radial-gradient(circle at 50% 45%,transparent,rgba(27,6,39,.48))}
.page-hero-media img{transform:scale(1.02);filter:saturate(.88) contrast(1.04)}
.page-hero-content{display:flex;flex-direction:column;align-items:center;padding:6rem 0 5rem}
.breadcrumb{margin-bottom:1.4rem;padding:.48rem .9rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(46,13,64,.22);backdrop-filter:blur(10px);color:#f0cf70}
.page-hero h1{max-width:1050px;font-family:var(--sans);font-size:clamp(4rem,7.5vw,8rem);font-weight:600;line-height:.9;letter-spacing:-.06em;text-shadow:0 10px 36px rgba(20,4,29,.35)}
.page-hero p{max-width:760px;margin-top:1.6rem;color:#fff;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.5;text-shadow:0 3px 20px rgba(20,4,29,.45)}
.section{position:relative;background:var(--ivory)}
.section-dark{background:linear-gradient(145deg,#3e1258,#5c2377)}
.section-dark .value-card{background:rgba(255,255,255,.96);color:var(--charcoal)}
.section-dark .value-card p{color:var(--muted)}
.section-dark .value-card:hover{background:#fff;color:var(--charcoal)}
.value-card{border:0;border-top:3px solid var(--gold);border-radius:0;box-shadow:0 18px 45px rgba(49,16,67,.08);transition:transform .35s var(--ease),box-shadow .35s}
.value-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px rgba(49,16,67,.15)}
.stage-grid{gap:1.2rem;background:transparent;border:0}
.stage-tile{min-height:430px;border-radius:0;box-shadow:0 22px 50px rgba(40,12,55,.14)}
.stage-tile:after{background:linear-gradient(180deg,transparent 18%,rgba(37,9,51,.9))}
.stage-tile .eyebrow{color:#f0cf70}
.grade-path{display:grid;grid-template-columns:1.4fr repeat(5,1fr);align-items:center;margin-top:1.4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.grade-path p,.grade-path a{margin:0;padding:1.2rem 1.25rem}
.grade-path p{color:var(--forest);font-family:var(--serif);font-size:1.35rem}
.grade-path a{display:flex;justify-content:space-between;border-left:1px solid var(--line);font-family:'Raleway',var(--sans);font-size:.8rem;font-weight:700}
.grade-path a span{color:var(--gold)}
.grade-path a:hover{background:var(--forest);color:#fff}
.admissions-cta:after{background:linear-gradient(90deg,rgba(44,12,61,.94),rgba(61,18,82,.48))}
.admissions-cta h2{font-family:var(--sans);font-weight:600;letter-spacing:-.055em}
.process-step{border-top-color:var(--gold);box-shadow:0 16px 40px rgba(48,15,66,.08)}
.contact-card{border-color:rgba(77,23,111,.16);box-shadow:0 20px 50px rgba(48,15,66,.08)}
.notice{border-left-color:var(--gold);background:#f3ecf6;color:#55465c}
.facility-row{border-top-color:rgba(255,255,255,.22)}
.footer{background:#270b37}

.mobile-panel details{border-bottom:1px solid rgba(255,255,255,.18)}
.mobile-panel summary{padding:.85rem 0;color:#fff;font-family:var(--serif);font-size:clamp(1.55rem,7vw,2.2rem);cursor:pointer;list-style:none}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-panel summary:after{content:'+';float:right;color:#f0cd69;font-family:var(--sans);font-weight:400}
.mobile-panel details[open] summary:after{content:'−'}
.mobile-panel details>div{display:grid;grid-template-columns:1fr 1fr;padding:0 0 1rem}
.mobile-panel details a{padding:.35rem 0;color:#eee4f2;font-family:'Raleway',var(--sans);font-size:.78rem;letter-spacing:.02em}
.mobile-panel .mobile-cta{margin-top:1.2rem;padding:1rem 1.2rem;border-radius:999px;background:var(--gold);color:#271033;font-family:'Raleway',var(--sans);font-size:.78rem;font-weight:700;text-align:center}

@media(max-width:1180px){.nav-dropdown{grid-template-columns:31% 45% 24%}.dropdown-main{padding:2rem}.dropdown-links{column-gap:1rem}.dropdown-links a{font-size:.76rem}.dropdown-utility{padding:2rem 1.4rem}}
@media(max-width:1020px){.nav-dropdown{display:none}.mobile-panel{display:block;overflow-y:auto;padding:7rem 1.5rem 2rem}.page-hero{min-height:calc(84svh - 82px)}.grade-path{grid-template-columns:1fr 1fr 1fr}.grade-path p{grid-column:1/-1}.grade-path a{border-top:1px solid var(--line)}}
@media(max-width:720px){.page-hero{min-height:calc(82svh - 82px)}.page-hero-content{padding:5rem 0 4rem}.page-hero h1{font-size:clamp(3.25rem,15vw,5rem)}.grade-path{grid-template-columns:1fr 1fr}.stage-tile{min-height:390px}}

/* Homepage learning bento — next-generation editorial showcase */
.learning-wow{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:#230b31;color:#fff;isolation:isolate}
.learning-wow:before{content:'';position:absolute;z-index:-1;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.learning-aura{position:absolute;z-index:-1;border-radius:50%;filter:blur(12px);pointer-events:none}
.aura-one{width:38vw;aspect-ratio:1;right:-13vw;top:-10vw;background:radial-gradient(circle,rgba(214,167,46,.23),transparent 68%)}
.aura-two{width:32vw;aspect-ratio:1;left:-12vw;bottom:-12vw;background:radial-gradient(circle,rgba(133,57,169,.45),transparent 68%)}
.learning-wow-head{display:grid;grid-template-columns:1.18fr .82fr;gap:8vw;align-items:end;margin-bottom:4rem}
.learning-wow .eyebrow{color:#f0cd69}
.learning-wow-head h2{font-family:var(--sans);font-size:clamp(4rem,7.2vw,8rem);font-weight:600;line-height:.88;letter-spacing:-.065em}
.learning-wow-head h2 em{font-family:var(--serif);font-weight:400;color:#f0cd69;letter-spacing:-.04em}
.learning-intro{position:relative;padding:1.7rem 0 0 2rem;border-top:1px solid rgba(255,255,255,.27)}
.learning-intro p{max-width:520px;color:#eee7f0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}
.learning-intro>a{display:inline-flex;align-items:center;gap:.75rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.learning-pulse{position:absolute;left:0;top:1.95rem;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(214,167,46,.13);animation:learningPulse 2.4s ease-in-out infinite}
@keyframes learningPulse{50%{box-shadow:0 0 0 15px rgba(214,167,46,0)}}
.learning-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,minmax(235px,auto));gap:1rem}
.learning-tile{position:relative;overflow:hidden;min-height:235px;padding:2rem;border:1px solid rgba(255,255,255,.14);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.learning-tile:hover{z-index:2;transform:translateY(-8px);border-color:rgba(240,205,105,.65);box-shadow:0 28px 70px rgba(8,1,13,.34)}
.learning-tile h3{margin:0 0 .9rem;font-size:clamp(2rem,3vw,3.3rem);line-height:.96}
.learning-tile p{margin:0;color:inherit;font-size:.9rem;line-height:1.55}
.tile-index{display:block;margin-bottom:2rem;font-family:'Raleway',var(--sans);font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.learning-tile-visual{grid-column:1/7;grid-row:1/3;display:flex;align-items:flex-end;min-height:486px;padding:0}
.learning-tile-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.learning-tile-visual:hover>img{transform:scale(1.055)}
.learning-tile-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,7,43,.05) 12%,rgba(28,6,39,.92) 92%)}
.tile-overlay{position:relative;z-index:1;width:100%;padding:clamp(2rem,4vw,4rem)}
.tile-overlay p{max-width:550px;color:#eee7f0}
.tile-orbit{position:absolute;z-index:1;right:2rem;top:2rem;width:92px;aspect-ratio:1;border:1px solid rgba(255,255,255,.65);border-radius:50%}
.tile-orbit:before,.tile-orbit:after{content:'';position:absolute;border-radius:50%}.tile-orbit:before{inset:13px;border:1px solid rgba(240,205,105,.65)}.tile-orbit:after{width:10px;height:10px;right:5px;top:12px;background:#f0cd69;box-shadow:0 0 22px #f0cd69}
.learning-tile-light{grid-column:7/10;grid-row:1;background:#fff;color:#2a1533}
.learning-tile-light .tile-index{color:#6d2b91}.learning-tile-light p{color:#6f6673}
.tile-symbol{position:absolute;right:1.5rem;top:1.15rem;color:var(--gold);font-family:var(--serif);font-size:3.8rem;line-height:1}
.learning-tile-gold{grid-column:10/13;grid-row:1;background:#d6a72e;color:#281332}
.learning-tile-gold .tile-index{color:#4a2458}
.tile-sound{position:absolute;right:1.5rem;top:1.5rem;display:flex;align-items:flex-end;gap:4px;height:38px}
.tile-sound i{display:block;width:4px;border-radius:4px;background:#4d176f;animation:soundBar 1.4s ease-in-out infinite}.tile-sound i:nth-child(1){height:35%}.tile-sound i:nth-child(2){height:85%;animation-delay:-.3s}.tile-sound i:nth-child(3){height:55%;animation-delay:-.6s}.tile-sound i:nth-child(4){height:100%;animation-delay:-.9s}
@keyframes soundBar{50%{height:25%}}
.learning-tile-wide{grid-column:7/13;grid-row:2;display:flex;align-items:flex-end;justify-content:flex-end;background:linear-gradient(120deg,#4d176f,#75359a);color:#fff}
.learning-tile-wide>div{position:relative;z-index:1;width:62%}
.learning-tile-wide .tile-index{position:absolute;left:2rem;top:2rem;color:#f0cd69}
.tile-rings{position:absolute;left:-35px;bottom:-70px;width:250px;aspect-ratio:1}
.tile-rings i{position:absolute;border:1px solid rgba(240,205,105,.45);border-radius:50%;animation:ringFloat 5s ease-in-out infinite}.tile-rings i:nth-child(1){inset:0}.tile-rings i:nth-child(2){inset:32px;animation-delay:-1.5s}.tile-rings i:nth-child(3){inset:67px;animation-delay:-3s;background:rgba(240,205,105,.1)}
@keyframes ringFloat{50%{transform:translate(8px,-10px)}}
.learning-tile-glass{grid-column:1/5;grid-row:3;background:rgba(255,255,255,.08);backdrop-filter:blur(18px);color:#fff}
.learning-tile-glass .tile-index{color:#f0cd69}.learning-tile-glass p{color:#ded3e3}
.tile-values{position:absolute;right:1.5rem;top:1.4rem;display:flex}.tile-values i{display:grid;place-items:center;width:36px;height:36px;margin-left:-7px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:#4d176f;color:#f0cd69;font-style:normal;font-size:.62rem;font-weight:700}
.learning-tile-future{grid-column:5/13;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,4vw,4rem);background:linear-gradient(105deg,#fff 0%,#f5ebf8 100%);color:#2b1434}
.learning-tile-future>div{max-width:680px}.learning-tile-future .tile-index{position:absolute;left:2rem;top:1.5rem;color:#6d2b91}.learning-tile-future p{color:#6f6673}
.learning-tile-future>a{flex:0 0 auto;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:var(--gold);color:#281332;font-size:2rem;transition:transform .4s var(--ease)}
.learning-tile-future:hover>a{transform:rotate(45deg) scale(1.06)}
@media(max-width:1020px){.learning-wow-head{grid-template-columns:1fr;gap:2rem}.learning-bento{grid-template-columns:1fr 1fr;grid-template-rows:auto}.learning-tile-visual,.learning-tile-light,.learning-tile-gold,.learning-tile-wide,.learning-tile-glass,.learning-tile-future{grid-column:auto;grid-row:auto}.learning-tile-visual,.learning-tile-wide,.learning-tile-future{grid-column:1/-1}.learning-tile-visual{min-height:520px}.learning-tile-wide>div{width:65%}}
@media(max-width:720px){.learning-wow{padding:5.5rem 0}.learning-wow-head{margin-bottom:2.5rem}.learning-wow-head h2{font-size:clamp(3.5rem,16vw,5.2rem)}.learning-intro{padding-left:1.5rem}.learning-bento{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-15px;padding-right:15px;padding-bottom:1rem}.learning-tile{flex:0 0 84vw;min-height:400px;scroll-snap-align:center}.learning-tile-visual{min-height:520px}.learning-tile-wide{display:block}.learning-tile-wide>div{width:100%;margin-top:8rem}.learning-tile-future{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.learning-tile-future>a{width:64px;height:64px}}

/* Homepage journey continuum — immersive horizontal storytelling */
.journey-wow{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:linear-gradient(180deg,#fff 0%,#f7f1f9 100%);color:#2a1433;isolation:isolate}
.journey-wow:after{content:'GROW';position:absolute;z-index:-1;right:-.04em;top:4.5rem;color:transparent;font-family:var(--sans);font-size:clamp(9rem,23vw,26rem);font-weight:700;line-height:.75;letter-spacing:-.08em;-webkit-text-stroke:1px rgba(77,23,111,.08)}
.journey-glow{position:absolute;z-index:-1;left:-13vw;top:18%;width:42vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,167,46,.18),transparent 68%);filter:blur(10px)}
.journey-wow-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:4rem}
.journey-title{position:relative}
.journey-count{display:inline-block;margin-bottom:1.2rem;padding:.45rem .8rem;border:1px solid rgba(77,23,111,.22);border-radius:999px;color:var(--forest);font-family:'Raleway',var(--sans);font-size:.64rem;font-weight:700;letter-spacing:.15em}
.journey-wow-head h2{font-family:var(--sans);font-size:clamp(4rem,7.1vw,7.8rem);font-weight:600;line-height:.88;letter-spacing:-.065em}
.journey-wow-head h2 em{font-family:var(--serif);font-weight:400;color:var(--forest);letter-spacing:-.035em}
.journey-intro{padding:2rem 0 0;border-top:1px solid rgba(77,23,111,.2)}
.journey-intro .lede{color:#625769;line-height:1.55}
.journey-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem}
.journey-controls>span{color:var(--forest);font-family:'Raleway',var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.journey-wow .journey-nav{margin:0}
.journey-wow .round-button{width:56px;height:56px;border-color:rgba(77,23,111,.3);background:#fff;color:var(--forest);font-size:1.15rem;box-shadow:0 12px 30px rgba(49,15,68,.08)}
.journey-wow .round-button:hover{background:var(--forest);color:#fff;transform:translateY(-3px)}
.journey-wow .journey-track{align-items:flex-start;gap:1.1rem;padding-top:1rem;padding-bottom:5rem;scroll-padding-inline:max(24px,calc((100vw - 1220px)/2))}
.journey-wow .journey-card{flex:0 0 clamp(370px,37vw,520px);min-height:620px;padding:0;border-radius:24px;background:#2b1039;box-shadow:0 28px 65px rgba(42,12,58,.16);transition:transform .65s var(--ease),box-shadow .65s var(--ease)}
.journey-wow .journey-card:nth-child(even){margin-top:4rem}
.journey-wow .journey-card:hover{transform:translateY(-12px);box-shadow:0 38px 85px rgba(42,12,58,.25)}
.journey-wow .journey-card img{transition:transform 1.1s var(--ease),filter .7s;filter:saturate(.88)}
.journey-wow .journey-card:hover img{transform:scale(1.07);filter:saturate(1)}
.journey-wow .journey-card:after{background:linear-gradient(180deg,rgba(32,7,44,.05) 5%,rgba(31,7,43,.18) 37%,rgba(26,5,37,.96) 100%)}
.journey-number{position:absolute!important;z-index:2!important;right:1.4rem;top:.8rem;color:transparent;font-family:var(--sans);font-size:clamp(5rem,8vw,8rem);font-weight:700;line-height:1;letter-spacing:-.08em;-webkit-text-stroke:1px rgba(255,255,255,.58)}
.journey-card-copy{position:relative;z-index:2;width:100%;padding:clamp(2rem,3vw,3rem)}
.journey-wow .journey-card .stage{display:block;margin-bottom:1rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.journey-wow .journey-card h3{margin:0 0 1rem;font-size:clamp(3rem,4.8vw,5rem);line-height:.86;letter-spacing:-.045em}
.journey-wow .journey-card p{max-width:390px;color:#e5dce9;font-size:.93rem;line-height:1.55}
.journey-link{display:flex;align-items:center;justify-content:space-between;margin-top:1.7rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.24);font-family:'Raleway',var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.journey-link i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#281332;font-style:normal;font-size:1rem;transition:transform .4s var(--ease)}
.journey-card:hover .journey-link i{transform:rotate(45deg)}
.journey-foot{display:grid;grid-template-columns:1fr repeat(5,auto);gap:1.3rem;align-items:center;margin-top:-1rem;color:#776b7c;font-family:'Raleway',var(--sans);font-size:.61rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.journey-foot p{margin:0}
.journey-line{height:1px;background:rgba(77,23,111,.18);overflow:hidden}
.journey-line span{display:block;width:34%;height:100%;background:linear-gradient(90deg,var(--forest),var(--gold));animation:journeyProgress 5s ease-in-out infinite alternate}
@keyframes journeyProgress{to{transform:translateX(195%)}}
@media(max-width:1020px){.journey-wow-head{grid-template-columns:1fr;gap:2rem}.journey-wow .journey-card{flex-basis:min(470px,76vw)}.journey-foot{grid-template-columns:1fr auto}.journey-foot p{display:none}.journey-foot p:last-child{display:block}}
@media(max-width:720px){.journey-wow{padding:5.5rem 0}.journey-wow-head{margin-bottom:2.5rem}.journey-wow-head h2{font-size:clamp(3.5rem,16vw,5.2rem)}.journey-controls{align-items:flex-end}.journey-controls>span{max-width:120px}.journey-wow .journey-track{gap:.8rem;padding-left:15px;padding-right:15px}.journey-wow .journey-card{flex-basis:86vw;min-height:570px}.journey-wow .journey-card:nth-child(even){margin-top:0}.journey-wow .journey-card h3{font-size:3.5rem}.journey-number{font-size:5.5rem}.journey-foot{margin-top:0}}

/* Medium-scale journey cards */
.journey-wow .journey-track{padding-bottom:3.5rem}
.journey-wow .journey-card{flex-basis:clamp(320px,29vw,410px);min-height:520px}
.journey-wow .journey-card:nth-child(even){margin-top:2.5rem}
.journey-wow .journey-card h3{font-size:clamp(2.65rem,3.8vw,4rem)}
.journey-wow .journey-card p{font-size:.86rem}
.journey-number{font-size:clamp(4.5rem,6.5vw,6.5rem)}
@media(max-width:1020px){.journey-wow .journey-card{flex-basis:min(380px,68vw);min-height:500px}}
@media(max-width:720px){.journey-wow .journey-card{flex-basis:82vw;min-height:520px}.journey-wow .journey-card:nth-child(even){margin-top:0}.journey-wow .journey-card h3{font-size:3rem}.journey-number{font-size:4.8rem}}

/* Compact journey card refinement */
.journey-wow .journey-card{flex-basis:clamp(280px,25vw,350px);min-height:455px;border-radius:18px}
.journey-wow .journey-card:nth-child(even){margin-top:1.75rem}
.journey-card-copy{padding:1.65rem}
.journey-wow .journey-card h3{font-size:clamp(2.25rem,3.1vw,3.25rem)}
.journey-wow .journey-card p{font-size:.8rem;line-height:1.48}
.journey-link{margin-top:1.15rem;padding-top:.85rem;font-size:.57rem}
.journey-link i{width:32px;height:32px}
.journey-number{font-size:clamp(3.8rem,5.5vw,5.4rem)}
@media(max-width:1020px){.journey-wow .journey-card{flex-basis:min(330px,62vw);min-height:450px}}
@media(max-width:720px){.journey-wow .journey-card{flex-basis:76vw;min-height:470px}.journey-wow .journey-card:nth-child(even){margin-top:0}.journey-wow .journey-card h3{font-size:2.7rem}.journey-number{font-size:4.2rem}}

/* Homepage belief signature — a cinematic expression of the school's promise */
.belief-signature{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:#240b32;color:#fff;isolation:isolate}
.belief-signature:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.03),transparent 42%),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.055) 25%);pointer-events:none}
.belief-aura{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(12px)}
.belief-aura-one{width:42vw;aspect-ratio:1;right:-17vw;top:-18vw;background:radial-gradient(circle,rgba(214,167,46,.24),transparent 68%)}
.belief-aura-two{width:34vw;aspect-ratio:1;left:-17vw;bottom:-18vw;background:radial-gradient(circle,rgba(127,49,164,.5),transparent 68%)}
.belief-topline{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.4rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.18)}
.belief-topline .eyebrow{margin:0;color:#f0cd69}
.belief-topline>span{font-family:'Raleway',var(--sans);font-size:.61rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#d7cddc}
.belief-stage{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);min-height:650px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);box-shadow:0 35px 90px rgba(9,1,14,.32)}
.belief-portrait{position:relative;min-height:650px;margin:0;overflow:hidden}
.belief-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(39,9,54,.03) 32%,rgba(35,8,48,.84) 100%)}
.belief-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.03);transition:transform 1.2s var(--ease),filter .7s}
.belief-stage:hover .belief-portrait img{transform:scale(1.035);filter:saturate(1) contrast(1.03)}
.belief-portrait figcaption{position:absolute;z-index:1;left:1.5rem;right:1.5rem;bottom:1.4rem;display:flex;align-items:center;gap:.8rem;color:#fff;font-family:'Raleway',var(--sans);font-size:.57rem;font-style:normal;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.belief-portrait figcaption i{flex:1;height:1px;background:rgba(255,255,255,.48)}
.belief-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,6.5rem);background:radial-gradient(circle at 78% 24%,rgba(133,57,169,.28),transparent 35%)}
.belief-quote-mark{position:absolute;right:clamp(2rem,4vw,4rem);top:1.2rem;color:rgba(240,205,105,.2);font-family:var(--serif);font-size:clamp(9rem,15vw,16rem);line-height:1}
.belief-copy blockquote{position:relative;z-index:1;margin:0;max-width:820px;font-family:var(--sans);font-size:clamp(2.6rem,4.25vw,5rem);font-weight:500;line-height:1.03;letter-spacing:-.055em}
.belief-copy blockquote em{position:relative;color:#f0cd69;font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.belief-copy blockquote em:after{content:'';position:absolute;left:0;right:0;bottom:.02em;height:1px;background:rgba(240,205,105,.62);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.belief-stage:hover blockquote em:after{transform:scaleX(1)}
.belief-signoff{display:flex;align-items:center;gap:1rem;margin-top:3rem}
.belief-signoff>span{width:48px;height:1px;background:#f0cd69}
.belief-signoff p{margin:0;color:#fff;font-family:'Raleway',var(--sans);font-size:.65rem;font-weight:700;line-height:1.7;letter-spacing:.13em;text-transform:uppercase}
.belief-signoff small{color:#bfb1c6;font-size:.57rem;font-weight:500}
.belief-pillars{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.16);border-top:0;background:rgba(255,255,255,.04)}
.belief-pillars>div{position:relative;padding:1.6rem 2rem;transition:background .35s,color .35s}
.belief-pillars>div+div{border-left:1px solid rgba(255,255,255,.16)}
.belief-pillars>div:hover{background:#d6a72e;color:#281332}
.belief-pillars span{display:block;margin-bottom:.7rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.15em}
.belief-pillars strong{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:400}
.belief-pillars p{margin:.45rem 0 0;color:#cfc4d4;font-size:.77rem;line-height:1.5;transition:color .35s}
.belief-pillars>div:hover span,.belief-pillars>div:hover p{color:#281332}
@media(max-width:1020px){.belief-stage{grid-template-columns:.78fr 1.22fr;min-height:570px}.belief-portrait{min-height:570px}.belief-copy{padding:3.5rem}.belief-copy blockquote{font-size:clamp(2.5rem,5vw,4rem)}}
@media(max-width:720px){.belief-signature{padding:5.5rem 0}.belief-topline{align-items:flex-start;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.belief-stage{display:flex;flex-direction:column;min-height:0}.belief-portrait{min-height:350px}.belief-copy{padding:3.2rem 1.4rem 2.8rem}.belief-copy blockquote{font-size:clamp(2.45rem,11vw,3.55rem);line-height:1.02}.belief-quote-mark{right:1rem;top:.15rem;font-size:9rem}.belief-signoff{margin-top:2.2rem}.belief-pillars{grid-template-columns:1fr}.belief-pillars>div{padding:1.3rem 1.4rem}.belief-pillars>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.16)}.belief-pillars p{max-width:330px}}

/* Homepage spatial showcase — light, dimensional and child-centred */
.spaces-wow{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:linear-gradient(145deg,#fff 0%,#fbf8fc 56%,#f5edf8 100%);color:#291432;isolation:isolate}
.spaces-grid-lines{position:absolute;z-index:-1;inset:0;opacity:.55;background-image:linear-gradient(rgba(77,23,111,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(77,23,111,.065) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 86%,transparent)}
.spaces-glow{position:absolute;z-index:-1;right:-16vw;top:-16vw;width:46vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,167,46,.22),transparent 68%);filter:blur(9px)}
.spaces-head{display:grid;grid-template-columns:1.12fr .88fr;gap:9vw;align-items:end;margin-bottom:4rem}
.spaces-head .eyebrow{color:#6e2a91}
.spaces-head h2{font-family:var(--sans);font-size:clamp(4.2rem,7.3vw,8rem);font-weight:600;line-height:.86;letter-spacing:-.07em}
.spaces-head h2 em{color:#6e2a91;font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.spaces-intro{position:relative;padding:1.8rem 0 0 2rem;border-top:1px solid rgba(77,23,111,.2)}
.spaces-intro p{max-width:520px;margin:0 0 1.5rem;color:#655a69;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6}
.spaces-intro>a{display:inline-flex;align-items:center;gap:.8rem;color:#571c76;font-family:'Raleway',var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.spaces-intro>a span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d6a72e;color:#281332;transition:transform .35s}
.spaces-intro>a:hover span{transform:rotate(45deg)}
.spaces-signal{position:absolute;left:0;top:2.1rem;width:9px;height:9px;border-radius:50%;background:#d6a72e;box-shadow:0 0 0 8px rgba(214,167,46,.14);animation:spacesSignal 2.5s ease-in-out infinite}
@keyframes spacesSignal{50%{box-shadow:0 0 0 15px rgba(214,167,46,0)}}
.spaces-stage{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:1rem}
.spaces-visual{position:relative;min-height:680px;margin:0;overflow:hidden;border-radius:32px;background:#351047;box-shadow:0 30px 75px rgba(49,15,68,.16)}
.spaces-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(41,10,56,.05) 28%,rgba(37,8,51,.88) 100%)}
.spaces-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1.1s var(--ease),filter .7s}
.spaces-visual:hover>img{transform:scale(1.045);filter:saturate(1)}
.spaces-visual figcaption{position:absolute;z-index:2;left:clamp(1.7rem,3vw,3rem);bottom:clamp(2rem,4vw,4rem);color:#fff}
.spaces-visual figcaption span{display:block;margin-bottom:1rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.spaces-visual figcaption strong{font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:.88;letter-spacing:-.035em}
.spaces-orbit{position:absolute;z-index:2;right:-45px;top:62px;width:190px;aspect-ratio:1;border:1px solid rgba(255,255,255,.45);border-radius:50%;animation:spacesOrbit 14s linear infinite}
.spaces-orbit i{position:absolute;border-radius:50%}.spaces-orbit i:nth-child(1){inset:24px;border:1px solid rgba(240,205,105,.7)}.spaces-orbit i:nth-child(2){width:13px;height:13px;left:6px;top:82px;background:#f0cd69;box-shadow:0 0 20px rgba(240,205,105,.8)}.spaces-orbit i:nth-child(3){width:8px;height:8px;right:18px;bottom:35px;background:#fff}
@keyframes spacesOrbit{to{transform:rotate(360deg)}}
.spaces-badge{position:absolute;z-index:3;right:1.5rem;bottom:1.5rem;display:grid;place-items:center;width:120px;aspect-ratio:1;border-radius:50%;background:#d6a72e;color:#281332;text-align:center;box-shadow:0 18px 45px rgba(19,4,27,.25);transition:transform .45s var(--ease)}
.spaces-visual:hover .spaces-badge{transform:rotate(7deg) scale(1.04)}
.spaces-badge small{margin-bottom:-.8rem;font-family:'Raleway',var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.spaces-badge b{font-family:var(--serif);font-size:1.25rem;font-weight:400;line-height:.92}
.spaces-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr;gap:1rem}
.space-card{position:relative;display:flex;flex-direction:column;min-height:260px;padding:clamp(1.5rem,2.6vw,2.6rem);overflow:hidden;border:1px solid rgba(77,23,111,.14);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 18px 45px rgba(48,15,65,.07);transition:transform .45s var(--ease),box-shadow .45s,border-color .35s}
.space-card:hover{transform:translateY(-7px);border-color:rgba(110,42,145,.4);box-shadow:0 28px 65px rgba(48,15,65,.14)}
.space-index{color:#76349a;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.15em}
.space-icon{position:absolute;right:1.35rem;top:1rem;color:rgba(110,42,145,.22);font-family:var(--serif);font-size:3.2rem;line-height:1;transition:transform .45s,color .35s}
.space-card:hover .space-icon{transform:rotate(12deg) scale(1.08);color:#d6a72e}
.space-card h3{max-width:290px;margin:auto 0 .8rem;font-size:clamp(2rem,2.8vw,3.3rem);line-height:.92;letter-spacing:-.035em}
.space-card p{margin:0;color:#6b606f;font-size:.82rem;line-height:1.55}
.space-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(77,23,111,.16);font-family:'Raleway',var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.space-card-primary{background:linear-gradient(145deg,#4d176f,#713293);color:#fff;border:0;box-shadow:0 24px 60px rgba(68,19,91,.22)}
.space-card-primary .space-index,.space-card-primary .space-icon{color:#f0cd69}.space-card-primary p{color:#e7dfea}.space-card-primary>a{border-color:rgba(255,255,255,.2);color:#fff}.space-card-primary>a span{color:#f0cd69}
.space-card-gold{background:#d6a72e;color:#281332;border:0}.space-card-gold .space-index,.space-card-gold .space-icon,.space-card-gold p{color:#40234b}
.spaces-note{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;margin-top:1rem;padding:1.3rem 1.6rem;border:1px solid rgba(77,23,111,.14);border-radius:18px;background:rgba(255,255,255,.75);backdrop-filter:blur(15px)}
.spaces-note>span{padding:.45rem .75rem;border-radius:999px;background:#f2e8f6;color:#612382;font-family:'Raleway',var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.spaces-note p{margin:0;color:#776c7a;font-size:.74rem;line-height:1.5}.spaces-note>a{display:flex;align-items:center;gap:.6rem;color:#561b75;font-family:'Raleway',var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.spaces-note i{color:#d6a72e;font-style:normal;font-size:1rem}
@media(max-width:1020px){.spaces-head{grid-template-columns:1fr;gap:2rem}.spaces-stage{grid-template-columns:1fr}.spaces-visual{min-height:570px}.spaces-cards{min-height:620px}}
@media(max-width:720px){.spaces-wow{padding:5.5rem 0}.spaces-head{margin-bottom:2.5rem}.spaces-head h2{font-size:clamp(3.6rem,16vw,5.2rem)}.spaces-intro{padding-left:1.5rem}.spaces-stage{display:block}.spaces-visual{min-height:500px;border-radius:22px}.spaces-badge{width:100px}.spaces-orbit{width:150px}.spaces-cards{display:flex;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;margin:1rem -15px 0;padding:0 15px 1.2rem}.space-card{flex:0 0 78vw;min-height:390px;scroll-snap-align:center}.space-card h3{font-size:2.7rem}.spaces-note{grid-template-columns:1fr;gap:.8rem;padding:1.3rem}.spaces-note>span{width:max-content}}

/* Homepage Elegancia way — a beginning visualised as forward movement */
.way-wow{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:linear-gradient(145deg,#fff 0%,#fbf8fc 60%,#f6eff8 100%);color:#291432;isolation:isolate}
.way-grid-lines{position:absolute;z-index:-1;inset:0;opacity:.7;background-image:linear-gradient(rgba(77,23,111,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(77,23,111,.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.way-glow{position:absolute;z-index:-1;left:-16vw;top:-17vw;width:47vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,167,46,.2),transparent 68%);filter:blur(8px)}
.way-topline{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(77,23,111,.18)}
.way-topline .eyebrow{margin:0;color:#6b278d}
.way-topline>div{display:flex;align-items:center;gap:.8rem;color:#6d6171;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.way-topline>div span{color:#6b278d}.way-topline>div i{width:64px;height:1px;background:linear-gradient(90deg,#6b278d,#d6a72e)}.way-topline>div small{font:inherit}
.way-stage{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.way-copy{position:relative;z-index:1}
.way-copy h2{margin:0;font-family:var(--sans);font-size:clamp(4.2rem,7.25vw,8rem);font-weight:600;line-height:.82;letter-spacing:-.075em}
.way-copy h2 em{color:#6b278d;font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.way-copy h2>span{display:inline-block;margin-top:.12em;color:#6b278d;font-family:var(--serif);font-weight:400;letter-spacing:-.045em;position:relative}
.way-copy h2>span:after{content:'';position:absolute;left:.04em;right:0;bottom:-.08em;height:5px;border-radius:99px;background:linear-gradient(90deg,#d6a72e,rgba(214,167,46,.05));transform:scaleX(.72);transform-origin:left;transition:transform .9s var(--ease)}
.way-wow:hover .way-copy h2>span:after{transform:scaleX(1)}
.way-lede{max-width:700px;margin:2.5rem 0 0;padding-left:1.5rem;border-left:2px solid #d6a72e;color:#665b69;font-size:clamp(.98rem,1.25vw,1.14rem);line-height:1.65}
.way-visual{position:relative;justify-self:end;width:100%;max-width:440px;min-height:590px;margin:0;overflow:hidden;border-radius:46% 46% 28px 28px;background:#3d1353;box-shadow:0 35px 80px rgba(49,15,68,.2)}
.way-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,10,55,.02) 30%,rgba(38,9,52,.87) 100%)}
.way-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform 1.2s var(--ease),filter .7s}
.way-visual:hover>img{transform:scale(1.045);filter:saturate(1)}
.way-visual figcaption{position:absolute;z-index:2;left:2rem;bottom:4.7rem;color:#fff}
.way-visual figcaption span{display:block;margin-bottom:.65rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.way-visual figcaption strong{font-family:var(--serif);font-size:clamp(3.5rem,5vw,5.7rem);font-weight:400;line-height:.8}
.way-rings{position:absolute;z-index:2;right:-58px;top:75px;width:210px;aspect-ratio:1;border:1px solid rgba(255,255,255,.65);border-radius:50%;animation:wayOrbit 16s linear infinite}.way-rings i{position:absolute;border-radius:50%}.way-rings i:nth-child(1){inset:22px;border:1px solid rgba(240,205,105,.7)}.way-rings i:nth-child(2){inset:53px;border:1px solid rgba(255,255,255,.45)}.way-rings i:nth-child(3){width:13px;height:13px;left:-6px;top:96px;background:#f0cd69;box-shadow:0 0 20px #f0cd69}
@keyframes wayOrbit{to{transform:rotate(360deg)}}
.way-stamp{position:absolute;z-index:3;left:1.5rem;right:1.5rem;bottom:1.3rem;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28);color:#fff;font-family:'Raleway',var(--sans);font-size:.53rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.way-stamp i{color:#f0cd69;font-style:normal}
.way-path{display:grid;grid-template-columns:1.65fr .72fr .72fr .72fr;margin-top:1rem;border:1px solid rgba(77,23,111,.16);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.82);box-shadow:0 20px 55px rgba(48,15,65,.07)}
.way-path>div,.way-link{min-height:145px;padding:1.5rem 1.7rem}.way-path>*+*{border-left:1px solid rgba(77,23,111,.14)}
.way-path-intro{display:flex;flex-direction:column;justify-content:center}.way-path-intro>span{margin-bottom:.6rem;color:#6b278d;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.way-path-intro p{max-width:520px;margin:0;color:#716675;font-size:.76rem;line-height:1.55}
.way-step{display:flex;flex-direction:column;justify-content:flex-end;transition:background .35s,color .35s}.way-step:hover{background:#f3eaf6}.way-step span{margin-bottom:auto;color:#8a7392;font-family:'Raleway',var(--sans);font-size:.55rem;font-weight:700}.way-step strong{font-family:var(--serif);font-size:1.65rem;font-weight:400}.way-step small{margin-top:.35rem;color:#786d7b;font-size:.66rem}
.way-link{display:flex;flex-direction:column;justify-content:space-between;background:#d6a72e;color:#291432;font-family:'Raleway',var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .35s}.way-link:hover{background:#e3b842}.way-link i{align-self:flex-end;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(41,20,50,.28);border-radius:50%;font-style:normal;font-size:1.2rem;transition:transform .4s}.way-link:hover i{transform:rotate(45deg)}
@media(max-width:1020px){.way-stage{grid-template-columns:1fr}.way-copy{padding-right:8vw}.way-visual{justify-self:center;max-width:560px;min-height:540px;border-radius:32px}.way-path{grid-template-columns:1.4fr 1fr 1fr}.way-link{grid-column:1/-1;min-height:95px;flex-direction:row;align-items:center}.way-link i{align-self:auto}}
@media(max-width:720px){.way-wow{padding:5.5rem 0}.way-topline{align-items:flex-start;flex-direction:column;gap:.6rem}.way-topline>div small{max-width:210px}.way-copy{padding:0}.way-copy h2{font-size:clamp(3.7rem,16.6vw,5.35rem);line-height:.84}.way-lede{margin-top:2rem}.way-visual{max-width:100%;min-height:460px;margin-top:1rem;border-radius:24px}.way-rings{width:160px}.way-path{grid-template-columns:1fr 1fr}.way-path-intro{grid-column:1/-1}.way-path>*+*{border-left:0}.way-step{border-top:1px solid rgba(77,23,111,.14)}.way-step+.way-step{border-left:1px solid rgba(77,23,111,.14)}.way-link{grid-column:1/-1;border-top:1px solid rgba(77,23,111,.14)}.way-path>div,.way-link{min-height:130px;padding:1.3rem}}

/* Full-site visual harmony — premium purple, warm white and restrained gold */
::selection{background:#d6a72e;color:#271033}
html{scrollbar-color:#7b3a9b #f4edf7;scrollbar-width:thin}
body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:#f4edf7}body::-webkit-scrollbar-thumb{border:2px solid #f4edf7;border-radius:99px;background:linear-gradient(#6d2b91,#d6a72e)}
.theme-progress{position:fixed;z-index:10020;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#6d2b91 0%,#d6a72e 68%,#f1d987 100%);transform:scaleX(0);transform-origin:left;pointer-events:none;box-shadow:0 0 16px rgba(214,167,46,.55)}
.ambient-spotlight{position:fixed;z-index:20;left:0;top:0;width:360px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,167,46,.08),transparent 68%);filter:blur(8px);mix-blend-mode:multiply;pointer-events:none;will-change:transform}
.inner-site{background:#fbfafc}
.inner-site main{position:relative;background:linear-gradient(180deg,#fbfafc,#f8f3fa)}
.inner-site main>.section{overflow:hidden;background:radial-gradient(circle at 92% 8%,rgba(214,167,46,.09),transparent 24%),linear-gradient(145deg,#fff,#faf7fb 72%)}
.inner-site main>.section:nth-of-type(odd){background:radial-gradient(circle at 5% 80%,rgba(109,43,145,.08),transparent 25%),linear-gradient(145deg,#f8f1fa,#fff 75%)}
.inner-site main>.section:after{content:'';position:absolute;z-index:0;right:-8rem;bottom:-8rem;width:280px;aspect-ratio:1;border:1px solid rgba(109,43,145,.08);border-radius:50%;box-shadow:0 0 0 35px rgba(109,43,145,.025),0 0 0 70px rgba(214,167,46,.018);pointer-events:none}
.inner-site main>.section>.container{position:relative;z-index:1}
.inner-site main>.section.section-dark{background:radial-gradient(circle at 82% 18%,rgba(214,167,46,.18),transparent 24%),linear-gradient(135deg,#2d0c40,#50196b 52%,#682988);color:#fff}
.inner-site .section-dark .eyebrow{color:#f1cf6f}.inner-site .section-dark .lede{color:#eee5f1}
.inner-site .section-dark .sticky-title{border-color:rgba(255,255,255,.18);background:rgba(38,9,53,.68);color:#fff;box-shadow:0 24px 58px rgba(18,3,27,.2);backdrop-filter:blur(18px)}
.inner-site .section-dark .sticky-title:before{border-color:rgba(241,207,111,.42);box-shadow:inset 0 0 0 8px rgba(241,207,111,.08)}
.inner-site .section-dark .value-card{color:var(--charcoal)}
.inner-site .section-dark .value-card .eyebrow{color:var(--forest-2)}

.page-hero{isolation:isolate}
.page-hero:before{content:'';position:absolute;z-index:3;inset:20px;border:1px solid rgba(255,255,255,.22);border-radius:2px;pointer-events:none}
.page-hero:after{content:'';position:absolute;z-index:3;left:50%;bottom:1.6rem;width:1px;height:56px;background:linear-gradient(#f0cd69,transparent);animation:heroGuide 2.2s ease-in-out infinite;pointer-events:none}
@keyframes heroGuide{50%{transform:translateY(10px);opacity:.45}}
.page-hero-media img{animation:innerHeroArrival 1.6s var(--ease) both;will-change:transform}
@keyframes innerHeroArrival{from{transform:scale(1.1);filter:saturate(.65) contrast(1.05)}to{transform:scale(1.02);filter:saturate(.88) contrast(1.04)}}
.page-hero-media:after{background:linear-gradient(180deg,rgba(40,11,55,.34),rgba(31,7,44,.82)),radial-gradient(circle at 50% 43%,transparent 0,rgba(30,6,42,.32) 58%,rgba(24,4,35,.6) 100%)}
.page-hero-content:before{content:'';width:66px;height:3px;margin-bottom:1.6rem;border-radius:99px;background:linear-gradient(90deg,#d6a72e,#f1d987);box-shadow:0 0 24px rgba(214,167,46,.45)}
.page-hero h1{text-wrap:balance}.page-hero p{text-wrap:balance}
.breadcrumb{box-shadow:inset 0 0 0 1px rgba(240,205,105,.1),0 12px 35px rgba(17,2,24,.16)}

.button{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 12px 28px rgba(54,16,73,.14)}
.button:before{content:'';position:absolute;z-index:-1;inset:-2px;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.5) 42%,transparent 62%);transform:translateX(-125%);transition:transform .75s var(--ease)}
.button:hover:before{transform:translateX(125%)}
.button:hover{box-shadow:0 18px 36px rgba(54,16,73,.22)}
.button-light{box-shadow:0 14px 35px rgba(16,3,23,.2)}

.inner-site .section-header{padding-bottom:1.7rem;border-bottom:1px solid rgba(77,23,111,.14)}
.inner-site .section-header h2,.inner-site .sticky-title h2{text-wrap:balance}
.inner-site .sticky-title{padding:2rem;border:1px solid rgba(77,23,111,.12);border-radius:24px;background:rgba(255,255,255,.76);box-shadow:0 22px 55px rgba(49,15,68,.07);backdrop-filter:blur(14px)}
.inner-site .sticky-title:before{content:'';position:absolute;right:1.3rem;top:1.3rem;width:44px;height:44px;border:1px solid rgba(109,43,145,.18);border-radius:50%;box-shadow:inset 0 0 0 8px rgba(214,167,46,.08)}
.inner-site .prose{padding:clamp(1rem,2vw,2rem) 0}
.inner-site .prose h3{color:#4d176f}

.value-list{gap:1.15rem}
.value-card{position:relative;overflow:hidden;border:1px solid rgba(77,23,111,.1);border-top:0;border-radius:22px;background:linear-gradient(145deg,#fff,#fcf9fd);box-shadow:0 18px 45px rgba(49,16,67,.08);transition:transform .5s var(--ease),box-shadow .5s,border-color .35s}
.value-card:before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#6d2b91,#d6a72e)}
.value-card:after{content:'';position:absolute;right:-60px;top:-60px;width:130px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(214,167,46,.13),transparent 68%);transition:transform .6s var(--ease)}
.value-card:hover{transform:translateY(-9px) rotate(.25deg);border-color:rgba(109,43,145,.24);box-shadow:0 30px 70px rgba(49,16,67,.15)}
.value-card:hover:after{transform:scale(1.45)}
.value-card .eyebrow{color:#6d2b91}.value-card h3{color:#32133f}
.section-dark .value-card{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.97)}

.stage-tile{border-radius:24px;box-shadow:0 24px 60px rgba(38,9,51,.16);transition:transform .6s var(--ease),box-shadow .6s}
.stage-tile img{transition:transform 1s var(--ease),filter .6s;filter:saturate(.84)}
.stage-tile:hover{transform:translateY(-10px);box-shadow:0 36px 80px rgba(38,9,51,.24)}.stage-tile:hover img{transform:scale(1.06);filter:saturate(1)}
.process{gap:1.15rem}.process-step{position:relative;overflow:hidden;border:1px solid rgba(77,23,111,.1);border-top:0;border-radius:20px;background:linear-gradient(145deg,#fff,#faf5fc);transition:transform .45s var(--ease),box-shadow .45s}.process-step:before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#6d2b91,#d6a72e)}.process-step:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(48,15,66,.15)}
.grade-path{overflow:hidden;border:1px solid rgba(77,23,111,.14);border-radius:18px;box-shadow:0 16px 40px rgba(48,15,66,.07)}

.contact-card{position:relative;overflow:hidden;padding:clamp(2rem,4vw,3.2rem);border-radius:26px;background:linear-gradient(145deg,#fff,#f8f0fa);box-shadow:0 24px 60px rgba(48,15,66,.1);transition:transform .5s var(--ease),box-shadow .5s}.contact-card:after{content:'';position:absolute;right:-55px;bottom:-55px;width:150px;aspect-ratio:1;border:1px solid rgba(109,43,145,.13);border-radius:50%;box-shadow:0 0 0 24px rgba(214,167,46,.05)}.contact-card:hover{transform:translateY(-7px);box-shadow:0 34px 80px rgba(48,15,66,.16)}
.form-field input,.form-field select,.form-field textarea{border-radius:14px;background:rgba(255,255,255,.9);transition:border-color .3s,box-shadow .3s,transform .3s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0;border-color:#7b369c;box-shadow:0 0 0 4px rgba(109,43,145,.1),0 12px 30px rgba(48,15,66,.08);transform:translateY(-2px)}
.faq{display:grid;gap:.75rem}.faq details{padding:1.3rem 1.5rem;border:1px solid rgba(77,23,111,.12);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 12px 35px rgba(48,15,66,.05);transition:border-color .3s,box-shadow .3s}.faq details[open]{border-color:rgba(109,43,145,.35);box-shadow:0 22px 50px rgba(48,15,66,.1)}.faq summary:after{color:#d6a72e}
.gallery-item{border-radius:22px;box-shadow:0 18px 45px rgba(40,12,55,.12);transition:transform .5s var(--ease),box-shadow .5s}.gallery-item:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(40,12,55,.2)}

.admissions-cta{border-top:4px solid #d6a72e;isolation:isolate}
.admissions-cta:before{content:'';position:absolute;z-index:1;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 75%);pointer-events:none}
.admissions-cta img{transition:transform 1.4s var(--ease),filter .8s;filter:saturate(.84)}.admissions-cta:hover img{transform:scale(1.035);filter:saturate(1)}
.admissions-cta .container{position:relative;z-index:3}.admissions-cta .eyebrow{color:#f1cf6f}
.footer{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 0,rgba(123,51,157,.45),transparent 28%),linear-gradient(135deg,#22082f,#301040 58%,#42145a)}
.footer:before{content:'';position:absolute;right:-140px;top:-140px;width:360px;aspect-ratio:1;border:1px solid rgba(240,205,105,.2);border-radius:50%;box-shadow:0 0 0 42px rgba(240,205,105,.04),0 0 0 84px rgba(255,255,255,.025)}
.footer .container{position:relative;z-index:1}.footer .eyebrow{color:#f0cd69}.footer h4{color:#f0cd69}.footer a{position:relative;width:max-content;max-width:100%;transition:color .25s,transform .25s}.footer a:hover{color:#f0cd69;transform:translateX(4px)}.footer-note,.footer-bottom{color:#c9bcd0}

@media(max-width:1020px){.page-hero:before{inset:14px}.inner-site .sticky-title{position:static}.ambient-spotlight{display:none}}
@media(max-width:720px){.theme-progress{height:2px}.page-hero:before{inset:8px}.page-hero:after{height:38px}.page-hero-content:before{margin-bottom:1rem}.inner-site .sticky-title{padding:1.4rem}.value-card,.process-step,.contact-card{border-radius:18px}.faq details{padding:1.1rem}.footer a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.theme-progress{transition:none}.ambient-spotlight{display:none}.page-hero-media img{animation:none}.page-hero:after{animation:none}}

/* Reference-led hero typography — luminous, lightweight and centred */
.video-hero .hero-reference-title{width:100%;max-width:1240px;background:none;color:#fff;font-family:var(--sans);font-size:clamp(4.5rem,7.25vw,8.15rem);font-weight:300;line-height:.95;letter-spacing:-.06em;text-wrap:balance;text-shadow:none;-webkit-text-fill-color:currentColor;filter:drop-shadow(0 8px 30px rgba(17,3,24,.38))}
.hero-reference-title .hero-line{display:table;margin-inline:auto;background:linear-gradient(90deg,#fff 0%,#f5f1ff 8%,#a892ff 23%,#6268f2 40%,#bb4de8 56%,#ef62ae 68%,#ff8c81 77%,#ffe04f 87%,#f2c62f 100%);color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.video-hero .hero-reference-title em{display:inline-block;background:none;color:inherit;font-family:var(--sans);font-style:normal;font-weight:300;letter-spacing:-.06em;-webkit-text-fill-color:inherit;filter:none;animation:none}
.video-hero .hero-copy{max-width:980px;margin-top:1.8rem;color:rgba(255,255,255,.94);font-size:clamp(1.05rem,1.45vw,1.35rem);font-weight:500;line-height:1.55;letter-spacing:.005em;text-wrap:balance}
.video-hero .hero-actions{margin-top:1.8rem}
@media(max-width:720px){.video-hero .hero-reference-title{font-size:clamp(3rem,12.8vw,4.2rem);line-height:1;letter-spacing:-.055em}.video-hero .hero-reference-title em{letter-spacing:-.055em}.video-hero .hero-copy{max-width:340px;margin-top:1.35rem;font-size:.94rem;line-height:1.5}.video-hero .hero-actions{margin-top:1.45rem}}

/* Exact school logo artwork, framed to remove the source image's outer whitespace */
.nav-wrap{grid-template-columns:minmax(220px,250px) 1fr}
.brand-logo-link{display:block;width:240px;height:76px;overflow:hidden}
.brand-logo{display:block;width:100%;height:auto;max-height:none;object-fit:initial;transform:translateY(-18%);transform-origin:center;mix-blend-mode:multiply}
@media(min-width:1021px){.site-header.scrolled .brand-logo-link{width:190px;height:58px}.site-header.scrolled .brand-logo{width:100%;max-height:none}}
@media(max-width:1180px) and (min-width:1021px){.nav-wrap{grid-template-columns:220px 1fr}.brand-logo-link{width:214px;height:68px}}
@media(max-width:1020px){.brand-logo-link{width:220px;height:65px}.brand-logo{width:100%;max-height:none}}
@media(max-width:720px){.brand-logo-link{width:195px;height:58px}}

/* Learning philosophy — luminous editorial experience */
.philosophy-wow{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:radial-gradient(circle at 82% 12%,rgba(103,39,137,.42),transparent 28%),linear-gradient(135deg,#190623 0%,#270936 48%,#341047 100%);color:#fff;isolation:isolate}
.philosophy-grid-lines{position:absolute;z-index:-1;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}
.philosophy-aura{position:absolute;z-index:-1;border-radius:50%;filter:blur(12px);pointer-events:none}
.philosophy-aura-gold{right:-14vw;top:-16vw;width:44vw;aspect-ratio:1;background:radial-gradient(circle,rgba(214,167,46,.32),transparent 68%)}
.philosophy-aura-purple{left:-15vw;bottom:-18vw;width:40vw;aspect-ratio:1;background:radial-gradient(circle,rgba(126,58,163,.5),transparent 68%)}
.philosophy-topline{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.7rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.18)}
.philosophy-topline .eyebrow{margin:0;color:#f0cd69}.philosophy-topline>span{color:#d6c9dc;font-family:'Raleway',var(--sans);font-size:.61rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.philosophy-stage{display:grid;grid-template-columns:minmax(350px,.88fr) minmax(0,1.12fr);gap:clamp(2.5rem,6vw,7rem);align-items:center}
.philosophy-visual{position:relative;min-height:720px;margin:0;overflow:hidden;border-radius:36px;background:#341047;box-shadow:0 38px 95px rgba(48,15,65,.2);transform-style:preserve-3d}
.philosophy-visual:before{content:'';position:absolute;z-index:3;inset:14px;border:1px solid rgba(255,255,255,.46);border-radius:25px;pointer-events:none}
.philosophy-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(1.03);transition:transform 1.2s var(--ease),filter .75s}
.philosophy-visual:hover>img{transform:scale(1.035);filter:saturate(1) contrast(1.03)}
.philosophy-image-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,10,62,.03) 28%,rgba(38,8,53,.86) 100%),linear-gradient(120deg,rgba(109,43,145,.18),transparent 55%)}
.philosophy-visual figcaption{position:absolute;z-index:2;left:clamp(2rem,4vw,4rem);bottom:clamp(2.5rem,5vw,5rem);color:#fff}
.philosophy-visual figcaption span{display:block;margin-bottom:1rem;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.philosophy-visual figcaption strong{font-family:var(--serif);font-size:clamp(3.8rem,6vw,6.4rem);font-weight:400;line-height:.82;letter-spacing:-.045em}
.philosophy-orbit{position:absolute;z-index:4;right:-46px;top:74px;width:200px;aspect-ratio:1;border:1px solid rgba(255,255,255,.55);border-radius:50%;animation:philosophyOrbit 16s linear infinite}
.philosophy-orbit i{position:absolute;border-radius:50%}.philosophy-orbit i:first-child{inset:26px;border:1px solid rgba(240,205,105,.72)}.philosophy-orbit i:nth-child(2){left:4px;top:82px;width:14px;height:14px;background:#f0cd69;box-shadow:0 0 24px rgba(240,205,105,.8)}
.philosophy-orbit b{position:absolute;left:56px;top:58px;color:rgba(255,255,255,.88);font-family:var(--sans);font-size:3.8rem;font-weight:300;line-height:1}
@keyframes philosophyOrbit{to{transform:rotate(360deg)}}
.philosophy-copy{position:relative;padding:2rem 0}
.philosophy-copy:before{content:'BEGIN';position:absolute;z-index:-1;right:-.04em;top:-.12em;color:transparent;font-family:var(--sans);font-size:clamp(7rem,14vw,14rem);font-weight:700;line-height:.8;letter-spacing:-.08em;-webkit-text-stroke:1px rgba(255,255,255,.09)}
.philosophy-index{display:inline-flex;margin-bottom:1.7rem;padding:.5rem .85rem;border:1px solid rgba(240,205,105,.38);border-radius:999px;background:rgba(255,255,255,.045);color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.59rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.philosophy-copy h2{max-width:760px;font-family:var(--sans);font-size:clamp(3.7rem,5.8vw,6.8rem);font-weight:600;line-height:.86;letter-spacing:-.07em}
.philosophy-copy h2 em{position:relative;color:#f0cd69;font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.philosophy-copy h2 em:after{content:'';position:absolute;left:0;right:0;bottom:-.06em;height:3px;border-radius:99px;background:linear-gradient(90deg,#d6a72e,rgba(214,167,46,0));transform:scaleX(.35);transform-origin:left;transition:transform .9s var(--ease)}
.philosophy-stage:hover .philosophy-copy h2 em:after{transform:scaleX(1)}
.philosophy-lede{max-width:670px;margin:2.2rem 0 2.5rem;padding-left:1.5rem;border-left:2px solid #d6a72e;color:#d8cedd;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.65}
.philosophy-principles{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.18);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.065);box-shadow:0 26px 65px rgba(8,1,12,.24),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.philosophy-principles article{position:relative;min-height:145px;padding:1.4rem 1.6rem;display:flex;flex-direction:column;justify-content:flex-end;transition:background .4s,color .4s,transform .4s var(--ease)}
.philosophy-principles article:nth-child(even){border-left:1px solid rgba(255,255,255,.14)}.philosophy-principles article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
.philosophy-principles article:hover{z-index:1;background:#d6a72e;color:#281332;transform:translateY(-4px)}
.philosophy-principles span{position:absolute;right:1.3rem;top:1rem;color:#b9a9c1;font-family:'Raleway',var(--sans);font-size:.55rem;font-weight:700}.philosophy-principles article:hover span{color:#4c2858}
.philosophy-principles strong{font-family:var(--serif);font-size:2rem;font-weight:400}.philosophy-principles small{margin-top:.4rem;color:#cfc3d5;font-size:.72rem;letter-spacing:.03em}.philosophy-principles article:hover small{color:#4a2b52}
.philosophy-note{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin-top:2rem;padding:1.2rem 1.5rem;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(16px)}
.philosophy-note>span{padding:.45rem .75rem;border-radius:999px;background:rgba(240,205,105,.14);color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.philosophy-note p{margin:0;color:#c9bdcf;font-size:.73rem;line-height:1.5}.philosophy-note i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d6a72e;color:#2a1534;font-style:normal}
@media(max-width:1020px){.philosophy-stage{grid-template-columns:minmax(300px,.82fr) 1.18fr;gap:2.5rem}.philosophy-visual{min-height:640px}.philosophy-copy h2{font-size:clamp(3.5rem,6.7vw,5.4rem)}.philosophy-principles article{min-height:128px}}
@media(max-width:720px){.philosophy-wow{padding:5.5rem 0}.philosophy-topline{align-items:flex-start;flex-direction:column;gap:.6rem;margin-bottom:1.7rem}.philosophy-stage{display:flex;flex-direction:column;gap:2.5rem}.philosophy-visual{width:100%;min-height:520px;border-radius:24px}.philosophy-visual:before{inset:9px;border-radius:17px}.philosophy-orbit{right:-55px;top:52px;width:160px}.philosophy-copy{padding:0}.philosophy-copy h2{font-size:clamp(3.5rem,15vw,5rem);line-height:.88}.philosophy-lede{margin:1.8rem 0}.philosophy-principles{border-radius:18px}.philosophy-principles article{min-height:132px;padding:1.2rem}.philosophy-principles strong{font-size:1.65rem}.philosophy-note{grid-template-columns:1fr;gap:.8rem}.philosophy-note>span{width:max-content}.philosophy-note i{display:none}}
@media(prefers-reduced-motion:reduce){.philosophy-orbit{animation:none}.philosophy-visual>img,.philosophy-copy h2 em:after{transition:none}}

/* Events navigation and academic calendar */
@media(min-width:1021px){
  .mega-nav{grid-template-columns:repeat(5,minmax(100px,1fr)) 110px 110px;gap:10px}
  .mega-nav .mega-link{padding-inline:clamp(.55rem,.85vw,.95rem)}
  .mega-nav .nav-enquire{width:110px;height:54px;padding:10px 18px;font-size:15px;line-height:15px}
  .mega-nav .nav-enquire .arrow{right:10px;top:10px}
  .event-menu-link{isolation:isolate;align-self:center;justify-self:center;align-items:center!important;width:110px;height:54px;min-height:0;margin:0;padding:8px 10px!important;border:1px solid rgba(240,205,105,.48)!important;border-radius:999px!important;background:radial-gradient(circle at 18% 12%,rgba(137,63,169,.72),transparent 42%),linear-gradient(145deg,#351047,#5b1d77);box-shadow:0 13px 32px rgba(55,14,74,.22),inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(20,3,29,.3);text-align:center;transition:transform .38s var(--ease),background .38s,box-shadow .38s,border-color .38s,height .38s!important}
  .event-menu-link strong,.event-menu-link span{width:100%;color:#f0cd69!important;text-align:center;text-shadow:0 1px 14px rgba(240,205,105,.13)}
  .event-menu-link strong{font-size:17px;line-height:18px}.event-menu-link span{margin-top:3px;opacity:.88;font-size:6px;line-height:8px;white-space:nowrap}
  .event-menu-link:hover{border-color:#f0cd69!important;background:radial-gradient(circle at 22% 8%,rgba(157,77,190,.82),transparent 44%),linear-gradient(145deg,#421258,#6b2688);box-shadow:0 18px 40px rgba(55,14,74,.3),0 0 0 4px rgba(214,167,46,.08),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(-2px)}
  .event-menu-link:after{content:'↗'!important;display:block!important;position:absolute;right:10px;top:7px;width:auto;height:auto;color:#f4d878;background:none;font-family:var(--sans);font-size:.68rem;line-height:1;box-shadow:none}
  .site-header.scrolled .event-menu-link{height:48px;margin:0}.site-header.scrolled .event-menu-link span{display:none}
}
@media(max-width:1180px) and (min-width:1021px){.mega-nav{grid-template-columns:repeat(5,minmax(88px,1fr)) 94px 94px;gap:6px}.mega-nav .nav-enquire{width:94px;height:52px;padding-inline:14px;font-size:14px}.event-menu-link{width:94px;height:52px}.event-menu-link span{font-size:.375rem}}

.events-overview{position:relative;overflow:hidden;padding:clamp(6rem,9vw,10rem) 0;background:linear-gradient(180deg,#f8f3fa 0%,#fff 38%,#f6eef8 100%);color:#2a1534;isolation:isolate}
.events-grid-lines{position:absolute;z-index:-1;inset:0;opacity:.5;background-image:linear-gradient(rgba(77,23,111,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(77,23,111,.055) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,#000,transparent 72%)}
.events-intro{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,6vw,7rem);align-items:center;padding:clamp(2.2rem,5vw,5rem);overflow:hidden;border-radius:38px;background:radial-gradient(circle at 12% 8%,rgba(123,51,157,.38),transparent 31%),linear-gradient(135deg,#21082e,#3d1153 58%,#5a1d76);color:#fff;box-shadow:0 40px 100px rgba(44,11,60,.24)}
.events-intro:before{content:'';position:absolute;right:-110px;top:-110px;width:330px;aspect-ratio:1;border:1px solid rgba(240,205,105,.24);border-radius:50%;box-shadow:0 0 0 38px rgba(240,205,105,.04),0 0 0 76px rgba(255,255,255,.025)}
.events-copy{position:relative;z-index:1}.events-season{display:inline-flex;margin-bottom:2rem;padding:.55rem .9rem;border:1px solid rgba(240,205,105,.45);border-radius:999px;background:rgba(255,255,255,.06);color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.59rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.events-copy .eyebrow{color:#f0cd69}.events-copy h2{font-family:var(--sans);font-size:clamp(4rem,6vw,7rem);font-weight:600;line-height:.84;letter-spacing:-.07em}.events-copy h2 em{color:#f0cd69;font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.events-copy>p:last-of-type{max-width:620px;margin-top:2rem;color:#ddd1e2;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.65}
.event-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.event-filter{padding:.65rem .9rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;cursor:pointer;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s,transform .3s}.event-filter:hover,.event-filter.active{border-color:#d6a72e;background:#d6a72e;color:#281332;transform:translateY(-2px)}
.calendar-poster{position:relative;z-index:1;justify-self:end;width:min(100%,430px);margin:0;padding:12px;border:1px solid rgba(255,255,255,.3);border-radius:28px;background:rgba(255,255,255,.1);box-shadow:0 28px 70px rgba(10,1,15,.35);backdrop-filter:blur(18px);transform:rotate(1.2deg);transition:transform .65s var(--ease)}
.calendar-poster:hover{transform:rotate(0) translateY(-7px)}.calendar-poster img{width:100%;max-height:610px;object-fit:cover;object-position:center;border-radius:18px}
.calendar-poster figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .4rem .15rem;color:#e6dce9;font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-poster figcaption a{color:#f0cd69}
.calendar-orbit{position:absolute;right:-58px;top:55px;width:150px;aspect-ratio:1;border:1px solid rgba(255,255,255,.58);border-radius:50%;animation:calendarOrbit 15s linear infinite}.calendar-orbit i{position:absolute;inset:20px;border:1px solid rgba(240,205,105,.72);border-radius:50%}.calendar-orbit b{position:absolute;left:44px;top:35px;color:#fff;font-family:var(--sans);font-size:3.2rem;font-weight:300;line-height:.58}.calendar-orbit small{color:#f0cd69;font-size:1.3rem}.calendar-orbit:after{content:'';position:absolute;left:1px;top:67px;width:11px;height:11px;border-radius:50%;background:#f0cd69;box-shadow:0 0 22px rgba(240,205,105,.85)}
@keyframes calendarOrbit{to{transform:rotate(360deg)}}
.month-rail{display:flex;gap:.7rem;margin:2rem 0 4rem;padding:1rem;overflow-x:auto;border:1px solid rgba(77,23,111,.13);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 18px 48px rgba(48,15,65,.08);scrollbar-width:thin}.month-rail a{flex:0 0 auto;min-width:112px;padding:.8rem 1rem;border-radius:13px;transition:background .3s,color .3s,transform .3s}.month-rail a:hover{background:#4d176f;color:#fff;transform:translateY(-3px)}.month-rail span,.month-rail small{display:block}.month-rail span{font-family:var(--serif);font-size:1.15rem}.month-rail small{margin-top:.25rem;color:#8a7d8e;font-size:.56rem;letter-spacing:.1em}.month-rail a:hover small{color:#f0cd69}
.event-months{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.event-month{--month-accent:#6d2b91;position:relative;overflow:hidden;border:1px solid rgba(77,23,111,.13);border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(48,15,65,.08)}.event-month:before{content:'';position:absolute;inset:0 auto 0 0;width:5px;background:var(--month-accent)}
.event-accent-gold{--month-accent:#d6a72e}.event-accent-blue{--month-accent:#6268f2}.event-accent-green{--month-accent:#3f8c72}.event-month>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.8rem 2rem 1.3rem;border-bottom:1px solid rgba(77,23,111,.12)}.event-month header span{display:block;color:var(--month-accent);font-family:'Raleway',var(--sans);font-size:.57rem;font-weight:700;letter-spacing:.14em}.event-month h2{font-family:var(--sans);font-size:clamp(2.5rem,4vw,4.2rem);font-weight:600;letter-spacing:-.06em}.event-month header b{padding:.45rem .7rem;border-radius:999px;background:#f3edf5;color:#6c6070;font-family:'Raleway',var(--sans);font-size:.53rem;letter-spacing:.08em;text-transform:uppercase}
.event-list{padding:0 2rem 1.4rem}.event-item{display:grid;grid-template-columns:62px 1fr 34px;gap:1rem;align-items:center;padding:1.05rem 0;border-bottom:1px solid rgba(77,23,111,.1);transition:transform .3s var(--ease),color .3s}.event-item:last-child{border-bottom:0}.event-item:hover{color:#5b1f79;transform:translateX(5px)}.event-item[hidden]{display:none}.event-item time{color:var(--month-accent);font-family:'Raleway',var(--sans);font-size:.71rem;font-weight:700;letter-spacing:.04em}.event-item div>span{display:block;margin-bottom:.22rem;color:#988b9c;font-size:.5rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.event-item h3{margin:0;font-family:var(--sans);font-size:.92rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}.event-item i{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(77,23,111,.15);border-radius:50%;color:var(--month-accent);font-style:normal;font-size:.75rem;transition:transform .3s,background .3s}.event-item:hover i{background:var(--month-accent);color:#fff;transform:rotate(45deg)}
.calendar-disclaimer{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin-top:2rem;padding:1.4rem 1.6rem;border:1px solid rgba(77,23,111,.14);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(48,15,65,.07)}.calendar-disclaimer>span{padding:.45rem .75rem;border-radius:999px;background:#f2e8f6;color:#612382;font-family:'Raleway',var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.calendar-disclaimer p{margin:0;color:#776b7b;font-size:.75rem;line-height:1.55}.calendar-disclaimer a{display:flex;align-items:center;gap:.6rem;color:#561b75;font-family:'Raleway',var(--sans);font-size:.59rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.calendar-disclaimer i{color:#d6a72e;font-style:normal}
@media(max-width:1020px){.events-intro{grid-template-columns:1fr .72fr;gap:2rem}.calendar-poster{width:100%}.calendar-orbit{display:none}.event-months{grid-template-columns:1fr}}
@media(max-width:720px){.events-overview{padding:5.5rem 0}.events-intro{display:flex;flex-direction:column;padding:2rem 1.4rem;border-radius:24px}.events-copy h2{font-size:clamp(3.5rem,15vw,5rem)}.calendar-poster{max-width:390px;justify-self:center;transform:none}.calendar-poster img{max-height:none}.month-rail{margin-bottom:2.5rem}.event-month{border-radius:20px}.event-month>header{padding:1.5rem 1.3rem 1rem}.event-list{padding:0 1.3rem 1rem}.event-item{grid-template-columns:52px 1fr 28px;gap:.7rem}.calendar-disclaimer{grid-template-columns:1fr;gap:.8rem}.calendar-disclaimer>span{width:max-content}}
@media(prefers-reduced-motion:reduce){.calendar-orbit{animation:none}.calendar-poster,.event-item,.month-rail a{transition:none}}

/* Events usability refinement — image-free calendar dashboard */
.events-dashboard{position:relative;z-index:1;align-self:stretch;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(1.5rem,3vw,2.5rem);overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055));box-shadow:0 28px 70px rgba(10,1,15,.25),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(20px)}
.events-dashboard:before{content:'';position:absolute;right:-70px;top:-70px;width:210px;aspect-ratio:1;border:1px solid rgba(240,205,105,.28);border-radius:50%;box-shadow:0 0 0 24px rgba(240,205,105,.045),0 0 0 48px rgba(255,255,255,.025)}
.events-year{position:relative;z-index:1}.events-year>span{display:block;color:#f0cd69;font-family:'Raleway',var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.events-year strong{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-family:var(--sans);font-size:clamp(3.8rem,6vw,6.5rem);font-weight:300;line-height:.85;letter-spacing:-.07em}.events-year strong i{color:#d6a72e;font-family:var(--serif);font-size:.5em;font-weight:400}.events-year p{margin:1rem 0 0;color:#d7cbdc;font-family:'Raleway',var(--sans);font-size:.63rem;letter-spacing:.11em;text-transform:uppercase}
.events-stats{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-self:end;margin:2rem 0;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(20,3,29,.16)}.events-stats>div{padding:1.25rem}.events-stats>div+div{border-left:1px solid rgba(255,255,255,.14)}.events-stats b{display:block;color:#fff;font-family:var(--serif);font-size:2.4rem;font-weight:400;line-height:1}.events-stats span{display:block;margin-top:.45rem;color:#cfc1d5;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}
.events-key{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.65rem 1rem}.events-key span{display:flex;align-items:center;gap:.45rem;color:#dfd4e3;font-size:.58rem}.events-key i{width:7px;height:7px;border-radius:50%;background:#d6a72e;box-shadow:0 0 0 4px rgba(214,167,46,.1)}.events-key .key-learning{background:#c277e4}.events-key .key-academic{background:#6268f2}.events-key .key-community{background:#52a98a}.events-key .key-holiday{background:#ef8c8c}
.event-toolbar{position:relative;z-index:2;display:grid;grid-template-columns:minmax(260px,.72fr) 1.28fr;gap:1.2rem;align-items:end;margin:2rem 0 1rem;padding:1.2rem;border:1px solid rgba(77,23,111,.13);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(48,15,65,.09);backdrop-filter:blur(16px)}
.event-search{position:relative;display:block}.event-search>span{display:block;margin:0 0 .5rem .25rem;color:#746879;font-family:'Raleway',var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.event-search input{width:100%;height:48px;padding:0 2.8rem 0 1rem;border:1px solid rgba(77,23,111,.16);border-radius:14px;background:#fbf8fc;color:#2a1534;outline:0;transition:border-color .25s,box-shadow .25s}.event-search input:focus{border-color:#713293;box-shadow:0 0 0 4px rgba(109,43,145,.09)}.event-search>i{position:absolute;right:1rem;bottom:.6rem;color:#713293;font-size:1.2rem;font-style:normal}
.event-toolbar .event-filters{align-items:center;justify-content:flex-end;margin:0}.event-toolbar .event-filter{border-color:rgba(77,23,111,.16);background:#f7f1f9;color:#5b4e60}.event-toolbar .event-filter:hover,.event-toolbar .event-filter.active{border-color:#4d176f;background:#4d176f;color:#fff}
.event-empty{margin:3rem 0;padding:2rem;border:1px dashed rgba(77,23,111,.25);border-radius:18px;background:#fff;color:#746879;text-align:center}
@media(max-width:1020px){.events-dashboard{min-height:500px}.event-toolbar{grid-template-columns:1fr}.event-toolbar .event-filters{justify-content:flex-start}}
@media(max-width:720px){.events-dashboard{width:100%;min-height:430px;border-radius:22px}.events-year strong{font-size:4.2rem}.event-toolbar{padding:1rem;border-radius:18px}.event-toolbar .event-filters{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem}.event-toolbar .event-filter{flex:0 0 auto}.events-stats>div{padding:1rem}}

/* Elegancia refinement system — cohesive spacing, contrast and premium motion */
:root{--surface:#ffffff;--surface-soft:#faf6fb;--surface-tint:#f4ebf7;--ink:#271c2d;--ink-soft:#6b6170;--purple-deep:#250a34;--purple:#4d176f;--purple-bright:#73339a;--gold-rich:#c99622;--gold-light:#f1d477;--hairline:rgba(77,23,111,.12);--soft-shadow:0 16px 45px rgba(46,13,63,.08);--card-shadow:0 24px 70px rgba(46,13,63,.12);--lift-shadow:0 34px 90px rgba(46,13,63,.18);--radius-sm:16px;--radius-md:24px;--radius-lg:34px}
html{scroll-padding-top:100px;background:#f8f4fa}
body{color:var(--ink);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.container{width:min(1240px,calc(100% - 56px))}
p,.prose li,.legal li{max-width:72ch}
.eyebrow{color:#66278a;font-size:.7rem;font-weight:700;letter-spacing:.18em}
.eyebrow:before{width:38px;background:linear-gradient(90deg,var(--gold-rich),var(--gold-light))}
.lede{color:var(--ink-soft);line-height:1.58}
.button{min-height:54px;padding:.9rem 1.55rem;border-radius:999px;box-shadow:0 12px 34px rgba(54,16,73,.16);letter-spacing:.09em}
.button:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(54,16,73,.24)}
.button-gold,.nav-enquire{background:linear-gradient(135deg,#e0b338,#c99522);color:#281431}
.button-gold:hover,.nav-enquire:hover{background:linear-gradient(135deg,#edca61,#d6a72e);color:#281431}
.button-outline{border-color:rgba(255,255,255,.68);background:rgba(35,9,48,.2);backdrop-filter:blur(12px)}
.button-outline.dark{border-color:var(--purple);background:transparent;color:var(--purple)}

.site-header{isolation:isolate}
.site-header.scrolled{background:rgba(255,255,255,.92);border-bottom-color:rgba(77,23,111,.1);box-shadow:0 14px 42px rgba(37,10,52,.1);backdrop-filter:blur(20px) saturate(1.15)}
.mobile-panel{visibility:hidden;opacity:0;pointer-events:none;transition:transform .7s var(--ease),opacity .3s,visibility .3s}
.menu-open .mobile-panel{visibility:visible;opacity:1;pointer-events:auto}
.mega-nav .mega-link{transition:background .3s,color .3s}
.mega-nav .mega-link:hover,.mega-nav .mega-link[aria-current=page]{background:linear-gradient(180deg,rgba(109,43,145,.045),rgba(214,167,46,.055))}
.mega-nav .mega-link[aria-current=page] strong{color:#3f105d}
.nav-dropdown{border-top:1px solid rgba(214,167,46,.48);box-shadow:0 34px 90px rgba(31,7,43,.22)}
.dropdown-links a,.dropdown-utility>a{transition:color .25s,padding .25s,background .25s}
.dropdown-utility>a:hover{padding-left:.35rem;color:var(--gold-light)}

.inner-site main{background:#f9f6fa}
.inner-site .page-hero{min-height:calc(100svh - 100px);--hero-x:0px;--hero-y:0px}
.page-hero-media{transform:translate3d(var(--hero-x),var(--hero-y),0);transition:transform .9s var(--ease)}
.page-hero-media img{transform:scale(1.065);filter:saturate(.9) contrast(1.06)}
.page-hero-media:after{background:linear-gradient(180deg,rgba(43,12,60,.32),rgba(31,7,44,.82)),linear-gradient(90deg,rgba(32,7,45,.3),transparent 48%,rgba(32,7,45,.18)),radial-gradient(circle at 50% 44%,transparent 0,rgba(29,6,41,.3) 60%,rgba(21,3,31,.56) 100%)}
.page-hero:before{inset:22px;border-color:rgba(255,255,255,.28);border-radius:28px;box-shadow:inset 0 0 90px rgba(255,255,255,.025)}
.page-hero-content{max-width:1160px;padding:6rem 0}
.page-hero-content:before{width:74px;height:3px;margin-bottom:1.45rem}
.page-hero h1{max-width:1080px;font-size:clamp(4rem,7vw,7.6rem);line-height:.9;text-wrap:balance}
.page-hero p{max-width:720px;margin-top:1.65rem;font-weight:500;line-height:1.55}
.breadcrumb{margin-bottom:1.35rem;border-color:rgba(255,255,255,.34);background:rgba(35,8,48,.3);box-shadow:0 12px 34px rgba(15,2,22,.16)}

.inner-site main>.section{padding:clamp(5.8rem,7.7vw,8rem) 0;border-top:1px solid rgba(77,23,111,.06)}
.inner-site main>.section:not(.section-dark){color:var(--ink)}
.inner-site main>.section:nth-of-type(odd){background:radial-gradient(circle at 6% 88%,rgba(109,43,145,.075),transparent 25%),linear-gradient(145deg,#f8f1fa,#fff 75%)}
.inner-site main>.section:nth-of-type(even):not(.section-dark){background:radial-gradient(circle at 92% 10%,rgba(214,167,46,.085),transparent 24%),linear-gradient(145deg,#fff,#faf7fb 72%)}
.inner-site main>.section.section-dark{border-top-color:rgba(241,212,119,.28);background:radial-gradient(circle at 84% 15%,rgba(214,167,46,.2),transparent 24%),linear-gradient(135deg,#290b3b,#4b1566 50%,#672889)}
.inner-site .section-header{gap:clamp(2.5rem,6vw,6rem);margin-bottom:clamp(2.8rem,5vw,4.4rem);padding-bottom:2rem}
.inner-site .section-header h2{font-size:clamp(3.4rem,5.5vw,5.9rem);line-height:.94}
.editorial-grid{gap:clamp(3rem,7vw,7rem)}
.inner-site .sticky-title{padding:clamp(1.8rem,3vw,2.8rem);border-color:var(--hairline);border-radius:var(--radius-lg);background:rgba(255,255,255,.86);box-shadow:var(--soft-shadow);backdrop-filter:blur(18px)}
.inner-site .sticky-title h2{font-size:clamp(3rem,4.6vw,5rem);line-height:.96}
.inner-site .sticky-title:before{width:50px;height:50px}
.inner-site .prose{padding:.8rem 0}
.inner-site .prose>p:first-child{font-size:clamp(1.12rem,1.5vw,1.35rem);line-height:1.65}
.inner-site .prose p{color:var(--ink-soft);line-height:1.72}
.inner-site .prose h3{margin-top:3rem;color:#44145f;font-size:clamp(1.9rem,2.6vw,2.5rem)}

.value-list{gap:1.25rem}
.value-card{min-height:210px;padding:2rem;border:1px solid var(--hairline);border-top:0;border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#fbf7fc);box-shadow:var(--soft-shadow)}
.value-card:before{height:4px}
.value-card h3{margin-bottom:.75rem;color:#351044;font-size:clamp(1.7rem,2.3vw,2.15rem);line-height:1.03}
.value-card p{color:var(--ink-soft);line-height:1.62}
.value-card:hover{transform:translateY(-8px);box-shadow:var(--lift-shadow)}
.stage-grid{gap:1.25rem}
.stage-tile{min-height:440px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-md);box-shadow:var(--card-shadow)}
.stage-tile:before{content:'';position:absolute;z-index:1;inset:12px;border:1px solid rgba(255,255,255,.25);border-radius:17px;pointer-events:none}
.stage-tile:after{background:linear-gradient(180deg,rgba(36,9,50,.03) 12%,rgba(34,7,48,.92) 100%)}
.stage-tile:hover{transform:translateY(-9px);box-shadow:var(--lift-shadow)}
.grade-path{margin-top:1.6rem;border:1px solid var(--hairline);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:var(--soft-shadow)}
.grade-path a:hover{background:linear-gradient(135deg,#45125f,#69298a)}
.process{gap:1.2rem}
.process-step{min-height:250px;padding:2rem;border:1px solid var(--hairline);border-top:0;border-radius:var(--radius-md);background:linear-gradient(145deg,#fff,#faf5fc);box-shadow:var(--soft-shadow)}
.process-step h3{color:#39114d;line-height:1.04}
.process-step p{line-height:1.6}

.contact-grid{gap:1.25rem}
.contact-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}
.contact-card h3{color:#3b114f}
.contact-card .button{color:#fff;text-decoration:none}
.form-grid{gap:1.15rem}
.form-field{gap:.55rem}
.form-field label{color:#5c4964;font-weight:700}
.form-field input,.form-field select,.form-field textarea{border-color:rgba(77,23,111,.16);background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.faq{gap:.9rem}
.faq details{padding:1.4rem 1.65rem;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:var(--soft-shadow)}
.faq summary{color:#371147;line-height:1.3}
.faq details[open]{background:#fff;box-shadow:var(--card-shadow)}
.legal{padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:rgba(255,255,255,.9);box-shadow:var(--card-shadow)}
.legal h2{color:#401257}
.notice{padding:1.1rem 1.3rem;border-radius:0 14px 14px 0;background:#f3eaf6;color:#55445c}
.quote-block{padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fff,#f7eff9);box-shadow:var(--card-shadow)}
.gallery-item{border:1px solid rgba(255,255,255,.7);border-radius:var(--radius-md);box-shadow:var(--card-shadow)}
.filter{border-color:rgba(77,23,111,.18);background:rgba(255,255,255,.72);font-weight:600}
.filter:hover,.filter.active{background:#4d176f;color:#fff}

.admissions-cta{min-height:680px;border-top-color:var(--gold-rich)}
.admissions-cta:after{background:linear-gradient(90deg,rgba(35,8,49,.95),rgba(63,18,84,.64) 58%,rgba(42,10,58,.34))}
.admissions-cta .container{padding-block:4rem}
.admissions-cta h2{max-width:940px;font-size:clamp(3.5rem,6.1vw,6.6rem);line-height:.9;text-wrap:balance}
.admissions-cta p{color:#eee5f1;line-height:1.65}
.footer{padding-top:6rem;border-top:1px solid rgba(241,212,119,.25)}
.footer-top{gap:clamp(2rem,5vw,5rem)}
.footer-brand h2{line-height:.95}
.footer a{color:#e6dce9}
.footer-bottom{margin-top:4.5rem;color:#cfc2d5}

.video-hero:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.045) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%);background-size:120px 120px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);pointer-events:none}
.video-hero .hero-centre{position:relative}
.video-hero .hero-centre:before,.video-hero .hero-centre:after{content:'';position:absolute;top:50%;width:clamp(30px,8vw,120px);height:1px;background:linear-gradient(90deg,transparent,rgba(241,212,119,.65))}
.video-hero .hero-centre:before{right:calc(100% + 2rem)}
.video-hero .hero-centre:after{left:calc(100% + 2rem);transform:scaleX(-1)}
.hero-kicker{border-color:rgba(241,212,119,.5);background:rgba(34,7,47,.4);box-shadow:0 14px 42px rgba(15,2,22,.18)}
.learning-wow,.journey-wow,.philosophy-wow,.spaces-wow,.way-wow,.belief-signature{scroll-margin-top:78px}
.learning-tile,.journey-card,.philosophy-principles,.way-path,.space-card{border-radius:var(--radius-md)}
.journey-card,.learning-tile-visual,.way-visual,.spaces-visual,.philosophy-visual{box-shadow:0 34px 90px rgba(26,5,37,.22)}
.mosaic{gap:1.15rem}.mosaic figure{border:1px solid rgba(77,23,111,.08);border-radius:var(--radius-md);box-shadow:var(--soft-shadow)}
.mosaic figcaption{background:rgba(37,9,50,.74)}

.reveal{transition-duration:.85s;transition-timing-function:var(--ease);transition-delay:var(--reveal-delay,0ms)}
@media(min-width:1021px){.value-list>.reveal:nth-child(2n),.stage-grid>.reveal:nth-child(2),.process>.reveal:nth-child(2){--reveal-delay:80ms}.value-list>.reveal:nth-child(3n),.stage-grid>.reveal:nth-child(3),.process>.reveal:nth-child(3){--reveal-delay:150ms}.value-list>.reveal:nth-child(4n),.process>.reveal:nth-child(4){--reveal-delay:220ms}}
@media(max-width:1020px){html{scroll-padding-top:82px}.inner-site .page-hero{min-height:calc(100svh - 82px)}.container{width:min(100% - 38px,1240px)}.page-hero:before{inset:14px;border-radius:22px}.page-hero h1{font-size:clamp(3.7rem,9vw,6rem)}.process{grid-template-columns:1fr 1fr}.footer-top{gap:2.8rem 1.8rem}}
@media(max-width:720px){.container{width:min(100% - 30px,1240px)}.inner-site main>.section{padding:5rem 0}.inner-site .page-hero{min-height:calc(100svh - 82px)}.page-hero:before{inset:8px;border-radius:16px}.page-hero-content{padding:4.5rem 0}.page-hero h1{font-size:clamp(3.15rem,14.2vw,4.8rem);line-height:.92}.page-hero p{font-size:.98rem}.inner-site .section-header h2{font-size:clamp(3.1rem,14vw,4.7rem)}.inner-site .sticky-title{padding:1.5rem;border-radius:22px}.value-card,.process-step{min-height:0;padding:1.55rem}.process{grid-template-columns:1fr}.stage-tile{min-height:400px}.grade-path{border-radius:16px}.legal,.quote-block{padding:1.5rem;border-radius:22px}.admissions-cta{min-height:620px}.admissions-cta h2{font-size:clamp(3rem,13.2vw,4.4rem)}.footer{padding-top:4.5rem}.video-hero .hero-centre:before,.video-hero .hero-centre:after{display:none}.learning-tile,.journey-card,.philosophy-principles,.way-path,.space-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.page-hero-media{transform:none!important;transition:none}.reveal{transition:none}.video-hero:before{display:none}}

/* Compact desktop navigation: remove subtitles and reclaim their vertical space. */
@media(min-width:1021px){
  html{scroll-padding-top:78px}
  .site-header{height:78px}
  .site-header.scrolled{height:68px}
  .nav-wrap{grid-template-columns:minmax(178px,198px) 1fr;padding-inline:24px 22px}
  .brand-logo-link{width:190px;height:58px}
  .site-header.scrolled .brand-logo-link{width:170px;height:50px}
  .brand-logo,.site-header.scrolled .brand-logo{width:100%;max-height:none}
  .mega-nav>.nav-cluster>.mega-link>span,.mega-nav>.event-menu-link>span{display:none!important}
  .mega-nav .mega-link{padding-inline:clamp(.62rem,.95vw,.95rem)}
  .mega-link strong{line-height:1.1}
  .mega-nav .nav-enquire{width:100px;height:48px;padding:8px 16px;font-size:14px;line-height:15px}
  .site-header.scrolled .nav-enquire{height:44px}
  .event-menu-link{width:100px;height:48px}
  .site-header.scrolled .event-menu-link{width:96px;height:44px}
  .nav-dropdown{top:78px}
  .site-header.scrolled .nav-dropdown{top:68px}
  .video-hero{margin-top:78px;min-height:calc(100svh - 78px)}
  .page-hero{margin-top:78px}
  .inner-site .page-hero{min-height:calc(100svh - 78px)}
  .sticky-title{top:96px}
}

/* Match the Learn · Play · Grow badge to the adjacent scroll control. */
.hero-badge{left:30px;bottom:35px;width:64px;height:64px}
.hero-badge:before{inset:5px}
.hero-badge span{font-size:1.35rem}
.hero-badge small{max-width:48px;margin-top:-.55rem;font-size:.3rem;line-height:1.25;letter-spacing:.08em}
.hero-scroll{left:112px}
@media(max-width:720px){
  .hero-badge{left:16px;bottom:24px;width:54px;height:54px}
  .hero-badge:before{inset:4px}
  .hero-badge span{font-size:1.4rem}
  .hero-scroll{left:84px}
}

/* Fixed social rail */
.social-rail{position:fixed;z-index:850;top:50%;right:18px;display:flex;flex-direction:column;gap:7px;padding:7px;border:1px solid rgba(77,23,111,.13);border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 18px 55px rgba(40,10,55,.18);backdrop-filter:blur(18px) saturate(1.15);transform:translateY(-50%)}
.social-rail a{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(77,23,111,.12);border-radius:50%;background:#fff;color:#4d176f;box-shadow:0 7px 20px rgba(48,12,66,.1);transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.social-rail a span{display:block;font-family:Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1}
.social-rail .social-facebook span{font-size:1.25rem}
.social-rail .social-instagram span{font-size:1.45rem;font-weight:400}
.social-rail .social-youtube span{font-size:.78rem;transform:translateX(1px)}
.social-rail a:after{content:attr(data-label);position:absolute;right:calc(100% + 11px);top:50%;padding:.38rem .65rem;border-radius:8px;background:#3d1056;color:#f4d46e;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 9px 26px rgba(28,5,40,.2);opacity:0;pointer-events:none;transform:translate(8px,-50%);transition:opacity .25s,transform .25s}
.social-rail a:hover,.social-rail a:focus-visible{border-color:#d6a72e;background:#4d176f;color:#f4d46e;transform:translateX(-4px)}
.social-rail a:hover:after,.social-rail a:focus-visible:after{opacity:1;transform:translate(0,-50%)}
@media(max-width:720px){
  .social-rail{right:7px;gap:5px;padding:5px}
  .social-rail a{width:34px;height:34px}
  .social-rail a:after{display:none}
  .social-rail .social-facebook span{font-size:1.05rem}
  .social-rail .social-instagram span{font-size:1.2rem}
  .social-rail .social-youtube span{font-size:.66rem}
}

/* Social controls share the hero arrow's circular visual language. */
.social-rail{right:20px;gap:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.social-rail a{width:64px;height:64px;border:1px solid rgba(255,255,255,.78);background:rgba(77,23,111,.86);color:#fff;box-shadow:0 15px 38px rgba(28,5,40,.24);backdrop-filter:blur(12px);transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s}
.social-rail a:before{content:'';position:absolute;inset:5px;border:1px solid rgba(214,167,46,.72);border-radius:50%;pointer-events:none;transition:border-color .35s}
.social-rail a:hover,.social-rail a:focus-visible{border-color:#fff;background:#fff;color:#4d176f;transform:translateX(-4px)}
.social-rail a:hover:before,.social-rail a:focus-visible:before{border-color:#d6a72e}
.social-rail .social-facebook span{font-size:1.45rem}
.social-rail .social-instagram span{font-size:1.7rem}
.social-rail .social-youtube span{font-size:.82rem}
@media(max-width:720px){
  .social-rail{right:8px;gap:8px;padding:0}
  .social-rail a{width:54px;height:54px}
  .social-rail a:before{inset:4px}
}

/* Authentic brand marks in a lighter, 40% smaller fixed rail. */
.social-rail{right:12px;gap:7px}
.social-rail a{width:38.4px;height:38.4px;box-shadow:0 10px 28px rgba(28,5,40,.2)}
.social-rail a:before{inset:3px}
.social-rail a img{display:block;width:17px;height:17px;filter:brightness(0) invert(1);transition:filter .35s,transform .35s}
.social-rail a:hover img,.social-rail a:focus-visible img{filter:brightness(0) saturate(100%) invert(16%) sepia(43%) saturate(3458%) hue-rotate(266deg) brightness(80%) contrast(101%);transform:scale(1.06)}
.social-rail .social-facebook img{width:18px;height:18px}
.social-rail .social-youtube img{width:18px;height:18px}
.social-rail .social-whatsapp img{width:18px;height:18px}
@media(max-width:720px){
  .social-rail{right:6px;gap:6px}
  .social-rail a{width:32.4px;height:32.4px}
  .social-rail a:before{inset:2.5px}
  .social-rail a img{width:14px;height:14px}
  .social-rail .social-facebook img,.social-rail .social-youtube img,.social-rail .social-whatsapp img{width:15px;height:15px}
}

/* Full-viewport mobile navigation — remains scrollable on short screens. */
@media(max-width:1020px){
  .site-header.scrolled{backdrop-filter:none}
  .mobile-panel{position:fixed!important;z-index:1;inset:0!important;width:100vw;height:100dvh;min-height:100svh;max-height:none;display:block;align-content:initial;padding:calc(82px + 1.35rem) 1.5rem max(2rem,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform:translate3d(0,-100%,0)}
  .menu-open .mobile-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translate3d(0,0,0)}
  .menu-open .site-header{border-bottom-color:transparent;background:transparent;box-shadow:none;backdrop-filter:none}
  .mobile-panel details:first-child{margin-top:.25rem}
  .mobile-panel .mobile-cta{display:block;margin-bottom:1rem}
}
@media(max-width:480px){
  .mobile-panel{padding-inline:1.1rem}
  .mobile-panel details>div{grid-template-columns:1fr}
}
