.hero{min-height:820px;height:calc(100svh - 15px);max-height:1080px;padding-top:140px;background:#0b2621}.hero-landscape{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,#477669 0%,#143e34 38%,#071612 80%)}.hero-ring{position:absolute;width:650px;height:650px;border:1px solid #c8a35d45;border-radius:50%;right:4%;top:13%;box-shadow:0 0 0 30px #c8a35d09,0 0 0 100px #c8a35d06}.hero-word{position:absolute;right:5%;top:4%;font:500 500px/1.2 var(--display);color:#ead9a50a}.hero-portrait{position:absolute;right:4%;bottom:0;height:88%;width:49%;object-fit:contain;object-position:center bottom}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071612b8,transparent 60%),linear-gradient(0deg,#071612 0%,transparent 25%)}.hero-copy{width:60%}.hero h1{font-size:clamp(50px,5.8vw,92px);letter-spacing:.02em}.hero h1 em{font-size:.46em}.hero-lead{font-size:16px}.hero-signature{right:5%;bottom:52px}.hero-signature strong{font-size:42px}.teacher{padding-top:110px;padding-bottom:110px}.teacher-image{height:580px}.teacher-image img,.teacher-image:hover img{object-position:65% center;transform:none}.teacher-copy .intro-big{font:500 34px/1.5 var(--display);color:var(--ink)}.teacher-motto{border-left:2px solid var(--gold);padding:12px 20px;font:22px/1.7 var(--display);color:var(--pine)}.teacher-motto small{display:block;font:11px/2 var(--body);color:var(--muted)}.learning-section{margin:20px 22px;border-radius:48px;background:var(--mountain);color:#fff;padding:85px 6vw 65px}.learning-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.learning-heading h2,.journey h2,.closing h2{margin:0;font:500 clamp(32px,4vw,62px)/1.25 var(--display)}.learning-heading p,.learning-note p{color:#c0cdc5;font-size:15px;line-height:1.9}.light{color:var(--gold-pale)}.photo{display:block;width:100%;position:relative;padding:0;border:0;overflow:hidden;border-radius:22px;background:#162a25;cursor:zoom-in;text-align:left;color:white;font:inherit}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.025)}.photo span{position:absolute;bottom:0;left:0;right:0;padding:48px 23px 22px;background:linear-gradient(transparent,#0009);font-size:13px}.photo span b{float:right;font-size:11px;font-weight:400}.wide-photo{aspect-ratio:2/1}.learning-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center;margin-top:35px}.learning-pair>.photo{aspect-ratio:1.5}.learning-note>span{color:var(--gold-pale);font-size:12px;letter-spacing:.4em}.learning-note h3{font:500 36px/1.4 var(--display);margin:20px 0}.learning-note a{display:inline-block;color:var(--gold-pale);font-size:12px;border-bottom:1px solid #c8a35d70;padding:10px 0}.events{padding-top:110px;padding-bottom:110px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.event-grid .photo{aspect-ratio:1.5}.event-grid small{display:block;margin-top:24px;font-size:10px;letter-spacing:.12em;color:var(--pine)}.event-grid h3{font:500 27px/1.4 var(--display);margin:10px 0}.event-grid p{font-size:13px;color:var(--muted);margin:0}.journey{position:relative;min-height:650px;display:flex;align-items:end;color:white;background:#102b24;overflow:hidden}.journey>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.journey:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061b16e8,transparent 80%),linear-gradient(90deg,#061b1670,transparent)}.journey>div{z-index:1;position:relative;padding:70px 8vw}.journey .button{margin-top:30px;border:0;cursor:zoom-in}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery-grid .photo{aspect-ratio:1.5}.closing{background:var(--mountain);margin:0 22px 22px;padding:90px 25px;text-align:center;border-radius:45px;color:#fff}.closing h2{margin:22px 0 35px}.closing .section-kicker{display:block}footer{padding-bottom:48px}dialog{width:min(1200px,95vw);max-height:94svh;padding:40px 14px 10px;background:#071612;border:1px solid #c8a35d60;border-radius:16px;color:white}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}dialog img{margin:auto;max-height:78svh;object-fit:contain}dialog p{text-align:center;font-size:13px}#close-photo{position:absolute;right:10px;top:4px;color:white;background:transparent;border:0;font-size:30px;width:36px;height:36px;cursor:pointer}body:has(dialog[open]){overflow:hidden}
@media(max-width:900px){.hero{min-height:780px}.hero-portrait{right:-5%;width:63%;height:76%}.hero-copy{width:68%}.teacher-image{height:540px}.learning-heading{display:block}.learning-heading p{margin-top:25px}.journey{min-height:540px}}
@media(max-width:600px){.hero{height:auto;min-height:840px;max-height:none;padding:510px 22px 45px}.hero-portrait{height:560px;width:100%;top:65px;right:-4%;bottom:auto}.hero-shade{background:linear-gradient(0deg,#071612 0%,#071612 25%,#071612d9 37%,transparent 65%)}.hero-ring{width:400px;height:400px;right:-80px;top:110px}.hero-word{font-size:310px;top:90px;right:0}.hero-copy{width:100%}.hero h1{font-size:45px}.hero h1 em{font-size:25px;max-width:none}.hero-lead{font-size:14px;margin-top:18px}.hero-actions{display:flex;margin-top:24px}.hero-actions .button{min-height:45px;font-size:12px;padding:0 18px;gap:10px}.hero-actions .ghost{display:none}.microcopy{margin-top:20px}.proof-strip{justify-content:center;gap:13px;padding:22px 10px}.proof-strip span{font-size:11px}.teacher{padding:65px 20px;gap:28px}.teacher-image{height:440px}.teacher-image img,.teacher-image:hover img{transform:none;object-position:65% center}.teacher-copy .intro-big{font-size:28px}.learning-section{margin:10px 8px;padding:55px 18px 30px;border-radius:28px}.learning-heading h2{font-size:34px}.wide-photo{aspect-ratio:1.45}.learning-pair{grid-template-columns:1fr;gap:25px}.learning-note{padding:6px 10px 15px}.learning-note h3{font-size:30px}.events{padding:65px 20px}.archive-heading h2{font-size:35px}.event-grid{grid-template-columns:1fr;gap:35px}.journey{min-height:560px}.journey>img{object-position:51% center}.journey>div{padding:45px 22px}.journey h2{font-size:38px}.gallery-section{padding:65px 18px}.gallery-grid{gap:12px}.gallery-grid .photo{aspect-ratio:1;border-radius:16px}.photo span{padding:35px 12px 13px;font-size:11px}.closing{margin:0 8px 12px;padding:65px 20px;border-radius:28px}.closing h2{font-size:33px}footer{padding-bottom:30px}.nav-cta{font-size:11px}.learning-heading p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.photo img{transition:none}}
.hero-portrait{border-radius:48% 48% 0 0;filter:drop-shadow(0 0 35px #0002)}
/* Phone-first refinements */
.mobile-name{display:none}
@media(max-width:600px){
 html{scroll-padding-top:76px}
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom));font-size:16px}
 .topbar{height:60px;padding:0 16px;background:#071612f5}
 .brand b{font-size:15px}.nav-cta{min-height:38px;padding:0 14px;font-size:12px}
 .hero{min-height:0;height:auto;padding:410px 24px 34px;border-radius:0 0 26px 26px}
 .hero-portrait{top:80px;right:8%;width:84%;height:415px;object-fit:cover;object-position:center top;border-radius:180px 180px 0 0;filter:none}
 .hero-ring{width:340px;height:340px;top:95px;right:calc(50% - 170px)}
 .hero-shade{background:linear-gradient(0deg,#071612 0%,#071612 28%,#071612d9 40%,transparent 65%)}
 .hero-copy{animation:none}.hero-copy .eyebrow{font-size:11px;margin-bottom:12px}
 .mobile-name{display:block;font-size:48px;letter-spacing:.1em}.desktop-headline{display:none}
 .hero h1 em{font-size:24px;margin-top:12px;line-height:1.4}
 .hero-lead{font-size:15px;line-height:1.8;margin-top:16px;color:#d0d8d3}
 .hero-actions,.microcopy{display:none}
 .proof-strip{gap:0;justify-content:space-around;padding:20px 8px;margin:0;border-bottom:1px solid #12352f12}
 .proof-strip span{font-size:12px;letter-spacing:0}.proof-strip i{display:none}
 .section{padding:44px 20px}.section-kicker{font-size:11px;letter-spacing:.13em;margin-bottom:12px}
 .section h2{font-size:34px;line-height:1.25}
 .teacher{gap:25px}.teacher-image{height:330px;border-radius:20px;box-shadow:none}
 .teacher-image img{object-position:67% 40%}.image-caption{left:14px;bottom:14px;font-size:11px}
 .teacher-copy .intro-big{font-size:27px;line-height:1.5;margin:20px 0 14px}
 .teacher-copy>p:not(.teacher-role){font-size:16px;line-height:1.85}
 .teacher-role{font-size:14px}.teacher-focus{margin:20px 0;gap:8px}.teacher-focus span{font-size:12px;padding:8px 12px}
 .teacher-motto{font-size:21px}.teacher-motto small{font-size:12px}
 .learning-section{margin:0 10px;padding:36px 16px 24px;border-radius:24px}
 .learning-heading{margin-bottom:24px}.learning-heading h2{font-size:30px;line-height:1.4}
 .learning-heading p,.learning-note p{font-size:15px;line-height:1.8;margin-top:16px}
 .wide-photo{aspect-ratio:1.5}.photo{border-radius:16px}.photo span{font-size:12px;line-height:1.5;padding:32px 12px 12px}.photo span b{display:none}
 .learning-pair{gap:20px;margin-top:16px}.learning-note{padding:6px 4px}.learning-note h3{font-size:28px;margin:14px 0}.learning-note a{font-size:14px;min-height:44px}
 .archive-heading{gap:12px;margin-bottom:24px}.archive-heading>p{font-size:15px;line-height:1.8}
 .event-grid{gap:28px}.event-grid small{font-size:12px;margin-top:15px}.event-grid h3{font-size:25px}.event-grid p{font-size:14px}
 .journey{display:flex;flex-direction:column;min-height:0;margin:0 10px;border-radius:24px;background:#12352f}
 .journey>img{position:relative;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}
 .journey:after{display:none}.journey>div{width:100%;padding:26px 20px 30px}.journey h2{font-size:32px}.journey .button{margin-top:22px;min-height:48px;font-size:14px}
 .gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-grid .photo{aspect-ratio:1.5}
 .closing{padding:38px 20px;border-radius:24px;margin:0 10px 12px}.closing h2{font-size:29px;line-height:1.5;margin:18px 0 24px}.closing .button{min-height:48px}
 footer{margin:0 10px;padding:28px 18px;gap:16px}footer p,.footer-legal{font-size:12px}.footer-brand b{font-size:22px}
 .mobile-bar{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));height:56px;border-radius:16px;grid-template-columns:1fr 1fr;box-shadow:0 4px 22px #0003}.mobile-bar a{font-size:15px}
 dialog{width:calc(100vw - 16px);max-height:90svh;padding:44px 8px 12px}dialog img{max-height:70svh}#close-photo{width:44px;height:44px;top:0}dialog p{font-size:14px;line-height:1.6}
}
@media(max-width:360px){.hero{padding-top:375px}.hero-portrait{height:380px}.mobile-name{font-size:44px}.hero h1 em{font-size:22px}.learning-heading h2{font-size:27px}}
/* Integrate portrait into the forest-green hero without a white frame. */
.hero-portrait{border-radius:0;filter:none;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.hero-landscape{background:radial-gradient(ellipse at 70% 50%,#143e34 0%,#143e34 35%,#071612 85%)}
.hero-ring,.hero-word{display:none}
@media(max-width:600px){.hero-portrait{top:65px;right:0;width:100%;height:440px;object-fit:contain;object-position:center top;mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 85%,transparent)}.hero-landscape{background:linear-gradient(#143e34 0%,#143e34 65%,#071612 100%)}}
@media(max-width:360px){.hero-portrait{height:405px}}
/* Feather every edge so the portrait backdrop joins the page without seams. */
.hero-portrait{
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 8%,#000 78%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 8%,#000 78%,transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect;
}
@media(max-width:600px){
 .hero-portrait{
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 8%,#000 78%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 8%,#000 78%,transparent 100%);
 -webkit-mask-composite:source-in;mask-composite:intersect;
 }
}
