/* ============================================================
   odNOVA HOME V10 — private clinical practice
   A quiet editorial system: clear hierarchy, personal continuity,
   progressive disclosure and an intentional route to action.
   ============================================================ */

:root {
  --v10-navy: #08131d;
  --v10-navy-2: #0d1c28;
  --v10-navy-3: #112636;
  --v10-blue: #0b1b28;
  --v10-blue-2: #142d3e;
  --v10-paper: #f1ede5;
  --v10-paper-2: #e9e2d7;
  --v10-paper-3: #ddd4c7;
  --v10-ink: #182125;
  --v10-body: #596267;
  --v10-muted: #aebbc5;
  --v10-gold: #c6a56d;
  --v10-gold-soft: #e3cca5;
  --v10-plum: #271f30;
  --v10-line: rgba(24, 33, 37, .16);
  --v10-line-dark: rgba(235, 230, 221, .16);
  --v10-serif: 'Newsreader', Georgia, serif;
  --v10-sans: 'Archivo', Arial, sans-serif;
  --v10-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --v10-shell: min(1260px, calc(100vw - 10vw));
  --v10-ease: cubic-bezier(.16, 1, .3, 1);
  --font-serif: var(--v10-serif);
  --font-sans: var(--v10-sans);
  --font-mono: var(--v10-mono);
  --gold-soft: var(--v10-gold-soft);
  --navy-near-black: #050a0f;
  --text-hi: #f5f0e8;
  --text-body-2: #b9c4ce;
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--v10-navy); scrollbar-gutter: stable; scrollbar-width: none; scroll-behavior: auto; }
html::-webkit-scrollbar,
body.home-v10-page::-webkit-scrollbar { width: 0; height: 0; display: none; }
body.home-v10-page {
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;
  background: var(--v10-paper);
  color: var(--v10-body);
  font-family: var(--v10-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.home-v10-page > main { overflow: clip; background: var(--v10-paper); }
.home-v10-page img { display: block; max-width: 100%; }
.home-v10-page a { color: inherit; text-decoration: none; }
.home-v10-page button,
.home-v10-page summary { font: inherit; }
.home-v10-page a,
.home-v10-page button,
.home-v10-page summary { -webkit-tap-highlight-color: transparent; }
.home-v10-page :focus-visible { outline: 2px solid var(--v10-gold); outline-offset: 5px; }
.home-v10-page ::selection { background: var(--v10-gold-soft); color: var(--v10-ink); }
.v10-shell { width: var(--v10-shell); margin-inline: auto; }

.v10-skip {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  min-height: 44px;
  padding: 13px 17px;
  background: var(--v10-paper);
  color: var(--v10-ink);
  font: 500 11px/1 var(--v10-sans);
  translate: 0 -160%;
  transition: translate .28s var(--v10-ease);
}
.v10-skip:focus { translate: 0 0; }

.v10-kicker {
  margin: 0 0 23px;
  color: var(--v10-gold-soft);
  font: 400 9px/1.6 var(--v10-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.v10-kicker--ink { color: #80633f; }
.v10-section-head h2,
.v10-routes-intro h2,
.v10-reviews-head h2,
.v10-clinician-copy h2,
.v10-men-copy h2,
.v10-journal h2,
.v10-closing h2 {
  margin: 0;
  color: var(--v10-ink);
  font-family: var(--v10-serif);
  font-size: clamp(58px, 6.25vw, 90px);
  font-weight: 300;
  line-height: .91;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.v10-section-head h2 em,
.v10-routes-intro h2 em,
.v10-reviews-head h2 em,
.v10-clinician-copy h2 em,
.v10-men-copy h2 em,
.v10-journal h2 em,
.v10-closing h2 em {
  display: block;
  margin-left: clamp(22px, 4vw, 62px);
  color: #866345;
  font-weight: inherit;
}
.v10-section-head > p:last-child {
  max-width: 48ch;
  margin: 31px 0 0;
  font-size: 14px;
  line-height: 1.78;
}

.v10-primary {
  position: relative;
  display: inline-flex;
  min-width: 242px;
  min-height: 60px;
  padding: 0 18px 0 23px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  border: 1px solid rgba(226, 204, 168, .46);
  border-radius: 999px;
  color: #f0dfc1;
  font: 400 9px/1.2 var(--v10-mono);
  letter-spacing: .15em;
  text-transform: uppercase;
  transition: transform .65s var(--v10-ease), border-color .4s ease, background .5s ease;
}
.v10-primary::before {
  position: absolute;
  inset: -70% -25%;
  background: linear-gradient(108deg, transparent 35%, rgba(255,255,255,.14) 49%, transparent 63%);
  content: '';
  translate: -115% 0;
  transition: translate .85s var(--v10-ease);
}
.v10-primary > * { position: relative; z-index: 1; }
.v10-primary i { font-style: normal; }
.v10-primary:hover,
.v10-primary:focus-visible { transform: translateY(-2px); border-color: rgba(226, 204, 168, .82); background: rgba(226, 204, 168, .06); }
.v10-primary:hover::before,
.v10-primary:focus-visible::before { translate: 115% 0; }
.v10-text-link,
.v10-ink-link,
.v10-men-link,
.v10-review-link {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  gap: 13px;
  border-bottom: 1px solid currentColor;
  font: 400 9px/1.35 var(--v10-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: gap .55s var(--v10-ease), color .35s ease;
}
.v10-text-link:hover,
.v10-text-link:focus-visible,
.v10-ink-link:hover,
.v10-ink-link:focus-visible,
.v10-men-link:hover,
.v10-men-link:focus-visible,
.v10-review-link:hover,
.v10-review-link:focus-visible { gap: 20px; }

/* Hero — canonical group-2 non-treatment wallpaper. */
.v10-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: max(100svh, 780px);
  flex-direction: column;
  overflow: clip;
  border-radius: 0 0 64px 64px;
  background: var(--v10-navy);
  color: var(--v10-muted);
}
.v10-hero-freeze {
  position: sticky;
  z-index: -3;
  top: 0;
  width: 100%;
  height: 100svh;
  min-height: 100svh;
  margin-bottom: -100svh;
  flex: 0 0 100svh;
  align-self: stretch;
  overflow: hidden;
  background:
    radial-gradient(62% 74% at 88% 28%, rgba(94, 116, 139, .11), transparent 68%),
    radial-gradient(48% 54% at 8% 94%, rgba(169, 130, 77, .043), transparent 72%),
    linear-gradient(145deg, #080d14 0%, #0b121b 55%, #101923 100%);
  pointer-events: none;
  transform: none;
}
.v10-hero-light {
  position: absolute;
  inset: -42% -36%;
  opacity: 1;
  transform: none;
  pointer-events: none;
}
.v10-hero-light::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(108deg, transparent 31%, rgba(119, 162, 191, .035) 42%, rgba(240, 226, 201, .085) 49%, rgba(117, 158, 188, .04) 56%, transparent 68%);
  content: '';
  opacity: .7;
  transform: translateX(-12%) rotate(-2deg);
}
@keyframes v10-home-glow-enter {
  from { opacity: 0; transform: translate3d(30%, -7%, 0) rotate(-2deg) scale(.98); }
  to { opacity: .7; transform: translate3d(-12%, 0, 0) rotate(-2deg) scale(1); }
}
@keyframes v10-home-kicker-enter {
  from { opacity: 0; letter-spacing: .28em; transform: translate3d(0, 8px, 0); }
  to { opacity: 1; letter-spacing: .2em; transform: none; }
}
@keyframes v10-home-title-enter {
  from { opacity: 0; filter: blur(4px); transform: translate3d(0, 22px, 0); }
  to { opacity: 1; filter: none; transform: none; }
}
@keyframes v10-home-body-enter {
  from { opacity: 0; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes v10-home-aside-enter {
  from { opacity: 0; transform: translate3d(24px, 14px, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes v10-home-axis-word-enter {
  from { opacity: 0; transform: translate3d(0, 5px, 0); }
  to { opacity: 1; transform: none; }
}
@keyframes v10-home-axis-line-enter {
  from { opacity: 0; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .v10-js .v10-hero-light::before {
    opacity: 0;
    transform: translate3d(30%, -7%, 0) rotate(-2deg) scale(.98);
  }
  .v10-js.v10-intro .v10-hero-light::before {
    animation: v10-home-glow-enter 1.45s cubic-bezier(.16, 1, .3, 1) .12s both;
  }

  /* HOME handoff: one calm hierarchy instead of the whole hero arriving at once. */
  .v10-hero-staged .v10-hero-copy > .v10-kicker,
  .v10-hero-staged .v10-hero-title-main,
  .v10-hero-staged .v10-hero-copy h1 > em,
  .v10-hero-staged .v10-hero-copy > .v10-hero-lede,
  .v10-hero-staged .v10-hero-copy > .v10-hero-actions,
  .v10-hero-staged .v10-hero-copy > .v10-hero-proof,
  .v10-hero-staged .v10-hero-aside,
  .v10-hero-staged .v10-hero-axis > span,
  .v10-hero-staged .v10-hero-axis > i {
    opacity: 0;
  }
  .v10-hero-staged .v10-hero-axis > i {
    transform: scaleX(0);
    transform-origin: left;
  }
  .v10-hero-staged.v10-intro .v10-hero-copy > .v10-kicker {
    animation: v10-home-kicker-enter .52s var(--v10-ease) .1s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-title-main {
    animation: v10-home-title-enter .78s cubic-bezier(.16, 1, .3, 1) .22s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-copy h1 > em {
    animation: v10-home-title-enter .8s cubic-bezier(.16, 1, .3, 1) .4s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-copy > .v10-hero-lede {
    animation: v10-home-body-enter .68s var(--v10-ease) .62s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-aside {
    animation: v10-home-aside-enter .82s cubic-bezier(.16, 1, .3, 1) .72s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-copy > .v10-hero-actions {
    animation: v10-home-body-enter .62s var(--v10-ease) .84s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-copy > .v10-hero-proof {
    animation: v10-home-body-enter .58s var(--v10-ease) 1.02s both;
  }
  .v10-hero-staged.v10-intro .v10-hero-axis.is-axis-active > span:nth-of-type(1) {
    animation: v10-home-axis-word-enter .4s var(--v10-ease) calc(var(--v10-axis-wait, 0s) + .08s) both;
  }
  .v10-hero-staged.v10-intro .v10-hero-axis.is-axis-active > i:nth-of-type(1) {
    animation: v10-home-axis-line-enter .54s var(--v10-ease) calc(var(--v10-axis-wait, 0s) + .28s) both;
  }
  .v10-hero-staged.v10-intro .v10-hero-axis.is-axis-active > span:nth-of-type(2) {
    animation: v10-home-axis-word-enter .4s var(--v10-ease) calc(var(--v10-axis-wait, 0s) + .58s) both;
  }
  .v10-hero-staged.v10-intro .v10-hero-axis.is-axis-active > i:nth-of-type(2) {
    animation: v10-home-axis-line-enter .54s var(--v10-ease) calc(var(--v10-axis-wait, 0s) + .78s) both;
  }
  .v10-hero-staged.v10-intro .v10-hero-axis.is-axis-active > span:nth-of-type(3) {
    animation: v10-home-axis-word-enter .4s var(--v10-ease) calc(var(--v10-axis-wait, 0s) + 1.08s) both;
  }
}
.v10-hero-contour {
  position: absolute;
  top: 14vh;
  right: -29vw;
  bottom: auto;
  width: min(68vw, 900px);
  aspect-ratio: 1;
  border: 1px solid rgba(201, 183, 154, .105);
  border-radius: 50%;
  background: none;
  box-shadow:
    0 0 0 10vw rgba(255,255,255,.004),
    0 0 0 20vw rgba(201,183,154,.015);
  opacity: 1;
  filter: none;
  transform: none;
}
.v10-hero-contour::before,
.v10-hero-contour::after {
  display: none;
  content: none;
}

#announce {
  position: relative;
  z-index: 20;
  min-height: 42px;
  padding: 11px 5vw;
  border-bottom: 1px solid rgba(237, 232, 223, .08);
  color: #9f8d74;
  font: 400 8.5px/1.5 var(--v10-mono);
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}
#annShort, #annL, #annR { display: none; }
#heroNav {
  position: relative;
  z-index: 20;
  display: flex;
  height: 84px;
  padding: 0 5vw;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(237, 232, 223, .065);
}
#heroNav .hero-mark { width: 100px; height: 44px; background-size: auto 36px; }
#navLinks { display: flex; align-items: center; gap: clamp(13px, 1.45vw, 27px); }
#navLinks a {
  position: relative;
  min-height: 44px;
  padding-top: 16px;
  color: #aeb9c3;
  font: 400 10.5px/1.4 var(--v10-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
#navLinks a::after {
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: '';
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .55s var(--v10-ease);
}
#navLinks a:hover::after,
#navLinks a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
#navLinks .nav-book { color: var(--v10-gold-soft); }
.nav-tools { display: flex; align-items: center; gap: 16px; }
#hamburger { display: none; width: 46px; height: 46px; padding: 12px; border: 0; background: transparent; color: #f1ede6; cursor: pointer; }
.hamburger-bar { display: block; width: 24px; height: 1px; margin: 5px auto; background: currentColor; }
#mobileMenu { display: none; }

.v10-hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: calc(max(100svh, 780px) - 126px);
  grid-template-columns: minmax(0, 1.2fr) minmax(290px, .52fr);
  grid-template-rows: 1fr auto;
  gap: clamp(62px, 9vw, 140px);
  align-items: center;
  padding-block: clamp(72px, 10vh, 110px) 37px;
  opacity: var(--v10-hero-presence, 1);
}
.v10-hero-copy { max-width: 800px; }
.v10-hero-title-main { display: block; }
.v10-hero-copy h1 {
  max-width: 12ch;
  margin: 0;
  color: #f3efe8;
  font-family: var(--v10-serif);
  font-size: clamp(75px, 7.5vw, 108px);
  font-weight: 300;
  line-height: .88;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.v10-hero-copy h1 em {
  display: block;
  margin-left: clamp(26px, 5vw, 74px);
  color: var(--v10-gold-soft);
  font-weight: inherit;
}
.v10-hero-lede { max-width: 58ch; margin: 35px 0 0; color: #bdc8d1; font-size: clamp(14px, 1.2vw, 17px); line-height: 1.74; }
.v10-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px 31px; margin-top: 34px; }
.v10-hero-copy .v10-text-link { color: #c5ced5; }
.v10-hero .v10-primary {
  width: min(100%, 340px);
  min-width: 0;
  border-radius: 0;
  background: rgba(8,14,21,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 18px 42px -36px rgba(192,154,99,.2);
  backdrop-filter: blur(14px);
}
.v10-hero-proof {
  display: grid;
  width: 210px;
  min-height: 44px;
  margin-top: 30px;
  padding: 19px 0;
  grid-template-columns: auto 1fr;
  gap: 0 13px;
  align-items: start;
  border-top: 1px solid rgba(237,232,223,.15);
  border-bottom: 1px solid rgba(237,232,223,.15);
  color: #c2ccd4;
  font-family: var(--v10-mono);
  text-transform: uppercase;
  transition: border-color .4s ease, color .4s ease;
}
.v10-hero-proof > strong {
  grid-row: 1 / 3;
  color: #f1e6d3;
  font-family: var(--v10-serif);
  font-size: 46px;
  font-weight: 300;
  line-height: .86;
  letter-spacing: -.04em;
}
.v10-hero-proof > span:not(.v10-hero-proof-meta) {
  color: var(--v10-gold);
  font-size: 8px;
  letter-spacing: .1em;
}
.v10-hero-proof-meta { display: grid; gap: 5px; margin-top: 4px; font-size: 8px; line-height: 1.35; letter-spacing: .08em; }
.v10-hero-proof-meta b { font-weight: 400; }
.v10-hero-proof-meta small { display: grid; gap: 2px; color: #7e8c98; font-size: 7px; letter-spacing: .09em; }
.v10-hero-proof-meta small > span,
.v10-hero-proof-meta small time { white-space: nowrap; }
.v10-hero-proof-meta small strong { color: #aab5bd; font-size: 8px; font-weight: 500; letter-spacing: .1em; }
.v10-hero-proof-meta small time { color: #6f7e89; font: inherit; }
.v10-hero-proof:hover,
.v10-hero-proof:focus-visible { border-color: rgba(227,204,166,.34); color: #e2e7ea; }
.v10-hero-aside {
  align-self: end;
  margin-bottom: 4vh;
  padding: 31px 29px 27px;
  border: 1px solid rgba(231, 224, 212, .16);
  border-radius: 32px 32px 32px 5px;
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
  box-shadow: 0 38px 75px -62px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(12px);
}
.v10-hero-aside > p { margin: 0 0 18px; color: var(--v10-gold); font: 400 8.5px/1.5 var(--v10-mono); letter-spacing: .18em; text-transform: uppercase; }
.v10-hero-aside > strong { display: block; color: #eef0ec; font-family: var(--v10-serif); font-size: clamp(28px, 2.75vw, 39px); font-weight: 300; line-height: 1.05; letter-spacing: -.025em; }
.v10-hero-aside > span { display: block; margin-top: 22px; color: #8e9ba5; font: 400 8px/1.75 var(--v10-mono); letter-spacing: .055em; }
.v10-hero-aside > a { display: flex; min-height: 44px; margin-top: 22px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(237,232,223,.13); color: #dbc7a4; font: 400 8.5px/1.4 var(--v10-mono); letter-spacing: .13em; text-transform: uppercase; }
.v10-hero-aside > a i { font-style: normal; transition: transform .55s var(--v10-ease); }
.v10-hero-aside > a:hover i,
.v10-hero-aside > a:focus-visible i { transform: translateX(6px); }
.v10-hero-axis {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(30px, 1fr) auto minmax(30px, 1fr) auto;
  gap: 17px;
  align-items: center;
  color: #73818c;
  font: 400 7.5px/1.3 var(--v10-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.v10-hero-axis i { height: 1px; background: linear-gradient(90deg, rgba(199,166,109,.56), rgba(124,157,179,.12)); }

/* What makes the practice different. */
.v10-practice { position: relative; overflow: hidden; padding: clamp(115px, 16vh, 190px) 0; background: var(--v10-paper); }
.v10-practice::before { display: none; content: none; }
.v10-practice-grid { display: grid; grid-template-columns: minmax(430px, .92fr) minmax(380px, .68fr); gap: clamp(70px, 12vw, 180px); align-items: end; }
.v10-practice-copy { max-width: 58ch; padding-bottom: 7px; }
.v10-practice-copy p { margin: 0; font-size: 15px; line-height: 1.82; }
.v10-practice-copy p + p { margin-top: 22px; }
.v10-practice-copy .v10-practice-link { margin-top: 24px; color: #735e44; }
.v10-principles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(75px, 10vw, 125px); border-top: 1px solid var(--v10-line); }
.v10-principles article { min-height: 255px; padding: 30px clamp(20px, 2.5vw, 36px) 28px; border-bottom: 1px solid var(--v10-line); }
.v10-principles article + article { border-left: 1px solid var(--v10-line); }
.v10-principles span { color: #8b6c45; font: 400 9px/1.5 var(--v10-mono); letter-spacing: .13em; }
.v10-principles h3 { margin: 43px 0 17px; color: var(--v10-ink); font-family: var(--v10-serif); font-size: clamp(29px, 2.8vw, 39px); font-weight: 300; line-height: 1; letter-spacing: -.025em; }
.v10-principles p { max-width: 33ch; margin: 0; font-size: 13px; line-height: 1.72; }

/* Speak / Listen / Digest / Decide. */
.v10-dialogue { padding: clamp(115px, 16vh, 190px) 0; background: linear-gradient(137deg, #07121b, #0b1b28 64%, #102534); color: #b7c2cb; }
.v10-dialogue-grid,
.v10-assessment-grid { display: grid; grid-template-columns: minmax(330px, .72fr) minmax(520px, 1.18fr); gap: clamp(78px, 12vw, 185px); align-items: start; }
.v10-dialogue .v10-section-head h2 { color: #f0ede7; }
.v10-dialogue .v10-section-head h2 em { color: var(--v10-gold-soft); }
.v10-section-head--sticky { position: sticky; top: 46px; }
.v10-dialogue-ledger,
.v10-assessment-ledger { border-top: 1px solid var(--v10-line-dark); }
.v10-dialogue-ledger details,
.v10-assessment-ledger details { border-bottom: 1px solid var(--v10-line-dark); }
.v10-dialogue-ledger summary,
.v10-assessment-ledger summary {
  display: grid;
  min-height: 126px;
  grid-template-columns: 44px minmax(0, 1fr) auto 28px;
  gap: 18px;
  align-items: center;
  color: #eff0ec;
  cursor: pointer;
  list-style: none;
}
.v10-dialogue-ledger summary::-webkit-details-marker,
.v10-assessment-ledger summary::-webkit-details-marker { display: none; }
.v10-dialogue-ledger summary > span,
.v10-assessment-ledger summary > span { color: var(--v10-gold); font: 400 8.5px/1.4 var(--v10-mono); letter-spacing: .13em; }
.v10-dialogue-ledger summary > strong,
.v10-assessment-ledger summary > strong { font-family: var(--v10-serif); font-size: clamp(35px, 3.7vw, 52px); font-weight: 300; line-height: 1; }
.v10-dialogue-ledger summary > small { color: #85939e; font: 400 8px/1.5 var(--v10-mono); letter-spacing: .13em; text-transform: uppercase; }
.v10-dialogue-ledger summary > i,
.v10-assessment-ledger summary > i { font-style: normal; transition: transform .55s var(--v10-ease); }
.v10-dialogue-ledger details[open] summary > i,
.v10-assessment-ledger details[open] summary > i { transform: rotate(45deg); }
.v10-dialogue-ledger details > div,
.v10-assessment-ledger details > div { animation: v10-disclose .55s var(--v10-ease) both; }
.v10-dialogue-ledger details > div > p,
.v10-assessment-ledger details > div > p { max-width: 64ch; margin: 0; padding: 0 36px 39px 62px; font-size: 14px; line-height: 1.78; }
@keyframes v10-disclose { from { opacity: 0; translate: 0 -7px; } to { opacity: 1; translate: 0 0; } }

/* Clinical routes — the V3 sticky stack, reduced slightly for HOME V10. */
.v10-routes { position: relative; overflow: clip; padding: clamp(106px, 14vh, 168px) 0 clamp(128px, 18vh, 220px); background: linear-gradient(180deg, #101821, #0b121a 44%, #090f16); }
.v10-routes::after { position: absolute; right: -3%; bottom: -1%; color: rgba(237,232,223,.025); content: 'odNOVA'; font-family: var(--v10-serif); font-size: clamp(118px, 18vw, 270px); line-height: .72; letter-spacing: -.055em; pointer-events: none; }
.v10-routes-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(300px,.72fr) minmax(500px,1.28fr); gap: clamp(54px,7.5vw,116px); align-items: start; }
.v10-routes-intro { position: sticky; top: 13vh; max-width: 470px; padding-top: 22px; }
.v10-routes-intro h2 { margin: 0; color: #f2eee6; font-size: clamp(42px,4.35vw,62px); line-height: 1.01; letter-spacing: -.025em; }
.v10-routes-intro h2 em { display: block; margin-left: 0; color: #d5c6a8; }
.v10-routes-intro > p:not(.v10-kicker) { margin: 26px 0 0; color: #b4bfca; font-size: 15px; line-height: 1.72; }
.v10-routes-progress { display: block; width: 100%; height: 1px; margin-top: 36px; overflow: hidden; background: rgba(237,232,223,.11); }
.v10-routes-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--v10-gold),var(--v10-gold-soft)); transform: scaleX(var(--v10-route-progress,0)); transform-origin: left center; transition: transform .8s var(--v10-ease); }
.v10-route-stack { display: block; padding-bottom: 0; }
.v10-route-card + .v10-route-card { margin-top: 25vh; }
.v10-route-stack::after { display: block; height: 18vh; content: ''; pointer-events: none; }
.v10-route-card { position: sticky !important; top: 12vh; display: flex; min-height: min(61vh,560px); flex-direction: column; padding: clamp(30px,4.2vw,52px); color: #b8c2cc; }
.v10-route-card:nth-child(2) { top: 15vh; z-index: 2; }
.v10-route-card:nth-child(3) { top: 18vh; z-index: 3; }
.v10-route-card::before { left: clamp(30px,4.2vw,52px) !important; }
.v10-route-meta { display: flex; justify-content: space-between; gap: 20px; color: #d0b98e; font: 400 9.5px/1.4 var(--v10-mono); letter-spacing: .17em; text-transform: uppercase; }
.v10-route-card h3 { max-width: 14ch; margin: auto 0 20px; color: #f2eee6; font-family: var(--v10-serif); font-size: clamp(36px,3.8vw,52px); font-weight: 300; line-height: 1; letter-spacing: -.02em; }
.v10-route-lede { max-width: 53ch; margin: 0; color: #c3cbd3; font-size: 15px; line-height: 1.66; }
.v10-route-card details { margin-top: 18px; padding-top: 10px; border-top: 1px solid rgba(237,232,223,.14); }
.v10-route-card summary { display: flex; min-height: 42px; align-items: center; color: #d5c4a3; cursor: pointer; list-style: none; font: 400 9.5px/1.4 var(--v10-mono); letter-spacing: .15em; text-transform: uppercase; }
.v10-route-card summary::-webkit-details-marker { display: none; }
.v10-route-card summary::before { width: 24px; content: '+'; font-size: 14px; }
.v10-route-card details[open] summary::before { content: '−'; }
.v10-route-card details p { max-width: 62ch; margin: 8px 0 10px; color: #adb8c3; font-size: 13.5px; line-height: 1.66; }
.v10-route-link { display: flex; min-height: 46px; margin-top: 16px; padding-top: 14px; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid rgba(237,232,223,.14); color: #d8c6a2; font: 400 10px/1.4 var(--v10-mono); letter-spacing: .1em; text-transform: uppercase; }
.v10-route-link span { transition: transform .45s var(--v10-ease); }
.v10-route-link:hover span,
.v10-route-link:focus-visible span { transform: translateX(6px); }
.v10-all-treatments { position: relative; z-index: 1; display: flex; min-height: 86px; margin-top: clamp(64px,7vw,88px); align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(237,232,223,.14); border-bottom: 1px solid rgba(237,232,223,.14); color: #94a1ac; font: 400 9px/1.5 var(--v10-mono); letter-spacing: .13em; text-transform: uppercase; }
.v10-all-treatments a { display: flex; min-height: 44px; align-items: center; gap: 18px; color: #e0cba7; }
.v10-all-treatments i { font-style: normal; transition: transform .55s var(--v10-ease); }
.v10-all-treatments a:hover i,
.v10-all-treatments a:focus-visible i { transform: translateX(6px); }

/* Assessment — the light counterpoint to the dark dialogue. */
.v10-assessment { padding: clamp(115px, 16vh, 190px) 0; background: var(--v10-paper); }
.v10-assessment .v10-section-head--sticky { top: 46px; }
.v10-assessment-ledger { border-color: var(--v10-line); }
.v10-assessment-ledger details { border-color: var(--v10-line); }
.v10-assessment-ledger summary { color: var(--v10-ink); }
.v10-assessment-ledger summary > span { color: #886a45; }
.v10-assessment-ledger summary > i { color: #765b3d; }
.v10-assessment-ledger details > div > p { color: var(--v10-body); }

/* One clinician — image and copy are siblings, never overlays. */
.v10-clinician {
  display: grid;
  min-height: min(1080px, 112svh);
  grid-template-columns: minmax(0, 1.03fr) minmax(460px, .97fr);
  background: #0a151e;
  color: #b9c4cc;
}
.v10-clinician-image { position: relative; min-height: 760px; overflow: hidden; background: #121a20; }
.v10-clinician-image::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 62%, #0a151e 100%), linear-gradient(0deg, rgba(10,21,30,.68), transparent 28%); content: ''; pointer-events: none; }
.v10-clinician-image picture,
.v10-clinician-image img { width: 100%; height: 100%; }
.v10-clinician-image img { object-fit: cover; object-position: center 18%; filter: saturate(.63) contrast(.97) brightness(.84); }
.v10-clinician-copy { align-self: center; max-width: 680px; padding: clamp(80px, 11vw, 155px) clamp(50px, 8vw, 120px); }
.v10-clinician-copy h2 { color: #f1ede6; font-size: clamp(58px, 5.9vw, 86px); }
.v10-clinician-copy h2 em { color: var(--v10-gold-soft); }
.v10-clinician-copy > p:not(.v10-kicker, .v10-qualification) { max-width: 58ch; margin: 29px 0 0; font-size: 14px; line-height: 1.78; }
.v10-clinician-copy strong { color: #d7dde0; font-weight: 400; }
.v10-qualification { max-width: 72ch; margin: 28px 0 0; color: #8998a3; font: 400 8.5px/1.75 var(--v10-mono); letter-spacing: .055em; }
.v10-qualification-list > span {
  display: block;
  white-space: nowrap;
}
.v10-clinician-copy .v10-text-link { color: #ddc69f; }

/* Google review carousel — one readable voice, no visual clutter. */
.v10-reviews { position: relative; overflow: hidden; padding: clamp(110px, 16vh, 185px) 0; background: radial-gradient(70% 110% at 92% 8%, rgba(55,91,119,.24), transparent 68%), linear-gradient(138deg, #07131d, #0a1b28 58%, #102737); color: #b8c4cd; touch-action: pan-y; }
.v10-reviews::before { position: absolute; right: -4%; bottom: -14%; color: rgba(239,235,227,.035); content: '75'; font-family: var(--v10-serif); font-size: clamp(210px, 34vw, 500px); line-height: .72; letter-spacing: -.08em; pointer-events: none; }
.v10-reviews-grid { position: relative; display: grid; grid-template-columns: minmax(330px, .68fr) minmax(520px, 1.2fr); gap: clamp(80px, 12vw, 180px); align-items: center; }
.v10-reviews-head .v10-stars { margin-bottom: 27px; color: var(--v10-gold); font-size: 15px; letter-spacing: .32em; }
.v10-reviews-head h2 { color: #f2eee7; font-size: clamp(57px, 6.2vw, 87px); }
.v10-reviews-head h2 em { color: var(--v10-gold-soft); }
.v10-review-proof { display: flex; align-items: baseline; gap: 14px; margin: 33px 0 0; color: #9daab4; font: 400 8.5px/1.5 var(--v10-mono); letter-spacing: .12em; text-transform: uppercase; }
.v10-review-proof strong { color: #f0e4cf; font-family: var(--v10-serif); font-size: 31px; font-weight: 300; letter-spacing: -.02em; }
.v10-review-stage { position: relative; min-height: 520px; padding: clamp(44px, 6vw, 78px) clamp(40px, 6vw, 76px) 145px; border: 1px solid rgba(235,230,221,.16); border-radius: 70px 70px 8px 70px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.012)); box-shadow: 0 48px 90px -70px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.04); }
.v10-review { position: absolute; top: clamp(44px, 6vw, 78px); right: clamp(40px, 6vw, 76px); left: clamp(40px, 6vw, 76px); margin: 0; opacity: 0; visibility: hidden; transform: translateX(22px); transition: opacity .42s ease, transform .72s var(--v10-ease), visibility .42s linear; }
.v10-review.is-active { opacity: 1; visibility: visible; transform: none; }
.v10-review[hidden] { display: none !important; }
.v10-review.is-leaving { visibility: visible; animation: v10-review-out .42s ease both; }
.v10-review.is-entering { visibility: visible; animation: v10-review-in .58s var(--v10-ease) both; }
.v10-review blockquote { margin: 0; color: #eef0ed; font-family: var(--v10-serif); font-size: clamp(34px, 4vw, 56px); font-weight: 300; line-height: 1.04; letter-spacing: -.032em; }
.v10-review figcaption { margin-top: 30px; color: #c2a675; font: 400 8px/1.55 var(--v10-mono); letter-spacing: .13em; text-transform: uppercase; }
.v10-review-controls { position: absolute; right: clamp(40px, 6vw, 76px); bottom: 76px; left: clamp(40px, 6vw, 76px); display: flex; align-items: center; justify-content: space-between; padding-top: 15px; border-top: 1px solid var(--v10-line-dark); }
.v10-review-controls > span { color: #91a0ab; font: 400 9px/1.3 var(--v10-mono); letter-spacing: .14em; }
.v10-review-controls > div { display: flex; gap: 9px; }
.v10-review-controls button { display: grid; width: 48px; height: 48px; padding: 0; place-items: center; border: 1px solid rgba(233,225,211,.2); border-radius: 50%; background: rgba(255,255,255,.025); color: #e4d1b0; cursor: pointer; transition: transform .65s var(--v10-ease), background .4s ease, border-color .4s ease; }
.v10-review-controls button:hover,
.v10-review-controls button:focus-visible { transform: translateY(-2px); border-color: rgba(227,204,165,.52); background: rgba(227,204,165,.08); }
.v10-review-link { position: absolute; bottom: 18px; left: clamp(40px, 6vw, 76px); color: #9eabb5; }
@keyframes v10-review-out { to { opacity: 0; filter: blur(4px); transform: translateX(-16px); } }
@keyframes v10-review-in { from { opacity: 0; filter: blur(5px); transform: translateX(21px); } to { opacity: 1; filter: blur(0); transform: none; } }

/* Results — paired evidence remains still and comparable. */
.v10-results { padding: clamp(110px, 15vh, 180px) 0; background: var(--v10-paper); }
.v10-results-grid { display: grid; grid-template-columns: minmax(350px, .64fr) minmax(550px, 1.15fr); gap: clamp(75px, 11vw, 165px); align-items: center; }
.v10-results .v10-section-head h2 { font-size: clamp(57px, 6.1vw, 86px); }
.v10-results .v10-section-head > p { max-width: 43ch; }
.v10-ink-link { margin-top: 31px; color: #725b40; }
.v10-result-pair { position: relative; display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.v10-result-pair::before { position: absolute; z-index: 3; top: 0; bottom: 0; left: 50%; width: 1px; background: rgba(242,237,228,.5); content: ''; }
.v10-result-pair figure { position: relative; margin: 0; overflow: hidden; border-radius: 46px 5px 5px 46px; background: #d4cdc2; }
.v10-result-pair figure + figure { border-radius: 5px 46px 46px 5px; }
.v10-result-pair img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; filter: saturate(.78) contrast(.97); transition: transform 1.1s var(--v10-ease); }
.v10-result-pair:hover img { transform: scale(1.012); }
.v10-result-pair figcaption { position: absolute; bottom: 0; left: 0; min-width: 84px; padding: 13px 17px; background: rgba(7,16,24,.84); color: #e8dcc6; font: 400 8px/1.3 var(--v10-mono); letter-spacing: .14em; text-align: center; text-transform: uppercase; backdrop-filter: blur(8px); }

/* Section-owned wallpaper layers. Sticky is the no-JS fallback; once the
   viewport clipper is ready, the layer is fixed and only its section-shaped
   window moves. The word itself never receives a scroll transform. */
.v10-section-wallpaper {
  position: sticky;
  z-index: 0;
  top: 0;
  width: 100%;
  height: 100svh;
  min-height: 100svh;
  margin-bottom: -100svh;
  flex: 0 0 100svh;
  overflow: clip;
  pointer-events: none;
  transform: none;
  will-change: auto;
}
.v10-section-ghosts-ready .v10-section-wallpaper {
  position: fixed;
  inset: 0;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  flex: none;
  visibility: hidden;
}

/* Men — canonical brown from the original home men section. */
.v10-men {
  position: relative;
  isolation: isolate;
  display: flex;
  overflow: clip;
  padding: 0;
  flex-direction: column;
  border-top: 1px solid rgba(201,154,99,.4);
  border-bottom: 1px solid rgba(201,154,99,.4);
  background:
    radial-gradient(118% 90% at 20% 12%, rgba(201,154,99,.20), rgba(20,15,9,0) 56%),
    radial-gradient(100% 100% at 96% 108%, rgba(6,7,9,.72), rgba(6,7,9,0) 58%),
    linear-gradient(154deg, #1d1810 0%, #15100a 58%, #0c0805 100%);
  color: #bbb0a1;
}
.v10-men-moon { position: absolute; top: -22%; right: -4%; width: min(48vw, 680px); aspect-ratio: 1; border: 1px solid rgba(201,154,99,.12); border-radius: 50%; }
.v10-men-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(250px, .5fr) minmax(520px, 1fr); gap: clamp(70px, 11vw, 165px); align-items: center; padding-block: clamp(115px, 16vh, 190px); }
.v10-men-index { position: absolute; top: 52%; left: 5vw; color: rgba(232,216,187,.038); font-family: var(--v10-serif); font-size: clamp(130px, 21vw, 310px); font-weight: 300; line-height: .72; letter-spacing: -.07em; pointer-events: none; user-select: none; translate: 0 -50%; transform: none !important; animation: none !important; transition: none !important; will-change: auto; }
.v10-men-moon { transform: none !important; animation: none !important; transition: none !important; will-change: auto; }
.v10-men-copy { grid-column: 2; max-width: 760px; }
.v10-men-copy h2 { color: #f0e9dd; }
.v10-men-copy h2 em { color: #d4b47f; }
.v10-men-copy > p:not(.v10-kicker) { max-width: 62ch; margin: 34px 0 0; font-size: 14px; line-height: 1.79; }
.v10-men-link { margin-top: 30px; color: #dabd8b; }

/* Journal — established mineral-plum editorial identity. */
.v10-journal { position: relative; isolation: isolate; display: flex; overflow: clip; padding: 0; flex-direction: column; background: radial-gradient(65% 95% at 90% 12%, rgba(107,76,110,.18), transparent 68%), linear-gradient(145deg, #271f30, #181420 72%); color: #beb4c2; }
.v10-journal::after { display: none; content: none; }
.v10-journal-ghost { position: absolute; top: 54%; right: clamp(22px, 4vw, 58px); color: rgba(239,228,239,.044); font-family: 'Newsreader', Georgia, serif; font-size: clamp(90px, 12vw, 176px); font-style: italic; font-weight: 300; line-height: .78; letter-spacing: -.055em; white-space: nowrap; user-select: none; translate: 0 -50%; transform: none !important; animation: none !important; transition: none !important; will-change: auto; }
.v10-journal-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(430px, .92fr) minmax(390px, .62fr); gap: clamp(56px, 7vw, 105px); align-items: end; padding-block: clamp(115px, 16vh, 190px); }
.v10-journal h2 { color: #f1eaf0; }
.v10-journal h2 em { color: #d5bbd0; }
.v10-journal-copy > p { max-width: 52ch; margin: 0 0 34px; font-size: 14px; line-height: 1.78; }
.v10-primary--journal {
  color: #eadbe8;
  border-color: rgba(228,205,225,.39);
  background: rgba(228,205,225,.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 14px 34px -31px rgba(0,0,0,.72);
  backdrop-filter: blur(8px) saturate(108%);
}
.v10-primary--journal::before {
  background: linear-gradient(108deg, transparent 38%, rgba(255,255,255,.075) 50%, transparent 62%);
}
.v10-primary--journal:hover,
.v10-primary--journal:focus-visible {
  border-color: rgba(228,205,225,.58);
  background: rgba(228,205,225,.055);
}

/* Terminal — blue, spacious and decisive without sales pressure. */
.v10-closing { position: relative; isolation: isolate; display: grid; min-height: 92svh; align-items: center; overflow: hidden; background: radial-gradient(75% 110% at 88% 10%, rgba(60,99,130,.25), transparent 68%), linear-gradient(142deg, #061019, #0a1b28 53%, #102b3d); color: #bac6cf; }
.v10-closing::before { position: absolute; z-index: -1; right: -16vw; bottom: -20vw; width: min(75vw, 940px); aspect-ratio: 1; border: 1px solid rgba(225,207,175,.11); border-radius: 50%; content: ''; }
.v10-closing::after { position: absolute; z-index: -1; top: 0; bottom: 0; left: clamp(8px, 2vw, 28px); width: 1px; background: linear-gradient(transparent, rgba(199,169,118,.48) 30%, rgba(199,169,118,.1) 78%, transparent); content: ''; }
.v10-closing-grid { display: grid; grid-template-columns: minmax(480px, 1fr) minmax(380px, .72fr); gap: clamp(75px, 11vw, 165px); align-items: end; padding-block: clamp(125px, 18vh, 210px); }
.v10-closing .v10-kicker { grid-column: 1 / -1; margin-bottom: -26px; }
.v10-closing h2 { color: #f3eee6; font-size: clamp(67px, 7.6vw, 106px); }
.v10-closing h2 em { color: var(--v10-gold-soft); }
.v10-closing-grid > p:not(.v10-kicker) { grid-column: 1; max-width: 52ch; margin: 37px 0 0; font-size: 14.5px; line-height: 1.76; }
.v10-closing nav { grid-column: 2; grid-row: 2 / 4; align-self: center; border-top: 1px solid var(--v10-line-dark); }
.v10-closing nav a { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 22px; border-bottom: 1px solid var(--v10-line-dark); color: #cad3d9; font: 400 clamp(13px, 1.1vw, 16px)/1.4 var(--v10-mono); letter-spacing: .095em; text-transform: uppercase; transition: padding .65s var(--v10-ease), color .4s ease; }
.v10-closing nav a:hover,
.v10-closing nav a:focus-visible { padding-inline: 13px; color: #f1e7d5; }
.v10-closing nav a span { color: #d6bb8c; font-size: 17px; }

/* DESIGN LOCK · 2026-08-29 · V10 First Visit approved by Piotr.
   Do not alter its wallpaper, glow, moon, timing or composition without an
   explicit new instruction. */
/* V10 welcome intro: group-2 wallpaper with the V10 copy choreography. */
@keyframes v10-home-welcome-moon {
  from { opacity: 0; transform: scale(.91); }
  48%, 100% { opacity: 1; transform: scale(1); }
}
.home-welcome--v10 {
  background:
    radial-gradient(62% 74% at 88% 28%, rgba(94, 116, 139, .11), transparent 68%),
    radial-gradient(48% 54% at 8% 94%, rgba(169, 130, 77, .043), transparent 72%),
    linear-gradient(145deg, #080d14 0%, #0b121b 55%, #101923 100%);
}
.home-welcome--v10 .home-welcome__field {
  background: radial-gradient(64% 86% at 92% 42%, rgba(67, 103, 127, .17), transparent 67%);
}
.home-welcome--v10 .home-welcome__beam {
  display: none;
}
.home-welcome--v10 .home-welcome__moon {
  inset: auto -29vw auto auto;
  top: 14vh;
  width: min(68vw, 900px);
  border: 1px solid rgba(201, 183, 154, .105);
  background: none;
  box-shadow:
    0 0 0 10vw rgba(255,255,255,.004),
    0 0 0 20vw rgba(201,183,154,.015);
  animation: v10-home-welcome-moon 2.2s .28s var(--home-welcome-ease) both;
}
.home-welcome--v10.is-leaving { visibility: visible; }
.home-welcome--v10 .home-welcome__stage { align-content: center; }
.home-welcome--v10 .home-welcome__decision--v10 {
  display: grid;
  width: min(960px, calc(100vw - 130px));
  margin: 44px 0 0;
  grid-template-columns: auto minmax(70px, 1fr) auto minmax(70px, 1fr) auto;
  gap: clamp(18px, 2vw, 28px);
  align-items: center;
  color: #8f9da8;
  font: 400 clamp(9px, .72vw, 10px)/1.4 var(--v10-mono);
  letter-spacing: .24em;
  text-transform: uppercase;
  transform: translateX(38px);
}
.home-welcome--v10 .home-welcome__decision--v10 span,
.home-welcome--v10 .home-welcome__decision--v10 i { opacity: 0; }
.home-welcome--v10 .home-welcome__decision--v10 i { height: 1px; background: linear-gradient(90deg, rgba(199,166,109,.68), rgba(124,157,179,.16)); transform: scaleX(0); transform-origin: left; }
.home-welcome--v10 .home-welcome__decision--v10 span:nth-of-type(1) { animation: home-welcome-v6-word .42s .62s var(--v10-ease) forwards; }
.home-welcome--v10 .home-welcome__decision--v10 i:nth-of-type(1) { animation: home-welcome-v6-line .54s .83s var(--v10-ease) forwards; }
.home-welcome--v10 .home-welcome__decision--v10 span:nth-of-type(2) { animation: home-welcome-v6-word .42s 1.02s var(--v10-ease) forwards; }
.home-welcome--v10 .home-welcome__decision--v10 i:nth-of-type(2) { animation: home-welcome-v6-line .54s 1.22s var(--v10-ease) forwards; }
.home-welcome--v10 .home-welcome__decision--v10 span:nth-of-type(3) { animation: home-welcome-v6-word .42s 1.41s var(--v10-ease) forwards; }

/* Progressive enhancement only. Content is readable without JS. */
.v10-js .v10-reveal { opacity: 0; translate: 0 27px; transition: opacity .82s ease, translate 1s var(--v10-ease); }
.v10-js .v10-reveal.is-in,
.v10-js .v10-reveal.is-visible { opacity: 1; translate: 0 0; }
.v10-js .v10-route-card.v10-reveal { opacity: 1; translate: 0 0; }

@media (max-width: 1120px) {
  :root { --v10-shell: min(1020px, calc(100vw - 64px)); }
  #navLinks { display: none !important; }
  #hamburger { display: block !important; }
  .v10-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(265px, .48fr); gap: 52px; }
  .v10-hero-copy h1 { font-size: clamp(69px, 8.2vw, 92px); }
  .v10-practice-grid,
  .v10-journal-grid { gap: 70px; }
  .v10-routes-layout { grid-template-columns: minmax(260px,.7fr) minmax(430px,1.3fr); gap: 48px; }
  .v10-route-card { padding: 38px; }
  .v10-route-card::before { left: 38px !important; }
  .v10-dialogue-grid,
  .v10-assessment-grid,
  .v10-reviews-grid { gap: 72px; }
  .v10-route { padding: 30px 25px; }
  .v10-route h3 { font-size: 36px; }
  .v10-clinician { grid-template-columns: minmax(0, 1fr) minmax(430px, .92fr); }
  .v10-clinician-copy { padding-inline: 56px; }
}

@media (max-width: 900px) {
  :root { --v10-shell: calc(100vw - 54px); }
  #announce,
  #heroNav { padding-inline: 28px; }
  .v10-hero { min-height: max(100svh, 860px); }
  .v10-hero-layout { min-height: calc(max(100svh, 860px) - 126px); grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 36px; align-items: end; padding-block: 72px 32px; }
  .v10-hero-copy { max-width: 720px; }
  .v10-hero-copy h1 { font-size: clamp(68px, 10vw, 88px); }
  .v10-hero-aside { width: min(100%, 520px); margin: 0 0 0 auto; }
  .v10-hero-axis { grid-row: 3; }
  .v10-practice-grid,
  .v10-results-grid,
  .v10-men-grid,
  .v10-journal-grid { grid-template-columns: 1fr; gap: 54px; }
  .v10-practice-copy { justify-self: end; max-width: 590px; }
  .v10-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v10-principles article:nth-child(3) { border-left: 0; }
  .v10-dialogue-grid,
  .v10-assessment-grid,
  .v10-reviews-grid { grid-template-columns: 1fr; gap: 72px; }
  .v10-section-head--sticky { position: relative; top: auto; max-width: 720px; }
  .v10-routes-layout { grid-template-columns: 1fr; gap: 56px; }
  .v10-routes-intro { position: relative; top: auto; max-width: none; padding-top: 0; }
  .v10-routes-progress { display: none; }
  .v10-route-stack { display: block; padding: 0; }
  .v10-route-card + .v10-route-card { margin-top: 24px; }
  .v10-route-stack::after { display: none; }
  .v10-route-card,
  .v10-route-card:nth-child(2),
  .v10-route-card:nth-child(3) { position: relative !important; top: auto; min-height: 480px; }
  .v10-clinician { min-height: auto; grid-template-columns: 1fr; }
  .v10-clinician-image { min-height: min(86svh, 760px); }
  .v10-clinician-image::after { background: linear-gradient(0deg, #0a151e 0%, rgba(10,21,30,.22) 32%, transparent 55%); }
  .v10-clinician-copy { max-width: 820px; padding: 76px 8vw 110px; }
  .v10-review-stage { min-height: 470px; }
  .v10-results .v10-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .48fr); gap: 34px 60px; align-items: end; }
  .v10-results .v10-section-head .v10-kicker { grid-column: 1 / -1; }
  .v10-results .v10-section-head > p,
  .v10-results .v10-section-head .v10-ink-link { grid-column: 2; }
  .v10-results .v10-section-head .v10-ink-link { margin-top: 0; }
  .v10-men-index { position: absolute; top: 50%; left: -3%; translate: 0 -50%; }
  .v10-men-copy { position: relative; z-index: 1; grid-column: 1; justify-self: end; max-width: 680px; }
  .v10-journal-copy { justify-self: end; max-width: 600px; }
  .v10-hero-proof { width: 184px; }
  .v10-closing-grid { grid-template-columns: 1fr; gap: 34px; }
  .v10-closing .v10-kicker { grid-column: auto; margin-bottom: -8px; }
  .v10-closing-grid > p:not(.v10-kicker) { grid-column: auto; }
  .v10-closing nav { grid-column: auto; grid-row: auto; width: min(100%, 580px); margin-top: 20px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .v10-hero { min-height: max(calc(100svh + 32px), 892px); }
  .v10-closing-grid { padding-left: 16px; }
  .v10-choice-routes {
    width: min(100%, 640px);
    margin-inline: auto;
  }
  .v10-js .v10-choice-head.v10-reveal,
  .v10-js .v10-choice-routes.v10-reveal {
    opacity: 1;
    translate: none;
    transition: none;
  }
}

@media (max-width: 600px) {
  :root { --v10-shell: calc(100vw - 40px); }
  .v10-kicker { margin-bottom: 19px; font-size: 8px; }
  .v10-section-head h2,
  .v10-routes-intro h2,
  .v10-reviews-head h2,
  .v10-clinician-copy h2,
  .v10-men-copy h2,
  .v10-journal h2,
  .v10-closing h2 { font-size: clamp(45px, 14.4vw, 61px); line-height: .93; }
  .v10-section-head h2 em,
  .v10-routes-intro h2 em,
  .v10-reviews-head h2 em,
  .v10-clinician-copy h2 em,
  .v10-men-copy h2 em,
  .v10-journal h2 em,
  .v10-closing h2 em { margin-left: 17px; }
  #announce { min-height: 40px; padding: 10px 20px; }
  #annFull { display: none; }
  #annShort { display: inline; }
  #heroNav { height: 70px; padding-inline: 20px; }
  #heroNav .hero-mark { width: 90px; background-size: auto 32px; }
  .nav-tools { gap: 8px; }
  .v10-hero { min-height: max(100svh, 790px); border-radius: 0 0 38px 38px; }
  .v10-hero-layout { min-height: calc(max(100svh, 790px) - 110px); gap: 27px; padding-block: 52px 24px; }
  .v10-hero-copy h1 { max-width: 10.5ch; font-size: clamp(49px, 15.7vw, 64px); line-height: .89; }
  .v10-hero-copy h1 em { margin-left: 15px; }
  .v10-hero-lede { max-width: 42ch; margin-top: 25px; font-size: 13px; line-height: 1.66; }
  .v10-hero-actions { gap: 14px; margin-top: 26px; }
  .v10-primary { width: 100%; min-width: 0; min-height: 56px; }
  .v10-hero-copy .v10-text-link { margin-left: 3px; }
  .v10-hero-proof { width: 168px; margin-top: 23px; padding: 13px 0; gap: 0 9px; }
  .v10-hero-proof > strong { font-size: 36px; }
  .v10-hero-proof > span:not(.v10-hero-proof-meta) { font-size: 6px; }
  .v10-hero-proof-meta { gap: 3px; font-size: 6.5px; }
  .v10-hero-proof-meta small { gap: 1px; font-size: 5.7px; }
  .v10-hero-proof-meta small strong { font-size: 6.5px; }
  .v10-hero-aside { margin: clamp(40px, 6svh, 56px) 0 0 auto; padding: 23px 22px 20px; border-radius: 25px 25px 25px 5px; }
  .v10-hero-aside > strong { font-size: 27px; }
  .v10-hero-aside > span { margin-top: 15px; font-size: 7px; }
  .v10-hero-aside > a { margin-top: 13px; }
  .v10-hero-axis { grid-template-columns: auto minmax(12px, 1fr) auto minmax(12px, 1fr) auto; gap: 6px; font-size: 6px; letter-spacing: .1em; }
  .v10-practice,
  .v10-dialogue,
  .v10-routes,
  .v10-assessment,
  .v10-reviews,
  .v10-results { padding-block: 92px; }
  .v10-men-grid,
  .v10-journal-grid { padding-block: 92px; }
  .v10-closing-grid { padding-left: 12px; }
  .v10-closing::after { left: 8px; }
  .v10-practice-grid,
  .v10-results-grid,
  .v10-men-grid,
  .v10-journal-grid { gap: 39px; }
  .v10-practice-copy p { font-size: 13.5px; line-height: 1.75; }
  .v10-principles { grid-template-columns: 1fr; margin-top: 63px; }
  .v10-principles article,
  .v10-principles article + article { min-height: 0; padding: 27px 0 29px; border-left: 0; }
  .v10-principles h3 { margin: 24px 0 13px; font-size: 31px; }

  .v10-dialogue-grid,
  .v10-assessment-grid,
  .v10-reviews-grid { gap: 52px; }
  .v10-dialogue-ledger summary,
  .v10-assessment-ledger summary { min-height: 103px; grid-template-columns: 31px minmax(0, 1fr) 24px; gap: 12px; }
  .v10-dialogue-ledger summary > strong,
  .v10-assessment-ledger summary > strong { font-size: 34px; }
  .v10-dialogue-ledger summary > small { display: none; }
  .v10-dialogue-ledger details > div > p,
  .v10-assessment-ledger details > div > p { padding: 0 20px 31px 43px; font-size: 13px; line-height: 1.72; }

  .v10-routes-layout { gap: 46px; }
  .v10-js .v10-routes-intro.v10-reveal { opacity: 1; translate: none; }
  .v10-routes-intro > p:not(.v10-kicker) { font-size: 13.5px; }
  .v10-route-stack { display: block; padding: 0; }
  .v10-route-card + .v10-route-card { margin-top: 13svh; }
  .v10-route-stack::after { display: block; height: 14svh; }
  .v10-route-card,
  .v10-route-card:nth-child(2),
  .v10-route-card:nth-child(3) { position: sticky !important; min-height: min(64svh,530px); padding: 26px 23px; }
  .v10-route-card { top: 10svh !important; z-index: 1; }
  .v10-route-card:nth-child(2) { top: 13svh !important; z-index: 2; }
  .v10-route-card:nth-child(3) { top: 16svh !important; z-index: 3; }
  .v10-route-stack.has-open-route { padding-bottom: 0; }
  .v10-route-stack.has-open-route::after { display: none; }
  .v10-route-stack.has-open-route .v10-route-card + .v10-route-card { margin-top: 18px; }
  .v10-route-stack.has-open-route .v10-route-card,
  .v10-route-stack.has-open-route .v10-route-card:nth-child(2),
  .v10-route-stack.has-open-route .v10-route-card:nth-child(3) { position: relative !important; top: auto !important; min-height: 450px; }
  .v10-route-card::before { left: 23px !important; }
  .v10-route-card h3 { font-size: 35px; }
  .v10-route-lede { font-size: 15px; line-height: 1.68; }
  .v10-route-card summary { font-size: 10px; }
  .v10-route-card details p { font-size: 14px; line-height: 1.68; }
  .v10-route-link { font-size: 9.5px; letter-spacing: .09em; }
  .v10-all-treatments { min-height: 106px; margin-top: 0; flex-direction: column; align-items: flex-start; justify-content: center; }

  .v10-clinician-image { min-height: 76svh; }
  .v10-clinician-image img { object-position: center 13%; }
  .v10-clinician-copy { padding: 70px 20px 96px; }
  .v10-clinician-copy > p:not(.v10-kicker, .v10-qualification) { font-size: 13px; line-height: 1.74; }
  .v10-qualification { font-size: 7.5px; }
  .v10-reviews::before { bottom: -4%; }
  .v10-reviews-head .v10-stars { font-size: 13px; }
  .v10-review-stage { min-height: 620px; padding: 33px 24px 145px; border-radius: 42px 42px 7px 42px; }
  .v10-review { top: 33px; right: 24px; left: 24px; }
  .v10-review blockquote { font-size: clamp(31px, 10vw, 39px); line-height: 1.08; }
  .v10-review figcaption { margin-top: 24px; }
  .v10-review-controls { right: 24px; bottom: 72px; left: 24px; }
  .v10-review-link { bottom: 13px; left: 24px; }

  .v10-results .v10-section-head { display: block; }
  .v10-results .v10-section-head > p { margin-top: 27px; }
  .v10-results .v10-section-head .v10-ink-link { margin-top: 27px; }
  .v10-result-pair { gap: 1px; margin-inline: 0; overflow: hidden; border-radius: 32px 32px 6px 32px; background: #101720; }
  .v10-result-pair figure,
  .v10-result-pair figure + figure { border-radius: 0; }
  .v10-result-pair img { height: clamp(430px, 125vw, 510px); aspect-ratio: auto; object-position: center 15%; }
  .v10-result-pair figcaption { min-width: 65px; padding: 11px 12px; font-size: 7px; }

  .v10-men-moon { right: -54%; width: 125vw; }
  .v10-men-index { top: 52%; bottom: auto; left: -8%; color: rgba(232,216,187,.03); translate: 0 -50%; font-size: 54vw; }
  .v10-men-copy > p:not(.v10-kicker) { font-size: 13px; line-height: 1.75; }
  .v10-journal-ghost { top: 62%; right: 14px; color: rgba(239,228,239,.04); font-size: 90px; }
  .v10-journal-copy > p { font-size: 13px; }
  .v10-primary--journal { width: auto; min-width: 225px; }

  .v10-closing { min-height: 92svh; }
  .v10-closing-grid { padding-block: 105px; }
  .v10-closing-grid > p:not(.v10-kicker) { margin-top: 21px; font-size: 13px; }
  .v10-closing nav { margin-top: 15px; }
  .v10-closing nav a { min-height: 78px; }

  .home-welcome--v10 .home-welcome__decision--v10 {
    display: grid;
    width: min(280px, calc(100vw - 92px));
    margin-top: 34px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
    font-size: 9px;
    transform: translateX(38px);
  }
  .home-welcome--v10 .home-welcome__decision--v10 i {
    width: 1px;
    height: 24px;
    transform: scaleY(0);
    transform-origin: top;
  }
  .home-welcome--v10 .home-welcome__decision--v10 i:nth-of-type(1),
  .home-welcome--v10 .home-welcome__decision--v10 i:nth-of-type(2) {
    animation-name: home-welcome-v6-line-mobile;
  }
}

@media (max-width: 380px) {
  :root { --v10-shell: calc(100vw - 32px); }
  .v10-hero-copy h1 { font-size: 47px; }
  .v10-hero-lede { font-size: 12.5px; }
  .v10-hero-aside { padding: 20px 18px 17px; }
  .v10-section-head h2,
  .v10-routes-intro h2,
  .v10-reviews-head h2,
  .v10-clinician-copy h2,
  .v10-men-copy h2,
  .v10-journal h2,
  .v10-closing h2 { font-size: 43px; }
  .v10-dialogue-ledger summary > strong,
  .v10-assessment-ledger summary > strong { font-size: 31px; }
  .v10-route-card h3 { font-size: 34px; }
  .v10-review-stage { min-height: 650px; }
  .v10-hero-proof { width: 160px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-v10-page *,
  .home-v10-page *::before,
  .home-v10-page *::after,
  .home-welcome--v10 *,
  .home-welcome--v10 *::before,
  .home-welcome--v10 *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .v10-js .v10-reveal { opacity: 1; translate: none; }
  .v10-hero-freeze { transform: none !important; will-change: auto; }
  .v10-route-card,
  .v10-route-card:nth-child(n) { position: relative !important; top: auto !important; transform: none; }
  .v10-route-stack { gap: 18px; padding-bottom: 0; }
}

/* ============================================================
   HOME V10 synthesis pass · 26 August 2026
   Keeps the selected V2/V3/V4/V5 modules faithful while making
   the hierarchy coherent at 360, tablet and desktop widths.
   ============================================================ */

/* Editorial type scale: calm, consistent, without the <=380px cliff. */
.v10-section-head h2,
.v10-men-copy h2,
.v10-journal h2 {
  font-size: clamp(48px, 5.3vw, 78px);
  line-height: .96;
}
.v10-routes-intro h2 {
  font-size: clamp(42px, 4.35vw, 62px);
  line-height: 1.01;
}
.v10-clinician-copy h2 {
  font-size: clamp(48px, 5.2vw, 76px);
  line-height: .96;
}
.v10-clinician-copy > p:not(.v10-kicker, .v10-qualification) {
  font-size: 15px;
  line-height: 1.73;
}
.v10-qualification {
  font-size: 11.5px;
  line-height: 1.7;
}
.v10-closing h2 {
  font-size: clamp(60px, 7vw, 94px);
  line-height: .94;
}

/* Assessment disclosure retained from HOME V2. */
.v10-suitability {
  grid-column: 2;
  margin-top: 30px;
  border-top: 1px solid var(--v10-line);
  border-bottom: 1px solid var(--v10-line);
}
.v10-suitability summary {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: var(--v10-ink);
  cursor: pointer;
  list-style: none;
  font: 400 10px/1.4 var(--v10-mono);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.v10-suitability summary::-webkit-details-marker { display: none; }
.v10-suitability summary i {
  color: #80633f;
  font-size: 18px;
  font-style: normal;
  transition: transform .55s var(--v10-ease);
}
.v10-suitability[open] summary i { transform: rotate(45deg); }
.v10-suitability > div { animation: v10-disclose .55s var(--v10-ease) both; }
.v10-suitability p {
  max-width: 68ch;
  margin: 0;
  padding: 0 42px 34px 0;
  color: var(--v10-body);
  font-size: 14px;
  line-height: 1.78;
}

/* HOME V2 treatment gateway with a visible but restrained affordance. */
.v10-choice {
  padding: clamp(108px, 15vh, 178px) 0;
  background: linear-gradient(145deg, #091620, #0d1d2a 72%, #112737);
  color: #aebac4;
}
.v10-choice .v10-shell {
  display: grid;
  grid-template-columns: minmax(330px, .72fr) minmax(520px, 1.18fr);
  gap: clamp(78px, 12vw, 185px);
  align-items: start;
}
.v10-choice-head h2 {
  margin: 0;
  color: #f2eee7;
  font-family: var(--v10-serif);
  font-size: clamp(48px, 5.3vw, 78px);
  font-weight: 300;
  line-height: .96;
  letter-spacing: -.045em;
}
.v10-choice-head h2 em {
  display: block;
  margin-left: clamp(20px, 3.7vw, 54px);
  color: var(--v10-gold-soft);
  font-weight: inherit;
}
.v10-choice-head > p:last-child {
  max-width: 49ch;
  margin: 31px 0 0;
  font-size: 14px;
  line-height: 1.78;
}
.v10-choice-routes { border-top: 1px solid rgba(235,230,221,.16); }
.v10-choice-routes a {
  position: relative;
  display: grid;
  min-height: 174px;
  grid-template-columns: 76px minmax(0, 1fr) 30px;
  grid-template-rows: auto auto;
  gap: 9px 20px;
  align-content: center;
  padding: 28px 18px;
  border-bottom: 1px solid rgba(235,230,221,.16);
  transition: background .6s var(--v10-ease);
}
.v10-choice-routes a:first-child {
  background: linear-gradient(90deg, rgba(64,102,127,.14), rgba(64,102,127,0) 78%);
}
.v10-choice-routes a:last-child {
  background: linear-gradient(90deg, rgba(135,99,60,.14), rgba(135,99,60,0) 78%);
}
.v10-choice-routes a:hover,
.v10-choice-routes a:focus-visible { padding-inline: 18px; }
.v10-choice-routes a:first-child:hover,
.v10-choice-routes a:first-child:focus-visible { background: linear-gradient(90deg, rgba(64,102,127,.24), rgba(64,102,127,.03) 88%); }
.v10-choice-routes a:last-child:hover,
.v10-choice-routes a:last-child:focus-visible { background: linear-gradient(90deg, rgba(135,99,60,.24), rgba(135,99,60,.03) 88%); }
.v10-choice-routes span {
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 8px;
  color: var(--v10-gold);
  font: 400 9px/1.4 var(--v10-mono);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.v10-choice-routes strong {
  color: #f0ece5;
  font-family: var(--v10-serif);
  font-size: clamp(31px, 3.15vw, 45px);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -.025em;
}
.v10-choice-routes small {
  color: #9daab5;
  font-size: 13px;
  line-height: 1.6;
}
.v10-choice-routes b {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  color: #dfc697;
  font-size: 17px;
  font-weight: 300;
  transition: transform .55s var(--v10-ease);
}
.v10-choice-routes a:hover b,
.v10-choice-routes a:focus-visible b { transform: translateX(6px); }

/* HOME V2 restraint panel. */
.v10-restraint {
  position: relative;
  overflow: hidden;
  padding: clamp(108px, 15vh, 178px) 0;
  background: linear-gradient(145deg, #f4f0e8, #e9e1d5);
}
.v10-restraint::after {
  position: absolute;
  right: -9vw;
  bottom: -22vw;
  width: min(54vw, 710px);
  aspect-ratio: 1;
  border: 1px solid rgba(102,78,48,.1);
  border-radius: 50%;
  content: '';
}
.v10-restraint-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 118px minmax(390px, .9fr) minmax(410px, 1fr);
  gap: clamp(38px, 6vw, 92px);
  align-items: start;
}
.v10-restraint-number {
  margin: 12px 0 0;
  color: #7c5f3c;
  font: 400 9.5px/1.5 var(--v10-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.v10-restraint h2 {
  margin: 0;
  color: var(--v10-ink);
  font-family: var(--v10-serif);
  font-size: clamp(48px, 5.25vw, 76px);
  font-weight: 300;
  line-height: .96;
  letter-spacing: -.045em;
}
.v10-restraint h2 em {
  display: block;
  color: #725338;
  font-weight: inherit;
}
.v10-restraint-copy > p {
  max-width: 61ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.78;
}
.v10-restraint-copy > p + p { margin-top: 24px; }
.v10-restraint-copy .v10-restraint-last {
  margin-top: 34px;
  padding-top: 31px;
  border-top: 1px solid var(--v10-line);
  color: var(--v10-ink);
  font-family: var(--v10-serif);
  font-size: clamp(27px, 2.4vw, 37px);
  line-height: 1.24;
}

/* Patient reviews: current HOME's light, centred proof module. */
.v10-reviews {
  padding: clamp(104px, 14vh, 164px) 0;
  background: linear-gradient(160deg, #f1eee8, #e5dfd6);
  color: var(--v10-ink);
}
.v10-reviews::before { display: none; }
.v10-reviews-grid {
  display: block;
  width: min(960px, calc(100vw - 10vw));
  text-align: center;
}
.v10-reviews-head { display: grid; justify-items: center; }
.v10-reviews-head .v10-kicker { margin-bottom: 10px; }
.v10-reviews-head h2 {
  margin: 0;
  color: #6c665e;
  font: 400 11px/1.45 var(--v10-mono);
  letter-spacing: .25em;
  text-transform: uppercase;
}
.v10-review-source {
  margin: 10px 0 0;
  color: #8b8277;
  font: 400 8.5px/1.45 var(--v10-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.v10-review-rating {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 21px;
  margin-top: 36px;
  color: #927047;
}
.v10-review-rating span { font-size: 18px; letter-spacing: .18em; }
.v10-review-rating strong {
  padding: 6px 12px 5px;
  border: 1px solid #927047;
  border-radius: 999px;
  font: 400 10px/1 var(--v10-mono);
  letter-spacing: .12em;
}
.v10-review-stage {
  position: relative;
  min-height: 0;
  height: var(--v10-review-height, auto);
  margin: 28px auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: height .72s var(--v10-ease);
}
.v10-review {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  justify-items: center;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(18px);
}
.v10-review.is-active { opacity: 1; visibility: visible; transform: none; }
.v10-review[hidden] { display: none !important; }
.v10-review blockquote {
  max-width: 33ch;
  margin: 0 auto;
  color: #27282a;
  font-family: var(--v10-serif);
  font-size: clamp(27px, 3.3vw, 40px);
  font-style: italic;
  font-weight: 300;
  line-height: 1.32;
  letter-spacing: -.022em;
}
.v10-review figcaption {
  margin-top: 31px;
  color: #6f6860;
  font: 400 10.5px/1.55 var(--v10-mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.v10-review-rail {
  display: grid;
  grid-template-columns: repeat(var(--v10-review-count, 23), minmax(3px, 1fr));
  width: min(100%, 420px);
  gap: 3px;
  margin: 48px auto 0;
}
.v10-review-rail button {
  min-width: 0;
  min-height: 44px;
  padding: 21px 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.v10-review-rail button::before {
  display: block;
  width: 4px;
  height: 4px;
  margin-inline: auto;
  border-radius: 50%;
  background: rgba(54,48,42,.15);
  content: '';
  transition: background .45s ease, transform .55s var(--v10-ease);
}
.v10-review-rail button[aria-current="true"]::before {
  background: #93724b;
  transform: scale(1.55);
}
.v10-review-rail button:focus-visible {
  outline: 1px solid rgba(147,114,75,.72);
  outline-offset: -5px;
}
.v10-review-meta {
  display: flex;
  margin-top: 45px;
  align-items: center;
  justify-content: center;
  gap: 28px;
  color: #716a62;
  font: 400 8.5px/1.4 var(--v10-mono);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.v10-review-meta [data-v10-review-status] { color: #927047; }
.v10-review-link {
  position: static;
  color: #6f5234;
}

/* HOME V3 Results in Context: one still comparison plane. */
.v10-results {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 16vh, 188px) 0;
  background: linear-gradient(180deg, #0b121b, #080d14);
  color: #aeb9c4;
}
.v10-results-head {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(340px, .65fr);
  gap: clamp(50px, 10vw, 150px);
  align-items: end;
  margin-bottom: 58px;
}
.v10-results-head h2 {
  margin: 0;
  color: #f3efe8;
  font-family: var(--v10-serif);
  font-size: clamp(50px, 5.8vw, 80px);
  font-weight: 300;
  line-height: .98;
}
.v10-results-head > p {
  max-width: 48ch;
  margin: 0;
  color: #aeb9c4;
  font-size: 16px;
  line-height: 1.72;
}
.v10-result-pair {
  position: relative;
  display: grid;
  max-width: 1040px;
  margin: 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(237,232,223,.16);
  box-shadow: 0 56px 110px -58px rgba(0,0,0,.95);
}
.v10-result-pair::before { display: none; }
.v10-result-pair figure,
.v10-result-pair figure + figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #05080d;
}
.v10-result-pair img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: 50% 20%;
  filter: saturate(.78) contrast(.97);
}
.v10-result-pair figcaption {
  position: absolute;
  top: 18px;
  bottom: auto;
  left: 18px;
  min-width: 0;
  padding: 7px 11px;
  background: rgba(232,225,211,.9);
  color: #11161d;
  font: 400 9.5px/1.3 var(--v10-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  backdrop-filter: none;
}
.v10-result-axis {
  position: absolute;
  z-index: 3;
  bottom: 22px;
  left: 50%;
  padding: 8px 14px;
  background: rgba(7,11,16,.78);
  color: #d1c3a8;
  font: 400 9px/1.4 var(--v10-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: translateX(-50%);
  backdrop-filter: blur(9px);
}
.v10-result-notes {
  display: grid;
  max-width: 1040px;
  margin: 26px auto 0;
  grid-template-columns: 1fr 1fr auto;
  gap: 28px;
  align-items: start;
  color: #7f8d9d;
  font: 400 9px/1.62 var(--v10-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v10-result-notes p { margin: 0; }
.v10-result-notes a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  color: #d1c09d;
  white-space: nowrap;
}

/* HOME V5 Journal. */
.v10-journal-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 0;
  margin: 0 0 38px;
  padding: 13px 0;
  border-top: 1px solid rgba(220,196,216,.15);
  border-bottom: 1px solid rgba(220,196,216,.11);
}
.v10-journal-topics span {
  display: inline-flex;
  align-items: center;
  color: #c4b6c6;
  font: 400 8.5px/1.35 var(--v10-mono);
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}
.v10-journal-topics span + span::before {
  margin: 0 14px;
  color: rgba(215,187,208,.5);
  content: '·';
}

/* Notes from odNOVA: existing form, honest preview behaviour. */
.v10-notes {
  padding: clamp(92px, 13vh, 150px) 0;
  border-top: 1px solid rgba(201,183,154,.16);
  border-bottom: 1px solid rgba(201,183,154,.12);
  background: #161e27;
}
.v10-notes-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(60px, 9vw, 140px);
  align-items: start;
}
.v10-notes h2 {
  margin: 0 0 20px;
  color: #e9e0d2;
  font-family: var(--v10-serif);
  font-size: clamp(42px, 4.5vw, 62px);
  font-weight: 300;
  line-height: 1.02;
}
.v10-notes h2 em {
  display: block;
  color: var(--v10-gold-soft);
  font-weight: inherit;
}
.v10-notes-grid > div > p:not(.v10-kicker) {
  max-width: 40ch;
  margin: 0;
  color: #aab5c0;
  font-size: 15.5px;
  line-height: 1.7;
}
.v10-notes-form { display: grid; gap: 17px; }
.v10-form-row { display: grid; grid-template-columns: .74fr 1.26fr; gap: 24px; }
.v10-notes-form label {
  display: grid;
  gap: 10px;
  color: #aab5c0;
  font: 400 9.5px/1.4 var(--v10-mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}
.v10-notes-form .v10-form-label {
  display: inline;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.v10-notes-form .v10-form-label span {
  letter-spacing: .05em;
  text-transform: none;
}
.v10-notes-form input[type="text"],
.v10-notes-form input[type="email"] {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid rgba(170,181,192,.3);
  border-bottom-color: rgba(201,183,154,.5);
  border-radius: 0;
  background: #111820;
  color: #e9e0d2;
  font-family: var(--v10-sans);
  font-size: 16px;
  letter-spacing: 0;
  outline: none;
}
.v10-notes-form input:focus { border-color: #c9b79a; background: #10171f; }
.v10-consent {
  display: flex !important;
  max-width: 64ch;
  grid-template-columns: auto 1fr;
  gap: 11px !important;
  align-items: start;
  line-height: 1.55 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
.v10-consent input {
  appearance: none;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  border: 1px solid rgba(170,181,192,.55);
  background: transparent;
  cursor: pointer;
}
.v10-consent input:checked {
  border-color: var(--v10-gold);
  background: linear-gradient(135deg, var(--v10-gold), #9f7a4b);
  box-shadow: inset 0 0 0 3px #161e27;
}
.v10-form-submit { display: flex; align-items: center; gap: 24px; margin-top: 4px; }
.v10-form-submit button {
  display: inline-flex;
  min-width: 230px;
  min-height: 50px;
  padding: 0 18px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid rgba(201,183,154,.56);
  background: transparent;
  color: #e9e0d2;
  font: 400 10px/1.3 var(--v10-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s ease, color .3s ease;
}
.v10-form-submit button:hover,
.v10-form-submit button:focus-visible { background: #e9e0d2; color: #161e27; }
.v10-form-submit button:disabled { cursor: not-allowed; opacity: .46; }
.v10-form-submit button:disabled:hover { background: transparent; color: #e9e0d2; }
.v10-form-submit p { max-width: 32ch; margin: 0; color: #8e9caa; font-size: 11px; line-height: 1.55; }
.v10-form-error,
.v10-form-status { margin: 0; color: #d5a08f; font: 400 10px/1.5 var(--v10-mono); }
.v10-form-status { padding: 10px 12px; border: 1px solid rgba(201,183,154,.35); color: var(--v10-gold-soft); }

@media (max-width: 900px) {
  .v10-suitability { grid-column: auto; }
  .v10-choice .v10-shell,
  .v10-restraint-grid,
  .v10-results-head,
  .v10-notes-grid { grid-template-columns: 1fr; }
  .v10-choice .v10-shell { gap: 58px; }
  .v10-restraint-grid { gap: 30px; }
  .v10-restraint-copy { max-width: 720px; }
  .v10-results-head { gap: 28px; }
  .v10-result-notes { grid-template-columns: 1fr 1fr; }
  .v10-result-notes a { grid-column: 1 / -1; justify-self: start; }
  .v10-notes-grid { gap: 52px; }
}

@media (max-width: 600px) {
  .v10-section-head h2,
  .v10-men-copy h2,
  .v10-journal h2 { font-size: clamp(42px, 12vw, 50px); line-height: .98; }
  .v10-routes-intro h2 { font-size: 39px; line-height: 1.04; }
  .v10-clinician-copy h2 { font-size: 44px; line-height: .96; }
  .v10-clinician-copy > p:not(.v10-kicker, .v10-qualification) { font-size: 15px; line-height: 1.73; }
  .v10-qualification { font-size: 11px; line-height: 1.65; }
  .v10-hero-copy h1 { font-size: clamp(50px, 14vw, 58px); line-height: .92; }

  .v10-choice,
  .v10-restraint,
  .v10-notes { padding-block: 92px 96px; }
  .v10-choice-head h2,
  .v10-restraint h2 { font-size: 43px; line-height: 1; }
  .v10-restraint h2 .v10-restraint-line { display: block; }
  .v10-choice-head > p:last-child,
  .v10-restraint-copy > p { font-size: 15px; line-height: 1.7; }
  .v10-choice-routes a {
    min-height: 166px;
    grid-template-columns: 1fr 28px;
    grid-template-rows: auto auto auto;
    gap: 9px 16px;
    padding: 26px 20px;
  }
  .v10-choice-routes span { grid-column: 1; grid-row: auto; padding-top: 0; }
  .v10-choice-routes strong { grid-column: 1; font-size: 34px; }
  .v10-choice-routes small { grid-column: 1; font-size: 12.5px; }
  .v10-choice-routes b { grid-column: 2; grid-row: 1 / 4; }
  .v10-choice-routes a:hover,
  .v10-choice-routes a:focus-visible { padding-inline: 23px 17px; }
  .v10-restraint-number { margin-top: 0; }
  .v10-restraint-copy .v10-restraint-last { font-size: 29px; }
  .v10-suitability p { padding-right: 0; font-size: 13px; line-height: 1.72; }

  .v10-reviews { padding-block: 90px 96px; }
  .v10-reviews-grid { width: calc(100vw - 40px); }
  .v10-review-rating { margin-top: 31px; }
  .v10-review-stage { margin-top: 25px; }
  .v10-review blockquote { font-size: clamp(27px, 8.5vw, 34px); line-height: 1.34; }
  .v10-review figcaption { margin-top: 25px; font-size: 8.5px; }
  .v10-review-rail { gap: 3px; margin-top: 38px; }
  .v10-review-meta { flex-direction: column; gap: 15px; margin-top: 33px; }

  .v10-results { padding-block: 92px 96px; }
  .v10-results-head { margin-bottom: 38px; }
  .v10-results-head h2 { font-size: 43px; line-height: 1.04; }
  .v10-results-head > p { font-size: 15.5px; line-height: 1.68; }
  .v10-result-pair {
    width: calc(100% + 36px);
    margin-left: -18px;
    overflow: visible;
    border-radius: 0;
  }
  .v10-result-pair img { height: auto; aspect-ratio: 3 / 4; object-position: 50% 20%; }
  .v10-result-pair figcaption { top: 10px; left: 10px; padding: 5px 8px; font-size: 8px; }
  .v10-result-axis { bottom: 10px; max-width: 88%; overflow: hidden; text-overflow: ellipsis; font-size: 7.5px; }
  .v10-result-notes { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
  .v10-result-notes a { grid-column: auto; }

  .v10-journal-topics { margin-bottom: 30px; }
  .v10-notes h2 { font-size: 39px; line-height: 1.04; }
  .v10-notes-grid > div > p:not(.v10-kicker) { font-size: 15.5px; line-height: 1.68; }
  .v10-form-row { grid-template-columns: 1fr; gap: 17px; }
  .v10-form-submit { align-items: flex-start; flex-direction: column; }
  .v10-form-submit button { width: 100%; }
}

@media (max-width: 380px) {
  .v10-hero-copy h1 { font-size: 50px; }
  .v10-route-card h3 { font-size: 34px; }
  .v10-review blockquote { font-size: 29px; }
}

@media (prefers-reduced-motion: reduce) {
  .v10-review-stage { transition: none; }
  .v10-review-rail button::before { transition: none; }
}

/* ============================================================
   HOME V10 final rhythm pass · 26 August 2026
   A readable prose floor plus one shared exit for the route stack.
   ============================================================ */

/* Once all three cards have reached their offsets, they leave as one group. */
.v10-route-stack::after {
  height: var(--v10-route-exit-track, 18vh);
}
.v10-js .v10-route-stack:not(.has-open-route) .v10-route-card.v10-reveal {
  translate: 0 var(--v10-route-group-y, 0px);
  transition:
    opacity .82s ease,
    transform .78s var(--v10-ease),
    border-color .58s ease,
    box-shadow .78s var(--v10-ease),
    background .58s ease;
}
.v10-route-stack.is-measuring .v10-route-card,
.v10-route-stack.is-measuring .v10-route-card:nth-child(n) {
  position: relative !important;
  top: auto !important;
  translate: none !important;
  transition: none !important;
}
.v10-route-stack.is-group-exiting .v10-route-card,
.v10-route-stack.is-group-exiting .v10-route-card:hover,
.v10-route-stack.is-group-exiting .v10-route-card:focus-within {
  transform: none !important;
  will-change: translate;
}

/* Readable body copy: HOME must never feel finer than the treatment guides. */
.v10-kicker {
  font-size: clamp(10.5px, .76vw, 11px);
  line-height: 1.5;
  letter-spacing: .16em;
}
.v10-hero-lede {
  font-size: clamp(15px, 1.18vw, 17px);
  line-height: 1.72;
}
.v10-practice-copy p,
.v10-routes-intro > p:not(.v10-kicker),
.v10-choice-head > p:last-child,
.v10-restraint-copy > p,
.v10-clinician-copy > p:not(.v10-kicker, .v10-qualification),
.v10-men-copy > p:not(.v10-kicker),
.v10-journal-copy > p,
.v10-notes-grid > div > p:not(.v10-kicker),
.v10-closing-grid > p:not(.v10-kicker) {
  font-size: clamp(16px, 1.12vw, 17px);
  line-height: 1.72;
}
.v10-principles p {
  font-size: clamp(15px, 1vw, 16px);
  line-height: 1.7;
}
.v10-dialogue-ledger details > div > p,
.v10-assessment-ledger details > div > p,
.v10-route-card details p,
.v10-suitability p {
  font-size: 15px;
  line-height: 1.72;
}
.v10-assessment .v10-kicker {
  color: #80633f;
  font-size: clamp(10.5px, .78vw, 11px);
}
.v10-assessment .v10-section-head > p:last-child {
  max-width: 45ch;
  color: #596267;
  font-size: clamp(16px, 1.18vw, 17px);
  line-height: 1.68;
}
.v10-suitability summary {
  font-size: 12.25px;
  line-height: 1.45;
}
.v10-route-lede {
  font-size: clamp(15.5px, 1.08vw, 16.5px);
  line-height: 1.68;
}

/* Desktop reading floor: retain the deliberately compact phone composition,
   while giving ordinary explanatory copy one more point of presence. */
@media (min-width: 901px) {
  .v10-principles p {
    font-size: clamp(16.5px, 1vw, 17px);
  }
  .v10-dialogue-ledger details > div > p,
  .v10-assessment-ledger details > div > p,
  .v10-route-card details p,
  .v10-suitability p {
    font-size: 16.5px;
  }
  .v10-route-lede {
    font-size: clamp(16.5px, 1.08vw, 17px);
  }
}
.v10-route-card summary {
  min-height: 44px;
  font-size: 10.5px;
}
.home-v10-page .v10-route-link {
  min-height: 52px;
  gap: 14px;
  color: #e0cba7;
  font-size: clamp(11px, .84vw, 12px);
  line-height: 1.45;
  letter-spacing: .075em;
}

/* Two routes remain related, but each now reads as its own clickable tile. */
.v10-choice-routes {
  display: grid;
  gap: 10px;
  border-top: 0;
}
.v10-choice-routes a {
  border: 1px solid rgba(235, 230, 221, .16);
}

/* This is the same hierarchy as the other editorial endings, not a billboard. */
.v10-closing h2 {
  font-size: clamp(56px, 6.4vw, 86px);
}

/* Keep language choice visible without letting it compete with the logo or
   hamburger. The shell is intentionally quiet at every width; focus styling
   remains owned by the shared language-switch component. */
.home-v10-page #heroNav .od-lang-switch {
  gap: 0;
  padding: 1px;
  border-color: rgba(222, 211, 190, .12);
  background: rgba(7, 12, 19, .14);
  box-shadow: none;
}
.home-v10-page #heroNav .od-lang-switch :is(a, button) {
  min-width: 30px;
  width: 30px;
  height: 28px;
  min-height: 28px;
  padding: 0 4px;
  font-size: 8.5px;
  letter-spacing: .08em;
}
.home-v10-page #heroNav .od-lang-switch :is(a[aria-current="page"], button[aria-pressed="true"]) {
  background: rgba(222, 205, 174, .075);
  box-shadow: none;
}

@media (max-width: 1120px) {
  .home-v10-page #heroNav .od-lang-switch :is(a, button) {
    min-width: 29px;
    width: 29px;
    height: 27px;
    min-height: 27px;
  }
}

@media (max-width: 600px) {
  .home-v10-page #heroNav .od-lang-switch {
    gap: 0;
    padding: 1px;
    border-color: rgba(222, 211, 190, .09);
    background: rgba(7, 12, 19, .07);
  }
  .home-v10-page #heroNav .od-lang-switch :is(a, button) {
    min-width: 22px;
    width: 22px;
    height: 22px;
    min-height: 22px;
    padding-inline: 2px;
    font-size: 7.5px;
    letter-spacing: .055em;
  }
}

/* Functional copy remains quiet, but never drops below a readable floor. */
.v10-hero-aside > span {
  font-size: 11px;
  line-height: 1.65;
}
.v10-notes-form .v10-consent {
  font-size: 13px;
  line-height: 1.55;
}
.v10-form-submit p {
  font-size: 12.5px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .v10-route-stack::after { height: 0; }
}

@media (max-width: 600px) {
  .v10-route-stack::after {
    height: var(--v10-route-exit-track, 28svh);
  }
  .v10-practice-copy p,
  .v10-principles p,
  .v10-routes-intro > p:not(.v10-kicker),
  .v10-choice-head > p:last-child,
  .v10-restraint-copy > p,
  .v10-clinician-copy > p:not(.v10-kicker, .v10-qualification),
  .v10-men-copy > p:not(.v10-kicker),
  .v10-journal-copy > p,
  .v10-notes-grid > div > p:not(.v10-kicker),
  .v10-closing-grid > p:not(.v10-kicker) {
    font-size: 16px;
  }
  .v10-choice-routes { gap: 9px; }
  .v10-closing h2 {
    font-size: clamp(50px, 14.4vw, 53px);
    line-height: .96;
  }
  .home-v10-page .odv2-footer .odv2-footer__link,
  .home-v10-page .odv2-footer .odv2-footer__qualification,
  .home-v10-page .odv2-footer .odv2-footer__contact a,
  .home-v10-page .odv2-footer .odv2-footer__contact-value,
  .home-v10-page .odv2-footer .odv2-footer__contact-label,
  .home-v10-page .odv2-footer .odv2-footer__registration,
  .home-v10-page .odv2-footer .odv2-footer__legal,
  .home-v10-page .odv2-footer .odv2-footer__legal-links a {
    font-size: 10.5px;
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v10-route-stack::after { display: none !important; }
  .v10-route-card { translate: none !important; }
}

/* Keep a short exit runway so the third card settles at the same three-step
   offset as the first two. It is deliberately much shorter than the previous
   spacer that produced an empty phone viewport after the stack. */
.v10-route-stack::after {
  display: block !important;
  height: 12vh !important;
  content: '' !important;
}

@media (max-width: 600px) {
  .v10-route-stack::after { height: 14svh !important; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .v10-route-stack::after { height: 13svh !important; }
}

@media (prefers-reduced-motion: reduce) {
  .v10-route-stack::after { display: none !important; }
}

@media (max-width: 600px) {
  .v10-qualification-list > span {
    font-size: clamp(9.5px, 2.8vw, 11px);
  }
}

/* Tablet editorial contract: use the available width instead of leaving the
   restraint copy stranded in one narrow left-hand column. */
@media (min-width: 601px) and (max-width: 900px) {
  .v10-section-head h2,
  .v10-routes-intro h2,
  .v10-choice-head h2,
  .v10-restraint h2,
  .v10-results-head h2,
  .v10-clinician-copy h2,
  .v10-men-copy h2,
  .v10-journal h2 {
    font-size: 52px;
    line-height: .96;
  }
  .v10-route-card + .v10-route-card {
    margin-top: 13svh;
  }
  .v10-route-card,
  .v10-route-card:nth-child(2),
  .v10-route-card:nth-child(3) {
    position: sticky !important;
    min-height: min(64svh, 560px);
  }
  .v10-route-card { top: 10svh !important; z-index: 1; }
  .v10-route-card:nth-child(2) { top: 13svh !important; z-index: 2; }
  .v10-route-card:nth-child(3) { top: 16svh !important; z-index: 3; }
  .v10-route-stack.has-open-route .v10-route-card + .v10-route-card {
    margin-top: 18px;
  }
  .v10-route-stack.has-open-route .v10-route-card,
  .v10-route-stack.has-open-route .v10-route-card:nth-child(2),
  .v10-route-stack.has-open-route .v10-route-card:nth-child(3) {
    position: relative !important;
    top: auto !important;
    min-height: 480px;
  }
}

@media (min-width: 720px) and (max-width: 900px) {
  .v10-route-card {
    width: min(100%, 680px);
    margin-inline: auto;
  }
  .v10-route-card + .v10-route-card {
    margin-top: 13svh;
  }
  .v10-restraint-grid {
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1fr);
    gap: 38px 48px;
  }
  .v10-restraint-number { grid-column: 1 / -1; }
  .v10-restraint h2 { grid-column: 1; }
  .v10-restraint-copy {
    grid-column: 2;
    max-width: none;
  }
}

/* HOME route-card light contract: one quiet highlight at the upper left.
   Keep the slight lift and the gold top trace; remove the lower-right bloom. */
.home-v10-page .v10-route-card::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: none !important;
  transition: none !important;
}

@media (hover: hover) {
  .home-v10-page .v10-route-card:hover {
    border-color: rgba(237,232,223,.14) !important;
    box-shadow:
      0 34px 72px -46px rgba(4,7,11,.94),
      0 14px 24px -22px rgba(4,7,11,.88),
      inset 0 2px 2px rgba(255,255,255,.10),
      inset 0 -16px 28px rgba(0,0,0,.18) !important;
  }
  .home-v10-page .v10-route-card:hover::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    transform: none !important;
  }
}

@media (hover: hover) and (max-width: 900px) {
  .home-v10-page .v10-route-stack:not(.is-measuring):not(.is-group-exiting) .v10-route-card:hover {
    transform: translate3d(0, -3px, 6px) rotateX(.35deg) scale(1.001) !important;
  }
}

@media (max-width: 900px) {
  .home-v10-page .v10-route-stack:not(.is-measuring):not(.is-group-exiting) .v10-route-card:focus-within {
    transform: translate3d(0, -3px, 6px) rotateX(.35deg) scale(1.001) !important;
  }

  .home-v10-page .v10-route-stack:not(.is-measuring):not(.is-group-exiting) .v10-route-card:focus-within::before {
    width: calc(100% - clamp(48px, 7vw, 96px)) !important;
    opacity: 1 !important;
  }

  .home-v10-page .v10-route-stack:not(.is-measuring):not(.is-group-exiting) .v10-route-card:active {
    transform: translate3d(0, -2px, 4px) scale(1.001) !important;
    transition-duration: .2s !important;
  }
}

/* Assessment proportions: more room inside each ruled row and quieter titles
   on iPad and desktop. The phone proportions remain unchanged. */
@media (min-width: 601px) {
  .v10-assessment-ledger summary {
    min-height: 144px;
  }
  .v10-assessment-ledger summary > strong {
    font-size: clamp(33px, 3vw, 44px);
  }
}

/* Half a centimetre of additional breathing room in the iPad composition. */
@media (min-width: 601px) and (max-width: 900px) {
  .v10-assessment-grid {
    padding-left: 19px;
  }
}

/* HOME uses a true colophon: quiet brand, five routes and legal links only. */
.home-v10-page .odv2-footer {
  --odv2f-body: #87929e;
  --odv2f-muted: #707b87;
  --odv2f-gold: rgba(201,183,154,.58);
  --odv2f-line: rgba(237,232,223,.075);
  background:
    radial-gradient(ellipse 70% 90% at 12% 24%, rgba(21,54,48,.07), transparent 66%),
    linear-gradient(115deg, #04080b 0%, #05090e 48%, #071019 100%);
  border-top-color: rgba(201,183,154,.11);
}
.home-v10-page .odv2-footer__ghost { opacity: .1; }
.home-v10-page .odv2-footer__inner {
  padding-top: clamp(30px, 3vw, 42px);
  padding-bottom: 14px;
}
.home-v10-page .odv2-footer__stage {
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(42px, 7vw, 94px);
  align-items: start;
}
.home-v10-page .odv2-footer__brand {
  display: block;
  max-width: none;
  padding: 0;
}
.home-v10-page .odv2-footer__logo {
  --odn-h: 24px;
  min-height: 44px;
  margin: 0;
  opacity: .68;
}
.home-v10-page .odv2-footer__routes { display: block; }
.home-v10-page .odv2-footer__group {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0 18px;
}
.home-v10-page .odv2-footer__group-title {
  grid-column: 1 / -1;
  margin-bottom: 5px;
  color: var(--odv2f-gold);
}
.home-v10-page .odv2-footer .odv2-footer__link {
  min-height: 44px;
  color: rgba(184,195,207,.62);
  border-color: var(--odv2f-line);
  font-size: 9.5px;
}
.home-v10-page .odv2-footer .odv2-footer__link::after {
  color: rgba(201,183,154,.48);
}
.home-v10-page .odv2-footer__legal {
  margin-top: 18px;
  padding-top: 9px;
  color: rgba(135,149,165,.7);
  border-top: 1px solid var(--odv2f-line);
}
.home-v10-page .odv2-footer .odv2-footer__legal-links a {
  color: rgba(156,169,184,.68);
}

@media (min-width: 601px) and (max-width: 900px) {
  .home-v10-page .odv2-footer__group {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .home-v10-page .odv2-footer__inner { padding: 22px 20px 10px; }
  .home-v10-page .odv2-footer__stage { display: block; }
  .home-v10-page .odv2-footer__logo {
    --odn-h: 21px;
    margin-bottom: 10px;
    opacity: .62;
  }
  .home-v10-page .odv2-footer__routes { margin-top: 4px; }
  .home-v10-page .odv2-footer__group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
  }
  .home-v10-page .odv2-footer .odv2-footer__link {
    font-size: 9px;
    letter-spacing: .045em;
  }
  .home-v10-page .odv2-footer__legal {
    grid-template-columns: 1fr;
    gap: 2px;
    margin-top: 13px;
    padding-top: 8px;
    font-size: 8.5px;
  }
  .home-v10-page .odv2-footer__legal-links {
    justify-content: flex-start;
    gap: 0 12px;
  }
  .home-v10-page .odv2-footer__ghost { opacity: .055; }
}

/* Clinical-route scale: keep the existing overlap, colour and depth while
   giving each viewport a calmer physical footprint. */
@media (min-width: 901px) {
  .home-v10-page .v10-route-card {
    width: 85%;
    min-height: min(51.85vh, 476px);
    margin-inline: auto;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .home-v10-page .v10-route-card {
    min-height: min(54.4svh, 476px);
  }

  .home-v10-page .v10-route-stack.has-open-route .v10-route-card {
    min-height: 408px;
  }
}

@media (min-width: 720px) and (max-width: 900px) {
  .home-v10-page .v10-route-card {
    width: min(85%, 578px);
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .home-v10-page .v10-route-card,
  .home-v10-page .v10-route-card:nth-child(2),
  .home-v10-page .v10-route-card:nth-child(3) {
    min-height: min(calc(64svh - 19px), 511px);
  }

  .home-v10-page .v10-route-stack.has-open-route .v10-route-card {
    min-height: 431px;
  }
}

/* 2026-08-30: remove only the moving full-screen light. Keep the approved
   static wallpaper and welcome field intact. */
.home-v10-page .v10-hero-light {
  display:none!important;
}
