@font-face{font-family:Manrope;src:url('/assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Display;src:url('/assets/display.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Display;src:url('/assets/display-italic.ttf') format('truetype');font-weight:100 900;font-style:italic;font-display:swap}
:root{--bg:#080b18;--surface:#111425;--text:#f7f5ed;--gold:#f0cd7b;--muted:#bfc0cc;--line:rgba(247,245,237,.20);--ease:180ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--text);font:18px/1.65 Manrope,sans-serif}body.dialog-open{overflow:hidden}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button,a{transition:color var(--ease),background-color var(--ease),border-color var(--ease)}[hidden]{display:none!important}.shell{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 24px;background:var(--gold);color:var(--bg);z-index:100}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:var(--bg)}.site-header.is-scrolled{box-shadow:0 1px 0 var(--line)}.header-inner{display:flex;align-items:center;gap:36px;min-height:96px;border-bottom:1px solid var(--line)}.wordmark{position:relative;display:flex;flex-direction:column;font:800 30px/.85 Display,sans-serif;letter-spacing:-.04em;padding:10px 16px 10px 0}.wordmark i{position:absolute;width:7px;height:7px;border-radius:50%;right:2px;bottom:11px;background:var(--gold)}.header-city{display:flex;align-items:center;gap:8px;font-size:15px;min-height:44px}.header-city svg{height:18px;width:18px;fill:none;stroke:var(--gold);stroke-width:1.5}.header-nav{margin-left:auto;font-size:15px}.header-nav a{display:flex;align-items:center;min-height:44px}.header-booking{display:flex;align-items:center;gap:24px;padding:10px 24px;border:1px solid var(--line);border-radius:100px;background:transparent;min-height:48px;font-size:15px}.header-booking:hover{border-color:var(--gold)}.header-nav a:hover,.header-city:hover{color:var(--gold)}
.hero{display:grid;grid-template-columns:1fr 1.06fr;column-gap:48px;align-items:center;padding-top:64px}.hero-content{padding:8px 0}.hero h1{font:800 clamp(70px,6.65vw,96px)/1.01 Display,sans-serif;text-transform:uppercase;letter-spacing:-.045em}.hero h1 em{display:block;color:var(--gold);font-weight:800}.hero-location{display:block;margin-top:16px;font-size:.6em;letter-spacing:-.025em;line-height:1.12}.hero-lead{font-size:22px;line-height:1.55;margin-top:28px;max-width:430px}.hero-actions{margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;border-radius:100px;padding:8px 8px 8px 26px;font-weight:650;font-size:16px;line-height:1.45;text-align:left}.button-gold{background:var(--gold);color:var(--bg)}.button-gold:hover{background:#ffdea0}.button:active{background:#e7bb5b}.button>span{display:grid;place-items:center;font-size:26px;border-radius:50%;background:var(--bg);color:var(--gold);width:52px;height:52px;flex-shrink:0}.hero-art{overflow:hidden;border-radius:4px;aspect-ratio:1.5;position:relative;background:none}.hero-photo{height:100%;width:100%;object-fit:contain;transform:none}.hero-art:before,.hero-art:after{content:none;position:absolute;left:0;right:0;height:1px;background:var(--line)}.hero-art:before{top:0}.hero-art:after{bottom:0}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;gap:40px;margin-top:48px;padding:24px 0;border-bottom:1px solid var(--line)}.text-link{display:flex;align-items:center;gap:20px;min-height:48px;font-size:16px}.text-link span{color:var(--gold)}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.city-links{display:flex;flex-wrap:wrap;gap:4px 28px;scroll-margin-top:120px}.city-links a{display:flex;align-items:center;min-height:44px;min-width:44px;font-size:16px;color:var(--muted);text-decoration:underline;text-decoration-color:#686b7b;text-underline-offset:6px}.city-links a:hover,.city-links a[aria-current]{color:var(--gold);text-decoration-color:var(--gold)}.hero-explore{margin-left:auto;font-size:15px;display:flex;gap:16px;align-items:center;min-height:44px}.hero-explore span{border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;height:44px;width:44px;flex:none}.hero-explore:hover{color:var(--gold)}
.lessons{padding-top:104px;padding-bottom:96px}h2{font:750 68px/1.03 Display,sans-serif;text-transform:uppercase;letter-spacing:-.035em}.gold-dot{color:var(--gold)}.lesson-opening{display:grid;grid-template-columns:.82fr 1.35fr;gap:64px;align-items:center}.lesson-pace{margin-top:24px;font-size:22px;color:var(--gold);line-height:1.5}.lesson-steps{list-style:none;padding:0;margin:32px 0 0;counter-reset:steps}.lesson-steps li{display:flex;align-items:baseline;gap:20px;font-size:20px;line-height:1.5;padding:13px 0;border-bottom:1px solid var(--line);counter-increment:steps}.lesson-steps li:first-child{border-top:1px solid var(--line)}.lesson-steps li:before{content:'0'counter(steps);color:var(--gold);font:500 14px/1.5 Manrope,sans-serif;flex:0 0 24px}.teacher-photo{border-radius:4px;overflow:hidden;aspect-ratio:1.3}.teacher-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 50%}
.feedback-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);column-gap:96px;row-gap:36px;margin-top:96px;padding-top:64px;border-top:1px solid var(--line)}.pair-photo{grid-column:1;grid-row:1;min-width:0}.pair-photo img{width:100%;height:auto;border-radius:4px}.pair-photo figcaption{font-size:15px;line-height:1.5;color:var(--muted);margin-top:12px}.feedback-copy{grid-column:1;grid-row:2}.feedback-copy h3{font:750 clamp(40px,3.8vw,56px)/1.05 Display,sans-serif;letter-spacing:-.025em;text-transform:uppercase;max-width:760px;text-wrap:balance}.feedback-copy h3 em{color:var(--gold);display:block;font-weight:750;text-wrap:balance}.feedback-copy p{font-size:18px;line-height:1.7;color:var(--muted);max-width:640px;margin-top:24px}.video-column{grid-column:2;grid-row:1/3;align-self:end;min-width:0}.watch-lesson{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-bottom:24px;padding:8px 0 20px;background:transparent;color:var(--gold);text-align:left;font-size:18px;line-height:1.6}.watch-lesson span{text-decoration:underline;text-decoration-color:rgba(240,205,123,.45);text-underline-offset:6px}.watch-lesson:hover span{text-decoration-color:var(--gold)}.watch-arrow{width:72px;height:64px;flex:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(60deg)}.lesson-film{width:100%}.film-frame{position:relative;aspect-ratio:9/16;border-radius:4px;overflow:hidden;background:var(--surface)}.film-frame video{width:100%;height:100%;object-fit:contain}.lesson-film figcaption{margin-top:12px;font-size:13px;line-height:1.5;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.lesson-film figcaption span{color:#d4c7a8}.video-status{font-size:14px;margin-top:12px;color:var(--muted)}.lesson-action{display:flex;justify-content:center;padding-top:48px;margin-top:48px;border-top:1px solid var(--line)}
.video-dialog {
  width:fit-content;
  max-width:calc(100% - 32px);
  max-height:calc(100dvh - 112px);
  padding:0;
  color:var(--text);
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
.video-dialog::backdrop {
  background:rgba(2,4,12,.88);
  backdrop-filter:blur(8px);
}
.video-dialog-heading {
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:0;
}
.video-dialog-heading h2 {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.close-video {
  position:absolute;
  right:0;
  bottom:8px;
  width:44px;
  height:44px;
  background:transparent;
  font-size:30px;
}
#lesson-viewer {
  display:block;
  width:auto;
  max-width:calc(100vw - 32px);
  height:auto;
  max-height:calc(100dvh - 112px);
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
}
.viewer-status {
  margin-top:12px;
  font-size:14px;
  color:var(--muted);
}
.booking-dialog {
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:20px;
  width:min(520px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  padding:40px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.booking-dialog::backdrop {
  background:rgba(2,4,12,.8);
  backdrop-filter:blur(6px);
}
.close-dialog {
  position:absolute;
  right:12px;
  top:12px;
  background:transparent;
  width:44px;
  height:44px;
  font-size:30px;
  font-weight:300;
}
.dialog-kicker {
  font-size:12px;
  color:var(--gold);
  margin-bottom:16px;
}
.booking-dialog h2 {
  font-size:48px;
}
.booking-dialog #demo-note {
  font-size:13px;
  color:var(--muted);
  margin-top:24px;
}
.booking-dialog label {
  display:block;
  margin:20px 0 8px;
  font-size:14px;
}
.booking-dialog select,
.booking-dialog input,
.booking-dialog textarea {
  display:block;
  width:100%;
  min-height:56px;
  border:1px solid #777988;
  border-radius:8px;
  background:var(--bg);
  color:var(--text);
  padding:12px;
  font:inherit;
  font-size:16px;
}
.booking-dialog textarea {min-height:104px;max-height:240px;resize:vertical;line-height:1.5}
.booking-dialog input::placeholder,.booking-dialog textarea::placeholder {color:#9296a6;opacity:1}
.booking-dialog input:focus-visible,.booking-dialog textarea:focus-visible {outline:2px solid var(--gold);outline-offset:4px}
.booking-dialog input[aria-invalid="true"],.booking-dialog select[aria-invalid="true"] {border-color:#ffb3aa}
.field-optional {color:var(--muted);font-weight:400}
.booking-dialog .button {
  margin-top:24px;
  width:100%;
}
.field-error {
  font-size:13px;
  color:#ffb3aa;
  margin-top:8px;
}
.form-result {
  margin-top:20px;
  font-size:14px;
  color:var(--gold);
}
.noscript-note {
  padding-bottom:32px;
  color:var(--muted);
}
.booking-dialog #demo-note,.booking-dialog label,.booking-dialog .field-error,.booking-dialog .form-result{font-size:16px}.booking-dialog .dialog-kicker{font-size:15px}.booking-dialog .button{font-size:16px}
@media(max-width:1150px){.shell{width:calc(100% - 64px)}.header-inner{gap:24px}.header-nav{display:none}.header-booking{margin-left:auto}.hero{column-gap:32px;padding-top:48px}.hero h1{font-size:clamp(58px,6.8vw,78px)}.hero-lead{font-size:20px}.hero-art{aspect-ratio:1.5}.hero-bottom{gap:24px;flex-wrap:wrap}.hero-explore{font-size:14px}.city-links{gap:0 24px}.lesson-opening{gap:40px;grid-template-columns:1fr 1.2fr}h2{font-size:58px}.lesson-steps li{font-size:19px}.teacher-photo{aspect-ratio:1.15}.feedback-row{gap:32px 48px}.watch-lesson{font-size:16px}.feedback-copy h3{font-size:46px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px;padding-top:48px}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;align-items:start}.hero h1{grid-column:1/-1;font-size:clamp(70px,10.9vw,94px);max-width:760px}.hero-lead{margin-top:0;font-size:22px}.hero-actions{margin-top:0;align-self:center}.hero-actions .button{font-size:15px;gap:12px;padding-left:22px}.hero-art{aspect-ratio:1.95;background:none}.hero-photo{object-fit:cover;object-position:50% 56%}.hero-bottom{margin-top:0;padding:0 0 24px;gap:16px 24px}.city-links{flex:1;justify-content:space-between;gap:0 16px}.hero-explore{display:none}.lessons{padding-top:72px}.lesson-opening{grid-template-columns:1fr;gap:40px}.lesson-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:start}.lesson-intro h2{font-size:58px}.lesson-pace{grid-column:1;margin-top:24px;font-size:21px}.lesson-steps{grid-column:2;grid-row:1/3;margin:0}.lesson-steps li{padding:12px 0;font-size:18px;gap:12px}.teacher-photo{aspect-ratio:1.5}.feedback-row{grid-template-columns:minmax(0,1fr) 280px;column-gap:40px;margin-top:64px;padding-top:48px}.feedback-copy h3{font-size:42px}.feedback-copy p{font-size:17px;margin-top:20px}.watch-lesson{gap:8px}.watch-arrow{width:48px}.lesson-film figcaption{display:block;font-size:13px}.lesson-film figcaption span{display:block;margin-top:4px}}
@media(max-width:650px){html{scroll-padding-top:88px}.shell{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:16px}.wordmark{font-size:26px}.header-city{margin-left:auto;font-size:14px}.header-booking{display:none}.hero{padding-top:32px;gap:28px}.hero-content{display:block;padding:0}.hero h1{font-size:clamp(43px,11.65vw,72px);line-height:1.06;letter-spacing:-.035em}.hero-location{font-size:.65em;margin-top:12px;line-height:1.12}.hero-lead{font-size:19px;line-height:1.6;margin-top:24px;max-width:350px}.hero-actions{margin-top:24px}.button,.hero-actions .button{min-height:64px;width:100%;font-size:15px;padding-left:20px;gap:12px}.button>span{width:48px;height:48px;font-size:24px}.hero-art{aspect-ratio:1.5}.hero-photo{object-fit:cover;object-position:center}.hero-bottom{display:grid;grid-template-columns:1fr;gap:0;padding-bottom:28px}.text-link{font-size:16px;justify-content:space-between}.city-links{display:grid;grid-template-columns:max-content max-content;justify-content:space-between;gap:0 24px}.city-links a{font-size:16px;min-height:48px}.lessons{padding-top:56px;padding-bottom:64px}.lesson-opening{gap:32px}.lesson-intro{display:block}.lesson-intro h2{font-size:clamp(43px,12.2vw,64px)}.lesson-pace{font-size:20px;margin-top:24px}.lesson-steps{margin-top:28px}.lesson-steps li{font-size:19px;padding:14px 0;gap:16px}.teacher-photo{margin-inline:-20px;border-radius:0;aspect-ratio:1.5}.feedback-row{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:48px;padding-top:40px}.pair-photo{grid-column:1;grid-row:1}.pair-photo img{aspect-ratio:1.18;object-fit:cover;object-position:35% 50%}.pair-photo figcaption{font-size:15px}.feedback-copy{grid-column:1;grid-row:2}.feedback-copy h3{font-size:clamp(40px,11.8vw,60px);line-height:1.06}.feedback-copy p{font-size:17px;line-height:1.7;margin-top:20px}.video-column{grid-column:1;grid-row:3;width:min(100%,320px);justify-self:center}.watch-lesson{font-size:17px;margin-bottom:16px;padding-bottom:12px;gap:16px}.watch-arrow{width:64px}.lesson-film figcaption{display:flex;font-size:12px}.lesson-film figcaption span{margin:0}.lesson-action{padding-top:32px;margin-top:40px}.booking-dialog{padding:32px 24px;width:calc(100% - 24px)}.booking-dialog h2{font-size:42px}.dialog-kicker{padding-right:32px}.booking-dialog .button{font-size:15px}.booking-dialog select{font-size:16px}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.header-city{font-size:13px}.hero h1{font-size:40px}.hero-lead{font-size:18px}.button,.hero-actions .button{font-size:14px;padding-left:18px;gap:8px}.button>span{width:44px;height:44px}.lesson-intro h2{font-size:43px}.lesson-steps li{font-size:18px;gap:12px}.teacher-photo{margin-inline:-16px}.feedback-copy h3{font-size:40px}.watch-lesson{font-size:16px}.booking-dialog{padding:32px 20px}.booking-dialog h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-photo{transform:none!important}}
@media(min-width:651px) and (max-width:900px){.lesson-intro{display:block}.lesson-intro h2{font-size:64px}.lesson-pace{margin-top:24px}.lesson-steps{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:28px}.lesson-steps li:nth-child(2){border-top:1px solid var(--line)}}


/* Approved immersive Hero: restore the photo treatment from the original design. */
.site-header {
  position:fixed;
  inset:0 0 auto;
  background:linear-gradient(var(--bg),rgba(8,11,24,.6),transparent);
}
.site-header.is-scrolled {
  background:rgba(8,11,24,.96);
  backdrop-filter:blur(14px);
}
.header-inner {min-height:88px;border-bottom:0}
.hero {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  min-height:810px;
  padding:0;
  gap:0;
  overflow:hidden;
}
.hero-art {
  position:absolute;
  z-index:-1;
  top:96px;
  right:0;
  bottom:24px;
  width:68%;
  aspect-ratio:auto;
  border-radius:0;
  background:none;
}
.hero-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% 50%;
  transform:translateY(var(--parallax,0px)) scale(1.035);
}
.hero-art::after {
  content:'';
  position:absolute;
  inset:0;
  height:auto;
  pointer-events:none;
  background:linear-gradient(90deg,var(--bg) 0%,rgba(8,11,24,.88) 12%,rgba(8,11,24,.15) 42%,rgba(8,11,24,.03) 80%),linear-gradient(0deg,var(--bg),transparent 20%,transparent 86%,rgba(8,11,24,.3)),linear-gradient(270deg,rgba(8,11,24,.48),rgba(8,11,24,.12) 20%,transparent 40%);
}
.hero-content {display:block;padding:116px 0 100px}
.hero h1 {
  max-width:960px;
  font-size:clamp(88px,8.1vw,124px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.045em;
}
.hero-location {font-size:.55em;line-height:1.1;margin-top:16px}
.hero h1 em {font-weight:900}
.hero-lead {font-size:22px;font-weight:500;line-height:1.6;margin-top:32px;max-width:620px}
.hero-actions {display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px}
.hero .text-link {justify-content:flex-start;font-size:16px;min-height:48px}
.hero .city-links {
  display:flex;
  flex:none;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:0 28px;
  max-width:540px;
  margin-top:8px;
  scroll-margin-top:112px;
}
.hero .city-links a {font-size:16px;min-height:44px}
.hero-explore {
  display:flex;
  position:absolute;
  right:max(56px,calc((100vw - 1280px)/2));
  bottom:32px;
  gap:20px;
  font-size:15px;
}
@media(min-width:1600px) {
  .hero {min-height:880px}
  .hero-art {width:65%}
}
@media(max-width:1050px) and (min-width:651px) {
  .hero {min-height:800px}
  .hero-art {width:85%;opacity:.8}
  .hero-content {padding-top:132px}
  .hero h1 {max-width:700px;font-size:clamp(68px,9vw,94px)}
  .hero-art::after {
    background:linear-gradient(90deg,var(--bg),rgba(8,11,24,.88) 30%,rgba(8,11,24,.12)),linear-gradient(0deg,var(--bg),transparent 30%),linear-gradient(270deg,rgba(8,11,24,.4),transparent 40%);
  }
  .hero-explore {right:32px}
}
@media(max-width:650px) {
  .site-header {background:rgba(8,11,24,.95)}
  .header-inner {min-height:76px}
  .hero {flex-direction:column;align-items:stretch;min-height:0;padding-top:76px}
  .hero-content {order:1;padding-top:28px;padding-bottom:0}
  .hero h1 {max-width:100%;font-size:clamp(43px,11.65vw,72px);line-height:1.06;letter-spacing:-.035em}
  .hero-location {font-size:.65em;line-height:1.12;margin-top:12px}
  .hero-lead {font-size:19px;line-height:1.6;margin-top:24px;max-width:350px}
  .hero-actions {align-items:stretch;margin-top:24px;gap:8px}
  .hero .text-link {justify-content:space-between}
  .hero .city-links {display:grid;grid-template-columns:max-content max-content;justify-content:space-between;gap:0 24px;margin-top:0;max-width:100%}
  .hero .city-links a {min-height:48px}
  .hero-art {position:relative;z-index:auto;order:2;top:auto;right:auto;bottom:auto;width:100%;aspect-ratio:1.5;margin-top:24px;opacity:1}
  .hero-photo {transform:none;object-position:50% center}
  .hero-art::after {background:linear-gradient(180deg,var(--bg),transparent 12%,transparent 78%,var(--bg))}
  .hero-explore {position:relative;order:3;bottom:auto;right:auto;justify-content:flex-end;margin:0 20px 24px;font-size:14px}
}
@media(max-width:360px) {
  .hero-content {padding-top:24px}
  .hero h1 {font-size:40px}
  .hero-lead {font-size:18px}
  .hero-art {margin-top:16px}
  .hero-explore {margin-inline:16px}
}
@media(prefers-reduced-motion:reduce) {
  .hero-photo {transform:none!important}
}
