    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       DESIGN TOKENS — brand palette + typography (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    :root {
      --ivory:      #F8F5F0;
      --warm-white: #FDFBF8;
      --stone:      #E8E2D9;
      --taupe:      #B8AD9E;
      --charcoal:   #2C2825;
      --deep:       #1A1614;
      --gold:       #9A8060;
      --gold-lt:    #C4A97D;
      --muted:      #6B6460;

      --f-display: 'Cormorant Garamond', Georgia, serif;
      --f-body:    'DM Sans', system-ui, sans-serif;

      --nav-h: 72px;
      --sp-section:    clamp(6rem,  9vw, 10rem);
      --sp-section-xl: clamp(8rem, 12vw, 11rem);

      /* Layout shell tokens — centralised so ALL layout changes are one-line edits */
      --max-w-content: 1100px;                          /* max-w-6xl equiv            */
      --max-w-prose:   56rem;                           /* max-w-4xl — text-heavy pages */
      --sp-inline:     clamp(1.5rem, 5vw, 4.5rem);      /* horizontal page gutter     */
      --sp-page-top:   clamp(8rem, 10vw, 10rem);        /* pt-32 → pt-40              */
      --sp-inner:      clamp(5rem, 7vw, 7rem);          /* py-20 → py-28 (in-page)    */
      scroll-padding-top: var(--nav-h);
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       RESET
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       LOGO WATERMARK — fixed, viewport-centered background mark
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

       Why html gets the background:
         body::before { z-index: -1 } sits BEHIND body's own
         background paint. If body keeps its background colour,
         the pseudo-element is invisible. Moving the colour to
         html lets body be transparent so the watermark shows
         through — the visual result is pixel-identical.

       Safety guarantees:
         ✓ pointer-events: none   — clicks & text selection
                                     pass through unaffected
         ✓ z-index: -1            — strictly below every real
                                     page element
         ✓ opacity: 0.03 / 0.05   — barely perceptible, light
                                     and dark theme respectively
         ✓ position: fixed        — anchored to the viewport,
                                     so the mark stays perfectly
                                     centered at all times, even
                                     while the page scrolls
         ✓ top/left 50% + translate(-50%,-50%) — true dead-center
                                     on every screen size
         ✓ touch-action: none     — no touch interference
    ───────────────────────────────────────────────────────────────── */

    /* Step 1 — Move page background from body → html.
       body becomes transparent so body::before is visible.
       Zero visual change. */
    html {
      background: var(--warm-white);
    }

    /* html is a PARENT of body — CSS custom properties redefined on
       body.dark-theme do not cascade upward, so <html> would stay
       light-cream while <body> goes dark. html.dark-theme (toggled
       alongside body.dark-theme in script.js) fixes the page-edge
       and watermark-area mismatch in Migraine Mode. */
    html.dark-theme {
      background: #1a1a1a;  /* warm, low-glare matte — replaces near-pitch-black */
    }
    /* Gentle, non-jarring shift between light and dark themes —
       no sudden flash when Migraine Mode is toggled. */
    html, body {
      transition: background-color 0.45s ease, color 0.45s ease, background 0.45s ease;
    }
    body {
      background:              transparent; /* colour lives on html now */
      position:                relative;    /* stacking context for ::before */
      color:                   var(--charcoal);
      font-family:             var(--f-body);
      font-weight:             300;
      line-height:             1.7;
      -webkit-font-smoothing:  antialiased;
      text-rendering:          optimizeLegibility;
    }

    /* Step 2 — Watermark pseudo-element
       Single logo mark, fixed to the viewport center — stays
       perfectly centered on screen at all times, including
       while scrolling. */
    body::before {
      content:               '';
      position:              fixed;          /* anchors to viewport, not document */
      top:                   50%;
      left:                  50%;
      transform:             translate(-50%, -50%);
      width:                 clamp(220px, 38vmin, 480px);
      height:                clamp(220px, 38vmin, 480px);
      z-index:               -1;         /* behind every real element */
      pointer-events:        none;       /* clicks pass straight through */
      touch-action:          none;       /* touch events pass through */
      background-image:      url('logo.png');
      background-size:       contain;
      background-repeat:     no-repeat;
      background-position:   center;
      opacity:               0.03;       /* barely perceptible — light mode */
      transition:            opacity 0.45s ease;
    }
    /* Slightly higher opacity against the darker Migraine Mode
       background keeps the mark equally subtle either way. */
    body.dark-theme::before {
      opacity: 0.05;
    }
    a  { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    .sr-only {
      position: absolute; width: 1px; height: 1px;
      padding: 0; margin: -1px; overflow: hidden;
      clip: rect(0,0,0,0); white-space: nowrap; border: 0;
    }

    /* Skip-to-content: visible on focus for keyboard / screen-reader users */
    .skip-link {
      position: absolute;
      inset-block-start: 0.75rem; inset-inline-start: 0.75rem;
      z-index: 200;
      padding: 0.65rem 1.4rem;
      background: var(--charcoal);
      color: var(--ivory);
      font-size: 0.72rem; font-weight: 400;
      letter-spacing: 0.14em; text-transform: uppercase;
      opacity: 0; pointer-events: none;
      transform: translateY(-4px);
      transition: opacity 0.2s, transform 0.2s;
    }
    .skip-link:focus {
      opacity: 1; pointer-events: auto;
      transform: none;
      outline: 2px solid var(--gold);
      outline-offset: 2px;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       LAYOUT SHELL CONTRACT
       ─────────────────────────────────────────────
       The global shell renders ONCE and is NEVER
       reproduced inside individual page views.

       <header>              → nav (1 instance, always visible)
       <main id="js-outlet"> → page outlet (router swaps content)
         <div class="page">  → individual page views (content only)
       <footer>              → footer (1 instance, always visible)

       Rules enforced here (checked by audit script):
       • No page div may contain <header>, <footer>, or <nav>
       • No page div may contain class="footer__*" or "nav__*"
       • All page content uses var(--sp-inline) for horizontal gutter
       • All inner pages use var(--sp-page-top) for top clearance
       • All content containers use var(--max-w-content) for max-width
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #js-outlet {
      /* Outlet fills the space between fixed nav and footer */
      min-height: calc(100svh - var(--nav-h));
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       PAGE ROUTER — view switching
       .page elements are hidden by default.
       The JS router adds .page--active to the current view.
       Transition: clean fade between pages.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .page {
      display: none;
      opacity: 0;
      animation: none;
    }
    .page--active {
      display: block;
      opacity: 1;
      animation: pageIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }
    @keyframes pageIn {
      from { opacity: 0; transform: translateY(10px); }
      to   { opacity: 1; transform: translateY(0);    }
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       NAVIGATION (unchanged styles)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .nav {
      position: fixed;
      inset-block-start: 0; inset-inline: 0;
      z-index: 100;
      height: var(--nav-h);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-inline: var(--sp-inline);
      background: rgba(253,251,248,0.94);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid transparent;
      transition: border-color 0.35s ease, box-shadow 0.35s ease;
      overflow: visible;
    }
    .nav.is-scrolled {
      border-color: var(--stone);
      box-shadow: 0 2px 32px rgba(26,22,20,0.05);
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       NAV LOGO & BRAND  (complete replacement)
       Fixes: large black blob caused by unstyled
       <svg class="nav__logo-svg"> rendering at 300px
       with default fill:black on every page.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* Brand link wrapper — left-side of nav */
    .nav__brand {
      display:         flex;
      align-items:     center;
      gap:             0.75rem;
      flex-shrink:     0;
      text-decoration: none;
      cursor:          pointer;
      outline:         none;
    }
    .nav__brand:focus-visible {
      outline:        2px solid var(--gold);
      outline-offset: 3px;
      border-radius:  2px;
    }

    /* ── Official logo <img> ─────────────────────────────────
       logo.png — transparent background PNG,  760×760 px.
       Constrained to nav height so it can never distort layout.
    ─────────────────────────────────────────────────────────── */
    /* ── Official logo class — used in header, footer, and
       internal pages. The new artwork (gold tree/face mark +
       navy underline on transparent bg) displays in its natural
       shape — no circular clipping or border-radius. height +
       width:auto + object-fit:contain lock proportions and the
       nav bar's vertical footprint. */
    .site-logo,
    .nav__logo-img {
      height:      45px;    /* explicit — matches nav vertical alignment */
      width:       auto;
      max-height:  52px;    /* hard cap — cannot exceed nav bar */
      object-fit:  contain;
      display:     block;
      flex-shrink: 0;
      opacity:     1;       /* defensive — guarantees visibility in default theme */
      visibility:  visible; /* defensive */
      transition:  opacity 0.25s ease;
    }
    @media (max-width: 600px) {
      .site-logo,
      .nav__logo-img { height: 40px; max-height: 46px; }
    }

    .nav__brand:hover .nav__logo-img {
      opacity: 0.82;
    }

    /* Brand text — "Monti Institute" beside the mark */
    .nav__brand-text {
      font-family:    var(--f-display, 'Cormorant Garamond', serif);
      font-size:      0.8rem;
      font-weight:    400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color:          var(--deep);
      line-height:    1;
      white-space:    nowrap;
      transition:     color 0.25s ease;
    }

    .nav__brand:hover .nav__brand-text {
      color: var(--gold);
    }

    /* Keep legacy .nav__logo / .nav__mark selectors harmless */
    .nav__logo { display: flex; align-items: center;
                 gap: 0.75rem; flex-shrink: 0; }
    .nav__mark { height: 44px; width: auto; flex-shrink: 0; display: block; }
    .nav__mark img { height: 100%; width: auto; object-fit: contain; }

    /* Dark-theme overrides */
    /* logo.png is colour-independent — dark theme uses opacity only */
    body.dark-theme .nav__brand-text { color: rgba(220,215,205,0.82); }
    body.dark-theme .nav__logo-img { opacity: 0.72; }
    body.dark-theme .nav__brand:hover .nav__logo-img { opacity: 0.9; }
    body.dark-theme .nav__brand:hover .nav__brand-text { color: var(--gold-lt, #C4A97D); }
    .nav__wordmark {
      font-family: var(--f-display); font-size: 0.76rem; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase; color: var(--deep);
    }
    .nav__list {
      display: flex; align-items: center;
      gap: clamp(1.25rem, 2.5vw, 2.75rem);
    }
    .nav__list a {
      font-size: 0.7rem; font-weight: 400;
      letter-spacing: 0.15em; text-transform: uppercase;
      color: var(--muted);
      position: relative; padding-bottom: 3px;
      transition: color 0.25s;
      /* No href — routing handled by data-route + JS */
      cursor: pointer;
    }
    .nav__list a::after {
      content: '';
      position: absolute; inset-block-end: 0; inset-inline-start: 0;
      width: 0; height: 1px; background: var(--gold);
      transition: width 0.3s ease;
    }
    .nav__list a:hover { color: var(--charcoal); }
    .nav__list a:hover::after { width: 100%; }
    /* Active route state — set by JS router */
    .nav__list a.is-active { color: var(--charcoal); }
    .nav__list a.is-active::after { width: 100%; }

    .nav__toggle {
      display: none; flex-direction: column; justify-content: center;
      gap: 5px; background: none; border: none; cursor: pointer; padding: 6px;
    }
    .nav__toggle i {
      display: block; width: 20px; height: 1px; background: var(--charcoal);
      transition: transform 0.3s, opacity 0.3s; transform-origin: center;
    }
    .nav__toggle[aria-expanded="true"] i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .nav__toggle[aria-expanded="true"] i:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .nav__toggle[aria-expanded="true"] i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       HERO (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .hero {
      min-height: 100svh; display: flex; flex-direction: column;
      align-items: center; justify-content: center; text-align: center;
      padding-block-start: calc(var(--nav-h) + var(--sp-section-xl));
      padding-block-end: var(--sp-section-xl);
      padding-inline: clamp(1.5rem, 6vw, 5rem);
      position: relative; overflow: hidden;
    }
    .hero::before {
      content: ''; position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 80% 55% at 50% -5%,  rgba(154,128,96,0.055) 0%, transparent 65%),
        radial-gradient(ellipse 45% 35% at 85%  85%, rgba(184,173,158,0.07)  0%, transparent 60%);
      pointer-events: none;
    }
    .hero > * { position: relative; }
    .hero__eyebrow, .hero__title, .hero__tagline, .hero__cta, .hero__scroll {
      opacity: 0; transform: translateY(16px);
      animation: heroIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }
    .hero__eyebrow  { animation-delay: 0.15s; }
    .hero__title    { animation-delay: 0.32s; }
    .hero__tagline  { animation-delay: 0.50s; }
    .hero__sub {
      font-size: clamp(0.75rem, 1.05vw, 0.85rem);
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.04em;
      line-height: 1.9;
      max-width: 50ch;
      margin-block-start: 0.75rem;
    }
    .hero__cta      { animation-delay: 0.65s; }
    .hero__scroll   { animation-delay: 0.80s; }
    @keyframes heroIn { to { opacity: 1; transform: none; } }

    .hero__eyebrow {
      display: flex; align-items: center; gap: 1rem;
      margin-block-end: clamp(1.75rem, 3vw, 2.75rem);
    }
    .hero__eyebrow-rule { width: 36px; height: 1px; background: var(--gold); opacity: 0.5; }
    .hero__eyebrow-text {
      font-size: 0.63rem; font-weight: 400;
      letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold);
    }
    .hero__title {
      font-family: var(--f-display);
      font-size: clamp(2.8rem, 7vw, 6.2rem);
      font-weight: 300; line-height: 1.07; letter-spacing: -0.01em;
      color: var(--deep); max-width: 860px;
      margin-block-end: clamp(1.5rem, 2.5vw, 2.25rem);
    }
    .hero__title em { font-style: italic; color: var(--gold); }
    .hero__tagline {
      font-size: clamp(0.88rem, 1.3vw, 1.05rem); font-weight: 300;
      letter-spacing: 0.05em; color: var(--muted); max-width: 46ch;
      line-height: 1.88; margin-block-end: clamp(3rem, 5vw, 4.5rem);
    }
    .hero__cta { margin-block-end: clamp(4rem, 7vw, 6rem); }
    .hero__scroll {
      position: absolute; inset-block-end: 2.25rem; inset-inline-start: 50%;
      transform: translateX(-50%); display: flex; flex-direction: column;
      align-items: center; gap: 0.4rem; opacity: 0.32;
    }
    .hero__scroll-label {
      font-size: 0.57rem; letter-spacing: 0.25em;
      text-transform: uppercase; color: var(--muted);
    }
    .hero__scroll-track {
      width: 1px; height: 44px; background: var(--stone);
      position: relative; overflow: hidden;
    }
    .hero__scroll-track::after {
      content: ''; position: absolute; inset-inline-start: 0;
      width: 1px; height: 50%; background: var(--gold);
      animation: trackSlide 1.85s ease-in-out infinite;
    }
    @keyframes trackSlide { 0% { top: -50%; } 100% { top: 150%; } }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       BUTTONS (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .btn {
      display: inline-flex; align-items: center; gap: 0.65rem;
      font-family: var(--f-body); font-size: 0.68rem; font-weight: 400;
      letter-spacing: 0.18em; text-transform: uppercase;
      padding: 1rem 2.4rem; border: none; background: none;
      cursor: pointer; transition: all 0.28s ease;
    }
    .btn--primary { background: var(--charcoal); color: var(--ivory); }
    .btn--primary:hover { background: var(--deep); letter-spacing: 0.22em; }
    .btn--ghost { border: 1px solid var(--taupe); color: var(--muted); }
    .btn--ghost:hover { border-color: var(--gold); color: var(--charcoal); }
    .btn svg {
      width: 13px; height: 13px; stroke: currentColor;
      stroke-width: 1.5; fill: none; transition: transform 0.25s;
    }
    .btn:hover svg { transform: translateX(3px); }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       SHARED SECTION ANATOMY (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .section {
      padding-block: var(--sp-section);
      padding-inline: var(--sp-inline);
    }
    .section--xl   { padding-block: var(--sp-section-xl); }
    .section--dark { background: var(--charcoal); }
    .section--tint { background: var(--ivory); }
    .section__inner { max-width: var(--max-w-content); margin-inline: auto; }
    .section__label {
      display: block; font-size: 0.6rem; font-weight: 400;
      letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--gold); margin-block-end: 1.25rem;
    }
    .section__heading {
      font-family: var(--f-display);
      font-size: clamp(2rem, 3.5vw, 3.2rem);
      font-weight: 300; line-height: 1.12; color: var(--deep);
    }
    .section--dark .section__heading { color: var(--ivory); }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       DISCIPLINES (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .disciplines { border-top: 1px solid var(--stone); }
    .disciplines__header { text-align: center; margin-block-end: clamp(3.5rem, 6vw, 5.5rem); }
    .disciplines__grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: clamp(1.5rem, 3vw, 3rem);
    }
    .card {
      border: 1px solid var(--stone);
      padding: clamp(2.75rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3.75rem);
      display: flex; flex-direction: column; gap: 1.5rem;
      background: var(--warm-white);
      position: relative; overflow: hidden;
      transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s;
      cursor: pointer;
    }
    .card::before {
      content: ''; position: absolute; inset-block: 0; inset-inline-start: 0;
      width: 2px; background: var(--gold);
      transform: scaleY(0); transform-origin: bottom; transition: transform 0.4s ease;
    }
    .card:hover {
      border-color: rgba(184,173,158,0.7);
      box-shadow: 0 12px 56px rgba(26,22,20,0.055);
      transform: translateY(-4px);
    }
    .card:hover::before { transform: scaleY(1); }
    .card__index {
      font-family: var(--f-display); font-size: 0.68rem;
      letter-spacing: 0.22em; color: var(--taupe);
    }
    .card__title {
      font-family: var(--f-display);
      font-size: clamp(1.75rem, 3vw, 2.6rem);
      font-weight: 400; line-height: 1.12; letter-spacing: -0.01em; color: var(--deep);
    }
    .card__copy {
      font-size: 0.875rem; font-weight: 300;
      color: var(--muted); line-height: 1.88; max-width: 38ch;
    }
    .card__cta {
      display: inline-flex; align-items: center; gap: 0.6rem;
      font-size: 0.67rem; font-weight: 400; letter-spacing: 0.18em;
      font-family: var(--f-body);
      text-transform: uppercase; color: var(--gold);
      margin-block-start: auto; padding-block-start: 0.5rem;
      background: none; border: none; padding-inline: 0;
      cursor: pointer; transition: gap 0.25s, color 0.25s;
    }
    .card__cta:hover { gap: 0.95rem; color: var(--charcoal); }
    .card__cta svg {
      width: 13px; height: 13px; stroke: currentColor; stroke-width: 1.5;
      fill: none; flex-shrink: 0; transition: transform 0.25s;
    }
    .card__cta:hover svg { transform: translateX(3px); }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       PHILOSOPHY (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .philosophy__inner {
      max-width: 780px; margin-inline: auto; text-align: center;
      display: flex; flex-direction: column; align-items: center; gap: 2.25rem;
    }
    .philosophy__quote {
      font-family: var(--f-display);
      font-size: clamp(1.55rem, 3.2vw, 2.8rem);
      font-weight: 300; font-style: italic;
      color: var(--ivory); line-height: 1.42;
    }
    .philosophy__source {
      font-size: 0.68rem; letter-spacing: 0.2em;
      text-transform: uppercase; color: rgba(184,173,158,0.45);
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       CARE PROGRAMS (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .programs__top {
      display: flex; align-items: flex-end;
      justify-content: space-between; gap: 2rem; flex-wrap: wrap;
      margin-block-end: clamp(3rem, 5vw, 5rem);
    }
    .programs__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
    .program {
      padding-block: clamp(2rem, 3.5vw, 2.75rem); padding-inline-end: 2rem;
      border-top: 1px solid var(--stone); transition: border-color 0.3s;
    }
    .program:hover { border-color: var(--gold); }
    .program__name {
      font-family: var(--f-display); font-size: 1.15rem; font-weight: 400;
      color: var(--deep); margin-block-end: 0.65rem;
    }
    .program__desc {
      font-size: 0.83rem; font-weight: 300; color: var(--muted); line-height: 1.8;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       INNER PAGE — shared layout for sub-pages
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .inner-page {
      padding-block-start: calc(var(--nav-h) + var(--sp-page-top));
      padding-block-end: var(--sp-section);
      padding-inline: var(--sp-inline);
      min-height: 100svh;
    }
    .inner-page__inner { max-width: var(--max-w-content); margin-inline: auto; }

    /* Prose variant — text-heavy pages (About, Contact) use narrower measure */
    .inner-page--prose .inner-page__inner {
      max-width: var(--max-w-prose);
    }


    .inner-page__eyebrow {
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.3em;
      text-transform: uppercase; color: var(--gold); display: block;
      margin-block-end: 1.25rem;
    }
    .inner-page__title {
      font-family: var(--f-display);
      font-size: clamp(2.4rem, 5.5vw, 5rem);
      font-weight: 300; line-height: 1.07; letter-spacing: -0.01em;
      color: var(--deep); max-width: 700px;
      margin-block-end: clamp(1.5rem, 2.5vw, 2rem);
    }
    .inner-page__title em { font-style: italic; color: var(--gold); }
    .inner-page__lead {
      font-size: clamp(0.92rem, 1.4vw, 1.08rem); font-weight: 300;
      color: var(--muted); max-width: 52ch; line-height: 1.88;
      margin-block-end: clamp(3rem, 5vw, 4rem);
    }
    .inner-page__rule {
      width: 48px; height: 1px; background: var(--gold);
      opacity: 0.45; margin-block-end: clamp(3rem, 5vw, 4.5rem);
    }

    /* Content columns on sub-pages */
    .inner-page__cols {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: clamp(2rem, 4vw, 5rem); margin-block-start: var(--sp-inner);
    }
    .inner-page__col-label {
      font-size: 0.6rem; font-weight: 400; letter-spacing: 0.28em;
      text-transform: uppercase; color: var(--taupe);
      display: block; margin-block-end: 1rem;
    }
    .inner-page__col-heading {
      font-family: var(--f-display); font-size: clamp(1.2rem, 2vw, 1.6rem);
      font-weight: 400; color: var(--deep); margin-block-end: 1rem;
    }
    .inner-page__col-body {
      font-size: 0.875rem; font-weight: 300;
      color: var(--muted); line-height: 1.9;
    }

    /* Service list items */
    .service-list {
      display: flex; flex-direction: column; gap: 0;
      margin-block-start: var(--sp-inner);
    }
    .service-item {
      display: flex; align-items: flex-start; gap: 2rem;
      padding-block: clamp(1.5rem, 2.5vw, 2rem);
      border-top: 1px solid var(--stone);
      transition: border-color 0.3s;
    }
    .service-item:hover { border-color: var(--gold); }
    .service-item__num {
      font-family: var(--f-display); font-size: 0.68rem;
      letter-spacing: 0.2em; color: var(--taupe);
      flex-shrink: 0; padding-block-start: 0.2rem; min-width: 2rem;
    }
    .service-item__body {}
    .service-item__name {
      font-family: var(--f-display); font-size: 1.15rem;
      font-weight: 400; color: var(--deep); margin-block-end: 0.4rem;
    }
    .service-item__desc {
      font-size: 0.83rem; font-weight: 300; color: var(--muted); line-height: 1.8;
    }

    /* Gift credits specific */
    .gift-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: clamp(2rem, 2.5vw, 2.5rem);
      margin-block-start: var(--sp-inner);
    }
    .gift-card {
      border: 1px solid var(--stone); padding: 2.5rem 2rem;
      display: flex; flex-direction: column; gap: 1rem;
      background: var(--warm-white);
      transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
    }
    .gift-card:hover {
      border-color: rgba(154,128,96,0.4);
      box-shadow: 0 8px 40px rgba(26,22,20,0.05);
      transform: translateY(-3px);
    }
    .gift-card__amount {
      font-family: var(--f-display); font-size: clamp(2rem, 3vw, 2.6rem);
      font-weight: 300; color: var(--gold);
    }
    .gift-card__label {
      font-size: 0.7rem; font-weight: 400;
      letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold);
    }
    .gift-card__desc {
      font-size: 0.83rem; font-weight: 300; color: var(--muted); line-height: 1.8;
    }
    .gift-card__cta {
      margin-block-start: auto;
      display: inline-flex; align-items: center; gap: 0.55rem;
      font-size: 0.67rem; font-weight: 400;
      font-family: var(--f-body);
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--gold); padding-block-start: 0.5rem;
      background: none; border: none; padding-inline: 0;
      text-decoration: none;
      cursor: pointer; transition: gap 0.25s, color 0.25s;
    }
    .gift-card__cta:hover { gap: 0.85rem; color: var(--charcoal); }

    /* Contact form area */
    .contact-form {
      display: flex; flex-direction: column; gap: 1.5rem;
      max-width: 560px; margin-block-start: var(--sp-inner);
    }
    .form-field { display: flex; flex-direction: column; gap: 0.5rem; }
    .form-label {
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.22em;
      text-transform: uppercase; color: var(--muted);
    }
    .form-input, .form-textarea {
      background: transparent; border: 1px solid var(--stone);
      padding: 0.9rem 1.2rem;
      font-family: var(--f-body); font-size: 0.88rem; font-weight: 300;
      color: var(--charcoal); outline: none;
      transition: border-color 0.25s;
      resize: none;
    }
    .form-input:focus, .form-textarea:focus { border-color: var(--gold); }
    .form-textarea { min-height: 120px; }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       FOOTER (unchanged)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .footer {
      background: var(--deep);
      padding-block-start: clamp(4rem, 7vw, 6.5rem);
      padding-block-end:   clamp(2rem, 4vw, 3.5rem);
      padding-inline: var(--sp-inline);
    }
    .footer__inner {
      max-width: var(--max-w-content); margin-inline: auto;
      display: grid; grid-template-columns: 1fr auto;
      gap: 3rem 5rem; align-items: start;
      margin-block-end: clamp(3rem, 5vw, 4rem);
    }
    .footer__brand {
      display: flex; align-items: center; gap: 0.75rem; margin-block-end: 1rem;
    }
    .footer__mark {
      height: 36px; width: auto;
      display: block; flex-shrink: 0;
    }
    .footer__mark img {
      height: 100%; width: auto;
      display: block; object-fit: contain;
    }
    .footer__name {
      font-family: var(--f-display); font-size: 0.76rem;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: rgba(248,245,240,0.7);
    }
    .footer__sub {
      font-size: 0.69rem; font-weight: 300; letter-spacing: 0.1em;
      color: rgba(248,245,240,0.28);
    }
    .footer__nav { display: flex; flex-direction: column; gap: 0.85rem; }
    .footer__nav a {
      font-size: 0.67rem; letter-spacing: 0.16em;
      text-transform: uppercase; color: rgba(248,245,240,0.32);
      cursor: pointer; transition: color 0.25s;
    }
    .footer__nav a:hover { color: var(--gold); }
    .footer__bottom {
      max-width: var(--max-w-content); margin-inline: auto;
      padding-block-start: 2rem;
      border-top: 1px solid rgba(248,245,240,0.07);
      display: flex; justify-content: space-between;
      align-items: center; gap: 1rem; flex-wrap: wrap;
    }
    .footer__copy {
      font-size: 0.63rem; letter-spacing: 0.1em; color: rgba(248,245,240,0.18);
    }
    .footer__legal { display: flex; gap: 2rem; }
    .footer__legal a {
      font-size: 0.63rem; letter-spacing: 0.1em;
      color: rgba(248,245,240,0.18); cursor: pointer; transition: color 0.25s;
    }
    .footer__legal a:hover { color: rgba(248,245,240,0.42); }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       SCROLL REVEALS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .reveal {
      opacity: 0; transform: translateY(22px);
      transition: opacity 0.75s ease, transform 0.75s ease;
    }
    .reveal.in-view { opacity: 1; transform: none; }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       RESPONSIVE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    @media (max-width: 860px) {
      .disciplines__grid  { grid-template-columns: 1fr; }
      .programs__grid     { grid-template-columns: 1fr; }
      .inner-page__cols   { grid-template-columns: 1fr; }
      .gift-grid          { grid-template-columns: 1fr 1fr; }
      .footer__inner      { grid-template-columns: 1fr; gap: 2.5rem; }
    }
    @media (max-width: 680px) {
      .nav__list { display: none; }
      .nav__list.is-open {
        display: flex; flex-direction: column;
        position: absolute; inset-block-start: var(--nav-h); inset-inline: 0;
        background: rgba(253,251,248,0.97); backdrop-filter: blur(14px);
        padding: 1.75rem var(--sp-inline) 2.25rem;
        border-bottom: 1px solid var(--stone); gap: 1.35rem;
        z-index: 150;
      }
      .nav__toggle { display: flex; }
    }
    @media (max-width: 540px) {
      .gift-grid  { grid-template-columns: 1fr; }
    }
    @media (max-width: 480px) {
      .footer__bottom { flex-direction: column; align-items: flex-start; }
      .programs__top  { flex-direction: column; align-items: flex-start; }
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       EDITORIAL IMAGERY SYSTEM
       ─────────────────────────────────────────────
       All visual compositions are CSS-native.
       Sections marked [PHOTO-READY] accept real
       <img> elements in production — just swap the
       gradient div for an <img class="[x]__photo">.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* ── SPLIT-PANEL DISCIPLINES (reference layout) ── */
    .disciplines-split {
      display: grid;
      grid-template-columns: 1fr 1px 1fr;
      min-height: clamp(540px, 72vh, 800px);
      border-top: 1px solid var(--stone);
      /* Remove default section padding — panels handle their own */
      padding: 0;
    }

    /* Shared panel base */
    .disc-panel {
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      cursor: pointer;
      user-select: none;
      padding: clamp(4rem, 7vw, 7rem) clamp(2.5rem, 5vw, 5.5rem);
    }

    /* Left panel — dark, physician-science tone */
    .disc-panel--neuro {
      background: var(--deep);
    }

    /* Right panel — ivory, warm aesthetic tone */
    .disc-panel--aesthetic {
      background: var(--ivory);
    }

    /* ── NEURAL BACKGROUND — Left panel ──
       SVG neuron illustration as atmospheric texture.
       [PHOTO-READY]: replace .disc-neural div with
       <img class="disc-neural" src="neural-bg.jpg" alt="">
    ── */
    .disc-neural {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
    }
    .disc-neural svg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0.28;
      /* Shift SVG so soma sits at left-center area */
      transform: translate(-8%, 0) scale(1.1);
    }

    /* Radial glow at soma position */
    .disc-neural::after {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 45% 45% at 38% 52%, rgba(154,128,96,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 70% 80% at 15% 30%,  rgba(26,22,20,0.6) 0%, transparent 70%);
      pointer-events: none;
    }

    /* ── PORTRAIT COMPOSITION — Right panel ──
       Warm CSS portrait composition.
       [PHOTO-READY]: replace .disc-portrait-img div with
       <img class="disc-portrait-img" src="portrait.jpg" alt="...">
       and style: width:100%; height:100%; object-fit:cover
    ── */
    .disc-portrait-wrap {
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 52%;
      overflow: hidden;
      pointer-events: none;
    }

    /* CSS portrait composition — warm organic tones */
    .disc-portrait-img {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 50% 68% at 62% 38%,
          rgba(196,168,138,0.9) 0%,
          rgba(172,143,112,0.7) 30%,
          rgba(145,118,90,0.4)  60%,
          transparent 80%),
        radial-gradient(ellipse 75% 90% at 58% 55%,
          rgba(226,210,188,0.55) 0%,
          rgba(205,185,160,0.4)  40%,
          transparent 75%),
        linear-gradient(170deg,
          rgba(242,232,215,0.6)  0%,
          rgba(215,193,165,0.65) 45%,
          rgba(178,152,122,0.5)  75%,
          rgba(150,125,95,0.3)   100%);
    }

    /* Soft oval highlight — suggests portrait lighting */
    .disc-portrait-img::before {
      content: '';
      position: absolute;
      width: 55%;
      height: 70%;
      top: 10%;
      left: 15%;
      border-radius: 50%;
      background: radial-gradient(ellipse at 40% 35%,
        rgba(252,244,232,0.45) 0%,
        transparent 65%);
    }

    /* Fade portrait into text area */
    .disc-portrait-wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, var(--ivory) 0%, rgba(248,245,240,0.5) 25%, transparent 52%);
      z-index: 2;
      pointer-events: none;
    }

    /* Gold oval frame element — editorial accent */
    .disc-portrait-frame {
      position: absolute;
      width: clamp(180px, 28vw, 310px);
      height: clamp(240px, 38vw, 410px);
      border: 1px solid rgba(154,128,96,0.28);
      border-radius: 50%;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) translate(8%, -3%);
      z-index: 3;
    }
    .disc-portrait-frame::before {
      content: '';
      position: absolute;
      inset: 8px;
      border-radius: 50%;
      border: 1px solid rgba(154,128,96,0.12);
    }

    /* Panel text content */
    .disc-panel__content {
      position: relative;
      z-index: 4;
      max-width: 420px;
    }
    .disc-panel__index {
      font-family: var(--f-display);
      font-size: 0.62rem;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      margin-block-end: 1.5rem;
      display: block;
    }
    .disc-panel--neuro  .disc-panel__index { color: var(--gold-lt, #C4A97D); }
    .disc-panel--aesthetic .disc-panel__index { color: var(--gold); }

    .disc-panel__title {
      font-family: var(--f-display);
      font-size: clamp(2.4rem, 4.5vw, 4.8rem);
      font-weight: 300;
      line-height: 1.04;
      letter-spacing: 0.01em;
      margin-block-end: 1.5rem;
    }
    .disc-panel--neuro .disc-panel__title    { color: var(--ivory); }
    .disc-panel--aesthetic .disc-panel__title { color: var(--deep); }

    .disc-panel__rule {
      width: 44px;
      height: 1px;
      background: var(--gold);
      margin-block-end: 1.75rem;
      opacity: 0.85;
    }

    .disc-panel__copy {
      font-size: clamp(0.82rem, 1.1vw, 0.95rem);
      font-weight: 300;
      line-height: 1.9;
      max-width: 32ch;
      margin-block-end: 2.5rem;
    }
    .disc-panel--neuro .disc-panel__copy    { color: rgba(248,245,240,0.6); }
    .disc-panel--aesthetic .disc-panel__copy { color: var(--muted); }

    .disc-panel__btn {
      display: inline-flex;
      align-items: center;
      gap: 0.7rem;
      font-family: var(--f-body);
      font-size: 0.67rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      padding: 0.95rem 2.1rem;
      cursor: pointer;
      transition: all 0.28s ease;
      border: none;
    }
    .disc-panel--neuro .disc-panel__btn {
      background: transparent;
      color: var(--ivory);
      border: 1px solid rgba(248,245,240,0.28);
    }
    .disc-panel--neuro .disc-panel__btn:hover {
      background: var(--gold);
      border-color: var(--gold);
      color: var(--deep);
      gap: 1rem;
    }
    .disc-panel--aesthetic .disc-panel__btn {
      background: var(--charcoal);
      color: var(--ivory);
    }
    .disc-panel--aesthetic .disc-panel__btn:hover {
      background: var(--deep);
      letter-spacing: 0.24em;
    }
    .disc-panel__btn svg {
      width: 13px; height: 13px;
      stroke: currentColor; stroke-width: 1.5; fill: none;
      transition: transform 0.25s;
    }
    .disc-panel__btn:hover svg { transform: translateX(3px); }

    /* Vertical center divider with gold dot */
    .disc-divider {
      background: rgba(154,128,96,0.2);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 10;
    }
    .disc-divider__dot {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: var(--gold);
      box-shadow: 0 0 18px rgba(154,128,96,0.55), 0 0 6px rgba(154,128,96,0.4);
      flex-shrink: 0;
    }

    /* ── PHILOSOPHY SECTION — atmospheric pattern ── */
    .philosophy-bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
    }
    .philosophy-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 60% at 15% 50%,  rgba(154,128,96,0.07) 0%, transparent 65%),
        radial-gradient(ellipse 50% 50% at 85% 50%, rgba(154,128,96,0.05) 0%, transparent 60%);
    }
    /* Subtle horizontal rule pair */
    .philosophy-bg::after {
      content: '';
      position: absolute;
      inset-inline: 0;
      top: 50%;
      transform: translateY(-50%);
      height: 1px;
      background: linear-gradient(to right,
        transparent 0%,
        rgba(154,128,96,0.12) 15%,
        rgba(154,128,96,0.12) 85%,
        transparent 100%);
    }
    .section--dark { position: relative; }

    /* ── CARE PROGRAMS — texture background ── */
    .programs-texture {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse 80% 60% at 90% 20%,  rgba(184,173,158,0.18) 0%, transparent 55%),
        radial-gradient(ellipse 60% 80% at 5%  85%, rgba(184,173,158,0.12) 0%, transparent 55%);
    }
    .section--tint { position: relative; }

    /* ── NEUROLOGICAL PAGE — neural page atmosphere ── */
    .neuro-page-bg {
      position: fixed; /* fixed so it stays during scroll */
      inset: 0;
      pointer-events: none;
      z-index: 0;
      overflow: hidden;
    }
    .neuro-page-bg svg {
      position: absolute;
      right: -8%;
      top: 50%;
      transform: translateY(-50%);
      width: clamp(340px, 55vw, 680px);
      height: auto;
      opacity: 0.055;
    }
    /* Ensure content sits above */
    #page-neurological-medicine .inner-page { position: relative; z-index: 1; }

    /* ── AESTHETIC PAGE — warm editorial atmosphere ── */
    .aesthetic-page-bg {
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      overflow: hidden;
    }
    .aesthetic-page-bg::before {
      content: '';
      position: absolute;
      right: -5%;
      top: 5%;
      width: clamp(280px, 45vw, 560px);
      height: clamp(380px, 60vw, 760px);
      border-radius: 50%;
      border: 1px solid rgba(154,128,96,0.1);
      background: radial-gradient(ellipse at 45% 40%,
        rgba(196,168,138,0.07) 0%,
        rgba(172,143,112,0.04) 50%,
        transparent 75%);
    }
    .aesthetic-page-bg::after {
      content: '';
      position: absolute;
      right: 2%;
      top: 12%;
      width: clamp(240px, 38vw, 480px);
      height: clamp(320px, 50vw, 640px);
      border-radius: 50%;
      border: 1px solid rgba(154,128,96,0.07);
    }
    #page-aesthetic-medicine .inner-page { position: relative; z-index: 1; }

    /* ── ABOUT PAGE — architectural line element ── */
    .about-page-bg {
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      overflow: hidden;
    }
    .about-page-bg::before {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      width: clamp(200px, 35vw, 420px);
      height: clamp(200px, 35vw, 420px);
      border-top: 1px solid rgba(154,128,96,0.1);
      border-left: 1px solid rgba(154,128,96,0.1);
      border-top-left-radius: 100%;
    }
    .about-page-bg::after {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      width: clamp(280px, 48vw, 580px);
      height: clamp(280px, 48vw, 580px);
      border-top: 1px solid rgba(154,128,96,0.06);
      border-left: 1px solid rgba(154,128,96,0.06);
      border-top-left-radius: 100%;
    }
    #page-about .inner-page { position: relative; z-index: 1; }

    /* ── HERO ambient enhancement ── */
    .hero::after {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 35% 50% at 100% 50%, rgba(184,173,158,0.06) 0%, transparent 60%),
        radial-gradient(ellipse 25% 30% at  0%  0%,  rgba(154,128,96,0.04) 0%, transparent 55%);
      pointer-events: none;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 860px) {
      .disciplines-split {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr auto 1fr;
        min-height: auto;
      }
      .disc-panel { min-height: clamp(380px, 55vw, 520px); }
      .disc-divider {
        width: 100%;
        height: 1px;
        flex-direction: row;
      }
      .disc-portrait-wrap { width: 40%; }
      .disc-panel__title { font-size: clamp(2.2rem, 7vw, 3.2rem); }
    }
    @media (max-width: 540px) {
      .disc-portrait-wrap { display: none; }
      .disc-portrait-frame { display: none; }
      .disc-panel { padding: 3.5rem 2rem; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       CONTACT & SCHEDULING PAGE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* Remove prose constraint on contact — needs full width */
    #page-contact .inner-page { max-width: none; }
    #page-contact .inner-page__inner { max-width: var(--max-w-content); }

    /* ── PAGE HEADER ── */
    .contact-header { margin-block-end: clamp(3.5rem, 6vw, 5rem); }
    .contact-header__subtitle {
      font-size: clamp(0.88rem, 1.2vw, 1rem);
      font-weight: 300;
      color: var(--muted);
      letter-spacing: 0.06em;
      margin-block-start: 0.75rem;
      max-width: 52ch;
      line-height: 1.85;
    }

    /* ── MAIN TWO-COLUMN GRID ── */
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.45fr;
      gap: clamp(3rem, 5vw, 5.5rem);
      align-items: start;
      margin-block-end: clamp(4rem, 7vw, 7rem);
    }

    /* ── CONTACT INFO COLUMN ── */
    .contact-info { display: flex; flex-direction: column; gap: 2.5rem; }

    .contact-info__group {}
    .contact-info__group-title {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 1.1rem;
      display: block;
    }
    .contact-info__address {
      font-family: var(--f-display);
      font-size: 1.05rem;
      font-weight: 300;
      line-height: 1.75;
      color: var(--deep);
    }

    .contact-info__items { display: flex; flex-direction: column; gap: 0.55rem; }
    .contact-info__item {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }
    .contact-info__item-label {
      font-size: 0.58rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--taupe);
    }
    .contact-info__item-value {
      font-size: 0.85rem;
      font-weight: 300;
      color: var(--charcoal);
      letter-spacing: 0.03em;
    }
    .contact-info__item-value a {
      color: inherit;
      border-bottom: 1px solid transparent;
      transition: border-color 0.25s, color 0.25s;
    }
    .contact-info__item-value a:hover {
      color: var(--gold);
      border-color: rgba(154,128,96,0.4);
    }

    .contact-info__hours { display: flex; flex-direction: column; gap: 0.4rem; }
    .contact-info__hours-row {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      font-size: 0.82rem;
      font-weight: 300;
      color: var(--muted);
      padding-block: 0.4rem;
      border-bottom: 1px solid var(--stone);
    }
    .contact-info__hours-day { color: var(--charcoal); }

    /* QR section */
    .contact-qr {
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
      padding: 1.5rem;
      border: 1px solid var(--stone);
      background: var(--ivory);
    }
    .contact-qr__code {
      flex-shrink: 0;
      width: 140px;
      height: 140px;
      padding: 0.65rem;
      border-radius: 6px;
      background: #FFFFFF;
      border: 1px solid rgba(196,169,125,0.28);  /* champagne gold */
      box-shadow: 0 2px 10px rgba(20,18,16,0.04);
      overflow: hidden;
    }
    .contact-qr__code svg { width: 100%; height: 100%; }
    .contact-qr__text {
      padding-block-start: 0.15rem;
    }

    /* ── Shared QR code asset class ───────────────────────────
       Apply to any <img> displaying a QR code (contact page,
       business card overlay, future placements). Use
       src="images/new-qrcode.png" to drop in a new asset —
       sizing/cropping is controlled by the parent container. */
    .qr-code-display {
      display:          block;
      width:            100%;
      height:           100%;
      max-width:        100%;
      object-fit:       contain;
      object-position:  center;
      image-rendering:  -webkit-optimize-contrast;
      image-rendering:  crisp-edges;
    }
    .contact-qr__title {
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--charcoal);
      margin-block-end: 0.35rem;
    }
    .contact-qr__desc {
      font-size: 0.78rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.75;
    }

    /* Secure communication notice */
    .contact-notice {
      padding: 1.25rem 1.5rem;
      border-left: 2px solid rgba(154,128,96,0.35);
      background: rgba(248,245,240,0.6);
    }
    .contact-notice__title {
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 0.5rem;
    }
    .contact-notice__text {
      font-size: 0.77rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.8;
    }

    /* ── INQUIRY FORM ── */
    .contact-form-wrap { position: relative; }

    .contact-form-full {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    .form-field-wrap { display: flex; flex-direction: column; gap: 0.4rem; }
    .form-label {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .form-label .form-required {
      color: var(--gold);
      margin-inline-start: 2px;
    }
    .form-input, .form-textarea, .form-select {
      background: transparent;
      border: 1px solid var(--stone);
      padding: 0.85rem 1.1rem;
      font-family: var(--f-body);
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--charcoal);
      outline: none;
      transition: border-color 0.25s, box-shadow 0.25s;
      resize: none;
      width: 100%;
      -webkit-appearance: none;
      appearance: none;
    }
    .form-input:focus,
    .form-textarea:focus,
    .form-select:focus {
      border-color: var(--gold);
      box-shadow: 0 0 0 3px rgba(154,128,96,0.08);
    }
    .form-input.has-error,
    .form-textarea.has-error,
    .form-select.has-error {
      border-color: rgba(180,60,50,0.5);
    }
    .form-textarea { min-height: 110px; }
    .form-select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B6460' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 1.1rem center;
      padding-right: 2.5rem;
      cursor: pointer;
    }
    .form-error-msg {
      font-size: 0.67rem;
      letter-spacing: 0.08em;
      color: rgba(160,50,40,0.85);
      margin-block-start: 0.15rem;
      display: none;
    }
    .form-error-msg.visible { display: block; }

    /* Consent checkbox */
    .form-consent {
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
      padding-block-start: 0.5rem;
    }
    .form-consent__checkbox {
      flex-shrink: 0;
      width: 16px;
      height: 16px;
      border: 1px solid var(--taupe);
      background: transparent;
      cursor: pointer;
      margin-block-start: 2px;
      accent-color: var(--gold);
    }
    .form-consent__checkbox.has-error {
      border-color: rgba(180,60,50,0.5);
      outline: 2px solid rgba(180,60,50,0.2);
    }
    .form-consent__text {
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.75;
    }
    .form-consent__text a {
      color: var(--gold);
      border-bottom: 1px solid transparent;
      transition: border-color 0.2s;
    }
    .form-consent__text a:hover { border-color: rgba(154,128,96,0.5); }

    /* Form success state */
    .contact-form-success {
      display: none;
      flex-direction: column;
      align-items: flex-start;
      gap: 1.25rem;
      padding: 3rem 2.5rem;
      border: 1px solid var(--stone);
      background: var(--ivory);
      animation: pageIn 0.5s ease forwards;
    }
    .contact-form-success.visible { display: flex; }
    .contact-form-success__icon {
      width: 44px;
      height: 44px;
      border: 1px solid var(--gold);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .contact-form-success__icon svg {
      width: 18px;
      height: 18px;
      stroke: var(--gold);
      stroke-width: 1.5;
      fill: none;
    }
    .contact-form-success__title {
      font-family: var(--f-display);
      font-size: 1.6rem;
      font-weight: 300;
      color: var(--deep);
    }
    .contact-form-success__text {
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 42ch;
    }

    /* ── CONCIERGE SECTION ── */
    .concierge-section {
      padding-block: var(--sp-section);
      border-top: 1px solid var(--stone);
    }
    .concierge-section__header { margin-block-end: clamp(2.5rem, 4vw, 4rem); }

    .concierge-regions {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1px;
      background: var(--stone);
      border: 1px solid var(--stone);
      margin-block-end: clamp(2.5rem, 4vw, 4rem);
    }
    .concierge-region {
      background: var(--warm-white);
      padding: 2rem 2.25rem;
      transition: background 0.3s;
    }
    .concierge-region:hover { background: var(--ivory); }
    .concierge-region__name {
      font-family: var(--f-display);
      font-size: 1.05rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.5rem;
    }
    .concierge-region__desc {
      font-size: 0.8rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.8;
    }
    .concierge-region__tag {
      display: inline-block;
      font-size: 0.58rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid rgba(154,128,96,0.3);
      padding: 0.2rem 0.65rem;
      margin-block-start: 0.85rem;
    }

    /* Hotels grid */
    .concierge-sub-title {
      font-size: 0.6rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 1.25rem;
    }
    .concierge-hotels {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(1rem, 2vw, 1.5rem);
      margin-block-end: clamp(2.5rem, 4vw, 4rem);
    }
    .hotel-card {
      border: 1px solid var(--stone);
      padding: 1.5rem 1.75rem;
      transition: border-color 0.3s, transform 0.3s;
    }
    .hotel-card:hover {
      border-color: rgba(154,128,96,0.4);
      transform: translateY(-2px);
    }
    .hotel-card__name {
      font-family: var(--f-display);
      font-size: 1rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.35rem;
    }
    .hotel-card__meta {
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.7;
    }
    .hotel-card__dist {
      font-size: 0.62rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--taupe);
      margin-block-start: 0.5rem;
      display: block;
    }

    /* Airport block */
    .concierge-airport {
      display: flex;
      align-items: flex-start;
      gap: 2rem;
      padding: 1.75rem 2rem;
      border: 1px solid var(--stone);
      background: var(--ivory);
      margin-block-end: clamp(2.5rem, 4vw, 4rem);
    }
    .concierge-airport__icon {
      font-family: var(--f-display);
      font-size: 2rem;
      font-weight: 300;
      color: var(--gold);
      line-height: 1;
      flex-shrink: 0;
      margin-block-start: 0.15rem;
    }
    .concierge-airport__name {
      font-family: var(--f-display);
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.4rem;
    }
    .concierge-airport__info {
      font-size: 0.82rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.8;
    }

    /* Visit options */
    .concierge-visits {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(1rem, 2vw, 1.75rem);
    }
    .visit-card {
      border-top: 2px solid var(--stone);
      padding-block-start: 1.5rem;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      transition: border-color 0.3s;
    }
    .visit-card:hover { border-color: var(--gold); }
    .visit-card__num {
      font-family: var(--f-display);
      font-size: 0.65rem;
      letter-spacing: 0.25em;
      color: var(--taupe);
    }
    .visit-card__title {
      font-family: var(--f-display);
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--deep);
    }
    .visit-card__desc {
      font-size: 0.8rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.8;
    }
    .visit-card__tag {
      font-size: 0.6rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-start: auto;
    }

    /* ── HIPAA / LEGAL NOTICE ── */
    .hipaa-section {
      padding-block: clamp(2.5rem, 4vw, 3.5rem);
      border-top: 1px solid var(--stone);
      margin-block-start: clamp(2rem, 4vw, 3rem);
    }
    .hipaa-section__label {
      font-size: 0.58rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--taupe);
      display: block;
      margin-block-end: 1rem;
    }
    .hipaa-section__text {
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 88ch;
    }
    .hipaa-section__text + .hipaa-section__text {
      margin-block-start: 0.75rem;
    }

    /* ── CONTACT RESPONSIVE ── */
    @media (max-width: 860px) {
      .contact-grid     { grid-template-columns: 1fr; }
      .concierge-regions{ grid-template-columns: 1fr; }
      .concierge-hotels { grid-template-columns: 1fr; }
      .concierge-visits { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 540px) {
      .form-row       { grid-template-columns: 1fr; }
      .concierge-visits { grid-template-columns: 1fr; }
      .contact-qr     { flex-direction: column; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       MAP SECTION — Visit the Institute
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .map-section {
      padding-block: var(--sp-section);
      border-top: none;  /* dark bg provides its own separation */
    }

    .map-grid {
      display: grid;
      grid-template-columns: 1fr 1.55fr;
      gap: clamp(3rem, 6vw, 6rem);
      align-items: center;
    }

    /* ── Left: location info ── */
    .map-info {}
    .map-info__eyebrow {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 1.1rem;
    }
    .map-info__heading {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3vw, 2.8rem);
      font-weight: 300;
      line-height: 1.1;
      color: var(--deep);
      margin-block-end: 1.5rem;
    }
    .map-info__heading em {
      font-style: italic;
      color: var(--gold);
    }
    .map-info__desc {
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 38ch;
      margin-block-end: 2rem;
    }

    /* Address card with gold left accent */
    .map-address-card {
      border-left: 2px solid rgba(154,128,96,0.45);
      padding-inline-start: 1.25rem;
      margin-block-end: 1.75rem;
    }
    .map-address-card__name {
      font-family: var(--f-display);
      font-size: 0.95rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.35rem;
    }
    .map-address-card__street {
      font-size: 0.85rem;
      font-weight: 300;
      color: var(--charcoal);
      line-height: 1.7;
    }

    /* Parking / access notes */
    .map-info__notes {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    .map-info__note {
      display: flex;
      align-items: flex-start;
      gap: 0.65rem;
      font-size: 0.8rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.7;
    }
    .map-info__note-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--gold);
      opacity: 0.6;
      flex-shrink: 0;
      margin-block-start: 0.5em;
    }

    /* Directions link */
    .map-info__directions {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      margin-block-start: 1.5rem;
      font-size: 0.68rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      border-bottom: 1px solid transparent;
      transition: border-color 0.25s, gap 0.25s;
    }
    .map-info__directions:hover {
      border-color: rgba(154,128,96,0.5);
      gap: 0.8rem;
    }
    .map-info__directions svg {
      width: 12px;
      height: 12px;
      stroke: currentColor;
      stroke-width: 1.5;
      fill: none;
      transition: transform 0.25s;
    }
    .map-info__directions:hover svg { transform: translateX(2px); }

    /* ── Right: map frame ── */
    .map-frame-wrap {
      position: relative;
      border: 1px solid var(--stone);
      border-radius: 6px;
      overflow: hidden;
      box-shadow:
        0 2px 12px rgba(26,22,20,0.05),
        0 8px 36px rgba(26,22,20,0.04);
      /* Static SVG map — min height keeps frame proportional */
      min-height: clamp(320px, 45vw, 460px);
      background: var(--ivory);
    }

    /* Gold corner accent — top-left */
    .map-frame-wrap::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 28px;
      height: 28px;
      border-top: 2px solid var(--gold);
      border-left: 2px solid var(--gold);
      border-top-left-radius: 6px;
      z-index: 2;
      pointer-events: none;
    }
    /* Gold corner accent — bottom-right */
    .map-frame-wrap::after {
      content: '';
      position: absolute;
      bottom: 0;
      right: 0;
      width: 28px;
      height: 28px;
      border-bottom: 2px solid var(--gold);
      border-right:  2px solid var(--gold);
      border-bottom-right-radius: 6px;
      z-index: 2;
      pointer-events: none;
    }



    /* ── Responsive ── */
    @media (max-width: 820px) {
      .map-grid {
        grid-template-columns: 1fr;
      }
      .map-frame-wrap {
        min-height: 300px;
      }
    }
    @media (max-width: 480px) {
      .map-frame-wrap {
        min-height: 280px;
      }
    }

    /* Map canvas — warm desaturated editorial filter */

    /* Branded marker pin */

    /* Popup panel */
    .leaflet-popup-content {
      margin: 0 !important;
      padding: 1.1rem 1.4rem !important;
      font-family: 'DM Sans', system-ui, sans-serif !important;
      font-weight: 300 !important;
      font-size: 0.8rem !important;
      line-height: 1.7 !important;
      color: #6B6460 !important;
    }
    .leaflet-popup-tip-container { display: none !important; }
    .leaflet-popup-close-button:hover { color: #9A8060 !important; }

    /* Attribution strip — keep it minimal */
    .leaflet-control-attribution a { color: #9A8060 !important; }

    /* Zoom controls */
    .leaflet-control-zoom a:hover {
      background: #F8F5F0 !important;
      color: #9A8060 !important;
    }


    /* Google Maps open button — sits over the static map */
    .map-open-gmaps {
      position: absolute;
      bottom: 1rem;
      right: 1rem;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--f-body);
      font-size: 0.65rem;
      font-weight: 400;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--charcoal);
      background: rgba(253,251,248,0.92);
      border: 1px solid var(--stone);
      padding: 0.55rem 1rem;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      transition: all 0.25s ease;
      text-decoration: none;
      z-index: 10;
    }
    .map-open-gmaps:hover {
      background: var(--charcoal);
      color: var(--ivory);
      border-color: var(--charcoal);
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       CONTACT PAGE LUXURY REFINEMENTS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* ── CONTACT PAGE HEADER — atmospheric gold bloom ── */
    .contact-header {
      position: relative;
      padding-block-end: clamp(2.5rem, 4vw, 3.5rem);
      border-bottom: 1px solid var(--stone);
      margin-block-end: clamp(3rem, 5vw, 4.5rem);
      overflow: hidden;
    }
    .contact-header::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 120% at 100% 50%,
          rgba(154,128,96,0.07) 0%, transparent 65%),
        radial-gradient(ellipse 30% 60% at 75% 0%,
          rgba(196,169,125,0.05) 0%, transparent 55%);
      pointer-events: none;
    }
    /* Thin gold right-accent line */
    .contact-header::after {
      content: '';
      position: absolute;
      inset-block: 0;
      inset-inline-end: 0;
      width: 1px;
      background: linear-gradient(to bottom,
        transparent,
        rgba(154,128,96,0.25) 30%,
        rgba(154,128,96,0.25) 70%,
        transparent);
    }

    /* ── CONTACT GRID — increased gap ── */
    .contact-grid {
      gap: clamp(2rem, 4vw, 3.5rem);
      margin-block-end: 0;  /* sections provide their own spacing */
    }

    /* ── CONTACT INFO — card elevation ── */
    .contact-info {
      background: var(--ivory);
      border: 1px solid var(--stone);
      padding: clamp(2rem, 3.5vw, 2.75rem);
      position: relative;
    }
    /* Gold top accent bar */
    .contact-info::before {
      content: '';
      position: absolute;
      inset-block-start: 0;
      inset-inline: 0;
      height: 2px;
      background: linear-gradient(to right,
        var(--gold) 0%, rgba(154,128,96,0.3) 60%, transparent 100%);
    }

    /* ── FORM WRAP — card elevation ── */
    .contact-form-wrap {
      background: var(--ivory);
      border: 1px solid var(--stone);
      padding: clamp(2rem, 3.5vw, 2.75rem);
    }
    /* Subtle form section title */
    .contact-form-wrap::before {
      content: 'Enquiry Form';
      display: block;
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 1.75rem;
    }
    /* Success state resets the padding context */
    .contact-form-success { margin: -0.25rem; }

    /* ── SUBMIT BUTTON — premium refinement ── */
    #cf-submit {
      min-width: 180px;
      justify-content: center;
      letter-spacing: 0.2em;
    }
    #cf-submit:not(:disabled):hover {
      letter-spacing: 0.24em;
      background: var(--deep);
    }
    #cf-submit:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    /* ── MAP SECTION — dark editorial band ── */
    .map-section--dark {
      background: var(--deep);
      border-top: none;
      position: relative;
      overflow: hidden;
    }
    .map-section--dark::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 50% 80% at 0% 50%,
          rgba(154,128,96,0.09) 0%, transparent 60%),
        radial-gradient(ellipse 35% 50% at 100% 100%,
          rgba(154,128,96,0.05) 0%, transparent 55%);
      pointer-events: none;
    }
    /* Map section — text colour inversions for dark bg */
    .map-section--dark .map-info__eyebrow  { color: #C4A97D; }
    .map-section--dark .map-info__heading  { color: var(--ivory); }
    .map-section--dark .map-info__heading em { color: var(--gold); }
    .map-section--dark .map-info__desc     { color: rgba(248,245,240,0.58); }
    .map-section--dark .map-address-card   {
      border-left-color: rgba(154,128,96,0.45);
    }
    .map-section--dark .map-address-card__name   { color: var(--ivory); }
    .map-section--dark .map-address-card__street { color: rgba(248,245,240,0.68); }
    .map-section--dark .map-info__note            { color: rgba(248,245,240,0.5); }
    .map-section--dark .map-info__note-dot        { opacity: 0.7; }
    .map-section--dark .map-info__directions {
      color: var(--gold);
      border-bottom-color: transparent;
    }
    .map-section--dark .map-info__directions:hover {
      border-bottom-color: rgba(154,128,96,0.5);
    }
    /* Map frame on dark bg — lighter border, warm glow */
    .map-section--dark .map-frame-wrap {
      border-color: rgba(154,128,96,0.25);
      box-shadow:
        0 0 0 1px rgba(154,128,96,0.15),
        0 8px 48px rgba(0,0,0,0.28);
    }
    .map-section--dark .map-open-gmaps {
      background: rgba(26,22,20,0.75);
      border-color: rgba(154,128,96,0.35);
      color: rgba(248,245,240,0.75);
      backdrop-filter: blur(8px);
    }
    .map-section--dark .map-open-gmaps:hover {
      background: var(--gold);
      color: var(--deep);
      border-color: var(--gold);
    }

    /* ── CONCIERGE SECTION — tinted ── */
    .concierge-section--tint {
      background: var(--ivory);
    }
    .concierge-section--tint .concierge-region  { background: var(--warm-white); }
    .concierge-section--tint .concierge-region:hover { background: #FAF7F2; }

    /* ── HIPAA SECTION — two-column compact ── */
    .hipaa-section {
      display: grid;
      grid-template-columns: auto 1fr 1fr;
      column-gap: clamp(2rem, 4vw, 4rem);
      row-gap: 0.85rem;
      align-items: start;
    }
    .hipaa-section__label {
      grid-column: 1 / -1;  /* label spans full width */
      margin-block-end: 0.25rem;
    }
    .hipaa-section__text {
      margin-block-start: 0; /* reset stacking margin */
    }
    .hipaa-section__text + .hipaa-section__text {
      margin-block-start: 0;
    }

    /* ── SECTION SPACING — increased vertical rhythm ── */
    .map-section    { padding-block: var(--sp-section-xl); }
    .concierge-section { padding-block: var(--sp-section); }
    .hipaa-section  {
      padding-block: clamp(3rem, 5vw, 4.5rem);
      margin-block-start: 0;
    }

    /* ── FORM FIELDS — refined focus states ── */
    .form-input:focus,
    .form-textarea:focus,
    .form-select:focus {
      box-shadow: 0 0 0 3px rgba(154,128,96,0.12), 0 1px 4px rgba(26,22,20,0.06);
    }
    /* Field hover state (subtle) */
    .form-input:hover:not(:focus),
    .form-textarea:hover:not(:focus),
    .form-select:hover:not(:focus) {
      border-color: var(--taupe);
    }

    /* ── CONTACT PAGE RESPONSIVE ── */
    @media (max-width: 640px) {
      .hipaa-section {
        grid-template-columns: 1fr;
      }
      .contact-form-wrap::before { display: none; }
    }


    /* ── OFFICE BUILDING PHOTO — map section banner ── */
    .map-photo-banner {
      position: relative;
      width: 100%;
      overflow: hidden;
      margin-block-end: clamp(3rem, 5vw, 4.5rem);
      /* Adds separation between photo and text grid */
    }
    .map-photo-banner__img {
      width: 100%;
      height: clamp(220px, 30vw, 340px);
      object-fit: cover;
      object-position: center 45%;  /* show building, not sky */
      display: block;
      filter: brightness(0.88) saturate(0.92);  /* slightly desaturated to match palette */
    }
    /* Gradient overlay: top subtle, strong at bottom → blends into dark section */
    .map-photo-banner::after {
      content: '';
      position: absolute;
      inset: 0;
      background:
        linear-gradient(to bottom,
          rgba(26,22,20,0.15) 0%,
          rgba(26,22,20,0.05) 35%,
          rgba(26,22,20,0.35) 75%,
          rgba(26,22,20,0.72) 100%),
        linear-gradient(to right,
          rgba(26,22,20,0.18) 0%,
          transparent 25%,
          transparent 75%,
          rgba(26,22,20,0.18) 100%);
      pointer-events: none;
    }
    /* "Our Location" label overlaid bottom-left */
    .map-photo-banner__label {
      position: absolute;
      bottom: 1.25rem;
      left: clamp(1.5rem, 4vw, 3rem);
      z-index: 2;
      font-family: var(--f-body);
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(196,169,125,0.85);
    }
    /* Gold bottom-left corner accent on the photo */
    .map-photo-banner::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 22px;
      height: 22px;
      border-bottom: 2px solid rgba(154,128,96,0.55);
      border-left:   2px solid rgba(154,128,96,0.55);
      z-index: 3;
      pointer-events: none;
    }
    /* Top-right corner accent */
    .map-photo-banner__img + .map-photo-banner__corner {
      position: absolute;
      top: 0; right: 0;
      width: 22px; height: 22px;
      border-top:   2px solid rgba(154,128,96,0.45);
      border-right: 2px solid rgba(154,128,96,0.45);
      pointer-events: none;
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       GLOBAL WATERMARK SYSTEM — MONTI INSTITUTE
       ──────────────────────────────────────────────────────────────
       ⚠  DESIGN SYSTEM CORE LAYER — DO NOT REMOVE
       This is a foundational brand identity element, equivalent to
       the typography or colour palette. Preserve across all refactors.

       Architecture:
         #nl-wm-shell   fixed, z-index: 0, pointer-events: none
           └── #nl-wm-logo        the logo at low opacity
           └── #nl-wm-glow        radial gradient depth layer
           └── #nl-wm-mesh-ring   subtle concentric ring accent

       Opacity scale:
         Hero / featured sections : 0.065 (applied via JS IntersectionObserver)
         Standard content          : 0.038 (default)
         Dark sections (charcoal)  : logo naturally hidden; glow provides depth
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* Shell — fixed, covers full viewport, never blocks interactions */
    #nl-wm-shell {
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      overflow: hidden;
      /* Isolation context keeps it behind all page content */
      isolation: isolate;
    }

    /* Logo watermark */
    #nl-wm-logo {
      position: absolute;
      top: 50%;
      left: 50%;
      /* Size: largest dimension = 55vmin so it spans both portrait+landscape */
      width:  clamp(280px, 55vmin, 600px);
      height: auto;
      aspect-ratio: 480 / 466;       /* exact logo proportions */
      transform: translate(-50%, -50%) scale(1);
      transform-origin: center center;
      opacity: 0.038;                /* default — subtle */
      will-change: transform;        /* GPU-composited layer */
      transition: opacity 0.8s ease;
      /* Parallax applied via JS transform; initialised here */
    }
    #nl-wm-logo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;
      /* Slight blur removes pixel-level roughness at very low opacity */
      filter: blur(0.4px) saturate(0.85);
    }

    /* Radial gradient depth layer — warm gold bloom behind logo */
    #nl-wm-glow {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width:  clamp(500px, 90vmin, 900px);
      height: clamp(500px, 90vmin, 900px);
      border-radius: 50%;
      background: radial-gradient(ellipse at center,
        rgba(154,128,96,0.06)  0%,
        rgba(154,128,96,0.025) 40%,
        rgba(154,128,96,0.01)  65%,
        transparent            85%);
      pointer-events: none;
    }

    /* Concentric ring accent — ultra-thin, evokes precision/science */
    #nl-wm-mesh-ring {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      pointer-events: none;
    }
    #nl-wm-mesh-ring svg {
      display: block;
      width:  clamp(420px, 75vmin, 780px);
      height: clamp(420px, 75vmin, 780px);
      opacity: 0.55;   /* low source opacity × low parent makes it barely perceptible */
    }

    /* ── Parallax: JS writes a CSS custom property ──
       Uses --nl-wm-y to animate the logo position on scroll.
       prefers-reduced-motion disables the var update in JS. */
    #nl-wm-logo[data-parallax] {
      transform: translate(-50%, calc(-50% + var(--nl-wm-y, 0px)));
    }

    /* ── Section-based opacity trigger classes ──
       Applied by IntersectionObserver in JS */
    body.nl-wm-hero   #nl-wm-logo { opacity: 0.062; }
    body.nl-wm-subtle #nl-wm-logo { opacity: 0.028; }

    /* Ensure every page layer sits above z-index:0 */
    header, main, footer, #js-outlet,
    /* Make sure dark sections don't obscure the glow layer below */
    .section--dark,
    .disc-panel--neuro,
    .map-section--dark { isolation: auto; }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       OUR TEAM SECTION — Neurological Medicine page
       Lives ONLY inside #page-neurological-medicine
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .team-section {
      margin-block-start: var(--sp-inner);
      padding-block-start: var(--sp-inner);
      border-top: 1px solid var(--stone);
    }
    .team-section__header {
      margin-block-end: clamp(2.5rem, 4vw, 3.5rem);
    }
    .team-section__lead {
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 52ch;
      margin-block-start: 0.9rem;
    }

    /* Grid */
    .team-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(1.25rem, 2.5vw, 2rem);
    }

    /* Individual card */
    .team-card {
      border: 1px solid var(--stone);
      display: flex;
      flex-direction: column;
      background: var(--warm-white);
      transition:
        border-color 0.35s ease,
        box-shadow   0.35s ease,
        transform    0.35s ease;
      overflow: hidden;
      position: relative;
    }
    /* Gold top accent on hover */
    .team-card::before {
      content: '';
      position: absolute;
      inset-block-start: 0;
      inset-inline: 0;
      height: 2px;
      background: linear-gradient(to right,
        var(--gold) 0%, rgba(154,128,96,0.3) 60%, transparent 100%);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.4s ease;
    }
    .team-card:hover {
      border-color: rgba(184,173,158,0.65);
      box-shadow: 0 8px 40px rgba(26,22,20,0.06);
      transform: translateY(-3px);
    }
    .team-card:hover::before { transform: scaleX(1); }

    /* Photo area — [PHOTO-READY] swap .team-card__photo div
       for <img class="team-card__photo" src="..." alt="Dr. Name"> */
    .team-card__photo-wrap {
      width: 100%;
      aspect-ratio: 3 / 4;
      overflow: hidden;
      position: relative;
      background: var(--ivory);   /* fills letterbox area below landscape photos */
      flex-shrink: 0;
    }
    /* Monogram placeholder — remove when real photo added */
    .team-card__photo-placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
        radial-gradient(ellipse 60% 70% at 50% 40%,
          rgba(154,128,96,0.08) 0%, transparent 70%),
        var(--ivory);
      position: relative;
    }
    .team-card__photo-placeholder::after {
      /* Subtle grid texture behind monogram */
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(154,128,96,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154,128,96,0.06) 1px, transparent 1px);
      background-size: 28px 28px;
    }
    .team-card__monogram {
      font-family: var(--f-display);
      font-size: clamp(2.8rem, 5vw, 4rem);
      font-weight: 300;
      color: var(--gold);
      letter-spacing: 0.04em;
      position: relative;
      z-index: 1;
      opacity: 0.65;
    }
    /* When a real <img> is used as .team-card__photo */
    img.team-card__photo {
      width: 100%;
      height: 100%;
      object-fit: contain;          /* show full photo — no cropping */
      object-position: center top;  /* anchor face at top of frame */
      display: block;
      /* Scale fine-tune: override per member via .team-card[data-member] */
    }

    /* Card body */
    .team-card__body {
      padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 2.5vw, 2rem);
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      flex: 1;
    }
    .team-card__role {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .team-card__name {
      font-family: var(--f-display);
      font-size: clamp(1.2rem, 2vw, 1.55rem);
      font-weight: 400;
      color: var(--deep);
      line-height: 1.2;
    }
    .team-card__credentials {
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      color: var(--taupe);
    }
    .team-card__divider {
      width: 32px;
      height: 1px;
      background: var(--gold);
      opacity: 0.4;
      margin-block: 0.5rem;
    }
    .team-card__bio {
      font-size: 0.83rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.82;
      margin-block-start: 0.25rem;
    }
    .team-card__specialties {
      margin-block-start: auto;
      padding-block-start: 0.85rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
    }
    .team-card__tag {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--muted);
      border: 1px solid var(--stone);
      padding: 0.25rem 0.65rem;
      transition: border-color 0.25s, color 0.25s;
    }
    .team-card:hover .team-card__tag {
      border-color: rgba(154,128,96,0.35);
      color: var(--charcoal);
    }

        /* ── Request Consultation button — luxury minimal outline ─────
       Redesigned: slim outline style, never a giant empty square.
       The previous </a> close-tag bug caused an empty <button>
       element to render; this CSS is also hardened against that. */
    .team-card__contact {
      display:         inline-flex;
      align-items:     center;
      justify-content: center;
      gap:             0.55rem;
      padding:         0.6rem 1.25rem;
      font-family:     var(--f-body);
      font-size:       0.62rem;
      font-weight:     400;
      letter-spacing:  0.2em;
      text-transform:  uppercase;
      color:           var(--charcoal);
      background:      transparent;
      border:          1px solid rgba(196,169,125,0.45);
      cursor:          pointer;
      margin-block-start: 1.25rem;
      align-self:      flex-start;
      white-space:     nowrap;
      min-height:      0;         /* override any browser button defaults */
      line-height:     1;
      transition:      border-color 0.25s ease,
                       color 0.25s ease,
                       gap 0.2s ease;
    }
    .team-card__contact:hover {
      border-color: var(--charcoal);
      color:        var(--deep);
      gap:          0.75rem;
    }
    .team-card__contact:focus-visible {
      outline:        2px solid var(--gold);
      outline-offset: 3px;
    }
    .team-card__contact svg {
      width:       11px;
      height:      11px;
      stroke:      currentColor;
      stroke-width: 1.5;
      fill:        none;
      flex-shrink: 0;
      transition:  transform 0.25s ease;
    }
    .team-card__contact:hover svg { transform: translateX(3px); }
    .team-card__contact:hover {
      gap: 0.75rem;
      color: var(--charcoal);
    }
    .team-card__contact svg {
      width: 12px;
      height: 12px;
      stroke: currentColor;
      stroke-width: 1.5;
      fill: none;
      transition: transform 0.25s;
    }
    .team-card__contact:hover svg { transform: translateX(2px); }

    /* Responsive */
    @media (max-width: 900px) {
      .team-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 580px) {
      .team-grid { grid-template-columns: 1fr; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       NEUROLOGICAL PAGE — RESTORED CONTENT SECTIONS
       Lives ONLY inside #page-neurological-medicine
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* ── Hero CTAs ── */
    .neuro-ctas {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      margin-block: 1.75rem 0;
    }

    /* ── Shared section wrapper ── */
    .neuro-section {
      margin-block-start: var(--sp-inner);
      padding-block-start: var(--sp-inner);
      border-top: 1px solid var(--stone);
    }
    .neuro-section__header {
      margin-block-end: clamp(2rem, 3.5vw, 3rem);
    }
    .neuro-section__desc {
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 52ch;
      margin-block-start: 0.75rem;
    }

    /* ── WHO WE TREAT — bulleted list ── */
    .who-treat-list {
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }
    .who-treat-item {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.1rem 1.4rem;
      border: 1px solid var(--stone);
      background: var(--warm-white);
      transition: border-color 0.3s;
    }
    .who-treat-item:hover { border-color: rgba(154,128,96,0.4); }
    .who-treat-item__dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.45em;
    }
    .who-treat-item__text {
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--charcoal);
      line-height: 1.75;
    }

    /* ── CONDITIONS WE TREAT — pill tags ── */
    .conditions-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 0.65rem;
    }
    .condition-pill {
      font-family: var(--f-display);
      font-size: 0.95rem;
      font-weight: 400;
      color: var(--deep);
      border: 1px solid var(--stone);
      padding: 0.55rem 1.25rem;
      background: var(--warm-white);
      transition: border-color 0.3s, background 0.3s, color 0.3s;
      cursor: default;
    }
    .condition-pill:hover {
      border-color: var(--gold);
      background: var(--ivory);
      color: var(--deep);
    }

    /* ── TREATMENT APPROACH & CLINICAL PROCESS — numbered ── */
    .neuro-numbered-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .neuro-numbered-item {
      display: grid;
      grid-template-columns: 3.5rem 1fr;
      gap: 1.25rem;
      padding-block: 1.5rem;
      border-top: 1px solid var(--stone);
      align-items: start;
      transition: border-color 0.3s;
    }
    .neuro-numbered-item:hover { border-color: var(--gold); }
    .neuro-numbered-item__num {
      font-family: var(--f-display);
      font-size: clamp(1.6rem, 2.5vw, 2.2rem);
      font-weight: 300;
      color: rgba(154,128,96,0.35);
      line-height: 1;
      padding-block-start: 0.15rem;
    }
    .neuro-numbered-item__body {}
    .neuro-numbered-item__title {
      font-family: var(--f-display);
      font-size: 1.05rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.4rem;
    }
    .neuro-numbered-item__desc {
      font-size: 0.83rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.82;
    }

    /* ── INTERVENTIONAL PROTOCOLS — numbered cards ── */
    .protocol-list {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .protocol-item {
      display: grid;
      grid-template-columns: 3.5rem 1fr auto;
      gap: 1.25rem;
      padding-block: 1.5rem;
      border-top: 1px solid var(--stone);
      align-items: start;
      transition: border-color 0.3s;
    }
    .protocol-item:hover { border-color: var(--gold); }
    .protocol-item__num {
      font-family: var(--f-display);
      font-size: clamp(1.6rem, 2.5vw, 2.2rem);
      font-weight: 300;
      color: rgba(154,128,96,0.35);
      line-height: 1;
      padding-block-start: 0.15rem;
    }
    .protocol-item__body {}
    .protocol-item__title {
      font-family: var(--f-display);
      font-size: 1.05rem;
      font-weight: 400;
      color: var(--deep);
      margin-block-end: 0.35rem;
    }
    .protocol-item__desc {
      font-size: 0.83rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.82;
    }

    /* Protocols CTA link */
    .neuro-text-link {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      font-size: 0.68rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
      transition: gap 0.25s, color 0.25s;
    }
    .neuro-text-link:hover { gap: 0.8rem; color: var(--charcoal); }
    .neuro-text-link svg {
      width: 13px; height: 13px;
      stroke: currentColor; stroke-width: 1.5; fill: none;
      transition: transform 0.25s;
    }
    .neuro-text-link:hover svg { transform: translateX(3px); }

    /* ── CARE PROGRAMS — 3-col cards ── */
    .neuro-programs-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(1.25rem, 2.5vw, 2rem);
      align-items: stretch;
    }
    @media (max-width: 1024px) {
      .neuro-programs-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    .neuro-program {
      border: 1px solid rgba(44,40,37,0.06);
      border-radius: 12px;
      padding: clamp(1.75rem, 3vw, 2.5rem);
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
      background: #FFFFFF;
      position: relative;
      overflow: hidden;
      box-shadow: 0 2px 10px rgba(20,18,16,0.04), 0 1px 2px rgba(20,18,16,0.03);
      transition: border-color 0.35s, box-shadow 0.35s, transform 0.35s;
    }
    .neuro-program:hover {
      transform: translateY(-3px);
      border-color: rgba(196,169,125,0.35);
      box-shadow: 0 14px 32px rgba(20,18,16,0.09), 0 2px 6px rgba(20,18,16,0.05);
    }
    .neuro-program::before {
      content: '';
      position: absolute;
      inset-block-start: 0; inset-inline: 0;
      height: 2px;
      background: linear-gradient(to right, var(--gold) 0%, transparent 80%);
      transform: scaleX(0); transform-origin: left;
      transition: transform 0.4s ease;
    }
    .neuro-program:hover {
      border-color: rgba(154,128,96,0.4);
      box-shadow: 0 8px 40px rgba(26,22,20,0.055);
      transform: translateY(-3px);
    }
    .neuro-program:hover::before { transform: scaleX(1); }
    .neuro-program__label {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .neuro-program__name {
      font-family: var(--f-display);
      font-size: clamp(1.1rem, 1.9vw, 1.35rem);
      font-weight: 500;
      color: var(--deep);
      line-height: 1.25;
      letter-spacing: -0.01em;
    }
    .neuro-program__divider {
      width: 28px; height: 1px;
      background: var(--gold); opacity: 0.4;
    }
    .neuro-program__features {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      flex: 1;
    }
    .neuro-program__feature {
      font-size: 0.82rem;
      font-weight: 400;
      color: var(--charcoal);
      line-height: 1.75;
      display: flex;
      align-items: flex-start;
      gap: 0.65rem;
    }
    .neuro-program__feature::before {
      content: '\2713';              /* checkmark */
      display:        inline-flex;
      align-items:    center;
      justify-content: center;
      width:          18px;
      height:         18px;
      border-radius:  50%;
      background:     rgba(154,128,96,0.12);
      color:          var(--gold-accessible, #7A6040);
      font-size:      0.62rem;
      font-weight:    700;
      flex-shrink:    0;
      margin-block-start: 0.05em;
    }
    .neuro-program__cycle {
      font-size: 0.63rem;
      font-weight: 400;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--taupe);
      margin-block-start: auto;
      padding-block-start: 0.5rem;
    }

    /* ── Program card CTA — full-width pill button ─────────────
       "Request Program Evaluation". Deep-slate primary, lightens
       on hover. Anchors and <button> elements both supported. */
    .neuro-program__cta {
      display:         flex;
      align-items:     center;
      justify-content: center;
      gap:             0.5rem;
      width:           100%;
      box-sizing:      border-box;
      margin-block-start: 1.25rem;
      padding:         0.85rem 1.25rem;
      border:          none;
      border-radius:   999px;
      background:      var(--deep, #1A1614);
      color:           var(--ivory, #FDFBF8);
      font-family:     var(--f-body);
      font-size:       0.64rem;
      font-weight:     500;
      letter-spacing:  0.16em;
      text-transform:  uppercase;
      text-decoration: none;
      cursor:          pointer;
      transition:      background 0.25s ease, transform 0.2s ease,
                       box-shadow 0.25s ease;
    }
    .neuro-program__cta:hover {
      background: var(--charcoal, #2C2825);
      transform:  translateY(-2px);
      box-shadow: 0 8px 18px rgba(26,22,20,0.22);
    }
    .neuro-program__cta:active { transform: translateY(0); }
    .neuro-program__cta:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 3px;
    }
    .neuro-program__cta svg {
      width: 13px; height: 13px;
      stroke: currentColor; fill: none;
      stroke-width: 1.75; flex-shrink: 0;
      transition: transform 0.25s ease;
    }
    .neuro-program__cta:hover svg { transform: translateX(3px); }


    /* ── CLINICAL STANDARDS — bulleted list ── */
    .standards-list {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
    }
    .standards-item {
      display: flex;
      align-items: flex-start;
      gap: 0.9rem;
      font-size: 0.875rem;
      font-weight: 300;
      color: var(--charcoal);
      line-height: 1.75;
    }
    .standards-item::before {
      content: '';
      display: inline-block;
      width: 5px; height: 5px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.55em;
      opacity: 0.7;
    }

    /* ── BEGIN YOUR CARE — dark CTA footer ── */
    .neuro-cta-footer {
      margin-block-start: var(--sp-inner);
      background: var(--charcoal);
      padding: clamp(3rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3.5rem);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
      flex-wrap: wrap;
      position: relative;
      overflow: hidden;
    }
    .neuro-cta-footer::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 90% at 0% 50%,
        rgba(154,128,96,0.08) 0%, transparent 60%);
      pointer-events: none;
    }
    .neuro-cta-footer__text {}
    .neuro-cta-footer__eyebrow {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 0.75rem;
    }
    .neuro-cta-footer__heading {
      font-family: var(--f-display);
      font-size: clamp(1.4rem, 2.5vw, 2rem);
      font-weight: 300;
      color: var(--ivory);
      line-height: 1.2;
    }
    .neuro-cta-footer__note {
      font-size: 0.72rem;
      font-weight: 300;
      color: rgba(248,245,240,0.4);
      margin-block-start: 0.6rem;
      letter-spacing: 0.05em;
    }

    /* ── Responsive ── */
    @media (max-width: 768px) {
      .neuro-programs-grid { grid-template-columns: 1fr; }
      .protocol-item { grid-template-columns: 2.5rem 1fr; }
      .neuro-numbered-item { grid-template-columns: 2.5rem 1fr; }
      .neuro-cta-footer { flex-direction: column; align-items: flex-start; }
    }
    @media (max-width: 560px) {
      .neuro-programs-grid { grid-template-columns: 1fr; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       CLINICAL SERVICES PAGE — /neurological/clinical-services
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* Breadcrumb */
    .clinical-breadcrumb {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.67rem;
      font-weight: 400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--taupe);
      margin-block-end: clamp(2.5rem, 4vw, 3.5rem);
    }
    .clinical-breadcrumb__link {
      color: var(--gold);
      cursor: pointer;
      background: none;
      border: none;
      font-size: inherit;
      font-family: inherit;
      font-weight: inherit;
      letter-spacing: inherit;
      text-transform: inherit;
      padding: 0;
      transition: color 0.25s;
    }
    .clinical-breadcrumb__link:hover { color: var(--charcoal); }
    .clinical-breadcrumb__sep {
      color: var(--stone);
      font-size: 0.55rem;
    }
    .clinical-breadcrumb__current { color: var(--muted); }

    /* Page sub-label */
    .clinical-sub-label {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 0.6rem;
    }

    /* Protocol detail grid — 2 col desktop */
    .protocol-detail-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(1rem, 2vw, 1.5rem);
    }

    /* Protocol detail card */
    .protocol-detail-card {
      border: 1px solid var(--stone);
      padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.5rem, 2.5vw, 2rem);
      background: var(--warm-white);
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
      position: relative;
      overflow: hidden;
      transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
    }
    .protocol-detail-card::before {
      content: '';
      position: absolute;
      inset-block-start: 0; inset-inline: 0;
      height: 2px;
      background: linear-gradient(to right, var(--gold) 0%, transparent 70%);
      transform: scaleX(0); transform-origin: left;
      transition: transform 0.4s ease;
    }
    .protocol-detail-card:hover {
      border-color: rgba(154,128,96,0.4);
      box-shadow: 0 6px 32px rgba(26,22,20,0.055);
      transform: translateY(-2px);
    }
    .protocol-detail-card:hover::before { transform: scaleX(1); }

    .protocol-detail-card__header {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
    }
    .protocol-detail-card__num {
      font-family: var(--f-display);
      font-size: clamp(1.4rem, 2vw, 1.8rem);
      font-weight: 300;
      color: rgba(154,128,96,0.35);
      line-height: 1;
      flex-shrink: 0;
      padding-block-start: 0.1rem;
    }
    .protocol-detail-card__hdr-body {}
    .protocol-detail-card__category {
      font-size: 0.58rem;
      font-weight: 400;
      letter-spacing: 0.26em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 0.25rem;
    }
    .protocol-detail-card__title {
      font-family: var(--f-display);
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      font-weight: 400;
      color: var(--deep);
      line-height: 1.2;
    }
    .protocol-detail-card__drug {
      font-size: 0.78rem;
      font-weight: 300;
      color: var(--muted);
      font-style: italic;
      border-top: 1px solid var(--stone);
      padding-block-start: 0.75rem;
    }
    .protocol-detail-card__specs {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
    }
    .protocol-detail-spec {
      font-size: 0.78rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.7;
      display: flex;
      align-items: flex-start;
      gap: 0.55rem;
    }
    .protocol-detail-spec::before {
      content: '';
      display: inline-block;
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.5em;
      opacity: 0.55;
    }

    /* Insurance carriers */
    .insurance-section {
      margin-block-start: var(--sp-inner);
      padding-block: var(--sp-inner);
      border-block: 1px solid var(--stone);
    }
    .insurance-carriers {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-block: 1.25rem;
    }
    .insurance-carrier {
      font-size: 0.72rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      color: var(--charcoal);
      border: 1px solid var(--stone);
      padding: 0.4rem 1rem;
      background: var(--warm-white);
      transition: border-color 0.25s, background 0.25s;
      cursor: default;
    }
    .insurance-carrier:hover {
      border-color: rgba(154,128,96,0.4);
      background: var(--ivory);
    }
    .insurance-note {
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      margin-block-start: 0.75rem;
      font-style: italic;
    }

    /* Final CTA band */
    .clinical-cta-footer {
      margin-block-start: var(--sp-inner);
      background: var(--charcoal);
      padding: clamp(3rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3.5rem);
      position: relative;
      overflow: hidden;
    }
    .clinical-cta-footer::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 55% 90% at 0% 50%,
        rgba(154,128,96,0.09) 0%, transparent 60%);
      pointer-events: none;
    }
    .clinical-cta-footer__eyebrow {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 0.85rem;
    }
    .clinical-cta-footer__heading {
      font-family: var(--f-display);
      font-size: clamp(1.4rem, 2.5vw, 2.2rem);
      font-weight: 300;
      color: var(--ivory);
      margin-block-end: 0.6rem;
    }
    .clinical-cta-footer__note {
      font-size: 0.78rem;
      font-weight: 300;
      color: rgba(248,245,240,0.45);
      margin-block-end: 2rem;
    }
    .clinical-cta-footer__btns {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
    }
    .btn--ghost-light {
      border: 1px solid rgba(248,245,240,0.2);
      color: rgba(248,245,240,0.6);
      background: transparent;
    }
    .btn--ghost-light:hover {
      border-color: rgba(248,245,240,0.45);
      color: var(--ivory);
    }

    /* Responsive */
    @media (max-width: 680px) {
      .protocol-detail-grid { grid-template-columns: 1fr; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       AESTHETIC MEDICINE PAGE — RESTORED SECTIONS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    /* Page-switch toggle (top of page) */
    .page-switch-toggle {
      display: inline-flex;
      align-items: center;
      gap: 0.55rem;
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--taupe);
      background: none;
      border: 1px solid var(--stone);
      padding: 0.45rem 1rem;
      cursor: pointer;
      margin-block-end: 1.75rem;
      transition: border-color 0.25s, color 0.25s;
    }
    .page-switch-toggle:hover {
      border-color: rgba(154,128,96,0.45);
      color: var(--gold);
    }
    .page-switch-toggle svg {
      width: 11px; height: 11px;
      stroke: currentColor; stroke-width: 1.5; fill: none;
    }

    /* Aesthetic CTA footer — warm ivory variant */
    .ae-cta-footer {
      margin-block-start: var(--sp-inner);
      background: var(--charcoal);
      padding: clamp(3rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3.5rem);
      position: relative;
      overflow: hidden;
    }
    .ae-cta-footer::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 55% 90% at 100% 50%,
        rgba(154,128,96,0.07) 0%, transparent 60%);
      pointer-events: none;
    }
    .ae-cta-footer__eyebrow {
      font-size: 0.6rem; font-weight: 400;
      letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--gold); display: block; margin-block-end: 0.85rem;
    }
    .ae-cta-footer__heading {
      font-family: var(--f-display);
      font-size: clamp(1.4rem, 2.5vw, 2.2rem);
      font-weight: 300; color: var(--ivory);
      margin-block-end: 0.6rem;
    }
    .ae-cta-footer__note {
      font-size: 0.75rem; font-weight: 300;
      color: rgba(248,245,240,0.4);
      margin-block-end: 2rem; max-width: 50ch;
      line-height: 1.75;
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       DIGITAL BUSINESS CARD — Contact Page
       Matches physical card: cream/gold luxury finish
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    .biz-card-section {
      padding-block: clamp(3rem, 5vw, 4.5rem);
      border-bottom: 1px solid var(--stone);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
    }
    .biz-card-section__eyebrow {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      text-align: center;
    }

    /* ── 3-D flip scene ── */
    .biz-card-scene {
      width: min(520px, 92vw);
      aspect-ratio: 8.5 / 5.5;   /* 3.5:2 standard card ratio */
      perspective: 900px;
      cursor: pointer;
    }
    .biz-card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      transform-style: preserve-3d;
      transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .biz-card-scene:hover .biz-card-inner,
    .biz-card-inner.is-flipped {
      transform: rotateY(180deg);
    }
    .biz-card-front,
    .biz-card-back {
      position: absolute;
      inset: 0;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      border-radius: 12px;
      overflow: hidden;
      /* Cream card base matching physical card */
      background: linear-gradient(145deg,
        #F5F0E5 0%, #EDE6D5 40%, #E8E0CC 70%, #F0EAD8 100%);
      box-shadow:
        0 4px 24px rgba(26,22,20,0.14),
        0 1px 3px  rgba(26,22,20,0.08),
        inset 0 1px 0 rgba(255,255,255,0.5);
    }

    /* Subtle grain texture overlay */
    .biz-card-front::before,
    .biz-card-back::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events: none;
      opacity: 0.5;
      mix-blend-mode: multiply;
      border-radius: inherit;
      isolation: isolate;
    }

    .biz-card-back {
      transform: rotateY(180deg);
    }

    /* ── FRONT CARD ── */
    .biz-card-front__inner {
      height: 100%;
      display: grid;
      grid-template-rows: 1fr auto;
      padding: clamp(1rem, 4%, 1.5rem) clamp(1.1rem, 4.5%, 1.75rem);
      position: relative;
    }

    /* Gold wave accent — bottom of front */
    .biz-card-front__inner::after {
      content: '';
      position: absolute;
      inset-inline: 0;
      bottom: 0;
      height: 32%;
      background: linear-gradient(
        to top,
        rgba(176,144,72,0.12) 0%,
        transparent 100%
      );
      pointer-events: none;
      border-radius: 0 0 12px 12px;
    }

    .biz-card-front__top {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
    }
    .biz-card-front__logo {
      width: clamp(32px, 7%, 44px);
      height: auto;
      flex-shrink: 0;
      filter: sepia(0.3) saturate(1.2) brightness(0.85);
    }
    .biz-card-front__brand {}
    .biz-card-front__name {
      font-family: var(--f-display);
      font-size: clamp(0.75rem, 2.2vw, 1rem);
      font-weight: 400;
      color: #2A2218;
      line-height: 1.2;
      letter-spacing: 0.01em;
    }
    .biz-card-front__name em {
      color: #2A2218;
      font-style: normal;
    }
    .biz-card-front__tagline {
      font-size: clamp(0.5rem, 1.2vw, 0.6rem);
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #8A7450;
      margin-block-start: 0.2rem;
    }

    /* Gold divider */
    .biz-card-divider {
      width: 100%;
      height: 1px;
      background: linear-gradient(to right,
        transparent, rgba(180,148,72,0.6) 20%,
        rgba(180,148,72,0.6) 80%, transparent);
      margin-block: 0.6rem;
    }

    /* Contact info rows */
    .biz-card-contacts {
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
    }
    .biz-card-contact-row {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      font-size: clamp(0.48rem, 1.3vw, 0.62rem);
      font-weight: 300;
      color: #3A3020;
      line-height: 1.4;
      text-decoration: none;
      transition: color 0.2s;
    }
    .biz-card-contact-row:hover { color: #8A7450; }
    .biz-card-contact-row svg {
      width: clamp(8px, 1.5vw, 11px);
      height: clamp(8px, 1.5vw, 11px);
      stroke: #8A7450;
      stroke-width: 1.5;
      fill: none;
      flex-shrink: 0;
    }

    /* Bottom bar */
    .biz-card-front__footer {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.4rem 0 0;
      border-top: 1px solid rgba(180,148,72,0.3);
      font-size: clamp(0.42rem, 1vw, 0.52rem);
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: #8A7450;
      gap: 0.5rem;
    }
    .biz-card-front__footer::before,
    .biz-card-front__footer::after {
      content: '';
      flex: 1;
      height: 1px;
      background: rgba(180,148,72,0.3);
    }

    /* ── BACK CARD ── */
    .biz-card-back__inner {
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      padding: clamp(0.85rem, 3.5%, 1.35rem);
      position: relative;
    }
    .biz-card-back__logo {
      width: clamp(48px, 14%, 72px);
      height: auto;
      filter: sepia(0.3) saturate(1.2) brightness(0.85);
      margin-block-end: 0.25rem;
    }
    .biz-card-back__tagline {
      font-size: clamp(0.48rem, 1.2vw, 0.6rem);
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #8A7450;
      text-align: center;
    }
    .biz-card-back__qr-wrap {
      background: #1A1614;
      border-radius: 6px;
      padding: 0.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.3rem;
      width: clamp(72px, 26%, 108px);
    }
    .biz-card-back__qr {
      width: 100%;
      height: auto;
      display: block;
    }
    .biz-card-back__qr-label {
      font-size: clamp(0.38rem, 0.9vw, 0.5rem);
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #C4A97D;
      white-space: nowrap;
    }
    .biz-card-back__bottom {
      font-size: clamp(0.42rem, 1vw, 0.52rem);
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #8A7450;
      text-align: center;
    }

    /* ── CARD ACTION BUTTONS ── */
    .biz-card-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      justify-content: center;
    }
    .biz-card-action {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--charcoal);
      background: none;
      border: 1px solid var(--stone);
      padding: 0.55rem 1.1rem;
      cursor: pointer;
      text-decoration: none;
      transition: border-color 0.25s, color 0.25s, background 0.25s;
    }
    .biz-card-action:hover {
      border-color: var(--gold);
      color: var(--gold);
    }
    .biz-card-action svg {
      width: 12px; height: 12px;
      stroke: currentColor; stroke-width: 1.5; fill: none;
    }
    .biz-card-action--primary {
      background: var(--charcoal);
      color: var(--ivory);
      border-color: var(--charcoal);
    }
    .biz-card-action--primary:hover {
      background: var(--deep);
      border-color: var(--deep);
      color: var(--ivory);
    }

    /* Flip hint */
    .biz-card-hint {
      font-size: 0.6rem;
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.1em;
      text-align: center;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 580px) {
      .biz-card-scene { width: min(360px, 92vw); }
      .biz-card-actions { gap: 0.5rem; }
      .biz-card-action { font-size: 0.56rem; padding: 0.45rem 0.85rem; }
    }
    /* prefers-reduced-motion */
    @media (prefers-reduced-motion: reduce) {
      .biz-card-inner { transition: none; }
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       DIGITAL BUSINESS CARD — photo-based
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .biz-card-section {
      padding-block: clamp(3rem,5vw,4.5rem);
      border-bottom: 1px solid var(--stone);
      display: flex; flex-direction: column;
      align-items: center; gap: 1.75rem;
    }
    .biz-card-section__eyebrow {
      font-size: 0.6rem; font-weight: 400;
      letter-spacing: 0.3em; text-transform: uppercase;
      color: var(--gold); text-align: center;
    }
    .biz-card-photo-frame {
      position: relative;
      width: min(680px, 94vw);
    }
    .biz-card-photo-frame::before {
      content: '';
      position: absolute; top: -7px; left: -7px;
      width: 26px; height: 26px;
      border-top: 2px solid rgba(154,128,96,0.55);
      border-left: 2px solid rgba(154,128,96,0.55);
      border-radius: 2px 0 0 0;
      z-index: 2; pointer-events: none;
    }
    .biz-card-photo-frame::after {
      content: '';
      position: absolute; bottom: -7px; right: -7px;
      width: 26px; height: 26px;
      border-bottom: 2px solid rgba(154,128,96,0.55);
      border-right: 2px solid rgba(154,128,96,0.55);
      border-radius: 0 0 2px 0;
      z-index: 2; pointer-events: none;
    }
    .biz-card-photo-wrap {
      border-radius: 10px; overflow: hidden;
      box-shadow: 0 4px 28px rgba(26,22,20,0.16), 0 1px 4px rgba(26,22,20,0.08);
      transition: box-shadow 0.4s ease, transform 0.4s ease;
    }
    .biz-card-photo-frame:hover .biz-card-photo-wrap {
      box-shadow: 0 12px 48px rgba(26,22,20,0.22), 0 2px 8px rgba(26,22,20,0.10);
      transform: translateY(-3px);
    }
    .biz-card-photo { width: 100%; height: auto; display: block; }
    .biz-card-actions {
      display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center;
    }
    .biz-card-action {
      display: inline-flex; align-items: center; gap: 0.5rem;
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--charcoal); background: none;
      border: 1px solid var(--stone); padding: 0.55rem 1.1rem;
      cursor: pointer; text-decoration: none;
      transition: border-color 0.25s, color 0.25s, background 0.25s;
    }
    .biz-card-action:hover { border-color: var(--gold); color: var(--gold); }
    .biz-card-action svg { width:12px; height:12px; stroke:currentColor; stroke-width:1.5; fill:none; }
    .biz-card-action--primary {
      background: var(--charcoal); color: var(--ivory); border-color: var(--charcoal);
    }
    .biz-card-action--primary:hover {
      background: var(--deep); border-color: var(--deep); color: var(--ivory);
    }
    @media (prefers-reduced-motion: reduce) {
      .biz-card-photo-wrap { transition: none; }
      .biz-card-photo-frame:hover .biz-card-photo-wrap { transform: none; }
    }


    /* ── Flip card 3-D rules ── */
    .flip-scene {
      width: min(320px, 82vw);
      aspect-ratio: 620 / 920;
      perspective: 1100px;
      cursor: pointer;
      position: relative;
    }
    .flip-inner {
      position: relative;
      width: 100%;
      height: 100%;
      transform-style: preserve-3d;
      transition: transform 0.72s cubic-bezier(0.4, 0, 0.2, 1);
      border-radius: 14px;
    }
    @media (hover: hover) {
      .flip-scene:hover .flip-inner { transform: rotateY(180deg); }
    }
    .flip-inner.is-flipped { transform: rotateY(180deg); }
    .flip-face {
      position: absolute;
      inset: 0;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      border-radius: 14px;
      overflow: hidden;
      box-shadow:
        0 6px 32px rgba(26,22,20,0.18),
        0 2px 8px  rgba(26,22,20,0.10),
        0 0 0 1px rgba(180,148,72,0.12);
    }
    .flip-face--back { transform: rotateY(180deg); }
    .flip-face img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
    }
    .flip-face--back img { object-position: center center; }
    /* ── Business card back: refreshed QR overlay ─────────────
       Composited on top of the back-face photo so the QR can be
       updated independently of the baked card design. Champagne-
       gold framed inset, bottom-right, paired near the contact
       actions below the card. */
    .biz-card-qr-overlay {
      position:      absolute;
      right:         clamp(0.85rem, 6%, 1.5rem);
      bottom:        clamp(0.85rem, 6%, 1.5rem);
      width:         clamp(56px, 18%, 92px);
      height:        clamp(56px, 18%, 92px);
      padding:       clamp(4px, 1.2%, 7px);
      background:    #FFFFFF;
      border:        1px solid rgba(196,169,125,0.55);
      border-radius: 6px;
      box-shadow:    0 4px 16px rgba(10,11,12,0.22);
      z-index:       3;
    }

    .flip-scene::after {
      content: '';
      position: absolute;
      inset: -8px;
      border-radius: 18px;
      background: radial-gradient(ellipse at center,
        rgba(154,128,96,0.12) 0%, transparent 70%);
      opacity: 0;
      transition: opacity 0.4s ease;
      pointer-events: none;
      z-index: -1;
    }
    .flip-scene:hover::after,
    .flip-scene:focus-visible::after { opacity: 1; }
    .flip-hint {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      font-size: 0.6rem;
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.12em;
      user-select: none;
    }
    .flip-hint svg {
      width: 13px; height: 13px;
      stroke: var(--gold); stroke-width: 1.5; fill: none; opacity: 0.7;
    }
    .flip-scene:focus-visible {
      outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 14px;
    }
    @media (prefers-reduced-motion: reduce) {
      .flip-inner { transition: none; }
      .flip-scene::after { display: none; }
    }


    /* ── Disc-panel bullet list ── */
    .disc-panel__list {
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
      margin-block-end: 2rem;
    }
    .disc-panel__list-item {
      display: flex;
      align-items: flex-start;
      gap: 0.65rem;
      font-size: clamp(0.72rem, 1.1vw, 0.82rem);
      font-weight: 300;
      line-height: 1.55;
    }
    .disc-panel--neuro .disc-panel__list-item  { color: rgba(248,245,240,0.65); }
    .disc-panel--aesthetic .disc-panel__list-item { color: var(--muted); }
    .disc-panel__list-dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.52em;
      opacity: 0.7;
    }


    /* ── CSS :target navigation — works WITHOUT JavaScript ──
       Clicking a nav href="#page-xxx" makes that element :target.
       Modern CSS :has() selector hides page-home when any other page
       is targeted. Falls back gracefully: without :has() support,
       the JS router takes over. ── */

    /* Any page becomes visible when it is the URL :target */
    .page:target {
      display: block !important;
      opacity: 1 !important;
      animation: pageIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
    }

    /* Hide home page when a non-home page is targeted */
    /* Hide home ONLY when a non-home page is the :target */
    html:has(
      #page-neurological-medicine:target,
      #page-aesthetic-medicine:target,
      #page-care-programs:target,
      #page-about:target,
      #page-gift-credits:target,
      #page-contact:target,
      #page-neuro-clinical-services:target
    ) #page-home {
      display: none !important;
    }

    /* Highlight matching nav link when its page is targeted */
    html:has(#page-home:target) a[href="#page-home"],
    html:has(#page-neurological-medicine:target) a[href="#page-neurological-medicine"],
    html:has(#page-aesthetic-medicine:target) a[href="#page-aesthetic-medicine"],
    html:has(#page-care-programs:target) a[href="#page-care-programs"],
    html:has(#page-about:target) a[href="#page-about"],
    html:has(#page-gift-credits:target) a[href="#page-gift-credits"],
    html:has(#page-contact:target) a[href="#page-contact"],
    html:has(#page-neuro-clinical-services:target) a[href="#page-neuro-clinical-services"] {
      color: var(--charcoal) !important;
    }
    html:has(#page-home:target) a[href="#page-home"]::after,
    html:has(#page-neurological-medicine:target) a[href="#page-neurological-medicine"]::after,
    html:has(#page-aesthetic-medicine:target) a[href="#page-aesthetic-medicine"]::after,
    html:has(#page-care-programs:target) a[href="#page-care-programs"]::after,
    html:has(#page-about:target) a[href="#page-about"]::after,
    html:has(#page-gift-credits:target) a[href="#page-gift-credits"]::after,
    html:has(#page-contact:target) a[href="#page-contact"]::after {
      width: 100% !important;
    }


    /* Homepage visible by default when no :target hash is active */
    #page-home { display: block; }
  
    /* ── Disc-panel content is above the fold: show immediately ──
       .reveal inside a .disc-panel gets opacity:0 from the base
       .reveal rule. For hero/gateway content that's already in
       the viewport on load, we skip the scroll-triggered animation. */
    .disc-panel .reveal,
    .disc-panel .disc-panel__content,
    .disc-panel .disc-panel__copy,
    .disc-panel .disc-panel__list,
    .disc-panel .disc-panel__title,
    .disc-panel .disc-panel__btn {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
    .philosophy__body {
      font-size: clamp(0.8rem, 1.1vw, 0.9rem);
      font-weight: 300;
      color: rgba(248,245,240,0.55);
      line-height: 1.95;
      max-width: 54ch;
      margin-block-start: 1.5rem;
    }

    /* ── Mobile nav: reliable 48px tap targets ── */
    @media (max-width: 768px) {
      .nav__list a {
        display: flex;
        align-items: center;
        min-height: 48px;
        padding-inline: 1.5rem;
        padding-block: 0.75rem;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        cursor: pointer;
        width: 100%;
        box-sizing: border-box;
      }
      .nav__list a:active {
        background: rgba(154,128,96,0.08);
      }
    }


    /* ── About page sections ── */
    .about-section {
      margin-block: clamp(2rem, 4vw, 3rem) 0;
    }
    .about-section--cta {
      padding-block: clamp(2rem, 4vw, 3rem);
    }
    .inner-page--prose .inner-page__col-body {
      font-size: clamp(0.9rem, 1.3vw, 1.05rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.9;
      max-width: 64ch;
      margin-block-start: 1rem;
    }
    .inner-page--prose .inner-page__col-body + .inner-page__col-body {
      margin-block-start: 0.9rem;
    }


    /* ── About page: Dr. Monti profile section ── */
    .about-section--profile { margin-block: clamp(2rem,4vw,3rem) 0; }
    .about-profile {
      display: grid;
      grid-template-columns: 280px 1fr;
      gap: clamp(2rem, 4vw, 3.5rem);
      align-items: start;
      margin-block-start: clamp(1.5rem,3vw,2.5rem);
    }
    @media (max-width: 700px) {
      .about-profile { grid-template-columns: 1fr; }
    }
    .about-profile__photo-wrap {
      position: sticky;
      top: calc(var(--nav-h) + 1.5rem);
    }
    .about-profile__photo {
      width: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
      object-position: center top;
      border-radius: 2px;
      display: block;
    }
    .about-profile__credentials {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
      margin-block-start: 1rem;
    }
    .about-profile__name {
      font-size: 1rem;
      font-weight: 500;
      color: var(--charcoal);
      font-family: var(--font-display);
      letter-spacing: 0.02em;
    }
    .about-profile__cred {
      font-size: 0.72rem;
      font-weight: 300;
      color: var(--muted);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      line-height: 1.7;
    }
    .about-profile__subheading {
      font-family: var(--font-display);
      font-size: clamp(0.95rem, 1.4vw, 1.1rem);
      font-weight: 400;
      color: var(--charcoal);
      letter-spacing: 0.02em;
      margin-block: 1.75rem 0.5rem;
    }
    .about-profile__footer {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-block-start: 2rem;
    }


    /* ═══════════════════════════════════════════════════════════
       SCROLL UX SYSTEM
       Four-part implementation:
         1. Overscroll prevention (no iOS bounce between pages)
         2. Homepage snap (hero + gateway + philosophy panels)
         3. Section-level proximity snapping on content pages
         4. Progress bar + back-to-top (JS-driven)
       ═══════════════════════════════════════════════════════════ */

    /* ── 1. OVERSCROLL: prevent bounce / rubber-band between pages ── */
    html {
      overscroll-behavior-y: none;
    }
    body {
      overscroll-behavior-y: none;
    }
    /* Allow natural scroll within a page content area */
    .page--active {
      overscroll-behavior-y: auto;
    }

    /* ── 2. HOMEPAGE SNAP CONTAINER ──────────────────────────────────
       Only page-home gets mandatory snapping — its sections are
       full-height panels designed for snap-to behavior.
       Content pages (neuro, aesthetic, about) stay freely scrollable
       so long-form text remains accessible.
    ── */
    #page-home {
      scroll-snap-type: y proximity;
      /* Note: snap-type on the PAGE element, not the viewport,
         means snapping applies within this page's scroll context */
    }
    .hero {
      scroll-snap-align: start;
      scroll-snap-stop: always;   /* must land here before passing */
      min-height: 100dvh;
    }
    .disciplines-split {
      scroll-snap-align: start;
      scroll-snap-stop: normal;
      min-height: 100svh;
    }
    .section--dark {
      scroll-snap-align: start;
      scroll-snap-stop: normal;
    }

    /* ── 3. CONTENT-PAGE SECTION SNAPPING ────────────────────────────
       proximity = only snaps if you stop scrolling near a boundary.
       Normal fast scrolling passes through freely.
       scroll-snap-stop: normal = user can scroll multiple sections.
    ── */
    .neuro-section,
    .team-section,
    .neuro-cta-footer,
    .about-section,
    .inner-page__inner > .inner-page__rule + .about-section,
    .inner-page__cols {
      scroll-snap-align: start;
      scroll-snap-stop: normal;
      scroll-margin-top: var(--nav-h);
    }

    /* ── 4. VISUAL SECTION DIVIDERS ──────────────────────────────────
       Stronger visual weight on horizontal rules so users perceive
       clear section breaks without scrolling blindly.
    ── */
    .inner-page__rule {
      margin-block: clamp(2rem, 4vw, 3rem);
    }
    .neuro-section + .neuro-section {
      border-top: 1px solid var(--stone);
      padding-block-start: clamp(2.5rem, 5vw, 4rem);
    }

    /* ── 5. SCROLL PROGRESS BAR ──────────────────────────────────────
       Thin gold line at the top of the viewport that fills as the
       user scrolls through the current page.
    ── */
    #scroll-progress {
      position: fixed;
      top: 0;
      left: 0;
      height: 2px;
      width: 0%;
      background: linear-gradient(90deg, var(--gold) 0%, var(--gold-lt) 100%);
      z-index: 200;
      transition: width 0.1s linear, opacity 0.3s ease;
      pointer-events: none;
      opacity: 0;
    }
    #scroll-progress.is-visible { opacity: 1; }

    /* ── 6. BACK-TO-TOP BUTTON ───────────────────────────────────────
       Appears after scrolling past 30% of the page.
       Small, minimal, consistent with brand aesthetic.
    ── */
    #back-to-top {
      position: fixed;
      bottom: clamp(1.25rem, 3vw, 2rem);
      right: clamp(1.25rem, 3vw, 2rem);
      width: 40px;
      height: 40px;
      border: 1px solid var(--stone);
      background: rgba(253,251,248,0.92);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 0.3s ease, transform 0.3s ease,
                  background 0.2s, border-color 0.2s;
      pointer-events: none;
      z-index: 150;
    }
    #back-to-top.is-visible {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
    #back-to-top:hover {
      background: var(--warm-white);
      border-color: var(--gold);
    }
    #back-to-top svg {
      width: 14px; height: 14px;
      stroke: var(--gold); stroke-width: 1.5;
      fill: none; stroke-linecap: round; stroke-linejoin: round;
    }

    /* ── 7. PAGE-END INDICATOR ───────────────────────────────────────
       A discreet marker at the end of each inner-page, signalling
       the user has reached the bottom of the current section.
    ── */
    .inner-page::after {
      content: '';
      display: block;
      width: 32px;
      height: 1px;
      background: var(--gold);
      opacity: 0.4;
      margin: clamp(3rem, 6vw, 5rem) auto 0;
    }

    /* ── 8. MOBILE OVERSCROLL CONTAINMENT ───────────────────────────
       Touch devices: prevent accidental page-navigation when
       swiping at the top or bottom of a section.
    ── */
    @media (pointer: coarse) {
      .page--active {
        touch-action: pan-y;
        overscroll-behavior-y: contain;
      }
    }


    /* ── About page: Our Clinical Staff directory ── */
    .staff-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: clamp(1.25rem, 2.5vw, 2rem);
      margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
    }
    .staff-card {
      border: 1px solid rgba(44,40,37,0.06);
      border-radius: 12px;
      padding: clamp(1.25rem, 2.5vw, 1.75rem);
      background: #FFFFFF;
      box-shadow: 0 2px 10px rgba(20,18,16,0.04), 0 1px 2px rgba(20,18,16,0.03);
      transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
    }
    .staff-card:hover {
      transform: translateY(-3px);
      border-color: rgba(196,169,125,0.3);
      box-shadow: 0 14px 30px rgba(20,18,16,0.08), 0 2px 6px rgba(20,18,16,0.05);
    }

    /* ── Premium team photo — uniform portrait container ───────
       width:100%; height:100%; object-fit:cover keeps every
       headshot sharp and proportioned regardless of source
       image dimensions. */
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       PROVIDER TEAM PHOTOGRAPHY STANDARD — read before adding photos
       ──────────────────────────────────────────────────────────
       Photo brief (applies to every .staff-card__photo):
         • Subject: head, shoulders, and upper torso, facing camera
         • Attire: clinical nursing/RN staff in MATCHING NAVY BLUE
           scrubs (consistent shade across all team members)
         • Background: clean, bright, low-glare, non-distracting
           (soft neutral wall or studio backdrop — no clutter)
         • Framing: subject's eyes/forehead positioned in the UPPER
           THIRD of the frame so object-position: center 20% below
           never crops the forehead or chin on any container size
         • Minimum source resolution: 1024×1024px (square or taller),
           saved at high quality — see "Image Quality Defenses" below

       Container: every provider photo sits in an identical
       aspect-ratio 4/5 portrait frame (.staff-card__photo-wrap),
       so all headshots scale to the SAME zoom level across desktop
       and mobile — no provider appears larger/smaller than another.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .staff-card__photo-wrap {
      width:          100%;
      aspect-ratio:   4 / 5;          /* identical portrait ratio — every card */
      overflow:       hidden;
      border-radius:  10px;
      background:     var(--stone);
      margin-block-end: 1.1rem;
    }
    .staff-card__photo {
      display:          block;
      width:            100%;
      max-width:        100%;         /* image quality defense — never overflow container */
      height:           100%;         /* fills the locked aspect-ratio frame */
      object-fit:       cover;        /* crop to fill without stretching/distorting */
      object-position:  center 20%;   /* face-safe: keeps forehead/chin in frame */
      image-rendering:  auto;         /* let the browser pick the sharpest scaling algorithm */
    }

    /* ── Placeholder for team members without a photo yet ──────
       Same aspect-ratio + radius as real photos so the grid
       stays perfectly uniform; swap for .staff-card__photo
       when a headshot becomes available. */
    .staff-card__avatar-placeholder {
      width:          100%;
      aspect-ratio:   4 / 5;
      border-radius:  10px;
      margin-block-end: 1.1rem;
      display:        flex;
      align-items:    center;
      justify-content: center;
      background:     linear-gradient(160deg, rgba(196,169,125,0.14), rgba(196,169,125,0.05));
      border:         1px solid rgba(196,169,125,0.18);
    }
    .staff-card__avatar-placeholder span {
      font-family:    var(--f-display);
      font-size:      clamp(2rem, 4vw, 2.75rem);
      font-weight:    400;
      letter-spacing: 0.08em;
      color:          var(--gold-accessible, #7A6040);
      opacity:        0.55;
    }

    /* ── Megan Phares — clear the fixed background watermark ──────────
       The site-wide watermark (body::before) is position: fixed;
       z-index: -1, and should sit harmlessly behind every card. On
       this specific card it was bleeding over the photo, so we give
       just this card and its photo wrapper an explicit positive
       stacking context (isolation: isolate keeps it self-contained —
       no effect on sibling cards) and an opaque background so nothing
       fixed behind the page can show through. Layout, sizing, and
       aspect-ratio are untouched — only stacking/paint order changes. */
    #staff-card--megan-phares {
      position:   relative;
      z-index:    2;
      isolation:  isolate;
    }
    #staff-card__photo-wrap--megan-phares {
      position:         relative;
      z-index:          2;
      background-color: var(--card-bg, #FFFFFF);
    }
    body.dark-theme #staff-card__photo-wrap--megan-phares {
      background-color: var(--ivory, #1f1e1b);
    }

    .staff-card--primary {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1.5rem;
      align-items: start;
    }
    @media (max-width: 560px) {
      .staff-card--primary { grid-template-columns: 1fr; }
    }
    /* ── Dr. Monti — primary card photo ────────────────────────
       Same crisp-rendering aspect-ratio container as the rest of
       the team (.staff-card__photo-wrap), with a fixed-width
       modifier so it sits neatly in the primary card's
       auto | 1fr two-column layout without breaking the grid. */
    .staff-card__photo-wrap--primary {
      width:        clamp(260px, 30vw, 400px);
      flex-shrink:  0;
      margin-block-end: 0;   /* sits beside the bio, not stacked above it */
    }
    @media (max-width: 560px) {
      .staff-card__photo-wrap--primary { width: 100%; }
    }
    .staff-card__avatar {
      width: 56px; height: 56px;
      border-radius: 50%;
      background: var(--stone);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-family: var(--font-display);
      font-size: 1.1rem;
      font-weight: 400;
      color: var(--muted);
      letter-spacing: 0.02em;
    }
    .staff-card__body { display: flex; flex-direction: column; gap: 0.25rem; }
    .staff-card__role {
      font-size: 0.66rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold-accessible, #7A6040);
      order: -1;                 /* role reads above the name */
      margin-block-end: 0.1rem;
    }
    .staff-card__name {
      font-family: var(--f-body);
      font-size: clamp(1.02rem, 1.55vw, 1.18rem);
      font-weight: 600;
      color: var(--deep, #1A1614);
      letter-spacing: 0.01em;
      margin-block: 0.2rem 0;
      line-height: 1.3;
    }
    .staff-card__credentials {
      font-size: 0.7rem;
      font-weight: 300;
      color: var(--muted);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      line-height: 1.7;
      margin-block-end: 0.75rem;
    }
    .staff-card__rule {
      width: 24px; height: 1px;
      background: var(--gold); opacity: 0.5;
      margin-block: 0.75rem;
    }
    .staff-card__bio {
      font-size: clamp(0.82rem, 1.15vw, 0.9rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
    }
    .staff-card__tags {
      display: flex; flex-wrap: wrap; gap: 0.4rem;
      margin-block-start: 1rem;
    }
    .staff-card__tag {
      font-size: 0.65rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--muted);
      background: var(--stone);
      border-radius: 1px;
      padding: 0.2rem 0.55rem;
    }


    /* ═══════════════════════════════════════════════════════════
       CLINICAL DOSSIER — interactive disclosure widget
       Uses native <details>/<summary> for zero-JS accessibility.
       Styled to match the luxury brand aesthetic.
       ═══════════════════════════════════════════════════════════ */

    .dossier-wrap {
      margin-block: 2rem 0;
      border: 1px solid var(--stone);
      border-radius: 2px;
    }

    /* Toggle trigger */
    .dossier-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 1rem 1.25rem;
      cursor: pointer;
      list-style: none;
      user-select: none;
      -webkit-user-select: none;
      background: transparent;
      transition: background 0.2s;
    }
    .dossier-toggle::-webkit-details-marker { display: none; }
    .dossier-wrap[open] > summary.dossier-toggle,
    .dossier-wrap:hover > summary.dossier-toggle {
      background: rgba(232,226,217,0.3);
    }
    .dossier-toggle__label {
      font-size: 0.7rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .dossier-toggle__chevron {
      width: 14px; height: 14px;
      stroke: var(--gold); stroke-width: 1.5;
      fill: none; stroke-linecap: round; stroke-linejoin: round;
      flex-shrink: 0;
      transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .dossier-wrap[open] .dossier-toggle__chevron {
      transform: rotate(180deg);
    }

    /* Inner content */
    .dossier-body {
      border-top: 1px solid var(--stone);
      padding: 1.5rem 1.25rem clamp(1.5rem,3vw,2.5rem);
    }

    /* Section blocks */
    .dossier-section {
      margin-block-start: 1.75rem;
    }
    .dossier-section:first-child { margin-block-start: 0; }
    .dossier-section__label {
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      display: block;
      margin-block-end: 0.65rem;
      padding-block-end: 0.5rem;
      border-bottom: 1px solid var(--stone);
    }
    .dossier-section__items {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
    }
    .dossier-item {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 0.5rem 1rem;
      align-items: start;
    }
    .dossier-item__body { }
    .dossier-item__title {
      font-size: clamp(0.8rem, 1.1vw, 0.88rem);
      font-weight: 400;
      color: var(--charcoal);
      line-height: 1.5;
    }
    .dossier-item__sub {
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.6;
      margin-block-start: 0.1rem;
    }
    .dossier-item__year {
      font-size: 0.7rem;
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.04em;
      white-space: nowrap;
      padding-block-start: 0.15rem;
    }
    /* Accolades — centered, prestige layout */
    .dossier-section--honors .dossier-section__items {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 0.75rem;
    }
    .dossier-honor {
      flex: 1 1 180px;
      border: 1px solid var(--stone);
      border-radius: 2px;
      padding: 0.75rem 1rem;
      text-align: center;
    }
    .dossier-honor__text {
      font-size: 0.78rem;
      font-weight: 400;
      color: var(--charcoal);
      line-height: 1.5;
    }
    .dossier-honor__sub {
      font-size: 0.68rem;
      font-weight: 300;
      color: var(--muted);
      margin-block-start: 0.2rem;
    }


    /* ── Research & Presentations section ── */
    .research-section { margin-block: clamp(2rem,4vw,3rem) 0; }
    .research-intro {
      max-width: 62ch;
      font-size: clamp(0.875rem,1.25vw,0.975rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.9;
      margin-block-start: 0.75rem;
      font-style: italic;
    }
    .research-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(1rem,2vw,1.5rem);
      margin-block-start: clamp(1.75rem,3.5vw,2.5rem);
    }
    @media (max-width: 680px) {
      .research-grid { grid-template-columns: 1fr; }
    }
    /* Feature card: first item spans full width */
    .research-card { position: relative; }
    .research-card--feature {
      grid-column: 1 / -1;
    }
    .research-card__inner {
      border: 1px solid var(--stone);
      border-radius: 2px;
      padding: clamp(1.25rem,2.5vw,1.75rem) clamp(1.25rem,2.5vw,1.75rem) 1.5rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: border-color 0.25s, box-shadow 0.25s;
      background: var(--warm-white);
    }
    .research-card__inner:hover {
      border-color: var(--taupe);
      box-shadow: 0 4px 28px rgba(26,22,20,0.06);
    }
    /* Gold top bar on feature card */
    .research-card--feature .research-card__inner::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--gold) 0%, var(--gold-lt) 60%, transparent 100%);
      border-radius: 2px 2px 0 0;
    }
    .research-card__category {
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 0.6rem;
    }
    .research-card__title {
      font-family: var(--font-display);
      font-size: clamp(0.95rem,1.5vw,1.1rem);
      font-weight: 400;
      color: var(--charcoal);
      line-height: 1.45;
      letter-spacing: 0.01em;
      margin-block-end: 0.35rem;
    }
    .research-card__venue {
      font-size: 0.72rem;
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      margin-block-end: 1rem;
    }
    .research-card__desc {
      font-size: clamp(0.8rem,1.1vw,0.875rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      flex: 1;
    }
    .research-card__relevance {
      margin-block-start: 1.1rem;
      padding-block-start: 1rem;
      border-top: 1px solid var(--stone);
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--taupe);
      line-height: 1.7;
      display: flex;
      gap: 0.5rem;
      align-items: flex-start;
    }
    .research-card__relevance-dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.42em;
      opacity: 0.7;
    }


    /* ═══════════════════════════════════════════════════════════
       HOMEPAGE TRUST ARCHITECTURE
       1. Commitments / Ethos
       2. Patient Fit
       3. Clinical Accreditations bar
       ═══════════════════════════════════════════════════════════ */

    /* ── SHARED: section wrapper ── */
    .hp-trust-section {
      padding-block: clamp(4rem, 8vw, 7rem);
      padding-inline: clamp(1.5rem, 6vw, 5rem);
    }
    .hp-trust-section__label {
      display: block;
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 0.9rem;
    }
    .hp-trust-section__heading {
      font-family: var(--font-display);
      font-size: clamp(1.6rem, 3.5vw, 2.4rem);
      font-weight: 300;
      color: var(--deep);
      letter-spacing: 0.02em;
      line-height: 1.25;
      max-width: 22ch;
      margin-block-end: clamp(1rem,2vw,1.5rem);
    }
    .hp-trust-section__lead {
      font-size: clamp(0.875rem, 1.3vw, 1rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.9;
      max-width: 60ch;
      margin-block-end: clamp(2.5rem, 5vw, 4rem);
    }

    /* ── 1. COMMITMENTS / ETHOS ── */
    .commitments-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: clamp(1px,0.2vw,2px);
      border: 1px solid var(--stone);
    }
    .commitment-item {
      padding: clamp(1.5rem, 3vw, 2.25rem);
      border-right: 1px solid var(--stone);
      border-bottom: 1px solid var(--stone);
      background: var(--warm-white);
      transition: background 0.3s;
      position: relative;
    }
    .commitment-item:hover { background: var(--ivory); }
    .commitment-item::before {
      content: '';
      position: absolute;
      top: 0; left: clamp(1.5rem,3vw,2.25rem);
      width: 20px; height: 1px;
      background: var(--gold);
    }
    .commitment-item__number {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--taupe);
      margin-block-end: 0.75rem;
      display: block;
    }
    .commitment-item__title {
      font-family: var(--font-display);
      font-size: clamp(0.95rem,1.4vw,1.05rem);
      font-weight: 400;
      color: var(--charcoal);
      letter-spacing: 0.01em;
      line-height: 1.4;
      margin-block-end: 0.6rem;
    }
    .commitment-item__body {
      font-size: clamp(0.78rem, 1.1vw, 0.85rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
    }

    /* ── 2. PATIENT FIT ── */
    .patient-fit-section { background: var(--ivory); }
    .patient-fit-cols {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(2rem, 5vw, 5rem);
      align-items: start;
    }
    @media (max-width: 700px) {
      .patient-fit-cols { grid-template-columns: 1fr; }
    }
    .patient-fit__profiles {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }
    .patient-fit__profile {
      display: flex;
      gap: 1rem;
      align-items: flex-start;
    }
    .patient-fit__dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--gold);
      flex-shrink: 0;
      margin-block-start: 0.55em;
    }
    .patient-fit__profile-text {
      font-size: clamp(0.82rem,1.15vw,0.92rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
    }
    .patient-fit__profile-text strong {
      font-weight: 400;
      color: var(--charcoal);
      display: block;
      margin-block-end: 0.2rem;
      font-size: 0.78rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .patient-fit__aside {
      position: sticky;
      top: calc(var(--nav-h) + 2rem);
    }
    .patient-fit__aside-quote {
      font-family: var(--font-display);
      font-size: clamp(1.2rem,2.2vw,1.6rem);
      font-weight: 300;
      color: var(--charcoal);
      line-height: 1.45;
      letter-spacing: 0.01em;
    }
    .patient-fit__aside-attr {
      display: block;
      font-size: 0.72rem;
      font-weight: 300;
      color: var(--taupe);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-block-start: 1.25rem;
    }
    .patient-fit__aside-rule {
      width: 28px; height: 1px;
      background: var(--gold); opacity: 0.5;
      margin-block: 1.25rem 0;
    }
    .patient-fit__cta {
      margin-block-start: 2rem;
    }

    /* ── 3. ACCREDITATIONS BAR ── */
    .accreditations-section {
      background: var(--deep);
      padding-block: clamp(2.5rem, 5vw, 4rem);
      padding-inline: clamp(1.5rem, 6vw, 5rem);
    }
    .accreditations-label {
      display: block;
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(248,245,240,0.35);
      margin-block-end: 1.75rem;
      text-align: center;
    }
    .accreditations-bar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: clamp(1.5rem, 4vw, 3.5rem);
      row-gap: 1.25rem;
    }
    .accreditation-badge {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.25rem;
      opacity: 0.55;
      transition: opacity 0.25s;
    }
    .accreditation-badge:hover { opacity: 0.85; }
    .accreditation-badge__abbr {
      font-family: var(--font-display);
      font-size: clamp(1rem, 1.6vw, 1.2rem);
      font-weight: 400;
      color: var(--ivory);
      letter-spacing: 0.05em;
    }
    .accreditation-badge__name {
      font-size: 0.6rem;
      font-weight: 300;
      color: rgba(248,245,240,0.5);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-align: center;
      max-width: 14ch;
      line-height: 1.5;
    }
    .accreditations-divider {
      width: 1px;
      height: 32px;
      background: rgba(248,245,240,0.12);
      flex-shrink: 0;
    }
    @media (max-width: 560px) {
      .accreditations-divider { display: none; }
    }


    /* ── Contact: Premium Transportation section ── */
    .transport-section {
      margin-block-start: clamp(2rem,4vw,3rem);
    }
    .transport-section__label {
      display: block;
      font-size: 0.62rem;
      font-weight: 400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 0.6rem;
    }
    .transport-section__heading {
      font-family: var(--font-display);
      font-size: clamp(1rem,1.6vw,1.2rem);
      font-weight: 400;
      color: var(--charcoal);
      letter-spacing: 0.02em;
      margin-block-end: 0.6rem;
    }
    .transport-section__intro {
      font-size: clamp(0.8rem,1.1vw,0.875rem);
      font-weight: 300;
      color: var(--muted);
      line-height: 1.85;
      max-width: 58ch;
      margin-block-end: 1.5rem;
    }
    .transport-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(0.75rem,1.5vw,1.25rem);
    }
    @media (max-width: 600px) {
      .transport-grid { grid-template-columns: 1fr; }
    }
    .transport-card {
      border: 1px solid var(--stone);
      border-radius: 2px;
      padding: 1.1rem 1.25rem;
      background: var(--warm-white);
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .transport-card:hover {
      border-color: var(--taupe);
      box-shadow: 0 3px 16px rgba(26,22,20,0.05);
    }
    .transport-card--rideshare {
      grid-column: 1 / -1;
      border-color: var(--taupe);
    }
    .transport-card__type {
      font-size: 0.6rem;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-block-end: 0.35rem;
      display: block;
    }
    .transport-card__name {
      font-family: var(--font-display);
      font-size: clamp(0.9rem,1.3vw,1rem);
      font-weight: 400;
      color: var(--charcoal);
      letter-spacing: 0.01em;
      margin-block-end: 0.3rem;
    }
    .transport-card__desc {
      font-size: 0.78rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.75;
    }
    .transport-card__note {
      font-size: 0.7rem;
      font-weight: 300;
      color: var(--taupe);
      font-style: italic;
      margin-block-start: 0.5rem;
    }
    .transport-note {
      margin-block-start: 1rem;
      padding: 0.85rem 1rem;
      background: var(--ivory);
      border-left: 2px solid var(--gold);
      font-size: 0.75rem;
      font-weight: 300;
      color: var(--muted);
      line-height: 1.75;
    }

/* ── Multi-page overrides: every page is always visible ── */
.page {
  display: block !important;
  opacity: 1 !important;
  animation: none !important;
}
/* Hide the SPA toggle button on multi-page */
.page-switch-toggle { display: none !important; }
/* Scroll snapping on root */
html { scroll-snap-type: none; }


    /* ═══════════════════════════════════════════════════════════
       DIGITAL CONCIERGE FLOW
       3-step intake funnel — Neurological / Aesthetic pathways
       ═══════════════════════════════════════════════════════════ */
    .concierge-flow {
      padding: clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,5rem);
      background: var(--deep);
      position: relative;
      overflow: hidden;
    }
    .concierge-flow::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 60% at 80% 50%,
                  rgba(154,128,96,0.07) 0%, transparent 70%);
      pointer-events: none;
    }
    .concierge-flow__label {
      display: block;
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.22em;
      text-transform: uppercase; color: var(--gold);
      margin-block-end: 0.8rem;
    }
    .concierge-flow__heading {
      font-family: var(--font-display);
      font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 300;
      color: var(--ivory); letter-spacing: 0.02em; line-height: 1.3;
      max-width: 28ch; margin-block-end: 0.75rem;
    }
    .concierge-flow__sub {
      font-size: clamp(0.8rem,1.1vw,0.875rem); font-weight: 300;
      color: rgba(248,245,240,0.45); line-height: 1.85;
      max-width: 52ch; margin-block-end: clamp(2.5rem,5vw,4rem);
    }
    /* Step indicator */
    .concierge-steps {
      display: flex; align-items: center; gap: 0.5rem;
      margin-block-end: 2rem;
    }
    .concierge-step-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: rgba(248,245,240,0.2);
      transition: background 0.3s, width 0.3s;
    }
    .concierge-step-dot.is-active {
      background: var(--gold); width: 20px; border-radius: 3px;
    }
    .concierge-step-dot.is-done { background: rgba(154,128,96,0.5); }
    /* Cards */
    .concierge-panel { display: none; }
    .concierge-panel.is-active { display: block; }
    .concierge-panel__question {
      font-family: var(--font-display);
      font-size: clamp(1.05rem,1.8vw,1.35rem); font-weight: 300;
      color: var(--ivory); letter-spacing: 0.01em; line-height: 1.4;
      margin-block-end: clamp(1.5rem,3vw,2rem);
    }
    .concierge-options {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1px; background: rgba(248,245,240,0.08);
    }
    .concierge-option {
      background: rgba(26,22,20,0.7);
      border: none; cursor: pointer; text-align: left;
      padding: clamp(1.25rem,2.5vw,1.75rem);
      transition: background 0.2s, border-color 0.2s;
      position: relative; outline: none;
    }
    .concierge-option:hover, .concierge-option:focus-visible {
      background: rgba(154,128,96,0.12);
    }
    .concierge-option.is-selected {
      background: rgba(154,128,96,0.18);
    }
    .concierge-option::after {
      content: '→';
      position: absolute; right: 1.25rem; top: 50%;
      transform: translateY(-50%) translateX(-4px);
      color: var(--gold); opacity: 0;
      transition: opacity 0.2s, transform 0.2s;
      font-size: 0.9rem;
    }
    .concierge-option:hover::after { opacity: 1; transform: translateY(-50%) translateX(0); }
    .concierge-option__label {
      font-size: 0.6rem; font-weight: 400; letter-spacing: 0.18em;
      text-transform: uppercase; color: var(--gold); display: block;
      margin-block-end: 0.4rem;
    }
    .concierge-option__title {
      font-family: var(--font-display);
      font-size: clamp(0.95rem,1.4vw,1.05rem); font-weight: 400;
      color: var(--ivory); line-height: 1.4; margin-block-end: 0.4rem;
    }
    .concierge-option__desc {
      font-size: 0.75rem; font-weight: 300;
      color: rgba(248,245,240,0.45); line-height: 1.7;
    }
    .concierge-nav {
      display: flex; align-items: center; justify-content: space-between;
      gap: 1rem; margin-block-start: 2rem;
    }
    .concierge-back {
      background: none; border: none; cursor: pointer;
      font-size: 0.72rem; font-weight: 300; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(248,245,240,0.35);
      padding: 0; transition: color 0.2s;
    }
    .concierge-back:hover { color: var(--ivory); }
    .concierge-next {
      font-size: 0.72rem; font-weight: 400; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--charcoal);
      background: var(--gold); border: none; cursor: pointer;
      padding: 0.75rem 1.75rem; border-radius: 1px;
      transition: background 0.2s, opacity 0.2s;
    }
    .concierge-next:disabled { opacity: 0.3; cursor: default; }
    .concierge-next:not(:disabled):hover { background: var(--gold-lt); }
    /* Final CTA state */
    .concierge-final {
      max-width: 500px;
      padding: clamp(2rem,4vw,3rem);
      border: 1px solid rgba(248,245,240,0.12);
    }
    .concierge-final__summary {
      font-size: 0.68rem; font-weight: 300; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--gold);
      margin-block-end: 1rem; display: block;
    }
    .concierge-final__msg {
      font-family: var(--font-display);
      font-size: clamp(1rem,1.6vw,1.2rem); font-weight: 300;
      color: var(--ivory); line-height: 1.5; margin-block-end: 1.5rem;
    }
    .concierge-final__actions {
      display: flex; flex-direction: column; gap: 0.75rem;
    }


    /* ── Anatomy of a Procedure Module ── */
    .anatomy-module { padding: clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,5rem); }
    .anatomy-module__meta {
      display: flex; align-items: baseline; gap: 1rem;
      flex-wrap: wrap; margin-block-end: clamp(2rem,4vw,3.5rem);
    }
    .anatomy-module__procedure-label {
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.2em;
      text-transform: uppercase; color: var(--gold);
    }
    .anatomy-module__procedure-name {
      font-family: var(--font-display);
      font-size: clamp(1.8rem,4vw,3rem); font-weight: 300;
      color: var(--deep); letter-spacing: 0.01em; line-height: 1.2;
    }
    .anatomy-module__procedure-sub {
      font-size: clamp(0.82rem,1.15vw,0.92rem); font-weight: 300;
      color: var(--muted); line-height: 1.85; max-width: 60ch;
      margin-block-end: clamp(2.5rem,5vw,4rem);
    }
    .anatomy-pillars {
      display: grid; grid-template-columns: repeat(3,1fr);
      gap: 1px; background: var(--stone);
    }
    @media (max-width: 780px) {
      .anatomy-pillars { grid-template-columns: 1fr; }
    }
    .anatomy-pillar {
      background: var(--warm-white);
      padding: clamp(1.5rem,3vw,2.5rem);
      position: relative;
    }
    .anatomy-pillar::before {
      content: '';
      position: absolute; top: 0; left: clamp(1.5rem,3vw,2.5rem);
      right: clamp(1.5rem,3vw,2.5rem); height: 2px;
      background: var(--gold); opacity: 0;
      transition: opacity 0.3s;
    }
    .anatomy-pillar:hover::before { opacity: 0.6; }
    .anatomy-pillar__num {
      font-size: 0.58rem; font-weight: 400; letter-spacing: 0.2em;
      text-transform: uppercase; color: var(--taupe);
      display: block; margin-block-end: 0.5rem;
    }
    .anatomy-pillar__heading {
      font-family: var(--font-display);
      font-size: clamp(1rem,1.6vw,1.2rem); font-weight: 400;
      color: var(--charcoal); letter-spacing: 0.01em; line-height: 1.3;
      margin-block-end: 1rem;
    }
    .anatomy-pillar__body {
      font-size: clamp(0.8rem,1.1vw,0.875rem); font-weight: 300;
      color: var(--muted); line-height: 1.9;
    }
    .anatomy-pillar__body p + p { margin-block-start: 0.85rem; }
    .anatomy-pillar__list {
      list-style: none; padding: 0; margin: 0.85rem 0 0;
      display: flex; flex-direction: column; gap: 0.5rem;
    }
    .anatomy-pillar__list li {
      display: flex; gap: 0.65rem; align-items: flex-start;
      font-size: clamp(0.78rem,1.05vw,0.84rem); font-weight: 300;
      color: var(--muted); line-height: 1.7;
    }
    .anatomy-pillar__list li::before {
      content: ''; width: 4px; height: 4px; border-radius: 50%;
      background: var(--gold); flex-shrink: 0; margin-block-start: 0.5em; opacity: 0.6;
    }
    /* Horizon timeline */
    .anatomy-horizon {
      margin-block-start: 1.2rem;
      display: flex; flex-direction: column; gap: 0.75rem;
    }
    .anatomy-horizon__item {
      display: grid; grid-template-columns: 80px 1fr; gap: 1rem; align-items: start;
    }
    .anatomy-horizon__period {
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--gold); line-height: 1.5;
    }
    .anatomy-horizon__desc {
      font-size: clamp(0.78rem,1.05vw,0.84rem); font-weight: 300;
      color: var(--muted); line-height: 1.7;
    }


    /* ── Clinical Glossary ── */
    .glossary-section {
      padding: clamp(4rem,8vw,7rem) clamp(1.5rem,6vw,5rem);
      background: var(--ivory);
    }
    .glossary-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
      gap: clamp(1rem,2vw,1.5rem);
      margin-block-start: clamp(2rem,4vw,3rem);
    }
    .glossary-term {
      border: 1px solid var(--stone); border-radius: 2px;
      background: var(--warm-white); overflow: hidden;
      transition: border-color 0.25s, box-shadow 0.25s;
    }
    .glossary-term:hover {
      border-color: var(--taupe);
      box-shadow: 0 4px 24px rgba(26,22,20,0.06);
    }
    .glossary-term[open] { border-color: var(--gold); }
    .glossary-term__trigger {
      display: flex; align-items: center; justify-content: space-between;
      gap: 1rem; padding: 1.25rem 1.25rem 1.25rem 1.5rem;
      cursor: pointer; list-style: none; user-select: none;
    }
    .glossary-term__trigger::-webkit-details-marker { display: none; }
    .glossary-term__trigger-inner { flex: 1; }
    .glossary-term__discipline {
      font-size: 0.58rem; font-weight: 400; letter-spacing: 0.2em;
      text-transform: uppercase; color: var(--gold);
      display: block; margin-block-end: 0.25rem;
    }
    .glossary-term__word {
      font-family: var(--font-display);
      font-size: clamp(0.95rem,1.4vw,1.1rem); font-weight: 400;
      color: var(--charcoal); letter-spacing: 0.01em;
    }
    .glossary-term__chevron {
      width: 14px; height: 14px; stroke: var(--taupe); stroke-width: 1.5;
      fill: none; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0;
      transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), stroke 0.2s;
    }
    .glossary-term[open] .glossary-term__chevron {
      transform: rotate(180deg); stroke: var(--gold);
    }
    .glossary-term__body {
      padding: 0 1.5rem 1.5rem;
      border-top: 1px solid var(--stone);
    }
    .glossary-term__definition {
      font-size: clamp(0.8rem,1.1vw,0.875rem); font-weight: 300;
      color: var(--muted); line-height: 1.9; padding-block-start: 1rem;
    }
    .glossary-term__definition p + p { margin-block-start: 0.75rem; }
    .glossary-term__clinical-note {
      margin-block-start: 1rem; padding: 0.75rem 1rem;
      background: var(--ivory); border-left: 2px solid var(--gold);
      font-size: 0.73rem; font-weight: 300; color: var(--muted);
      line-height: 1.75;
    }
    .glossary-term__clinical-note strong {
      font-weight: 400; color: var(--charcoal); display: block;
      font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase;
      margin-block-end: 0.25rem;
    }


    /* ═══════════════════════════════════════════════════════════
       SPACING OPTIMIZATION — replaces over-generous legacy tokens
       ═══════════════════════════════════════════════════════════ */

    :root {
      --sp-section:    clamp(3rem, 5vw, 5rem);
      --sp-section-xl: clamp(4rem, 6vw, 6rem);
      --sp-page-top:   clamp(1.75rem, 3vw, 2.75rem);
      --sp-inner:      clamp(2.5rem, 4vw, 4rem);
      --sp-inline:     clamp(1.25rem, 4vw, 4rem);
    }

    .hero {
      padding-block-start: calc(var(--nav-h) + clamp(1.5rem, 3vw, 3rem));
      padding-block-end:   clamp(3rem, 6vw, 5rem);
      padding-inline:      clamp(1.25rem, 5vw, 4rem);
    }

    .inner-page {
      padding-block-start: calc(var(--nav-h) + clamp(1.75rem, 3vw, 2.75rem));
      padding-block-end:   clamp(3rem, 5vw, 5rem);
      padding-inline:      var(--sp-inline);
    }

    .hp-trust-section,
    .anatomy-module,
    .glossary-section,
    .dossier-section,
    .case-study-section,
    .timeline-viz,
    .concierge-flow,
    .portal-gateway,
    .accreditations-section,
    .section--dark {
      padding-block: clamp(3rem, 6vw, 5.5rem);
      padding-inline: clamp(1.25rem, 5vw, 4rem);
    }

    .disciplines-split { padding-block-start: 0; margin-block-start: 0; }
    .nav { top: 0; }

    @media (max-width: 600px) {
      :root {
        --nav-h:       60px;
        --sp-inline:   1.1rem;
        --sp-page-top: 1.25rem;
      }
      .hero {
        padding-block-start: calc(var(--nav-h) + 1.25rem);
        padding-block-end:   2.5rem;
        padding-inline:      1.1rem;
        min-height: 100svh;
      }
      .hero__title   { font-size: clamp(2rem, 8vw, 3rem); }
      .hero__tagline { font-size: 0.85rem; }
      .inner-page {
        padding-block-start: calc(var(--nav-h) + 1.25rem);
        padding-block-end:   2.5rem;
        padding-inline:      1.1rem;
      }
      .inner-page__title { font-size: clamp(1.6rem, 7vw, 2.2rem); }
      .anatomy-pillars,
      .staff-grid,
      .transport-grid,
      .timeline-rail,
      .research-grid,
      .dossier-inner,
      .case-study-grid,
      .patient-fit-cols,
      .about-profile,
      .commitments-grid,
      .dossier-deliverables,
      .glossary-grid { grid-template-columns: 1fr !important; }
      .about-profile__photo-wrap { position: static !important; }
      .staff-card--primary       { grid-template-columns: 1fr !important; }
      .nav__inner                { padding-inline: 1rem; }
      .nav__brand-text           { font-size: 0.7rem; }
      .accreditations-bar        { gap: 1.25rem; }
      .accreditations-divider    { display: none; }
      .case-study__meta          { flex-direction: column; gap: 0.5rem; }
      .case-study__disclosure    { margin-inline-start: 0; }
      .hp-trust-section,
      .anatomy-module,
      .glossary-section,
      .dossier-section,
      .case-study-section,
      .timeline-viz,
      .concierge-flow,
      .portal-gateway,
      .accreditations-section,
      .section--dark {
        padding-block: 2.5rem;
        padding-inline: 1.1rem;
      }
    }

    @media (max-width: 780px) {
      :root { --nav-h: 64px; }
      .hero         { padding-block-start: calc(var(--nav-h) + 1.5rem); }
      .inner-page {
        padding-block-start: calc(var(--nav-h) + 1.5rem);
        padding-inline: clamp(1.1rem, 4vw, 2rem);
      }
      .inner-page__title { font-size: clamp(1.7rem, 6vw, 2.5rem); }
      .anatomy-pillars,
      .case-study-grid,
      .dossier-inner,
      .research-grid,
      .patient-fit-cols,
      .about-profile { grid-template-columns: 1fr; }
      .staff-grid    { grid-template-columns: 1fr 1fr; }
      .staff-card--primary { grid-column: 1 / -1; }
      .timeline-rail { grid-template-columns: 1fr; }
      .timeline-rail::before { display: none; }
    }

    @media (max-width: 1024px) {
      .inner-page__title { font-size: clamp(1.8rem, 5vw, 2.8rem); }
      .hero__title       { font-size: clamp(2.5rem, 7vw, 5rem); }
    }

 

    /* ═══════════════════════════════════════════════════════════════
       LAYOUT OPTIMIZATION — authoritative overrides (final cascade)
       Placed LAST — these values win over all earlier declarations.
       ═══════════════════════════════════════════════════════════════ */

    /* 1. AUTHORITATIVE TOKEN SET */
    :root {
      --nav-h:            64px;
      --sp-section:       clamp(2.5rem, 4vw, 4rem);
      --sp-section-xl:    clamp(2.5rem, 4vw, 4rem);
      --sp-page-top:      clamp(1.5rem, 2.5vw, 2.25rem);
      --sp-inner:         clamp(2rem, 3.5vw, 3.5rem);
      --sp-inline:        clamp(1.25rem, 5vw, 4.5rem);
    }

    /* 2. ZERO EXTERNAL MARGIN */
    html, body { margin: 0; padding: 0; }
    #js-outlet  { margin-block-start: 0; padding-block-start: 0; }

    /* 3. NAV — pinned at 0,0 */
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: var(--nav-h); }

    /* 4. HERO — tight intentional clearance */
    .hero {
      min-height: 100svh;
      padding-block-start: calc(var(--nav-h) + clamp(1rem, 2vw, 1.75rem));
      padding-block-end:   clamp(2.5rem, 5vw, 4.5rem);
      padding-inline:      clamp(1.25rem, 5vw, 4.5rem);
    }

    /* 5. INNER-PAGE — all content pages */
    .inner-page {
      padding-block-start: calc(var(--nav-h) + clamp(1.5rem, 2.5vw, 2.25rem));
      padding-block-end:   clamp(3rem, 5vw, 5rem);
      padding-inline:      clamp(1.25rem, 5vw, 4.5rem);
      min-height: 100svh;
    }
    .inner-page__inner { max-width: 1200px; margin-inline: auto; }
    .inner-page__eyebrow { margin-block-end: 0.5rem; }
    .inner-page__title   { margin-block: 0 0.75rem; }
    .inner-page__lead    { margin-block: 0 clamp(1.5rem, 3vw, 2.5rem); }
    .inner-page__rule    { margin-block: clamp(1.5rem, 3vw, 2.5rem); }

    /* 6. DISC SPLIT */
    .disciplines-split { margin-block-start: 0; padding-block-start: 0; }

    /* 7. HOMEPAGE TRUST SECTIONS */
    .hp-trust-section    { padding-block: clamp(3rem, 5.5vw, 5rem); padding-inline: clamp(1.25rem, 6vw, 5rem); }
    .accreditations-section { padding-block: clamp(2rem, 4vw, 3.5rem); padding-inline: clamp(1.25rem, 6vw, 5rem); }

    /* 8. FEATURE SECTIONS */
    .section--dark, .timeline-viz, .concierge-flow,
    .dossier-section, .case-study-section, .anatomy-module,
    .glossary-section, .portal-gateway {
      padding-block: clamp(3rem, 6vw, 6rem);
      padding-inline: clamp(1.25rem, 6vw, 5rem);
    }

    /* 9. TABLET: 768px */
    @media (max-width: 768px) {
      :root { --nav-h: 60px; --sp-inline: clamp(1rem, 4vw, 2rem); --sp-inner: clamp(1.5rem, 3vw, 2.5rem); }
      .nav__inner { padding-inline: 1rem; }
      .hero { padding-block-start: calc(var(--nav-h) + 1.25rem); padding-block-end: 2.5rem; padding-inline: 1.25rem; }
      .inner-page { padding-block-start: calc(var(--nav-h) + 1.25rem); padding-block-end: 2.5rem; padding-inline: 1.25rem; }
      .commitments-grid, .staff-grid, .dossier-deliverables,
      .research-grid, .anatomy-pillars, .case-study-grid,
      .patient-fit-cols, .dossier-inner, .about-profile,
      .transport-grid { grid-template-columns: 1fr; }
      .about-profile__photo-wrap, .patient-fit__aside,
      .dossier-aside, .case-study-sidebar { position: static; }
      .concierge-options, .timeline-rail { grid-template-columns: 1fr; }
      .timeline-rail::before { display: none; }
      .disciplines-split { grid-template-columns: 1fr; grid-template-rows: auto 1px auto; min-height: auto; }
      .disc-panel { min-height: 50svh; }
      .hp-trust-section, .accreditations-section { padding-block: clamp(2rem,4vw,3rem); padding-inline: 1.25rem; }
      .section--dark, .timeline-viz, .concierge-flow,
      .dossier-section, .case-study-section { padding-block: 2.5rem; padding-inline: 1.25rem; }
    }

    /* 10. MOBILE: 480px */
    @media (max-width: 480px) {
      :root { --nav-h: 56px; --sp-inline: 1rem; }
      .hero { padding-block-start: calc(var(--nav-h) + 0.875rem); padding-block-end: 2rem; padding-inline: 1rem; }
      .inner-page { padding-block-start: calc(var(--nav-h) + 0.875rem); padding-block-end: 2rem; padding-inline: 1rem; }
      .inner-page__lead { margin-block-end: 1.25rem; }
      .inner-page__rule { margin-block: 1.25rem; }
      .nav__brand-text { display: none; }
      .section--dark, .timeline-viz, .concierge-flow,
      .dossier-section, .case-study-section,
      .anatomy-module, .glossary-section { padding-block: 2rem; padding-inline: 1rem; }
      #calm-toggle { padding: 0.45rem 0.75rem; bottom: 1rem; left: 1rem; }
      #calm-toggle__text { display: none; }
      #back-to-top { right: 1rem; bottom: 1rem; }
      .accreditations-bar { justify-content: flex-start; gap: 1.25rem 1.75rem; }
      .accreditations-divider { display: none; }
      .gift-grid, .dossier-deliverables { grid-template-columns: 1fr; }
      .portal-gateway__card { max-width: 100%; }
    }

    /* 11. PRINT */
    @media print {
      .nav, #calm-toggle, #back-to-top, #scroll-progress { display: none !important; }
      .inner-page { padding-block-start: 1rem !important; }
      .hero { min-height: auto !important; padding-block: 1.5rem !important; }
    }


    /* ═══════════════════════════════════════════════════════════════
       DEFINITIVE LAYOUT FIX — zero dead space, guaranteed cascade
       Uses !important on structural anchors only.
       Addresses: hero justify-content centering, sp-* token bloat,
       inner-page first-section padding, mobile stacking.
       ═══════════════════════════════════════════════════════════════ */

    /* ─── 1. CANONICAL TOKEN SET ────────────────────────────────── */
    :root {
      --nav-h:         64px;
      --sp-page-top:   1.5rem;
      --sp-section:    clamp(2rem, 3.5vw, 3.5rem);
      --sp-section-xl: clamp(2rem, 3.5vw, 3.5rem);
      --sp-inner:      clamp(1.75rem, 3vw, 3rem);
      --sp-inline:     clamp(1.25rem, 5vw, 4.5rem);
    }

    /* ─── 2. ZERO EXTERNAL BODY MARGIN ─────────────────────────── */
    html { margin: 0 !important; padding: 0 !important; }
    body { margin: 0 !important; padding: 0 !important; }
    #js-outlet { margin: 0 !important; padding-block-start: 0 !important; }

    /* ─── 3. NAV: fixed at absolute top ─────────────────────────── */
    .nav {
      position: fixed !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: var(--nav-h) !important;
      z-index: 100 !important;
    }

    /* ─── 4. HERO: THE KEY FIX ───────────────────────────────────
       justify-content: center was vertically centering text in a
       100svh container, creating ~200-400px of blank space above.
       Switching to flex-start + padding-block-start positions the
       content intentionally, immediately below the nav.
    ── */
    .hero {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: flex-start !important;  /* was: center — that was the bug */
      text-align: center !important;
      min-height: 100svh !important;
      padding-block-start: calc(var(--nav-h) + 2rem) !important;
      padding-block-end: clamp(3rem, 5vw, 5rem) !important;
      padding-inline: clamp(1.25rem, 5vw, 4.5rem) !important;
    }

    /* ─── 5. INNER-PAGES: all service + content pages ────────────
       Clean, deterministic top clearance. No large sp-page-top.
    ── */
    .inner-page {
      padding-block-start: calc(var(--nav-h) + 1.75rem) !important;
      padding-block-end: clamp(2.5rem, 5vw, 5rem) !important;
      padding-inline: clamp(1.25rem, 5vw, 4.5rem) !important;
      min-height: auto !important;
    }
    .inner-page__inner {
      max-width: 1200px;
      margin-inline: auto;
    }

    /* ─── 6. INNER-PAGE TYPOGRAPHY: tight, intentional ──────────── */
    .inner-page__eyebrow  { margin-block: 0 0.4rem; }
    .inner-page__title    { margin-block: 0 0.65rem; }
    .inner-page__lead     { margin-block: 0 clamp(1.25rem, 2.5vw, 2rem); }
    .inner-page__rule     { margin-block: clamp(1.25rem, 2.5vw, 2rem); }

    /* ─── 7. DISC SPLIT: immediately after hero, no extra space ─── */
    .disciplines-split { margin-block-start: 0 !important; padding-block-start: 0 !important; }

    /* ─── 8. SECTION PADDING: premium-compact ───────────────────── */
    .hp-trust-section {
      padding-block:  clamp(2.5rem, 5vw, 5rem);
      padding-inline: clamp(1.25rem, 6vw, 5rem);
    }
    .accreditations-section {
      padding-block:  clamp(1.75rem, 3.5vw, 3rem);
      padding-inline: clamp(1.25rem, 6vw, 5rem);
    }
    .section--dark,
    .concierge-flow,
    .dossier-section,
    .case-study-section,
    .anatomy-module,
    .glossary-section,
    .portal-gateway {
      padding-block:  clamp(2.5rem, 5.5vw, 5.5rem);
      padding-inline: clamp(1.25rem, 6vw, 5rem);
    }
    .timeline-viz {
      padding-block:  clamp(2.5rem, 5vw, 5rem);
      padding-inline: clamp(1.25rem, 6vw, 5rem);
    }

    /* ─── 9. RESPONSIVE: TABLET (≤ 800px) ──────────────────────── */
    @media (max-width: 800px) {
      :root { --nav-h: 60px; --sp-inline: 1.25rem; }

      .hero {
        padding-block-start: calc(var(--nav-h) + 1.25rem) !important;
        padding-block-end:   2.5rem !important;
        padding-inline:      1.25rem !important;
      }
      .inner-page {
        padding-block-start: calc(var(--nav-h) + 1.25rem) !important;
        padding-block-end:   2.5rem !important;
        padding-inline:      1.25rem !important;
      }

      /* Fluid widths — everything becomes single column */
      .commitments-grid,
      .staff-grid,
      .dossier-deliverables,
      .research-grid,
      .anatomy-pillars,
      .case-study-grid,
      .patient-fit-cols,
      .dossier-inner,
      .about-profile,
      .transport-grid,
      .team-grid,
      .service-grid,
      .neuro-protocols-grid,
      .neuro-programs-grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 1rem;
      }
      .staff-card--primary {
        display: flex !important;
        flex-direction: column !important;
      }
      .staff-card__photo-wrap--primary {
        width: 100% !important;
      }

      /* Remove all sticky on tablet */
      .about-profile__photo-wrap,
      .patient-fit__aside,
      .dossier-aside,
      .case-study-sidebar {
        position: static !important;
      }

      /* Section padding: tighter */
      .section--dark, .concierge-flow, .dossier-section,
      .case-study-section, .anatomy-module, .glossary-section {
        padding-block: 2.5rem; padding-inline: 1.25rem;
      }
      .timeline-viz { padding-block: 2.5rem; padding-inline: 1.25rem; }
      .hp-trust-section { padding-block: 2rem; padding-inline: 1.25rem; }
      .concierge-options { display: flex !important; flex-direction: column !important; }
      .timeline-rail { display: flex !important; flex-direction: column !important; }
      .timeline-rail::before { display: none !important; }

      /* Disc panels stack vertically */
      .disciplines-split {
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
      }
      .disc-panel {
        min-height: 55vw !important;
        width: 100% !important;
      }
    }

    /* ─── 10. RESPONSIVE: MOBILE (≤ 480px) ──────────────────────── */
    @media (max-width: 480px) {
      :root { --nav-h: 56px; }

      .hero {
        padding-block-start: calc(var(--nav-h) + 1rem) !important;
        padding-block-end:   2rem !important;
        padding-inline:      1rem !important;
      }
      .inner-page {
        padding-block-start: calc(var(--nav-h) + 1rem) !important;
        padding-block-end:   2rem !important;
        padding-inline:      1rem !important;
      }
      .inner-page__lead { margin-block-end: 1rem; }
      .inner-page__rule { margin-block: 1rem; }

      /* Section padding: minimal */
      .section--dark, .concierge-flow, .dossier-section,
      .case-study-section, .anatomy-module, .glossary-section,
      .timeline-viz, .hp-trust-section {
        padding-block: 2rem; padding-inline: 1rem;
      }

      /* Nav: hide brand text to save space */
      .nav__brand-text { display: none; }

      /* Gift grid: single column */
      .gift-grid { display: flex !important; flex-direction: column !important; }

      /* Accreditations: 2-col wrap */
      .accreditations-bar {
        justify-content: flex-start;
        gap: 1rem 1.75rem;
      }
      .accreditations-divider { display: none !important; }

      /* Research grid: single col */
      .research-grid { display: flex !important; flex-direction: column !important; }

      /* Portal: full width */
      .portal-gateway__card { max-width: 100% !important; }

      /* Calm toggle: icon only */
      #calm-toggle { padding: 0.5rem; bottom: 1rem; left: 1rem; }
      #calm-toggle__text { display: none; }
      #back-to-top { right: 1rem; bottom: 1rem; }
    }

    /* ─── 11. PRINT ──────────────────────────────────────────────── */
    @media print {
      .nav, #calm-toggle, #back-to-top, #scroll-progress { display: none !important; }
      .inner-page { padding-block-start: 0.75rem !important; min-height: auto !important; }
      .hero { min-height: auto !important; padding-block: 1rem !important; }
    }


    /* ═══════════════════════════════════════════════════════════════
       DEFINITIVE PAGE ROUTING ENGINE
       Inserted LAST — highest cascade authority.
       Inactive pages: zero height, zero display, zero contribution.
       Active page:    full layout restored.
    ═══════════════════════════════════════════════════════════════ */

    /* INACTIVE — strip all dimensional contribution */
    .page {
      display:    none    !important;
      height:     0       !important;
      min-height: 0       !important;
      max-height: 0       !important;
      overflow:   hidden  !important;
      margin:     0       !important;
      padding:    0       !important;
      opacity:    0       !important;
      pointer-events: none !important;
      position:   absolute !important;
      top:        -9999px !important;
      left:       -9999px !important;
    }

    /* ACTIVE — full layout, all properties restored */
    .page.page--active,
    .page:target {
      display:        block   !important;
      height:         auto    !important;
      min-height:     auto    !important;
      max-height:     none    !important;
      overflow:       visible !important;
      margin:         0       !important;
      padding:        0       !important;
      opacity:        1       !important;
      pointer-events: auto    !important;
      position:       static  !important;
      top:            auto    !important;
      left:           auto    !important;
      animation: pageIn 0.35s cubic-bezier(0.22,1,0.36,1) both !important;
    }

    /* KEYFRAME — full from→to arc so opacity always resolves to 1 */
    @keyframes pageIn {
      from { opacity: 0; transform: translateY(6px); }
      to   { opacity: 1; transform: translateY(0);   }
    }

    /* LAYOUT CONTAINER — main outlet must not add height */
    #js-outlet {
      display:       block   !important;
      margin:        0       !important;
      padding:       0       !important;
      min-height:    0       !important;
      overflow:      visible !important;
    }

    /* HERO — content anchors immediately below nav, no vertical centering */
    .hero {
      display:            flex          !important;
      flex-direction:     column        !important;
      align-items:        center        !important;
      justify-content:    flex-start    !important;
      text-align:         center        !important;
      min-height:         100svh        !important;
      padding-block-start: calc(var(--nav-h) + 2rem) !important;
      padding-block-end:  clamp(3rem,6vw,6rem)       !important;
      padding-inline:     clamp(1.25rem,5vw,4.5rem)  !important;
    }

    /* INNER-PAGE — deterministic top clearance */
    .inner-page {
      display:             block                               !important;
      padding-block-start: calc(var(--nav-h) + 1.75rem)       !important;
      padding-block-end:   clamp(2.5rem,5vw,5rem)             !important;
      padding-inline:      clamp(1.25rem,5vw,4.5rem)          !important;
      min-height:          auto                                !important;
    }

    /* TABLET */
    @media (max-width: 800px) {
      .hero {
        padding-block-start: calc(var(--nav-h) + 1.25rem) !important;
        padding-inline: 1.25rem !important;
        padding-block-end: 2.5rem !important;
      }
      .inner-page {
        padding-block-start: calc(var(--nav-h) + 1.25rem) !important;
        padding-inline: 1.25rem !important;
        padding-block-end: 2.5rem !important;
      }
      .disciplines-split {
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
      }
      .disc-panel { min-height: 55vw !important; width: 100% !important; }
    }

    /* MOBILE */
    @media (max-width: 480px) {
      :root { --nav-h: 56px; }
      .hero { padding-block-start: calc(var(--nav-h) + 1rem) !important; padding-inline: 1rem !important; }
      .inner-page { padding-block-start: calc(var(--nav-h) + 1rem) !important; padding-inline: 1rem !important; }
    }


    /* ── Homepage bridge to Clinical Standards page ── */
    .cs-bridge-section {
      padding-block:  clamp(4rem,8vw,7rem);
      padding-inline: clamp(1.25rem,6vw,5rem);
      background:     var(--deep); text-align: center;
    }
    .cs-bridge-inner { max-width: 560px; margin-inline: auto; }
    .cs-bridge__label {
      display: block; font-size: 0.6rem; font-weight: 400;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: var(--gold); margin-block-end: 0.75rem;
    }
    .cs-bridge__heading {
      font-family: var(--font-display);
      font-size: clamp(1.5rem,3vw,2.4rem); font-weight: 300;
      color: var(--ivory); letter-spacing: 0.01em;
      margin-block: 0 1rem; line-height: 1.3;
    }
    .cs-bridge__body {
      font-size: clamp(0.85rem,1.2vw,0.95rem); font-weight: 300;
      color: rgba(248,245,240,0.5); line-height: 1.9; margin-block-end: 2rem;
    }


    /* ── Per-member photo framing overrides ────────────────────────────
       Adjust scale (0.0–1.0) and position to fine-tune each portrait.
       1.0 = fills container width exactly.
       0.85 = 85% width → 15% breathing room → appears "zoomed out".
       Data attributes on <article> allow clean, non-invasive targeting.
    ── */

    /* Dr. Ryan Monti — lead physician (landscape 800×600 in 3/4 container) */
    article[aria-label*="Lead Physician"] img.team-card__photo {
      object-fit: contain;
      object-position: center top;
      transform: scale(0.92);
      transform-origin: center top;
    }

    /* Sean Kump — associate physician (landscape 800×600 in 3/4 container) */
    article[aria-label*="Associate Physician"] img.team-card__photo {
      object-fit: contain;
      object-position: center top;
      transform: scale(0.90);
      transform-origin: center top;
    }

    /* Zack Ballingham — portrait native (600×800 in 3/4 container = perfect match) */
    article[aria-label*="Zack Ballingham"] img.team-card__photo {
      object-fit: cover;        /* portrait fills container exactly — use cover */
      object-position: center 10%;
      transform: scale(1.0);   /* no adjustment needed */
      transform-origin: center top;
    }

    /* Sara Zivich — inaugural aesthetic nurse (square 1024×1024
       headshot, cropped to fill the 3/4 portrait container) */
    article[aria-label*="Sara Zivich"] img.team-card__photo {
      object-fit: cover;
      object-position: center top;
      transform: scale(1.0);
      transform-origin: center top;
    }

    /* Morgan Melton — aesthetic clinician (square 1024×1024 headshot,
       cropped to fill the 3/4 portrait container) */
    article[aria-label*="Morgan Melton"] img.team-card__photo {
      object-fit: cover;
      object-position: center top;
      transform: scale(1.0);
      transform-origin: center top;
    }

    /* Megan Phares — director of operations (landscape 800×600 in 3/4 container)
       FIX: switched from object-fit: contain + scale(0.90) — which shrank the
       photo and left letterbox margins — to object-fit: cover so it fills the
       shared 3/4 .team-card__photo-wrap exactly like every other card.
       object-position shifts the crop window so her face stays centered.
       Tune the vertical percentage (e.g. 0%–40%) if her face needs to move
       up/down in the frame. If cover alone isn't tight enough, uncomment the
       transform lines below for an extra ~10% digital zoom centered on the
       same focal point. */
    article[aria-label*="Megan Phares"] img.team-card__photo {
      object-fit: cover;
      object-position: center 20%;
      /* transform: scale(1.1); */
      /* transform-origin: center 20%; */
    }

    /* ── LETTERBOX BACKGROUND QUALITY ──────────────────────────────────
       The area below landscape photos (in the portrait container) uses
       the --ivory token. Add a subtle gradient for premium finish.
    ── */
    .team-card__photo-wrap {
      background: linear-gradient(
        to bottom,
        var(--ivory) 65%,
        var(--stone) 100%
      );
    }


    /* ═══════════════════════════════════════════════════════════════
       CONDITION PILL TOOLTIP SYSTEM
       CSS-first: :hover + :focus-within for desktop + keyboard
       JS-enhanced: tap toggle for mobile
    ═══════════════════════════════════════════════════════════════ */

    /* ── Wrapper: positions the popover absolutely ── */
    .cond-item {
      position:  relative;
      display:   inline-block;
    }

    /* ── Pill button — replaces the bare <span> ── */
    .condition-pill {
      display:         inline-flex;
      align-items:     center;
      gap:             0.4rem;
      padding:         0.45rem 1rem;
      border:          1px solid var(--stone);
      border-radius:   2px;
      background:      var(--warm-white);
      font-size:       0.72rem;
      font-weight:     400;
      letter-spacing:  0.08em;
      color:           var(--charcoal);
      cursor:          pointer;
      transition:      border-color 0.2s, background 0.2s, color 0.2s;
      white-space:     nowrap;
      user-select:     none;
      -webkit-user-select: none;
    }
    .condition-pill::after {
      content:    '?';
      display:    inline-flex;
      align-items: center;
      justify-content: center;
      width:       14px;
      height:      14px;
      border-radius: 50%;
      border:      1px solid var(--taupe);
      font-size:   0.58rem;
      font-weight: 400;
      color:       var(--taupe);
      transition:  border-color 0.2s, color 0.2s;
      flex-shrink: 0;
    }
    .condition-pill:hover,
    .condition-pill:focus-visible,
    .cond-item.is-open .condition-pill {
      background:    var(--ivory);
      border-color:  var(--gold);
      color:         var(--charcoal);
      outline:       none;
    }
    .condition-pill:hover::after,
    .condition-pill:focus-visible::after,
    .cond-item.is-open .condition-pill::after {
      border-color: var(--gold);
      color:        var(--gold);
    }

    /* ── Popover panel ── */
    .cond-popover {
      position:     absolute;
      bottom:       calc(100% + 10px);
      left:         50%;
      transform:    translateX(-50%);
      width:        clamp(260px, 60vw, 360px);
      background:   var(--deep);
      border:       1px solid rgba(154,128,96,0.35);
      border-radius: 3px;
      padding:      1.25rem 1.25rem 1rem;
      z-index:      200;
      pointer-events: none;
      opacity:      0;
      transition:   opacity 0.22s cubic-bezier(0.22,1,0.36,1),
                    transform 0.22s cubic-bezier(0.22,1,0.36,1);
      transform:    translateX(-50%) translateY(6px);
    }

    /* Arrow */
    .cond-popover::after {
      content:      '';
      position:     absolute;
      top:          100%;
      left:         50%;
      transform:    translateX(-50%);
      border:       6px solid transparent;
      border-top-color: var(--deep);
    }
    .cond-popover::before {
      content:      '';
      position:     absolute;
      top:          100%;
      left:         50%;
      transform:    translateX(-50%);
      border:       7px solid transparent;
      border-top-color: rgba(154,128,96,0.35);
      margin-top:   1px;
    }

    /* Show states — CSS for hover/focus, JS class for tap */
    .cond-item:hover .cond-popover,
    .cond-item:focus-within .cond-popover,
    .cond-item.is-open .cond-popover {
      opacity:       1;
      pointer-events: auto;
      transform:     translateX(-50%) translateY(0);
    }

    /* Popover content */
    .cond-popover__label {
      display:       block;
      font-size:     0.58rem;
      font-weight:   400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color:         var(--gold);
      margin-block-end: 0.4rem;
    }
    .cond-popover__title {
      font-family:   var(--font-display);
      font-size:     clamp(0.9rem,1.4vw,1rem);
      font-weight:   400;
      color:         var(--ivory);
      letter-spacing: 0.01em;
      line-height:   1.35;
      margin-block-end: 0.25rem;
    }
    .cond-popover__short {
      font-size:     0.68rem;
      font-weight:   300;
      color:         rgba(248,245,240,0.45);
      font-style:    italic;
      margin-block-end: 0.75rem;
      display:       block;
    }
    .cond-popover__rule {
      width:         24px;
      height:        1px;
      background:    var(--gold);
      opacity:       0.4;
      margin-block-end: 0.75rem;
    }
    .cond-popover__body {
      font-size:     0.78rem;
      font-weight:   300;
      color:         rgba(248,245,240,0.65);
      line-height:   1.75;
    }
    .cond-popover__note {
      margin-block-start: 0.75rem;
      padding-block-start: 0.65rem;
      border-top:    1px solid rgba(248,245,240,0.08);
      font-size:     0.65rem;
      font-weight:   300;
      color:         rgba(154,128,96,0.7);
      display:       flex;
      gap:           0.4rem;
      align-items:   center;
    }
    .cond-popover__note::before {
      content:       '';
      width:         4px;
      height:        4px;
      border-radius: 50%;
      background:    var(--gold);
      opacity:       0.6;
      flex-shrink:   0;
    }

    /* Mobile: popover appears below pill (not above) on small screens */
    @media (max-width: 600px) {
      .cond-popover {
        bottom:    auto;
        top:       calc(100% + 10px);
        left:      0;
        transform: translateX(0) translateY(-6px);
        width:     min(320px, 90vw);
      }
      .cond-popover::after { top: auto; bottom: 100%; border-top: none; border-bottom-color: var(--deep); }
      .cond-popover::before { top: auto; bottom: 100%; border-top: none; border-bottom-color: rgba(154,128,96,0.35); margin-top: 0; margin-bottom: 1px; }
      .cond-item:hover .cond-popover,
      .cond-item:focus-within .cond-popover,
      .cond-item.is-open .cond-popover {
        transform:  translateX(0) translateY(0);
      }
    }


    /* ═══════════════════════════════════════════════════════════════
       MONTI CLINICAL INFO SYSTEM
       Layer 1: CSS hover tooltip (1-2 sentence preview)
       Layer 2: JS modal popup (full description + CTA)
    ═══════════════════════════════════════════════════════════════ */

    /* ── Any element with data-clinical-key becomes interactive ── */
    [data-clinical-key] {
      cursor: pointer;
      position: relative;
    }

    /* ── Hover tooltip (CSS-only, layer 1) ── */
    [data-clinical-key]::before {
      content:         attr(data-preview);
      position:        absolute;
      bottom:          calc(100% + 10px);
      left:            50%;
      transform:       translateX(-50%) translateY(4px);
      width:           clamp(200px, 50vw, 300px);
      background:      var(--charcoal);
      color:           rgba(248,245,240,0.82);
      font-size:       0.72rem;
      font-weight:     300;
      line-height:     1.6;
      font-family:     var(--font-body);
      padding:         0.65rem 0.9rem;
      border-radius:   3px;
      border-top:      2px solid var(--gold);
      pointer-events:  none;
      opacity:         0;
      z-index:         150;
      white-space:     normal;
      text-align:      left;
      text-transform:  none;
      letter-spacing:  0;
      transition:      opacity 0.2s ease, transform 0.2s ease;
      box-shadow:      0 4px 20px rgba(0,0,0,0.25);
    }
    /* Tooltip arrow */
    [data-clinical-key]::after {
      content:         '';
      position:        absolute;
      bottom:          calc(100% + 4px);
      left:            50%;
      transform:       translateX(-50%);
      border:          5px solid transparent;
      border-top-color: var(--charcoal);
      pointer-events:  none;
      opacity:         0;
      z-index:         151;
      transition:      opacity 0.2s ease;
    }
    [data-clinical-key]:hover::before,
    [data-clinical-key]:focus-visible::before {
      opacity:   1;
      transform: translateX(-50%) translateY(0);
    }
    [data-clinical-key]:hover::after,
    [data-clinical-key]:focus-visible::after {
      opacity: 1;
    }

    /* ── MODAL OVERLAY (layer 2) ── */
    #clinical-modal-overlay {
      position:        fixed;
      inset:           0;
      z-index:         500;
      background:      rgba(10,8,6,0.78);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      display:         flex;
      align-items:     center;
      justify-content: center;
      padding:         clamp(1rem,4vw,2rem);
      opacity:         0;
      pointer-events:  none;
      transition:      opacity 0.28s cubic-bezier(0.22,1,0.36,1);
    }
    #clinical-modal-overlay.is-open {
      opacity:         1;
      pointer-events:  auto;
    }

    /* ── Modal card ── */
    #clinical-modal {
      background:      var(--warm-white);
      border-radius:   3px;
      width:           100%;
      max-width:       560px;
      max-height:      88vh;
      overflow-y:      auto;
      position:        relative;
      transform:       translateY(16px) scale(0.98);
      transition:      transform 0.28s cubic-bezier(0.22,1,0.36,1);
      box-shadow:      0 24px 80px rgba(0,0,0,0.35);
      scrollbar-width: thin;
      scrollbar-color: var(--stone) transparent;
    }
    #clinical-modal-overlay.is-open #clinical-modal {
      transform: translateY(0) scale(1);
    }

    /* Gold top bar */
    #clinical-modal::before {
      content:    '';
      display:    block;
      height:     3px;
      background: linear-gradient(90deg, var(--gold) 0%, var(--gold-lt) 60%, transparent 100%);
      border-radius: 3px 3px 0 0;
    }

    /* ── Modal header ── */
    #clinical-modal-header {
      padding: 1.5rem 1.5rem 0;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1rem;
    }
    #clinical-modal-category {
      font-size:     0.6rem;
      font-weight:   400;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color:         var(--gold);
      display:       block;
      margin-block-end: 0.35rem;
    }
    #clinical-modal-title {
      font-family:   var(--font-display);
      font-size:     clamp(1.1rem, 2vw, 1.4rem);
      font-weight:   400;
      color:         var(--deep);
      letter-spacing: 0.01em;
      line-height:   1.3;
      margin:        0;
    }

    /* ── Close button ── */
    #clinical-modal-close {
      background:   none;
      border:       1px solid var(--stone);
      border-radius: 50%;
      width:        32px;
      height:       32px;
      display:      flex;
      align-items:  center;
      justify-content: center;
      cursor:       pointer;
      flex-shrink:  0;
      color:        var(--muted);
      font-size:    1.1rem;
      line-height:  1;
      transition:   border-color 0.2s, color 0.2s, background 0.2s;
      margin-top:   0.15rem;
    }
    #clinical-modal-close:hover,
    #clinical-modal-close:focus-visible {
      border-color: var(--gold);
      color:        var(--charcoal);
      background:   var(--ivory);
      outline:      none;
    }

    /* ── Modal body ── */
    #clinical-modal-body {
      padding: 1rem 1.5rem 0;
    }
    #clinical-modal-preview {
      font-size:   0.8rem;
      font-weight: 300;
      color:       var(--muted);
      line-height: 1.7;
      font-style:  italic;
      padding-block: 0.75rem;
      border-block: 1px solid var(--stone);
      margin-block: 0.75rem;
    }
    #clinical-modal-desc {
      font-size:   clamp(0.82rem, 1.2vw, 0.9rem);
      font-weight: 300;
      color:       var(--charcoal);
      line-height: 1.85;
    }
    #clinical-modal-details {
      margin-block-start: 1.1rem;
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
    }
    .modal-detail-item {
      display:   flex;
      gap:       0.6rem;
      font-size: clamp(0.78rem, 1.05vw, 0.84rem);
      font-weight: 300;
      color:     var(--muted);
      line-height: 1.7;
    }
    .modal-detail-item::before {
      content:      '';
      width:        4px;
      height:       4px;
      border-radius: 50%;
      background:   var(--gold);
      flex-shrink:  0;
      margin-top:   0.52em;
      opacity:      0.6;
    }

    /* ── Modal footer ── */
    #clinical-modal-footer {
      padding:      1.25rem 1.5rem 1.5rem;
      margin-top:   0.5rem;
      border-top:   1px solid var(--stone);
      display:      flex;
      flex-wrap:    wrap;
      align-items:  center;
      gap:          0.75rem;
      justify-content: space-between;
    }
    #clinical-modal-note {
      font-size:   0.68rem;
      font-weight: 300;
      color:       var(--taupe);
      font-style:  italic;
      flex:        1;
      min-width:   0;
    }
    #clinical-modal-cta {
      display:        inline-flex;
      align-items:    center;
      gap:            0.5rem;
      padding:        0.7rem 1.25rem;
      background:     var(--gold);
      color:          var(--charcoal);
      border:         none;
      border-radius:  2px;
      font-size:      0.7rem;
      font-weight:    400;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      cursor:         pointer;
      text-decoration: none;
      white-space:    nowrap;
      transition:     background 0.2s;
      flex-shrink:    0;
    }
    #clinical-modal-cta:hover { background: var(--gold-lt); }

    /* ── Mobile: tooltip becomes tap-to-reveal only ── */
    @media (hover: none) {
      [data-clinical-key]::before,
      [data-clinical-key]::after { display: none; }
    }
    @media (max-width: 480px) {
      #clinical-modal-footer { flex-direction: column; align-items: stretch; }
      #clinical-modal-cta { justify-content: center; }
    }


    /* ═══════════════════════════════════════════════════════════════
       MIGRAINE-FRIENDLY DARK THEME
       Activated by: body.dark-theme
       Palette: deep navy / matte charcoal backgrounds
       Optimized for photosensitivity and active migraine episodes.
       All transitions: 0.38s ease — never jarring.
    ═══════════════════════════════════════════════════════════════ */

    /* ── Global color transition ── */
    *,
    *::before,
    *::after {
      transition-property: background-color, border-color, color,
                           box-shadow, opacity !important;
      transition-duration: 0.38s !important;
      transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
    }
    /* Exempt elements where transition causes flicker */
    .team-card__photo,
    [data-clinical-key]::before,
    [data-clinical-key]::after,
    #clinical-modal,
    #clinical-modal-overlay { transition: none !important; }

    /* ── Dark theme CSS variable overrides ── */

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       MIGRAINE MODE TOGGLE — COMPLETE CSS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .dark-toggle {
      display:         inline-flex;
      align-items:     center;
      gap:             0.45rem;
      padding:         0.45rem 0.85rem 0.45rem 0.65rem;
      background:      transparent;
      border:          1px solid rgba(154,128,96,0.35);
      border-radius:   2px;
      color:           var(--muted);
      font-family:     var(--f-body);
      font-size:       0.58rem;
      font-weight:     400;
      letter-spacing:  0.14em;
      text-transform:  uppercase;
      cursor:          pointer;
      white-space:     nowrap;
      min-height:      32px;
      flex-shrink:     0;
      transition:      border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    }
    .dark-toggle:hover {
      border-color: rgba(154,128,96,0.65);
      color:        var(--charcoal);
    }
    .dark-toggle:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 3px;
    }
    .dark-toggle__icon {
      width: 14px; height: 14px;
      stroke: currentColor; fill: none;
      stroke-width: 1.5; stroke-linecap: round;
      flex-shrink: 0;
      transition: transform 0.4s ease;
    }
    .dark-toggle:hover .dark-toggle__icon { transform: rotate(20deg); }
    .dark-toggle__label {
      font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase;
    }
    .dark-toggle__switch {
      display: inline-block;
      width: 26px; height: 14px;
      border-radius: 7px;
      background: rgba(154,128,96,0.15);
      border: 1px solid rgba(154,128,96,0.35);
      position: relative;
      flex-shrink: 0;
      transition: background 0.25s, border-color 0.25s;
    }
    .dark-toggle__switch::after {
      content: '';
      position: absolute;
      left: 2px; top: 50%; transform: translateY(-50%);
      width: 8px; height: 8px; border-radius: 50%;
      background: rgba(154,128,96,0.55);
      transition: left 0.25s, background 0.25s;
    }
    .dark-toggle[aria-pressed="true"] {
      background: var(--deep); border-color: var(--deep);
      color: var(--gold-lt, #C4A97D);
    }
    .dark-toggle[aria-pressed="true"] .dark-toggle__switch {
      background: rgba(196,169,125,0.2); border-color: var(--gold-lt, #C4A97D);
    }
    .dark-toggle[aria-pressed="true"] .dark-toggle__switch::after {
      left: calc(100% - 10px); background: var(--gold-lt, #C4A97D);
    }
    .dark-toggle[aria-pressed="true"] .dark-toggle__icon {
      stroke: var(--gold-lt, #C4A97D);
    }
    .nav__migraine-toggle { margin-inline-start: auto; }
    @media (max-width: 860px) {
      .dark-toggle__label { display: none; }
      .dark-toggle { padding: 0.45rem 0.65rem; gap: 0.3rem; }
    }
    @media (max-width: 480px) { .dark-toggle__switch { display: none; } }
    body.dark-theme {
      /* ── Backgrounds — warm, low-glare matte (NOT pure black/navy) ──
         #1f1e1b reads as a deep warm charcoal rather than the cooler,
         harsher #111827/#07090F previously used. */
      --ivory:      #1f1e1b;
      --warm-white: #1a1a1a;

      /* ── --deep was the bug: at #07090F it is used as a TEXT color
         throughout the site (headings, names, .staff-card__name, etc.)
         A near-black value on a near-black background made that text
         almost invisible. Redefining it to a soft sand/champagne tone
         fixes every heading at once while keeping a calm hierarchy. */
      --deep:       #e6e1da;   /* soft sand — headings, names, primary emphasis */

      /* ── Body copy — warm ivory, not pure #fff (avoids glare) ──
         #e3dfd5 vs #1f1e1b ≈ 13.3:1 contrast (WCAG AAA, comfortably
         clears the 4.5:1 AA minimum without the vibration of #fff). */
      --charcoal:   #e3dfd5;

      --stone:      rgba(255,255,255,0.08);
      --taupe:      rgba(220,215,205,0.35);
      --gold:       #C9A876;   /* slightly brightened for legibility on dark */
      --gold-lt:    #D9BC92;
      --muted:      rgba(227,223,213,0.6);
      --font-body:  var(--f-body);
      --nav-bg:     rgba(26, 26, 26, 0.97);
    }

    /* ── Body background ── */
    body.dark-theme {
      background-color: var(--ivory);  /* #1f1e1b — warm matte charcoal */
      color:            var(--charcoal); /* #e3dfd5 — soft warm ivory, ~13:1 contrast */
    }

    /* ── Navigation ── */
    body.dark-theme .nav {
      background: var(--nav-bg) !important;  /* rgba(26,26,26,0.97) — warm matte */
      border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    }
    body.dark-theme .nav__list a {
      color: rgba(200,190,175,0.65);
    }
    body.dark-theme .nav__list a:hover,
    body.dark-theme .nav__list a.is-active,
    body.dark-theme .nav__list a[aria-current] {
      color: var(--gold);
    }
    body.dark-theme .nav__brand-text { color: rgba(220,215,205,0.9); }

    /* ── Hero ── */
    body.dark-theme .hero {
      background: linear-gradient(
        170deg,
        #07090F 0%,
        #0D1422 45%,
        #111827 100%
      ) !important;
    }
    body.dark-theme .hero__tagline { color: rgba(190,182,170,0.55) !important; }
    body.dark-theme .hero__eyebrow { color: var(--gold) !important; }

    /* ── Disc split panels ── */
    body.dark-theme .disc-panel--neuro {
      background: #070C18 !important;
    }
    body.dark-theme .disc-panel--aesthetic {
      background: #0F1520 !important;
    }
    body.dark-theme .disc-panel--aesthetic .disc-panel__title,
    body.dark-theme .disc-panel--aesthetic .disc-panel__body,
    body.dark-theme .disc-panel--aesthetic .disc-panel__eyebrow {
      color: rgba(220,215,205,0.8) !important;
    }

    /* ── Philosophy / Section dark ── */
    body.dark-theme .section--dark {
      background: #070C18 !important;
      border-top: 1px solid rgba(255,255,255,0.04) !important;
      border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    }

    /* ── Cards: team, commitment, protocol, glossary, staff ── */
    body.dark-theme .team-card,
    body.dark-theme .commitment-item,
    body.dark-theme .protocol-item,
    body.dark-theme .staff-card,
    body.dark-theme .glossary-term,
    body.dark-theme .research-card__inner,
    body.dark-theme .transport-card,
    body.dark-theme .dossier-deliverable,
    body.dark-theme .anatomy-pillar,
    body.dark-theme .gift-card,
    body.dark-theme .hotel-card {
      background: #0F1520 !important;
      border-color: rgba(255,255,255,0.07) !important;
    }
    body.dark-theme .commitment-item:hover,
    body.dark-theme .protocol-item:hover,
    body.dark-theme .staff-card:hover,
    body.dark-theme .transport-card:hover { background: #151E30 !important; }

    /* ── Inner-page backgrounds ── */
    body.dark-theme .inner-page {
      background: #111827 !important;
    }

    /* ── Condition pills ── */
    body.dark-theme .condition-pill {
      background:   #0F1520 !important;
      border-color: rgba(255,255,255,0.1) !important;
      color:        rgba(220,215,205,0.75) !important;
    }
    body.dark-theme .condition-pill:hover,
    body.dark-theme .cond-item.is-open .condition-pill {
      background:   #1A2540 !important;
      border-color: var(--gold) !important;
    }

    /* ── Dark feature sections ── */
    body.dark-theme .dossier-section,
    body.dark-theme .timeline-viz,
    body.dark-theme .concierge-flow,
    body.dark-theme .accreditations-section,
    body.dark-theme .portal-gateway,
    body.dark-theme .cs-bridge-section,
    body.dark-theme .cs-cta-section {
      background: #07090F !important;
    }

    /* ── Clinical Standards / Case study ── */
    body.dark-theme .case-study-section,
    body.dark-theme .anatomy-module,
    body.dark-theme .glossary-section,
    body.dark-theme .cs-hero {
      background: var(--ivory) !important;
    }
    body.dark-theme .case-study__callout {
      background:   #0F1520 !important;
      border-color: rgba(255,255,255,0.07) !important;
    }
    body.dark-theme .case-study__timeline-item::before {
      background: rgba(255,255,255,0.08) !important;
    }

    /* ── Input fields (contact / portal) ── */
    body.dark-theme input,
    body.dark-theme textarea,
    body.dark-theme select,
    body.dark-theme .portal-gateway__input {
      background:   rgba(255,255,255,0.04) !important;
      border-color: rgba(255,255,255,0.1) !important;
      color:        rgba(220,215,205,0.85) !important;
    }
    body.dark-theme input::placeholder,
    body.dark-theme .portal-gateway__input::placeholder {
      color: rgba(200,190,175,0.3) !important;
    }

    /* ── Buttons ── */
    body.dark-theme .btn--ghost {
      border-color: rgba(200,190,175,0.3) !important;
      color:        rgba(200,190,175,0.7) !important;
    }
    body.dark-theme .btn--ghost:hover {
      border-color: var(--gold) !important;
      color:        var(--gold) !important;
    }

    /* ── Rule / divider lines ── */
    body.dark-theme .inner-page__rule {
      background: rgba(255,255,255,0.07) !important;
    }
    body.dark-theme hr,
    body.dark-theme .cs-page-divider {
      background: rgba(255,255,255,0.05) !important;
    }

    /* ── Team photo wrap: richer dark bg ── */
    body.dark-theme .team-card__photo-wrap {
      background: #0A0E18 !important;
    }

    /* ── About page profile ── */
    body.dark-theme .about-profile__credentials .about-profile__name {
      color: rgba(220,215,205,0.9) !important;
    }
    body.dark-theme .dossier-wrap {
      border-color: rgba(255,255,255,0.08) !important;
      background:   #0F1520 !important;
    }
    body.dark-theme .dossier-body {
      background: #0F1520 !important;
    }

    /* ── Timeline visualizer ── */
    body.dark-theme .timeline-cycle {
      background: rgba(7,9,15,0.9) !important;
    }
    body.dark-theme .timeline-cycle.is-active,
    body.dark-theme .timeline-cycle:hover {
      background: rgba(20,30,55,0.9) !important;
    }

    /* ── Accreditation badges ── */
    body.dark-theme .accreditation-badge { opacity: 0.45; }
    body.dark-theme .accreditation-badge:hover { opacity: 0.8; }

    /* ── Scroll chrome ── */
    body.dark-theme #back-to-top {
      background: rgba(7,9,15,0.92) !important;
      border-color: rgba(255,255,255,0.1) !important;
    }

    /* ═══════════════════════════════════════════════════════════════
       NAV TOGGLE SWITCH — "Migraine Mode"
       Sits inside .nav__inner, right of the nav list.
    ═══════════════════════════════════════════════════════════════ */
    .dark-toggle {
      display:      flex;
      align-items:  center;
      gap:          0.55rem;
      padding:      0.35rem 0.75rem;
      border:       1px solid rgba(154,128,96,0.25);
      border-radius: 20px;
      background:   transparent;
      cursor:       pointer;
      transition:   border-color 0.3s, background 0.3s !important;
      margin-inline-start: auto;
      flex-shrink:  0;
      white-space:  nowrap;
    }
    .dark-toggle:hover { border-color: var(--gold); }
    .dark-toggle__label {
      font-size:     0.6rem;
      font-weight:   400;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color:         var(--muted);
      transition:    color 0.3s !important;
      line-height:   1;
    }
    .dark-toggle:hover .dark-toggle__label { color: var(--gold); }
    /* Icon — eye with rays (photosensitivity symbol) */
    .dark-toggle__icon {
      width:  15px;
      height: 15px;
      stroke: var(--muted);
      stroke-width: 1.4;
      fill:   none;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex-shrink: 0;
      transition: stroke 0.3s !important;
    }
    .dark-toggle:hover .dark-toggle__icon,
    body.dark-theme .dark-toggle__icon { stroke: var(--gold); }
    /* Switch pill */
    .dark-toggle__switch {
      width:  36px;
      height: 18px;
      border-radius: 9px;
      background: rgba(154,128,96,0.15);
      border: 1px solid rgba(154,128,96,0.3);
      position: relative;
      flex-shrink: 0;
      transition: background 0.3s, border-color 0.3s !important;
    }
    .dark-toggle__switch::after {
      content:  '';
      position: absolute;
      top:  2px;
      left: 2px;
      width:  12px;
      height: 12px;
      border-radius: 50%;
      background: var(--taupe);
      transition: transform 0.32s cubic-bezier(0.22,1,0.36,1),
                  background 0.3s !important;
    }
    /* Active (dark mode on) states */
    body.dark-theme .dark-toggle { border-color: var(--gold); }
    body.dark-theme .dark-toggle__label { color: var(--gold); }
    body.dark-theme .dark-toggle__switch {
      background:   rgba(154,128,96,0.35);
      border-color: var(--gold);
    }
    body.dark-theme .dark-toggle__switch::after {
      transform:  translateX(18px);
      background: var(--gold);
    }
    /* Hide label on very small screens */
    @media (max-width: 520px) {
      .dark-toggle__label { display: none; }
      .dark-toggle { padding: 0.35rem 0.5rem; }
    }

    /* ── Dark toast notification ── */
    #dark-toast {
      position:  fixed;
      top: calc(var(--nav-h) + 0.75rem);
      right:     1rem;
      z-index:   299;
      background: rgba(7,9,15,0.96);
      border:    1px solid var(--gold);
      border-radius: 4px;
      padding:   0.75rem 1.1rem;
      max-width: 240px;
      opacity:   0;
      pointer-events: none;
      transform: translateY(-6px);
      transition: opacity 0.3s, transform 0.3s !important;
    }
    #dark-toast.is-visible { opacity: 1; transform: translateY(0); }
    #dark-toast__title {
      font-size: 0.62rem; font-weight: 400; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--gold);
      display: block; margin-block-end: 0.25rem;
    }
    #dark-toast__body {
      font-size: 0.7rem; font-weight: 300;
      color: rgba(200,190,175,0.6); line-height: 1.6;
    }


    .quiz-wrap{font-family:var(--font-body,'DM Sans',sans-serif);max-width:620px;margin:0 auto;padding:clamp(2rem,4vw,3rem) clamp(1.25rem,5vw,2.5rem)}
    .q-progress-bar{height:2px;background:var(--stone,#E8E2D9);border-radius:2px;overflow:hidden;margin-bottom:1.25rem}
    .q-progress-fill{height:100%;background:var(--gold,#9A8060);border-radius:2px;transition:width .42s cubic-bezier(.22,1,.36,1)}
    .q-step-label{font-size:.62rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#9A8060);margin-bottom:.4rem}
    .q-title{font-family:var(--font-display,'Cormorant Garamond',serif);font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:300;color:var(--deep,#1A1614);line-height:1.3}
    .q-subtitle{font-size:.85rem;font-weight:300;color:var(--muted,#6B6460);margin-top:.4rem;line-height:1.7}
    .q-multi-hint{font-size:.72rem;color:var(--muted);margin-top:.65rem;font-style:italic}
    .q-options{display:flex;flex-direction:column;gap:10px;margin-top:1.1rem}
    .q-option{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border:1px solid var(--stone,#E8E2D9);border-radius:3px;cursor:pointer;transition:border-color .2s,background .2s;background:var(--warm-white,#FDFBF8);text-align:left;width:100%}
    .q-option:hover{border-color:var(--taupe,#B8AD9E);background:var(--ivory,#F8F5F0)}
    .q-option.selected{border-color:var(--gold,#9A8060);background:var(--ivory,#F8F5F0)}
    .q-option-icon{width:38px;height:38px;border-radius:2px;background:var(--stone,#E8E2D9);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;color:var(--muted,#6B6460)}
    .q-option.selected .q-option-icon{background:rgba(154,128,96,.15);color:var(--gold,#9A8060)}
    .q-option-label{font-size:.9rem;font-weight:400;color:var(--charcoal,#2C2825);line-height:1.35}
    .q-option-desc{font-size:.78rem;font-weight:300;color:var(--muted,#6B6460);margin-top:3px;line-height:1.55}
    .q-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;gap:12px}
    .q-btn-back{background:none;border:1px solid var(--stone,#E8E2D9);border-radius:2px;padding:10px 20px;font-size:.8rem;cursor:pointer;color:var(--muted,#6B6460);letter-spacing:.05em;transition:border-color .2s,color .2s}
    .q-btn-back:hover{border-color:var(--taupe);color:var(--charcoal)}
    .q-btn-next{background:var(--gold,#9A8060);border:none;border-radius:2px;padding:11px 26px;font-size:.78rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#fff;cursor:pointer;margin-left:auto;transition:background .2s;display:inline-flex;align-items:center;gap:8px}
    .q-btn-next:hover{background:var(--gold-lt,#C4A97D)}
    .q-btn-next:disabled{background:var(--stone,#E8E2D9);color:var(--taupe,#B8AD9E);cursor:not-allowed}
    .q-result-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(154,128,96,.1);border:1px solid rgba(154,128,96,.3);border-radius:20px;padding:5px 14px;font-size:.62rem;font-weight:400;color:var(--gold,#9A8060);letter-spacing:.12em;margin-bottom:1rem;text-transform:uppercase}
    .q-result-title{font-family:var(--font-display,'Cormorant Garamond',serif);font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:300;color:var(--deep,#1A1614);line-height:1.3;margin-bottom:.6rem}
    .q-result-intro{font-size:.875rem;font-weight:300;color:var(--muted,#6B6460);line-height:1.8;margin-bottom:1.5rem}
    .q-result-recs{display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem}
    .q-result-rec{display:flex;gap:14px;padding:14px 18px;border:1px solid var(--stone,#E8E2D9);border-radius:3px;background:var(--warm-white,#FDFBF8)}
    .q-result-rec-icon{width:38px;height:38px;border-radius:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
    .q-result-rec-icon.neuro{background:rgba(79,70,229,.08);color:#4F46E5}
    .q-result-rec-icon.aesthetic{background:rgba(154,128,96,.12);color:var(--gold,#9A8060)}
    .q-result-rec-icon.both{background:rgba(22,163,74,.08);color:#16A34A}
    .q-result-rec-head{font-size:.875rem;font-weight:400;color:var(--charcoal,#2C2825);margin-bottom:4px}
    .q-result-rec-body{font-size:.78rem;font-weight:300;color:var(--muted,#6B6460);line-height:1.6}
    .q-result-cta-wrap{border-top:1px solid var(--stone,#E8E2D9);padding-top:1.25rem}
    .q-result-cta-label{font-size:.62rem;color:var(--taupe,#B8AD9E);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.65rem}
    .q-result-cta-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--deep,#1A1614);border:none;border-radius:3px;padding:18px 22px;cursor:pointer;transition:background .2s;text-decoration:none}
    .q-result-cta-btn:hover{background:var(--charcoal,#2C2825)}
    .q-result-cta-title{font-size:.9rem;font-weight:400;color:var(--ivory,#F8F5F0);text-align:left}
    .q-result-cta-sub{font-size:.72rem;font-weight:300;color:rgba(248,245,240,.5);margin-top:3px;text-align:left}
    .q-result-restart{background:none;border:1px solid var(--stone);border-radius:2px;padding:10px 20px;font-size:.78rem;color:var(--muted);cursor:pointer;width:100%;margin-top:10px;letter-spacing:.05em;transition:border-color .2s}
    .q-result-restart:hover{border-color:var(--taupe)}
    @media(max-width:480px){.q-option{flex-direction:column;gap:8px}.q-option-icon{width:32px;height:32px}}


    .quiz-section {
      background: var(--ivory);
      border-top: 1px solid var(--stone);
    }
    .quiz-section__header {
      text-align: center;
      padding: clamp(3rem,6vw,5rem) clamp(1.25rem,6vw,5rem) 0;
    }
    .quiz-section__eyebrow {
      display: block;
      font-size: .62rem; font-weight: 400; letter-spacing: .22em;
      text-transform: uppercase; color: var(--gold);
      margin-block-end: .75rem;
    }
    .quiz-section__heading {
      font-family: var(--font-display,'Cormorant Garamond',serif);
      font-size: clamp(1.6rem,3.5vw,2.4rem); font-weight: 300;
      color: var(--deep,#1A1614); letter-spacing: .01em; line-height: 1.25;
      margin-block-end: .75rem;
    }
    .quiz-section__sub {
      font-size: clamp(.82rem,1.2vw,.95rem); font-weight: 300;
      color: var(--muted,#6B6460); line-height: 1.8;
      max-width: 48ch; margin: 0 auto clamp(1.5rem,3vw,2.5rem);
    }
    .quiz-root-container {
      max-width: 680px;
      margin-inline: auto;
    }
    body.dark-theme .quiz-section { background: #111827; }
    body.dark-theme .q-option { background: #0F1520; border-color: rgba(255,255,255,.07); }
    body.dark-theme .q-option:hover,
    body.dark-theme .q-option.selected { background: #1A2540; border-color: var(--gold); }
    body.dark-theme .q-option-icon { background: rgba(255,255,255,.06); }
    body.dark-theme .q-option.selected .q-option-icon { background: rgba(154,128,96,.18); }
    body.dark-theme .q-result-rec { background: #0F1520; border-color: rgba(255,255,255,.07); }
    body.dark-theme .q-result-cta-btn { background: #07090F; }
    body.dark-theme .q-result-cta-btn:hover { background: #0F1520; }


    .ba-section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,5rem);background:var(--charcoal)}
    .ba-section__eyebrow{display:block;font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-block-end:.75rem}
    .ba-section__heading{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:300;color:var(--ivory);letter-spacing:.01em;line-height:1.25;margin-block-end:.75rem}
    .ba-section__sub{font-size:clamp(.82rem,1.15vw,.925rem);font-weight:300;color:rgba(248,245,240,.45);line-height:1.85;max-width:52ch;margin-block-end:clamp(2rem,4vw,3rem)}
    .ba-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-block-end:1rem}
    .ba-tab-b{padding:6px 16px;border-radius:20px;border:1px solid rgba(248,245,240,.14);font-size:.72rem;font-weight:300;letter-spacing:.06em;cursor:pointer;background:transparent;color:rgba(248,245,240,.45);transition:all .2s}
    .ba-tab-b:hover{border-color:rgba(154,128,96,.5);color:rgba(248,245,240,.8)}
    .ba-tab-b.is-on{background:rgba(154,128,96,.14);border-color:var(--gold);color:var(--gold)}
    .ba-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-block-end:.85rem}
    .ba-tname{font-family:var(--font-display);font-size:clamp(1rem,1.8vw,1.25rem);font-weight:300;color:var(--ivory);letter-spacing:.01em}
    .ba-tdesc{font-size:.72rem;font-weight:300;color:rgba(248,245,240,.35);font-style:italic}
    .ba-stage{position:relative;border-radius:3px;overflow:hidden;cursor:ew-resize;touch-action:none;background:#1A1614;aspect-ratio:16/9;max-height:420px;max-width:780px;margin-inline:auto}
    .ba-canvas-el{position:absolute;inset:0;width:100%;height:100%}
    .ba-canvas-el.ba-after{z-index:2;clip-path:inset(0 50% 0 0);will-change:clip-path}
    .ba-line{position:absolute;top:0;bottom:0;left:50%;z-index:3;width:2px;background:rgba(255,255,255,.88);transform:translateX(-50%);pointer-events:none;will-change:left}
    .ba-knob{position:absolute;top:50%;left:50%;z-index:4;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--gold,#9A8060);border:2.5px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:ew-resize;will-change:left;box-shadow:0 2px 14px rgba(0,0,0,.5);transition:transform .15s}
    .ba-knob:hover,.ba-knob.is-drag{transform:translate(-50%,-50%) scale(1.12)}
    .ba-knob svg{width:20px;height:20px;fill:rgba(255,255,255,.95)}
    .ba-pill{position:absolute;top:14px;z-index:5;padding:4px 13px;border-radius:20px;font-size:.65rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase}
    .ba-pill-b{left:14px;background:rgba(0,0,0,.58);color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.16)}
    .ba-pill-a{right:14px;background:rgba(154,128,96,.88);color:#fff;border:1px solid rgba(255,255,255,.22);transition:opacity .22s}
    .ba-drag-hint{font-size:.65rem;font-weight:300;color:rgba(248,245,240,.28);text-align:center;margin-block-start:.7rem;letter-spacing:.08em;transition:opacity .4s}
    .ba-disclaimer{font-size:.65rem;font-weight:300;color:rgba(248,245,240,.22);line-height:1.75;margin-block-start:1.5rem;padding-block-start:1.25rem;border-top:1px solid rgba(248,245,240,.06);max-width:62ch}
    body.dark-theme .ba-section{background:var(--ivory)}
    body.dark-theme .ba-tab-b{border-color:rgba(255,255,255,.1)}
    @media(max-width:540px){.ba-meta{flex-direction:column;gap:.25rem}.ba-tdesc{text-align:left}}

/* --- TEAM CARD IMAGE ALIGNMENT FIX --- */
.team-card picture {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important; /* Enforces a perfect portrait crop on all screens */
  overflow: hidden !important;
}

.team-card picture img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; /* Crops the photo automatically without stretching */
  object-position: center top !important; /* Ensures heads/faces don't get cut off */
} 
