/* Editorial home layer — loaded last, scoped to .editorial-home.
   Same palette, typefaces, photography and renderers as the rest of V3.
   What changes is composition only: one shared twelve-column grid, a wider
   vertical rhythm, alternating column weights instead of one repeated
   two-column stack, and a dedicated full-width band for the client voices. */

.editorial-home {
  --ed-columns: 12;
  --ed-gap: clamp(18px, 2vw, 34px);
  --ed-rhythm: clamp(120px, 14vw, 230px);
  --ed-rule: rgb(69 71 63 / 20%);
}

/* Shared grid ------------------------------------------------------------- */
.editorial-home .ed-section {
  display: grid;
  grid-template-columns: repeat(var(--ed-columns), minmax(0, 1fr));
  column-gap: var(--ed-gap);
  align-items: start;
  margin-top: var(--ed-rhythm);
  padding-inline: 0;
}
.editorial-home .ed-head > .eyebrow {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: clamp(26px, 2.6vw, 40px);
  color: rgb(69 71 63 / 70%);
}
.editorial-home .ed-index {
  color: var(--accent);
  font-variant-numeric: tabular-nums;
  letter-spacing: .12em;
}
.editorial-home .ed-head h2 {
  font: 400 clamp(44px, 5vw, 86px)/1.02 var(--font-display);
  letter-spacing: -.04em;
  text-wrap: balance;
}
.editorial-home .ed-head-centred {
  grid-column: 2 / 12;
  text-align: center;
  justify-items: center;
}
.editorial-home .ed-head-centred > .eyebrow { justify-content: center; }

/* 01 — The collection, as an editorial index ------------------------------ */
.editorial-home .ed-collection > .ed-head { grid-column: 1 / 8; }
.editorial-home .ed-lede {
  grid-column: 8 / 13;
  align-self: end;
  max-width: 40ch;
  padding-bottom: 8px;
  font-size: 17px;
  line-height: 1.8;
  color: rgb(69 71 63 / 82%);
}
.editorial-home .ed-menu {
  grid-column: 1 / 13;
  margin-top: clamp(56px, 6vw, 100px);
  border-top: 1px solid var(--ed-rule);
}
.editorial-home .ed-row {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 4fr) minmax(0, 5fr) 108px 30px;
  align-items: baseline;
  column-gap: var(--ed-gap);
  padding-block: clamp(30px, 3.2vw, 50px);
  border-bottom: 1px solid var(--ed-rule);
}
.editorial-home .ed-row::before {
  content: '';
  position: absolute;
  inset: -1px 0 -1px 0;
  z-index: -1;
  background: rgb(69 71 63 / 3.5%);
  opacity: 0;
  transition: opacity 320ms cubic-bezier(.2, .7, .2, 1);
}
.editorial-home .ed-row:hover::before { opacity: 1; }
.editorial-home .ed-row-number {
  font: 400 13px/1 var(--font-display);
  letter-spacing: .14em;
  color: var(--accent);
}
.editorial-home .ed-row-name {
  font: 400 clamp(27px, 2.9vw, 44px)/1.1 var(--font-display);
  letter-spacing: -.03em;
  transition: color 260ms ease;
}
.editorial-home .ed-row-description {
  max-width: 34ch;
  font-size: 15px;
  line-height: 1.7;
  color: rgb(69 71 63 / 78%);
}
.editorial-home .ed-row-meta {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(69 71 63 / 62%);
  white-space: nowrap;
}
.editorial-home .ed-row-go { justify-self: end; color: var(--accent); }
.editorial-home .ed-row-go .arrow { width: 24px; }
.editorial-home .ed-row:hover .ed-row-name { color: var(--accent); }
.editorial-home .ed-row:hover .arrow { transform: translateX(5px); }
/* Two ways in, side by side: the same rules and rhythm, no descriptions. */
.editorial-home .ed-ways {
  grid-column: 1 / 13;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(40px, 6vw, 110px);
  margin-top: clamp(56px, 6vw, 100px);
}
.editorial-home .ed-way { display: flex; flex-direction: column; scroll-margin-top: 40px; }
.editorial-home .ed-way-label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 18px;
  min-height: 2.6em;
  margin-bottom: 14px;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
}
.editorial-home .ed-way-label span { font-size: 15px; letter-spacing: 0; text-transform: none; color: rgb(69 71 63 / 68%); }
.editorial-home .ed-way ul {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--ed-rule);
}
.editorial-home .ed-way li { flex: 1; display: flex; }
.editorial-home .ed-way a {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 24px;
  align-items: center;
  column-gap: 20px;
  padding-block: clamp(16px, 1.6vw, 22px);
  border-bottom: 1px solid var(--ed-rule);
  transition: color 220ms ease;
}
.editorial-home .ed-way-name { font: 400 clamp(22px, 2vw, 30px)/1.15 var(--font-display); letter-spacing: -.025em; }
.editorial-home .ed-way-signature .ed-way-name { font-size: clamp(30px, 3vw, 46px); }
.editorial-home .ed-way-note {
  display: block;
  margin-top: 8px;
  font: 400 15px/1.5 var(--font-sans);
  letter-spacing: 0;
  color: rgb(69 71 63 / 70%);
}
.editorial-home .ed-way a:hover .ed-way-note { color: rgb(142 49 41 / 75%); }
.editorial-home .ed-way-meta { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgb(69 71 63 / 62%); white-space: nowrap; }
.editorial-home .ed-way .arrow { width: 22px; color: var(--accent); }
.editorial-home .ed-way a:hover { color: var(--accent); }
.editorial-home .ed-way a:hover .arrow { transform: translateX(4px); }

/* 02 — Find your treatment ------------------------------------------------ */
.editorial-home .ed-finder > .ed-head {
  grid-column: 1 / 6;
  align-self: start;
}
.editorial-home .ed-head-note {
  max-width: 28ch;
  margin-top: clamp(26px, 2.6vw, 40px);
  font-size: 16px;
  line-height: 1.75;
  color: rgb(69 71 63 / 78%);
}
.editorial-home .ed-finder > .finder-options { grid-column: 6 / 13; }
.editorial-home .desire-list { border-top: 1px solid var(--ed-rule); }
.editorial-home .desire-option { border-bottom: 1px solid var(--ed-rule); }
.editorial-home .desire-option summary {
  min-height: 92px;
  padding-block: 26px;
  font: 300 clamp(20px, 1.95vw, 28px)/1.3 var(--font-sans);
  letter-spacing: -.02em;
}
.editorial-home .desire-answer { margin-bottom: 36px; }
.editorial-home .finder-note {
  margin-top: 34px;
  max-width: 46ch;
  font-size: 13px;
  line-height: 1.75;
  color: rgb(69 71 63 / 65%);
}

/* 03 — Individual results, centred ---------------------------------------- */
.editorial-home .ed-case {
  grid-column: 3 / 11;
  margin-top: clamp(54px, 6vw, 96px);
}
.editorial-home .ed-results-copy {
  grid-column: 4 / 10;
  margin-top: clamp(50px, 5.5vw, 88px);
  display: grid;
  justify-items: center;
  text-align: center;
}
.editorial-home .ed-results-lede {
  max-width: 26ch;
  font: 300 clamp(21px, 2vw, 30px)/1.4 var(--font-sans);
  letter-spacing: -.025em;
}
.editorial-home .ed-results-copy > p + p {
  max-width: 48ch;
  margin-top: 26px;
  font-size: 16px;
  line-height: 1.8;
  color: rgb(69 71 63 / 80%);
}
.editorial-home .ed-results-copy .text-link { margin-top: 34px; }

/* 04 — Olya --------------------------------------------------------------- */
.editorial-home .ed-about { align-items: center; }
.editorial-home .ed-about-portrait {
  grid-column: 1 / 7;
  position: relative;
  isolation: isolate;
  aspect-ratio: 4 / 5;
}
.editorial-home .ed-about-text { grid-column: 8 / 13; align-self: center; }
.editorial-home .ed-about-text > .eyebrow {
  display: flex;
  align-items: baseline;
  gap: 16px;
  color: rgb(69 71 63 / 70%);
}
.editorial-home .ed-about-text h2 {
  margin-top: 26px;
  font: 400 clamp(44px, 4.8vw, 78px)/1.02 var(--font-display);
  letter-spacing: -.04em;
}
.editorial-home .ed-about-copy { margin-top: clamp(30px, 3vw, 48px); max-width: 42ch; }
.editorial-home .ed-about-copy p { font-size: 16px; line-height: 1.85; color: rgb(69 71 63 / 84%); }
.editorial-home .ed-about-copy p + p { margin-top: 22px; }
/* A quiet colophon at the end of her paragraphs, not a band of its own. */
.editorial-home .ed-facts {
  margin: clamp(30px, 3vw, 44px) 0 0;
  padding: clamp(22px, 2.2vw, 30px) 0 0;
  list-style: none;
  border-top: 1px solid var(--ed-rule);
}
.editorial-home .ed-facts li {
  padding-block: 5px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(69 71 63 / 58%);
}

/* 05 — The atelier and its two plates ------------------------------------- */
.editorial-home .ed-atelier { align-items: start; }
.editorial-home .ed-atelier-head { grid-column: 1 / 8; }
.editorial-home .ed-atelier-head h2 {
  margin-top: clamp(26px, 2.6vw, 40px);
  font: 300 clamp(30px, 3.1vw, 46px)/1.22 var(--font-sans);
  letter-spacing: -.03em;
}
.editorial-home .ed-atelier-head > .eyebrow {
  display: flex;
  align-items: baseline;
  gap: 16px;
  color: rgb(69 71 63 / 70%);
}
.editorial-home .ed-atelier-note { grid-column: 9 / 13; align-self: start; padding-top: 6px; }
.editorial-home .ed-atelier-note p { font-size: 15px; line-height: 1.8; color: rgb(69 71 63 / 80%); }
.editorial-home .ed-atelier-lede {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--ink) !important;
}
.editorial-home .ed-atelier-note p + p { margin-top: 22px; }
.editorial-home .ed-address {
  margin-top: 26px !important;
  padding-top: 22px;
  border-top: 1px solid var(--ed-rule);
  font-size: 12px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.9 !important;
}
.editorial-home .ed-rooms {
  position: relative;
  isolation: isolate;
  width: min(calc(100% - var(--gutter) * 2), 1560px);
  margin: clamp(70px, 8vw, 120px) auto 0;
}
.editorial-home .ed-rooms .rail-track {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--ed-gap);
  align-items: start;
}
.editorial-home .ed-rooms .room:first-child { grid-column: 1 / 7; }
.editorial-home .ed-rooms .room:last-child {
  grid-column: 8 / 13;
  margin-top: clamp(56px, 6.5vw, 115px);
}
.editorial-home .ed-rooms .room-photo { position: relative; isolation: isolate; aspect-ratio: 3 / 4; }
.editorial-home .ed-rooms .room:last-child .room-photo { aspect-ratio: 4 / 5; }
.editorial-home .ed-rooms .room-caption {
  margin-top: 18px;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgb(69 71 63 / 62%);
}

/* 06 — Client voices, on their own ground --------------------------------- */
.editorial-home .ed-voices {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: var(--ed-rhythm);
  padding-block: clamp(90px, 10vw, 165px);
  border-block: 1px solid var(--ed-rule);
  background: rgb(69 71 63 / 4%);
}
.editorial-home .ed-voices-inner {
  width: min(calc(100% - var(--gutter) * 2), 1440px);
  margin-inline: auto;
}
.editorial-home .ed-voices .ed-head { grid-column: auto; }
.editorial-home .ed-voice-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(26px, 3.2vw, 62px);
  margin-top: clamp(56px, 6vw, 96px);
}
.editorial-home .ed-voice {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: clamp(34px, 3.4vw, 52px);
  border-top: 1px solid var(--ed-rule);
}
.editorial-home .ed-voice::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 46px;
  height: 1px;
  background: var(--accent);
}
.editorial-home .ed-voice blockquote { margin: 0; }
.editorial-home .ed-voice blockquote p {
  font: 400 clamp(20px, 1.75vw, 28px)/1.45 var(--font-display);
  letter-spacing: -.02em;
  text-wrap: pretty;
}
.editorial-home .ed-voice figcaption {
  margin-top: auto;
  padding-top: clamp(28px, 3vw, 44px);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgb(69 71 63 / 62%);
}
.editorial-home .ed-voice figcaption span { white-space: nowrap; }

/* 07 — First visit -------------------------------------------------------- */
.editorial-home .ed-questions > .ed-head { grid-column: 1 / 9; }
.editorial-home .ed-question-grid {
  grid-column: 1 / 13;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(26px, 3.2vw, 62px);
  margin-top: clamp(56px, 6vw, 96px);
}
.editorial-home .ed-question-grid article {
  padding-top: clamp(26px, 2.6vw, 38px);
  border-top: 1px solid var(--ed-rule);
}
.editorial-home .ed-question-grid h3 {
  font: 300 clamp(20px, 1.8vw, 25px)/1.35 var(--font-sans);
  letter-spacing: -.02em;
}
.editorial-home .ed-question-grid p {
  margin-top: 18px;
  max-width: 34ch;
  font-size: 15px;
  line-height: 1.85;
  color: rgb(69 71 63 / 80%);
}
.editorial-home .ed-question-grid .inline-link + .inline-link,
.editorial-home .ed-question-grid > article > .inline-link {
  display: inline-block;
  margin-top: 18px;
  font-size: 13px;
}

/* Closing ----------------------------------------------------------------- */
.editorial-home .ed-close { align-items: end; padding-bottom: clamp(90px, 10vw, 150px); }
.editorial-home .ed-close h2 {
  grid-column: 1 / 8;
  font: 400 clamp(54px, 6.6vw, 118px)/1 var(--font-display);
  letter-spacing: -.045em;
}
.editorial-home .ed-close-action { grid-column: 8 / 13; align-self: end; padding-bottom: 10px; }
.editorial-home .ed-close-lede {
  max-width: 34ch;
  margin-bottom: 32px;
  font-size: 16px;
  line-height: 1.8;
  color: rgb(69 71 63 / 82%);
}
.editorial-home .ed-close-meta {
  grid-column: 1 / 13;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px clamp(20px, 3vw, 60px);
  margin-top: clamp(70px, 8vw, 120px);
  padding-top: 26px;
  border-top: 1px solid var(--ed-rule);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgb(69 71 63 / 62%);
}

/* Language ---------------------------------------------------------------
   A quiet dropdown set apart from the uppercase navigation by a hairline:
   the current code with a small chevron, and the three languages written in
   their own names underneath. */
.editorial-home .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.editorial-home .lang-menu { position: relative; flex: none; padding-left: clamp(16px, 1.6vw, 26px); }
.editorial-home .lang-menu::before { content: ''; position: absolute; left: 0; top: 50%; width: 1px; height: 14px; margin-top: -7px; background: var(--rule); }
.editorial-home .lang-menu[open]::before { top: 22px; }
.editorial-home .lang-menu summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 11px;
  letter-spacing: .08em;
  color: rgb(69 71 63 / 62%);
  list-style: none;
  cursor: pointer;
  transition: color 220ms ease;
}
.editorial-home .lang-menu summary::-webkit-details-marker { display: none; }
.editorial-home .lang-menu summary:hover,
.editorial-home .lang-menu[open] summary { color: var(--ink); }
.editorial-home .lang-chev {
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 220ms ease;
}
.editorial-home .lang-menu[open] .lang-chev { margin-top: 3px; transform: rotate(-135deg); }
.editorial-home .lang-options {
  position: absolute;
  top: calc(100% + 6px);
  right: -14px;
  z-index: 6;
  display: grid;
  min-width: 190px;
  padding: 8px 0;
  background: var(--paper);
  border: 1px solid var(--rule);
  box-shadow: 0 18px 40px -22px rgb(69 71 63 / 35%);
}
.editorial-home .site-header nav .lang-options a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 44px;
  padding: 0 16px;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: rgb(69 71 63 / 75%);
}
.editorial-home .site-header nav .lang-options a::after { display: none; }
.editorial-home .lang-options .lang-code { font-size: 10px; letter-spacing: .12em; color: rgb(69 71 63 / 45%); }
.editorial-home .site-header nav .lang-options a:hover { color: var(--accent); }
.editorial-home .site-header nav .lang-options a[aria-current] { color: var(--ink); }
.editorial-home .lang-options a[aria-current] .lang-code { color: var(--accent); }

/* Quiet arrival of each block, only where motion is welcome and JS ran. ---- */
@media (prefers-reduced-motion: no-preference) {
  .editorial-home[data-reveal-ready] [data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 900ms cubic-bezier(.22, .61, .36, 1), transform 900ms cubic-bezier(.22, .61, .36, 1);
  }
  .editorial-home[data-reveal-ready] [data-reveal].is-revealed { opacity: 1; transform: none; }
}

/* Tablet ------------------------------------------------------------------ */
@media (min-width: 641px) and (max-width: 1100px) {
  .editorial-home { --ed-rhythm: clamp(100px, 13vw, 170px); }
  .editorial-home .ed-collection > .ed-head { grid-column: 1 / 9; }
  .editorial-home .ed-lede { grid-column: 1 / 10; align-self: start; margin-top: 34px; }
  .editorial-home .ed-row { grid-template-columns: 44px minmax(0, 4fr) minmax(0, 4fr) 92px 26px; }
  .editorial-home .ed-ways { column-gap: 36px; }
  .editorial-home .ed-finder > .ed-head { grid-column: 1 / 13; }
  .editorial-home .ed-finder > .finder-options { grid-column: 1 / 13; margin-top: 46px; }
  .editorial-home .ed-head-note { max-width: 40ch; }
  .editorial-home .ed-case { grid-column: 2 / 12; }
  .editorial-home .ed-results-copy { grid-column: 2 / 12; }
  .editorial-home .ed-about-portrait { grid-column: 1 / 7; }
  .editorial-home .ed-about-text { grid-column: 7 / 13; }
  .editorial-home .ed-atelier-head { grid-column: 1 / 9; }
  .editorial-home .ed-atelier-note { grid-column: 1 / 9; margin-top: 44px; }
  .editorial-home .ed-rooms .room:first-child { grid-column: 1 / 7; }
  .editorial-home .ed-rooms .room:last-child { grid-column: 8 / 13; }
  .editorial-home .ed-voice-rail { grid-template-columns: 1fr 1fr; row-gap: clamp(40px, 6vw, 70px); }
  .editorial-home .ed-question-grid { grid-template-columns: 1fr 1fr; row-gap: clamp(40px, 6vw, 70px); }
  .editorial-home .ed-close h2 { grid-column: 1 / 9; }
  .editorial-home .ed-close-action { grid-column: 1 / 9; margin-top: 44px; align-self: start; }
}

/* Phone ------------------------------------------------------------------- */
@media (max-width: 640px) {
  .editorial-home { --ed-rhythm: 96px; --ed-gap: 16px; }
  .editorial-home .ed-section { display: block; }
  .editorial-home .ed-head h2 { font-size: clamp(40px, 11vw, 62px); }
  .editorial-home .ed-head > .eyebrow,
  .editorial-home .ed-about-text > .eyebrow,
  .editorial-home .ed-atelier-head > .eyebrow { gap: 12px; }
  .editorial-home .ed-head-centred { text-align: left; }
  .editorial-home .ed-head-centred > .eyebrow { justify-content: flex-start; }
  .editorial-home .ed-lede { margin-top: 28px; font-size: 16px; max-width: none; }
  .editorial-home .ed-menu { margin-top: 40px; }
  .editorial-home .ed-ways { grid-template-columns: 1fr; row-gap: 52px; margin-top: 44px; }
  .editorial-home .ed-way-label { display: block; min-height: 0; }
  .editorial-home .ed-way-label span { display: block; margin-top: 6px; }
  .editorial-home .ed-way a { padding-block: 16px; }
  .editorial-home .ed-way-signature .ed-way-name { font-size: 32px; }
  .editorial-home .ed-way-name { font-size: 24px; }
  .editorial-home .ed-way-note { margin-top: 6px; font-size: 14px; }
  .editorial-home .ed-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    row-gap: 8px;
    padding-block: 24px;
  }
  .editorial-home .ed-row-number { grid-column: 1 / 3; font-size: 11px; }
  .editorial-home .ed-row-name { grid-column: 1; font-size: 30px; }
  .editorial-home .ed-row-go { grid-column: 2; grid-row: 2; align-self: center; }
  .editorial-home .ed-row-description { grid-column: 1 / 3; max-width: none; font-size: 14px; }
  .editorial-home .ed-row-meta { grid-column: 1 / 3; font-size: 11px; }
  .editorial-home .ed-head-note { max-width: none; margin-top: 22px; font-size: 15px; }
  .editorial-home .ed-finder > .finder-options { margin-top: 38px; }
  .editorial-home .desire-option summary { min-height: 72px; padding-block: 20px; font-size: 19px; }
  .editorial-home .ed-case { margin-top: 36px; }
  .editorial-home .ed-results-copy { margin-top: 38px; justify-items: start; text-align: left; }
  .editorial-home .ed-results-lede { max-width: none; font-size: 21px; }
  .editorial-home .ed-results-copy > p + p { margin-top: 20px; font-size: 15px; }
  .editorial-home .ed-about-portrait { width: 100%; aspect-ratio: 4 / 5; }
  .editorial-home .ed-about-text { margin-top: 36px; }
  .editorial-home .ed-about-text h2 { margin-top: 18px; font-size: clamp(40px, 11vw, 58px); }
  .editorial-home .ed-about-copy { max-width: none; margin-top: 26px; }
  .editorial-home .ed-facts { margin-top: 28px; padding-top: 22px; }
  .editorial-home .ed-facts li { font-size: 11px; }
  .editorial-home .ed-atelier-head h2 { font-size: 27px; }
  .editorial-home .ed-atelier-note { margin-top: 34px; }
  .editorial-home .ed-rooms { width: calc(100% - var(--gutter) * 2); margin-top: 48px; }
  .editorial-home .ed-rooms .rail-track { display: block; }
  .editorial-home .ed-rooms .room:first-child .room-photo { width: 100%; }
  .editorial-home .ed-rooms .room:last-child { margin-top: 40px; }
  .editorial-home .ed-rooms .room:last-child .room-photo { width: 78%; margin-left: 22%; }
  .editorial-home .ed-rooms .room-caption { margin-top: 12px; font-size: 10px; }
  .editorial-home .ed-voices { padding-block: 72px; }
  .editorial-home .ed-voice-rail {
    display: flex;
    gap: 18px;
    margin: 36px calc(-1 * var(--gutter)) 0;
    padding-inline: var(--gutter);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .editorial-home .ed-voice-rail::-webkit-scrollbar { display: none; }
  .editorial-home .ed-voice { flex: 0 0 80%; scroll-snap-align: start; padding-top: 28px; }
  .editorial-home .ed-voice blockquote p { font-size: 21px; }
  .editorial-home .ed-voice figcaption { padding-top: 24px; }
  .editorial-home .ed-question-grid { display: block; margin-top: 36px; }
  .editorial-home .ed-question-grid article + article { margin-top: 32px; }
  .editorial-home .ed-question-grid p { max-width: none; font-size: 15px; }
  .editorial-home .ed-close { padding-bottom: 80px; }
  .editorial-home .ed-close h2 { font-size: clamp(46px, 13vw, 74px); }
  .editorial-home .ed-close-action { margin-top: 34px; }
  .editorial-home .ed-close-meta { margin-top: 48px; gap: 10px 20px; font-size: 10px; }
}

/* The switch travels with the navigation: a dropdown in the bar on wide
   screens, a row of language names inside the menu panel where the bar collapses. */
.editorial-home .lang-switch { display: none; }
@media (max-width: 1023px) {
  .editorial-home .mobile-navigation nav .lang-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 0 22px;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--rule);
  }
  .editorial-home .mobile-navigation nav .lang-switch a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
    color: rgb(69 71 63 / 55%);
  }
  .editorial-home .mobile-navigation nav .lang-switch .lang-code { display: none; }
  .editorial-home .mobile-navigation nav .lang-switch a[aria-current] { color: var(--ink); text-decoration: underline; text-underline-offset: 6px; }
}

/* Signature emphasis: a lighter paper card, lifted by a soft shadow. */
.editorial-home .ed-ways { --ed-panel-pad: clamp(26px, 2.8vw, 44px); align-items: stretch; }
.editorial-home .ed-way-classic { padding-block: var(--ed-panel-pad); }
.editorial-home .ed-way-signature {
  padding: var(--ed-panel-pad);
  margin-left: calc(-1 * var(--ed-panel-pad));
  background: #f8f7f3;
  box-shadow: 0 1px 2px rgb(69 71 63 / 6%), 0 24px 60px -24px rgb(69 71 63 / 22%);
}
.editorial-home .ed-way-signature li:last-child a { border-bottom: 0; }

@media (max-width: 640px) {
  .editorial-home .ed-way-classic { padding-block: 0; }
  .editorial-home .ed-way-signature { margin-inline: -12px; padding: 32px 12px 14px; }
}

/* 05 — Private makeup lesson: the counterpart to Olya's portrait, text left
   and a quiet loop from a lesson on the right. ---------------------------- */
.editorial-home .ed-lesson { align-items: center; }
.editorial-home .ed-lesson-text { grid-column: 2 / 7; }
.editorial-home .ed-lesson-text > .eyebrow {
  display: flex;
  align-items: baseline;
  gap: 16px;
  color: rgb(69 71 63 / 70%);
}
.editorial-home .ed-lesson-text h2 {
  margin-top: 26px;
  font: 400 clamp(44px, 4.8vw, 78px)/1.02 var(--font-display);
  letter-spacing: -.04em;
}
.editorial-home .ed-lesson-lede {
  max-width: 24ch;
  margin-top: clamp(30px, 3vw, 48px);
  font: 300 clamp(21px, 1.9vw, 28px)/1.4 var(--font-sans);
  letter-spacing: -.02em;
}
.editorial-home .ed-lesson-text p + p:not(.ed-lesson-lede) {
  max-width: 42ch;
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.85;
  color: rgb(69 71 63 / 84%);
}
.editorial-home .ed-lesson-text .text-link { margin-top: 34px; }
.editorial-home .ed-lesson-media { grid-column: 8 / 12; }

@media (min-width: 641px) and (max-width: 1100px) {
  .editorial-home .ed-lesson-text { grid-column: 1 / 7; }
  .editorial-home .ed-lesson-media { grid-column: 8 / 13; }
}
@media (max-width: 640px) {
  .editorial-home .ed-lesson-text > .eyebrow { gap: 12px; }
  .editorial-home .ed-lesson-text h2 { margin-top: 18px; font-size: clamp(40px, 11vw, 58px); }
  .editorial-home .ed-lesson-lede { margin-top: 26px; max-width: none; font-size: 21px; }
  .editorial-home .ed-lesson-text p + p:not(.ed-lesson-lede) { max-width: none; font-size: 15px; }
  .editorial-home .ed-lesson-media { width: 84%; margin: 44px 0 0 auto; }
}
