@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Editorial;src:url('assets/editorial.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--ink:#202322;--paper:#f1f1eb;--glass:rgba(24,30,29,.62);--line:rgba(255,255,255,.24);--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #b4c9a9;outline-offset:5px}::selection{background:#c3d0bd;color:#17201b}svg{width:21px;height:21px;stroke-width:1.5;flex-shrink:0}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;letter-spacing:-.04em;line-height:1.06}em{font-family:Editorial,Georgia,serif;font-weight:400}p{line-height:1.7}a,button{touch-action:manipulation}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:0 12px 38px #0002;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);color:white}.header{position:fixed;top:24px;left:32px;right:32px;z-index:20;border-radius:18px;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;transition:background .35s}.header.scrolled{background:rgba(24,30,29,.91)}.brand{display:flex;flex-direction:column;gap:4px}.brand>span{font-size:25px;letter-spacing:.04em;font-weight:600}.brand small{font-size:9px;letter-spacing:.25em}.brand-dot{color:#cad7c2}.header-actions{display:flex;align-items:center;gap:28px}.header-cta{display:flex;align-items:center;gap:24px;font-size:14px}.burger,.close{background:transparent;border:1px solid #ffffff40;border-radius:50%;color:white;width:48px;height:48px;display:flex;align-items:center;justify-content:center;position:relative;transition:background .2s}.burger:hover,.close:hover{background:#ffffff18}.burger span{position:absolute;width:20px;height:1px;background:white;transition:transform .4s var(--ease)}.burger span:first-child{transform:translateY(-4px)}.burger span:last-child{transform:translateY(4px)}.burger[aria-expanded=true] span:first-child{transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.hero{height:max(780px,100svh);position:relative;background:#5b635c;color:#fff;overflow:hidden}.hero-photo{object-position:70% 27%;position:absolute;width:62%;right:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#26332e 3%,#26332ef2 27%,#26332e30 70%),linear-gradient(0deg,#17211d80,transparent 50%)}.hero-copy{position:absolute;left:6%;right:6%;bottom:140px}.hero h1{font-size:clamp(56px,6.7vw,106px);max-width:1100px}.hero h1 em{color:#e1e8da}.hero-bottom{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:28px}.hero-bottom p{font-size:15px}.hero-buttons{display:flex;padding:9px;gap:4px;border-radius:14px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 22px;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:#f0f2e9;color:#202820}.light:hover{background:#d7e0d0}.transparent:hover{background:#ffffff18}.scroll-cue,.hero-location{position:absolute;bottom:36px;font-size:12px}.scroll-cue{left:6%;display:flex;gap:20px;align-items:center}.hero-location{right:6%;color:#e4e7e2}.section{padding:120px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}h2{font-size:clamp(40px,4.3vw,68px)}.section-heading>div{max-width:380px}.section-heading p{font-size:14px}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid #798176;padding:16px 0 10px;font-size:14px;margin-top:12px}.text-link:hover svg{transform:translate(3px,-3px)}svg{transition:transform .3s}.model-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:24px}.model-card{position:relative;height:510px;overflow:hidden;border-radius:4px}.model-card:nth-child(2){height:440px;margin-top:70px}.model-card img,.school-card img{transition:transform .7s var(--ease);object-position:center 25%}.model-card:hover img,.school-card:hover img{transform:scale(1.04)}.image-label{position:absolute;bottom:18px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;padding:17px;border-radius:10px;font-size:16px}.inclusive{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:28px;font-size:14px}.about{background:#e4e7de;display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.about-photo{height:600px;position:relative}.about-photo img{object-position:50% 25%}.about-photo .image-label{font-size:12px}.about-copy .lead{font-size:21px;margin:32px 0 20px;max-width:530px}.about-copy>p:not(.lead){font-size:14px;max-width:500px}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.school-card{overflow:hidden}.school-card img{height:420px}.school-card>div{display:flex;align-items:center;justify-content:space-between;margin-top:20px}h3{font-size:17px;font-weight:500}.camp-link{border-top:1px solid #bbc0b6;border-bottom:1px solid #bbc0b6;display:flex;align-items:center;gap:20px;padding:25px 0;margin-top:48px}.camp-link>span:last-child{margin-left:auto;font-size:13px;display:flex;align-items:center;gap:20px}.production{height:660px;position:relative;color:white;overflow:hidden;background:#41483f}.production>img{object-position:50% 30%}.production-shade{position:absolute;inset:0;background:linear-gradient(90deg,#17211eee,#17211e50 85%)}.production-copy{position:absolute;left:6%;top:18%}.production-copy p{margin:28px 0}.footer{background:#202923;color:#eff1e9}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-contact{padding-top:10px;display:flex;flex-direction:column;gap:16px}.footer-contact>a:first-child{font-size:28px}.footer-contact>a:nth-child(2){font-size:17px}.social-links{display:flex;gap:24px;font-size:13px;flex-wrap:wrap}.social-links a{display:flex;align-items:center;gap:6px;min-height:44px}.social-links svg{width:16px}.footer-bottom{border-top:1px solid #ffffff30;margin-top:80px;padding-top:30px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.overlay{position:fixed;inset:0;background:#07130cb3;z-index:30;opacity:0}.sidebar{position:fixed;inset:0 0 0 auto;width:min(500px,100%);height:100dvh;background:rgba(26,36,31,.94);border-left:1px solid #ffffff30;backdrop-filter:blur(26px);color:#f1f3eb;z-index:40;transform:translateX(100%);padding:32px 34px max(28px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;box-shadow:-20px 0 80px #0003}.sidebar[hidden],.overlay[hidden]{display:none}.sidebar-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:34px}.sidebar .brand small{font-size:10px;letter-spacing:0;line-height:1.6}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:17px;padding:14px 12px;min-height:54px;border-radius:8px;font-size:19px;transition:background .25s}.sidebar nav a>svg:first-child{color:#c1d1b7}.sidebar nav a>svg:last-child{margin-left:auto;opacity:.4}.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a[aria-current]{background:#ffffff0c}.sidebar nav a:hover>svg:first-child{transform:translateX(3px)}.sidebar nav a:hover>svg:last-child{transform:translate(2px,-2px);opacity:1}.sidebar-apply{margin:28px 0}.sidebar-contact{margin-top:auto;padding-top:24px;border-top:1px solid #ffffff25;display:flex;flex-direction:column;gap:12px;font-size:14px}.sidebar-contact p{color:#bfcbbb;font-size:12px}.sidebar-contact>a:first-of-type{font-size:22px}.sidebar-contact>a{overflow-wrap:anywhere}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}
@supports not (backdrop-filter:blur(1px)){.glass,.sidebar{background:#25322c}}@media(min-width:1600px){.hero-photo{width:58%}.hero-copy{bottom:160px}}@media(max-width:900px){.header{left:20px;right:20px}.section{padding:90px 6%}.hero-bottom{align-items:flex-start;flex-direction:column}.hero-copy{bottom:125px}.model-card{height:390px}.model-card:nth-child(2){height:330px;margin-top:60px}.about{gap:6%}.about-photo{height:460px}.about-copy .lead{font-size:18px}.school-card img{height:320px}.footer-contact>a:first-child{font-size:22px}.footer-top{gap:30px}}@media(max-width:600px){.header{top:14px;left:14px;right:14px;padding:12px 14px;border-radius:14px}.brand>span{font-size:20px}.brand small{font-size:8px}.header-cta{display:none}.hero{height:850px;min-height:100svh}.hero-photo{width:100%;height:64%;object-position:50% 22%;top:0}.hero-shade{background:linear-gradient(0deg,#26332e 10%,#26332ef5 30%,#26332e10 75%)}.hero-copy{left:6%;right:6%;bottom:105px}.hero h1{font-size:clamp(42px,10vw,60px)}.hero-bottom{margin-top:25px;gap:22px}.hero-bottom p{font-size:13px}.hero-buttons{width:100%;flex-direction:column}.hero-buttons .button{min-height:48px;padding:13px 18px}.hero-location{display:none}.scroll-cue{bottom:30px}.section{padding:72px 6%}h2{font-size:40px}.section-heading{display:block;margin-bottom:30px}.section-heading>div{margin-top:24px}.model-grid{grid-template-columns:1fr;gap:20px}.model-card,.model-card:nth-child(2){height:480px;margin-top:0}.inclusive{justify-content:flex-start;font-size:13px}.about{grid-template-columns:1fr;gap:35px}.about-photo{height:470px}.about-copy .lead{font-size:19px}.school-grid{grid-template-columns:1fr;gap:32px}.school-card img{height:470px}.camp-link{gap:12px}.camp-link>span:last-child{font-size:11px;gap:4px}.production{height:540px}.production-copy{top:22%;right:6%}.production-copy h2{font-size:42px}.footer-top{flex-direction:column;gap:35px}.footer-bottom{flex-direction:column;margin-top:50px;line-height:1.6}.sidebar{padding:24px 22px max(24px,env(safe-area-inset-bottom))}.sidebar-top{margin-bottom:24px}.sidebar nav a{font-size:18px;padding:12px;min-height:50px}.sidebar-apply{margin:22px 0}.sidebar .brand>span{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.header .original-logo{width:220px;height:52px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}.header{padding-top:12px;padding-bottom:12px}@media(max-width:600px){.header .original-logo{width:175px;height:45px}.header{padding:10px 10px}}
html{scrollbar-gutter:stable}
/* Display the original logo without its built-in whitespace. */
.header .brand{position:relative;display:block;width:160px;height:42px;overflow:hidden;flex-shrink:0}
.header .brand .original-logo{position:absolute;left:-26.866%;top:-48.85%;width:149.254%;height:auto;max-width:none;object-fit:initial}
@media(max-width:600px){.header .brand{width:140px;height:36.36px}}

/* Smaller logo restores the vertical breathing room in the header. */
.header .brand{width:130px;height:33.76px}
@media(max-width:600px){.header .brand{width:115px;height:29.87px}}

@media(max-width:600px){.header{padding-left:20px;padding-right:20px}}

/* Mobile hero: one screen, one consistent vertical rhythm. */
@media(max-width:600px){
 .hero{height:100svh;min-height:0}
 .hero-photo{height:70%;object-position:50% 22%}
 .hero-copy{top:auto;bottom:clamp(68px,9svh,88px);left:6%;right:6%}
 .hero h1{font-size:clamp(36px,10vw,46px);line-height:1.08;text-shadow:0 2px 18px #0003}
 .hero-bottom{margin-top:26px;padding-top:0;gap:24px;align-items:stretch}
 .hero-bottom p{font-size:13px;line-height:1.65}
 .hero-buttons{width:100%;flex-direction:column;padding:8px;gap:6px}
 .hero-buttons .button{flex:0 0 auto;min-width:0;min-height:46px;padding:12px 18px;font-size:13px;gap:18px;white-space:normal}
 .hero-buttons .button svg{width:19px;height:19px}
 .scroll-cue{bottom:24px;font-size:12px}
}
@media(max-width:600px) and (max-height:650px){
 .hero-copy{bottom:64px}
 .hero h1{font-size:32px}
 .hero-bottom{margin-top:18px;gap:18px}
 .hero-bottom p{font-size:12px;line-height:1.5}
 .hero-buttons{padding:6px;gap:4px}
 .hero-buttons .button{min-height:44px;padding:10px 16px}
 .scroll-cue{bottom:18px;font-size:11px}
}
