/* Layout: editorial, poster-scale type. Hard alternation of black and white sections, nothing in between. Single theme by choice. */
  :root {
    --black: #0b0b0b;
    --white: #ffffff;
    --grey: #8a8a8a;
    --line-dark: rgba(255,255,255,.22);
    --line-light: rgba(0,0,0,.16);
    --serif: "Cormorant Garamond", Garamond, "Times New Roman", serif;
    --sans: "Jost", Futura, "Helvetica Neue", Arial, sans-serif;
    color-scheme: light;
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: var(--white); color: var(--black); font-family: var(--sans); font-weight: 300; font-size: 16px; line-height: 1.6; overflow-x: hidden; }
  a { color: inherit; }
  .pad { padding-inline: clamp(16px, 4vw, 56px); }
  .label { font-family: var(--sans); font-size: 0.7rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; margin: 0; }
  .dark { background: var(--black); color: var(--white); }

  /* Header */
  header { position: fixed; top: 0; left: 0; right: 0; z-index: 10; padding-top: env(safe-area-inset-top, 0px); mix-blend-mode: difference; color: #fff; }
  header .pad { display: flex; justify-content: space-between; align-items: center; padding-block: 20px; gap: 16px; }
  .mark { font-family: var(--serif); font-size: 1.05rem; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; }
  nav { display: flex; gap: clamp(14px, 3vw, 32px); }
  nav a { text-decoration: none; }

  /* Hero */
  .hero { --paper: #f4f3f1; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--paper); color: var(--black); padding: 0; }
  .hero-text { display: grid; grid-template-rows: 1fr auto; padding: 110px clamp(16px, 4vw, 56px) 0; }
  .hero h1 { margin: 0; align-self: center; justify-self: center; text-align: center; font-weight: 400; }
  .hero .w1 { display: block; font-family: var(--serif); font-weight: 400; font-size: clamp(2.8rem, 6.4vw, 6rem); line-height: 1; letter-spacing: 0.14em; margin-right: -0.14em; text-transform: uppercase; }
  .hero .w2 { display: block; font-family: var(--sans); font-weight: 300; font-size: clamp(0.9rem, 1.5vw, 1.35rem); letter-spacing: 0.42em; margin: 0.9em -0.42em 0 0; text-transform: uppercase; }
  .hero .rule { display: block; width: 120px; height: 1px; background: currentColor; margin: 2.2rem auto 0; }
  .hero .sub { margin: 1.6rem 0 0; font-family: var(--serif); font-style: italic; font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: #555; text-align: center; }
  .hero-photo { margin: 0; min-height: 100%; background: var(--paper); overflow: hidden; }
  .hero-photo img { display: block; width: 100%; height: 100%; min-height: 100svh; object-fit: cover; object-position: 55% 40%; }
  .hero .hero-foot { border-top-color: var(--line-light); }
  .hero-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; border-top: 1px solid var(--line-dark); padding-block: 20px 28px; }


  /* Ticker */
  .ticker { overflow: hidden; border-bottom: 1px solid var(--black); white-space: nowrap; }
  .ticker-track { display: inline-flex; padding-block: 22px; animation: run 40s linear infinite; }
  .ticker span { font-family: var(--sans); font-weight: 400; text-transform: uppercase; letter-spacing: 0.04em; font-size: clamp(1.2rem, 2.8vw, 2.2rem); padding-right: 0.9em; }
  .ticker span:nth-child(even) { color: transparent; -webkit-text-stroke: 1px var(--black); }
  @keyframes run { to { transform: translateX(-50%); } }

  /* Definition */
  .define { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px clamp(32px, 6vw, 96px); padding-block: clamp(80px, 14vw, 180px); }
  .word { font-family: var(--serif); font-weight: 300; font-size: clamp(3rem, 8vw, 6.8rem); line-height: 0.9; margin: 0; }
  .phon { font-family: var(--serif); font-style: italic; font-size: 1.4rem; color: var(--grey); margin: 12px 0 0; }
  .senses { list-style: none; margin: 0; padding: 0; display: grid; gap: 34px; align-self: end; }
  .senses li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); border-top: 1px solid var(--line-light); padding-top: 18px; }
  .senses .n { font-family: var(--serif); font-size: 1.4rem; }
  .senses p { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2.4vw, 1.9rem); line-height: 1.25; }
  .senses em { display: block; font-family: var(--sans); font-style: normal; font-size: 0.95rem; color: #555; margin-top: 8px; }

  /* Doors */
  .doors { padding-block: clamp(72px, 10vw, 140px) 0; }
  .doors-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 40px; margin-bottom: 40px; }
  .doors-head h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 0.95; margin: 0; max-width: 12ch; }
  .doors-head p { max-width: 34ch; margin: 0; color: #444; }
  .door { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 8px 24px; border-top: 1px solid var(--black); padding: 22px clamp(16px, 4vw, 56px); margin-inline: calc(-1 * clamp(16px, 4vw, 56px)); text-decoration: none; transition: background .25s, color .25s; }
  .door:last-child { border-bottom: 1px solid var(--black); }
  .door h3 { margin: 0; font-family: var(--serif); font-weight: 300; font-size: clamp(1.6rem, 4.4vw, 3.6rem); line-height: 1; text-transform: uppercase; letter-spacing: -0.01em; }
  .door .meta { text-align: right; }
  .door .meta p { margin: 0; }
  .door .meta .line { font-size: 0.95rem; max-width: 30ch; margin-top: 4px; }
  .door:hover, .door:focus-visible { background: var(--black); color: var(--white); outline: none; }
  .door:hover h3, .door:focus-visible h3 { font-style: italic; }

  /* Pathway */
  .pathway { padding-block: clamp(80px, 12vw, 160px); }
  .pathway h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2.4rem, 6.6vw, 5.6rem); line-height: 0.88; margin: 18px 0 0; }
  .pathway h2 i { font-weight: 300; }
  .lede { font-family: var(--serif); font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.3; max-width: 30ch; margin: 36px 0 64px; }
  .months { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
  .months span { font-size: 0.68rem; letter-spacing: 0.1em; color: var(--grey); padding: 10px 0 0 4px; border-left: 1px solid var(--line-dark); }
  .phases { display: grid; grid-template-columns: 2fr 6fr 4fr; margin-top: 18px; gap: 0; }
  .phase { border-left: 1px solid var(--white); padding: 0 clamp(10px, 1.6vw, 22px) 0 clamp(10px, 1.6vw, 22px); min-width: 0; }
  .phase .bar { height: 6px; background: var(--white); margin: 0 0 22px calc(-1 * clamp(10px, 1.6vw, 22px)); }
  .phase:nth-child(1) .bar { opacity: 1; }
  .phase:nth-child(2) .bar { opacity: .6; }
  .phase:nth-child(3) .bar { opacity: .3; }
  .phase h3 { font-family: var(--serif); font-weight: 300; font-size: clamp(1.6rem, 3.4vw, 2.8rem); margin: 6px 0 10px; text-transform: uppercase; line-height: 1; }
  .phase p.d { margin: 0; color: #cfcfcf; font-size: 0.95rem; max-width: 34ch; }
  .end-line { font-family: var(--serif); font-style: italic; font-size: clamp(1.5rem, 3vw, 2.4rem); margin: 72px 0 0; text-align: right; }

  /* Quote */
  .quote { padding-block: clamp(90px, 14vw, 200px); text-align: center; }
  .quote p { font-family: var(--serif); font-weight: 300; font-size: clamp(1.8rem, 4.4vw, 3.6rem); line-height: 1; margin: 0 auto; max-width: 16ch; text-wrap: balance; }
  .quote p i { font-weight: 300; }
  .quote p.label { margin-top: 32px; font-family: var(--sans); font-size: 0.7rem; line-height: 1.6; max-width: none; }

  /* Principles */
  .principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--black); }
  .principles div { padding: 28px clamp(14px, 2vw, 28px) 56px 0; min-width: 0; }
  .principles div + div { border-left: 1px solid var(--line-light); padding-left: clamp(14px, 2vw, 28px); }
  .principles h4 { font-family: var(--serif); font-weight: 400; font-size: 1.5rem; line-height: 1.1; margin: 0 0 12px; }
  .principles p { margin: 0; color: #444; font-size: 0.95rem; }

  /* Giveaway */
  .give { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px clamp(32px, 6vw, 96px); padding-block: clamp(80px, 12vw, 160px); align-items: end; }
  .give h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(2.4rem, 6vw, 5rem); line-height: 0.86; margin: 18px 0 0; }
  .give h2 i { display: block; }
  .give .copy { margin: 28px 0 0; max-width: 40ch; color: #d2d2d2; }
  form { display: grid; gap: 22px; }
  label { display: grid; gap: 6px; }
  input, textarea { font: inherit; font-weight: 400; font-size: 1.05rem; color: inherit; background: transparent; border: 0; border-bottom: 1px solid currentColor; padding: 10px 0; border-radius: 0; opacity: .9; }
  input:focus, textarea:focus { outline: none; border-bottom-width: 2px; }
  textarea { min-height: 100px; resize: vertical; }
  button { justify-self: start; font: inherit; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500; padding: 16px 30px; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; transition: background .2s, color .2s; }
  .dark button:hover, .dark button:focus-visible { background: var(--white); color: var(--black); outline: none; }
  .light button:hover, .light button:focus-visible { background: var(--black); color: var(--white); outline: none; }
  .ok { margin: 0; font-size: 0.9rem; }

  /* Contact */
  .contact { padding-block: clamp(80px, 12vw, 160px); }
  .big-contact { display: grid; gap: 6px; margin: 28px 0 72px; }
  .big-contact p { margin: 0; font-family: var(--serif); font-weight: 300; font-size: clamp(1.6rem, 4.4vw, 3.6rem); line-height: 1.02; overflow-wrap: anywhere; }
  .contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px clamp(32px, 6vw, 96px); border-top: 1px solid var(--black); padding-top: 32px; }
  .facts { display: grid; gap: 22px; align-content: start; }
  .facts p { margin: 4px 0 0; font-size: 1.05rem; font-weight: 400; }

  footer { padding-block: 24px 32px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }

  @media (max-width: 760px) {
    .define, .give, .contact-grid { grid-template-columns: minmax(0, 1fr); }
    .principles { grid-template-columns: minmax(0, 1fr); }
    .principles div + div { border-left: 0; padding-left: 0; border-top: 1px solid var(--line-light); }
    .principles div { padding-bottom: 32px; }
    .phases { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .months { display: none; }
    .door { grid-template-columns: minmax(0, 1fr); }
    .door .meta { text-align: left; }
    .end-line { text-align: left; }
  }
  @media (prefers-reduced-motion: reduce) {
    .ticker-track { animation: none; }
    html { scroll-behavior: auto; }
  }

  /* House heading style: serif spaced caps, small spaced sans line, fine rule */
  .doors-head h2, .pathway h2, .give h2 { text-transform: uppercase; letter-spacing: 0.1em; font-weight: 400; line-height: 1.02; max-width: none; }
  .doors-head h2 { font-size: clamp(1.9rem, 4vw, 3.2rem); }
  .pathway h2 { font-size: clamp(2.2rem, 5.4vw, 4.6rem); }
  .give h2 { font-size: clamp(2.2rem, 5vw, 4.2rem); }
  .doors-head h2 i, .pathway h2 i, .give h2 i { display: block; font-family: var(--sans); font-style: normal; font-weight: 300; font-size: clamp(0.85rem, 1.3vw, 1.15rem); letter-spacing: 0.42em; margin-top: 1em; }
  .doors-head h2::after, .pathway h2::after, .give h2::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin-top: 1.4rem; }
  .door h3 { font-weight: 400; letter-spacing: 0.08em; }
  .phase h3 { font-weight: 400; letter-spacing: 0.1em; }
  .quote p { letter-spacing: 0.01em; }
  @media (max-width: 760px) {
    .hero { grid-template-columns: minmax(0, 1fr); }
    .hero-photo { order: -1; }
    .hero-photo img { min-height: 0; height: 62svh; object-position: 55% 35%; }
    .hero-text { padding-top: 48px; }
    .hero h1 { margin-bottom: 40px; }
  }

  /* Header: solid paper bar so it reads over the photo and every section */
  header { mix-blend-mode: normal; color: var(--black); background: rgba(244, 243, 241, 0.94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line-light); }
  header .pad { padding-block: 16px; }
  /* Hero fits exactly one screen */
  .hero { height: 100svh; min-height: 620px; }
  .hero-text { padding-top: 90px; min-height: 0; }
  .hero-photo img { min-height: 0; height: 100%; object-position: 55% 55%; }
  @media (max-width: 760px) {
    .mark { font-size: 0.85rem; letter-spacing: 0.06em; }
    nav { gap: 14px; }
    .hero { height: auto; min-height: 0; padding-top: 56px; }
    .hero-photo img { height: 58svh; object-position: 50% 45%; }
  }

  @media (max-width: 760px) { .mark { white-space: nowrap; font-size: 0.8rem; } nav .label { font-size: 0.62rem; letter-spacing: 0.12em; } }

  /* Hero v3: full-bleed photo of Leanne, type laid over the light wall (like the reference) */
  .hero { position: relative; display: block; height: 100svh; min-height: 620px; padding: 0; overflow: hidden; background: var(--paper); }
  .hero-photo { position: absolute; inset: 0; margin: 0; }
  .hero-photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: 50% 42%; }
  .hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,243,241,.9) 0%, rgba(244,243,241,.75) 30%, rgba(244,243,241,0) 55%); }
  .hero-text { position: relative; z-index: 2; height: 100%; width: min(50%, 720px); display: grid; grid-template-rows: 1fr auto; padding: 90px 0 0 clamp(16px, 4vw, 56px); }
  .hero .hero-foot { width: 100%; }
  @media (max-width: 760px) {
    .hero { height: 100svh; min-height: 560px; padding-top: 0; }
    .hero-photo { order: 0; }
    .hero-photo img { height: 100%; object-position: 62% 50%; }
    .hero-photo::after { background: linear-gradient(180deg, rgba(244,243,241,.95) 0%, rgba(244,243,241,.8) 34%, rgba(244,243,241,0) 52%, rgba(244,243,241,0) 82%, rgba(244,243,241,.9) 100%); }
    .hero-text { width: 100%; padding: 96px 16px 0; grid-template-rows: auto 1fr auto; }
    .hero h1 { align-self: start; margin: 0; }
    .hero-text::after { content: ""; }
    .hero .hero-foot { grid-row: 3; }
  }

  /* Hero v4: supplied STRENGTH image, shown whole */
  .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hero.hero-image { position: relative; display: flex; flex-direction: column; justify-content: center; height: auto; min-height: 100svh; padding: 60px 0 0; background: #f1f1f1; overflow: hidden; }
  .hero-shot { margin: 0; flex: 1; display: flex; align-items: center; justify-content: center; background: linear-gradient(#f6f6f6, #ececec); }
  .hero-shot img { display: block; width: 100%; height: auto; max-height: calc(100svh - 140px); object-fit: contain; }
  .hero.hero-image .hero-foot { width: 100%; border-top: 1px solid var(--line-light); color: var(--black); }
  @media (max-width: 760px) {
    .hero.hero-image { min-height: 0; padding-top: 56px; }
    .hero-shot img { max-height: none; }
  }
  .hero.hero-image, .hero-shot { background: #efefef; }
  .hero-shot img { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
  .hero.hero-image .hero-foot { background: #efefef; }
  @media (max-width: 760px) { .hero-shot img { -webkit-mask-image: none; mask-image: none; } }
  .hero-shot img { width: auto; max-width: 100%; height: calc(100svh - 140px); min-height: 420px; max-height: none; object-fit: contain; }
  @media (max-width: 760px) { .hero-shot img { width: 100%; height: auto; min-height: 0; } }

  /* Hero v5: Leanne's handstand with STRENGTH / IS A PRACTICE set across her */
  .hero.hero-leanne { position: relative; display: flex; flex-direction: column; height: auto; min-height: 100svh; padding: 60px 0 0; background: #fbfbfb; color: var(--black); overflow: hidden; }
  .hl-stage { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; padding-top: 8px; }
  .hl-photo { display: block; width: auto; max-width: 100%; height: calc(100svh - 136px); min-height: 520px; object-fit: contain;
    -webkit-mask-image: radial-gradient(ellipse 72% 60% at 50% 50%, #000 70%, transparent 100%); mask-image: radial-gradient(ellipse 72% 60% at 50% 50%, #000 70%, transparent 100%); }
  .hl-type-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; padding-top: 6%; }
  .hl-type { display: inline-block; margin: 0; font-weight: 500; }
  .hl-type .w1 { display: block; font-family: var(--serif); font-weight: 500; text-transform: uppercase; font-size: clamp(2.7rem, 11.5vw, 11rem); line-height: 1; letter-spacing: 0.12em; margin-right: -0.12em; }
  .hl-type .w2 { display: block; text-align: right; font-family: var(--sans); font-weight: 300; text-transform: uppercase; font-size: clamp(0.7rem, 1.35vw, 1.2rem); letter-spacing: 0.45em; margin: 0.9em -0.45em 0 0; }
  .hero.hero-leanne .hero-foot { width: 100%; border-top: 1px solid var(--line-light); background: #fbfbfb; }
  @media (max-width: 760px) {
    .hero.hero-leanne { min-height: 0; padding-top: 56px; }
    .hl-photo { width: 100%; height: auto; min-height: 0; -webkit-mask-image: none; mask-image: none; }
    .hl-type-wrap { padding-top: 10%; }
  }
  .hero .hl-type { align-self: center; justify-self: auto; text-align: left; margin: 0; }
  @media (max-width: 760px) { .hl-type-wrap { padding-top: 18%; } }

  /* Your journey: intro + four paths, straight under the hero */
  .journey { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px clamp(32px, 6vw, 96px); align-items: center; padding-block: clamp(80px, 11vw, 150px); background: var(--white); }
  .journey h2 { margin: 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.02; }
  .journey h2 i { display: block; font-family: var(--sans); font-style: normal; font-weight: 300; font-size: clamp(0.8rem, 1.25vw, 1.1rem); letter-spacing: 0.42em; margin-top: 1em; }
  .journey h2::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin-top: 1.4rem; }
  .journey-copy { margin: 32px 0 0; max-width: 44ch; color: #444; font-size: 1.05rem; line-height: 1.7; }
  .journey-cta { margin: 28px 0 0; font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.75rem); }
  .paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--black); border-left: 1px solid var(--black); }
  .path { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: clamp(170px, 18vw, 230px); padding: clamp(20px, 2.4vw, 32px); border-right: 1px solid var(--black); border-bottom: 1px solid var(--black); text-decoration: none; transition: background .25s, color .25s; }
  .path h3 { margin: 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; font-size: clamp(1.25rem, 2.1vw, 1.75rem); line-height: 1.15; }
  .path p { margin: 0; color: #555; font-size: 0.95rem; max-width: 26ch; transition: color .25s; }
  .path::after { content: "→"; font-size: 1.1rem; opacity: .5; transition: transform .3s, opacity .3s; }
  .path:hover, .path:focus-visible { background: var(--black); color: var(--white); outline: none; }
  .path:hover p, .path:focus-visible p { color: #cfcfcf; }
  .path:hover::after, .path:focus-visible::after { opacity: 1; transform: translateX(6px); }
  @media (max-width: 760px) {
    .journey { grid-template-columns: minmax(0, 1fr); }
    .path { min-height: 150px; }
  }
  @media (max-width: 420px) { .paths { grid-template-columns: minmax(0, 1fr); } .path { min-height: 0; } }

  /* Practice, defined: now with Leanne's wall handstand */
  .define.define-photo { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: center; }
  .define-shot { margin: 0; }
  .define-shot img { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 1252; object-fit: cover; }
  .define-body { display: grid; gap: clamp(36px, 5vw, 64px); }
  .define-body .senses { align-self: auto; }
  @media (max-width: 760px) {
    .define.define-photo { grid-template-columns: minmax(0, 1fr); }
    .define-shot img { aspect-ratio: 4 / 5; max-height: 72svh; object-position: 50% 40%; }
  }

  /* Products as boxes (replaces the horizontal rows) */
  .doors { padding-bottom: clamp(72px, 10vw, 140px); }
  .door-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--black); border-left: 1px solid var(--black); }
  .door-grid .door { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: 0; padding: clamp(22px, 2.4vw, 34px); min-height: clamp(210px, 19vw, 260px); border: 0; border-right: 1px solid var(--black); border-bottom: 1px solid var(--black); text-align: left; }
  .door-grid .door:last-child { border-bottom: 1px solid var(--black); }
  .door-grid .door .meta { display: contents; }
  .door-grid .door .label { order: -1; color: #777; text-align: left; }
  .door-grid .door h3 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); line-height: 1.15; letter-spacing: 0.08em; transform: none; }
  .door-grid .door .line { margin: 0; max-width: 30ch; color: #555; font-size: 0.95rem; text-align: left; transition: color .25s; }
  .door-grid .door::after { content: "→"; margin-top: auto; font-size: 1.1rem; opacity: .5; transition: transform .3s, opacity .3s; }
  .door-grid .door:hover, .door-grid .door:focus-visible { background: var(--black); color: var(--white); outline: none; }
  .door-grid .door:hover h3, .door-grid .door:focus-visible h3 { font-style: normal; transform: none; }
  .door-grid .door:hover .line, .door-grid .door:hover .label, .door-grid .door:focus-visible .line, .door-grid .door:focus-visible .label { color: #cfcfcf; }
  .door-grid .door:hover::after, .door-grid .door:focus-visible::after { opacity: 1; transform: translateX(6px); }
  /* Flagship: full-width black box */
  .door-grid .door.flagship { grid-column: 1 / -1; background: var(--black); color: var(--white); min-height: clamp(200px, 16vw, 240px); }
  .door-grid .door.flagship h3 { font-size: clamp(1.8rem, 3.4vw, 2.8rem); }
  .door-grid .door.flagship h3 i { font-style: italic; }
  .door-grid .door.flagship .label, .door-grid .door.flagship .line { color: #cfcfcf; }
  .door-grid .door.flagship:hover, .door-grid .door.flagship:focus-visible { background: #222; }
  @media (max-width: 1000px) { .door-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 560px) { .door-grid { grid-template-columns: minmax(0, 1fr); } .door-grid .door { min-height: 0; } }

  /* Longevity: a way of life */
  .quote .quote-title { margin: 0 auto; max-width: 22ch; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; font-size: clamp(1.8rem, 4vw, 3.4rem); line-height: 1.12; text-wrap: balance; }
  .quote .quote-title i { display: block; font-family: var(--sans); font-style: normal; font-weight: 300; font-size: clamp(0.85rem, 1.3vw, 1.15rem); letter-spacing: 0.42em; margin: 1.2em -0.42em 0 0; }
  .quote .quote-title::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin: 1.6rem auto 0; }
  .quote p.quote-copy { margin: 28px auto 0; max-width: 46ch; font-family: var(--sans); font-weight: 300; font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.7; color: #444; letter-spacing: 0; }
  .quote p.quote-copy + p.quote-copy { margin-top: 14px; }
  .quote .quote-title { max-width: 26ch; }
  .doors-label { margin: 0 0 24px; color: #777; }

  /* Journey cards with photos */
  .path { padding: 0; gap: 0; justify-content: flex-start; }
  .path-img { margin: 0; overflow: hidden; background: #f2f2f2; border-bottom: 1px solid var(--black); }
  .path-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
  .path:hover .path-img img, .path:focus-visible .path-img img { transform: scale(1.04); }
  .path-body { display: grid; gap: 12px; padding: clamp(18px, 2vw, 28px) clamp(18px, 2vw, 28px) 10px; }
  .path::after { margin: auto clamp(18px, 2vw, 28px) clamp(16px, 1.8vw, 24px); }
  .journey { align-items: start; }
  .journey-intro { position: sticky; top: 110px; }
  @media (max-width: 760px) { .journey-intro { position: static; } }
  @media (max-width: 420px) { .paths { grid-template-columns: repeat(2, minmax(0, 1fr)); } .path-body { padding: 14px 14px 6px; } .path h3 { font-size: 1.05rem; } .path p { font-size: .85rem; } .path::after { margin: auto 14px 12px; } }

  /* Longevity, a way of life: photo + text */
  .quote.quote-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px clamp(32px, 6vw, 96px); align-items: center; text-align: center; }
  .quote-img { margin: 0; }
  .quote-img img { display: block; width: 100%; height: auto; }
  @media (max-width: 760px) { .quote.quote-split { grid-template-columns: minmax(0, 1fr); } }

  /* ===== Longevity weighted as the hero ===== */
  /* Your journey: intro across the top, Longevity big on the left, three rows on the right */
  .journey { display: block; }
  .journey-intro { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
  .journey-intro h2 { grid-row: 1 / span 2; align-self: start; }
  .journey-copy { margin-top: 0; }
  .journey-cta { margin-top: 0; }
  .paths.paths-feature { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows: repeat(3, minmax(0, 1fr)); }
  .path-hero { grid-row: 1 / span 3; background: var(--black); color: var(--white); }
  .path-hero .path-img { border-bottom: 0; background: #f2f2f2; }
  .path-hero .path-img img { aspect-ratio: 856 / 659; }
  .path-hero .path-body { gap: 14px; padding: clamp(22px, 2.6vw, 36px); }
  .path-hero .label { color: #bdbdbd; margin: 0; }
  .path-hero h3 { font-style: italic; font-size: clamp(2.2rem, 4.4vw, 3.8rem); letter-spacing: 0.06em; }
  .path-hero p:not(.label) { color: #d6d6d6; font-size: 1.02rem; max-width: 40ch; }
  .path-cta { margin-top: 6px; font-family: var(--sans); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; }
  .path-hero::after { content: none; }
  .path-hero:hover, .path-hero:focus-visible { background: #1d1d1d; }
  .path-hero:hover p:not(.label) { color: #e6e6e6; }
  .path-row { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr); min-height: 0; }
  .path-row::after { content: none; }
  .path-row .path-img { border-bottom: 0; border-right: 1px solid var(--black); height: 100%; }
  .path-row .path-img img { height: 100%; aspect-ratio: auto; min-height: 150px; }
  .path-row .path-body { align-content: center; padding: clamp(16px, 2vw, 28px); }
  .path-row h3 { font-size: clamp(1.1rem, 1.8vw, 1.5rem); }
  .path-row .arrow { font-size: 1.1rem; opacity: .5; transition: transform .3s, opacity .3s; }
  .path-row:hover .arrow, .path-row:focus-visible .arrow { opacity: 1; transform: translateX(6px); }
  @media (max-width: 900px) {
    .journey-intro { grid-template-columns: minmax(0, 1fr); }
    .journey-intro h2 { grid-row: auto; }
    .paths.paths-feature { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
    .path-hero { grid-row: auto; }
  }
  @media (max-width: 420px) {
    .paths.paths-feature { grid-template-columns: minmax(0, 1fr); }
    .path-row { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); }
    .path-row .path-img img { min-height: 120px; }
  }

  /* Programmes: Longevity feature on top, then two rows of five */
  .door-grid-feature { margin-bottom: clamp(28px, 4vw, 48px); }
  .door-grid .door.flagship { min-height: clamp(240px, 22vw, 320px); justify-content: center; padding: clamp(28px, 4vw, 56px); }
  .door-grid .door.flagship h3 { font-size: clamp(2.4rem, 6vw, 5rem); letter-spacing: 0.06em; }
  .door-grid .door.flagship .line { font-size: 1.05rem; max-width: 46ch; }
  .door-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .door-grid-5 .door { min-height: clamp(190px, 16vw, 230px); padding: clamp(18px, 1.8vw, 26px); }
  .door-grid-5 .door h3 { font-size: clamp(1.05rem, 1.55vw, 1.4rem); letter-spacing: 0.06em; }
  .door-grid-5 .door .line { font-size: 0.9rem; }
  .door-group { margin: clamp(28px, 4vw, 48px) 0 18px; color: #777; }
  @media (max-width: 1100px) { .door-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 700px) { .door-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 380px) { .door-grid-5 { grid-template-columns: minmax(0, 1fr); } }
  .path-hero .path-body .label { max-width: none; }
  @media (min-width: 761px) {
    .door-grid .door.flagship { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; column-gap: clamp(32px, 5vw, 80px); row-gap: 14px; }
    .door-grid .door.flagship .label { grid-column: 1 / -1; }
    .door-grid .door.flagship h3 { grid-column: 1; }
    .door-grid .door.flagship .line { grid-column: 2; align-self: end; padding-bottom: .6em; }
    .door-grid .door.flagship::after { grid-column: 2; margin-top: 0; }
  }
  @media (max-width: 1100px) and (min-width: 701px) { .door-grid-5 .door:nth-child(5) { grid-column: span 2; } }
  @media (max-width: 700px) {
    .door-grid-5 .door:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .door-grid-5 .door h3 { font-size: 1rem; letter-spacing: 0.04em; }
  }

  /* About me */
  .about { padding-block: clamp(80px, 11vw, 150px); background: #f4f3f1; }
  .about-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 48px clamp(32px, 6vw, 96px); align-items: start; }
  .about-img { margin: 0; position: sticky; top: 100px; }
  .about-img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
  .about-body h2 { margin: 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.02; }
  .about-body h2 i { display: block; font-family: var(--sans); font-style: normal; font-weight: 300; font-size: clamp(0.8rem, 1.25vw, 1.1rem); letter-spacing: 0.42em; margin-top: 1em; }
  .about-body h2::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin-top: 1.4rem; }
  .about-lead { margin: 32px 0 28px; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.25; max-width: 26ch; }
  .about-body p:not(.about-lead):not(.about-pull):not(.about-sign) { margin: 0 0 18px; color: #444; font-size: 1.04rem; line-height: 1.75; max-width: 58ch; }
  .about-pull { margin: 36px 0 0; padding-top: 24px; border-top: 1px solid var(--line-light); font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.3; max-width: 30ch; }
  .about-sign { margin: 28px 0 0; font-family: var(--sans); font-size: 0.72rem; letter-spacing: 0.24em; text-transform: uppercase; }
  .about-sign span { display: block; margin-top: 14px; font-family: var(--serif); font-style: italic; font-size: 1.6rem; letter-spacing: 0; text-transform: none; }
  .about .principles { margin-top: clamp(64px, 8vw, 110px); }
  @media (max-width: 760px) {
    .about-grid { grid-template-columns: minmax(0, 1fr); }
    .about-img { position: static; }
    .about-img img { aspect-ratio: 4 / 5; max-height: 70svh; }
  }
  @media (max-width: 420px) { nav { gap: 10px; } nav .label { font-size: 0.58rem; letter-spacing: 0.1em; } .mark { font-size: 0.74rem; } }

  /* About portrait + pathway photo */
  .about-img img { object-position: 50% 30%; }
  .pathway-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px clamp(32px, 6vw, 96px); align-items: center; margin-bottom: clamp(48px, 6vw, 80px); }
  .pathway-head .lede { margin-bottom: 0; }
  .pathway-img { margin: 0; }
  .pathway-img img { display: block; width: 100%; height: auto; }
  @media (max-width: 760px) { .pathway-head { grid-template-columns: minmax(0, 1fr); } }

  /* All products: 3-up programmes, 4-up LT products, wide small-group box */
  .door-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .door-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .door-grid-3 .door, .door-grid-4 .door { min-height: clamp(190px, 16vw, 230px); padding: clamp(18px, 2vw, 28px); }
  .door-grid-3 .door h3 { font-size: clamp(1.2rem, 1.9vw, 1.6rem); letter-spacing: 0.06em; }
  .door-grid-4 .door h3 { font-size: clamp(1.1rem, 1.6vw, 1.4rem); letter-spacing: 0.06em; }
  .door-grid-3 .door .line, .door-grid-4 .door .line { font-size: 0.9rem; }
  .door-grid .door.wide { grid-column: 1 / -1; min-height: 0; padding: clamp(24px, 3vw, 40px); }
  .door-grid .door.wide h3 { font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: 0.06em; }
  @media (min-width: 761px) {
    .door-grid .door.wide { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; column-gap: clamp(32px, 5vw, 80px); row-gap: 12px; }
    .door-grid .door.wide .label { grid-column: 1 / -1; }
    .door-grid .door.wide h3 { grid-column: 1; }
    .door-grid .door.wide .line { grid-column: 2; padding-bottom: .4em; }
    .door-grid .door.wide::after { grid-column: 2; margin-top: 0; }
  }
  .door-grid-feature + .door-group { margin-top: clamp(28px, 4vw, 48px); }
  .door-grid-feature { margin-bottom: 0; }
  @media (max-width: 1000px) { .door-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 700px) { .door-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .door-grid-3 .door h3, .door-grid-4 .door h3 { font-size: 1rem; letter-spacing: 0.04em; } }
  @media (max-width: 380px) { .door-grid-3, .door-grid-4 { grid-template-columns: minmax(0, 1fr); } }

  /* Every product its own separate box (gaps, own border) */
  .doors .door-grid { border: 0; gap: clamp(10px, 1.2vw, 16px); }
  .doors .door-grid .door, .doors .door-grid .door:last-child { border: 1px solid var(--black); }
  .doors .door-grid .door.flagship { border-color: var(--black); }
  .door-grid-feature + .door-grid-10 { margin-top: clamp(10px, 1.2vw, 16px); }
  .door-grid-10 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .door-grid-10 .door { min-height: clamp(190px, 16vw, 230px); padding: clamp(16px, 1.7vw, 24px); }
  .door-grid-10 .door h3 { font-size: clamp(1rem, 1.45vw, 1.35rem); letter-spacing: 0.05em; }
  .door-grid-10 .door .line { font-size: 0.88rem; }
  @media (max-width: 1000px) { .door-grid-10 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 700px) { .door-grid-10 .door h3 { font-size: 1rem; letter-spacing: 0.04em; } }
  @media (max-width: 380px) { .door-grid-10 { grid-template-columns: minmax(0, 1fr); } }
  .door-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .door-grid-2 .door { min-height: clamp(180px, 14vw, 220px); padding: clamp(20px, 2.4vw, 32px); }
  .door-grid-2 .door h3 { font-size: clamp(1.3rem, 2.2vw, 1.9rem); letter-spacing: 0.06em; }
  @media (max-width: 560px) { .door-grid-2 { grid-template-columns: minmax(0, 1fr); } }

  /* Pathway: Leanne's copy */
  .pathway-head .lede { margin: 32px 0 20px; }
  .pathway-copy { margin: 0 0 14px; max-width: 46ch; color: #cfcfcf; font-size: 1.02rem; line-height: 1.7; }
  .pathway-pull { margin-top: 22px; font-family: var(--serif); font-style: italic; font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.35; color: var(--white); }
  .phase-bars { display: grid; grid-template-columns: 2fr 6fr 4fr; margin-top: 12px; }
  .phase-bars span { height: 6px; background: var(--white); }
  .phase-bars span:nth-child(2) { opacity: .6; } .phase-bars span:nth-child(3) { opacity: .3; }
  .phase-bars span + span { margin-left: 4px; }
  .phases.phases-even { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 36px; gap: 0; }
  .phases-even .phase { padding: 0 clamp(14px, 2vw, 32px); }
  .phases-even .phase:first-child { padding-left: 0; border-left: 0; }
  .phases-even .phase h3 { font-size: clamp(1.5rem, 2.6vw, 2.3rem); line-height: 1.05; margin: 10px 0 14px; }
  .phases-even .phase .sub { margin: 0 0 16px; font-family: var(--serif); font-style: italic; font-size: clamp(1.1rem, 1.5vw, 1.3rem); line-height: 1.3; }
  .phases-even .phase p.d { margin: 0 0 12px; max-width: 40ch; }
  @media (max-width: 760px) {
    .phase-bars { display: none; }
    .phases.phases-even { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .phases-even .phase { padding: 0 0 0 16px; border-left: 1px solid var(--white); }
    .phases-even .phase:first-child { padding-left: 16px; border-left: 1px solid var(--white); }
  }
  /* Free guide: Leanne's copy */
  .give-sub { margin: 28px 0 0; font-family: var(--serif); font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.25; max-width: 28ch; }
  .give .copy { margin: 16px 0 0; }
  .give .copy.give-pull { font-family: var(--serif); font-style: italic; font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--white); line-height: 1.35; margin-top: 24px; }
  .give-cta { margin: 24px 0 0; font-family: var(--sans); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; }
  .give { align-items: center; }

  /* Practice: new wording, house heading style */
  .define-shot img { aspect-ratio: 1100 / 1347; object-position: 50% 40%; }
  .practice-body { max-width: 560px; }
  .practice-body h2 { margin: 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.14em; font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1; }
  .practice-body h2::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin-top: 1.6rem; }
  .practice-lead { margin: 32px 0 24px; font-family: var(--serif); font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.22; }
  .practice-body p:not(.practice-lead):not(.practice-pull) { margin: 0 0 14px; color: #444; font-size: 1.05rem; line-height: 1.75; max-width: 46ch; }
  .practice-pull { margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--line-light); font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 2.2vw, 1.75rem); }

  /* Start where you are */
  .journey-intro { align-items: start; }
  .journey-intro h2 { grid-row: auto; font-size: clamp(2rem, 4.4vw, 3.6rem); }
  .journey-intro h2 i { line-height: 1.8; }
  .journey-text { display: grid; gap: 14px; }
  .journey-lead { margin: 0 0 6px; font-family: var(--serif); font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.25; max-width: 30ch; }
  .journey-text .journey-copy { margin: 0; }
  .journey-text .journey-cta { margin: 10px 0 0; }
  .journey-intro h2 i { letter-spacing: 0.3em; line-height: 1.7; }

  /* Moving banner: solid brand serif, spaced caps, dot separators (no outline/shadow words) */
  .ticker span, .ticker span:nth-child(even) { font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.12em; color: var(--black); -webkit-text-stroke: 0; font-size: clamp(1.3rem, 2.6vw, 2.1rem); padding-right: 0; }
  .ticker span::after { content: "·"; display: inline-block; margin: 0 0.9em; color: #9a9a9a; letter-spacing: 0; }

  /* ===== Approved photos only: text-only layouts where a photo was removed ===== */
  /* Journey rows: text only */
  .path-row { grid-template-columns: minmax(0, 1fr); }
  .path-row .path-body { padding: clamp(20px, 2.4vw, 34px); align-content: center; }
  .path-row h3 { font-size: clamp(1.3rem, 2.1vw, 1.8rem); }
  /* About: two columns of text */
  .about-grid { grid-template-columns: minmax(0, 1fr); }
  .about-text-only { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 32px clamp(32px, 6vw, 96px); align-items: start; }
  .about-left { position: sticky; top: 110px; }
  .about-text-only .about-lead { margin-bottom: 0; }
  /* Pathway: heading left, intro copy right */
  .pathway-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; }
  .pathway-head .pathway-right .pathway-copy:first-child { margin-top: 0; }
  /* Way of life: centred text */
  .quote.quote-solo { display: block; text-align: center; }
  @media (max-width: 760px) {
    .about-text-only, .pathway-head { grid-template-columns: minmax(0, 1fr); }
    .about-left { position: static; }
  }

  /* About: intro card (left) + story (right) */
  .about-left h2 { font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: 0.08em; line-height: 1.05; }
  .about-left h2 i { letter-spacing: 0.3em; }
  .about-meta { margin: 26px 0 0; color: #777; }
  .about-pillars { margin: 18px 0 0; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: 0.04em; }
  .about-body .about-approach { margin: 18px 0 0; max-width: 34ch; color: #444; font-size: 1.08rem; line-height: 1.7; }
  .about-kicker { margin: 0 0 14px; color: #777; }
  .about-right .about-lead { margin: 0 0 28px; }
  #about p.about-meta, #about p.about-kicker { font-family: var(--sans); font-size: 0.7rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1.6; color: #777; }
  #about p.about-meta { margin: 26px 0 0; }
  #about p.about-kicker { margin: 0 0 14px; }
  #about p.about-pillars { margin: 22px 0 0; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: 0.04em; line-height: 1.25; color: var(--black); }
  #about p.about-approach { margin: 16px 0 0; max-width: 34ch; color: #444; font-size: 1.08rem; line-height: 1.7; }

  /* About with portrait: photo left, intro then story on the right */
  .about-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .about-with-photo .about-left { position: static; margin-bottom: clamp(36px, 4vw, 56px); padding-bottom: clamp(28px, 3vw, 40px); border-bottom: 1px solid var(--line-light); }
  @media (max-width: 760px) { .about-grid { grid-template-columns: minmax(0, 1fr); } }
  #about .about-left h2 { font-size: clamp(1.9rem, 4vw, 3.2rem); letter-spacing: 0.1em; }
  #about .about-left h2 i { letter-spacing: 0.42em; }
  #about p.about-meta { margin: 22px 0 0; }
  #about .about-left .about-lead { margin: 22px 0 0; }
  #about p.about-pillars { margin: 22px 0 0; font-size: clamp(1.15rem, 1.8vw, 1.45rem); }
  #about p.about-approach { margin: 10px 0 0; }
  #about p.about-meta { max-width: none; }

  /* Journey rows: photos back beside each programme */
  .path-row { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr); }
  .path-row .path-img { border-right: 1px solid var(--black); height: 100%; }
  .path-row .path-img img { height: 100%; min-height: 150px; aspect-ratio: auto; }
  .path-row .path-body { padding: clamp(16px, 2vw, 28px); }
  .path-row h3 { font-size: clamp(1.1rem, 1.8vw, 1.5rem); }
  @media (max-width: 420px) { .path-row { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); } }

  /* LT range inside the free guide section */
  .lt-range { grid-column: 1 / -1; margin-top: clamp(24px, 4vw, 48px); padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--line-dark); }
  .lt-range-label { margin: 0 0 20px; color: #9a9a9a; }
  .lt-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 16px); }
  .lt-step { display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 2vw, 28px); border: 1px solid rgba(255,255,255,.35); text-decoration: none; color: var(--white); min-height: 190px; }
  .lt-step .label { color: #9a9a9a; margin: 0; }
  .lt-step h3 { margin: 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em; font-size: clamp(1.2rem, 2vw, 1.6rem); }
  .lt-step .line { margin: 0; color: #cfcfcf; font-size: 0.92rem; max-width: 32ch; }
  a.lt-step { border-color: var(--white); }
  a.lt-step:hover, a.lt-step:focus-visible { background: var(--white); color: var(--black); outline: none; }
  a.lt-step:hover .line, a.lt-step:hover .label { color: #555; }
  .lt-join { margin: 18px 0 0; color: #9a9a9a; font-size: 0.85rem; }
  .give .check { display: flex; align-items: flex-start; gap: 10px; font-size: 0.85rem; color: #cfcfcf; cursor: pointer; }
  .give .check input { width: 16px; height: 16px; margin: 2px 0 0; padding: 0; accent-color: #fff; border: 0; opacity: 1; }
  @media (max-width: 760px) { .lt-steps { grid-template-columns: minmax(0, 1fr); } .lt-step { min-height: 0; } }
  .door-grid-10 .door.door-wide { grid-column: span 2; }

  /* Hero footer: two items now Since 2006 is gone */
  .hero .hero-foot { justify-content: space-between; }


  /* Full-width studio photo bands (planche, backbend) */
  .photo-band { margin: 0; padding: 0; border-top: 1px solid var(--black); background: #fafafa; }
  .photo-band figure { margin: 0; }
  .photo-band img { display: block; width: 100%; height: clamp(300px, 46vw, 680px); object-fit: cover; }
  /* Studio photos sit on white: show the whole figure in the small cards */
  .path-row .path-img { background: #fafafa; }
  /* Real-photo cards: show the whole figure */
  .path-hero .path-img img { aspect-ratio: 1400 / 1231; }
  /* Practice: show the whole wall walk */
  .define-shot img { aspect-ratio: auto !important; height: auto; max-height: none; object-fit: contain; }

  /* Fascia, elasticity & ageing well */
  .fascia { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px clamp(32px, 6vw, 96px); border-bottom: 1px solid var(--line-light); }
  .fascia h2 { margin: 12px 0 0; font-family: var(--serif); font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.02; }
  .fascia h2 i { display: block; font-family: var(--sans); font-style: normal; font-weight: 300; font-size: clamp(0.85rem, 1.3vw, 1.15rem); letter-spacing: 0.42em; margin-top: 1em; }
  .fascia h2::after { content: ""; display: block; width: 90px; height: 1px; background: currentColor; margin-top: 1.4rem; }
  .fascia-lead { margin: 28px 0 0; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.25; max-width: 22ch; }
  .fascia-head { position: sticky; top: 110px; align-self: start; }
  .fascia-body p { margin: 0 0 16px; color: #444; font-size: 1.05rem; line-height: 1.75; max-width: 56ch; }
  .fascia-list { list-style: none; margin: 8px 0 28px; padding: 0; border-top: 1px solid var(--black); }
  .fascia-list li { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line-light); }
  .fascia-list b { font-family: var(--serif); font-weight: 400; font-size: 1.25rem; letter-spacing: 0.02em; }
  .fascia-list span { color: #444; }
  .fascia-body .fascia-pull { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line-light); font-family: var(--serif); font-style: italic; color: var(--black); font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.3; }
  @media (max-width: 760px) { .fascia { grid-template-columns: minmax(0, 1fr); } .fascia-head { position: static; } .fascia-list li { grid-template-columns: minmax(0, 1fr); gap: 4px; } }
  #about .about-lead-2 { margin-top: 10px; font-style: italic; }

  /* Text only for now (photos removed Oct 21): programme cards and Practice */
  .path-row { grid-template-columns: minmax(0, 1fr); }
  .path-row .path-body { padding: clamp(20px, 2.4vw, 34px); }
  .path-hero { justify-content: flex-end; }
  .path-hero .path-body { padding: clamp(28px, 3vw, 44px); }
  .define.define-photo { grid-template-columns: minmax(0, 1fr); }
