:root{--navy:#2e3a59;--pink:#f6a7b7;--sun:#f6c95f;--green:#a7d7c5;--sky:#7dcff0;--purple:#c8b7e9;--neutral:#f5f3ee;--white:#fff;--ink:#26324c;--radius:28px;--shadow:0 25px 65px rgba(46,58,89,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--neutral);font-family:var(--font-reading);font-size:16px;line-height:1.65;overflow-x:hidden}h1,h2,h3,.eyebrow,.kicker,.button,.logo-placeholder,.cap b,.experience-tab,.day-journey span,.trust-points strong{font-family:var(--font-display)}a{color:inherit}.skip{position:fixed;top:-80px;left:16px;background:var(--sun);padding:12px 18px;z-index:100;color:var(--navy);font-weight:700}.skip:focus{top:16px}.site-header{position:absolute;inset:0 0 auto;z-index:20;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);color:#fff}.logo-placeholder{display:inline-flex;flex-direction:column;text-decoration:none;font-size:11px;line-height:1.25;letter-spacing:.1em;border:1px solid currentColor;border-radius:4px;padding:8px 10px;font-weight:700}.logo-placeholder span{font-size:8px;opacity:.75}.site-header nav{display:flex;gap:32px}.site-header nav a{text-decoration:none;font-weight:500}.header-cta{border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:10px 18px;text-decoration:none;font-weight:600}.act{position:relative}.section-pad{padding:120px clamp(24px,7vw,110px)}.hero{min-height:100svh;background:var(--navy);display:grid;align-items:end;color:#fff;padding:150px clamp(24px,7vw,110px) 105px}.hero-media{position:absolute;inset:0;background:linear-gradient(130deg,#495979 0%,#28344f 75%)}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,34,56,.88) 0%,rgba(24,34,56,.42) 56%,rgba(24,34,56,.08)),linear-gradient(0deg,rgba(24,34,56,.35),transparent 45%)}.hero-copy{position:relative;z-index:2;max-width:850px}.eyebrow{display:block;font-weight:600;font-size:.78rem;letter-spacing:.16em;color:var(--navy);margin-bottom:24px}.eyebrow.light{color:var(--sun)}h1,.display,.belief h2{font-size:clamp(3rem,7vw,7.3rem);line-height:1.02;letter-spacing:-.045em;margin:0;font-weight:600}h1 em,.display em,.belief h2 em{font-style:normal;color:var(--pink)}.hero-copy p{max-width:630px;font-size:clamp(1.05rem,1.8vw,1.3rem);margin:28px 0 34px;color:rgba(255,255,255,.88)}.button{display:inline-flex;gap:28px;align-items:center;border-radius:999px;padding:15px 22px 15px 26px;text-decoration:none;font-weight:600;transition:transform .25s,box-shadow .25s}.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.18)}.button.primary{background:var(--pink);color:var(--navy)}.scroll-cue{position:absolute;z-index:3;right:clamp(24px,7vw,110px);bottom:55px;font-size:.72rem;letter-spacing:.12em;display:flex;align-items:center;gap:12px}.scroll-cue span{width:48px;height:1px;background:#fff}.petal-transition{position:absolute;z-index:4;bottom:-1px;right:-8vw;width:44vw;height:16vw;min-height:120px;background:var(--neutral);border-radius:80% 0 0 0}.section-head{display:flex;justify-content:space-between;align-items:start;border-top:1px solid rgba(46,58,89,.2);padding-top:18px;margin-bottom:80px}.kicker{margin:0;font-size:.78rem;letter-spacing:.14em;font-weight:600}.belief{background:var(--neutral)}.belief-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:8vw;align-items:end}.belief h2{font-size:clamp(2.8rem,5.6vw,6.2rem)}.belief h2 em{color:#db7890}.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:520px}.capabilities{display:grid;grid-template-columns:repeat(5,1fr);margin-top:90px;border-top:1px solid rgba(46,58,89,.22)}.cap{padding:25px 15px 20px 0;border-right:1px solid rgba(46,58,89,.22);display:flex;flex-direction:column}.cap:last-child{border:0;padding-left:20px}.cap b{font-size:clamp(1.25rem,2.2vw,2rem);color:var(--navy)}.cap span{font-size:.9rem}.learn{background:#fff}.learn .display{font-size:clamp(2.8rem,5.8vw,6.1rem)}.learn .display em{color:#6cb59e}.learning-path{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:100px}.path-line{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}.path-line path,.day-journey svg path{fill:none;stroke:var(--navy);stroke-width:3;stroke-dasharray:8 9;vector-effect:non-scaling-stroke}.learn-step{position:relative;z-index:1}.learn-step:nth-of-type(even){margin-top:95px}.learn-step>span{display:block;font:600 .75rem "Prompt";margin-bottom:9px}.petal-media{aspect-ratio:1/1.1;border-radius:58% 42% 62% 38%/42% 58% 42% 58%;display:grid;place-items:center;color:rgba(46,58,89,.65);font:600 .7rem "Prompt";letter-spacing:.12em;box-shadow:var(--shadow)}.petal-media.pink{background:var(--pink)}.petal-media.blue{background:var(--sky)}.petal-media.yellow{background:var(--sun)}.petal-media.green{background:var(--green)}.learn-step h3{font-size:clamp(1.3rem,2.1vw,2rem);margin:18px 0 0}.learn-step p{margin:0}.foundations{margin-top:110px;background:var(--navy);color:#fff;border-radius:var(--radius);padding:30px clamp(24px,4vw,55px);display:flex;align-items:center;justify-content:space-between}.foundations>span{font:600 .76rem "Prompt";letter-spacing:.12em;color:var(--sun)}.foundations div{font:500 clamp(1rem,1.8vw,1.35rem) "Prompt"}.foundations i{font-style:normal;color:var(--pink);padding:0 10px}.fun{background:var(--navy);color:#fff;overflow:hidden}.fun:before{content:"";position:absolute;width:38vw;height:38vw;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-12vw;top:-15vw}.fun .section-head{border-color:rgba(255,255,255,.25)}.fun .display{font-size:clamp(3rem,6vw,6.5rem)}.fun .display em{color:var(--sun)}.experience{display:grid;grid-template-columns:1fr 330px;gap:36px;align-items:stretch;margin-top:70px}.experience-media{min-height:560px;border-radius:var(--radius);background-color:#53617e;transition:background-color .35s}.experience-media[data-tone="1"]{background-color:#567f8e}.experience-media[data-tone="2"]{background-color:#7a6d91}.experience-media[data-tone="3"]{background-color:#8b6f79}.experience-controls{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.3)}.experience-tab{appearance:none;background:none;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.22);padding:25px 6px;text-align:left;display:flex;gap:22px;align-items:center;cursor:pointer;font-size:1rem;opacity:.55}.experience-tab b{font-size:.7rem;color:var(--sun)}.experience-tab.active,.experience-tab:hover,.experience-tab:focus-visible{opacity:1}.experience-tab.active span{transform:translateX(8px)}.experience-tab span{transition:transform .25s}.day{background:linear-gradient(180deg,var(--neutral) 0 52%,#dff3ef 52% 78%,var(--navy) 78%);min-height:950px}.day .display{font-size:clamp(2.8rem,5.8vw,6rem)}.day .display em{color:#e37f94}.day-journey{position:relative;height:480px;margin-top:70px}.day-journey svg{position:absolute;inset:0;width:100%;height:100%}.day-journey ol{list-style:none;margin:0;padding:0;position:absolute;inset:0}.day-journey li{position:absolute;display:flex;flex-direction:column;background:#fff;border-radius:999px;width:155px;height:155px;align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow);padding:18px}.day-journey li b{font:.65rem "Prompt";color:#d66f86}.day-journey li span{font-weight:600;font-size:.92rem}.day-journey li small{line-height:1.25;margin-top:3px}.day-journey li:nth-child(1){left:0;top:200px}.day-journey li:nth-child(2){left:16%;top:70px;background:var(--sky)}.day-journey li:nth-child(3){left:34%;top:200px;background:var(--sun)}.day-journey li:nth-child(4){left:52%;top:40px;background:var(--pink)}.day-journey li:nth-child(5){left:70%;top:210px;background:var(--green)}.day-journey li:nth-child(6){right:0;top:80px;background:var(--purple)}.place{background:#fff}.place .display{font-size:clamp(2.8rem,5.8vw,6rem)}.place .display em{color:#568e7f}.place-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;margin-top:80px}.place-card{margin:0}.place-card:nth-child(3){margin-top:80px}.place-media{height:340px;border-radius:var(--radius);background-color:#a8b3bc;color:#fff}.place-card.wide .place-media{height:500px}.place-card:nth-child(2) .place-media{background-color:#a5c6bb}.place-card:nth-child(3) .place-media{background-color:#d5a6b1}.place-card:nth-child(4) .place-media{background-color:#72aac2}.place-card h3{font-size:1.25rem;margin:13px 0 20px}.trust{background:var(--neutral)}.trust-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.trust .display{font-size:clamp(2.8rem,5.5vw,5.8rem)}.trust .display em{color:#dd7b91}.trust-points{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(46,58,89,.25);border-left:1px solid rgba(46,58,89,.25)}.trust-points article{padding:35px;border-right:1px solid rgba(46,58,89,.25);border-bottom:1px solid rgba(46,58,89,.25);min-height:190px}.trust-points strong{font-size:clamp(2.4rem,4vw,4rem);line-height:1;color:var(--navy)}.trust-points p{margin:16px 0 0}.trust-icon{font-size:3.5rem;color:#db7890}.evidence-note{font-size:.78rem;opacity:.65;text-align:right;margin-top:25px}.visit{min-height:850px;background:var(--navy);color:#fff;display:grid;place-items:center;overflow:hidden;padding:120px 24px}.arch{position:absolute;width:min(820px,82vw);height:680px;top:110px;border:2px solid rgba(246,167,183,.48);border-radius:50% 50% 0 0;background:radial-gradient(circle at 50% 32%,rgba(125,207,240,.15),transparent 38%)}.arch:before,.arch:after{content:"";position:absolute;background:var(--pink);width:180px;height:220px;border-radius:70% 30% 65% 35%;opacity:.15}.arch:before{left:-95px;top:260px;transform:rotate(25deg)}.arch:after{right:-95px;top:180px;transform:rotate(-30deg)}.visit-inner{position:relative;text-align:center;max-width:980px;z-index:1}.visit h2{font-size:clamp(3rem,6.5vw,7rem);line-height:1.05;letter-spacing:-.04em;margin:0}.visit h2 em{font-style:normal;color:var(--pink)}.visit p{font-size:1.15rem;margin:28px auto;max-width:620px}.button.sun{background:var(--sun);color:var(--navy);margin-top:10px}.visit-inner>small{display:block;margin-top:14px;opacity:.5}footer{background:#202a41;color:#fff;padding:55px clamp(24px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{opacity:.7}footer a{text-decoration:none;color:var(--sun)}.prototype-badge{position:fixed;right:14px;bottom:14px;z-index:30;background:rgba(255,255,255,.9);color:var(--navy);box-shadow:0 8px 30px rgba(0,0,0,.15);border-radius:999px;padding:8px 12px;font:600 9px "Prompt";letter-spacing:.11em}.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.capabilities .reveal:nth-child(2),.learning-path .reveal:nth-of-type(2),.trust-points .reveal:nth-child(2){transition-delay:.08s}.capabilities .reveal:nth-child(3),.learning-path .reveal:nth-of-type(3),.trust-points .reveal:nth-child(3){transition-delay:.16s}.capabilities .reveal:nth-child(4),.learning-path .reveal:nth-of-type(4),.trust-points .reveal:nth-child(4){transition-delay:.24s}.capabilities .reveal:nth-child(5){transition-delay:.32s}
@media(max-width:900px){.site-header{height:72px;padding:0 20px}.site-header nav{display:none}.header-cta{font-size:.82rem;padding:8px 13px}.section-pad{padding:85px 22px}.hero{padding:125px 22px 95px;min-height:92svh}.hero h1{font-size:clamp(3rem,14vw,5rem)}.hero-copy p{font-size:1rem}.scroll-cue{display:none}.petal-transition{width:60vw;height:22vw}.section-head{margin-bottom:48px}.belief-grid,.trust-layout{grid-template-columns:1fr;gap:28px}.capabilities{grid-template-columns:1fr 1fr;margin-top:55px}.cap{border-bottom:1px solid rgba(46,58,89,.22)}.cap:nth-child(even){padding-left:16px;border-right:0}.learning-path{grid-template-columns:1fr;margin-top:60px;padding-left:36px}.path-line{display:none}.learning-path:before{content:"";position:absolute;left:12px;top:40px;bottom:60px;border-left:2px dashed var(--navy)}.learn-step,.learn-step:nth-of-type(even){margin:0 0 28px;display:grid;grid-template-columns:42% 1fr;column-gap:18px;align-items:center}.learn-step>span{position:absolute;left:-36px;top:0}.petal-media{grid-row:1/3}.learn-step h3{margin:0}.foundations{margin-top:50px;display:block}.foundations div{margin-top:10px;line-height:1.8}.experience{grid-template-columns:1fr;margin-top:45px}.experience-media{min-height:420px}.experience-controls{display:grid;grid-template-columns:1fr 1fr}.experience-tab{padding:18px 3px;font-size:.86rem}.day{background:linear-gradient(180deg,var(--neutral) 0 35%,#dff3ef 35% 70%,var(--navy) 70%)}.day-journey{height:auto;margin-top:50px;padding-left:32px}.day-journey svg{display:none}.day-journey:before{content:"";position:absolute;left:13px;top:12px;bottom:12px;border-left:3px dashed var(--navy)}.day-journey ol{position:relative;display:grid;gap:16px}.day-journey li,.day-journey li:nth-child(n){position:relative;inset:auto;width:auto;height:auto;min-height:105px;border-radius:24px;align-items:flex-start;text-align:left;padding:22px}.place-grid{grid-template-columns:1fr;margin-top:50px}.place-card:nth-child(3){margin-top:0}.place-card .place-media,.place-card.wide .place-media{height:350px}.trust-points article{padding:25px 20px;min-height:170px}.trust-points strong{font-size:2.5rem}.evidence-note{text-align:left}.visit{min-height:720px}.arch{width:92vw;height:600px}.visit h2{font-size:clamp(2.8rem,12vw,4.6rem)}footer{flex-direction:column;align-items:flex-start}.prototype-badge{right:8px;bottom:8px}.reveal{transform:translateY(18px);transition-duration:.5s}}
@media(max-width:520px){.logo-placeholder{font-size:8px}.logo-placeholder span{font-size:7px}.capabilities,.trust-points{grid-template-columns:1fr}.cap:nth-child(n){border-right:0;padding-left:0}.learn-step{grid-template-columns:44% 1fr}.experience-controls{grid-template-columns:1fr}.place-card .place-media,.place-card.wide .place-media{height:280px}.prototype-badge{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Phase 8B: compact factual school information; intentionally subordinate to Visit. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.school-levels{margin:24px 0 0;padding:18px 0 0;border-top:1px solid #2e3a5926;font-size:.9rem;line-height:1.55}
.school-levels div+div{margin-top:5px}
.school-levels dt{font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.school-levels dd{margin:2px 0 0;color:#2e3a59cc}
.petal-transition{right:0}
/* V1 Pass 01: preserve the original grid, type, palette and crops. */
html{scroll-padding-top:84px}.hero{overflow:hidden}.brand{display:flex;align-items:center}.brand img{width:180px;height:58px;object-fit:contain}.site-header{position:fixed;transition:transform .3s ease,background .3s,height .3s,box-shadow .3s}.site-header.sticky{height:66px;background:#fff;color:var(--navy);box-shadow:0 4px 24px #26324c15}.sticky .brand img{width:145px;height:48px}.sticky .header-cta{border-color:var(--navy)}.site-header.nav-hidden{transform:translateY(-105%)}.site-header:focus-within{transform:none}.menu-toggle{display:none}.hero-media,.petal-media,.organic-media{overflow:hidden}.hero-media img,.petal-media img,.organic-media img{display:block;width:100%;height:100%;object-fit:cover}.hero-media img{position:absolute;inset:0}.headline-line{display:block}.belief-photo{height:260px;border-radius:62% 38% 56% 44%/44% 56% 44% 56%}.experience-media{position:relative}.experience-media img{position:absolute;inset:0}.experience-media #media-label{position:absolute;bottom:24px;left:24px;background:var(--navy);padding:8px 16px;border-radius:99px;font-size:.8rem}.experience-tab img{width:46px;height:46px;object-fit:cover;border-radius:50%;margin-left:auto}.experience-tab:hover img{transform:rotate(5deg)}.trust-photo{height:400px;margin-top:48px;border-radius:28px 110px 28px 28px}.visit-photo{width:150px;height:140px;margin:24px auto 8px;border-radius:65% 35% 60% 40%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:var(--neutral)}.contact h2{font-size:2rem;margin:0}.contact iframe{width:100%;height:270px;border:0;border-radius:24px}.social{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:26px;border-top:1px solid #2e3a5926;padding-top:28px}.social a{text-decoration:none;transition:transform .2s,color .2s}.social a:hover{transform:translateY(-3px) rotate(-2deg);color:#a54465}.footer-logo{object-fit:contain}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.hero-copy){opacity:var(--copy-opacity,1);transform:translateY(var(--copy-y,0px))}.motion-ready .organic-media{clip-path:inset(var(--crop,0%) round 28px);transform:translateY(var(--media-y,0px));transition:clip-path .45s ease,transform .45s ease}.motion-ready .belief-photo,.motion-ready .visit-photo{clip-path:ellipse(var(--petal,75%) 72% at 50% 50%)}.motion-ready .hero-media{transform:translateY(var(--hero-depth,0px)) scale(1.025)}.motion-ready .petal-transition{transform:translateY(var(--handoff,0px)) scaleX(var(--petal-scale,1));transform-origin:right bottom}.motion-ready .arch{transform:translateY(var(--arch-y,0px)) scale(var(--arch-scale,1))}.motion-ready .learn-step,.motion-ready .day-journey li{opacity:1!important;transform:none!important}.motion-ready .learn-step .petal-media{transform:scale(var(--step-scale,1));clip-path:ellipse(var(--step-crop,75%) 72% at 50% 50%);transition:transform .35s,clip-path .35s}.motion-ready .day-journey li{scale:var(--step-scale,1);transition:scale .35s,box-shadow .35s}.day-journey li.is-active{box-shadow:0 12px 40px #2e3a5930,0 0 0 3px #fff8}.motion-ready .path-line path,.motion-ready .day-journey svg path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--path-progress,1))}.motion-ready .hero-copy .headline-line{animation:hero-settle .85s both}.motion-ready .hero-copy em{animation-delay:.12s}.motion-ready .hero-copy p{animation:hero-settle .7s .2s both}.motion-ready .hero-copy .button{animation:hero-settle .7s .3s both}@keyframes hero-settle{from{transform:translateY(14px);opacity:.65}to{transform:none;opacity:1}}
/* Pass 02: V1 art direction, a quieter ten-chapter narrative. */
.section-pad{padding:88px clamp(24px,7vw,110px)}.section-head{margin-bottom:48px}.belief h2{font-size:clamp(2.6rem,5vw,5.4rem)}.capabilities{margin-top:48px}.belief-photo{height:230px}.belief .lead{font-size:1.05rem}.learn .experience{margin-top:32px;grid-template-columns:1fr 300px}.experience-media{min-height:420px;box-shadow:none}.experience-controls{border-color:#2e3a5940}.experience-tab{color:var(--navy);border-color:#2e3a5930;opacity:.7}.experience-tab b{color:#925025}.experience-tab img{width:46px;height:46px;object-fit:cover;border-radius:50%;margin-left:auto}.learning-sequence{font-family:Prompt, sans-serif;font-size:clamp(.8rem,1.6vw,1.4rem);font-weight:600;margin:32px 0 12px}.learning-sequence span{padding:0 12px;color:#537e70}.day{background:var(--neutral);min-height:840px}.day-journey li{box-shadow:none}.day-journey li b{color:#824255}.day-journey svg path{stroke:#647d70;stroke-width:4}.day-journey{margin-top:35px}.spaces-editorial{display:grid;grid-template-columns:1.3fr 1fr;gap:48px 8vw;margin-top:56px;align-items:center}.spaces-editorial figure{margin:0}.playground img{width:100%;height:390px;object-fit:cover;border-radius:12px 100px 12px 12px}.spaces-editorial h3{font-family:Prompt,sans-serif;letter-spacing:-.035em;font-size:clamp(1.35rem,2.7vw,2.8rem);line-height:1.15;margin:14px 0}.spaces-editorial p{margin:0}.space-copy{border-top:1px solid #2e3a5940;padding:24px 0}.space-copy>span,.trust-copy>span{font-size:.7rem;letter-spacing:.13em}.pool{padding:50px 0}.pool h3{font-size:clamp(2.8rem,5vw,5rem)}.computer,.field{margin-left:13%}.cafeteria,.court{margin-top:55px}.trust{background:#fff;padding-bottom:100px;overflow:clip}.trust-intro{font-size:clamp(2rem,4vw,4rem);line-height:1.25;margin:0 0 48px;font-weight:500}.trust-card{display:grid;grid-template-columns:1fr 1fr;min-height:450px;background:var(--sun);border-radius:70px 12px 12px 12px;overflow:hidden;position:relative;transform:translateX(var(--card-x,0px));will-change:transform}.trust-card+.trust-card{margin-top:28px}.trust-card.capable{background:var(--sky);border-radius:12px 70px 12px 12px}.trust-card.kind{background:var(--pink)}.trust-copy{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.trust-copy h3{font-size:clamp(3rem,6.8vw,7rem);line-height:1;letter-spacing:-.055em;margin:24px 0}.trust-copy p{font-size:clamp(1.15rem,1.8vw,1.7rem);margin:0 0 32px}.trust-copy small{border-top:1px solid #2e3a5940;padding-top:18px;font-size:.85rem}.trust-card img{width:100%;height:100%;min-height:450px;object-fit:cover}.finale{height:100svh;min-height:700px;background:var(--navy);color:white;isolation:isolate}.finale-scene{position:absolute;inset:0;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:5vw;padding:80px clamp(24px,7vw,110px);z-index:23}.finale-copy h2{font-size:clamp(4rem,8vw,8.5rem);line-height:.98;letter-spacing:-.045em;margin:0}.finale-copy em{font-style:normal;color:var(--pink)}.finale-copy p{font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.5;margin:28px 0}.finale-arch{height:min(68vh,640px);border-radius:50% 50% 0 0;overflow:hidden;border:10px solid var(--pink);border-bottom:0}.finale-arch img{width:100%;height:100%;object-fit:cover;object-position:58% center}.site-header{display:block;padding:0;box-shadow:none!important;background:transparent!important;transition:transform .22s;height:90px;isolation:isolate}.nav-chrome{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);gap:24px;z-index:2}.nav-surface{position:absolute;inset:0 0 auto;height:100vh;background:#fff;transform:scaleY(0);transform-origin:top;pointer-events:none;z-index:-1}.sticky .nav-surface{transform:scaleY(var(--surface-scale,.073333))}.site-header.morphing{transform:none!important}.morphing .nav-surface{background:rgb(var(--surface-color,46 58 89));transform:translateY(var(--surface-y,0px)) scaleY(var(--surface-scale));border-radius:0 0 var(--surface-radius,0px) var(--surface-radius,0px)}.morphing .nav-chrome{opacity:var(--nav-opacity,1)}.motion-ready .finale.morph-active{isolation:auto}.motion-ready .finale.morph-active .finale-scene{position:fixed;top:0;bottom:auto;height:100vh;opacity:var(--scene-opacity,0);transform:translateY(var(--scene-y,0px));pointer-events:var(--scene-events,none)}.contact{background:var(--neutral)}.contact iframe{height:100%;min-height:360px;border-radius:8px}.contact p{margin:20px 0}.social-hub{background:#fff;padding-top:52px;padding-bottom:52px}.social-hub h2{font-size:1.5rem;font-weight:500}.social{margin-top:24px;padding-top:24px;gap:36px}.social a{min-height:44px;display:inline-flex;align-items:center}footer{background:var(--navy);padding-top:32px;padding-bottom:32px}footer p{font-size:.9rem}.prototype-badge{font-size:8px;box-shadow:none}.button:hover,.button:focus-visible{box-shadow:none}a:focus-visible,button:focus-visible{outline:3px solid #b1496c;outline-offset:5px}.finale a:focus-visible,.hero a:focus-visible{outline-color:var(--sun)}.motion-ready .organic-media{clip-path:inset(var(--crop,0%) round 28px)}
@media(max-width:900px){.section-pad{padding:64px 24px}.nav-chrome{padding:0 20px;gap:12px}.site-header{height:72px}.brand img{width:125px;height:44px}.sticky .brand img{width:125px}.header-cta{margin-left:auto}.menu-toggle{display:block;background:none;border:1px solid currentColor;border-radius:99px;color:inherit;padding:8px 10px;font:inherit;font-size:.8rem}.site-header.menu-open{color:var(--navy)}.menu-open .nav-surface{background:#fff;transform:scaleY(.08)}.site-header.menu-open nav{display:flex;position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--navy);padding:24px;gap:24px;flex-wrap:wrap}.menu-open .header-cta{border-color:var(--navy)}.section-head{gap:16px;margin-bottom:36px}.kicker{text-align:right}.belief-grid{grid-template-columns:1fr 1fr;gap:24px}.belief h2{font-size:clamp(2rem,4.7vw,3.7rem)}.belief-photo{height:210px}.capabilities{grid-template-columns:repeat(5,1fr);margin-top:30px}.cap:nth-child(n){padding:14px 8px;border-right:1px solid #2e3a5930;border-bottom:0}.cap b{font-size:1rem}.cap span{font-size:.75rem}.learn .experience{grid-template-columns:1fr}.experience-media{min-height:380px}.experience-controls{display:grid;grid-template-columns:1fr 1fr}.experience-tab{font-size:.85rem;padding:16px 4px;gap:10px}.experience-tab img{width:36px;height:36px}.day{min-height:0}.day-journey{padding-left:38px}.day-journey:before{display:none}.day-journey svg{display:block;width:26px;left:0;height:100%}.day-journey ol{gap:22px}.day-journey li,.day-journey li:nth-child(n){min-height:110px;border-radius:52% 48% 44% 56% / 22% 42% 58% 78%;width:85%;padding:22px 28px}.day-journey li:nth-child(even){margin-left:15%}.spaces-editorial{gap:32px}.playground img{height:300px}.trust-card{min-height:350px}.trust-card img{min-height:350px}.trust-copy{padding:30px}.trust-copy h3{font-size:clamp(2.8rem,6.8vw,5rem)}.trust-copy small{font-size:.75rem}.finale{min-height:650px}.finale-scene{padding:70px 28px;gap:24px}.finale-copy h2{font-size:clamp(3rem,7vw,5rem)}.finale-arch{height:55vh}.contact{grid-template-columns:1fr}.contact iframe{height:330px;min-height:0}.social{gap:24px}}
@media(max-width:600px){.hero h1{font-size:clamp(2.65rem,11.5vw,4rem)}.hero{min-height:100svh}.hero-media img{object-position:62% center}.hero-scrim{background:linear-gradient(0deg,#182238ed 0%,#18223870 65%,#18223820)}.eyebrow,.kicker{font-size:.65rem;letter-spacing:.1em}.belief-grid{grid-template-columns:1fr}.belief h2{font-size:2.65rem}.belief-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.belief-photo{height:170px}.belief .lead{font-size:.85rem}.capabilities{display:flex;flex-wrap:wrap}.cap:nth-child(n){width:33.333%;padding:14px 6px}.cap b{font-size:1.1rem}.cap span{font-size:.7rem}.learning-sequence{font-size:.72rem;white-space:nowrap;letter-spacing:-.03em}.learning-sequence span{padding:0 3px}.learn .display,.day .display,.place .display{font-size:2.7rem}.experience-media{min-height:320px}.experience-controls{grid-template-columns:1fr 1fr}.experience-tab{font-size:.7rem;gap:6px}.experience-tab img{display:none}.spaces-editorial{grid-template-columns:1fr;gap:28px}.playground img{height:310px}.space-copy{width:85%;padding:22px 0}.space-copy:nth-child(even){margin-left:15%}.space-copy:nth-child(odd){margin-left:0}.pool h3{font-size:2.8rem}.cafeteria,.court{margin-top:0}.spaces-editorial h3{font-size:1.8rem}.spaces-editorial p{font-size:.9rem}.trust-card{grid-template-columns:1fr;border-radius:48px 12px 12px 12px}.trust-copy{padding:28px}.trust-copy h3{font-size:3.7rem;margin:18px 0}.trust-copy p{font-size:1.05rem;margin-bottom:20px}.trust-card img{height:270px;min-height:0;max-height:none}.trust-card+.trust-card{margin-top:24px}.trust{padding-bottom:64px}.finale{min-height:740px}.finale-scene{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:58px 24px 28px;gap:24px;height:100%}.finale-copy h2{font-size:3.8rem}.finale-copy p{font-size:1rem;margin:18px 0}.finale-copy .eyebrow{margin-bottom:18px}.finale-arch{height:100%;min-height:200px;width:68%;justify-self:end;border-width:6px;max-height:330px}.social-hub{padding-top:40px;padding-bottom:40px}.social{gap:16px 28px}.prototype-badge{display:none}footer{align-items:flex-start}.contact h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .organic-media,.motion-ready .hero-media,.motion-ready .petal-transition,.motion-ready .reveal,.trust-card{transform:none!important;clip-path:none!important;opacity:1!important}.motion-ready .day-journey li{scale:1}.motion-ready .day-journey svg path{stroke-dashoffset:0}.motion-ready *{animation:none!important}.site-header{transition:none}}

/* Keep invitation legible as the source surface reaches its navy state. */
.motion-ready .morph-active .finale-arch{opacity:var(--arch-opacity,0)}
.motion-ready .morph-active .finale-copy{opacity:var(--message-opacity,0)}
.belief h2 em,.day .display em{color:#b84e69}.learn .display em{color:#497e6c}
/* Reserve cinematic frames before lazy photographs decode. */
.trust-card{height:clamp(450px,43vw,620px);grid-template-rows:minmax(0,1fr)}
.trust-card img{min-height:0}
@media(min-width:601px) and (max-width:900px){.trust-card{height:400px}}
@media(max-width:600px){.trust-card{height:auto;grid-template-rows:auto auto}}

/* Shared section gutters keep the floating capsule on the existing content grid. */
:root{--content-gutter:clamp(24px,7vw,110px)}
.section-pad{padding-inline:var(--content-gutter)}
/* Pass 03: one persistent glass capsule, including the invitation source surface. */
.site-header,.site-header.sticky{inset:18px auto auto 50%;width:calc(100% - 2 * var(--content-gutter));height:72px;transform:translateX(-50%);color:var(--navy)}
.site-header:focus-within,.site-header.morphing{transform:translateX(-50%)!important}
.nav-chrome{padding:0 18px 0 12px;gap:28px}
.brand img,.sticky .brand img{width:132px;height:58px}
.site-header nav{gap:26px;flex:1;justify-content:center}
.site-header nav a{font-size:.9rem}
.header-cta,.sticky .header-cta{border:1px solid #2e3a5940;background:var(--navy);color:white;min-height:44px;display:inline-flex;align-items:center;padding:9px 18px}
.nav-surface,.sticky .nav-surface,.menu-open .nav-surface{inset:0 auto auto 50%;width:100%;height:100%;transform:translateX(-50%);border-radius:999px;background:rgb(250 249 245 / .78);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12);border:1px solid #ffffff80;box-shadow:0 6px 24px #17223a14,inset 0 1px 0 #ffffff80}
.sticky .nav-surface{background:rgb(250 249 245 / .92)}
.morphing .nav-surface{width:var(--surface-width);height:var(--surface-height);transform:translateX(-50%) translateY(var(--surface-y));border-radius:var(--surface-radius);background:rgb(var(--surface-color) / var(--surface-alpha));border-color:transparent;box-shadow:none}
.motion-ready .finale.morph-active{background:transparent}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}
footer{display:grid;grid-template-columns:1fr auto;gap:40px 64px;background:#eae9e3;color:var(--navy);padding:56px clamp(24px,7vw,110px) 24px}
.footer-identity{position:relative;padding-right:64px;max-width:490px}
.footer-logo{width:174px;height:78px;object-fit:contain;object-position:left center}
footer p{font-size:1rem;line-height:1.7;opacity:1;margin:16px 0 0}
.footer-petal{position:absolute;width:52px;height:68px;right:0;bottom:8px;opacity:.5}
.footer-utility{display:grid;gap:16px;align-content:center}
.footer-social{display:grid;grid-template-columns:repeat(2,max-content);gap:4px 28px}
footer a{color:var(--navy);display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font-size:.9rem}
footer a:hover{text-decoration:underline;text-underline-offset:5px}
.social-icon,.phone-icon{width:20px;height:20px;flex:none;fill:currentColor}
.back-top-dock{justify-self:start;margin-top:8px;width:150px;height:44px}
.back-top{display:flex;align-items:center;gap:10px;width:150px;height:44px;padding:0;border:0;background:transparent;color:var(--navy);font:400 .9rem "Anuphan",system-ui,sans-serif;text-align:left;cursor:pointer}
.back-top .back-top-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid #2e3a5960;border-radius:50%}
.back-top .back-top-label{white-space:nowrap}
.back-top svg{width:20px;height:20px;transition:transform .2s}
.back-top:hover svg{transform:translateY(-3px)}
.footer-bottom{grid-column:1/-1;border-top:1px solid #2e3a5926;padding-top:20px;font-size:.75rem;opacity:.75}
@media(max-width:900px){
 :root{--content-gutter:24px}
 .site-header,.site-header.sticky{top:12px;height:64px}
 .nav-chrome{padding:0 10px;gap:10px}
 .brand img,.sticky .brand img{width:108px;height:48px}
 .header-cta,.sticky .header-cta{padding:9px 13px;font-size:.8rem}
 .menu-toggle{min-height:44px;min-width:62px;border-color:#2e3a5940;font-size:.8rem}
 .site-header.menu-open nav{top:calc(100% + 10px);border-radius:24px;padding:20px;gap:18px;box-shadow:0 8px 24px #17223a14}
 footer{gap:32px;grid-template-columns:1fr auto}
}
@media(max-width:600px){footer{grid-template-columns:1fr;padding-top:40px}.footer-identity{max-width:320px}.footer-utility{gap:12px}.footer-social{gap:4px 32px}.footer-bottom{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-top svg{transition:none}.back-top:hover svg{transform:none}}

.motion-ready .finale.morph-active .finale-scene{clip-path:var(--scene-clip)}

/* Compact closing rhythm applies only above the existing mobile footer breakpoint. */
@media(min-width:601px){
 footer{padding-top:28px;padding-bottom:20px;gap:18px 64px;align-items:center}
 .footer-logo{width:156px;height:70px;display:block}
 footer p{margin-top:8px;line-height:1.55}
 .footer-petal{width:40px;height:52px;bottom:4px}
 .footer-utility{grid-template-columns:auto auto;gap:8px 24px;align-items:center}
 .footer-social{grid-column:1/-1}
 .back-top-dock{margin-top:0}
 .footer-bottom{padding-top:12px}
}
.back-top.is-positioned{position:fixed;z-index:24;left:0;top:0;margin:0;gap:0;width:var(--back-width,46px);height:var(--back-size,46px);transform:translate3d(var(--back-x,0px),var(--back-y,0px),0);border-radius:23px;background:rgb(250 249 245 / var(--back-glass,.8));box-shadow:0 3px 12px rgb(23 34 58 / var(--back-shadow,.1));backdrop-filter:blur(var(--back-blur,10px));-webkit-backdrop-filter:blur(var(--back-blur,10px));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.back-top.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.back-top.is-positioned .back-top-icon{width:var(--back-size,46px);height:var(--back-size,46px);border-color:rgb(46 58 89 / .24);background:rgb(255 255 255 / var(--back-highlight,.2));transition:background .2s}
.back-top.is-positioned .back-top-label{margin-left:10px;opacity:var(--back-label,0);visibility:hidden}
.back-top.is-docked .back-top-label{visibility:visible}
.back-top:hover .back-top-icon{background:rgb(255 255 255 / .65)}
.back-top:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.back-top.is-docked:hover .back-top-label{text-decoration:underline;text-underline-offset:5px}
@media(prefers-reduced-motion:reduce){.back-top.is-positioned,.back-top.is-positioned .back-top-icon{transition:none}}

.back-top-dock{--back-safe-bottom:env(safe-area-inset-bottom,0px);--back-safe-right:env(safe-area-inset-right,0px)}
/* Keep the phone hit area on its content, clear of the approaching control. */
.footer-utility>a{justify-self:start}

/* Final correction: complete navigation, with room to breathe before compact mode. */
section[id]{scroll-margin-top:24px}
.nav-chrome{gap:18px}
.site-header nav{gap:8px}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:999px;white-space:nowrap}
.site-header nav a:hover,.site-header nav a[aria-current="location"]{background:rgb(46 58 89 / .08);text-decoration:none}
.header-cta[aria-current="location"]{box-shadow:0 0 0 4px rgb(46 58 89 / .12)}
.site-header nav .menu-visit{display:none}
@media(max-width:1199px){
 .site-header nav{display:none}
 .header-cta{margin-left:auto;white-space:nowrap}
 .menu-toggle{display:block;min-height:44px;min-width:62px;background:none;border:1px solid #2e3a5940;border-radius:99px;color:inherit;padding:8px 10px;font:inherit;font-size:.8rem}
 .site-header.menu-open nav{display:flex;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:16px;background:rgb(250 249 245 / .97);color:var(--navy);border:1px solid #ffffff80;border-radius:24px;box-shadow:0 8px 24px #17223a14;max-height:calc(100svh - 104px);overflow-y:auto;backdrop-filter:blur(14px)}
 .site-header nav .menu-visit{display:inline-flex}
}
@media(max-width:900px){.nav-chrome{gap:10px}section[id]{scroll-margin-top:10px}}
/* Social belongs to the visit, after the unchanged map in reading order. */
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(160px,.55fr);gap:32px}
.visit-follow .eyebrow{margin-top:0;white-space:nowrap}
.visit-social{display:flex;flex-direction:column;gap:8px}
.visit-social a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.visit-social a:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:901px) and (max-width:1199px){.contact{grid-template-columns:1fr 1fr}.visit-follow{grid-column:2}.visit-social{flex-direction:row;flex-wrap:wrap;gap:8px 20px}}
@media(max-width:900px){.contact{grid-template-columns:1fr}.visit-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}}

/* Extend only the lower body; keep the original arc and its motion unchanged.
   The handoff-aware floor guarantees coverage even beyond the current 24px lift. */
.petal-transition::after{
 content:"";
 position:absolute;
 top:calc(100% - 1px);
 left:0;
 width:100%;
 height:max(8vw, calc(0px - var(--handoff, 0px) + 1px));
 background:inherit;
 pointer-events:none;
}

/* Abstract brand marks retain the capability row’s original spacing. */
.cap-mark{display:block;width:52px;height:52px;margin-bottom:14px;object-fit:contain}
.space-image{overflow:hidden;border-radius:12px 64px 12px 12px;margin-bottom:24px}
.space-image img{display:block;width:100%;height:260px;object-fit:cover}
.pool .space-image img{height:300px;object-position:center 38%}
.space-copy:nth-child(odd) .space-image{border-radius:64px 12px 12px 12px}
.motion-ready .space-image,.motion-ready .playground>img{clip-path:inset(var(--space-crop,0%) 0 0 round 12px);transform:translate(var(--space-x,0px),var(--space-y,0px))}
@media(max-width:900px){
 .day-journey{padding-left:0}
 .day-journey svg{width:100%;height:100%;left:0}
 .day-journey ol{gap:28px}
 .day-journey li,.day-journey li:nth-child(n){width:80%;min-height:132px;margin:0;padding:24px 30px;align-items:center;text-align:center;border-radius:48% 52% 44% 56% / 38% 42% 58% 62%}
 .day-journey li:nth-child(even){margin-left:20%;border-radius:52% 48% 56% 44% / 42% 38% 62% 58%}
}
@media(max-width:600px){
 .cap-mark{width:44px;height:44px;margin-bottom:10px}
 .space-image img,.pool .space-image img{height:240px}

}
@media(prefers-reduced-motion:reduce){
 .motion-ready .space-image,.motion-ready .playground>img{transform:none;clip-path:none}
}
/* The Visit anchor lands at the resolved surface; its capsule has become the page. */
.motion-ready #visit{scroll-margin-top:-84px}
@media(prefers-reduced-motion:reduce){.motion-ready #visit{scroll-margin-top:24px}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.motion-ready #visit{scroll-margin-top:10px}}

/* Pass 04b: the capsule hands directly into the existing practical composition. */
.finale{height:var(--contact-height,auto);min-height:0;background:var(--neutral);color:var(--ink)}
.finale-scene.contact{position:relative;inset:auto;width:100%;align-items:normal;grid-template-rows:none;padding:88px var(--content-gutter);height:auto}
.motion-ready .finale:not(.morph-active) .finale-scene{opacity:0;pointer-events:none}
.motion-ready .finale.morph-active .finale-scene{height:auto;background:transparent}
.motion-ready .finale.morph-active .contact>*{opacity:var(--contact-opacity,0)}
@media(max-width:900px){.finale-scene.contact{padding:64px 24px}}
@media(prefers-reduced-motion:reduce){.motion-ready .finale:not(.morph-active) .finale-scene{opacity:1;pointer-events:auto}}

/* Pass 04c: owner-approved capability cards; scoped to this row. */
.capabilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;border:0;margin-top:48px}
.capabilities .cap:nth-child(n){--cap-color:var(--pink);position:relative;width:auto;min-width:0;padding:32px 18px 30px;align-items:center;text-align:center;background:#fffefa;border:1px solid #2e3a5914;border-top:4px solid var(--cap-color);border-radius:18px;box-shadow:0 6px 18px #2e3a5908}
.capabilities .cap:nth-child(2){--cap-color:var(--sun)}
.capabilities .cap:nth-child(3){--cap-color:var(--green)}
.capabilities .cap:nth-child(4){--cap-color:var(--sky)}
.capabilities .cap:nth-child(5){--cap-color:var(--purple)}
.capabilities .cap-art{position:relative;display:block;width:84px;height:84px;margin-bottom:22px}
.capabilities .cap-mark{position:relative;width:100%;height:100%;margin:0;object-fit:contain}
.capabilities .cap:nth-child(4) .cap-art:before{content:"";position:absolute;inset:0;background:var(--sky);mask:url('img/el-diamond.svg') center/contain no-repeat}
.capabilities .cap:nth-child(4) .cap-mark{transform:translate(10px,8px) scale(.72)}
.capabilities .cap:nth-child(5) .cap-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,var(--purple) 50%);mask:url('img/el-petal-pair.svg') center/contain no-repeat}
.capabilities .cap b{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.3;color:var(--cap-color);margin-bottom:12px}
.capabilities .cap>span:last-child{font-size:.94rem;line-height:1.8;color:var(--navy);text-wrap:pretty}
.capabilities:focus-visible{outline:3px solid var(--navy);outline-offset:6px}
.contact .facebook-cta{background:#0866ff;color:#fff;gap:12px;padding:15px 22px}
.contact .facebook-cta:hover{background:#0758db}
.contact .facebook-cta:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
.contact .facebook-cta .social-icon{width:20px;height:20px;flex:none;fill:currentColor}
@media(min-width:901px) and (max-width:1100px){.capabilities{gap:12px}.capabilities .cap:nth-child(n){padding:28px 12px}}
@media(max-width:900px){
 .capabilities{display:flex;flex-wrap:nowrap;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;margin:32px -24px -16px;padding:0 24px 16px;scroll-padding-inline:24px}
 .capabilities .cap:nth-child(n){flex:0 0 300px;padding:32px 24px;min-height:270px}
 .capabilities .cap b{font-size:1.65rem}
 .capabilities .cap>span:last-child{font-size:1rem}
}
@media(max-width:600px){.capabilities .cap:nth-child(n){flex-basis:calc((100vw - 48px) / 1.2)}}

/* Pass 04d: compact capability grid and circular journey, mobile only. */
@media(max-width:900px){
 .capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible;overscroll-behavior-x:auto;margin:32px 0 0;padding:0;scroll-padding-inline:0}
 .capabilities .cap:nth-child(n){width:auto;min-height:0;padding:clamp(12px,3.6vw,16px) clamp(10px,3vw,14px);border-radius:16px}
 .capabilities .cap:last-child{grid-column:1 / -1;justify-self:center;width:calc((100% - 12px) / 2)}
 .capabilities .cap-art{width:clamp(36px,10vw,44px);height:auto;aspect-ratio:1;margin-bottom:8px}
 .capabilities .cap b{font-size:clamp(1.15rem,4.8vw,1.3rem);margin-bottom:5px}
 .capabilities .cap>span:last-child{font-size:.875rem;line-height:1.6}
 .day-journey ol{gap:clamp(18px,5vw,22px);padding-inline:clamp(16px,5vw,24px)}
 .day-journey li,.day-journey li:nth-child(n){width:min(100%,clamp(168px,45vw,194px));height:auto;min-height:0;aspect-ratio:1 / 1;border-radius:50%;padding:14px;margin:0;justify-self:start}
 .day-journey li:nth-child(even){justify-self:end}
 .day-journey li span{font-size:clamp(.875rem,3.7vw,1rem);white-space:nowrap}
 .day-journey li small{font-size:.875rem;line-height:1.5}
}

/* Pass 04e: reveal the approved composition without changing its resting geometry. */
.belief-line{display:block}
@media(min-width:901px){
 .motion-ready .belief-line{opacity:var(--line-progress,1);transform:translateY(var(--line-rise,0px));clip-path:inset(0 0 var(--line-clip,0%) 0)}
 .motion-ready .belief-photo{clip-path:ellipse(var(--belief-petal,75%) 72% at 50% 50%);transform:translateY(var(--belief-drift,0px));opacity:var(--belief-photo-opacity,1);transition:none}
 .motion-ready .belief .lead{opacity:var(--belief-copy,1);transform:translateY(var(--belief-copy-rise,0px));transition:none}
 .motion-ready .capabilities .cap{opacity:var(--cap-progress,1);transform:translateY(var(--cap-rise,0px));transition:none;border-top-color:transparent}
 .motion-ready .capabilities .cap:before{content:"";position:absolute;left:-1px;right:-1px;top:-4px;height:18px;border:4px solid var(--cap-color);border-bottom:0;border-inline-width:1px;border-radius:18px 18px 0 0;clip-path:inset(0 var(--accent-clip,0%) 14px 0)}
 .motion-ready .capabilities .cap-art{opacity:var(--art-progress,1)}
 .motion-ready .cap[data-bloomed="true"] .cap-art{animation:cap-petal .6s cubic-bezier(.2,.7,.2,1) both}
 .motion-ready .cap:nth-child(2)[data-bloomed="true"] .cap-art{animation-name:cap-spark}
 .motion-ready .cap:nth-child(3)[data-bloomed="true"] .cap-art{animation-name:cap-lead}
 .motion-ready .cap:nth-child(4)[data-bloomed="true"] .cap-art{animation-name:cap-adapt}
 .motion-ready .cap:nth-child(5)[data-bloomed="true"] .cap-art{animation-name:cap-care}
 .motion-ready .cap:nth-child(5)[data-bloomed="true"] .cap-art:after{animation:cap-care .65s .06s both;transform-origin:50% 65%}
}
@keyframes cap-petal{from{transform:scaleX(.88);clip-path:inset(0 12% 0 0)}to{transform:none;clip-path:inset(0)}}
@keyframes cap-spark{0%{transform:scale(.9)}70%{transform:scale(1.025)}100%{transform:none}}
@keyframes cap-lead{from{transform:translateX(-6px);clip-path:inset(0 35% 0 0)}to{transform:none;clip-path:inset(0)}}
@keyframes cap-adapt{from{transform:rotate(-8deg) scale(.95)}to{transform:none}}
@keyframes cap-care{from{transform:scaleX(.86)}to{transform:none}}
@media(prefers-reduced-motion:reduce){
 .motion-ready .belief-line,.motion-ready .belief-photo,.motion-ready .belief .lead,.motion-ready .capabilities .cap,.motion-ready .capabilities .cap-art{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important;transition:none!important}
 .motion-ready .capabilities .cap-art:after{animation:none!important}
 .motion-ready .capabilities .cap:before{clip-path:inset(0 0 14px 0)}
}

/* Pass 04f: edge composition → editorial sheet → path. */
.hero-edges{position:absolute;inset:0;z-index:1;overflow:clip;pointer-events:none}
.hero-edge{position:absolute;object-fit:contain;transform:translate(var(--edge-x,0px),var(--edge-y,0px)) rotate(var(--edge-turn,0deg));pointer-events:none}
.edge-petal{width:160px;height:160px;left:-68px;top:96px}
.edge-spark{width:72px;height:72px;right:18px;top:132px}
.edge-leaf{width:110px;height:110px;left:-57px;top:49%}
.edge-soft{width:190px;height:190px;right:-86px;bottom:24%}
.edge-diamond{width:64px;height:64px;left:37%;bottom:-26px}
/* Pass 04g: a real inset surface, with stable document geometry. */
.learn{background:transparent;z-index:2;display:flow-root}
.learning-panel{background:#fff;position:relative}
.motion-ready .learn{height:var(--learning-span);margin-bottom:calc(-.5 * var(--learning-vh))}
.motion-ready .learning-panel{position:absolute;top:0;left:var(--panel-inset,0px);right:var(--panel-inset,0px);height:var(--panel-height);border-radius:var(--panel-radius,0px);transform:translateY(var(--panel-translate-y,0px));overflow:clip;box-shadow:0 10px 26px rgb(46 58 89 / var(--panel-shadow,0));transition:none}
.learning-sheet{position:relative;background:#fff}
.motion-ready .learning-sheet{padding-top:var(--panel-padding);padding-bottom:var(--panel-padding);transform:none;transition:none}
.learning-sheet .reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-ready .learning-details,.motion-ready .learning-sheet .experience-controls{opacity:var(--panel-detail,1);transition:none}
.motion-ready .learning-sheet .organic-media{clip-path:none;transform:none}
@media(max-width:900px){
 .edge-petal{width:104px;height:104px;left:-50px;top:110px}
 .edge-spark{width:48px;height:48px;right:-6px;top:125px}
 .edge-leaf{display:none}
 .edge-soft{width:100px;height:100px;right:-66px;bottom:11%}
 .edge-diamond{width:48px;height:48px;left:12%;bottom:-18px}
}
@media(prefers-reduced-motion:reduce){
 .hero-edge{transform:none!important}
 .motion-ready .learn{height:auto;margin-bottom:0}
 .motion-ready .learning-panel{position:relative;inset:auto;height:auto;transform:none;border-radius:0;box-shadow:none}
 .motion-ready .learning-sheet{padding-top:88px;padding-bottom:88px}
 .motion-ready .learning-details,.motion-ready .learning-sheet .experience-controls{opacity:1}
}

.motion-ready .learning-details{display:grid;grid-template-rows:var(--panel-disclosure,1fr)}
.motion-ready .learning-details>div{min-height:0;overflow:hidden}
@media(prefers-reduced-motion:reduce){.motion-ready .learning-details{grid-template-rows:1fr;opacity:1}}

/* Production type roles: official logo remains artwork. */
:root{--font-display:"Prompt",system-ui,sans-serif;--font-reading:"Anuphan",system-ui,sans-serif}
.site-header a,.menu-toggle,.language-utility{font-family:var(--font-display)}
.content-line{display:block}
html[lang="th"] h1,html[lang="th"] .display,html[lang="th"] .belief h2{line-height:1.3;letter-spacing:-.025em}
.language-utility{display:flex;align-items:center;gap:0;flex:none;font-size:.75rem}
.language-utility button{font:inherit;color:inherit;border:0;background:transparent;padding:8px 4px;min-height:44px;cursor:pointer}
.language-utility button[aria-pressed="true"]{text-decoration:underline;text-underline-offset:5px;font-weight:600}
.learning-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;padding:0;white-space:normal}
.learning-sequence b{display:block;font-size:.85rem}
.learning-sequence span{display:block;font:400 1rem/1.65 var(--font-reading);padding:8px 0;color:var(--ink)}
.rain-intro{margin-top:40px}.rain-intro h3{margin-bottom:8px;font-weight:500}
.foundations{display:block;margin-top:40px}.foundations h3{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.5;margin:16px 0}.foundations p{max-width:640px;margin:12px 0}.foundations .subjects{color:var(--sun)}
.trust-closing{font-size:clamp(1.15rem,2vw,1.6rem);max-width:800px;margin:40px 0 0}
@media(max-width:1199px){.nav-chrome{gap:10px}}
@media(max-width:600px){.nav-chrome{gap:4px;padding:0 8px}.brand img,.sticky .brand img{width:82px}.header-cta,.sticky .header-cta{padding:9px 10px;font-size:.72rem}.menu-toggle{min-width:44px;padding:8px;font-size:.72rem}.language-utility{font-size:.68rem}.learning-sequence{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-sequence span{font-size:.9rem}.belief-aside{grid-template-columns:1fr}.belief-photo{height:230px}.belief .lead{font-size:1rem}.hero h1{font-size:clamp(2rem,8.5vw,3rem)}}
/* Seven real locations retain the alternating editorial rhythm. */
.spaces-editorial{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.spaces-editorial .space-copy{min-width:0}
.spaces-editorial .space-copy:nth-child(even){margin-top:55px}
.spaces-editorial .space-copy.pool{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8vw;align-items:center;margin:0;padding:32px 0}
.spaces-editorial .pool .space-image{margin-bottom:0}.spaces-editorial .pool h3{font-size:clamp(1.8rem,4vw,3.5rem)}
.spaces-editorial .space-image img{object-position:center 38%}
.spaces-editorial .cafeteria img{object-position:center 45%}
.spaces-editorial .playground img,.spaces-editorial .field img{object-position:center}
.spaces-editorial figcaption>span{font-size:.7rem;letter-spacing:.13em}
@media(max-width:600px){.spaces-editorial{grid-template-columns:minmax(0,1fr)}.spaces-editorial .space-copy:nth-child(n){margin-top:0}.spaces-editorial .space-copy.pool{display:block;width:100%}.spaces-editorial .pool .space-image{margin-bottom:24px}}
/* Final contact hierarchy and explicit social reading order. */
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.visit-map iframe{display:block;height:340px;min-height:0;margin:20px 0}
.visit-follow{grid-column:1/-1;border-top:1px solid #2e3a5926;padding-top:24px}
.visit-follow p{margin:12px 0}
.visit-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column;gap:8px 32px;max-width:600px}
.footer-utility{grid-template-columns:auto auto}.back-top-dock{grid-column:2;grid-row:1/3}
@media(max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}.visit-follow{grid-column:1}.visit-social{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}.visit-map iframe{height:300px}}
/* Readable FGF capsule states on the approved white learning surface. */
.experience-tab{color:var(--navy);opacity:1;background:transparent;border-color:#2e3a5950;border-radius:16px;padding-inline:12px}
.experience-tab b{color:#704326}
.experience-tab.active{background:var(--green);box-shadow:inset 3px 0 0 var(--navy)}
.experience-tab:hover{background:#e3f1eb}
.experience-tab:focus-visible{outline:3px solid var(--navy);outline-offset:3px;background:var(--sun)}
.experience-tab.active span{transform:none;font-weight:600}
/* Final owner photography art direction: protect faces and activity context. */
.hero-copy{margin-left:auto;max-width:min(760px,56vw)}
.hero-media img{object-position:center center}
.belief-photo img{object-position:center 28%}
#experience-media img{object-position:var(--activity-position,center center)}
.spaces-editorial .montessori img{object-position:center 54%}
.spaces-editorial .classroom img{object-position:center 55%}
.spaces-editorial .computer img{object-position:center 58%}
.spaces-editorial .playground img{object-position:center center}
.spaces-editorial .cafeteria img{object-position:center 58%}
.spaces-editorial .field img{object-position:center center}
.spaces-editorial .pool img{object-position:center 55%}
.trust-card.happy img{object-position:center 45%}
.trust-card.capable img{object-position:center 32%}
.trust-card.kind img{object-position:center 40%}
@media(max-width:600px){.hero-copy{margin-left:0;max-width:none}.hero-media{background:var(--navy)}.hero-media img{height:76%;object-position:27% center}.hero-media:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,var(--navy) 65%)}#experience-media img{object-position:var(--activity-mobile-position,var(--activity-position,center center))}.spaces-editorial .montessori img{object-position:center 52%}.spaces-editorial .classroom img{object-position:center 54%}.spaces-editorial .computer img{object-position:center 58%}.spaces-editorial .cafeteria img{object-position:center 58%}.spaces-editorial .pool img{object-position:center 52%}.trust-card.happy img{object-position:center 42%}.trust-card.capable img{object-position:center 30%}.trust-card.kind img{object-position:center 38%} }
/* Keep the ordinary visit control's geometry stable in both languages. */
.header-cta,.sticky .header-cta{min-width:115px;justify-content:center;text-align:center}
@media(max-width:900px){.header-cta,.sticky .header-cta{min-width:90px}}
@media(max-width:600px){.header-cta,.sticky .header-cta{min-width:78px}}

/* Pass 06R: hero recomposition — children left, message right. */
@media(min-width:901px){
 .hero{align-items:center;padding-top:118px;padding-bottom:150px}
 .hero-media{background:var(--navy)}
 .hero-media img{width:84%;right:auto;object-position:86% 52%}
 .hero-scrim{background:linear-gradient(90deg,rgba(24,34,56,.02) 0%,rgba(24,34,56,.08) 29%,rgba(24,34,56,.58) 52%,rgba(24,34,56,.94) 78%,rgba(24,34,56,.98) 100%),linear-gradient(0deg,rgba(24,34,56,.22),transparent 42%)}
 .hero-copy{width:49%;max-width:680px;margin-left:auto;transform:translateY(-2.5vh)}
 .hero h1{font-size:clamp(3.5rem,5.25vw,5.25rem);line-height:1.04}
 .hero-copy p{max-width:590px;margin:22px 0 28px}
}
@media(max-width:900px){
 .hero{align-items:end;padding:0 22px 130px}
 .hero-media{background:var(--navy)}
 .hero-media img{width:100%;height:62%;object-position:40% 50%}
 .hero-media:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(0deg,var(--navy) 35%,rgba(24,34,56,.88) 57%,rgba(24,34,56,.22) 86%,transparent)}
 .hero-scrim{background:linear-gradient(0deg,rgba(24,34,56,.48),transparent 46%)}
 .hero-copy{width:100%;max-width:none;margin:0;transform:none}
 .hero-copy .eyebrow{margin-bottom:16px}
 .hero h1{font-size:clamp(2rem,8.5vw,3rem);line-height:1.08}
 .hero-copy p{max-width:35rem;margin:18px 0 24px;font-size:.96rem;line-height:1.55}
 .petal-transition{height:14vw;min-height:92px}
}
@media(max-width:430px){
 .hero{padding-bottom:128px}
 .hero-media img{height:60%;object-position:40% 50%}
 .hero-media:after{inset:40% 0 0;background:linear-gradient(0deg,var(--navy) 38%,rgba(24,34,56,.9) 60%,rgba(24,34,56,.18) 88%,transparent)}
 .hero-copy p{margin-bottom:22px}
}
/* Accessible text tones; pastel marks and borders retain the brand palette. */
.capabilities .cap b,.day-journey li b{color:var(--navy)}
#experience-media #media-label{color:#fff;background:var(--navy)}
.skip{font-weight:600}
.language-utility button{min-width:24px}
html{overflow-anchor:none}
.scroll-cue .scroll-cue-label{width:auto;height:auto;background:none}

/* Static PDPA notice: text-first, with no motion choreography. */
.privacy-page{background:linear-gradient(var(--navy) 0 108px,var(--neutral) 108px)}
.privacy-main{padding:clamp(124px,12vw,156px) var(--content-gutter) clamp(56px,8vw,96px)}
.privacy-notice{max-width:860px;margin:0 auto;background:#fff;border-radius:var(--radius);padding:clamp(28px,6vw,64px);box-shadow:var(--shadow)}
.privacy-notice .eyebrow{margin-bottom:16px}
.privacy-notice h1{font-size:clamp(2rem,5vw,4rem);line-height:1.25;letter-spacing:-.025em;color:var(--navy)}
.privacy-school{font-family:var(--font-display);font-weight:600;color:var(--navy);margin:18px 0 28px}
.privacy-notice h2{font-size:clamp(1.15rem,2.3vw,1.45rem);line-height:1.45;color:var(--navy);margin:36px 0 10px}
.privacy-notice ul{padding-left:1.5rem;margin:8px 0 0}
.privacy-notice li+li{margin-top:8px}
.privacy-contact{border-top:1px solid #2e3a5926;margin-top:40px;padding-top:24px}
.privacy-contact p{margin:6px 0}
.footer-bottom a{display:inline;min-height:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.privacy-notice{border-radius:20px}}
