:root{--paper:#fcfdfb;--green:#242580;--muted:#626980;--line:#dce1ed;--lime:#e5f7e9;--orange:#ed2528;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--green);background:var(--paper);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.04}h1{font-size:clamp(55px,6.1vw,96px)}h2{font-size:clamp(40px,4.2vw,65px)}h3{font-weight:500;line-height:1.25}em{font-weight:400;color:#678357}p{color:var(--muted)}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.wrap{max-width:1440px;width:calc(100% - 120px);margin:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.7;display:flex;align-items:center;gap:9px}.dot{display:inline-block;width:6px;height:6px;background:#8b9c60;border-radius:50%}.topline{background:var(--green);color:var(--paper);padding:8px 60px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}.header{padding:23px 60px;display:flex;justify-content:space-between;align-items:center;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e7db}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:30px;line-height:1}.brandmark{border:1px solid var(--green);border-radius:50% 50% 0 50%;width:44px;height:48px;display:flex;justify-content:center;align-items:center;font-size:31px}.brand small{display:block;font-family:var(--sans);font-size:7px;letter-spacing:.2em;margin-top:7px}nav{display:flex;align-items:center;gap:34px;font-size:12px}.button{background:var(--green);color:white;border:1px solid var(--green);padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:4px;font-size:12px;transition:background .2s,transform .2s;line-height:1.4}.button:hover{background:#345b49;transform:translateY(-2px)}.button.small{padding:13px 19px;gap:22px}.text-link{font-size:12px;display:inline-flex;gap:17px;align-items:center;padding:8px 0;border-bottom:1px solid #acb6a4;line-height:1.5}.text-link:hover{color:var(--orange)}.menu{display:none}.skip{position:fixed;top:0;left:20px;padding:15px;background:white;z-index:99;transform:translateY(-120%)}.skip:focus{transform:translateY(0)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:30px 60px;padding-top:52px}.hero-copy{padding:35px 0 10px;align-self:center}.hero .eyebrow{margin-bottom:30px}.hero h1 em{display:block}.hero-copy>p{max-width:370px;font-size:15px;margin-top:26px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:35px;padding-left:35px}.handwritten{font:italic 19px/1.2 var(--serif);transform:rotate(-7deg);color:#778758}.hero-note svg{width:64px;fill:none;stroke:#778758;stroke-width:1.4;transform:rotate(16deg)}.hero-art{position:relative;padding-right:20px;align-self:center}.image-frame{height:min(550px,43vw);position:relative;border-radius:47% 47% 4px 4px;overflow:hidden;background:#d1d3bd}.image-frame img{object-position:center 40%}.image-frame:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1a2e29c9);pointer-events:none}.image-caption{position:absolute;bottom:25px;left:30px;color:white;z-index:1;font-size:12px}.image-caption span{display:block}.image-caption span:first-child{font-size:8px;letter-spacing:.19em;margin-bottom:5px}.sun{position:absolute;right:-14px;top:22px;font-size:104px;line-height:1;color:#c98846;transform:rotate(10deg)}.floating-note{position:absolute;bottom:110px;left:-44px;display:flex;align-items:center;gap:13px;background:#e2e9bb;padding:17px 22px;font:italic 17px/1.25 var(--serif);box-shadow:0 10px 35px #203f3510;transform:rotate(-4deg)}.floating-note>span:first-child{font:36px var(--serif)}.vertical-label{position:absolute;right:-25px;bottom:50px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 25px;font-size:8px;letter-spacing:.15em}.hero-bottom a{display:flex;gap:30px}.values-strip{background:#e9edda;display:flex;align-items:center;justify-content:space-evenly;padding:25px 35px;font:20px var(--serif)}.values-strip i{font-style:normal;color:#8a9e63;font-size:25px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.approach-art{height:540px;position:relative;padding:0 24px 22px 0}.approach-art:before{content:'';position:absolute;inset:25px 0 0 25px;background:#e6e9d6;z-index:-1}.approach-art img{border-radius:4px 100px 4px 4px;object-position:center 45%}.photo-label{position:absolute;bottom:0;right:0;background:var(--paper);padding:10px 15px;font:italic 17px var(--serif)}.approach-copy .eyebrow{margin-bottom:22px}.approach-copy h2{font-size:clamp(37px,3.7vw,57px)}.approach-copy .lead{font-size:17px;margin-top:25px;color:var(--green)}.approach-copy>p{margin-top:17px;font-size:13px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0;border-top:1px solid var(--line);padding-top:24px}.principles span{font-size:25px;color:#879b62}.principles h3{font-size:15px;margin:9px 0}.principles p{font-size:12px}.programs{background:#e9eddf}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}.section-head .eyebrow{margin-bottom:20px}.section-head>p,.section-head>div+div{max-width:340px;font-size:13px}.section-head .text-link{margin-top:13px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program{display:flex;flex-direction:column;border:1px solid #c9d0bb;background:#f7f8ef;padding:23px;border-radius:4px;transition:transform .25s,background .25s}.program:hover{transform:translateY(-7px);background:#fefdf7}.program-num{display:flex;justify-content:space-between;font-size:10px;color:#68775e}.program-num>span{font-size:20px}.program-symbol{font-size:56px;line-height:1.5;margin:22px 0 30px;color:#8b9f68}.program:nth-child(2) .program-symbol{color:#bd7853}.program:nth-child(3) .program-symbol{color:#819b9c}.program:nth-child(4) .program-symbol{color:#b6a166}.program h3{font:33px var(--serif);margin:10px 0 13px}.program p{font-size:12px;max-width:185px;flex:1}.program .eyebrow{font-size:8px}.program-link{font-size:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:26px}.fine{font-size:11px;line-height:1.7}.programs .fine{margin-top:24px}.moments-grid{display:grid;grid-template-columns:1.1fr .8fr .9fr;grid-template-rows:230px 230px;gap:18px}.moment{position:relative;border:0;padding:0;text-align:left;overflow:hidden;border-radius:4px;background:#dce0ce;transition:transform .2s}.moment.tall{grid-row:span 2}.moment img{transition:transform .5s}.moment:hover img{transform:scale(1.03)}.moment>span:not(.play){position:absolute;left:0;right:0;bottom:0;padding:45px 22px 20px;background:linear-gradient(transparent,#1a3028da);color:white;font-size:12px;line-height:1.5}.moment>span>span{float:right}.moment small{display:block;font-size:9px;opacity:.8;margin-top:4px}.moment.video{grid-column:3;grid-row:1/span 2}.play{position:absolute;top:45%;left:calc(50% - 25px);width:50px;height:50px;border:1px solid white;border-radius:50%;color:white;display:grid;place-items:center;background:#ffffff20;backdrop-filter:blur(6px)}.quote-tile{padding:25px;background:#e4eacb;display:flex;flex-direction:column;justify-content:space-between}.quote-tile>span{font-size:30px}.quote-tile p{font:28px/1.2 var(--serif);color:var(--green)}.quote-tile small{font-size:10px}.campus{background:var(--green);color:var(--paper)}.campus em{color:#c5d49b}.campus p{color:#c1cec0}.campus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.campus article{border-top:1px solid #68816a;padding-top:24px}.campus article>span{font-size:10px;color:#b6c69b}.campus h3{font:25px var(--serif);margin:20px 0 15px}.campus article p{font-size:12px;max-width:220px}.updates{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.updates h2{margin:25px 0}.updates p{max-width:370px;font-size:14px}.updates .fine{font-size:11px;margin-top:14px}.updates .actions{align-items:start;flex-direction:column;gap:12px}.feed-container{max-width:500px;width:100%;min-height:465px;background:#eceee1;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:grid;place-items:center}.feed-placeholder{padding:40px;text-align:center}.feed-icon{font:bold 42px var(--sans);display:inline-block;border:1px solid #a9b69a;border-radius:50%;width:70px;height:70px;line-height:70px;margin-bottom:20px}.feed-placeholder h3{font:34px/1.05 var(--serif);margin-bottom:20px}.feed-placeholder p{font-size:12px;margin-bottom:30px}.feed-container iframe{border:0;display:block;max-width:100%;height:540px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;border-top:1px solid var(--line);padding-top:70px}.faq h2{font-size:44px;margin-top:25px}.questions details{border-bottom:1px solid var(--line);padding:23px 0}.questions details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:20px;line-height:1}details[open] summary:after{content:'−'}.questions p{font-size:12px;margin-top:15px;max-width:440px}.questions a{text-decoration:underline}.contact{background:#dfe7bd}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:120px;align-items:center}.contact h2{margin:24px 0}.contact h2 em{color:#66814d}.contact p{max-width:410px;font-size:13px;color:#526448}.contact .fine{font-size:11px;margin-top:15px}.contact .button.light{background:var(--green);color:white}.contact address{font-style:normal;border-left:1px solid #b8c3a0;padding:25px 0 25px 50px}.contact address p{font:26px/1.4 var(--serif);margin:20px 0}.directions{display:flex;justify-content:space-between;border-bottom:1px solid #b8c3a0;padding-bottom:15px;font-size:12px}.contact-lines{display:flex;flex-direction:column;gap:5px;font-size:13px;margin-top:22px}.footer{padding:45px 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.footer>p{text-align:right;font:italic 19px var(--serif)}.footer>div{display:flex;gap:25px;font-size:10px}.copyright{text-align:right;font-size:9px;color:var(--muted)}dialog{max-width:min(900px,92vw);max-height:94vh;border:0;background:var(--paper);padding:18px;color:var(--green)}dialog::backdrop{background:#10291fe8}dialog img{height:auto;max-height:78vh;object-fit:contain}dialog p{font-size:12px;padding:13px 0 0}.close-viewer{position:absolute;right:22px;top:22px;border:0;background:var(--paper);font-size:28px;line-height:1;width:40px;height:40px;border-radius:50%}.doc{max-width:850px;margin:70px auto;padding:0 28px}.doc h1{font-size:55px;margin:35px 0}.doc h2{font-size:30px;margin:35px 0 15px}.doc p,.doc li{margin:15px 0}.doc a{text-decoration:underline}.doc code{overflow-wrap:anywhere;background:#e5e9d9;padding:3px 6px}.doc pre{white-space:pre-wrap;background:#e5e9d9;padding:20px}
@media(min-width:1600px){.hero{padding-top:65px}.image-frame{height:620px}.hero-copy{padding-top:55px}.hero h1{font-size:105px}}
@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.topline{padding:8px 35px}.header{padding:20px 35px}nav{gap:22px}.hero{gap:25px 35px}.hero-copy{padding-top:5px}.hero h1{font-size:65px}.hero .eyebrow{font-size:8px}.hero .actions{gap:18px}.hero-note{margin-top:25px}.approach{gap:55px}.approach-art{height:490px}.updates{gap:60px}.contact-grid{gap:70px}.program{padding:19px}.program h3{font-size:28px}}
@media(max-width:800px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 44px)}.topline{padding:7px 22px;font-size:9px}.topline>span{font-size:10px}.topline>a{font-size:0}.topline>a:before{content:'Call us ↗';font-size:10px}.header{padding:18px 22px}.brand{font-size:27px}.brandmark{width:37px;height:41px;font-size:28px}.brand small{font-size:6px}.menu{display:flex;gap:13px;align-items:center;border:0;background:transparent;font-size:12px;padding:12px}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:15px 0}.hero{grid-template-columns:1fr;gap:20px;padding-top:34px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;margin-bottom:21px}.hero h1{font-size:clamp(52px,9vw,76px)}.hero-copy>p{font-size:14px;margin-top:20px;max-width:380px}.hero-note{display:none}.hero-art{padding:0 12px;margin:24px 0 0}.image-frame{height:510px;max-height:125vw;border-radius:46% 46% 4px 4px}.hero-art .sun{font-size:80px;right:0;top:0}.floating-note{left:0;bottom:60px;font-size:16px}.vertical-label{right:-6px}.hero-bottom{margin-top:8px;font-size:7px}.values-strip{gap:20px;flex-wrap:wrap;padding:22px;font-size:17px}.values-strip i{font-size:17px}.values-strip span:last-child,.values-strip i:nth-last-child(2){display:none}.section{padding-top:70px;padding-bottom:70px}.approach{grid-template-columns:1fr;gap:40px}.approach-art{height:420px;max-width:540px}.approach-copy h2{font-size:44px}.section-head{display:block;margin-bottom:32px}.section-head>p,.section-head>div+div{margin-top:23px;max-width:400px}.program-grid{grid-template-columns:1fr 1fr;gap:12px}.program{padding:20px}.program-symbol{margin:10px 0 20px;font-size:44px}.program h3{font-size:30px}.program p{max-width:none}.moments-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px}.moment.tall{grid-row:1;grid-column:1/span 2}.moment.video{grid-row:2;grid-column:2}.quote-tile{display:none}.moment>span:not(.play){font-size:11px;padding:40px 16px 16px}.campus-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.campus h3{font-size:23px}.updates{grid-template-columns:1fr;gap:35px}.feed-container{margin:auto}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:42px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact address{padding:30px 0 0;border-left:0;border-top:1px solid #b8c3a0}.footer{grid-template-columns:1fr;gap:25px}.footer>p,.copyright{text-align:left}.footer>div{flex-wrap:wrap;gap:20px}.doc h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Kakhara identity and the cloud-led journey. */
:root{--brand-blue:#242580;--brand-green:#14bf45;--brand-red:#ed2528;--sky:#edf3fb}
body{overflow-x:clip}em{color:#258849}.topline{display:none}.header{position:fixed;top:0;left:0;right:0;padding:24px max(38px,calc((100vw - 1440px)/2));background:transparent;border:0;color:white;transition:background .35s,color .35s,padding .35s,box-shadow .35s}.header.scrolled{background:#fcfdfbf5;color:var(--brand-blue);padding-top:12px;padding-bottom:12px;box-shadow:0 1px 0 #24258014;backdrop-filter:blur(12px)}.brand{gap:15px;font-size:29px;letter-spacing:-.02em}.school-logo{width:82px;height:82px;border-radius:50%;object-fit:contain;background:white;flex-shrink:0;box-shadow:0 0 0 5px #ffffff18}.header.scrolled .school-logo{width:62px;height:62px}.brand small{font-size:8px;letter-spacing:.19em;margin-top:9px}.header nav{gap:32px}.header .button.small{background:#ffffff14;border-color:#ffffff66;border-radius:30px}.header .button.small:hover{background:white;color:var(--brand-blue)}.header.scrolled .button.small{background:var(--brand-blue);border-color:var(--brand-blue);color:white}.button{border-radius:30px;font-size:12px;padding:18px 26px}.button:hover{background:#3537a0}.text-link{border-color:#abb3cb}.dot{background:var(--brand-green)}.journey-hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;max-width:none;min-height:820px;height:100svh;max-height:1200px;padding:140px 0 180px;margin:0;overflow:hidden;background:#161d59;color:white;gap:0}.hero-panorama{position:absolute;inset:0 0 0 32%;z-index:-3;overflow:hidden}.hero-panorama img{object-position:center 47%;animation:hero-breathe 22s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111b4c 0%,#111b4cf2 23%,#111b4c8f 49%,#111b4c15 80%),linear-gradient(0deg,#1a255c60,transparent 55%)}.journey-hero .hero-copy{position:relative;z-index:2;align-self:auto;padding:0}.journey-hero .hero-copy>.eyebrow{font-size:12px;font-weight:400;letter-spacing:.1em;margin-bottom:30px;color:#eff3ff}.journey-hero h1{font-size:clamp(64px,6vw,104px);line-height:1.06;letter-spacing:-.045em;max-width:960px;text-shadow:0 3px 25px #111b4c15;animation:hero-title-in 1.3s cubic-bezier(.2,.7,.3,1) both}.journey-hero h1 em{display:inline;color:#b9f0ba}.journey-hero .hero-copy>p{font-size:17px;line-height:1.85;color:#e3e7f4;max-width:460px;margin-top:28px;animation:hero-title-in 1.4s .15s both}.journey-hero .hero-copy>.eyebrow{animation:hero-title-in 1.2s both}.journey-hero .actions{margin-top:30px;animation:hero-title-in 1.3s .3s both}.journey-hero .button{background:white;border-color:white;color:var(--brand-blue);min-width:210px}.journey-hero .button:hover{background:#dff5e4;border-color:#dff5e4}.journey-hero .text-link{border-color:#ffffff70;color:white}.journey-scroll{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:15px;z-index:5;font-size:8px;letter-spacing:.22em;color:#f7faff}.scroll-line{width:1px;height:48px;background:linear-gradient(transparent,#ffffffd0);position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;top:-16px;width:1px;height:16px;background:white;animation:scroll-cue 2.4s ease-in-out infinite}.motion-toggle{position:absolute;right:max(38px,calc((100vw - 1440px)/2));bottom:170px;display:flex;align-items:center;gap:8px;background:#111b4c70;border:1px solid #ffffff60;border-radius:25px;color:white;padding:9px 14px;font-size:10px;z-index:6;backdrop-filter:blur(8px)}.motion-icon{font-size:13px}.clouds{position:absolute;left:0;right:0;bottom:-3px;height:230px;z-index:4;pointer-events:none}.cloud-layer{position:absolute;width:100%;height:100%;bottom:0;will-change:transform}.cloud-layer.far{transform:translate3d(0,calc(var(--cloud-rise,0px)*.45),0);opacity:.65}.cloud-layer.near{transform:translate3d(0,var(--cloud-rise,0px),0)}.cloud-texture{position:absolute;width:130%;height:100%;left:-15%;bottom:-10px;background:radial-gradient(ellipse 12% 53% at 8% 65%,#fcfdfb 20%,#fcfdfbc9 52%,#fcfdfb00 76%),radial-gradient(ellipse 14% 57% at 25% 60%,#fcfdfb 30%,#fcfdfbc9 57%,#fcfdfb00 78%),radial-gradient(ellipse 12% 48% at 42% 70%,#fcfdfb 28%,#fcfdfbe0 59%,#fcfdfb00 80%),radial-gradient(ellipse 15% 60% at 60% 65%,#fcfdfb 24%,#fcfdfbc9 58%,#fcfdfb00 78%),radial-gradient(ellipse 13% 55% at 77% 61%,#fcfdfb 25%,#fcfdfbd0 57%,#fcfdfb00 79%),radial-gradient(ellipse 15% 53% at 95% 70%,#fcfdfb 30%,#fcfdfbe0 58%,#fcfdfb00 80%),linear-gradient(0deg,#fcfdfb 0%,#fcfdfb 25%,#fcfdfb00 68%);filter:blur(9px);animation:cloud-emerge 2s cubic-bezier(.2,.6,.3,1) both,cloud-drift 25s 2s ease-in-out infinite alternate}.far .cloud-texture{bottom:20px;left:-5%;transform:scaleX(1.1);filter:blur(14px);animation-duration:2.5s,32s;animation-delay:0s,2.5s}.clouds:after{content:'';position:absolute;bottom:0;left:0;right:0;height:30px;background:var(--paper)}.welcome{position:relative;text-align:center;padding-top:65px;padding-bottom:155px;isolation:isolate}.welcome .eyebrow{justify-content:center;font-size:10px;color:#777f9c;letter-spacing:.19em}.brand-sparks{display:flex;justify-content:center;gap:13px;margin:28px 0;font-size:16px}.brand-sparks span:nth-child(1){color:#2537c0}.brand-sparks span:nth-child(2){color:var(--brand-red)}.brand-sparks span:nth-child(3){color:var(--brand-green)}.welcome h2{font-size:clamp(48px,5vw,78px);line-height:1.1}.welcome p{max-width:605px;margin:28px auto;font-size:15px;line-height:1.9}.welcome .text-link{margin-top:5px}.welcome-word{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font:clamp(60px,8.3vw,140px)/1 var(--serif);letter-spacing:-.04em;white-space:nowrap;color:#e6eaf4;z-index:-1;pointer-events:none}.values-strip{background:#edf2fc;color:#242580;padding:35px 45px}.values-strip i{color:#17a43d}.values-strip i:nth-child(4){color:var(--brand-red)}.approach-art:before{background:#e6f6eb}.photo-label{color:#258849}.principles span{color:#269147}.programs{background:#f0f3fc}.program{background:#fcfdfd;border-color:#d3d9ec}.program:hover{background:white;box-shadow:0 20px 35px #2425800a}.program-symbol{color:#267f43}.program:nth-child(2) .program-symbol{color:var(--brand-red)}.program:nth-child(3) .program-symbol{color:#3038c4}.program:nth-child(4) .program-symbol{color:#27a44b}.program:nth-child(2){border-top:3px solid #ed2528}.program:nth-child(1){border-top:3px solid #16bb43}.program:nth-child(3){border-top:3px solid #3540c9}.program:nth-child(4){border-top:3px solid #15a043}.quote-tile{background:#e6f5e9}.quote-tile p{color:var(--brand-blue)}.campus{background:#242580;position:relative;overflow:hidden}.campus:after{content:'✳';position:absolute;right:-40px;bottom:-220px;font:600px/1 var(--serif);color:#ffffff04;pointer-events:none}.campus em{color:#b6eebc}.campus p{color:#ccd4f0}.campus article{border-color:#ffffff35}.campus article>span{color:#9fe3aa}.feed-container{background:#f1f4fc}.feed-icon{border-color:#c6cce5}.contact{background:#e6f4e9}.contact p{color:#536e5b}.contact h2 em{color:#258849}.contact address,.directions{border-color:#bfd7c7}.footer .school-logo{width:80px;height:80px}.footer>p{color:#626980}.footer{padding-top:50px}.reveal{opacity:1;transform:none}.motion-ready[data-motion="on"] .reveal:not(.is-visible){opacity:0;transform:translate3d(0,38px,0)}.motion-ready[data-motion="on"] .reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready[data-motion="on"] .reveal.is-visible{opacity:1;transform:none}[data-motion="paused"] *,[data-motion="paused"] *:before,[data-motion="paused"] *:after{animation-play-state:paused!important}[data-motion="paused"] .hero-panorama img{animation:none!important}[data-motion="paused"] .cloud-layer{transform:none!important}[data-motion="paused"] .cloud-texture{animation:none!important}[data-motion="paused"] .reveal{opacity:1!important;transform:none!important;transition:none!important}
@keyframes hero-breathe{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes hero-title-in{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}@keyframes cloud-emerge{from{opacity:0;translate:0 90px}to{opacity:1;translate:0 0}}@keyframes cloud-drift{from{transform:translate3d(-2%,0,0)}to{transform:translate3d(2%,-12px,0)}}@keyframes scroll-cue{to{transform:translateY(64px)}}
@media(min-width:1600px){.journey-hero{min-height:900px}.journey-hero h1{font-size:110px}.journey-hero .hero-copy{padding-top:0}}
@media(max-width:1100px){.header{padding:20px 35px}.header nav{gap:24px}.school-logo{width:70px;height:70px}.journey-hero h1{font-size:76px}.journey-hero{min-height:780px}.hero-panorama{left:20%}.journey-hero .hero-copy>.eyebrow{font-size:11px}.motion-toggle{right:35px}.journey-hero .hero-copy>p{font-size:15px}}
@media(max-width:800px){html{scroll-padding-top:105px}.header{padding:16px 22px}.header.scrolled{padding:10px 22px}.header .school-logo{width:60px;height:60px}.header.scrolled .school-logo{width:52px;height:52px}.brand{font-size:25px;gap:11px}.brand small{font-size:6px;letter-spacing:.12em;margin-top:7px}.header nav{background:var(--paper);color:var(--brand-blue);padding-top:15px;padding-bottom:20px;gap:0;box-shadow:0 15px 20px #2425800a}.header nav .button.small{background:var(--brand-blue);color:white;border-color:var(--brand-blue);padding:16px 20px;margin-top:10px}.header .menu{color:inherit;display:flex}.journey-hero{min-height:790px;height:100svh;max-height:1100px;padding:145px 0 210px;align-items:center}.hero-panorama{inset:0}.hero-panorama img{object-position:56% 45%;opacity:.8}.hero-shade{background:linear-gradient(90deg,#101948bb,#10194842),linear-gradient(0deg,#111b4c85 5%,#111b4c20 70%,#111b4c70)}.journey-hero h1{font-size:clamp(48px,8.4vw,68px);line-height:1.08;max-width:600px}.journey-hero h1 em{display:block}.journey-hero .hero-copy>.eyebrow{font-size:10px;letter-spacing:.04em;margin-bottom:26px;max-width:280px}.journey-hero .hero-copy>p{font-size:14px;line-height:1.8;max-width:300px;margin-top:23px}.journey-hero .actions{gap:20px;margin-top:26px;align-items:start}.journey-hero .button{padding:16px 22px;min-width:200px}.journey-hero .text-link{font-size:11px}.journey-scroll{bottom:130px;left:22px;transform:none;align-items:start;font-size:7px;gap:10px}.scroll-line{height:30px}.motion-toggle{bottom:140px;right:22px;padding:8px 12px;font-size:9px}.clouds{height:155px}.cloud-texture{width:190%;left:-45%;filter:blur(7px)}.welcome{padding-top:40px;padding-bottom:105px}.welcome h2{font-size:46px}.welcome p{font-size:14px;max-width:500px}.welcome .eyebrow{font-size:8px}.brand-sparks{margin:22px 0}.welcome-word{font-size:clamp(26px,8vw,48px);bottom:0}.values-strip{padding:26px 22px;font-size:16px}.values-strip i{font-size:15px}.footer .school-logo{width:70px;height:70px}.approach-art{height:440px}.journey-hero .hero-copy{width:calc(100% - 44px);padding:0}.motion-ready[data-motion="on"] .reveal:not(.is-visible){transform:translate3d(0,24px,0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-panorama img,.cloud-texture,.scroll-line:after,.journey-hero h1,.journey-hero .actions,.journey-hero .hero-copy>p,.journey-hero .hero-copy>.eyebrow{animation:none!important}.cloud-layer{transform:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}

html[data-motion="paused"]{scroll-behavior:auto}[data-motion="paused"] .journey-hero h1,[data-motion="paused"] .journey-hero .hero-copy>p,[data-motion="paused"] .journey-hero .hero-copy>.eyebrow,[data-motion="paused"] .journey-hero .actions{animation:none!important;opacity:1!important;transform:none!important}

/* Quieter editorial layouts, readable navigation and an attached cloud bank. */
.header{background:#111b4c3d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #ffffff17}.header nav{font-size:16px;font-weight:700;gap:38px}.header .button.small{font-size:15px;font-weight:700;padding:15px 23px}.header .menu{font-size:15px;font-weight:700}.header.scrolled{background:#fcfdfbed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cloud-layer.near{height:calc(100% + var(--cloud-lift,0px));transform:none!important}.cloud-layer.far{height:calc(100% + var(--cloud-lift,0px)*.45);transform:none!important}.clouds:after{height:75px;background:var(--paper)}.cloud-texture{bottom:-18px}.far .cloud-texture{bottom:0}.welcome{padding-top:55px;padding-bottom:85px}.welcome h2{margin-top:30px}.welcome p{max-width:670px}.values-strip{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1440px;width:calc(100% - 120px);margin:auto;padding:22px 0;font:17px var(--sans);color:#626980}.principles{padding-top:16px}.principles h3{margin-top:0;font-size:17px}.programs{background:#f5f6fa}.program-grid{gap:0}.program{background:transparent!important;border:0!important;border-left:1px solid #d8deeb!important;border-radius:0;padding:26px 30px;box-shadow:none!important}.program:first-child{border-left:0!important;padding-left:0}.program:last-child{padding-right:0}.program:hover{transform:translateY(-3px)}.program-num{margin-bottom:38px;font-size:13px;font-weight:600;color:#8a91a8}.program .eyebrow{font-size:10px;font-weight:700;letter-spacing:.11em}.program h3{font-size:39px;margin:12px 0 17px}.program p{font-size:15px;line-height:1.75;max-width:235px}.program-link{font-size:12px;font-weight:600;margin-top:30px;padding-top:18px}.programs .fine{font-size:13px;margin-top:30px}.gallery-grid{grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:repeat(3,250px);gap:20px}.gallery-grid .moment:first-child{grid-row:span 2}.gallery-grid .moment{min-width:0}.gallery-grid .moment.video{grid-column:auto;grid-row:auto}.gallery-grid .moment>span:not(.play){font-size:14px;padding-top:60px}.gallery-grid .moment img{object-position:center 40%}.whatsapp-widget{position:fixed;right:28px;bottom:24px;z-index:60}.whatsapp-launcher{display:flex;align-items:center;gap:10px;background:#137d44;color:white;padding:11px 21px 11px 12px;border:1px solid #ffffff50;border-radius:36px;box-shadow:0 6px 25px #102b252b;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.whatsapp-launcher:hover{background:#086335;transform:translateY(-2px)}.whatsapp-launcher svg{width:30px;height:30px;flex-shrink:0}.whatsapp-panel[hidden]{display:none}.whatsapp-panel{width:350px;max-width:calc(100vw - 36px);position:absolute;bottom:76px;right:0;background:#fff;border:1px solid #d8e3dc;border-radius:15px;box-shadow:0 18px 65px #102b252b;overflow:hidden}.whatsapp-panel-header{background:#145c3d;color:white;display:flex;justify-content:space-between;align-items:start;padding:23px 22px;gap:15px}.whatsapp-panel-header h2{font:22px/1.25 var(--serif);letter-spacing:-.02em;margin:0}.whatsapp-panel-header p{font-size:11px;color:#d5eadd;margin-top:6px}.whatsapp-close{background:transparent;border:0;color:white;font-size:27px;line-height:1;padding:0 2px;width:30px;height:30px}.whatsapp-panel-body{padding:22px}.whatsapp-panel-body>p{font-size:14px;color:#3e5145;margin-bottom:15px}.whatsapp-panel-body>a{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid #ccdbd0;border-radius:6px;margin-bottom:10px;font-size:13px;color:#145c3d;font-weight:600}.whatsapp-panel-body>a:hover{background:#f0f7f2}.whatsapp-panel-body label{display:block;font-size:11px;color:#66776c;margin:19px 0 8px}.whatsapp-panel-body textarea{display:block;resize:vertical;width:100%;max-height:140px;border:1px solid #ccdbd0;border-radius:6px;padding:11px;font:14px/1.5 var(--sans);color:#294b36;background:#fff}.whatsapp-panel-body textarea:focus-visible{outline:2px solid #148549;outline-offset:2px}.whatsapp-panel-body .button{width:100%;margin-top:13px;background:#137d44;border-color:#137d44;justify-content:center;border-radius:6px;font-weight:600}.whatsapp-panel-body small{display:block;font-size:10px;line-height:1.6;color:#748278;margin-top:12px}.hero-panorama noscript img{position:absolute;inset:0}
@media(max-width:1100px){.header nav{font-size:14px;gap:24px}.header .button.small{font-size:13px;padding:14px 18px}.program{padding:22px}.program h3{font-size:33px}.program p{font-size:14px}.values-strip{width:calc(100% - 70px);font-size:14px}.gallery-grid{grid-template-rows:repeat(3,220px)}}
@media(max-width:800px){.header nav{font-size:16px}.header .menu{font-size:14px}.header nav .button.small{font-size:15px}.welcome{padding-top:35px;padding-bottom:55px}.welcome h2{margin-top:25px}.values-strip{width:calc(100% - 44px);font-size:12px;gap:18px;justify-content:space-between;padding:18px 0}.values-strip span:last-child{display:none}.program-grid{gap:28px 0}.program{padding:0 18px}.program:first-child{padding-left:0}.program:nth-child(3){border-left:0!important;padding-left:0}.program:nth-child(2){padding-right:0}.program h3{font-size:30px}.program-num{margin-bottom:24px;font-size:12px}.program .eyebrow{font-size:8px}.program p{font-size:13px}.program-link{font-size:11px}.programs .fine{font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,250px);gap:12px}.gallery-grid .moment:first-child{grid-row:auto}.gallery-grid .moment>span:not(.play){font-size:11px;padding:45px 12px 13px}.whatsapp-widget{right:18px;bottom:18px}.whatsapp-launcher{padding:12px;border-radius:50%}.whatsapp-launcher>span{display:none}.whatsapp-launcher svg{width:28px;height:28px}.whatsapp-panel{bottom:70px;width:335px;max-height:calc(100svh - 110px);overflow:auto}.motion-toggle{right:22px;bottom:155px}.clouds:after{height:65px}}
/* Feather the photo's left edge into the hero background. */
.hero-panorama{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%)}
@media(max-width:800px){.hero-panorama{-webkit-mask-image:none;mask-image:none}}
/* The logo's red identifies visit actions and section markers. */
:root{--brand-red:#d9232d}
.header .button.small,.header.scrolled .button.small,.header nav .button.small{background:var(--brand-red);border-color:var(--brand-red);color:white}.header .button.small:hover,.header.scrolled .button.small:hover{background:#b81923;border-color:#b81923;color:white}.header nav>a:not(.button){position:relative}.header nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#ee5c60;transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav>a:not(.button):hover:after,.header nav>a:not(.button):focus-visible:after{transform:scaleX(1)}
.journey-hero .button,.contact .button.light{background:var(--brand-red);border-color:var(--brand-red);color:white;font-weight:700}.journey-hero .button:hover,.contact .button.light:hover{background:#b81923;border-color:#b81923;color:white}.section-head .eyebrow,.approach-copy>.eyebrow,.faq>div>.eyebrow,.welcome>.eyebrow{color:var(--brand-red)}.program-num{color:var(--brand-red)}.program-link{transition:color .2s,border-color .2s}.program:hover .program-link{color:var(--brand-red);border-color:var(--brand-red)}.questions details[open] summary:after{color:var(--brand-red)}
@media(max-width:800px){.header nav>a:not(.button):after{bottom:5px;right:auto;width:24px}}
/* The scene stays pinned; native page scroll raises clouds across it. */
.hero-stage{--scene-height:max(100svh,650px);position:relative;height:calc(var(--scene-height)*1.32);background:var(--paper);isolation:isolate}
.hero-stage>.journey-hero{position:sticky;top:0;height:var(--scene-height);min-height:0;max-height:none;margin:0}
.hero-stage .hero-copy{opacity:var(--hero-copy-opacity,1)}
.hero-panorama img,.hero-panorama .hero-slide{position:absolute;inset:0;width:100%;height:100%;animation:none!important;transform:none!important}
.hero-panorama .hero-slide{opacity:0;transition:opacity 1.2s ease}
.hero-panorama .hero-slide.is-active{opacity:1}
.hero-carousel-controls{position:absolute;left:max(38px,calc((100vw - 1440px)/2));bottom:170px;z-index:6;display:flex;gap:12px;align-items:center;background:#111b4c50;backdrop-filter:blur(10px);border:1px solid #ffffff4d;border-radius:32px;padding:5px 9px;color:#fff;transition:opacity .25s}
.hero-carousel-controls button{background:none;border:0;color:white;font-size:22px;width:39px;height:39px;line-height:1;border-radius:50%}
.hero-carousel-controls button:hover{background:#ffffff1c}
.hero-photo-count{font:600 11px/1 var(--sans);letter-spacing:.12em;min-width:55px;text-align:center;font-variant-numeric:tabular-nums}
.cloud-covered .hero-carousel-controls,.cloud-covered .motion-toggle,.cloud-covered .journey-scroll{opacity:0;visibility:hidden;pointer-events:none}
.hero-stage+.welcome{position:relative;z-index:5;background:var(--paper);margin-top:calc(max(100svh,650px)*-.32 - 1px)}
[data-motion="paused"] .hero-panorama .hero-slide{transition:none}
@media(max-width:1100px){.hero-carousel-controls{left:35px}}
@media(max-width:800px){.hero-carousel-controls{left:22px;bottom:160px;gap:7px;padding:3px 5px}.hero-carousel-controls button{width:35px;height:35px}.hero-photo-count{font-size:10px;min-width:50px}.hero-stage .journey-scroll{bottom:105px}.hero-stage .motion-toggle{bottom:165px}}
@media(max-height:650px),(prefers-reduced-motion:reduce){.hero-stage{height:auto}.hero-stage>.journey-hero{position:relative;height:auto;min-height:790px}.hero-stage .hero-copy{opacity:1!important}.hero-stage .cloud-layer{height:100%!important}.hero-panorama .hero-slide{transition:none}.cloud-covered .hero-carousel-controls,.cloud-covered .motion-toggle,.cloud-covered .journey-scroll{opacity:1;visibility:visible;pointer-events:auto}}

/* Reference cloud texture; the following section arrives at roughly 40% cover. */
.hero-stage .clouds{height:18svh;min-height:130px}
.hero-stage .cloud-texture{width:110%;left:-5%;bottom:-2px;background:url('/assets/cloud-main.png') center bottom / 100% 100% no-repeat;filter:none;animation:none;transform:none}
.hero-stage .far .cloud-texture{left:-10%;bottom:14px;opacity:.3;filter:blur(5px);transform:scaleX(-1)}
.hero-stage .clouds:after{height:15px;background:#fff}
.hero-stage+.welcome{background:#fff}
@media(max-width:800px){.hero-stage .cloud-texture{width:180%;left:-40%}.hero-stage .far .cloud-texture{left:-45%}}
@media(max-height:650px),(prefers-reduced-motion:reduce){.hero-stage+.welcome{margin-top:-1px}}
.hero-stage+.welcome{width:100%;max-width:none;padding-left:max(60px,calc((100% - 1440px)/2));padding-right:max(60px,calc((100% - 1440px)/2));padding-top:130px;background:linear-gradient(to bottom,#fff0,#fff 110px)}
@media(max-width:800px){.hero-stage+.welcome{padding-left:22px;padding-right:22px;padding-top:100px;background:linear-gradient(to bottom,#fff0,#fff 85px)}}

.hero-stage .clouds{height:26svh;min-height:180px}
.hero-stage .cloud-texture{background-image:url('/assets/cloud-volume.webp');background-size:100% 100%;width:110%;left:-5%}
.hero-stage .far .cloud-texture{opacity:.2;bottom:25px}
.hero-stage .hero-carousel-controls{gap:5px;padding:4px}
@media(max-width:800px){.hero-stage .cloud-texture{width:160%;left:-30%}}
/* Preserve the cloud photograph's vertical volume instead of flattening its peaks. */
.hero-stage .clouds{height:44svh;min-height:250px}
@media(max-width:800px){.hero-stage .clouds{height:33svh;min-height:230px}}
/* Tile at the source aspect ratio: screen width never squashes the clouds. */
.hero-stage .clouds{height:clamp(250px,35svh,460px);min-height:0}
.hero-stage .cloud-texture{width:100%;left:0;background-size:auto 100%;background-repeat:repeat-x;background-position:left bottom}
.hero-stage .far .cloud-texture{width:100%;left:0;background-size:auto 100%;background-repeat:repeat-x}
@media(max-width:800px){.hero-stage .clouds{height:clamp(250px,34svh,340px)}.hero-stage .cloud-texture,.hero-stage .far .cloud-texture{width:100%;left:0}}
.hero-stage .clouds:after{height:100px;background:linear-gradient(to bottom,#fff0,#fff 90%)}
/* A quiet mist edge keeps the photograph open, without repeated cloud shapes. */
.hero-stage .clouds{height:14svh;min-height:95px;max-height:180px}
.hero-stage .cloud-texture{width:100%;left:0;bottom:-2px;background:linear-gradient(to top,#fff 0%,#fffffff5 22%,#ffffffa8 48%,#ffffff30 73%,#fff0 100%);filter:blur(8px);background-repeat:no-repeat;animation:none;transform:none}
.hero-stage .far .cloud-texture{width:100%;left:0;bottom:12px;background:linear-gradient(to top,#fff9,#fff0 90%);opacity:.2;filter:blur(18px);transform:none}
.hero-stage .clouds:after{height:30px;background:#fff}
