:root{--ink:#293e35;--paper:#fcfbf7;--accent:#486c59;--lime:#dfebce;--line:#dfe4d9;--muted:#627068;--gutter:clamp(20px,5vw,76px);--content:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,summary{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #ad8555;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h2{font-size:clamp(32px,4.15vw,58px);font-weight:700;line-height:1.13;letter-spacing:-.045em;margin-top:18px}p{font-size:15px;line-height:1.85;color:var(--muted)}main,section,article,nav,.section-wrap>*,.campus-grid>*{min-width:0}.section-wrap{max-width:var(--content);margin:auto;padding:clamp(64px,8vw,110px) var(--gutter)}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.8}.accent-text{color:#8c6354}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:12px;left:12px;padding:14px 20px;background:var(--ink);color:#fff;z-index:10000}
.site-header{position:relative;z-index:20;min-height:88px;padding:16px max(var(--gutter),env(safe-area-inset-right)) 16px max(var(--gutter),env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:12px;align-items:center;flex-shrink:0;font-size:20px;font-weight:800;letter-spacing:-.7px;line-height:1.05}.brand-city{display:block;font-size:9px;letter-spacing:3.5px;margin-top:7px;color:var(--muted)}.brand-symbol{display:flex;align-items:center;width:43px;height:43px;background:var(--lime);border-radius:12px;font-size:35px;letter-spacing:-7px;padding-left:9px;transform:rotate(-4deg)}.brand-symbol span{color:#9a7158}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:16px;font-weight:600;line-height:1.5}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{color:#9a7158}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:15px 24px;border:1px solid transparent;border-radius:12px;font-size:13px;font-weight:700;line-height:1.5;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.button-dark,.button-outline{background:#365947;color:#fff;border-color:#365947}.header-cta{font-size:12px;min-height:44px;padding:12px 20px}.mobile-menu{display:none}.button:hover{background:#294536;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:20px;padding:10px 0;min-height:44px;border-bottom:1px solid currentColor;font-size:12px;font-weight:700;color:var(--accent)}
.hero--carousel{--hero-scale:1;--hero-shift:0px;--copy-shift:0px;--hero-radius:24px;height:auto;min-height:760px;min-height:max(760px,120svh);padding:0;background:var(--paper)}.hero-sticky{position:sticky;top:0;height:auto;min-height:100vh;min-height:100svh;max-height:none;padding:20px var(--gutter) 42px;display:flex;flex-direction:column}.hero-frame{position:relative;isolation:isolate;flex:1 0 auto;min-height:570px;width:100%;overflow:hidden;border-radius:24px;background:#283d34;transform:scale(var(--hero-scale));transform-origin:center;touch-action:pan-y}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;pointer-events:none}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{position:absolute;top:-8%;width:100%;height:116%;object-fit:cover;transform:translate3d(0,var(--hero-shift),0)}.hero-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#11271dd6,#172a204d 85%),linear-gradient(0deg,#10251ee6,transparent 45%)}.hero-intro{position:absolute;z-index:2;top:46%;left:6%;right:6%;transform:translate3d(0,calc(-50% + var(--copy-shift)),0);color:#fff}.hero-intro .eyebrow{color:#e4ebd8;letter-spacing:2.8px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--lime)}h1{font-size:clamp(40px,5.6vw,82px);font-weight:700;line-height:1.1;letter-spacing:-.055em;margin:20px 0 24px}.title-play{color:var(--lime)}.hero-intro p{color:#ffffffd9;font-size:14px;line-height:1.9;margin-bottom:26px;max-width:510px}.hero-intro .button{background:#e4edda;color:#294536;border-color:#e4edda}.hero-intro .button:hover{background:#f7f8f0}.hero-carousel-bottom{position:absolute;z-index:3;bottom:28px;left:6%;right:6%;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:#fff}.hero-photo-caption{max-width:50%;min-width:0}.hero-photo-caption .eyebrow{font-size:8px;letter-spacing:1.8px;color:#e3eada}.hero-photo-caption p{font-size:11px;line-height:1.6;color:#ffffffd9;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.carousel-controls{display:flex;align-items:center;gap:6px;flex:none}.carousel-controls>button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;color:#fff;background:#263d344d;font-size:18px;cursor:pointer}.carousel-controls>button:hover{background:#456b55}.carousel-dots{display:flex}.carousel-dots button{width:24px;height:44px;position:relative;padding:0;border:0;background:transparent;cursor:pointer}.carousel-dots button:after{content:'';position:absolute;width:6px;height:6px;top:19px;left:9px;border-radius:50%;background:#ffffff70}.carousel-dots button[aria-current=true]:after{background:var(--lime);box-shadow:0 0 0 3px #dfebce26}.hero-scroll-hint{display:flex;justify-content:space-between;align-items:center;padding-top:12px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:1.5px}.hero-scroll-hint>span:last-child{font-size:17px}
.values-strip{display:flex;min-width:0;width:100%;overflow:hidden;background:#e5eddb;border-block:1px solid #d8e0ce}.values-window{width:100%;min-width:0;overflow:hidden}.values-track{display:flex;width:max-content;animation:values-running 28s linear infinite}.values-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:36px;min-width:100vw;padding:20px 18px;white-space:nowrap}.value-label{font-size:16px;font-weight:600;letter-spacing:-.3px}.value-star{font-size:23px}.value-color-1,.value-star-2{color:#85544c}.value-color-2{color:#49677f}.value-color-3,.value-star-4{color:#746184}.value-color-4,.value-star-1{color:#80663e}.value-star-3{color:#416e67}@keyframes values-running{to{transform:translateX(-50%)}}
.about{display:grid;grid-template-columns:1fr 1fr;gap:46px 72px;padding-top:38px}.about .eyebrow{color:#8c6354}.about-copy{padding-top:35px}.about-copy p{margin-bottom:18px;font-size:14px}.facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.facts>div{padding:26px;border-radius:16px;border:1px solid #e6d8cf;background:#f4e9e2;display:flex;flex-direction:column;gap:12px}.facts>div:nth-child(2){background:#e9eff4;border-color:#d6e0e7}.facts>div:nth-child(3){background:#eaf0e3;border-color:#d7e0cd}.facts strong{font-size:56px;font-weight:600;letter-spacing:-3px;line-height:1.1;color:#8d5c51}.facts strong span{font-size:28px;letter-spacing:0;padding-left:24px;vertical-align:top}.facts>div:nth-child(2) strong{color:#49677f}.facts>div:nth-child(3) strong{color:#456957}.facts>div>span{font-size:11px;line-height:1.6;color:var(--muted)}.schools{background:#f0f3ec}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:38px}.section-heading p{font-size:13px}.schools .accent-text{color:#486c59}.campus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.campus{display:flex;flex-direction:column;padding:32px;border:1px solid #e3d2bc;border-radius:22px;background:#f5e9db}.cakung{background:#ece7f2;border-color:#d8cee2}.campus .eyebrow{color:#806342}.cakung .eyebrow{color:#746184}.campus-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.campus-title h3{font-size:clamp(42px,5vw,64px);font-weight:600;letter-spacing:-.055em;color:#806342}.cakung .campus-title h3{color:#746184}.campus-title>span{font-size:60px;color:#ae8876;line-height:1}.cakung .campus-title>span{color:#8b9cae}.campus p{font-size:13px}.school-list{margin:26px 0}.school-list>div{display:flex;align-items:center;gap:16px;border-top:1px solid #293e3520;padding:14px 0}.school-list>div:last-child{border-bottom:1px solid #293e3520}.school-list strong{flex:none;min-width:54px;text-align:center;padding:7px 9px;border-radius:8px;font-size:14px;background:#e4ecde;color:#456957}.school-list>div:nth-child(2) strong{background:#e3eaf1;color:#49677f}.school-list>div:nth-child(3) strong{background:#f0dfdc;color:#85544c}.school-list span{font-size:11px;overflow-wrap:anywhere;line-height:1.7}.campus .button{align-self:flex-start;margin-top:auto;font-size:12px}
.discovery{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.discovery-image{position:relative;padding:10px;border:1px solid #d8c6b8;border-radius:120px 120px 20px 20px;background:#e8d7cc;transform:rotate(-1.5deg)}.discovery-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:110px 110px 12px 12px}.image-note{position:absolute;bottom:24px;left:10%;right:10%;text-align:center;padding:12px;border:1px solid #ddcfac;border-radius:6px;background:#f7f1df;color:#74603e;font-size:11px;transform:rotate(3deg)}.discovery .accent-text,.discovery .eyebrow{color:#416e67}.discovery p{font-size:14px;margin:22px 0}.news{padding-top:40px;padding-bottom:55px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-card{--card-accent:#49677f;background:#eef2f5;border:1px solid #dce3e8;border-radius:16px;padding:10px 10px 22px;overflow:hidden}.news-card:nth-child(3n+2){--card-accent:#80663e;background:#f5f0e4;border-color:#e7dfcc}.news-card:nth-child(3n){--card-accent:#746184;background:#f0ebf4;border-color:#e0d7e8}.news-image{position:relative;overflow:hidden;border-radius:9px}.news-image img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .4s}.news-image>span{position:absolute;right:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;background:#ffffffed;border-radius:50%;color:var(--card-accent);font-size:20px}.news-meta{display:flex;justify-content:space-between;gap:8px;margin:18px 6px 12px;font-size:9px;line-height:1.7;color:var(--muted)}.news-meta>span{font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--card-accent)}.news-meta time{white-space:nowrap}.news-card h3{padding:0 6px;font-size:17px;line-height:1.6;font-weight:700;letter-spacing:-.4px;overflow-wrap:anywhere}.news-empty{grid-column:1/-1;padding:25px;background:#f5f0e4;border-radius:16px}.closing{display:flex;flex-direction:column;align-items:center;text-align:center;background:#e9eee2;padding:75px var(--gutter) 85px}.closing .eyebrow{color:#60754c}.closing h2{position:relative;font-size:clamp(36px,5.7vw,76px);max-width:900px;margin:22px 0;padding:0 45px}.closing h2>span:first-child{color:#8d5c51}.closing-star{position:absolute;right:0;top:0;font-size:44px;color:#8c9eac;font-weight:400}.closing p{font-size:13px;max-width:500px;margin-bottom:28px}.site-footer{max-width:var(--content);margin:auto;padding:48px var(--gutter) max(30px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px}.footer-brand{font-size:21px;font-weight:800;letter-spacing:-.7px}.footer-brand span{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:0;margin-top:8px}.site-footer nav{display:flex;gap:25px;font-size:11px;flex-wrap:wrap}.site-footer nav a{padding-block:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;width:100%;border-top:1px solid var(--line);padding-top:24px;font-size:10px;color:var(--muted)}[data-parallax]{translate:0 var(--layer-shift,0px)}
@media(hover:hover) and (pointer:fine){.values-strip:hover .values-track{animation-play-state:paused}.news-card:hover img{transform:scale(1.035)}}
@media(max-width:1050px){.desktop-nav{gap:18px}.site-header{gap:20px}.hero-carousel-bottom{align-items:flex-start}.about,.discovery{gap:42px}.campus{padding:26px}.news-grid{gap:16px}}
@media(max-width:900px),(pointer:coarse){.hero--carousel{height:auto;min-height:0}.hero-sticky{position:relative;height:auto;min-height:0;max-height:none}.hero-frame{flex:auto;height:clamp(570px,78svh,820px);min-height:0;transform:none}.hero-intro{top:43%}.hero-carousel-bottom{flex-direction:column;gap:16px}.hero-photo-caption{max-width:100%}.hero-photo-caption p{-webkit-line-clamp:1}.hero-intro p{max-width:440px}.carousel-controls{gap:8px}.carousel-dots button{width:28px}.carousel-dots button:after{left:11px}}
@media(max-width:760px){.desktop-nav,.header-cta{display:none}.mobile-menu{display:block}.site-header{min-height:76px;padding-block:14px}.mobile-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#f0f3eb;font-size:14px;font-weight:600}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% - 6px);padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 28px #293e3514}.mobile-menu nav a{display:block;padding:14px;border-radius:8px;font-size:16px;line-height:1.5}.mobile-menu nav a:hover{background:#e9eee2}.about,.discovery{grid-template-columns:1fr;gap:30px}.about-copy{padding:0}.campus-grid{grid-template-columns:1fr}.campus{padding:30px}.section-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:28px}.section-heading p br{display:none}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-image{width:min(100%,460px);margin:0 auto}.facts{gap:12px}.facts>div{padding:20px 14px}.facts strong{font-size:44px}.facts strong span{font-size:22px;padding-left:12px}.closing h2{padding:0}.closing-star{display:none}}
@media(max-width:520px){:root{--gutter:20px}html{scroll-padding-top:24px}.section-wrap{padding-block:60px}.about{padding-top:18px}.wordmark{font-size:18px;gap:9px}.brand-symbol{width:38px;height:38px;font-size:32px}.brand-city{font-size:8px}.hero-sticky{padding:12px 12px 30px}.hero-frame{height:auto;min-height:610px;border-radius:18px;display:flex;flex-direction:column}.hero-intro{position:relative;top:auto;left:auto;right:auto;transform:none;padding:72px 24px 32px}.hero-intro .eyebrow{font-size:9px;letter-spacing:2px}h1{font-size:clamp(30px,8.4vw,44px);margin:20px 0;line-height:1.15}.hero-intro p{font-size:12px;max-width:310px;margin-bottom:24px}.hero-intro p br{display:none}.hero-intro .button{min-height:48px;font-size:12px}.hero-carousel-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:auto;padding:24px;gap:16px}.hero-photo-caption .eyebrow{font-size:7px}.hero-photo-caption p{font-size:10px}.carousel-controls{width:100%;gap:4px}.carousel-dots{flex:1;justify-content:center}.carousel-dots button{width:22px}.carousel-dots button:after{left:8px}.carousel-controls>[data-carousel-pause]{margin-left:auto}.hero-scroll-hint{font-size:7px;padding:12px 8px 0}.hero-shade{background:linear-gradient(90deg,#11271dc9,#172a2070),linear-gradient(0deg,#10251ef0,transparent 65%)}.values-group{padding:16px 12px;gap:26px}.value-label{font-size:13px}.value-star{font-size:20px}.values-track{animation-duration:24s}.facts{gap:8px}.facts>div{padding:18px 10px;gap:9px;border-radius:12px}.facts strong{font-size:36px;letter-spacing:-2px}.facts strong span{font-size:17px;padding-left:8px}.facts>div>span{font-size:9px}.campus{padding:25px}.campus-title h3{font-size:53px}.campus-title>span{font-size:51px}.news-grid{grid-template-columns:1fr;gap:22px}.news-card{padding:12px 12px 22px}.news-card h3{font-size:18px}.news-meta{font-size:10px}.closing{padding:60px 22px}.closing h2{font-size:clamp(34px,8vw,43px)}.closing p{font-size:12px}.site-footer{padding-bottom:max(90px,env(safe-area-inset-bottom));gap:25px}.footer-bottom{font-size:9px}.footer-bottom span{max-width:48%}}
@media(max-width:359px){:root{--gutter:16px}.hero-intro{padding:60px 18px 24px}.hero-carousel-bottom{padding:20px 18px}.hero-frame{min-height:610px}.carousel-controls>button{width:40px;height:44px}.carousel-dots button{width:19px}.carousel-dots button:after{left:6px}.facts strong span{display:none}.facts strong{font-size:34px}.campus{padding:22px}.campus-title h3{font-size:46px}}
@media(orientation:landscape) and (max-height:600px){.hero--carousel{height:auto;min-height:0}.hero-sticky{position:relative;height:auto;min-height:0}.hero-frame{height:auto;min-height:540px;transform:none}.hero-intro{top:40%}.hero-carousel-bottom{flex-direction:row;align-items:flex-end}.hero-photo-caption{max-width:40%}}
@media(horizontal-viewport-segments:2){:root{--gutter:28px}.campus-grid,.about,.discovery{column-gap:max(40px,calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0) + 32px))}.hero-intro{right:52%}.hero-intro h1{font-size:clamp(30px,3.8vw,56px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero--carousel{height:auto;min-height:0}.hero-sticky{position:relative;height:auto}.hero-frame{min-height:610px;transform:none}.hero-slide img{transform:none}.hero-intro{--copy-shift:0px}[data-parallax]{translate:none}.values-window{overflow-x:auto}.values-group[aria-hidden=true]{display:none}}
/* Keep the chat launcher and full-screen chat clear of device cutouts. */
#ypippi-bot{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-width:767px){#ypippi-bot .ypippi-bot-header{padding-top:max(16px,env(safe-area-inset-top))}#ypippi-bot .ypippi-bot-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}#ypippi-bot input{font-size:16px}}
.campus-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto}.campus-actions .button{margin-top:0}.campus-actions .button-lms{background:#ffffff70;border-color:#c6b49f;color:#64513d}.campus-actions .button-lms:hover{background:#fffaf1;border-color:#9f8b72}.petojo .school-list strong{min-width:72px;white-space:nowrap}
@media(max-width:359px){.campus-actions{gap:10px}.campus-actions .button{padding:13px 17px;gap:12px}}

/* Typography uses natural wrapping and content-driven heights at every zoom level. */
h1{letter-spacing:-.03em;line-height:1.18}
h2{letter-spacing:-.025em;line-height:1.25;overflow-wrap:break-word}
h3{line-height:1.3}
p{line-height:1.85;overflow-wrap:break-word}
.eyebrow{line-height:1.9;letter-spacing:1.4px;max-width:100%}
.section-heading>div,.about>div,.discovery>div{min-width:0}
.about h2,.discovery h2{max-width:15ch}
.about-copy p+p{margin-top:18px}
.campus-title{gap:20px;margin:22px 0}
.campus-title h3{line-height:1.2;letter-spacing:-.025em;overflow-wrap:break-word}
.campus-title>span{flex:none}
.campus p{line-height:1.9}
.school-list>div{gap:18px;padding-block:16px}
.school-list span{line-height:1.8}
.news-card h3{line-height:1.65;letter-spacing:-.015em}
.news-meta{flex-wrap:wrap;column-gap:14px;row-gap:5px}
/* Give the activity stories room and readable type on larger screens. */
.news.section-wrap{max-width:1800px;padding-block:clamp(48px,5vw,80px)}
.news .section-heading{margin-bottom:42px}
.news .section-heading h2{font-size:clamp(34px,4.4vw,72px)}
.news .section-heading .eyebrow{font-size:12px}
.news .text-link{flex:none;min-height:48px;gap:16px;font-size:15px}
.news .news-grid{gap:clamp(20px,2vw,32px);align-items:stretch}
.news .news-card{padding:14px 14px 28px;border-radius:20px}
.news .news-image{border-radius:12px}
.news .news-image>span{right:14px;bottom:14px;width:46px;height:46px}
.news .news-meta{margin:22px 8px 14px;font-size:12px;row-gap:8px}
.news .news-card h3{padding:0 8px;font-size:clamp(20px,1.5vw,26px);line-height:1.5}
@media(max-width:1100px){.news .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .news.section-wrap{padding-block:48px}
 .news .section-heading{margin-bottom:28px}
 .news .section-heading h2{font-size:clamp(34px,8.5vw,44px)}
 .news .section-heading .eyebrow{font-size:11px}
 .news .text-link{min-height:44px;font-size:14px}
 .news .news-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .news .news-card{padding:12px 12px 24px}
 .news .news-meta{margin:18px 6px 12px}
 .news .news-card h3{padding:0 6px;font-size:20px}
}
.button{gap:20px;line-height:1.6;white-space:normal}
.button>span{flex:none}
.closing h2{max-width:17ch;line-height:1.25;margin:22px 0 28px}
.closing p{line-height:1.9;margin-bottom:30px}
/* Let the sticky banner grow with its content; never shrink away the caption or controls. */
.hero-frame{display:flex;flex-direction:column;justify-content:space-between}
/* Decorative leaves stay inside the banner and behind its interactive content. */
.hero-leaves {
    --leaf-size: clamp(180px, 18vw, 300px);
    position: absolute;
    z-index: 1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}
.hero-leaves__branch {
    position: absolute;
    width: var(--leaf-size);
    height: auto;
    max-width: none;
    transform: translate3d(0, var(--leaf-lift, 0px), 0) rotate(var(--leaf-sway, 0deg));
    transition: transform 160ms ease-out;
}
.hero-leaves__branch--left {
    top: calc(var(--leaf-size) * -.55);
    left: calc(var(--leaf-size) * -.6);
    opacity: .72;
    transform: translate3d(0, calc(var(--leaf-lift, 0px) * -1), 0) rotate(calc(180deg - var(--leaf-sway, 0deg)));
}
.hero-leaves__branch--right {
    right: calc(var(--leaf-size) * -.15);
    bottom: calc(var(--leaf-size) * -.38);
    opacity: .92;
}
@media (max-width: 760px) {
    .hero-leaves { --leaf-size: 160px; }
    .hero-leaves__branch--left { opacity: .5; }
}
@media (max-width: 520px) {
    .hero-leaves { --leaf-size: 115px; }
    .hero-leaves__branch--left { opacity: .4; }
    .hero-leaves__branch--right { opacity: .75; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-leaves { --leaf-sway: 0deg !important; --leaf-lift: 0px !important; }
    .hero-leaves__branch { transition: none; }
}
.hero-intro{position:relative;top:auto;left:auto;right:auto;padding:clamp(58px,9vh,110px) 6% 36px;transform:translate3d(0,var(--copy-shift),0);flex:none}
.hero-intro h1{margin:22px 0 26px}
.hero-intro p{margin-bottom:28px}
.hero-carousel-bottom{position:relative;left:auto;right:auto;bottom:auto;margin-top:auto;padding:26px 6% 30px;flex:none}
.hero-photo-caption .eyebrow{font-size:12px;line-height:1.7;letter-spacing:1.6px}
.hero-photo-caption p{font-size:16px;font-weight:500;line-height:1.65;color:#ffffffed;margin-top:8px}
@media(max-width:1024px),(pointer:coarse){
 .hero--carousel{height:auto;min-height:0}
 .hero-sticky{position:relative;height:auto;min-height:0}
 .hero-frame{height:auto;min-height:600px;transform:none}
 .hero-intro{transform:none;padding-top:66px}
 .hero-carousel-bottom{flex-direction:column;align-items:flex-start;gap:20px}
 .hero-photo-caption{max-width:100%}
 .hero-photo-caption p{-webkit-line-clamp:2}
 .about,.discovery{column-gap:40px}
 .campus-title h3{font-size:clamp(40px,5vw,60px)}
}
@media(max-width:760px){
 h2{font-size:clamp(30px,5.8vw,42px);line-height:1.28}
 .section-heading{gap:22px}
 .about,.discovery{row-gap:32px}
 .hero-intro h1{font-size:clamp(30px,5.5vw,46px)}
 .hero-intro p,.about-copy p,.discovery p{font-size:14px;line-height:1.85}
 .eyebrow{font-size:10px}
 .campus-title h3{font-size:48px}
 .school-list span{font-size:12px}
 .facts>div>span{font-size:11px;line-height:1.7}
 .closing h2{font-size:clamp(32px,6vw,46px);max-width:16ch}
}
@media(max-width:520px){
 .hero-intro{padding:54px 22px 30px}
 .hero-intro h1{font-size:clamp(29px,7.5vw,39px);line-height:1.22;letter-spacing:-.025em}
 .hero-intro p{font-size:13px;line-height:1.85}
 .hero-carousel-bottom{padding:22px;gap:18px}
 .hero-photo-caption .eyebrow{font-size:11px;letter-spacing:1px}
 .hero-photo-caption p{font-size:14px}
 .hero-scroll-hint{font-size:8px;letter-spacing:1px;gap:14px;line-height:1.7}
 .facts{grid-template-columns:1fr;gap:12px}
 .facts>div{flex-direction:row;align-items:center;justify-content:space-between;padding:20px 22px;gap:24px}
 .facts strong{font-size:40px;letter-spacing:-1px;flex:none}
 .facts strong span{display:inline;font-size:20px;padding-left:14px}
 .facts>div>span{font-size:12px;max-width:17ch;text-align:right}
 .campus-title{gap:14px}
 .campus-title h3{font-size:clamp(38px,10vw,48px)}
 .campus-title>span{font-size:42px}
 .campus-actions{gap:12px;row-gap:14px}
 .closing h2{font-size:clamp(30px,7.5vw,39px);line-height:1.3}
 .opening-bottom>span{line-height:1.8}
}
@media(orientation:landscape) and (max-height:600px){.hero-intro{top:auto;padding-top:44px}.hero-frame{height:auto;min-height:520px}.hero-carousel-bottom{flex-wrap:wrap;row-gap:20px}}

/* Harmonized sage ribbon and white monogram. */
.values-strip{background:#e5ebe1;border-block-color:#d0dbcb}
.values-strip .value-label{color:#3d594a;font-weight:600}
.values-strip .value-star{color:#8b785a;opacity:.85}
.brand-symbol{background:#3f6250;color:#fff}
.brand-symbol span{color:#fff}

.campus-title>[data-scroll-symbol],.closing-star[data-scroll-symbol]{display:inline-block;transform:translate3d(0,var(--symbol-lift,0px),0) rotate(var(--symbol-turn,0deg));transform-origin:center;pointer-events:none}
@media(prefers-reduced-motion:reduce){.campus-title>[data-scroll-symbol],.closing-star[data-scroll-symbol]{transform:none}}

.discovery-image--achievement img{aspect-ratio:472/334;object-position:center}
.discovery-image--achievement .image-note{position:relative;display:block;left:auto;right:auto;bottom:auto;margin:14px 8px 6px;transform:rotate(1deg)}

/* Vector geometry is independent of system fonts and emoji substitution. */
.decorative-star{display:inline-block;width:1em;height:1em;max-width:none;flex:none;vertical-align:-.12em;overflow:visible}
.value-star,.sky-spark,.opening-star{line-height:1}
.campus-title>[data-scroll-symbol],.closing-star[data-scroll-symbol]{width:1em;height:1em;line-height:1}
.campus-title>[data-scroll-symbol]>.decorative-star,.closing-star>.decorative-star{display:block}

.ui-icon{display:inline-block;width:1em;height:1em;flex:none;max-width:none;vertical-align:-.14em;overflow:visible}
.carousel-controls>button .ui-icon{width:20px;height:20px}
.mobile-menu summary .ui-icon{width:18px;height:18px}
.decorative-star,.ui-icon{font-family:initial;font-style:normal}

/* Mobile polish for the Cakung/Petojo landing page. */
html,body{max-width:100%;overflow-x:hidden}
.site-header,.section-wrap,.hero-sticky,.closing,.site-footer{width:100%}
.mobile-menu{flex:none}
.mobile-menu nav{z-index:40}
.campus,.news-card,.facts>div{min-width:0}
.campus-actions .button{text-align:center}
@media(max-width:760px){
 .site-header{position:sticky;top:0;gap:14px}
 .wordmark{min-width:0}
 .wordmark>span:last-child{min-width:0}
 .mobile-menu nav{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
 .section-wrap{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
 .campus{border-radius:18px}
 .campus-title{align-items:flex-start}
 .campus-title h3{font-size:clamp(40px,13vw,52px)}
 .campus-title>[data-scroll-symbol]{font-size:clamp(34px,12vw,46px);margin-top:6px}
 .school-list>div{align-items:flex-start}
 .campus-actions{width:100%}
 .campus-actions .button{flex:1 1 220px}
 .site-footer{align-items:flex-start}
 .site-footer nav{width:100%;gap:12px 20px}
}
@media(max-width:520px){
 .site-header{min-height:68px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
 .wordmark{font-size:16px}
 .brand-symbol{width:34px;height:34px;border-radius:10px;font-size:28px;padding-left:7px}
 .brand-city{letter-spacing:2.4px}
 .mobile-menu summary{min-height:40px;padding:8px 10px;gap:8px}
 .mobile-menu nav{left:16px;right:16px;top:calc(100% + 4px)}
 .section-wrap{padding-top:48px;padding-bottom:52px}
 .hero-sticky{padding-inline:10px}
 .hero-frame{min-height:560px}
 .hero-intro{padding:42px 18px 26px}
 .hero-carousel-bottom{padding:20px 18px}
 .carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}
 .carousel-controls>button{width:44px;height:44px}
 .carousel-dots{min-width:0;overflow:hidden}
 .campus{padding:22px 18px}
 .campus-title{margin:16px 0}
 .campus p{font-size:12px}
 .school-list{margin:20px 0}
 .school-list>div{gap:12px;padding-block:13px}
 .school-list strong{min-width:52px;font-size:12px;padding:7px 8px}
 .petojo .school-list strong{min-width:64px}
 .school-list span{font-size:11px;line-height:1.65}
 .campus-actions{display:grid;grid-template-columns:1fr}
 .campus-actions .button{width:100%;padding:13px 16px}
 .discovery-image{border-radius:54px 54px 16px 16px}
 .discovery-image img{border-radius:46px 46px 10px 10px}
 .footer-bottom{flex-direction:column;gap:8px}
 .footer-bottom span{max-width:none}
}
@media(max-width:380px){
 .site-header{gap:10px}
 .wordmark{font-size:15px}
 .brand-city{font-size:7px;letter-spacing:2px}
 .mobile-menu summary{font-size:14px}
 .campus{padding:20px 16px}
 .campus-title h3{font-size:clamp(36px,12.5vw,44px)}
 .school-list>div{display:grid;grid-template-columns:auto minmax(0,1fr)}
 .button{gap:12px}
}
.humanis{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:center;min-height:540px;padding:0 max(var(--gutter),32px) 0 max(var(--gutter),28px);background:#dfece7}
.humanis-visual{position:relative;z-index:2;align-self:stretch;min-height:540px;margin-left:calc(-1 * max(var(--gutter),28px))}
.humanis-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}
.humanis-copy{position:relative;z-index:2;max-width:590px;padding:54px 0 58px 20px}
.humanis .eyebrow{color:#365947;letter-spacing:0}
.humanis h2{margin:14px 0 20px;font-size:clamp(27px,2.4vw,34px);font-weight:800;line-height:1.28;letter-spacing:0;text-transform:uppercase;color:#20342b}
.humanis p{max-width:560px;margin:0 0 28px;font-size:15px;line-height:1.9;color:#2f4238}
.humanis .button{align-self:flex-start}
@media(max-width:1024px){
 .humanis{grid-template-columns:minmax(0,1fr);padding:56px max(var(--gutter),22px) 52px;min-height:0}
 .humanis:not(.technology){padding-top:0}
 .humanis-visual{order:1;width:100%;min-width:0;min-height:0;margin-left:0}
 .humanis-visual img{position:relative;width:100%;height:auto;object-fit:contain}
 .humanis-copy{order:2;max-width:720px;padding:28px 0 0}
}
@media(max-width:640px){
 .humanis{padding:42px 16px 42px}
 .humanis-visual{width:calc(100% + 32px);margin-inline:-16px}
 .humanis-visual img{width:100%;max-width:100%;margin:0}
 .humanis h2{font-size:clamp(28px,8.8vw,36px)}
 .humanis p{font-size:13px;line-height:1.8}
 .humanis .button{width:100%;padding-inline:18px}
}

.technology{grid-template-columns:minmax(420px,.85fr) minmax(0,1.15fr)}
.technology::before{content:none}
.technology-copy{padding:54px 20px 58px 0}
.technology-visual{display:block;align-self:end;min-height:0;width:100%;max-width:860px;overflow:visible;margin:0 auto}
.technology-visual img{position:relative;inset:auto;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:center bottom}
@media(max-width:1024px){
 .technology{grid-template-columns:1fr}
 .technology::before{right:-330px}
 .technology-copy{padding:28px 0 0}
 .technology-visual{max-width:680px;margin-inline:auto}
}
@media(max-width:640px){.technology::before{right:-310px}.technology-visual{width:calc(100% + 32px);max-width:none;margin-inline:-16px}}

.technology-quote{position:relative;isolation:isolate;overflow:hidden;background:#294b3b;color:#fff}
.technology-quote::before,.technology-quote::after{content:"";position:absolute;z-index:-1;width:480px;height:480px;border:1px solid #ffffff1f;border-radius:50%;pointer-events:none}
.technology-quote::before{top:-360px;left:-160px}
.technology-quote::after{right:-190px;bottom:-380px}
.technology-quote__inner{max-width:1080px;margin:auto;padding:clamp(72px,8vw,116px) var(--gutter);text-align:center}
.technology-quote__symbol{display:block;height:66px;color:#c5dfbb;font-family:Georgia,serif;font-size:112px;line-height:1}
.technology-quote .eyebrow{margin-top:8px;color:#dcebc9}
.technology-quote blockquote{max-width:950px;margin:22px auto 30px;font-size:clamp(30px,4vw,55px);font-weight:700;line-height:1.3;letter-spacing:-.035em;text-wrap:balance}
.technology-quote blockquote span{color:#c5dfbb}
.technology-quote__rule{display:block;width:80px;height:2px;margin:auto;background:#c5dfbb}
@media(max-width:520px){.technology-quote__inner{padding:64px 20px 70px}.technology-quote__symbol{height:55px;font-size:92px}.technology-quote blockquote{font-size:clamp(27px,8vw,36px)}}

/* Primary links use a two-column card layout, with SPMB spanning the final row. */
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,720px)}
.hero-action{position:relative;isolation:isolate;display:flex;align-items:center;gap:14px;min-width:0;min-height:86px;padding:12px 14px;overflow:hidden;border:1px solid #e4f0df;border-radius:13px;background:linear-gradient(135deg,#f9fbf5f5,#e6f2e2ed);box-shadow:0 9px 24px #081e1526;color:#143b2d;transition:transform .2s,box-shadow .2s,background .2s}
.hero-action::before{content:"";position:absolute;z-index:-1;right:-26px;bottom:-58px;width:140px;height:110px;border-radius:100% 0 0 0;background:#b7d9b68c;transform:rotate(-20deg)}
.hero-action:hover{transform:translateY(-3px);box-shadow:0 15px 28px #081e1538}
.hero-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hero-action__icon{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#d7eed8,#b4dcbf);color:#124b39;box-shadow:inset 0 1px 0 #fff9}
.hero-action__icon svg{display:block;width:29px;height:29px}
.hero-action__icon img{display:block;width:100%;height:100%;object-fit:contain}
.hero-action__copy{z-index:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-action__copy strong{font-size:13px;font-weight:800;line-height:1.2}
.hero-action__copy small{max-width:30ch;color:#657d6c;font-size:10px;font-weight:500;line-height:1.35}
.hero-action__copy em{color:#d0e7d5;font-size:10px;font-style:normal;line-height:1.35}
.hero-action__arrow{z-index:1;display:grid;place-items:center;flex:none;width:27px;height:27px;margin-left:auto;border-radius:50%;background:#f9fff7ba;color:#245b43}
.hero-action__arrow svg{display:block;width:15px;height:15px}
.hero-action--featured{grid-column:1/-1;min-height:98px;padding:13px 20px;border-color:#b3d996;background:linear-gradient(115deg,#3f9453,#0e513b 75%);box-shadow:0 12px 30px #09281e70;color:#fff}
.hero-action--featured::before{right:-42px;bottom:-92px;width:280px;height:190px;border-radius:100% 0 0 0;background:#65b35670;transform:rotate(-18deg)}
.hero-action--featured::after{content:"";position:absolute;z-index:-1;right:42px;bottom:-85px;width:160px;height:120px;border-radius:100% 0 0 0;background:#1e754b99;transform:rotate(-28deg)}
.hero-action--featured .hero-action__icon{width:58px;height:58px;border:1px solid #a2d3a890;background:#0a573f99;box-shadow:0 4px 10px #0b352a70;color:#fff}
.hero-action--featured .hero-action__copy strong{font-size:21px}
.hero-action--featured .hero-action__copy small{max-width:none;color:#f1faed;font-size:11px}
.hero-action--featured .hero-action__arrow{width:35px;height:35px;background:#edf6df;color:#164635}
@media(max-width:760px){.hero-actions{width:100%}}
@media(max-width:430px){.hero-actions{gap:8px}.hero-action{gap:8px;min-height:86px;padding:9px;border-radius:11px}.hero-action__icon{width:38px;height:38px;border-radius:12px}.hero-action__icon svg{width:23px;height:23px}.hero-action__copy strong{font-size:10px}.hero-action__copy small{font-size:8px}.hero-action__arrow{width:21px;height:21px}.hero-action__arrow svg{width:12px;height:12px}.hero-action--featured{min-height:88px;padding:11px}.hero-action--featured .hero-action__icon{width:46px;height:46px}.hero-action--featured .hero-action__copy strong{font-size:17px}.hero-action--featured .hero-action__copy small{font-size:9px}.hero-action--featured .hero-action__copy em{font-size:8px}.hero-action--featured .hero-action__arrow{width:28px;height:28px}}
@media(max-width:340px){.hero-actions{grid-template-columns:1fr}.hero-action--featured{grid-column:auto}}
@media(max-height:800px) and (min-width:1025px){.hero--carousel{height:auto;min-height:0}.hero-sticky{position:relative;height:auto;min-height:0;max-height:none}.hero-frame{height:auto;min-height:740px;transform:none}}

body.school-dialog-open{overflow:hidden}
.school-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:30px;border:1px solid #dce5d9;border-radius:24px;background:#fcfbf7;box-shadow:0 28px 80px #10251e55;color:var(--ink);overflow-y:auto}
.school-dialog::backdrop{background:#0d251cb8;backdrop-filter:blur(5px)}
.school-dialog__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.school-dialog .eyebrow{color:#456957}
.school-dialog__close{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:1px solid #dce5d9;border-radius:50%;background:#f0f3ec;color:var(--ink);cursor:pointer}
.school-dialog__close:hover{background:#e3ecdf}
.school-dialog__close .ui-icon{width:19px;height:19px}
.school-dialog h2{margin:16px 0 12px;font-size:clamp(30px,4vw,42px);line-height:1.18}
.school-dialog h2 span{color:#486c59}
.school-dialog>p{font-size:13px;line-height:1.7}
.school-dialog__units{display:grid;gap:10px;margin:25px 0;padding:0;list-style:none}
.school-dialog__units li{display:flex;align-items:center;gap:18px;min-width:0;padding:16px 18px;border:1px solid #dce5d9;border-radius:14px;background:#f0f3ec}
.school-dialog__units li.is-linked{padding:0}
.school-dialog__unit-link{display:flex;align-items:center;gap:18px;width:100%;min-width:0;padding:16px 18px;border-radius:14px}
.school-dialog__unit-link:hover{background:#e3ebdf}
.school-dialog__unit-link>div{min-width:0}
.school-dialog__unit-arrow{flex:none;margin-left:auto;font-size:19px;color:#456957}
.school-dialog__level{display:grid;place-items:center;flex:none;width:56px;height:48px;border-radius:10px;background:#e0ebdc;color:#365947;font-size:13px;font-weight:800}
.school-dialog__units strong{display:block;font-size:14px;line-height:1.4}
.school-dialog__units p{margin-top:3px;font-size:11px;line-height:1.55}
.school-dialog__visit{width:100%}
.school-dialog--cakung h2 span,.school-dialog--cakung .eyebrow{color:#746184}
.school-dialog--cakung .school-dialog__units li{border-color:#ded5e6;background:#f0ebf4}
.school-dialog--cakung .school-dialog__level{background:#e4daec;color:#67547a}
@media(max-width:520px){.school-dialog{padding:22px 18px;border-radius:18px}.school-dialog h2{font-size:30px}.school-dialog__units li{gap:12px;padding:13px}.school-dialog__unit-link{gap:12px;padding:13px}.school-dialog__level{width:48px;height:44px;font-size:12px}.school-dialog__units strong{font-size:12px}.school-dialog__units p{font-size:10px}}

/* Clouds and school levels share one full-width background, without a section seam. */
.academics-journey{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--paper) 0%,#f1f5ec 38%,#e6f0e9 60%,#dfece7 78%)}
.academics-journey>.sky-journey{background:transparent}
.academics-journey>.technology{background:transparent}
.academics-journey>.technology::before{display:none;content:none}
.academics{position:relative;isolation:isolate;display:grid;width:100%;max-width:1800px;grid-template-columns:minmax(300px,.4fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,3vw,48px);padding-top:clamp(28px,4vw,60px);padding-bottom:clamp(40px,4vw,64px)}
.academics::after{position:absolute;z-index:0;top:16px;right:var(--gutter);width:92px;height:92px;content:"";background-image:radial-gradient(#6f9e7e 1.5px,transparent 2px);background-size:18px 18px;opacity:.22;pointer-events:none}
.academics-decoration{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.academics-decoration__leaf{position:absolute;width:clamp(180px,22vw,340px);max-width:none;height:auto;opacity:.24}
.academics-decoration__leaf--left{bottom:64px;left:-80px;transform:rotate(-24deg);filter:blur(2px)}
.academics-decoration__leaf--right{top:-180px;right:-80px;transform:rotate(147deg);filter:blur(6px)}
.academics-intro,.academics-carousel,.academics-panels{position:relative;z-index:1}
.academics-intro .eyebrow{position:relative;padding-bottom:15px;color:var(--accent);font-size:12px;letter-spacing:.14em}
.academics-intro .eyebrow::after{position:absolute;bottom:0;left:0;width:38px;height:2px;content:"";border-radius:2px;background:#399966}
.academics-intro h2{max-width:14ch;margin:24px 0;color:var(--ink);font-size:clamp(42px,4.1vw,64px);font-weight:700;line-height:1.15;letter-spacing:-.035em;overflow-wrap:normal}
.academics-intro .accent-text{color:var(--accent)}
.academics-intro>p{max-width:45ch;color:var(--muted);font-size:16px;line-height:1.85}
.academics-stats{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;padding-top:18px;border-top:1px solid #33735130}
.academics-stats>span{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.academics-stats strong{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--accent)}
.academics-quote{position:relative;z-index:1;isolation:isolate;width:100%;margin:0;padding:clamp(28px,4vw,56px) var(--gutter) clamp(64px,7vw,100px);text-align:center;background:transparent}
.academics-quote::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.academics-sun{--sun-progress:.2;position:absolute;z-index:-1;top:16%;left:max(20px,calc(50% - 680px));width:clamp(170px,20vw,260px);aspect-ratio:1;pointer-events:none;user-select:none}
.academics-sun__halo{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle,#f9db815c 0%,#f5cf582b 40%,transparent 72%);opacity:calc(.12 + var(--sun-progress)*.88);transform:scale(calc(.72 + var(--sun-progress)*.4));transition:opacity .18s linear,transform .22s ease-out}
.academics-sun__art{position:relative;display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 calc(2px + var(--sun-progress)*14px) rgba(230,170,53,calc(.05 + var(--sun-progress)*.35)));transition:filter .18s linear}
.academics-sun__rays{transform-box:view-box;transform-origin:center;opacity:calc(.22 + var(--sun-progress)*.73);transform:rotate(calc(var(--sun-progress)*24deg)) scale(calc(.82 + var(--sun-progress)*.18));transition:opacity .18s linear,transform .22s ease-out}
.academics-sun__core{opacity:calc(.4 + var(--sun-progress)*.6);transition:opacity .18s linear}
.academics-quote::after{top:28%;right:max(12px,calc(50% - 680px));width:120px;height:144px;background-image:radial-gradient(#739580 1.5px,transparent 2px);background-size:18px 18px;opacity:.3;transform:rotate(-8deg)}
.academics-quote__mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border:1px solid #9fbba775;border-radius:20px;background:linear-gradient(145deg,#f5faf2,#d1e5d7);box-shadow:0 8px 22px #36594712;color:var(--accent);transform:rotate(-6deg)}
.academics-quote__mark svg{display:block;width:32px;height:32px;transform:rotate(6deg)}
.academics-quote__eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:800;line-height:1.8;letter-spacing:.18em}
.academics-quote blockquote{max-width:38ch;margin:20px auto 30px;color:var(--ink);font-size:clamp(23px,2.7vw,38px);font-weight:600;line-height:1.5;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
.academics-quote blockquote span{color:var(--accent)}
.academics-quote figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;color:var(--accent);font-size:12px;font-weight:700;line-height:1.8;letter-spacing:.05em}
.academics-quote figcaption span{display:inline-flex;align-items:center;gap:16px}
.academics-quote figcaption span+span::before{content:"";width:5px;height:5px;border:1px solid #8b9a6d;background:#c6d3ae;transform:rotate(45deg)}
/* Arrow controls move the wide cards inside a clipped viewport. */
.academics-panels{display:flex;align-items:center;gap:80px;min-width:0;width:100%;height:clamp(640px,46vw,760px);padding:28px 72px;overflow:hidden;perspective:1400px;scroll-margin-top:16px}
.academics-carousel__controls{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.academics-carousel__nav{display:grid;place-items:center;flex:none;width:52px;height:52px;padding:0;border:1px solid #b6cbb6;border-radius:50%;background:var(--paper);color:#365947;box-shadow:0 4px 14px #244b391a;cursor:pointer;pointer-events:auto;transition:background .2s,border-color .2s,opacity .2s}
.academics-carousel__nav:not(:disabled):hover{border-color:#62846a;background:#e2eddc}
.academics-carousel__nav:disabled{opacity:.35;box-shadow:none;cursor:default}
.academics-panel{--panel-dark:#244b39;--panel-wash:#3b71559e;--panel-height:.9;--panel-offset:0px;--panel-turn:0deg;position:relative;isolation:isolate;flex:0 0 clamp(112px,8vw,144px);min-width:0;height:calc(100% * var(--panel-height));overflow:hidden;border:3px solid #20392e;border-radius:7px;background:#244c3c;box-shadow:5px 7px 0 #20392e,12px 22px 26px #17332924;scroll-margin-top:96px;transform:translateY(var(--panel-offset)) rotateY(var(--panel-turn)) skewX(-4deg) scale(1);transform-origin:center;transition:flex .55s cubic-bezier(.2,.75,.25,1),height .55s cubic-bezier(.2,.75,.25,1),transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease}
.academics-panel:nth-child(1){--panel-height:.82;--panel-offset:14px;--panel-turn:12deg}
.academics-panel:nth-child(2){--panel-height:.93;--panel-offset:-8px;--panel-turn:6deg}
.academics-panel:nth-child(3){--panel-height:1;--panel-offset:0px;--panel-turn:0deg}
.academics-panel:nth-child(4){--panel-height:.92;--panel-offset:12px;--panel-turn:-6deg}
.academics-panel:nth-child(5){--panel-height:.84;--panel-offset:-4px;--panel-turn:-12deg}
.academics-panel:nth-child(6){--panel-height:.82;--panel-offset:14px;--panel-turn:-16deg}
.academics-panel--green{--panel-dark:#294e3b;--panel-wash:#548465a8}
.academics-panel--blue{--panel-dark:#233d48;--panel-wash:#3e728aa8}
.academics-panel--purple{--panel-dark:#44305d;--panel-wash:#6c4c91a8}
.academics-panel.is-active{z-index:2;flex:0 0 clamp(460px,34vw,560px);height:100%;transform:translateY(-8px) rotateY(0deg) skewX(0deg) scale(1.03);box-shadow:6px 9px 0 #20392e,16px 28px 34px #17332930}
.academics-panel>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top}
.academics-panel::after{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(180deg,#103d3120 10%,var(--panel-wash) 61%,var(--panel-dark) 100%);pointer-events:none;transition:background .4s ease}
.academics-panel.is-active::after{background:linear-gradient(180deg,transparent 22%,#0a563116 42%,var(--panel-wash) 65%,var(--panel-dark) 100%)}
.academics-panel__toggle{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:18px 10px 22px;border:0;background:transparent;color:#fff;cursor:pointer}
.academics-panel__toggle:focus-visible{outline-offset:-8px}
.academics-panel__badge,.academics-panel__arrow{display:grid;place-items:center;flex:none;width:54px;height:54px;border:1px solid #ffffffd9;border-radius:50%;background:#ffffff45;box-shadow:inset 0 1px 12px #fff5,0 5px 20px #071b2455;backdrop-filter:blur(8px)}
.academics-panel__badge svg{width:27px;height:27px}
.academics-panel__arrow{width:42px;height:42px;margin-top:16px;background:#0b453e6e}
.academics-panel__arrow svg{width:23px;height:23px}
.academics-panel__collapsed{margin-top:auto;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(18px,2vw,26px);font-weight:800;letter-spacing:.09em;text-shadow:0 2px 12px #082a2faa}
.academics-panel__body{position:absolute;z-index:2;inset:0;pointer-events:none}
.academics-panel__body:focus-visible{outline-offset:-5px}
.academics-panel__content{position:absolute;right:clamp(18px,1.8vw,28px);bottom:clamp(24px,2.4vw,36px);left:clamp(18px,1.8vw,28px);max-width:560px;color:#fff;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s}
.academics-panel.is-active .academics-panel__content{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .24s ease .38s,transform .3s ease .38s,visibility 0s}
.academics-panels.is-switching .academics-panel__content{opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}
.academics-panel__content .eyebrow{color:#f2fff2;font-size:12px;line-height:1.6;letter-spacing:.9px}
.academics-panel__content h3{margin:12px 0 9px;font-size:clamp(52px,4vw,68px);font-weight:700;line-height:1;letter-spacing:-.055em}
.academics-panel__subtitle{display:block;margin-bottom:16px;color:#fff;font-size:20px;font-weight:800;line-height:1.4;text-shadow:0 1px 5px #10251e80}
.academics-panel__content p{max-width:43ch;color:#fff;font-size:18px;font-weight:500;line-height:1.65;text-shadow:0 1px 5px #10251e80}
.academics-panel__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.academics-panel__links :is(button,a){display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;min-width:148px;padding:0 17px 0 22px;border:1px solid #fff;border-radius:999px;background:#fff;color:#174c38;font-size:15px;font-weight:800;cursor:pointer}
.academics-panel__links :is(button,a)::after{display:grid;place-items:center;width:28px;height:28px;content:"→";border-radius:50%;background:#0c6247;color:#fff;font-size:17px;font-weight:500}
.academics-panel__links :is(button,a)+:is(button,a){background:#ffffff10;color:#fff;backdrop-filter:blur(4px)}
.academics-panel__links :is(button,a)+:is(button,a)::after{border:1px solid #fff;background:transparent}
.academics-panel__links :is(button,a):hover{background:#e8ffdc}
.academics-panel__links :is(button,a)+:is(button,a):hover{background:#ffffff35}
.academics-panel.is-active .academics-panel__toggle{display:none}
@media(max-width:1800px){.academics{grid-template-columns:1fr}}
@media(max-width:1500px){.academics{grid-template-columns:1fr;gap:40px}.academics-intro h2{max-width:16ch;font-size:clamp(48px,6vw,68px)}.academics-intro>p{max-width:62ch}.academics-panels{height:clamp(640px,54vw,760px)}}
@media(max-width:1200px){
 .academics{gap:28px;padding-top:40px;padding-bottom:48px}
 .academics-carousel__controls{display:none}
 .academics-panels{display:flex;flex-direction:column;align-items:stretch;height:auto;gap:14px;padding:0;overflow:visible;perspective:none}
 .academics-panel,.academics-panel.is-active{flex:none;width:100%;height:auto;border:1px solid #ffffffa6;border-radius:22px;transform:none;box-shadow:0 10px 25px #244b3914}
 .academics-panel>img{position:relative;inset:auto;height:92px;object-position:center 20%;transition:height .42s cubic-bezier(.2,.75,.25,1),object-position .42s ease}
 .academics-panel.is-active>img{height:var(--panel-photo-height,auto);object-position:center top}
 .academics-panel::after{bottom:auto;height:92px;background:linear-gradient(90deg,#142c22d9,#142c2260);transition:height .42s cubic-bezier(.2,.75,.25,1)}
 .academics-panel.is-active::after{height:var(--panel-photo-height,auto);aspect-ratio:var(--panel-photo-ratio,1122/1402);background:linear-gradient(180deg,transparent 86%,var(--panel-dark))}
 .academics-panel__toggle,.academics-panel.is-active .academics-panel__toggle{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:92px;padding:16px;gap:12px;transition:height .42s cubic-bezier(.2,.75,.25,1)}
 .academics-panel.is-active .academics-panel__toggle{height:var(--panel-photo-height,auto);aspect-ratio:var(--panel-photo-ratio,1122/1402)}
 .academics-panel__badge{position:static;width:36px;height:36px}
 .academics-panel__badge svg{width:20px;height:20px}
 .academics-panel__collapsed{margin:0;writing-mode:horizontal-tb;transform:none;font-size:22px;letter-spacing:.02em}
 .academics-panel__collapsed--full{flex:1;min-width:0;font-size:18px;line-height:1.3}
 .academics-panel__arrow{width:34px;height:34px;margin:0 0 0 auto}
 .academics-panel__arrow svg{width:18px;height:18px}
 .academics-panel.is-active .academics-panel__badge,.academics-panel.is-active .academics-panel__collapsed,.academics-panel.is-active .academics-panel__arrow{visibility:hidden}
 .academics-panel__body{position:relative;inset:auto;display:grid;grid-template-rows:0fr;background:var(--panel-dark);transition:grid-template-rows .42s cubic-bezier(.2,.75,.25,1)}
 .academics-panel.is-active .academics-panel__body{grid-template-rows:1fr}
 .academics-panel__content{position:relative;inset:auto;min-height:0;max-width:none;overflow:hidden;transform:none}
 .academics-panel__copy{padding:20px}
 .academics-panel__content .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.7px}
 .academics-panel__content h3{margin:10px 0;font-size:46px;line-height:1.1}
 .academics-panel__subtitle{margin-bottom:12px;font-size:18px;line-height:1.5}
 .academics-panel__content p{font-size:16px;line-height:1.75}
 .academics-panel__links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:10px;margin-top:20px}
 .academics-panel__links :is(button,a){min-width:0;width:100%;min-height:50px;padding:10px 14px;gap:10px;font-size:15px;line-height:1.5}
 .academics-panel__links :is(button,a)::after{flex:none;width:26px;height:26px;font-size:16px}
}
@media(max-width:520px){.academics-intro h2{max-width:12ch;margin:19px 0;font-size:clamp(36px,10vw,48px)}.academics-intro>p{font-size:14px}.academics-panels{scroll-margin-top:60px}.academics-stats{gap:14px;margin-top:22px}.academics-stats>span{gap:6px;font-size:11px}.academics-stats strong{font-size:19px}.academics-decoration__leaf--left{bottom:48px;left:-140px}.academics-decoration__leaf--right{right:-150px}.academics-sun{top:4px;left:18px;width:112px}.academics-quote::after{top:12%;right:8px;width:64px;height:90px;opacity:.2}.academics-quote figcaption,.academics-quote figcaption span{gap:10px}}
@media(max-width:380px){.academics-panel__copy{padding:18px}.academics-panel__content h3{font-size:40px}}
@media(prefers-reduced-motion:reduce){.academics-panel,.academics-panel>img,.academics-panel::after,.academics-panel__toggle,.academics-panel__body,.academics-panel__content{transition:none!important}.academics-panel__content{transform:none}}

/* Use a consistent, readable size for landing-page descriptions at every breakpoint. */
:root{--landing-description-size:clamp(18px,1.5vw,20px)}
.hero-intro>p,
.academics-intro>p,
.humanis-copy>p,
.discovery p,
.closing>p,
.news-empty>p{font-size:var(--landing-description-size);line-height:1.8}
.hero-intro>p{max-width:56ch}
.academics-panel__content p{font-size:clamp(18px,1.5vw,20px);line-height:1.75}
.hero-action__copy strong{font-size:14px;line-height:1.4}
.hero-action__copy small,
.hero-action__copy em,
.hero-action--featured .hero-action__copy small,
.hero-action--featured .hero-action__copy em{font-size:13px;line-height:1.55}
.school-dialog>p{font-size:16px;line-height:1.75}
.school-dialog__units p{font-size:14px;line-height:1.65}
@media(max-width:760px){
 :root{--landing-description-size:17px}
}
@media(max-width:520px){
 .hero-actions{grid-template-columns:minmax(0,1fr)}
 .hero-action__copy small,
 .hero-action__copy em,
 .hero-action--featured .hero-action__copy small,
 .hero-action--featured .hero-action__copy em{font-size:12px}
}

/* Full-width carousel with the reference banner's curved lower-left corner. */
.hero--carousel{height:auto;min-height:0}
.hero--carousel .hero-sticky{position:relative;height:auto;min-height:0;max-height:none;padding:0}
.hero--carousel .hero-frame{height:auto;min-height:clamp(620px,41vw,780px);border-radius:0 0 0 clamp(50px,8vw,150px);transform:none}
.hero--carousel .hero-shade{background:linear-gradient(90deg,#102c24e6 0%,#102c24a3 43%,#102c2426 100%),linear-gradient(0deg,#102c2480,transparent 40%)}
.hero--carousel .hero-intro{padding-inline:clamp(22px,9vw,170px)}
.hero--carousel .hero-carousel-bottom{padding-inline:clamp(22px,9vw,170px)}
.hero--carousel .hero-scroll-hint{padding:14px var(--gutter)}
@media(max-width:760px){
 .hero--carousel .hero-frame{min-height:600px;border-bottom-left-radius:60px}
 .hero--carousel .hero-intro,.hero--carousel .hero-carousel-bottom{padding-inline:var(--gutter)}
}
@media(max-width:520px){
 .hero--carousel .hero-frame{border-bottom-left-radius:50px}
}
