:root{color-scheme:light;--ink:#151515;--muted:#737373;--line:#d9d9d9;--paper:#fff;--soft:#f4f4f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,textarea{font:inherit}button,a,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid #888;outline-offset:6px}img{display:block;width:100%;height:auto;filter:grayscale(1)}figure,h1,h2,h3,p{margin:0}figure{min-width:0}h1,h2,h3{font-weight:400;line-height:1.06}h2{font-size:clamp(36px,4.4vw,64px);letter-spacing:-2.6px}h3{font-size:24px;letter-spacing:-.6px}p{ text-wrap:pretty}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:500}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:60px}.section-aside{font-size:11px;color:var(--muted)}.index{font-size:11px;color:#858585;font-variant-numeric:tabular-nums}.lead{font-size:22px;line-height:1.55;letter-spacing:-.4px}.muted{color:var(--muted)}.skip-link{position:absolute;top:10px;left:16px;z-index:100;background:#fff;color:#111;padding:10px;transform:translateY(-200%)}.skip-link:focus{transform:none}.header{height:102px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:white}.logo{width:185px;flex-shrink:0}.logo img{width:100%;height:auto}.header nav{display:flex;gap:36px;font-size:12px}.header nav a,.header-contact{transition:opacity .2s}.header nav a:hover,.header-contact:hover{opacity:.5}.header-contact{font-size:12px;display:flex;gap:35px;align-items:center}.arrow-icon{width:22px;height:22px;flex-shrink:0}.hero{background:#101010;color:#fff;min-height:730px;height:min(850px,calc(100svh - 102px));position:relative;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0 0 0 auto;width:53%;background:#101010}.hero-image img{height:100%;object-fit:cover;object-position:50% 44%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101010 0%,transparent 30%),linear-gradient(0deg,#101010 0%,transparent 18%)}.hero-content{position:relative;z-index:1;padding-block:70px 120px;pointer-events:none}.hero-content>*{pointer-events:auto;width:fit-content;max-width:54%}.hero .eyebrow{color:#a8a8a8;margin-bottom:38px}.hero h1{font-size:clamp(66px,7.3vw,110px);letter-spacing:-5.5px;line-height:1.02;max-width:65%}.hero-role{font-size:15px;color:#c4c4c4;margin-top:24px}.hero-description{max-width:365px;font-size:15px;color:#aaa;margin-block:26px 32px;line-height:1.8}.button{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 24px;border:1px solid transparent;border-radius:999px;cursor:pointer;font-size:12px;line-height:1.4;transition:background .2s,color .2s}.light{background:white;color:#141414}.light:hover{background:#dcdcdc}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;gap:24px;color:#898989;font-size:10px;letter-spacing:.3px;z-index:2}.hero-bottom a{color:#b4b4b4}.hero-bottom a span{margin-left:28px}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;align-items:center}.about-copy h2{margin-bottom:40px}.about-copy .lead{margin-bottom:24px}.about-copy>p:last-child{color:var(--muted);font-size:15px;max-width:430px}.about-photo img{aspect-ratio:4/4.7;object-fit:cover;object-position:center 40%}.about-photo figcaption{font-size:10px;margin-top:14px;color:var(--muted)}.personal-strip{margin-top:88px;display:grid;grid-template-columns:200px 1fr 160px;gap:55px;align-items:center;border-top:1px solid var(--line);padding-top:54px}.personal-strip figure:first-child img{height:260px;object-fit:cover;object-position:50% 52%}.personal-strip figure:last-child img{height:218px;object-fit:cover}.personal-text p{font-size:26px;letter-spacing:-.7px;line-height:1.4;margin-block:20px}.signature{font-size:12px;color:var(--muted)}.approach{background:var(--soft)}.approach h2{font-size:clamp(32px,3.7vw,54px);line-height:1.2}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:64px}.principles article{border-top:1px solid #bdbdbd;padding-top:16px}.principles h3{margin-block:35px 20px;font-size:22px}.principles p{color:var(--muted);font-size:14px;line-height:1.85}.school{position:relative;background:#111;color:#fff;overflow:hidden}.school:before{content:'';position:absolute;inset:0 0 0 50%;background:url('img4.jpg') center/440px auto;filter:grayscale(1) invert(1);opacity:.055;pointer-events:none}.school-content{position:relative}.school .eyebrow{color:#a2a2a2;margin-bottom:50px}.school h2{font-size:clamp(64px,9.5vw,140px);letter-spacing:-7px}.school-statement{font-size:clamp(29px,3.5vw,50px);line-height:1.2;letter-spacing:-1.6px;margin-top:24px}.school-description{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:55px;max-width:900px;font-size:15px;color:#aaa}.school-motto{font-size:11px;color:#929292;border-top:1px solid #363636;padding-top:22px;margin-top:60px;letter-spacing:.6px}.team-heading{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end;margin-bottom:58px}.team-heading .lead{font-size:20px}.team-grid{display:grid;grid-template-columns:1fr;gap:36px;max-width:900px}.team-intro{padding:0}.team-intro h3{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin-bottom:16px}.team-intro>p:last-child{font-size:14px;line-height:1.85;color:var(--muted)}.team-main-copy{font-size:14px;color:var(--muted);margin-bottom:28px}.experience>h3{font-size:15px;margin-bottom:20px;line-height:1.5}.experience ol{margin:0;padding:0;list-style:none;counter-reset:experience}.experience li{counter-increment:experience;border-top:1px solid var(--line);padding:18px 0 18px 36px;font-size:14px;position:relative}.experience li:before{content:'0' counter(experience);position:absolute;left:0;top:20px;font-size:10px;color:var(--muted)}.team-note{max-width:800px;font-size:22px;line-height:1.55;letter-spacing:-.4px;text-align:center;margin:58px auto 0}.direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.direction{position:relative;background:var(--soft);border-radius:24px;padding:32px}.direction-icon{display:block;margin-bottom:28px}.direction h3{font-size:28px;letter-spacing:-.8px;line-height:1.2}.direction p{font-size:15px;color:var(--muted);margin-top:18px;line-height:1.7}.status{position:absolute;top:32px;right:32px;font-size:10px;border:1px solid #b5b5b5;padding:4px 12px;border-radius:999px;color:#666}.lessons-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:50px}.lessons-heading h2{font-size:clamp(34px,4.1vw,60px)}.lessons-heading>p{max-width:300px;color:var(--muted);font-size:14px}.lesson-media{display:grid;grid-template-columns:.9fr 1.55fr;gap:28px}.video-figure video{display:block;background:#151515;width:100%;height:570px;object-fit:contain;filter:grayscale(1)}figcaption{font-size:10px;color:var(--muted);line-height:1.5}.video-figure figcaption{display:flex;justify-content:space-between;margin-top:13px}.lesson-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:315px 215px;gap:28px 20px}.lesson-gallery figure:first-child{grid-column:1/-1}.lesson-gallery img{height:100%;object-fit:cover}.lesson-gallery figure:first-child img{height:290px;object-position:center 52%}.lesson-gallery figcaption{margin-top:9px}.lesson-footnote{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:var(--muted)}.lesson-footnote p{max-width:330px}.contact{background:#111;color:white}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:13%}.contact .eyebrow{color:#999;margin-bottom:40px}.contact h2{font-size:clamp(48px,6.6vw,96px);letter-spacing:-4px}.contact-intro{font-size:15px;color:#aaa;margin-top:30px}.contact-action{padding-top:52px}.contact-action h3{font-size:25px}.contact-action>p{font-size:14px;color:#aaa;margin-top:18px}.contact-action .button{width:100%;margin-top:15px}.contact-action h3{margin-bottom:28px;line-height:1.3}.footer{padding-block:38px 45px;text-align:center}.footer-home{font-size:12px}.footer a:hover{text-decoration:underline}.footer-contacts,.footer-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:28px}.footer-contacts{font-size:14px}.footer-details{font-size:12px;color:var(--muted);gap:8px 18px}.demo-badge{position:fixed;bottom:12px;left:12px;z-index:10;color:white;background:#333d;border:1px solid #ffffff30;border-radius:3px;padding:3px 8px;font-size:9px;line-height:1.5;pointer-events:none}
@media(min-width:1600px){.hero-image{width:50%}.hero-image img{object-fit:contain}}@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header{padding-inline:36px}.hero{min-height:670px}.hero h1{font-size:80px}.hero-image{width:58%}.about-grid{gap:7%}.personal-strip{grid-template-columns:150px 1fr 130px;gap:32px}.personal-text p{font-size:23px}.principles{gap:30px}.team-intro{padding:0}.lesson-media{grid-template-columns:1fr 1.3fr}.video-figure video{height:530px}.lesson-gallery{grid-template-rows:290px 200px}.lesson-gallery figure:first-child img{height:265px}.contact-grid{gap:7%}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:78px;padding-inline:20px;gap:18px}.logo{width:142px}.header nav{display:none}.header-contact{gap:18px;font-size:11px}.section{padding-block:68px}.section-top{margin-bottom:36px}.section-aside{display:none}.eyebrow{font-size:9px;letter-spacing:1.5px}h2{font-size:39px;letter-spacing:-1.8px}.hero{min-height:760px;height:auto;align-items:flex-start}.hero-image{width:100%;top:210px;bottom:0;height:550px;opacity:.85}.hero-image img{object-fit:contain;object-position:right bottom}.hero-image:after{background:linear-gradient(180deg,#101010 0%,transparent 30%),linear-gradient(90deg,#101010 0%,#10101060 28%,transparent 72%),linear-gradient(0deg,#101010 0%,transparent 13%)}.hero-content{padding-block:38px 240px}.hero-content>*{max-width:100%}.hero .eyebrow{margin-bottom:30px}.hero h1{font-size:clamp(54px,11.9vw,88px);letter-spacing:-3px;max-width:100%}.hero-role{font-size:12px;margin-top:20px}.hero-description{font-size:13px;line-height:1.8;max-width:215px;margin-block:25px}.hero .button{font-size:11px;gap:24px;padding:14px 17px;min-height:50px}.hero-bottom{font-size:9px;bottom:22px}.hero-bottom>span{max-width:170px}.hero-bottom a{align-self:end}.hero-bottom a span{margin-left:8px}.about-grid{grid-template-columns:1fr;gap:35px}.about-copy h2{margin-bottom:28px}.lead{font-size:20px}.about-copy>p:last-child{font-size:14px}.about-photo img{max-height:500px;object-position:50% 38%}.personal-strip{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:44px;padding-top:30px}.personal-text{grid-column:1/-1;grid-row:1}.personal-text p{font-size:23px;margin-block:16px}.personal-strip figure:first-child img,.personal-strip figure:last-child img{height:240px;object-fit:cover}.personal-strip figure:first-child img{object-position:50% 57%}.approach h2{font-size:32px;letter-spacing:-1.3px}.principles{grid-template-columns:1fr;gap:30px;margin-top:38px}.principles article{position:relative;padding-left:40px}.principles .index{position:absolute;left:0;top:20px}.principles h3{font-size:22px;margin-block:5px 15px}.principles p{font-size:13px;max-width:440px}.school:before{inset:0 0 0 25%;background-size:340px auto}.school .eyebrow{margin-bottom:35px}.school h2{font-size:clamp(54px,12.5vw,90px);letter-spacing:-3px}.school-statement{font-size:31px;letter-spacing:-1px}.school-description{grid-template-columns:1fr;gap:20px;margin-top:30px;font-size:14px}.school-motto{font-size:10px;margin-top:35px}.team-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}.team-heading .lead{font-size:18px}.team-grid{grid-template-columns:1fr;gap:35px}.team-intro{padding:0}.team-intro h3{font-size:23px;margin-block:0 16px}.team-intro>p:last-child{font-size:13px}.experience li{font-size:13px}.team-note{font-size:20px;text-align:left;margin-top:32px}.direction-grid{gap:12px}.direction{padding:20px 16px;border-radius:20px}.direction-icon{width:24px;height:24px;margin-bottom:24px}.direction h3{font-size:20px;letter-spacing:-.5px}.direction p{font-size:12px;line-height:1.7;margin-top:14px}.status{top:20px;right:12px;font-size:9px;padding:3px 8px}.lessons-heading{display:block;margin-bottom:30px}.lessons-heading h2{font-size:34px;letter-spacing:-1.5px}.lessons-heading>p{font-size:13px;margin-top:23px;max-width:340px}.lesson-media{grid-template-columns:1fr;gap:32px}.video-figure video{height:auto;max-height:560px;aspect-ratio:720/862}.lesson-gallery{grid-template-rows:300px 170px;gap:28px 15px}.lesson-gallery figure:first-child img{height:275px}.lesson-footnote{display:block;margin-top:30px}.lesson-footnote p{margin-top:12px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact .eyebrow{margin-bottom:30px}.contact h2{font-size:60px;letter-spacing:-2.8px}.contact-intro{font-size:14px;margin-top:25px}.contact-action{padding-top:0}.contact-action h3{font-size:23px}.contact-action>p{font-size:13px}.contact-action .button{font-size:11px}.footer{padding-block:30px 45px}.footer-contacts,.footer-details{flex-direction:column;gap:10px}.footer-details{font-size:11px}}
@media(max-width:359px){.direction-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Opaque, full-width sections cover earlier sections in document order. */
main{isolation:isolate}
main>section{position:relative;background-color:var(--paper)}
main>.hero{background-color:#101010}
main>.approach{background-color:var(--soft)}
main>.school,main>.contact{background-color:#111}
main>section.wrap{width:100%;padding-inline:max(56px,calc((100% - 1280px)/2))}
@media(max-width:1100px){main>section.wrap{padding-inline:36px}}
@media(max-width:767px){main>section.wrap{padding-inline:20px}}
:root{--sections-viewport:100vh}
@supports(height:100dvh){:root{--sections-viewport:100dvh}}
@media(prefers-reduced-motion:no-preference){
  html.sections-ready main>section{
    position:sticky;
    /* Tall sections scroll fully before their bottom edge is held. */
    top:min(0px,calc(var(--sections-viewport) - var(--section-height,0px)));
    z-index:1;
  }
  html.sections-ready main>section+section{
    border-radius:28px 28px 0 0;
    box-shadow:0 -14px 36px -20px #0005;
  }
}
