
:root{
  --black:#242424;
  --cream:#F3F1EC;
  --paper:#F3F1EC;
  --ink:#242424;
  --muted:#6F6A64;
  --red:#71383A;
  --line:rgba(17,17,17,.18);
  --line-dark:rgba(255,255,255,.22);
  --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--ink);
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}
a{color:inherit;text-decoration:none}
figure{margin:0}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{
  position:fixed;
  inset:0 0 auto 0;
  height:82px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 4vw;
  z-index:50;
  color:#fff;
  mix-blend-mode:difference;
  pointer-events:none;
}
.site-header > *{pointer-events:auto}
.brand{
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  font-size:18px;
  font-weight:600;
  letter-spacing:.14em;
  justify-self:start;
}
.main-nav{display:flex;gap:34px;align-items:center}
.main-nav a{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  opacity:.72;
  transition:.25s ease;
}
.main-nav a:hover,.main-nav a.active{opacity:1}
.book-orbit{
  justify-self:end;
  width:84px;height:84px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;gap:9px;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.2em;
}
.book-orbit i,.book-large i{
  width:10px;height:10px;border-radius:50%;background:var(--red);display:block
}
.menu-toggle{display:none;background:none;border:0;color:#fff}

.section-dark{background:var(--black);color:#F3F1EC}
.section-light{background:var(--paper);color:var(--ink)}
main section{position:relative}
.section-index{
  position:absolute;left:4vw;top:42px;
  font-size:12px;letter-spacing:.16em;
}
.section-index::after{
  content:"";display:block;width:1px;height:62px;margin:15px 0 0 12px;
  background:currentColor;opacity:.32;
}
.section-kicker{
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.2em;
}

.hero{
  min-height:100svh;
  padding:125px 5vw 60px;
  display:grid;
  grid-template-columns:1.05fr .95fr .95fr;
  align-items:center;
  gap:5vw;
  overflow:hidden;
}
.hero-copy{align-self:center;z-index:2}
.hero-copy .eyebrow{
  font-size:11px;text-transform:uppercase;letter-spacing:.24em;margin:0 0 38px
}
.hero h1{
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  font-weight:500;
  font-size:clamp(46px,4.8vw,82px);
  line-height:.94;
  letter-spacing:-.045em;
  margin:0 0 28px;
}
.role{
  text-transform:uppercase;
  font-size:13px;
  line-height:1.75;
  letter-spacing:.16em;
  margin:0;
}
.micro-line{
  display:block;width:44px;height:1px;background:#fff;margin-top:24px;opacity:.65
}
.hero-image{
  height:min(66vh,690px);
  min-height:450px;
}
.hero-note{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:38px;
}
.circle-note{
  width:150px;height:150px;border:1px solid var(--red);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:10px;line-height:1.7;
}
.hero-note p{
  text-transform:uppercase;letter-spacing:.18em;font-size:10px;line-height:1.8
}
.scroll-cue{
  position:absolute;left:5vw;bottom:28px;
  text-transform:uppercase;font-size:9px;letter-spacing:.18em;opacity:.72
}
.scroll-cue span{display:block;font-size:18px;margin-top:8px}

.philosophy{
  min-height:720px;
  padding:72px 7vw 72px 13vw;
  display:grid;
  grid-template-columns:1.05fr .9fr .35fr;
  gap:6vw;
  align-items:center;
}
.philosophy-copy h2,.method-copy h2,.education-copy h2,.booking h2{
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  font-weight:500;letter-spacing:-.045em;
  margin:0 0 26px;
}
.philosophy-copy h2{font-size:clamp(52px,5vw,82px)}
.lead{font-size:20px;line-height:1.45}
.philosophy-copy p:not(.lead),.method-copy p,.education-copy p{
  max-width:620px;font-size:15px;line-height:1.8;color:#242424
}
.philosophy-image{height:480px}
.philosophy-tags{
  border-left:1px solid var(--line);
  padding-left:35px;
  display:flex;flex-direction:column;gap:9px;
  text-transform:uppercase;font-size:10px;letter-spacing:.18em
}
.text-link{
  margin-top:32px;display:inline-flex;gap:22px;align-items:center;
  border-top:1px solid var(--line);padding-top:16px;
  text-transform:uppercase;font-size:11px;letter-spacing:.19em
}
.text-link span{font-size:25px;line-height:0}
.text-link.light{border-color:var(--line-dark)}

.selected-work{
  padding:82px 5vw 76px 11vw;
  display:grid;
  grid-template-columns:1fr 260px;
  gap:34px;
  align-items:end;
}
.selected-work .section-kicker{position:absolute;left:11vw;top:35px}
.work-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:48px
}
.work-grid figure{aspect-ratio:.78;overflow:hidden}
.work-grid img{transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.work-grid figure:hover img{transform:scale(1.035)}
.work-copy{padding:0 0 8px 12px}
.work-copy .lead{color:#fff}
.work-copy p:not(.lead){font-size:14px;line-height:1.7;color:#C9C5BD}

.method{
  min-height:720px;
  padding:80px 6vw 80px 13vw;
  display:grid;
  grid-template-columns:1fr .75fr .55fr;
  gap:6vw;
  align-items:center;
}
.method-copy h2{font-size:clamp(52px,5vw,82px)}
.method-image{height:500px;position:relative}
.red-orbit{
  position:absolute;left:-55px;top:30%;width:185px;height:185px;
  border:1px solid var(--red);border-radius:50%;z-index:2
}
.method-list{display:flex;flex-direction:column}
.method-list div{
  display:grid;grid-template-columns:50px 1fr;gap:18px;
  padding:22px 0;border-bottom:1px solid var(--line);
  text-transform:uppercase;font-size:11px;letter-spacing:.18em
}
.method-list b{font-weight:500}

.education{
  min-height:680px;
  padding:70px 6vw 70px 11vw;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:7vw;align-items:center
}
.education-image{height:485px}
.education-copy h2{font-size:clamp(45px,4.6vw,76px)}
.education-copy p{color:#C9C5BD}
.mini-list{
  margin:28px 0 4px;display:flex;flex-direction:column;gap:8px;
  text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:#eee
}

.recognition{
  min-height:520px;
  padding:76px 5vw 70px 11vw;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:5vw;align-items:center
}
.recognition .section-kicker{position:absolute;left:11vw;top:36px}
.recognition-stats{
  display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:38px;
  margin-top:40px
}
.recognition-stats div{border-top:1px solid var(--line);padding-top:18px}
.recognition-stats strong{
  display:block;font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;font-weight:400;
  font-size:46px;line-height:1;margin-bottom:9px
}
.recognition-stats span{
  text-transform:uppercase;font-size:9px;line-height:1.55;letter-spacing:.16em
}
.recognition-image{height:260px}
.recognition-link{position:absolute;right:5vw;bottom:35px}

.booking{
  min-height:620px;
  padding:90px 7vw 75px 11vw;
  display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center
}
.booking h2{font-size:clamp(62px,7vw,110px);line-height:.9;margin-top:25px}
.book-large{
  width:190px;height:190px;border:1px solid rgba(255,255,255,.65);
  border-radius:50%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;
  align-items:center;gap:12px;padding:42px 30px;margin-top:42px;
  text-transform:uppercase;font-size:11px;letter-spacing:.18em
}
.book-large b{grid-column:1/-1;font-size:25px;font-weight:400}
.booking-meta{
  display:grid;gap:46px;border-left:1px solid var(--line-dark);padding-left:50px
}
.booking-meta small{
  display:block;text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:#aaa;margin-bottom:13px
}
.booking-meta p,.booking-meta a{font-size:15px;line-height:1.9}
.booking-meta a{display:block}

.footer{
  background:#242424;color:#C9C5BD;
  min-height:100px;padding:0 5vw;
  display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px;
  text-transform:uppercase;font-size:8px;letter-spacing:.17em;border-top:1px solid rgba(255,255,255,.08)
}

.reveal{
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)
}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width: 980px){
  .site-header{height:70px;padding:0 22px;grid-template-columns:1fr auto}
  .main-nav{
    display:none;position:fixed;inset:70px 0 auto 0;background:#242424;
    padding:35px 22px 45px;flex-direction:column;align-items:flex-start;gap:22px
  }
  .main-nav.open{display:flex}
  .main-nav a{font-size:14px}
  .menu-toggle{display:block;justify-self:end;width:38px;height:38px;position:relative}
  .menu-toggle span:not(.sr-only){display:block;width:22px;height:1px;background:#fff;margin:6px auto}
  .book-orbit{display:none}

  .hero{
    min-height:auto;padding:105px 22px 65px;
    grid-template-columns:1fr;gap:35px
  }
  .hero-copy{order:1}
  .hero-image{order:2;height:62vh;min-height:460px}
  .hero-note{order:3;grid-template-columns:auto 1fr}
  .scroll-cue{display:none}
  .hero h1{font-size:54px}
  .hero-copy .eyebrow{margin-bottom:24px}

  .section-index{left:22px;top:30px}
  .philosophy,.method,.education,.recognition,.booking{
    padding:100px 22px 65px;
    grid-template-columns:1fr;
  }
  .philosophy{gap:40px}
  .philosophy-image{height:500px}
  .philosophy-tags{border-left:0;border-top:1px solid var(--line);padding:22px 0 0;display:grid;grid-template-columns:repeat(2,1fr)}
  .selected-work{
    padding:100px 22px 65px;grid-template-columns:1fr
  }
  .selected-work .section-kicker,.recognition .section-kicker{left:22px;top:58px}
  .work-grid{grid-template-columns:repeat(2,1fr);margin-top:20px}
  .work-copy{padding:20px 0 0}
  .method-image{height:480px}
  .method-list{margin-top:10px}
  .education-image{height:440px}
  .recognition-stats{grid-template-columns:1fr 1fr;margin-top:10px}
  .recognition-image{height:260px}
  .recognition-link{position:static;margin-top:10px}
  .booking{gap:55px}
  .booking-meta{border-left:0;border-top:1px solid var(--line-dark);padding:30px 0 0;grid-template-columns:1fr 1fr}
  .footer{grid-template-columns:1fr;padding:28px 22px;gap:12px}
}

@media (max-width: 560px){
  .brand{font-size:20px}
  .hero{padding-top:90px}
  .hero h1{font-size:46px}
  .hero-image{height:58vh;min-height:420px}
  .circle-note{width:125px;height:125px}
  .philosophy-copy h2,.method-copy h2{font-size:46px}
  .education-copy h2{font-size:42px}
  .booking h2{font-size:58px}
  .philosophy-image,.method-image,.education-image{height:420px}
  .recognition-stats{grid-template-columns:1fr}
  .booking-meta{grid-template-columns:1fr}
}

/* V2 — Geometric Bauhaus typography */
.hero h1,
.philosophy-copy h2,
.method-copy h2,
.education-copy h2,
.booking h2{
  text-transform:uppercase;
}

.philosophy-copy h2,
.method-copy h2,
.education-copy h2{
  line-height:.96;
}

/* V3 — Mobile section markers: compact, no long vertical line */
@media (max-width: 980px){
  .section-index{
    position:static;
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    font-size:10px;
    letter-spacing:.16em;
    line-height:1;
  }

  .section-index::after{
    display:none;
    content:none;
  }

  .section-kicker{
    position:static !important;
    display:inline-block;
    margin:0 0 28px;
    padding-left:8px;
    font-size:10px;
    letter-spacing:.17em;
  }

  .philosophy,
  .selected-work,
  .method,
  .education,
  .recognition,
  .booking{
    padding-top:72px;
  }

  .selected-work .section-kicker,
  .recognition .section-kicker{
    position:static;
    left:auto;
    top:auto;
  }
}


/* V4 — Refined HERO */
.hero{
  min-height:100svh;
  padding:118px 5vw 56px;
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(360px,.78fr) minmax(220px,.52fr);
  grid-template-rows:1fr auto;
  gap:4vw;
  align-items:center;
  overflow:hidden;
}
.hero-copy{align-self:center;max-width:560px;z-index:2}
.hero-copy .eyebrow{margin:0 0 28px;font-size:10px;text-transform:uppercase;letter-spacing:.24em;opacity:.72}
.hero h1{margin:0 0 26px;font-size:clamp(46px,4.5vw,74px);line-height:.92;letter-spacing:-.05em;font-weight:500;text-transform:none}
.hero .role{margin:0;font-size:11px;line-height:1.75;letter-spacing:.18em;text-transform:uppercase;opacity:.9}
.hero-image{height:min(70vh,720px);min-height:500px;align-self:center;overflow:hidden}
.hero-image img{object-position:center 28%}
.hero-side{align-self:center;min-height:420px;display:flex;flex-direction:column;justify-content:space-between;padding:38px 0 34px}
.hero-statement{display:flex;align-items:flex-start;gap:14px;max-width:170px}
.hero-dot{width:9px;height:9px;border-radius:50%;background:var(--red);flex:0 0 auto;margin-top:5px}
.hero-statement p{margin:0;font-size:12px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase}
.hero-booking{border-top:1px solid var(--line-dark);padding-top:18px;max-width:210px}
.hero-book-label{display:block;margin-bottom:10px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.hero-book-link{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:13px;line-height:1.3;text-transform:uppercase;letter-spacing:.14em}
.hero-book-link span{font-size:22px;line-height:1}
.hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:9px;text-transform:uppercase;letter-spacing:.18em;opacity:.58}
.scroll-cue,.hero-note,.micro-line{display:none!important}

@media (max-width:980px){
  .hero{min-height:auto;padding:92px 22px 38px;grid-template-columns:1fr;grid-template-rows:auto;gap:28px}
  .hero-copy{max-width:none}
  .hero-copy .eyebrow{margin-bottom:18px}
  .hero h1{font-size:clamp(42px,11vw,58px);margin-bottom:20px}
  .hero .role{font-size:10px}
  .hero-image{height:58vh;min-height:430px;order:2}
  .hero-side{order:3;min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:6px 0 0}
  .hero-statement,.hero-booking{max-width:none}
  .hero-booking{padding-top:0;border-top:0;border-left:1px solid var(--line-dark);padding-left:22px}
  .hero-meta{order:4;margin-top:8px}
}
@media (max-width:560px){
  .hero{padding-top:82px}
  .hero h1{font-size:43px;letter-spacing:-.045em}
  .hero-image{height:54vh;min-height:400px}
  .hero-side{grid-template-columns:1fr}
  .hero-booking{border-left:0;border-top:1px solid var(--line-dark);padding-left:0;padding-top:16px}
  .hero-meta{align-items:flex-start;gap:20px;flex-direction:column}
}


/* V5 — ABOUT / PHILOSOPHY with Andrii's real portrait */
.philosophy{
  min-height:760px;
  padding:86px 8vw 86px 13vw;
  grid-template-columns:minmax(340px,.9fr) minmax(360px,.72fr) minmax(120px,.22fr);
  gap:5vw;
}

.philosophy-copy{
  max-width:610px;
}

.philosophy-copy h2{
  font-size:clamp(48px,4.6vw,76px);
  margin-bottom:30px;
}

.philosophy-copy .lead{
  max-width:520px;
  margin-bottom:28px;
}

.philosophy-copy p:not(.lead){
  max-width:560px;
}

.philosophy-copy .about-experience{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.philosophy-image{
  height:auto;
  aspect-ratio:.74;
  max-height:610px;
  overflow:hidden;
  align-self:center;
}

.philosophy-image img{
  filter:none;
  object-position:center 42%;
}

@media (max-width:980px){
  .philosophy{
    min-height:auto;
    padding:72px 22px 66px;
    grid-template-columns:1fr;
    gap:34px;
  }

  .philosophy-copy{
    max-width:none;
  }

  .philosophy-image{
    width:min(88%,520px);
    height:auto;
    max-height:none;
    aspect-ratio:.78;
    justify-self:center;
  }

  .philosophy-tags{
    margin-top:4px;
  }
}

@media (max-width:560px){
  .philosophy-image{
    width:92%;
    aspect-ratio:.76;
  }

  .philosophy-copy h2{
    font-size:43px;
  }
}

/* V6 — ABOUT rebuilt to match approved mockup */
.philosophy{
  min-height:100vh;
  padding:110px 5.5vw 44px;
  display:grid;
  grid-template-columns:minmax(420px, .95fr) minmax(520px, 1.15fr);
  grid-template-rows:1fr auto;
  column-gap:6.5vw;
  row-gap:40px;
  align-items:center;
}

.about-left{
  align-self:center;
  max-width:650px;
}

.about-marker{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:18px;
  row-gap:10px;
  align-items:start;
  margin-bottom:44px;
}

.about-number{
  grid-column:1;
  grid-row:1;
  font-size:11px;
  letter-spacing:.18em;
  line-height:1;
}

.about-rule{
  grid-column:1;
  grid-row:2;
  width:1px;
  height:42px;
  background:currentColor;
  opacity:.35;
  margin-left:7px;
}

.about-marker .section-kicker{
  grid-column:2;
  grid-row:2;
  margin:0;
  padding:0 0 0 10px;
  align-self:end;
  font-size:10px;
  letter-spacing:.22em;
}

.philosophy-copy{
  max-width:600px;
}

.philosophy-copy h2{
  margin:0 0 26px;
  font-size:clamp(54px,5.2vw,88px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:500;
  text-transform:uppercase;
}

.philosophy-copy .lead{
  max-width:520px;
  margin:0 0 28px;
  font-size:clamp(20px,1.6vw,28px);
  line-height:1.35;
}

.philosophy-copy p:not(.lead){
  max-width:570px;
  margin:0 0 22px;
  font-size:15px;
  line-height:1.7;
  color:#242424;
}

.philosophy-copy .about-experience{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.philosophy-image{
  width:100%;
  height:auto;
  aspect-ratio:.73;
  max-height:none;
  align-self:center;
  overflow:hidden;
}

.philosophy-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  filter:none;
}

.philosophy .text-link{
  margin-top:26px;
}

.about-footer-line{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:22px;
  border-top:1px solid var(--line);
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.22em;
}

@media (max-width:1100px){
  .philosophy{
    grid-template-columns:minmax(360px, .9fr) minmax(420px, 1.1fr);
    column-gap:4.5vw;
  }

  .philosophy-copy h2{
    font-size:clamp(50px,5vw,72px);
  }
}

@media (max-width:980px){
  .philosophy{
    min-height:auto;
    padding:78px 22px 44px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:34px;
  }

  .about-left{
    max-width:none;
  }

  .about-marker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
  }

  .about-number{
    font-size:10px;
  }

  .about-number::after{
    content:" /";
  }

  .about-rule{
    display:none;
  }

  .about-marker .section-kicker{
    margin:0;
    padding:0;
    font-size:10px;
  }

  .philosophy-copy h2{
    font-size:clamp(44px,11vw,58px);
    line-height:.94;
  }

  .philosophy-image{
    width:100%;
    max-width:620px;
    justify-self:center;
    aspect-ratio:.76;
  }

  .about-footer-line{
    grid-column:1;
    gap:18px;
    flex-wrap:wrap;
  }
}

@media (max-width:560px){
  .philosophy{
    padding-top:68px;
  }

  .philosophy-copy h2{
    font-size:45px;
  }

  .philosophy-copy .lead{
    font-size:20px;
  }

  .philosophy-copy p:not(.lead){
    font-size:14px;
    line-height:1.65;
  }

  .philosophy-image{
    aspect-ratio:.72;
  }

  .about-footer-line{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* V7 — Small circular ABOUT portrait */
.philosophy{
  grid-template-columns:minmax(520px,1fr) minmax(260px,.42fr);
  column-gap:5vw;
  align-items:center;
}

.philosophy-image{
  width:280px;
  height:280px;
  aspect-ratio:1 / 1;
  border-radius:50%;
  overflow:hidden;
  justify-self:center;
  align-self:center;
  max-height:none;
}

.philosophy-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:none;
}

@media (max-width:1100px){
  .philosophy{
    grid-template-columns:minmax(420px,1fr) minmax(230px,.4fr);
  }

  .philosophy-image{
    width:240px;
    height:240px;
  }
}

@media (max-width:980px){
  .philosophy{
    grid-template-columns:1fr;
  }

  .philosophy-image{
    width:220px;
    height:220px;
    max-width:none;
    aspect-ratio:1 / 1;
    justify-self:start;
  }
}

@media (max-width:560px){
  .philosophy-image{
    width:190px;
    height:190px;
    aspect-ratio:1 / 1;
  }
}

/* V8 — ABOUT: portrait left, editorial text column right */
.philosophy{
  min-height:100vh;
  padding:112px 6vw 42px;
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(420px,.95fr);
  grid-template-rows:1fr auto;
  gap:4.5vw 8vw;
  align-items:center;
}

.about-left{
  align-self:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-marker{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:16px;
  row-gap:10px;
  align-items:start;
  margin-bottom:58px;
}

.about-number{
  grid-column:1;
  grid-row:1;
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
}

.about-rule{
  grid-column:1;
  grid-row:2;
  width:1px;
  height:40px;
  margin-left:7px;
  background:currentColor;
  opacity:.34;
}

.about-marker .section-kicker{
  grid-column:2;
  grid-row:2;
  align-self:end;
  margin:0;
  padding:0;
  font-size:10px;
  letter-spacing:.22em;
}

.philosophy-image{
  width:260px;
  height:260px;
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  align-self:auto;
  justify-self:auto;
  margin-left:8vw;
}

.philosophy-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:none;
}

.philosophy-copy{
  width:min(100%, 560px);
  max-width:560px;
  justify-self:start;
  align-self:center;
}

.philosophy-copy h2{
  margin:0 0 28px;
  font-size:clamp(54px,5vw,82px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:500;
  text-transform:uppercase;
}

.philosophy-copy .lead{
  max-width:500px;
  margin:0 0 34px;
  font-size:clamp(20px,1.55vw,27px);
  line-height:1.35;
}

.about-column-copy{
  width:min(100%, 500px);
  columns:1;
}

.about-column-copy p{
  margin:0 0 24px;
  max-width:500px;
  font-size:15px;
  line-height:1.7;
  color:#242424;
}

.about-column-copy .about-experience{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.philosophy .text-link{
  margin-top:24px;
}

.about-footer-line{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:22px;
  border-top:1px solid var(--line);
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.22em;
}

@media (max-width:1100px){
  .philosophy{
    grid-template-columns:minmax(300px,.8fr) minmax(390px,1fr);
    gap:4vw 6vw;
  }

  .philosophy-image{
    width:230px;
    height:230px;
    margin-left:5vw;
  }

  .philosophy-copy{
    max-width:520px;
  }
}

@media (max-width:980px){
  .philosophy{
    min-height:auto;
    padding:76px 22px 44px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:32px;
  }

  .about-left{
    display:block;
  }

  .about-marker{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
  }

  .about-number::after{
    content:" /";
  }

  .about-rule{
    display:none;
  }

  .about-marker .section-kicker{
    margin:0;
    padding:0;
  }

  .philosophy-image{
    width:210px;
    height:210px;
    margin-left:0;
    justify-self:start;
  }

  .philosophy-copy{
    width:100%;
    max-width:620px;
  }

  .philosophy-copy h2{
    font-size:clamp(44px,11vw,58px);
  }

  .about-column-copy{
    width:100%;
    max-width:560px;
  }

  .about-footer-line{
    grid-column:1;
    gap:18px;
    flex-wrap:wrap;
  }
}

@media (max-width:560px){
  .philosophy{
    padding-top:66px;
  }

  .philosophy-image{
    width:180px;
    height:180px;
  }

  .philosophy-copy h2{
    font-size:45px;
  }

  .philosophy-copy .lead{
    font-size:20px;
  }

  .about-column-copy p{
    font-size:14px;
    line-height:1.65;
  }

  .about-footer-line{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* V9 — ABOUT vertical alignment refinements */
.philosophy{
  align-items:start;
  padding-top:112px;
}

.about-left{
  align-self:start;
  padding-top:0;
}

.about-marker{
  margin-bottom:34px;
}

.philosophy-image{
  margin-top:8px;
  margin-left:8vw;
}

.philosophy-copy{
  align-self:start;
  padding-top:0;
}

.philosophy-copy h2{
  margin-top:0;
}

/* Align ABOUT / PHILOSOPHY visually with the start of HAIR IS */
.about-marker,
.philosophy-copy h2{
  transform:translateY(0);
}

@media (max-width:1100px){
  .philosophy-image{
    margin-left:5vw;
    margin-top:6px;
  }
}

@media (max-width:980px){
  .about-left,
  .philosophy-copy{
    align-self:auto;
  }

  .philosophy-image{
    margin-top:0;
    margin-left:0;
  }

  .about-marker{
    margin-bottom:22px;
  }
}

/* V10 — Rotating authored quotes in ABOUT */
.quote-rotator{
  width:min(100%, 360px);
  min-height:175px;
  margin:34px 0 0 8vw;
  padding-top:22px;
  border-top:1px solid var(--line);
  position:relative;
}

.quote-mark{
  position:absolute;
  left:-2px;
  top:6px;
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:500;
  color:var(--red);
}

.quote-rotator p{
  margin:0;
  padding-left:28px;
  max-width:330px;
  font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  letter-spacing:-.01em;
  font-weight:500;
  transition:opacity .65s ease, transform .65s ease;
}

.quote-rotator p.is-changing{
  opacity:0;
  transform:translateY(6px);
}

.quote-author{
  display:block;
  margin:18px 0 0 28px;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.56;
}

@media (max-width:1100px){
  .quote-rotator{
    margin-left:5vw;
    width:min(100%, 330px);
  }
}

@media (max-width:980px){
  .quote-rotator{
    margin:28px 0 4px 0;
    width:min(100%, 520px);
    min-height:150px;
  }

  .quote-rotator p{
    max-width:470px;
  }
}

@media (max-width:560px){
  .quote-rotator{
    min-height:165px;
  }

  .quote-rotator p{
    font-size:15px;
    line-height:1.5;
  }
}


/* V11 — smaller uppercase rotating quotes */
.quote-rotator p{
  font-size:13px;
  line-height:1.62;
  letter-spacing:.055em;
  text-transform:uppercase;
  font-weight:500;
}

@media (max-width:560px){
  .quote-rotator p{
    font-size:12px;
    line-height:1.6;
    letter-spacing:.05em;
  }
}


/* V12 — handwritten editorial quotes */
.quote-rotator p{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  font-size:15px;
  line-height:1.58;
  letter-spacing:.015em;
  text-transform:none;
  font-weight:400;
  font-style:normal;
}

@media (max-width:560px){
  .quote-rotator p{
    font-size:14px;
    line-height:1.55;
    letter-spacing:.01em;
  }
}


/* V13 — restrained handwritten typography */
.quote-rotator p{
  font-family:"Segoe Print","Segoe Script","Bradley Hand",cursive;
  font-size:14px;
  line-height:1.62;
  letter-spacing:.005em;
  text-transform:none;
  font-weight:400;
  font-style:normal;
  color:#6F6A64;
}

.quote-mark{
  color:#6F6A64;
}

.quote-author{
  color:#6F6A64;
  opacity:.68;
}

@media (max-width:560px){
  .quote-rotator p{
    font-size:13px;
    line-height:1.6;
  }
}

/* V14 */
.quote-rotator p{color:#6F6A64;}

/* V16 Education */
#education img,.education img,.education-image img{filter:grayscale(100%);object-fit:cover;object-position:center;}


/* V17 — Education / Masterclasses editorial slider */
.education-slider{width:100%;min-width:0}
.education-slider-stage{
  position:relative;
  overflow:hidden;
  background:#242424;
  aspect-ratio:4/3;
}
.education-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  filter:none !important;
  transition:opacity .55s ease;
}
.education-slide.is-active{opacity:1}
.education-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:44px;
  height:44px;
  border:0;
  background:rgba(248,246,240,.82);
  color:#242424;
  font:400 20px/1 Arial,sans-serif;
  cursor:pointer;
  transition:background .2s ease;
}
.education-arrow:hover{background:#F3F1EC}
.education-prev{left:18px}
.education-next{right:18px}
.education-counter{
  position:absolute;
  right:18px;
  bottom:16px;
  z-index:4;
  padding:7px 10px;
  background:rgba(15,15,15,.68);
  color:#fff;
  font-size:10px;
  letter-spacing:.12em;
}
.education-counter b{font-weight:500}
.education-thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:8px;
}
.education-thumb{
  padding:0;
  border:1px solid transparent;
  background:none;
  cursor:pointer;
  overflow:hidden;
  aspect-ratio:4/3;
  opacity:.58;
  transition:opacity .25s ease,border-color .25s ease;
}
.education-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none !important;
}
.education-thumb.is-active{opacity:1;border-color:#242424}
@media(max-width:700px){
  .education-slider-stage{aspect-ratio:1/1}
  .education-arrow{width:38px;height:38px}
  .education-prev{left:10px}.education-next{right:10px}
  .education-thumbs{gap:5px}
}

/* V18 — first Education photo shown completely */
.education-slide:first-of-type{
  object-fit:contain !important;
  object-position:center center !important;
  background:#242424;
}
.education-thumb:first-child img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#242424;
}


/* V19 — Education gallery larger and shifted toward section label */
@media (min-width:981px){
  .education-slider{
    width:118%;
    max-width:none;
    transform:translateX(-11%);
    transform-origin:center;
  }
  .education-slider-stage{
    aspect-ratio:4/3;
  }
}
@media (min-width:1200px){
  .education-slider{
    width:122%;
    transform:translateX(-14%);
  }
}


/* V20 — correction: move Education gallery LEFT toward the section title */
@media (min-width:981px){
  .education-slider{
    position:relative;
    left:-150px;
    width:122%;
    transform:none;
  }
}
@media (min-width:1200px){
  .education-slider{
    left:-190px;
    width:126%;
    transform:none;
  }
}


/* V21 — compact, composed Education / Masterclasses */
@media (min-width:981px){
  /* Bring the section into one coherent editorial composition */
  #education,
  .education{
    min-height:auto !important;
    padding-top:92px !important;
    padding-bottom:92px !important;
    align-items:center !important;
  }

  /* Keep the gallery close to the copy instead of floating on the far right */
  .education-slider{
    position:relative;
    left:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:620px !important;
    margin-left:0 !important;
  }

  .education-slider-stage{
    aspect-ratio:16/10 !important;
  }

  /* The archival square first image remains fully visible */
  .education-slide:first-of-type{
    object-fit:contain !important;
  }

  .education-thumbs{
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin-top:6px;
  }

  .education-thumb{
    aspect-ratio:16/9;
  }

  /* Make controls quieter and more editorial */
  .education-arrow{
    width:36px;
    height:36px;
    font-size:16px;
  }

  .education-prev{left:12px}
  .education-next{right:12px}

  .education-counter{
    right:12px;
    bottom:12px;
    font-size:9px;
  }
}

/* On large screens keep the entire block compact rather than stretching apart */
@media (min-width:1200px){
  #education,
  .education{
    column-gap:54px !important;
  }

  .education-slider{
    max-width:660px !important;
  }
}

/* Tablet/mobile: clean vertical flow */
@media (max-width:980px){
  #education,
  .education{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  .education-slider{
    width:100% !important;
    left:auto !important;
    transform:none !important;
    margin-top:32px;
  }
}


/* V22 — compact editorial information for Education */
.education-editorial-intro{
  margin-top:22px;
  max-width:510px;
}
.education-focus{
  margin:0 0 18px;
  font-size:9px;
  line-height:1.8;
  letter-spacing:.17em;
  text-transform:uppercase;
  opacity:.62;
}
.education-focus span{
  padding:0 .32em;
  opacity:.55;
}
.education-statement{
  margin:0;
  max-width:460px;
  font-size:18px;
  line-height:1.42;
  letter-spacing:-.025em;
  font-weight:400;
}
.education-selected-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  color:inherit;
  text-decoration:none;
  font-size:9px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
}
.education-selected-link span{
  font-size:14px;
  transition:transform .2s ease;
}
.education-selected-link:hover span{
  transform:translateX(4px);
}
@media(min-width:981px){
  .education-editorial-intro{
    margin-top:18px;
  }
  .education-statement{
    font-size:17px;
  }
}
@media(max-width:700px){
  .education-editorial-intro{
    margin-top:18px;
  }
  .education-focus{
    font-size:8px;
    line-height:1.9;
  }
  .education-statement{
    font-size:16px;
    max-width:360px;
  }
  .education-selected-link{
    margin-top:12px;
  }
}


/* V23 — Complimentary consultation CTA */
.consultation-teaser{
  background:#f2f0e9;
  color:#242424;
  padding:72px 6vw;
}
.consultation-teaser-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:.55fr 1.35fr .8fr;
  gap:38px;
  align-items:center;
}
.consultation-teaser-label{
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.58;
}
.consultation-teaser h2{
  margin:0;
  max-width:650px;
  font-size:clamp(27px,3vw,46px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:400;
}
.consultation-teaser p{
  margin:0 0 20px;
  max-width:390px;
  font-size:12px;
  line-height:1.65;
  opacity:.68;
}
.consultation-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-width:250px;
  padding:15px 0 10px;
  border-bottom:1px solid #242424;
  color:#242424;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.consultation-cta b{
  font-size:17px;
  font-weight:400;
  transition:transform .2s ease;
}
.consultation-cta:hover b{transform:translateX(5px)}
@media(max-width:900px){
  .consultation-teaser{padding:58px 24px}
  .consultation-teaser-inner{grid-template-columns:1fr;gap:20px}
  .consultation-teaser p{margin-top:2px}
  .consultation-cta{min-width:0;width:min(100%,330px)}
}

/* V24 — stronger animated consultation CTA */
.consultation-cta{
  font-weight:700 !important;
}
.consultation-cta span:first-child{
  font-weight:700 !important;
}
@keyframes consultationPulseV24{
  0%, 78%, 100%{opacity:1; transform:translateX(0)}
  84%{opacity:.35; transform:translateX(0)}
  90%{opacity:1; transform:translateX(3px)}
  96%{opacity:.55; transform:translateX(0)}
}
.consultation-cta{
  animation:consultationPulseV24 3s ease-in-out infinite;
}
.consultation-cta:hover{
  animation-play-state:paused;
  opacity:1;
}
@media (prefers-reduced-motion: reduce){
  .consultation-cta{animation:none}
}

/* V25 — desktop-only Education composition based on user's sketch.
   Content, photos and mobile layout remain unchanged. */
@media (min-width:981px){
  .education.section-dark{
    display:grid !important;
    grid-template-columns: 1fr 1.35fr !important;
    grid-template-areas:
      "index slider"
      "kicker slider"
      "headline headline"
      "selected focus"
      "list statement"
      ". discover" !important;
    column-gap:64px !important;
    row-gap:0 !important;
    align-items:start !important;
    min-height:auto !important;
    padding:72px 6vw 82px !important;
  }

  .education .section-index{
    grid-area:index !important;
    align-self:end !important;
    margin:0 0 12px !important;
  }
  .education .section-kicker{
    grid-area:kicker !important;
    align-self:center !important;
    margin:0 !important;
  }

  .education .education-slider{
    grid-area:slider !important;
    width:100% !important;
    max-width:620px !important;
    justify-self:start !important;
    position:relative !important;
    left:auto !important;
    transform:none !important;
    margin:0 !important;
  }
  .education .education-slider-stage{aspect-ratio:16/10 !important;}
  .education .education-thumbs{margin-top:7px !important;gap:7px !important;}

  .education .education-copy{
    display:contents !important;
  }
  .education .education-copy h2{
    grid-area:headline !important;
    margin:38px 0 34px !important;
    font-size:clamp(36px,3.45vw,58px) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
    font-weight:400 !important;
  }
  .education .education-copy h2 br{display:none !important;}

  .education > .education-selected-link{
    grid-area:selected !important;
    align-self:end !important;
    margin:0 0 12px !important;
    width:max-content !important;
    border-bottom:0 !important;
    padding-bottom:0 !important;
  }

  .education .education-editorial-intro{
    display:contents !important;
  }
  .education .education-focus{
    grid-area:focus !important;
    align-self:end !important;
    margin:0 0 12px !important;
    text-align:right !important;
    max-width:none !important;
    font-size:8px !important;
    white-space:nowrap !important;
  }
  .education .education-statement{
    grid-area:statement !important;
    margin:18px 0 0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.48) !important;
    max-width:none !important;
    font-size:12px !important;
    line-height:1.55 !important;
    text-align:right !important;
  }
  .education .education-copy > p:not(.education-statement){
    grid-area:statement !important;
    margin:66px 0 0 !important;
    max-width:520px !important;
    justify-self:end !important;
    font-size:11px !important;
    line-height:1.6 !important;
    text-align:right !important;
    opacity:.72 !important;
  }
  .education .mini-list{
    grid-area:list !important;
    margin:18px 0 0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.48) !important;
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    align-self:start !important;
  }
  .education .mini-list span{
    font-size:11px !important;
    line-height:1.35 !important;
  }
  .education .text-link.light{
    grid-area:discover !important;
    justify-self:end !important;
    margin:24px 0 0 !important;
    min-width:300px !important;
    padding-top:10px !important;
    border-top:1px solid rgba(255,255,255,.48) !important;
    border-bottom:0 !important;
    text-align:right !important;
  }
}

/* V26 — desktop only: reposition Education label into upper-left zone */
@media (min-width:981px){
  #education,.education{position:relative!important;}
  #education .section-label,.education .section-label,
  #education .education-label,.education .education-label{
    position:absolute!important;top:175px!important;left:82px!important;
    margin:0!important;z-index:5;font-size:9px!important;line-height:1.2!important;
    letter-spacing:.18em!important;text-transform:uppercase!important;
    font-weight:400!important;white-space:nowrap;
  }
}


/* V27 — DESKTOP ONLY: preserve the full original photos in Education.
   No image files are changed; only their fitting inside the slider frame. */
@media (min-width:981px){
  .education-slider-stage{
    background:#242424 !important;
  }

  .education-slide{
    object-fit:contain !important;
    object-position:center center !important;
  }

  .education-thumb img{
    object-fit:contain !important;
    object-position:center center !important;
    background:#242424 !important;
  }
}


/* V28 — desktop only: ACTUAL Education / Masterclasses kicker moved into upper-left zone */
@media (min-width:981px){
  .education{
    position:relative !important;
  }

  .education > .section-kicker{
    position:absolute !important;
    top:250px !important;
    left:10% !important;
    margin:0 !important;
    z-index:10 !important;
    width:auto !important;
    font-size:9px !important;
    line-height:1.2 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   V29 — EDUCATION / MASTERCLASSES desktop composition
   Reference: user sketch. Mobile remains untouched.
   ========================================================= */
@media (min-width:981px){

  /* Make section a reliable positioning context */
  .education{
    position:relative !important;
  }

  /* Place EDUCATION / MASTERCLASSES on the LEFT,
     horizontally aligned with the main image, as in reference. */
  .education > .section-kicker{
    position:absolute !important;
    top:105px !important;
    left:7.1% !important;
    width:32% !important;
    margin:0 !important;
    padding:0 !important;
    z-index:20 !important;

    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:.11em !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  /* Increase typography throughout block 04,
     excluding the large Teaching headline. */
  .education .education-focus{
    font-size:11px !important;
    line-height:1.75 !important;
  }

  .education .education-statement{
    font-size:20px !important;
    line-height:1.42 !important;
  }

  .education .education-selected-link{
    font-size:11px !important;
  }

  .education .education-selected-link span{
    font-size:16px !important;
  }

  .education .education-arrow{
    font-size:18px !important;
  }

  .education .education-counter{
    font-size:11px !important;
  }

  /* Existing informational copy / lists in Education */
  .education p:not(.education-statement):not(.education-focus){
    font-size:13px;
  }

  .education li{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .education a:not(.education-selected-link){
    font-size:11px;
  }

  /* Do NOT alter Teaching through structure and design */
  .education .education-title,
  .education h2,
  .education .teaching-title{
    /* intentionally no font-size override */
  }
}


/* V30 — desktop only: align EDUCATION / MASTERCLASSES with the left slider arrow */
@media (min-width:981px){
  .education > .section-kicker{
    top:268px !important;
    left:12.4% !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-50%) !important;
    white-space:nowrap !important;
  }
}


/* V31 — Education philosophy copy: same font size for both paragraphs */
@media (min-width:981px){
  .education .education-statement,
  .education .education-statement + p,
  .education .education-editorial-intro p{
    font-size:16px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
  }

  /* keep the small topic/focus line in its existing editorial size */
  .education .education-focus{
    font-size:11px !important;
    line-height:1.75 !important;
  }
}


/* V32 — exact fix: these TWO specific Education paragraphs are identical */
@media (min-width:981px){
  .education .education-copy .education-statement,
  .education .education-copy .education-editorial-intro + p{
    font-family:"Century Gothic","Avenir Next","Futura","Trebuchet MS",Arial,sans-serif !important;
    font-size:16px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    opacity:1 !important;
    max-width:none !important;
  }
}


/* V33 — desktop only:
   EDUCATION / MASTERCLASSES centered vertically against the main photo */
@media (min-width:981px){
  .education > .section-kicker{
    position:absolute !important;
    /* Main photo occupies the upper gallery zone.
       Put label at the photo's vertical center, on its left. */
    top:300px !important;
    left:8.5% !important;
    width:34% !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-50%) !important;
    z-index:30 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;

    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:.11em !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
}


/* V34 — exact placement from the supplied reference.
   Desktop only. The label is LEFT-ALIGNED in the empty left field
   and vertically centered against the MAIN photo. */
@media (min-width:981px){
  .education > .section-kicker{
    position:absolute !important;
    top:268px !important;
    left:8.5% !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateY(-50%) !important;
    z-index:30 !important;

    display:block !important;
    text-align:left !important;
    justify-content:initial !important;
    align-items:initial !important;

    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:.11em !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }
}


/* V35 — desktop only:
   raise EDUCATION / MASTERCLASSES to the SAME horizontal level
   as the left/right photo navigation arrows */
@media (min-width:981px){
  .education > .section-kicker{
    top:220px !important;
    left:8.5% !important;
    transform:translateY(-50%) !important;
    text-align:left !important;
  }
}


/* V36 — exact desktop alignment with gallery arrows.
   JS calculates the real center of the photo stage, so this no longer
   depends on guessed pixel offsets. */
@media (min-width:981px){
  .education{
    position:relative !important;
  }
  .education > .section-kicker{
    position:absolute !important;
    left:8.5% !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    z-index:40 !important;
    display:block !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}


/* V37 — desktop only:
   EDUCATION / MASTERCLASSES sits immediately to the RIGHT
   of the small vertical line below section number 04. */
@media (min-width:981px){
  .education{
    position:relative !important;
  }

  .education > .section-kicker{
    position:absolute !important;
    top:143px !important;
    left:11.8% !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:50 !important;

    display:block !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}


/* V38 — desktop only: raise EDUCATION / MASTERCLASSES further */
@media (min-width:981px){
  .education > .section-kicker{
    top:112px !important;
  }
}


/* V39 — desktop only: raise EDUCATION / MASTERCLASSES again */
@media (min-width:981px){
  .education > .section-kicker{
    top:82px !important;
  }
}


/* V40 — desktop only: raise EDUCATION / MASTERCLASSES by another 50px */
@media (min-width:981px){
  .education > .section-kicker{
    top:32px !important;
  }
}


/* V41 — desktop only: raise EDUCATION / MASTERCLASSES another 60px */
@media (min-width:981px){
  .education > .section-kicker{
    top:-28px !important;
  }
}


/* V42 — desktop only: raise EDUCATION / MASTERCLASSES another 20px */
@media (min-width:981px){
  .education > .section-kicker{
    top:-48px !important;
  }
}


/* V43 — desktop only: move EDUCATION / MASTERCLASSES 50px right */
@media (min-width:981px){
  .education > .section-kicker{
    left:calc(11.8% + 50px) !important;
  }
}


/* V44 — desktop only:
   restore the 04 marker and its vertical line to the exact same
   vertical positioning system used by the other numbered sections. */
@media (min-width:981px){
  .education > .section-index{
    position:absolute !important;
    left:4vw !important;
    top:42px !important;
    margin:0 !important;
    align-self:auto !important;
    grid-area:auto !important;
    font-size:12px !important;
    letter-spacing:.16em !important;
  }

  .education > .section-index::after{
    content:"" !important;
    display:block !important;
    width:1px !important;
    height:62px !important;
    margin:15px 0 0 12px !important;
    background:currentColor !important;
    opacity:.32 !important;
  }
}


/* V47 FIX — desktop only: align the two lower Education columns.
   Both white divider lines start at exactly the same Y position,
   and the right-side teaching text is pulled back up to that row. */
@media (min-width:981px){
  .education .mini-list,
  .education .education-statement{
    align-self:start !important;
    margin-top:18px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(255,255,255,.48) !important;
  }

  .education .education-statement{
    position:relative !important;
    top:0 !important;
  }

  .education .education-copy > p:not(.education-statement){
    margin-top:76px !important;
  }
}


/* V48 — SECTION 03 / METHOD, desktop only.
   Keep each number + word together, but place all 3 principles on ONE horizontal row. */
@media (min-width:981px){
  #method .principles-list,
  #method .method-principles,
  #method .method-list,
  .method .principles-list,
  .method .method-principles,
  .method .method-list{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    column-gap:72px !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
  }

  #method .principles-list > *,
  #method .method-principles > *,
  #method .method-list > *,
  .method .principles-list > *,
  .method .method-principles > *,
  .method .method-list > *{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:28px !important;
    width:100% !important;
    margin:0 !important;
    white-space:nowrap !important;
  }
}


/* V53 — SECTION 03 METHOD, desktop:
   hide the three principle numbers regardless of their legacy class,
   and move FORM / ADAPTATION / INDIVIDUALITY 100px to the right. */
@media (min-width:981px){
  #method .principle-number,
  #method .principle-num,
  #method .method-number,
  #method .method-num,
  #method .method-principles .num,
  #method .principles .num{
    display:none !important;
  }

  #method .principles,
  #method .method-principles,
  #method .principles-list,
  #method .method-list{
    transform:translateX(100px) !important;
  }
}


/* V54 — Method redesign requested:
   line + FORM / ADAPTATION / INDIVIDUALITY directly below
   the LEFT-SIDE “Authentic Shape” label. Old lower list removed. */
#method .section-kicker{
  overflow:visible !important;
}
#method .method-kicker-principles{
  margin-top:60px;
  width:430px;
  max-width:42vw;
}
#method .method-kicker-line{
  width:100%;
  height:1px;
  background:rgba(0,0,0,.38);
}
#method .method-kicker-words{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  padding-top:20px;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.13em;
  font-weight:400;
  white-space:nowrap;
}
@media(max-width:980px){
  #method .method-kicker-principles{
    width:100%;
    max-width:none;
    margin-top:30px;
  }
  #method .method-kicker-words{
    gap:12px;
    font-size:10px;
    letter-spacing:.08em;
  }
}


/* V55 — METHOD composition matched to the approved visual reference */
@media (min-width:981px){
  #method.method-v55{
    position:relative !important;
    display:grid !important;
    grid-template-columns:4vw minmax(0, 1fr) 31vw !important;
    column-gap:5vw !important;
    align-items:start !important;
    padding-top:118px !important;
    padding-bottom:120px !important;
    min-height:760px !important;
  }

  #method.method-v55 > .section-index{
    grid-column:1 !important;
    position:relative !important;
    top:0 !important;
    left:0 !important;
  }

  #method .method-v55-content{
    grid-column:2 !important;
    width:min(820px,100%) !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  #method .method-v55-content > .section-kicker{
    position:static !important;
    display:block !important;
    transform:none !important;
    margin:0 0 28px !important;
    padding:0 !important;
    width:auto !important;
    font-size:12px !important;
    letter-spacing:.11em !important;
  }

  #method .method-v55-content h2{
    margin:0 0 34px !important;
  }

  #method .method-v55-content p{
    max-width:760px !important;
    margin:0 !important;
  }

  #method .method-v55-principles{
    width:100% !important;
    margin-top:60px !important;
  }

  #method .method-v55-line{
    width:100% !important;
    height:1px !important;
    background:rgba(0,0,0,.38) !important;
  }

  #method .method-v55-words{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    column-gap:50px !important;
    padding-top:22px !important;
    font-size:12px !important;
    letter-spacing:.16em !important;
    font-weight:400 !important;
    white-space:nowrap !important;
  }
  #method .method-v55-words span:nth-child(1){text-align:left !important;}
  #method .method-v55-words span:nth-child(2){text-align:center !important;}
  #method .method-v55-words span:nth-child(3){text-align:right !important;}

  #method .method-v55-link{
    display:inline-flex !important;
    margin-top:96px !important;
    min-width:300px !important;
    padding-top:18px !important;
    border-top:1px solid rgba(0,0,0,.28) !important;
  }

  #method.method-v55 > .method-image{
    grid-column:3 !important;
    grid-row:1 !important;
    margin-top:44px !important;
    align-self:start !important;
  }
}

@media(max-width:980px){
  #method .method-v55-principles{margin-top:38px !important;}
  #method .method-v55-words{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:10px !important;
    padding-top:16px !important;
    font-size:9px !important;
    letter-spacing:.08em !important;
  }
  #method .method-v55-words span:nth-child(2){text-align:center !important;}
  #method .method-v55-words span:nth-child(3){text-align:right !important;}
  #method .method-v55-link{margin-top:54px !important;}
}


/* V57 — Contact details */
#contact .contact-details{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:34px;
}
#contact .contact-details a{
  color:inherit;
  text-decoration:none;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.10em;
  text-transform:uppercase;
  border-bottom:1px solid transparent;
  padding-bottom:3px;
  transition:border-color .2s ease, opacity .2s ease;
}
#contact .contact-details a:hover{
  border-bottom-color:currentColor;
  opacity:.65;
}

/* V58 — small name beside About / Philosophy */
#about .about-kicker-name{
  display:inline-block;
  margin-left:28px;
  font-size:10px;
  line-height:1;
  letter-spacing:.10em;
  font-weight:400;
  text-transform:uppercase;
  opacity:.58;
  white-space:nowrap;
}
@media(max-width:980px){
  #about .about-kicker-name{margin-left:16px;font-size:9px;}
}


/* V59 — keep all Section 06 contact information together */
#contact .contact-details{display:none !important;}
#contact .contact-inline-details{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid rgba(0,0,0,.22);
  display:grid;
  gap:12px;
  max-width:560px;
}
#contact .contact-inline-details > div{
  display:grid;
  grid-template-columns:100px 1fr;
  align-items:baseline;
  gap:18px;
}
#contact .contact-inline-details span{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.55;
}
#contact .contact-inline-details a{
  color:inherit;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.06em;
  overflow-wrap:anywhere;
}
#contact .contact-inline-details a:hover{opacity:.58;}
@media(max-width:700px){
  #contact .contact-inline-details > div{
    grid-template-columns:1fr;
    gap:5px;
  }
}


/* V61 — contacts closer to CONNECT */
#contact .contact-inline-details{
  margin-top:10px !important;
  padding-top:8px !important;
}


/* V62 — contacts immediately below CONNECT */
#contact .contact-inline-details{
  margin-top:0 !important;
  padding-top:2px !important;
}


/* V63 — local service areas in Contact */
#contact .contact-location{
  display:grid;
  grid-template-columns:100px 1fr;
  column-gap:18px;
  row-gap:4px;
  margin-bottom:14px;
}
#contact .contact-location span{
  grid-row:1 / span 2;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.55;
}
#contact .contact-location strong,
#contact .contact-location small{
  font:inherit;
  font-size:12px;
  letter-spacing:.06em;
  font-weight:400;
}
#contact .contact-location small{opacity:.62;}
@media(max-width:700px){
  #contact .contact-location{grid-template-columns:1fr;gap:5px;}
  #contact .contact-location span{grid-row:auto;}
}

/* V64 */
#contact .contact-location{display:none!important;}
#contact .location-region{display:inline-block;margin-top:5px;opacity:.58;}

/* V65 — METHOD image: clean original photograph, no Bauhaus overlays */
#method .red-orbit{display:none !important;}
#method .method-image::before,
#method .method-image::after{display:none !important;content:none !important;}
#method .method-image img{object-fit:cover;}

/* V69 — HOME consultation CTA */
.home-consultation-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding-bottom:5px;
  border-bottom:1px solid currentColor;font-size:11px;font-weight:600;
  letter-spacing:.10em;text-transform:uppercase;text-decoration:none;color:inherit;
  transition:opacity .25s ease;
}
.home-consultation-link span{display:inline-block;transition:transform .25s ease;}
.home-consultation-link:hover{opacity:.62;}
.home-consultation-link:hover span{transform:translateX(4px);}

/* V70 — METHOD: equal spacing between FORM / ADAPTATION / INDIVIDUALITY */
@media (min-width:981px){
  #method .method-v55-words{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    column-gap:0 !important;
  }
  #method .method-v55-words span{
    flex:0 0 auto !important;
    text-align:center !important;
  }
}

/* V71 — tighten transition from METHOD to PERSONAL CONSULTATION */
@media (min-width:981px){
  #method.method-v55{padding-bottom:0 !important;min-height:0 !important;}
  #method.method-v55 > .method-image{margin-bottom:0 !important;}
  #method + .consultation-teaser{margin-top:0 !important;}
}

/* V72 — selected press on HOME */
.press-feature{min-height:auto !important;}
.press-feature-inner{grid-column:2 / -2;max-width:1050px;padding:48px 0 72px;}
.press-feature-meta{display:flex;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,.28);font-size:11px;letter-spacing:.13em;text-transform:uppercase;}
.press-feature h2{max-width:920px;margin:36px 0 26px;font-size:clamp(34px,4.5vw,68px);line-height:.98;font-weight:400;letter-spacing:-.035em;}
.press-feature p{max-width:650px;margin:0;font-size:15px;line-height:1.7;}
.press-feature-actions{display:flex;gap:56px;flex-wrap:wrap;margin-top:58px;}
@media(max-width:980px){
  .press-feature-inner{grid-column:1/-1;padding:34px 0 56px;}
  .press-feature-meta{flex-direction:column;gap:8px;}
  .press-feature-actions{gap:28px;margin-top:42px;}
}


/* V109 — tighter editorial rhythm across the site */
@media (min-width:981px){
  /* HERO: keep the approved composition, reduce unnecessary vertical scale */
  .hero{
    min-height:88vh !important;
    padding-top:104px !important;
    padding-bottom:38px !important;
    gap:3.5vw !important;
  }
  .hero h1{font-size:clamp(42px,4vw,66px) !important;margin-bottom:20px !important;}
  .hero-image{height:min(61vh,620px) !important;min-height:430px !important;}
  .hero-side{min-height:360px !important;padding:26px 0 !important;}

  /* ABOUT */
  .philosophy{
    min-height:0 !important;
    padding-top:72px !important;
    padding-bottom:54px !important;
    row-gap:26px !important;
    column-gap:5vw !important;
  }
  .about-marker{margin-bottom:28px !important;}
  .philosophy-copy h2{
    font-size:clamp(46px,4.45vw,72px) !important;
    margin-bottom:22px !important;
  }
  .philosophy-copy .lead{
    font-size:clamp(18px,1.35vw,24px) !important;
    margin-bottom:20px !important;
  }
  .philosophy-copy p:not(.lead){line-height:1.62 !important;margin-bottom:16px !important;}
  .philosophy-copy .about-experience{margin-top:20px !important;padding-top:18px !important;}
  .philosophy .text-link{margin-top:20px !important;}
  .about-footer-line{padding-top:16px !important;}

  /* SELECTED WORK */
  .selected-work{
    padding-top:62px !important;
    padding-bottom:58px !important;
    gap:28px !important;
  }
  .work-grid{margin-top:34px !important;}
  .work-copy .lead{font-size:18px !important;}
  .work-copy .text-link{margin-top:22px !important;}

  /* METHOD on HOME */
  #method.method-v55{
    min-height:0 !important;
    padding-top:78px !important;
    padding-bottom:0 !important;
    column-gap:4vw !important;
  }
  #method .method-v55-content > .section-kicker{margin-bottom:20px !important;}
  #method .method-v55-content h2{
    font-size:clamp(44px,4.3vw,68px) !important;
    margin-bottom:24px !important;
  }
  #method .method-v55-principles{margin-top:38px !important;}
  #method .method-v55-words{padding-top:16px !important;font-size:11px !important;}
  #method .method-v55-link{margin-top:48px !important;padding-top:14px !important;}
  #method.method-v55 > .method-image{margin-top:28px !important;height:430px !important;}

  /* CONSULTATION STRIP */
  .consultation-teaser{padding:48px 6vw !important;}
  .consultation-teaser-inner{gap:30px !important;}
  .consultation-teaser h2{font-size:clamp(25px,2.5vw,38px) !important;}

  /* EDUCATION */
  #education,.education{
    min-height:0 !important;
    padding-top:68px !important;
    padding-bottom:68px !important;
    column-gap:44px !important;
  }
  .education-copy h2{font-size:clamp(38px,3.9vw,62px) !important;}
  .education-slider{max-width:590px !important;}
  .education-editorial-intro{margin-top:16px !important;}

  /* RECOGNITION */
  .recognition{
    min-height:0 !important;
    padding-top:60px !important;
    padding-bottom:56px !important;
  }
  .recognition-stats{margin-top:28px !important;gap:28px !important;}
  .recognition-stats strong{font-size:38px !important;}
  .recognition-image{height:225px !important;}

  /* APPOINTMENTS */
  .booking{
    min-height:0 !important;
    padding-top:64px !important;
    padding-bottom:58px !important;
    gap:7vw !important;
  }
  .booking h2{
    font-size:clamp(48px,5.5vw,82px) !important;
    margin-top:18px !important;
  }
  .book-large{
    width:160px !important;height:160px !important;
    padding:34px 25px !important;margin-top:30px !important;
  }
  .booking-meta{gap:30px !important;padding-left:40px !important;}
  .footer{min-height:78px !important;}
}

/* V110 compact Appointments */
@media (min-width:981px){
.booking{min-height:0!important;padding-top:42px!important;padding-bottom:38px!important;gap:5vw!important;align-items:center!important}
.booking .section-kicker{margin-bottom:8px!important}
.booking h2{font-size:clamp(38px,4.2vw,62px)!important;line-height:.95!important;margin-top:8px!important;margin-bottom:0!important}
.booking .book-large{width:130px!important;height:130px!important;padding:25px 19px!important;margin-top:20px!important}
.booking-meta{gap:18px!important;padding-left:28px!important}
.booking-meta>div{padding:13px 0!important}
.contact-inline-details{gap:16px!important}
}


/* Sassoon-inspired palette — v110 color-only update */
:root{
  --black:#242424;
  --cream:#C9C5BD;
  --paper:#F3F1EC;
  --ink:#242424;
  --muted:#6F6A64;
  --red:#71383A;
  --rose:#B98B82;
  --line:rgba(36,36,36,.18);
  --line-dark:rgba(243,241,236,.24);
}
/* Keep layout untouched; strengthen palette visibility only. */
.book-orbit i,.book-large i{background:#71383A}
.text-link:hover,.main-nav a:hover{color:#71383A}


/* V111 Services — inserted as section 02; existing layout preserved */
.services{position:relative;padding:110px 7vw 100px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:8vw;align-items:end;background:var(--paper);color:var(--ink)}
.services .section-index{color:var(--ink)}
.services .section-index::after{background:var(--ink)}
.services .section-kicker{position:absolute;top:42px;left:7vw}
.services-heading h2{font-size:clamp(48px,5vw,82px);line-height:.92;letter-spacing:-.055em;font-weight:400;margin:0 0 28px;text-transform:uppercase}
.services-heading p{max-width:470px;font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.services-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:48px 1fr 42px;gap:18px;align-items:center;min-height:94px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:padding .25s ease,color .25s ease}
.service-no{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.service-name{font-size:clamp(22px,2.1vw,34px);line-height:1.05;letter-spacing:-.035em}
.service-arrow{font-size:27px;text-align:right;transition:transform .25s ease}
.service-row:hover{padding-left:10px;color:var(--red)}
.service-row:hover .service-arrow{transform:translateX(5px)}
@media(max-width:800px){.services{padding:92px 22px 70px;grid-template-columns:1fr;gap:46px}.services .section-kicker{top:28px;left:22px}.services-heading h2{font-size:43px}.service-row{grid-template-columns:34px 1fr 30px;min-height:82px;gap:10px}.service-name{font-size:24px}}

/* V113 — METHOD image: slightly smaller with breathing room before EDUCATION */
@media (min-width:981px){
  #method.method-v55 > .method-image{
    height:400px !important;
    margin-bottom:30px !important;
  }
}


/* V116 — navigation cleanup and requested refinements */
@media (min-width:801px){
  .site-header > .main-nav{grid-column:2!important;justify-self:center!important;}
  .site-header > .book-orbit{grid-column:3!important;justify-self:end!important;}
  .internal-site-header > .main-nav{grid-column:2!important;justify-self:center!important;}
}
.hero-dot{display:none!important;}
.service-row{grid-template-columns:1fr 42px!important;}
.service-no{display:none!important;}
.booking .book-large{width:148px!important;height:148px!important;padding:30px 22px!important;grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
.booking .book-large span{font-size:10px!important;letter-spacing:.12em!important;line-height:1.35!important;white-space:normal!important;}
.booking .book-large i{position:absolute!important;top:26px!important;left:50%!important;transform:translateX(-50%)!important;}
.booking .book-large{position:relative!important;}
.booking .book-large b{font-size:23px!important;line-height:1!important;}
@media(max-width:800px){.service-row{grid-template-columns:1fr 30px!important;}}
\n\n/* V117 — section title alignment and About/Services separation */
#about.philosophy{background:#ECE8E1!important;}
#services.services{background:var(--paper)!important;}
#about .about-number,#about .about-rule,#about .about-footer-line{display:none!important;}
#about .about-marker{display:block!important;margin:0!important;position:absolute!important;left:7vw!important;top:42px!important;z-index:3!important;}
#about .about-marker .section-kicker,
#services > .section-kicker,
#work > .section-kicker,
#method .method-v55-content > .section-kicker,
#education > .section-kicker,
#recognition > .section-kicker,
#contact .section-kicker{
  font-size:14px!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
#about .about-marker .section-kicker{display:block!important;padding:0!important;margin:0!important;}
#services > .section-kicker,
#work > .section-kicker,
#education > .section-kicker,
#recognition > .section-kicker{left:7vw!important;top:42px!important;}
#method .method-v55-content > .section-kicker{margin:0 0 20px!important;}
#contact .section-kicker{margin:0 0 8px!important;}
@media(max-width:800px){
 #about .about-marker{left:22px!important;top:28px!important;}
 #services > .section-kicker,#work > .section-kicker,#education > .section-kicker,#recognition > .section-kicker{left:22px!important;top:28px!important;}
 #about .about-marker .section-kicker,#services > .section-kicker,#work > .section-kicker,#method .method-v55-content > .section-kicker,#education > .section-kicker,#recognition > .section-kicker,#contact .section-kicker{font-size:12px!important;}
}


/* V118 — ABOUT portrait/name refinements */
#about .philosophy-image{
  overflow:visible!important;
  margin-top:34px!important;
}
#about .philosophy-image img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  overflow:hidden;
}
#about .about-photo-name{
  margin-top:14px;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
  color:var(--ink);
}
#about .quote-author{display:none!important;}
@media(max-width:980px){#about .philosophy-image{margin-top:24px!important;}}

/* V119 — HOME section labels aligned to About / Philosophy left edge */
@media (min-width:981px){
  #method.method-v55,
  #education.education,
  #contact.booking{position:relative!important;}

  #method .method-v55-content > .section-kicker,
  #education > .section-kicker,
  #contact .booking-copy > .section-kicker{
    position:absolute!important;
    left:7vw!important;
    top:42px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    width:auto!important;
  }
}

/* V120 — align Education / Masterclasses label exactly with About / Philosophy */
@media (min-width:981px){
  #education.education > .section-kicker{
    position:absolute!important;
    left:7vw!important;
    right:auto!important;
    top:42px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    text-align:left!important;
  }
}

/* V121 — move Education / Masterclasses title 60px upward */
@media (min-width:981px){
  #education.education > .section-kicker{
    top:-18px!important;
  }
}

/* V122 — move Education / Masterclasses 60px further up and 120px left */
@media (min-width:981px){
  #education.education > .section-kicker{
    top:-78px!important;
    left:calc(7vw - 120px)!important;
  }
}

/* v123 — subtle separation between About / Philosophy and Services */
#about.philosophy{background:#E9E4DC!important;}
#services.services{background:#F3F1EC!important;}

/* V124 — redesigned Education / Masterclasses: editorial 40/60 composition */
@media (min-width:981px){
  #education.education-v124{
    position:relative!important;
    min-height:720px!important;
    padding:105px 7vw 76px!important;
    display:grid!important;
    grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr)!important;
    gap:7vw!important;
    align-items:center!important;
    overflow:hidden;
  }
  #education.education-v124 > .section-kicker{
    position:absolute!important;
    left:7vw!important;
    top:42px!important;
    margin:0!important;
  }
  .education-v124-copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;max-width:470px;}
  .education-v124-eyebrow{margin:0 0 25px!important;font-size:11px!important;line-height:1.4!important;letter-spacing:.16em!important;text-transform:uppercase;color:#C9C5BD!important;}
  .education-v124-copy h2{margin:0 0 30px!important;font-size:clamp(44px,4.4vw,70px)!important;line-height:.93!important;letter-spacing:-.05em!important;font-weight:400;text-transform:uppercase;}
  .education-v124-statement{margin:0 0 20px!important;max-width:410px;font-size:19px!important;line-height:1.42!important;color:#F3F1EC!important;}
  .education-v124-body{margin:0!important;max-width:410px;font-size:13px!important;line-height:1.7!important;color:#C9C5BD!important;}
  .education-v124-links{margin-top:35px;border-top:1px solid var(--line-dark);}
  .education-v124-links a{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-dark);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F3F1EC;text-decoration:none;transition:padding .25s ease,color .25s ease;}
  .education-v124-links a:hover{padding-left:8px;color:var(--rose);}
  .education-v124-links span{font-size:16px;}
  .education-v124-location{margin:24px 0 0!important;font-size:10px!important;letter-spacing:.13em!important;text-transform:uppercase;color:#8F8A83!important;}
  .education-v124-visual{min-width:0;align-self:center;position:relative;}
  .education-v124 .education-slider{max-width:none!important;width:100%!important;margin:0!important;}
  .education-v124 .education-slider-stage{aspect-ratio:16/10!important;min-height:0!important;}
  .education-v124 .education-thumbs{margin-top:8px!important;gap:8px!important;}
  .education-v124-signature{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line-dark);}
  .education-v124-signature strong{font-size:clamp(42px,5vw,78px);line-height:.78;letter-spacing:-.065em;font-weight:400;color:#F3F1EC;}
  .education-v124-signature span{font-size:10px;line-height:1.55;letter-spacing:.09em;text-transform:uppercase;color:#A9A49D;text-align:right;}
}
@media (max-width:980px){
  #education.education-v124{position:relative!important;display:block!important;padding:92px 22px 62px!important;min-height:0!important;}
  #education.education-v124 > .section-kicker{position:absolute!important;left:22px!important;top:28px!important;margin:0!important;}
  .education-v124-copy{max-width:620px;margin-bottom:46px;}
  .education-v124-eyebrow{margin:0 0 18px!important;font-size:10px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#C9C5BD!important;}
  .education-v124-copy h2{margin:0 0 24px!important;font-size:clamp(40px,10vw,62px)!important;line-height:.94!important;letter-spacing:-.05em!important;font-weight:400;text-transform:uppercase;}
  .education-v124-statement{font-size:17px!important;line-height:1.45!important;color:#F3F1EC!important;}
  .education-v124-body{font-size:13px!important;line-height:1.7!important;color:#C9C5BD!important;}
  .education-v124-links{margin-top:28px;border-top:1px solid var(--line-dark);}
  .education-v124-links a{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-dark);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#F3F1EC;text-decoration:none;}
  .education-v124-location{margin:20px 0 0!important;font-size:9px!important;letter-spacing:.12em!important;text-transform:uppercase;color:#8F8A83!important;}
  .education-v124 .education-slider{max-width:none!important;width:100%!important;}
  .education-v124 .education-slider-stage{aspect-ratio:4/3!important;}
  .education-v124-signature{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-dark);}
  .education-v124-signature strong{font-size:clamp(38px,12vw,60px);line-height:.8;letter-spacing:-.06em;font-weight:400;}
  .education-v124-signature span{max-width:190px;font-size:8px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#A9A49D;text-align:right;}
}

/* V125 — Education spacing + section label placement */
@media (min-width:981px){
  #education.education-v124{
    min-height:0!important;
    padding:96px 7vw 48px!important;
    align-items:start!important;
  }
  #education.education-v124 > .section-kicker{
    position:absolute!important;
    left:7vw!important;
    top:24px!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    transform:none!important;
    z-index:5!important;
  }
  .education-v124-copy{
    align-self:start!important;
    justify-content:flex-start!important;
    height:auto!important;
    min-height:0!important;
    padding-bottom:0!important;
  }
  .education-v124-visual{align-self:start!important;}
}
@media (max-width:980px){
  #education.education-v124{padding-bottom:38px!important;}
  #education.education-v124 > .section-kicker{
    left:22px!important;
    top:20px!important;
    right:auto!important;
    bottom:auto!important;
  }
  .education-v124-copy{margin-bottom:32px!important;}
}

/* V126 — verified Education layout correction: compact section + label in true upper-left corner */
@media (min-width:981px){
  #education.education-v124{
    position:relative!important;
    min-height:0!important;
    padding:76px 7vw 26px!important;
    align-items:start!important;
  }
  #education.education-v124 > .section-kicker{
    position:absolute!important;
    left:24px!important;
    top:20px!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:20!important;
  }
  #education .education-v124-copy{
    align-self:start!important;
    justify-content:flex-start!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
  }
  #education .education-v124-location{margin-bottom:0!important;}
  #education .education-v124-visual{align-self:start!important;margin:0!important;}
  #education .education-slider-stage{aspect-ratio:16/8.7!important;}
  #education .education-v124-signature{margin-top:16px!important;padding-top:14px!important;}
}
@media (max-width:980px){
  #education.education-v124{
    position:relative!important;
    min-height:0!important;
    padding:68px 22px 24px!important;
  }
  #education.education-v124 > .section-kicker{
    position:absolute!important;
    left:18px!important;
    top:16px!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:20!important;
  }
  #education .education-v124-copy{margin:0 0 24px!important;padding:0!important;min-height:0!important;}
  #education .education-v124-signature{margin-top:16px!important;padding-top:14px!important;}
}

/* V127 — remove legacy Education grid rows that created the large black empty area */
@media (min-width:981px){
  #education.education-v124{
    grid-template-areas:none!important;
    grid-template-rows:auto!important;
    grid-auto-rows:auto!important;
    align-content:start!important;
    min-height:0!important;
    height:auto!important;
    padding-top:76px!important;
    padding-bottom:18px!important;
  }
  #education.education-v124 > .education-v124-copy,
  #education.education-v124 > .education-v124-visual{
    grid-row:1!important;
    margin-bottom:0!important;
  }
  #education .education-v124-signature{margin-bottom:0!important;}
}
@media (max-width:980px){
  #education.education-v124{
    min-height:0!important;
    height:auto!important;
    padding-bottom:18px!important;
  }
  #education .education-v124-visual,
  #education .education-v124-signature{margin-bottom:0!important;}
}

/* V128 — add a little more black breathing room above and below Education */
@media (min-width:981px){
  #education.education-v124{
    padding-top:96px!important;
    padding-bottom:38px!important;
  }
}
@media (max-width:980px){
  #education.education-v124{
    padding-top:82px!important;
    padding-bottom:32px!important;
  }
}

/* V129 — more black breathing room above Education + align section label with Authentic Shape */
@media (min-width:981px){
  #education.education-v124{
    padding-top:126px!important;
  }
  #education.education-v124 > .section-kicker{
    top:42px!important;
    left:7vw!important;
  }
}
@media (max-width:980px){
  #education.education-v124{
    padding-top:104px!important;
  }
  #education.education-v124 > .section-kicker{
    top:28px!important;
    left:22px!important;
  }
}

/* V131 — add breathing room between Appointments label and headline */
#contact.booking .booking-copy > .section-kicker{
  margin-bottom:34px!important;
}
#contact.booking .booking-copy > h2{
  margin-top:0!important;
}
@media (max-width:800px){
  #contact.booking .booking-copy > .section-kicker{
    margin-bottom:26px!important;
  }
}

/* V132 — HOME top-right BOOK circle: add breathing room from top edge */
@media (min-width:801px){
  .site-header > .book-orbit{
    transform:translateY(14px)!important;
  }
}


/* V134 — Yelp icon in Appointments */
.contact-inline-details .yelp-contact{display:flex;align-items:center;gap:14px}
.contact-inline-details .yelp-icon-link{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;opacity:.9;transition:opacity .2s ease,transform .2s ease}
.contact-inline-details .yelp-icon-link:hover{opacity:1;transform:translateY(-2px)}
.contact-inline-details .yelp-icon-link svg{width:17px;height:17px;display:block;fill:currentColor}

.footer-yelp-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.footer-yelp-link svg{width:18px;height:18px;fill:currentColor}
.footer-yelp-link:hover{opacity:.65}

/* V169 — mobile full-screen navigation inspired by the reference interaction */
@media (max-width:980px){
  body.menu-open{overflow:hidden!important;}
  body.menu-open .site-header,
  body.menu-open .internal-site-header{
    mix-blend-mode:normal!important;
    color:#242424!important;
    z-index:10000!important;
  }
  .site-header .main-nav,
  .internal-site-header .main-nav{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:140px 24px 90px!important;
    background:#F3F1EC!important;
    color:#242424!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:22px!important;
    border:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
    z-index:10000!important;
  }
  .site-header .main-nav.open,
  .site-header .main-nav.is-open,
  .internal-site-header .main-nav.open,
  .internal-site-header .main-nav.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header .main-nav a,
  .internal-site-header .main-nav a{
    display:block!important;
    width:auto!important;
    padding:2px 0!important;
    color:#242424!important;
    font-size:clamp(22px,6vw,30px)!important;
    line-height:1.18!important;
    font-weight:400!important;
    letter-spacing:.015em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    opacity:1!important;
  }
  .site-header .main-nav a.active,
  .internal-site-header .main-nav a.active{opacity:1!important;color:#242424!important;}
  .site-header .menu-toggle,
  .internal-site-header .menu-toggle{
    display:block!important;
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    left:auto!important;
    width:52px!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    justify-self:auto!important;
    background:transparent!important;
    border:0!important;
    color:inherit!important;
    z-index:10002!important;
  }
  .site-header .menu-toggle span:not(.sr-only),
  .internal-site-header .menu-toggle span:not(.sr-only){
    position:absolute!important;
    left:13px!important;
    top:25px!important;
    width:26px!important;
    height:1px!important;
    margin:0!important;
    background:currentColor!important;
    transform-origin:center!important;
    transition:transform .22s ease,top .22s ease!important;
  }
  .site-header .menu-toggle span:not(.sr-only):first-child,
  .internal-site-header .menu-toggle span:not(.sr-only):first-child{top:21px!important;}
  .site-header .menu-toggle span:not(.sr-only):nth-child(2),
  .internal-site-header .menu-toggle span:not(.sr-only):nth-child(2){top:29px!important;}
  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):first-child,
  .internal-site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):first-child{
    top:25px!important;transform:rotate(45deg)!important;
  }
  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2),
  .internal-site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2){
    top:25px!important;transform:rotate(-45deg)!important;
  }
  body.menu-open .book-orbit{display:none!important;}
}

/* V170 — refined full-screen mobile menu */
@media (max-width:980px){
  body.menu-open .site-header::before,
  body.menu-open .internal-site-header::before{
    content:"ANDRII GERASHCHENKO";
    position:fixed!important;
    top:66px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:max-content!important;
    max-width:calc(100vw - 104px)!important;
    color:#242424!important;
    font-size:clamp(18px,5.1vw,24px)!important;
    line-height:1!important;
    font-weight:400!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    z-index:10003!important;
  }

  .site-header .main-nav,
  .internal-site-header .main-nav{
    padding:158px 24px 72px!important;
    gap:15px!important;
  }

  .site-header .main-nav a,
  .internal-site-header .main-nav a{
    font-size:clamp(15px,4vw,20px)!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
  }

  .site-header .menu-toggle,
  .internal-site-header .menu-toggle{
    top:48px!important;
    right:18px!important;
    z-index:10004!important;
  }
}

@media (max-width:360px){
  body.menu-open .site-header::before,
  body.menu-open .internal-site-header::before{
    font-size:17px!important;
    letter-spacing:.035em!important;
    max-width:calc(100vw - 92px)!important;
  }
  .site-header .main-nav,
  .internal-site-header .main-nav{gap:13px!important;}
}

/* V171 — mobile menu: stronger brand wordmark + 30% smaller close icon */
@media (max-width:980px){
  body.menu-open .site-header::before,
  body.menu-open .internal-site-header::before{
    font-weight:700!important;
  }

  .site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only),
  .internal-site-header .menu-toggle[aria-expanded="true"] span:not(.sr-only){
    left:17px!important;
    width:18px!important;
  }
}


/* V172 — HOME portfolio slideshow; WORK section removed */
.hero-slideshow{position:relative;}
.hero-slideshow .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;opacity:0;transition:opacity 1.1s ease;pointer-events:none;}
.hero-slideshow .hero-slide.is-active{opacity:1;}
.hero-statement{max-width:245px;}
.hero-statement p strong{display:inline-block;margin-bottom:10px;font-weight:500;}
@media (max-width:980px){.hero-statement{max-width:none;}}
@media (prefers-reduced-motion:reduce){.hero-slideshow .hero-slide{transition:none;}}
/* V182 — HOME slideshow in original color */
.hero-slideshow .hero-slide{
  filter:none !important;
}