:root{--plaster: #eeebe6;--shade: #e2ddd5;--oak: #d7c3a5;--ink: #26231f;--ink-soft: #625a52;--olive: #4f5a34;--sun: #f6dfb4;--font: "Albert Sans", "Helvetica Neue", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{margin:0;background:var(--plaster);color:var(--ink);font:400 17px/1.55 var(--font);-webkit-font-smoothing:antialiased}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit}::selection{background:var(--sun);color:var(--ink)}:focus-visible{outline:2px solid var(--olive);outline-offset:3px}main{position:relative;z-index:2;background:var(--plaster)}.button{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border-radius:2px;background:var(--ink);color:var(--plaster);font-size:17px;font-weight:500;letter-spacing:.01em;transition:background-color .18s cubic-bezier(.2,.7,.2,1),transform .12s cubic-bezier(.2,.7,.2,1)}.button:hover{background:#3a352f}.button:active{transform:translateY(1px)}.button-small{height:40px;padding:0 18px;font-size:15px}.link{font-size:16px;font-weight:500;color:var(--olive);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.link:hover{color:var(--ink)}.top{position:fixed;inset:0 0 auto;z-index:20;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;transition:background-color .24s ease}.top.is-solid{background:var(--plaster)}.wordmark{font-size:21px;font-weight:500;letter-spacing:-.02em;text-decoration:none}.top-links{display:flex;align-items:center;gap:32px}.top-links a{font-size:15px;text-decoration:none}.top-links a:hover{text-decoration:underline;text-underline-offset:5px}.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#e9e4dd}.hero-stage{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:pan-y}.hero-film{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-type{position:absolute;left:40px;top:17vh;max-width:1100px;pointer-events:none}.hero h1{font-size:clamp(40px,5.4vw,80px);line-height:1.02;font-weight:300;letter-spacing:-.035em}.hero-type p{margin-top:18px;font-size:18px;color:var(--ink);max-width:34em}.hero-hour{position:absolute;left:40px;bottom:32px;width:560px;display:flex;align-items:center;gap:20px;padding:22px 22px 16px;background:var(--plaster);border-radius:2px}.hero-hour:before{content:"";position:absolute;left:22px;right:22px;top:10px;height:1px;background:#26231f47}.hour-track{position:absolute;left:22px;right:22px;top:10px}.hour-sun{position:absolute;top:-5px;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 1px #26231f8c}.hour-clock{font-size:15px;font-weight:500;min-width:64px;font-variant-numeric:tabular-nums}.hour-class{font-size:15px;text-align:left;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.hour-class.is-quiet{text-decoration:none;color:var(--ink-soft)}.intro{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:96px;align-items:start;padding:140px 40px 150px}.intro-statement{font-size:clamp(30px,3.2vw,46px);line-height:1.18;font-weight:300;letter-spacing:-.02em;max-width:22em}.intro-statement span{color:#8c847b;transition:color .26s ease}.intro-statement span.is-lit{color:var(--ink)}.intro-photo{margin:24px 0 0}.intro-photo img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.intro-photo figcaption{margin-top:12px;font-size:14px;color:var(--ink-soft)}.tt{height:320vh}.tt-stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center;padding:96px 40px 40px}.tt-frame{--open: 0;position:relative;height:100%;max-height:760px;overflow:hidden;clip-path:inset(calc((1 - var(--open)) * 9%) calc((1 - var(--open)) * 12%) round 2px)}.tt-frame video{width:100%;height:100%;object-fit:cover;object-position:62% 50%}.tt-clock{position:absolute;left:28px;top:20px;font-size:64px;font-weight:300;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink)}.tt-side h2{font-size:56px;line-height:1;font-weight:300;letter-spacing:-.035em}.tt-lead{margin-top:16px;color:var(--ink-soft);max-width:30em;font-size:17px}.tt-days{display:flex;gap:4px;margin:28px 0 8px;flex-wrap:wrap}.tt-days button{height:40px;min-width:52px;padding:0 12px;font-size:15px;color:var(--ink-soft);border-radius:2px;transition:background-color .18s ease,color .18s ease}.tt-days button:hover{color:var(--ink)}.tt-days button.is-on{background:var(--ink);color:var(--plaster)}.tt-list{list-style:none;margin:0;padding:0}.tt-list li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 12px;margin:0 -12px;border-radius:2px;color:var(--ink-soft);transition:background-color .3s ease,color .3s ease}.tt-list li.is-now,.tt-list li.is-next{color:var(--ink);background:var(--shade)}.tt-list li.is-now .tt-at{box-shadow:inset 0 -3px 0 var(--sun)}.tt-at{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;justify-self:start}.tt-name{font-size:20px;line-height:1.25;letter-spacing:-.01em}.tt-name small{display:block;font-size:14px;color:var(--ink-soft);letter-spacing:0}.tt-book{font-size:15px;font-weight:500;padding:10px 4px;text-decoration:underline;text-underline-offset:4px;color:var(--olive)}.tt-note{margin-top:18px;font-size:17px;color:var(--ink-soft)}.offer{position:relative;height:130vh;min-height:820px}.offer-clip{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.offer-photo{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform-origin:50% 40%;will-change:transform}.offer-card{position:absolute;right:40px;bottom:80px;width:460px;padding:44px 44px 48px;background:var(--plaster);will-change:transform}.offer-card h2{font-size:30px;font-weight:400;letter-spacing:-.02em}.offer-price{font-size:112px;line-height:1;font-weight:300;letter-spacing:-.05em;margin:18px 0 14px}.offer-card p:not(.offer-price){color:var(--ink-soft);margin-bottom:28px}.teachers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;padding:160px 40px;align-items:start}.teachers h2{font-size:56px;font-weight:300;letter-spacing:-.035em;margin-bottom:40px}.teachers-list ul{list-style:none;margin:0;padding:0}.teachers-list li button{display:block;width:100%;text-align:left;padding:16px 0;color:#8c847b;transition:color .24s ease}.teachers-list li button:hover,.teachers-list li button.is-on{color:var(--ink)}.t-name{display:block;font-size:clamp(36px,3.6vw,52px);line-height:1.05;font-weight:300;letter-spacing:-.035em}.t-role{display:block;margin-top:6px;font-size:15px;color:var(--ink-soft)}.t-bio{margin-top:36px;max-width:32em;animation:rise .5s cubic-bezier(.2,.7,.2,1) both}.t-bio p{color:var(--ink-soft)}.t-teaches{margin-top:14px;font-size:17px;color:var(--ink)!important}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.teachers-photo{position:relative;aspect-ratio:4 / 5;overflow:hidden;position:sticky;top:100px}.teachers-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.t-over{animation:sweep .76s cubic-bezier(.65,0,.35,1) both}.t-band{position:absolute;top:0;bottom:0;left:-30%;width:30%;pointer-events:none;background:linear-gradient(100deg,#fff4de00,#fff4de8c,#fff4de00);animation:band .76s cubic-bezier(.65,0,.35,1) both}@keyframes band{0%{transform:translate(0)}to{transform:translate(450%);opacity:0}}@keyframes sweep{0%{clip-path:polygon(0 0,0 0,-20% 100%,-20% 100%);filter:brightness(1.18)}to{clip-path:polygon(0 0,120% 0,100% 100%,-20% 100%);filter:brightness(1)}}.teachers-row{display:none}.prices{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:96px;padding:40px 40px 180px;align-items:start}.prices-photo{position:sticky;top:96px;height:calc(100vh - 136px);overflow:hidden}.prices-photo img{width:100%;height:100%;object-fit:cover;will-change:transform;transform:scale(1.1)}.prices h2{font-size:56px;font-weight:300;letter-spacing:-.035em;margin:56px 0 24px}.plan{display:grid;grid-template-columns:1fr auto;column-gap:24px;align-items:baseline;padding:36px 0 34px;border-top:1px solid rgba(38,35,31,.16)}.plan h3{font-size:24px;font-weight:400;letter-spacing:-.015em}.plan-price{grid-row:span 2;font-size:72px;line-height:.95;font-weight:300;letter-spacing:-.05em;text-align:right}.plan-price span{display:block;font-size:15px;letter-spacing:0;color:var(--ink-soft);margin-top:8px}.plan ul{list-style:none;margin:12px 0 18px;padding:0;color:var(--ink-soft)}.plan li{font-size:16px}.plan .link{justify-self:start}.prices-note{margin-top:24px;font-size:17px;color:var(--ink-soft)}.close-space{height:100vh;height:100svh}.close{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;background:#d9c4a2}.close-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;will-change:transform}.close-type{position:absolute;left:40px;top:21vh;max-width:980px;will-change:transform,opacity}.close h2{font-size:clamp(40px,5vw,76px);line-height:1.02;font-weight:300;letter-spacing:-.035em;margin-bottom:32px}.close address{display:flex;flex-direction:column;gap:4px;margin-top:40px;width:max-content;padding:20px 24px;background:#f7f1e6;border-radius:2px;font-style:normal;font-size:17px;color:var(--ink)}.close address a{text-decoration:none}.close address a:hover{text-decoration:underline}.booking{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none}.booking-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;background:#26231f52;opacity:0;transition:opacity .3s ease;cursor:default}.booking-panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--shade);padding:88px 40px 40px;overflow-y:auto;transform:translate(100%);transition:transform .42s cubic-bezier(.2,.7,.2,1)}.booking.is-open{pointer-events:auto}.booking.is-open .booking-scrim{opacity:1}.booking.is-open .booking-panel{transform:none}.booking-x{position:absolute;top:20px;right:24px;width:44px;height:44px;display:grid;place-items:center}.booking h2{font-size:40px;font-weight:300;letter-spacing:-.03em;margin-bottom:28px}.booking form{display:flex;flex-direction:column;gap:20px}.booking label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-soft)}.booking input:not([type=checkbox]),.booking select{height:52px;padding:0 14px;border:1px solid rgba(38,35,31,.3);border-radius:2px;background:var(--plaster);color:var(--ink);font:400 16px var(--font)}.booking-check{flex-direction:row!important;align-items:center;gap:10px!important;font-size:15px!important;color:var(--ink)!important}.booking-check input{width:20px;height:20px;accent-color:var(--olive)}.booking .button{margin-top:8px}.booking-done{font-size:20px;line-height:1.4}@media (max-width: 760px){body{font-size:16px}.top{height:60px;padding:0 20px}.top-links a{display:none}.wordmark{font-size:19px}.hero-film{object-position:50% 50%}.hero-type{left:20px;right:20px;top:92px}.hero h1{font-size:42px;line-height:1.04}.hero-type p{font-size:16px;margin-top:14px;max-width:14em}.hero-hour{left:16px;right:16px;bottom:16px;width:auto;padding:20px 16px 12px;flex-wrap:wrap;gap:2px 14px}.hero-hour:before,.hour-track{left:16px;right:16px}.intro{grid-template-columns:1fr;gap:40px;padding:96px 20px 88px}.intro-statement{font-size:28px}.intro-photo{width:72%;margin:0 0 0 auto}.tt{height:300vh}.tt-stage{grid-template-columns:1fr;grid-template-rows:34svh auto;gap:18px;padding:72px 20px 16px;align-items:start}.tt-frame{height:100%}.tt-clock{font-size:36px;left:14px;top:8px}.tt-side h2{font-size:32px}.tt-lead{display:none}.tt-days{margin:12px 0 4px;gap:2px;flex-wrap:nowrap}.tt-days button{min-width:0;flex:1;padding:0;font-size:14px;height:36px}.tt-list li{padding:8px 10px;margin:0 -10px;grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.tt-name{font-size:16px}.tt-name small{font-size:14px}.tt-at{font-size:15px}.tt-note{display:none}.offer{height:120svh;min-height:640px}.offer-card{left:20px;right:20px;bottom:32px;width:auto;padding:28px 24px 32px}.offer-price{font-size:88px}.teachers{grid-template-columns:1fr;padding:96px 0;gap:0}.teachers h2{font-size:40px;padding:0 20px;margin-bottom:24px}.teachers-list ul,.t-bio,.teachers-photo{display:none}.teachers-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px 8px;scrollbar-width:none}.teachers-row::-webkit-scrollbar{display:none}.teachers-row figure{margin:0;flex:0 0 78%;scroll-snap-align:center}.teachers-row img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.teachers-row figcaption{margin-top:12px;font-size:14px;color:var(--ink-soft)}.teachers-row strong{display:block;font-size:26px;font-weight:300;letter-spacing:-.03em;color:var(--ink)}.prices{grid-template-columns:1fr;gap:0;padding:0 20px 96px}.prices-photo{position:relative;top:0;height:64svh;margin:0 -20px}.prices h2{font-size:40px;margin:48px 0 8px}.plan-price{font-size:52px}.plan h3{font-size:21px}.close-type{left:20px;right:20px;top:96px}.close h2{font-size:40px}.close-photo{object-position:52% 50%}.booking-panel{padding:76px 20px 32px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}.intro-statement span{color:var(--ink)}}
