/* ═══════════════════════════════════════════════════════════════
   THE SMITH DOBROWSKY TEAM — Homepage Styles
   Extracted from index.html inline <style> blocks — Phase 1 refactor.
   Load order: styles.css → nav.css → home.css
   Scope: body.home-page selectors + preloader + hero cinematic pass.
   Do not add global/shared rules here — those belong in styles.css.
   ═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────────────
   BLOCK 1 — Hero, Communities, Properties, Meet Team, Closing CTA

/* ─────────────────────────────────────────────────────────────
   NOTE: Block 3 is loaded first — it contains intermediate passes
   from styles.css. Block 1 (original inline styles) loads after
   and correctly overrides, matching the original cascade order.
   ───────────────────────────────────────────────────────────── */

   BLOCK 3 — Homepage editorial overrides (Phase 3A migration)
   Moved from css/styles.css — was lines 1188–10716.
   All rules scoped to body.home-page.
   ───────────────────────────────────────────────────────────── */


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE EDITORIAL OVERRIDES
   Moved from index.html and scoped to body.home-page.
   ═══════════════════════════════════════════════════════════ */
body.home-page /* ═══════════════════════════════════════════════════════
       HERO — Complete override of accumulated styles.css passes
       Scoped homepage rules preserve the current editorial direction.
       !important used only where styles.css declares !important.
    ═══════════════════════════════════════════════════════ */

    /* ── Hero container ───────────────────────────────────── */
    .hero {
      position: relative !important;
      min-height: 100vh !important;
      overflow: hidden !important;
      background: #05090f !important;
      background-image: none !important;
      isolation: isolate !important;
    }

    body.home-page /* Video — fills hero__video-wrap in the right panel */
    .hero__video {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center center !important;
      z-index: 1 !important;
      filter: saturate(0.92) brightness(0.86) !important;
      pointer-events: none !important;
      will-change: opacity !important;
      transform: translateZ(0) !important;
      opacity: 0 !important;
      transition: opacity 1.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    body.home-page .hero__video.is-ready {
      opacity: 1 !important;
    }

    body.home-page /* Subtle top anchor — grounds the nav zone */
    .hero::before {
      content: '' !important;
      position: absolute !important;
      inset: 0 !important;
      background: linear-gradient(to bottom, rgba(5,9,15,0.24) 0%, transparent 14%) !important;
      pointer-events: none !important;
      z-index: 1 !important;
    }

    body.home-page /* Subtle gold warmth — left column accent only */
    .hero::after {
      content: '' !important;
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      bottom: 0 !important;
      width: 54% !important;
      background: radial-gradient(ellipse at 10% 28%, rgba(180,168,150,0.07), transparent 58%) !important;
      pointer-events: none !important;
      z-index: 1 !important;
    }

    body.home-page /* Unused decor elements from styles.css — hidden */
    .hero__texture,
body.home-page .hero__glow,
body.home-page .hero__frame,
body.home-page .hero__badge,
body.home-page .hero__placeholder,
body.home-page .hero__visual-lines,
body.home-page .hero__corner {
      display: none !important;
    }

    body.home-page /* ── Two-column: text left | video right ─────────────── */
    .hero__inner {
      display: grid !important;
      grid-template-columns: 54fr 46fr !important;
      min-height: 100vh !important;
      max-width: none !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      gap: 0 !important;
      align-items: stretch !important;
      position: relative !important;
      z-index: 2 !important;
    }

    body.home-page /* ── Left column — content ────────────────────────────── */
    .hero__left {
      position: relative !important;
      z-index: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      padding: 80px 56px 80px 80px !important;
      max-width: none !important;
      flex: none !important;
      width: auto !important;
    }

    body.home-page /* Vertical gold rule — left decorative accent */
    .hero__left::before {
      content: '';
      position: absolute;
      left: 56px;
      top: 14%;
      bottom: 14%;
      width: 2px;
      background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(180,168,150,0.7) 18%,
        rgba(180,168,150,0.7) 82%,
        transparent 100%
      );
    }

    body.home-page /* ── Overline ─────────────────────────────────────────── */
    .hero__overline {
      display: flex !important;
      align-items: flex-start !important;
      gap: 14px !important;
      margin-bottom: 26px !important;
      font-size: 10px !important;
      font-weight: 500 !important;
      letter-spacing: 0.2em !important;
      text-transform: uppercase !important;
      color: rgba(180,168,150,0.82) !important;
      line-height: 1.7 !important;
      max-width: 480px;
    }

    body.home-page .hero__overline-rule {
      display: block !important;
      width: 28px !important;
      min-width: 28px !important;
      height: 1px !important;
      background: rgba(180,168,150,0.75) !important;
      margin-top: 6px !important;
      flex-shrink: 0 !important;
    }

    body.home-page /* ── Headline ─────────────────────────────────────────── */
    .hero__h1 {
      margin: 0 0 28px !important;
      max-width: none !important;
    }

    body.home-page /* Location badge — sits above the display type */
    .hero__h1-location {
      display: block !important;
      font-family: var(--font-sans) !important;
      font-size: 11px !important;
      font-weight: 500 !important;
      letter-spacing: 0.28em !important;
      text-transform: uppercase !important;
      color: rgba(180,168,150,0.78) !important;
      line-height: 1 !important;
      margin-bottom: 22px !important;
    }

    body.home-page /* Main headline — massive display */
    .hero__h1-line {
      display: block !important;
      font-size: clamp(52px, 5.5vw, 84px) !important;
      font-weight: 700 !important;
      color: #ffffff !important;
      line-height: 0.93 !important;
      letter-spacing: -0.035em !important;
      text-shadow: 0 2px 32px rgba(0,0,0,0.75), 0 1px 6px rgba(0,0,0,0.55) !important;
    }

    body.home-page /* Italic emotional counterpoint */
    .hero__h1-em {
      display: block !important;
      font-size: clamp(52px, 5.5vw, 84px) !important;
      font-weight: 400 !important;
      font-style: italic !important;
      color: rgba(255,255,255,0.82) !important;
      line-height: 0.93 !important;
      letter-spacing: -0.028em !important;
      text-shadow: 0 2px 32px rgba(0,0,0,0.75), 0 1px 6px rgba(0,0,0,0.55) !important;
    }

    body.home-page /* ── Supporting paragraph ─────────────────────────────── */
    .hero__sub {
      font-size: 15.5px !important;
      font-weight: 300 !important;
      color: rgba(255,255,255,0.58) !important;
      line-height: 1.74 !important;
      margin: 0 0 32px !important;
      max-width: 440px !important;
      text-shadow: 0 1px 16px rgba(0,0,0,0.65) !important;
    }

    body.home-page /* ── Stats row ────────────────────────────────────────── */
    .hero__trust {
      display: flex !important;
      align-items: center !important;
      grid-template-columns: none !important;
      gap: 0 !important;
      margin: 0 0 32px !important;
      padding: 16px 0 !important;
      border-top: 1px solid rgba(255,255,255,0.1) !important;
      border-bottom: 1px solid rgba(255,255,255,0.1) !important;
      max-width: 440px !important;
    }

    body.home-page .hero__trust-item {
      padding-right: 24px !important;
      padding-left: 0 !important;
    }
    body.home-page .hero__trust-item:not(:first-child) {
      padding-left: 24px !important;
      border-left: 1px solid rgba(180,168,150,0.22) !important;
    }

    body.home-page .hero__trust-value {
      display: block !important;
      font-family: var(--font-serif) !important;
      font-size: 26px !important;
      font-weight: 600 !important;
      color: #ffffff !important;
      line-height: 1 !important;
    }

    body.home-page .hero__trust-label {
      display: block !important;
      margin-top: 5px !important;
      font-size: 9.5px !important;
      font-weight: 600 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      color: rgba(180,168,150,0.68) !important;
      line-height: 1.4 !important;
    }

    body.home-page /* ── Lead-capture form ────────────────────────────────── */
    .hero__form {
      background: rgba(255,255,255,0.04) !important;
      border: 1px solid rgba(255,255,255,0.12) !important;
      padding: 20px 22px !important;
      margin-bottom: 22px !important;
      max-width: 480px !important;
      box-shadow: none !important;
    }

    body.home-page .hero__form-label {
      display: block !important;
      font-size: 9.5px !important;
      font-weight: 700 !important;
      letter-spacing: 0.2em !important;
      text-transform: uppercase !important;
      color: rgba(180,168,150,0.88) !important;
      margin-bottom: 12px !important;
    }

    body.home-page .hero__form-row {
      display: flex !important;
      min-height: 52px !important;
      box-shadow: none !important;
    }

    body.home-page .hero__form-input {
      flex: 1 !important;
      min-width: 0 !important;
      min-height: 52px !important;
      background: rgba(255,255,255,0.055) !important;
      border: 1px solid rgba(255,255,255,0.14) !important;
      border-right: none !important;
      color: #ffffff !important;
      font-family: var(--font-sans) !important;
      font-size: 13.5px !important;
      padding: 0 16px !important;
      outline: none !important;
      transition: border-color 0.2s !important;
      border-radius: 0 !important;
    }
    body.home-page .hero__form-input::placeholder { color: rgba(255,255,255,0.26) !important; }
    body.home-page .hero__form-input:focus {
      border-color: rgba(180,168,150,0.5) !important;
      box-shadow: none !important;
    }

    body.home-page .hero__form-btn {
      min-height: 52px !important;
      min-width: 168px !important;
      background: #f0ece3 !important;
      color: #1a1a1a !important;
      font-family: var(--font-sans) !important;
      font-size: 10px !important;
      font-weight: 700 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      padding: 0 20px !important;
      white-space: nowrap !important;
      cursor: pointer !important;
      border: none !important;
      border-radius: 0 !important;
      box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
      transition: background 0.2s, transform 0.15s !important;
    }
    body.home-page .hero__form-btn:hover {
      background: #e8e4dc !important;
      box-shadow: 0 3px 14px rgba(0,0,0,0.22) !important;
      transform: translateY(-1px) !important;
    }

    body.home-page .hero__form-disclaimer {
      font-size: 10.5px !important;
      color: rgba(255,255,255,0.25) !important;
      margin-top: 10px !important;
      letter-spacing: 0.01em !important;
    }

    body.home-page /* ── Secondary CTAs ───────────────────────────────────── */
    .hero__ctas {
      display: flex !important;
      align-items: center !important;
      gap: 24px !important;
      flex-wrap: wrap !important;
      margin-bottom: 0 !important;
    }

    body.home-page /* Override btn-ghost so it matches dark hero */
    .hero .btn-ghost {
      font-size: 11px !important;
      font-weight: 600 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      color: rgba(255,255,255,0.70) !important;
      background: transparent !important;
      border: 1.5px solid rgba(255,255,255,0.22) !important;
      padding: 11px 24px !important;
      transition: border-color 0.2s, color 0.2s !important;
    }
    body.home-page .hero .btn-ghost:hover {
      border-color: rgba(180,168,150,0.65) !important;
      color: #fff !important;
    }

    body.home-page .hero .btn-text-link {
      font-size: 13px !important;
      color: rgba(255,255,255,0.40) !important;
      display: flex !important;
      align-items: center !important;
      gap: 6px !important;
      transition: color 0.2s !important;
    }
    body.home-page .hero .btn-text-link:hover { color: rgba(255,255,255,0.88) !important; }

    body.home-page /* ── Right column — video panel ──────────────────────── */
    .hero__right {
      position: relative !important;
      display: block !important;
      align-self: stretch !important;
      overflow: hidden !important;
      min-height: 0 !important;
    }

    body.home-page /* Left-edge fade — blends video into dark left column */
    .hero__right::before {
      content: '' !important;
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      bottom: 0 !important;
      width: 88px !important;
      background: linear-gradient(to right, #05090f 0%, rgba(5,9,15,0.65) 38%, transparent 100%) !important;
      z-index: 4 !important;
      pointer-events: none !important;
    }

    body.home-page /* Gold corner bracket — top right */
    .hero__right::after {
      content: '' !important;
      position: absolute !important;
      top: 28px !important;
      right: 28px !important;
      width: 44px !important;
      height: 44px !important;
      border-top: 1px solid rgba(180,168,150,0.45) !important;
      border-right: 1px solid rgba(180,168,150,0.45) !important;
      z-index: 5 !important;
      pointer-events: none !important;
    }

    body.home-page /* Video wrap — fills the right column entirely */
    .hero__video-wrap {
      position: absolute !important;
      inset: 0 !important;
      overflow: hidden !important;
    }

    body.home-page /* Bottom fade — grounds the video panel */
    .hero__video-wrap::after {
      content: '' !important;
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      height: 30% !important;
      background: linear-gradient(to top, rgba(5,9,15,0.52) 0%, transparent 100%) !important;
      z-index: 2 !important;
      pointer-events: none !important;
    }

    body.home-page /* Agent caption — bottom of video panel */
    .hero__caption {
      display: flex !important;
      flex-direction: column !important;
      position: absolute !important;
      bottom: 0 !important;
      left: 0 !important;
      right: 0 !important;
      padding: 24px 30px !important;
      z-index: 6 !important;
    }
    body.home-page .hero__caption-rule {
      display: block !important;
      width: 22px !important;
      height: 1px !important;
      background: rgba(180,168,150,0.8) !important;
      margin-bottom: 10px !important;
    }
    body.home-page .hero__caption-name {
      font-family: var(--font-serif) !important;
      font-size: 15px !important;
      font-weight: 500 !important;
      font-style: italic !important;
      color: rgba(255,255,255,0.90) !important;
      line-height: 1.35 !important;
    }
    body.home-page .hero__caption-title {
      font-size: 9px !important;
      font-weight: 600 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      color: rgba(180,168,150,0.70) !important;
      margin-top: 7px !important;
    }


    body.home-page /* ── Responsive ───────────────────────────────────────── */

    /* Large desktop — more breathing room */
    @media (min-width: 1400px) {
      .hero__left { padding: 80px 64px 80px 96px !important; }
      .hero__left::before { left: 72px !important; }
    }

    body.home-page /* Medium desktop — tighten slightly */
    @media (max-width: 1200px) {
      .hero__inner { grid-template-columns: 56fr 44fr !important; }
      .hero__left { padding: 80px 44px 80px 60px !important; }
      .hero__left::before { left: 38px !important; }
      .hero__h1-line,
      .hero__h1-em { font-size: clamp(44px, 4.8vw, 72px) !important; }
    }

    body.home-page /* Tablet — stack: text top,
body.home-page video below */
    @media (max-width: 900px) {
      .hero__inner {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        min-height: 100svh !important;
      }

      .hero__left {
        order: 2 !important;
        padding: 100px 36px 44px !important;
        justify-content: flex-start !important;
      }
      .hero__left::before { display: none !important; }

      .hero__right {
        order: 1 !important;
        height: 58vw !important;
        min-height: 260px !important;
        max-height: 420px !important;
      }

      /* No left-edge fade in stacked layout */
      .hero__right::before { display: none !important; }
      /* No bracket in stacked layout */
      .hero__right::after { display: none !important; }

      .hero__caption { display: none !important; }

      .hero__h1-line,
      .hero__h1-em { font-size: 52px !important; }

      .hero__form { max-width: 100% !important; }
      .hero__trust { max-width: 100% !important; }
    }

    body.home-page /* Mobile */
    @media (max-width: 600px) {
      .hero__right {
        height: 56vw !important;
        min-height: 210px !important;
        max-height: 320px !important;
      }

      .hero__left { padding: 88px 24px 40px !important; }

      .hero__h1-line,
      .hero__h1-em { font-size: 42px !important; }
      .hero__sub { font-size: 15px !important; }

      .hero__overline { font-size: 10px !important; gap: 8px !important; }

      .hero__form-row {
        flex-direction: column !important;
        min-height: auto !important;
      }
      .hero__form-input {
        border-right: 1px solid rgba(255,255,255,0.14) !important;
        border-bottom: none !important;
        min-height: 48px !important;
      }
      .hero__form-btn {
        min-width: 0 !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 0 16px !important;
      }

      .hero__trust { max-width: 100% !important; }
      .hero__trust-item { min-width: 0 !important; }

      .hero__ctas {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
      }
      .hero .btn-ghost {
        width: 100% !important;
        text-align: center !important;
      }
    }

    body.home-page /* Small mobile */
    @media (max-width: 380px) {
      .hero__right { height: 68vw !important; min-height: 200px !important; }
      .hero__h1-line,
      .hero__h1-em { font-size: 36px !important; }
      .hero__left { padding: 84px 16px 36px !important; }
    }



    body.home-page /* Hero media fallback before the carousel initializes */
    .hero__video-wrap {
      background-image: url("../assets/geoff-smith-burlington-hamilton-local-neighbourhood-expert-hero.webp") !important;
      background-size: cover !important;
      background-position: center center !important;
      background-repeat: no-repeat !important;
    }

    body.home-page /* Final override: full-bleed desktop hero video */
    @media (min-width: 901px) {
      .hero {
        min-height: 100svh !important;
      }

      .hero__inner {
        grid-template-columns: minmax(480px, 47vw) minmax(0, 1fr) !important;
        min-height: 100svh !important;
        position: relative !important;
      }

      .hero__left {
        position: relative !important;
        z-index: 7 !important;
        background: linear-gradient(90deg, #05090f 0%, rgba(5,9,15,0.97) 72%, rgba(5,9,15,0.72) 100%) !important;
      }

      .hero__right {
        position: absolute !important;
        top: 0 !important;
        right: -7vw !important;
        bottom: 0 !important;
        width: min(68vw, 1120px) !important;
        height: 100% !important;
        min-height: 100svh !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 2 !important;
      }

      .hero__right::before {
        width: 24vw !important;
        background: linear-gradient(to right, #05090f 0%, rgba(5,9,15,0.92) 24%, rgba(5,9,15,0.44) 62%, transparent 100%) !important;
      }

      .hero__right::after {
        right: calc(7vw + 30px) !important;
      }

      .hero__video-wrap {
        position: absolute !important;
        inset: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
      }

      .hero__video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
      }

      .hero__caption {
        right: 7vw !important;
        padding-left: 10vw !important;
      }
    }

    @media (min-width: 1500px) {
      body.home-page .hero__right {
        right: -10vw !important;
        width: min(72vw, 1280px) !important;
      }
      body.home-page .hero__right::after {
        right: calc(10vw + 36px) !important;
      }
      body.home-page .hero__caption {
        right: 10vw !important;
      }
    }

    body.home-page /* Final mobile contained video panel */
    @media (max-width: 900px) {
      .hero {
        min-height: auto !important;
        overflow: hidden !important;
        background: #05090f !important;
      }

      .hero__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        min-height: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
      }

      .hero__left {
        order: 2 !important;
        min-height: auto !important;
        padding: 92px 36px 44px !important;
        justify-content: flex-start !important;
        background: linear-gradient(180deg, rgba(5,9,15,0.98) 0%, rgba(5,9,15,0.92) 100%) !important;
      }

      .hero__left::before {
        display: none !important;
      }

      .hero__right {
        order: 1 !important;
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 54vw !important;
        min-height: 260px !important;
        max-height: 430px !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 2 !important;
        pointer-events: none !important;
      }

      .hero__right::before,
      .hero__right::after,
      .hero__caption {
        display: none !important;
      }

      .hero__video-wrap {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
      }

      .hero__video-wrap::after {
        display: none !important;
        content: none !important;
      }

      .hero__video {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        filter: saturate(0.98) brightness(0.96) contrast(1.02) !important;
      }
    }

    @media (max-width: 600px) {
      body.home-page .hero__left {
        padding: 86px 24px 38px !important;
      }

      body.home-page .hero__right {
        height: 58vw !important;
        min-height: 218px !important;
        max-height: 320px !important;
      }

      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 42px !important;
      }
    }

    @media (max-width: 380px) {
      body.home-page .hero__left {
        padding: 78px 18px 34px !important;
      }

      body.home-page .hero__right {
        height: 62vw !important;
        min-height: 200px !important;
      }

      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 36px !important;
      }
    }



    body.home-page /* Final mobile full-bleed below-copy video fix */
    @media (max-width: 900px) {
      .hero,
      .hero__inner {
        overflow-x: hidden !important;
        overflow-y: visible !important;
      }

      .hero__right {
        order: 1 !important;
        position: relative !important;
        left: 50% !important;
        right: auto !important;
        inset: auto auto auto 50% !important;
        transform: translateX(-50%) !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        height: 58vw !important;
        min-height: 260px !important;
        max-height: 440px !important;
        margin: 0 !important;
        display: block !important;
        overflow: hidden !important;
        z-index: 2 !important;
      }

      .hero__video-wrap {
        position: absolute !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
      }

      .hero__video {
        width: 100vw !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
      }
    }

    @media (max-width: 600px) {
      body.home-page .hero__right {
        height: 64vw !important;
        min-height: 236px !important;
        max-height: 340px !important;
      }
    }

    @media (max-width: 380px) {
      body.home-page .hero__right {
        height: 66vw !important;
        min-height: 218px !important;
      }
    }



    body.home-page /* Hide duplicate proof stats on mobile */
    @media (max-width: 768px) {
      .proof-bar {
        display: none !important;
      }
    }


    body.home-page /* Emotion-led hero copy refinement */
    .hero__left {
      gap: 0 !important;
    }

    body.home-page .hero__h1-location {
      max-width: 560px !important;
      margin-bottom: 18px !important;
      color: rgba(180,168,150,0.82) !important;
      font-size: 9.5px !important;
      letter-spacing: 0.2em !important;
      line-height: 1.55 !important;
    }

    body.home-page .hero__local-detail {
      position: absolute !important;
      left: 80px !important;
      bottom: 34px !important;
      display: block !important;
      width: min(100%, 420px) !important;
      min-height: 18px !important;
      margin: 0 !important;
      color: rgba(255,255,255,0.58) !important;
      font-size: 12px !important;
      font-weight: 400 !important;
      letter-spacing: 0.055em !important;
      line-height: 1.5 !important;
      overflow: hidden !important;
    }

    body.home-page .hero__local-detail::before {
      content: '' !important;
      display: inline-block !important;
      width: 26px !important;
      height: 1px !important;
      margin: 0 10px 4px 0 !important;
      background: rgba(180,168,150,0.58) !important;
    }

    body.home-page .hero__local-detail span {
      position: absolute !important;
      left: 36px !important;
      top: 0 !important;
      opacity: 0 !important;
      transform: translateY(6px) !important;
      animation: heroLocalDetail 24s ease-in-out infinite !important;
      white-space: nowrap !important;
    }

    body.home-page .hero__local-detail span:nth-child(1) { animation-delay: 0s !important; }
    body.home-page .hero__local-detail span:nth-child(2) { animation-delay: 4s !important; }
    body.home-page .hero__local-detail span:nth-child(3) { animation-delay: 8s !important; }
    body.home-page .hero__local-detail span:nth-child(4) { animation-delay: 12s !important; }
    body.home-page .hero__local-detail span:nth-child(5) { animation-delay: 16s !important; }
    body.home-page .hero__local-detail span:nth-child(6) { animation-delay: 20s !important; }

    @keyframes heroLocalDetail {
      0%, 12% {
        opacity: 0;
        transform: translateY(6px);
      }
      17%, 30% {
        opacity: 1;
        transform: translateY(0);
      }
      35%, 100% {
        opacity: 0;
        transform: translateY(-6px);
      }
    }

    body.home-page .hero__h1 {
      margin-bottom: 20px !important;
      max-width: 560px !important;
    }

    body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
      font-size: 56px !important;
      letter-spacing: 0 !important;
      line-height: 0.98 !important;
      text-wrap: balance !important;
    }

    body.home-page .hero__h1-em {
      color: rgba(255,255,255,0.88) !important;
    }

    body.home-page .hero__sub {
      max-width: 510px !important;
      margin-bottom: 14px !important;
      color: rgba(255,255,255,0.72) !important;
      font-size: 15.5px !important;
      line-height: 1.62 !important;
    }

    body.home-page .hero__context {
      max-width: 520px !important;
      margin: 0 0 22px !important;
      color: rgba(255,255,255,0.52) !important;
      font-size: 12.75px !important;
      font-weight: 300 !important;
      line-height: 1.7 !important;
      text-shadow: 0 1px 16px rgba(0,0,0,0.65) !important;
    }

    body.home-page .hero__trust {
      max-width: 540px !important;
      margin-bottom: 22px !important;
      padding: 13px 0 !important;
    }

    body.home-page .hero__trust-value {
      font-size: 25px !important;
      letter-spacing: 0 !important;
    }

    body.home-page .hero__trust-label {
      max-width: 116px !important;
      color: rgba(180,168,150,0.78) !important;
      letter-spacing: 0.105em !important;
      line-height: 1.35 !important;
    }

    body.home-page .hero__ctas {
      gap: 18px !important;
      margin-bottom: 12px !important;
    }

    body.home-page .hero .btn-ghost.hero__primary-cta {
      min-height: 46px !important;
      padding: 0 28px !important;
      background: #f0ece3 !important;
      border-color: rgba(180,168,150,0.78) !important;
      color: #1a1a1a !important;
      box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
    }

    body.home-page .hero .btn-ghost.hero__primary-cta:hover {
      color: #08111f !important;
      border-color: rgba(228,201,127,0.95) !important;
      transform: translateY(-1px) !important;
    }

    body.home-page .hero .btn-text-link {
      color: rgba(255,255,255,0.58) !important;
    }

    @media (prefers-reduced-motion: reduce) {
      body.home-page .hero__local-detail span {
        animation: none !important;
        opacity: 0 !important;
        transform: none !important;
      }

      body.home-page .hero__local-detail span:first-child {
        opacity: 1 !important;
      }
    }

    @media (max-width: 1200px) {
      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 50px !important;
      }
    }

    @media (max-width: 900px) {
      body.home-page .hero__h1-location {
        max-width: 100% !important;
        font-size: 10px !important;
      }

      body.home-page .hero__local-detail {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        width: 100% !important;
        margin-bottom: 18px !important;
      }

      body.home-page .hero__h1 {
        max-width: 680px !important;
      }

      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 46px !important;
        line-height: 1 !important;
      }

      body.home-page .hero__sub,
body.home-page .hero__context {
        max-width: 640px !important;
      }
    }

    @media (max-width: 600px) {
      body.home-page .hero__h1-location {
        font-size: 9px !important;
        letter-spacing: 0.18em !important;
      }

      body.home-page .hero__local-detail {
        min-height: 34px !important;
        font-size: 11px !important;
        letter-spacing: 0.035em !important;
      }

      body.home-page .hero__local-detail span {
        white-space: normal !important;
        right: 0 !important;
      }

      body.home-page .hero__h1 {
        margin-bottom: 20px !important;
      }

      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 37px !important;
      }

      body.home-page .hero__sub {
        font-size: 16px !important;
        line-height: 1.62 !important;
      }

      body.home-page .hero__context {
        font-size: 13.5px !important;
        line-height: 1.68 !important;
        margin-bottom: 24px !important;
      }

      body.home-page .hero__trust {
        justify-content: space-between !important;
      }

      body.home-page .hero__trust-item {
        flex: 1 1 0 !important;
        padding-right: 12px !important;
      }

      body.home-page .hero__trust-item:not(:first-child) {
        padding-left: 12px !important;
      }

      body.home-page .hero__trust-value {
        font-size: 25px !important;
      }

      body.home-page .hero__trust-label {
        max-width: 92px !important;
        font-size: 8.5px !important;
        letter-spacing: 0.08em !important;
      }

      body.home-page .hero .btn-ghost.hero__primary-cta,
body.home-page .hero .btn-text-link {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
      }

    }

    @media (max-width: 380px) {
      body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
        font-size: 34px !important;
      }

      body.home-page .hero__context {
        font-size: 13px !important;
      }
    }


    body.home-page /* ── Meet the Team ─────────────────────────────────────── */
    .meet-team {
      background: #05090f;
      overflow: hidden;
    }
    body.home-page .meet-team__inner {
      display: grid;
      grid-template-columns: 58fr 42fr;
      min-height: 520px;
    }
    body.home-page .meet-team__photo {
      position: relative;
      overflow: hidden;
    }
    body.home-page .meet-team__photo img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }
    body.home-page /* Right-edge fade blends photo into text panel */
    .meet-team__photo::after {
      content: '';
      position: absolute;
      top: 0; right: 0; bottom: 0;
      width: 120px;
      background: linear-gradient(to right, transparent 0%, #05090f 100%);
      pointer-events: none;
    }
    body.home-page .meet-team__content {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 72px 80px 72px 48px;
    }
    body.home-page .meet-team__eyebrow {
      display: block;
      font-family: var(--font-sans);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.20em;
      text-transform: uppercase;
      color: rgba(180,168,150,0.80);
      margin-bottom: 20px;
    }
    body.home-page .meet-team__heading {
      font-family: var(--font-serif);
      font-size: clamp(28px, 3vw, 42px);
      font-weight: 500;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #f0ece3;
      line-height: 1.15;
      margin: 0 0 28px;
    }
    body.home-page .meet-team__body {
      font-family: var(--font-sans);
      font-size: 15px;
      font-weight: 300;
      line-height: 1.78;
      color: rgba(240,236,227,0.72);
      max-width: 480px;
      margin: 0 0 44px;
    }
    body.home-page .meet-team__cta {
      display: inline-block;
      font-family: var(--font-sans);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: rgba(180,168,150,0.90);
      border: 1px solid rgba(180,168,150,0.45);
      padding: 14px 32px;
      text-decoration: none;
      transition: color 0.2s, border-color 0.2s, background 0.2s;
      align-self: flex-start;
    }
    body.home-page .meet-team__cta:hover {
      color: #0d1727;
      background: rgba(180,168,150,0.90);
      border-color: rgba(180,168,150,0.90);
    }

    @media (max-width: 900px) {
      body.home-page .meet-team__inner {
        grid-template-columns: 1fr;
        min-height: auto;
      }
      body.home-page .meet-team__photo {
        height: 62vw;
        min-height: 260px;
        max-height: 420px;
      }
      body.home-page .meet-team__photo::after { display: none; }
      body.home-page /* Bottom fade for stacked layout */
      .meet-team__photo::before {
        content: '';
        position: absolute;
        left: 0; right: 0; bottom: 0;
        height: 80px;
        background: linear-gradient(to top, #05090f 0%, transparent 100%);
        pointer-events: none;
        z-index: 1;
      }
      body.home-page .meet-team__content {
        padding: 44px 36px 56px;
      }
    }

    @media (max-width: 600px) {
      body.home-page .meet-team__photo {
        height: 68vw;
        min-height: 220px;
        max-height: 320px;
      }
      body.home-page .meet-team__content { padding: 36px 24px 48px; }
      body.home-page .meet-team__body { font-size: 14px; }
    }
    body.home-page /* Lifestyle hero media: uses the existing right-side hero media panel */
    .hero__media-slide {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: var(--hero-media-position, center center) !important;
      opacity: 0 !important;
      filter: saturate(0.92) brightness(0.86) !important;
      transform: scale(1.06) translate3d(0, 0, 0) !important;
      transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
      z-index: 1 !important;
      pointer-events: none !important;
    }

    body.home-page .hero__media-slide.is-active {
      opacity: 1 !important;
      animation: heroKenBurns 22s ease-in-out infinite alternate !important;
    }

    body.home-page .hero__media-slide--video {
      transform: scale(1.02) translate3d(0, 0, 0) !important;
    }

    body.home-page .hero__media-slide--video.is-active {
      animation: none !important;
    }

    body.home-page .hero__caption {
      display: none !important;
    }

    @keyframes heroKenBurns {
      from { transform: scale(1.06) translate3d(-1.4%, 0, 0); }
      to { transform: scale(1.13) translate3d(1.8%, -0.8%, 0); }
    }

  @media (prefers-reduced-motion: reduce) {
    body.home-page .hero__media-slide.is-active {
      animation: none !important;
      transform: scale(1.04) !important;
    }
  }

  body.home-page /* Meet Geoff & Katrinna: premium editorial split */
  .meet-editorial {
    display: grid !important;
    grid-template-columns: minmax(0, 1.62fr) minmax(340px, 0.82fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.home-page .meet-editorial + .proof-bar,
body.home-page .meet-team + .proof-bar {
    border-top: 0 !important;
  }

  body.home-page .meet-editorial__media {
    position: relative !important;
    min-height: clamp(520px, 55vw, 740px) !important;
    background: #050506 !important;
    box-shadow: inset -1px 0 0 rgba(202, 164, 83, 0.42) !important;
    overflow: hidden !important;
  }

  body.home-page .meet-editorial__media::before {
    display: none !important;
  }

  body.home-page .meet-editorial__media::after {
    display: none !important;
  }

  body.home-page .meet-editorial__image {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    opacity: 1 !important;
    background: #f2eee7 !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
  }

  body.home-page .meet-editorial__media .meet-editorial__image {
    display: block !important;
  }

  body.home-page .meet-editorial__duo {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    overflow: hidden !important;
    display: none !important;
  }

  body.home-page .meet-editorial__duo::before {
    display: none !important;
  }

  body.home-page .meet-editorial__person {
    position: absolute !important;
    bottom: -1.5% !important;
    width: auto !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    opacity: 1 !important;
    filter: saturate(0.94) contrast(1.04) drop-shadow(0 38px 42px rgba(0, 0, 0, 0.42)) !important;
  }

  body.home-page .meet-editorial__person--geoff {
    left: 8% !important;
    height: 96% !important;
    z-index: 1 !important;
  }

  body.home-page .meet-editorial__person--katrinna {
    left: 31% !important;
    height: 93% !important;
    z-index: 2 !important;
  }

  body.home-page .meet-editorial__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    background: #fff !important;
    color: #0b1626 !important;
    padding: clamp(46px, 5.8vw, 96px) clamp(34px, 5vw, 86px) !important;
  }

  body.home-page .meet-editorial .meet-team__photo::after {
    display: none !important;
  }

  body.home-page .meet-editorial .meet-team__content,
body.home-page .meet-editorial__content.meet-team__content {
    background: #fff !important;
    color: #0b1626 !important;
  }

  body.home-page .meet-editorial__content > * {
    color: inherit !important;
    opacity: 1 !important;
  }

  body.home-page .meet-editorial :is(.section-eyebrow, .eyebrow, p:first-child) {
    margin: 0 0 18px !important;
    color: rgba(11, 22, 38, 0.56) !important;
    opacity: 1 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.22em !important;
    line-height: 1.3 !important;
  }

  body.home-page .meet-editorial h2 {
    max-width: 700px !important;
    margin: 0 0 clamp(22px, 3vw, 34px) !important;
    color: #080f1c !important;
    opacity: 1 !important;
    font-family: var(--font-serif) !important;
    font-size: clamp(2.55rem, 3.65vw, 4.65rem) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
  }

  body.home-page .meet-editorial h2 .meet-heading-line {
    display: inline-block !important;
    white-space: nowrap !important;
  }

  body.home-page .meet-editorial .meet-team__heading,
body.home-page .meet-editorial__content .meet-team__heading {
    color: #080f1c !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
  }

  body.home-page .meet-editorial h2 em {
    display: inline-block !important;
    color: rgba(8, 15, 28, 0.72) !important;
    font-style: italic !important;
    font-weight: 400 !important;
  }

  body.home-page .meet-editorial p {
    max-width: 670px !important;
    margin: 0 !important;
    color: rgba(11, 22, 38, 0.78) !important;
    opacity: 1 !important;
    font-size: clamp(1rem, 1.05vw, 1.12rem) !important;
    line-height: 1.82 !important;
  }

  body.home-page .meet-editorial a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin-top: clamp(34px, 5vw, 86px) !important;
    padding: 0.85rem 1.7rem !important;
    border: 1px solid rgba(11, 22, 38, 0.86) !important;
    background: transparent !important;
    color: #0b1626 !important;
    box-shadow: none !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  body.home-page .meet-editorial a:hover {
    background: #0b1626 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
  }

  @media (max-width: 900px) {
    body.home-page .meet-editorial {
      grid-template-columns: 1fr !important;
      width: 100% !important;
      margin: 0 auto !important;
      border-left: 0 !important;
      border-right: 0 !important;
      box-shadow: none !important;
    }

    body.home-page .meet-editorial__media {
      min-height: clamp(390px, 68vw, 560px) !important;
    }

    body.home-page .meet-editorial__person--geoff {
      left: 12% !important;
      height: 92% !important;
    }

    body.home-page .meet-editorial__person--katrinna {
      left: 38% !important;
      height: 89% !important;
    }

    body.home-page .meet-editorial__content {
      padding: clamp(38px, 9vw, 62px) clamp(22px, 6vw, 42px) !important;
    }
  }

  @media (max-width: 560px) {
    body.home-page .hero__video-wrap::after {
      display: none !important;
      content: none !important;
    }

    body.home-page .hero__media-slide,
body.home-page .hero__media-slide.is-active {
      filter: saturate(1) brightness(1) contrast(1) !important;
    }

    body.home-page .meet-editorial__media {
      min-height: 360px !important;
    }

    body.home-page .meet-editorial__person--geoff {
      left: 4% !important;
      height: 88% !important;
    }

    body.home-page .meet-editorial__person--katrinna {
      left: 34% !important;
      height: 86% !important;
    }

    body.home-page .meet-editorial__image {
      object-position: 68% center !important;
    }

    body.home-page .meet-editorial h2 {
      font-size: clamp(2.45rem, 11vw, 3.35rem) !important;
      letter-spacing: -0.01em !important;
    }

    body.home-page .meet-editorial h2 .meet-heading-line {
      white-space: normal !important;
    }

    body.home-page .meet-editorial a {
      width: 100% !important;
    }
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial > .meet-team__content.meet-editorial__content {
    background: #fff !important;
    color: #0b1626 !important;
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading,
body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading em {
    color: #080f1c !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading em {
    color: rgba(8, 15, 28, 0.72) !important;
    font-style: italic !important;
    font-weight: 400 !important;
  }

  body.home-page /* Featured listings: dark editorial property showcase */
  .featured-listings {
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(86px, 9vw, 140px) clamp(22px, 5vw, 72px) !important;
    background:
      radial-gradient(circle at 84% 8%, rgba(180,168,150,0.13), transparent 30%),
      linear-gradient(135deg, #020408 0%, #080d16 48%, #020306 100%) !important;
    color: #fff !important;
  }

  body.home-page .featured-listings::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(115deg, transparent 0 49%, rgba(180,168,150,0.055) 49.1%, transparent 49.45%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 96px) !important;
    opacity: 0.62 !important;
    pointer-events: none !important;
  }

  body.home-page .featured-listings > * {
    position: relative !important;
    z-index: 1 !important;
  }

  body.home-page .featured-listings__header {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 28px !important;
    max-width: 1420px !important;
    margin: 0 auto clamp(36px, 5vw, 64px) !important;
  }

  body.home-page .featured-listings .section-eyebrow {
    color: #706860 !important;
  }

  body.home-page .featured-listings .section-heading {
    max-width: 12ch !important;
    color: rgba(255,255,255,0.94) !important;
    font-family: var(--font-serif) !important;
    font-size: clamp(2.55rem, 3.65vw, 4.65rem) !important;
    font-weight: 500 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
  }

  body.home-page .featured-listings .section-heading em {
    color: rgba(255,255,255,0.72) !important;
    font-style: italic !important;
    font-weight: 400 !important;
  }

  body.home-page .featured-listings .listings-grid {
    max-width: 1420px !important;
    margin: 0 auto clamp(38px, 4vw, 56px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.82fr) !important;
    grid-auto-rows: minmax(285px, auto) !important;
    gap: clamp(18px, 2vw, 28px) !important;
  }

  body.home-page .featured-listings .listing-card {
    position: relative !important;
    min-height: 100% !important;
    display: grid !important;
    grid-template-rows: minmax(260px, 1fr) auto !important;
    background: rgba(255,255,255,0.045) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,0.34) !important;
    isolation: isolate !important;
    transform: translateZ(0) !important;
    transition: transform 450ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 450ms, box-shadow 450ms !important;
  }

  body.home-page .featured-listings .listing-card--feature {
    grid-row: span 2 !important;
    grid-template-rows: minmax(560px, 1fr) auto !important;
  }

  body.home-page .featured-listings .listing-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(180,168,150,0.38) !important;
    box-shadow: 0 38px 100px rgba(0,0,0,0.48), 0 0 42px rgba(180,168,150,0.08) !important;
  }

  body.home-page .featured-listings .listing-card__img {
    height: auto !important;
    min-height: 260px !important;
    overflow: hidden !important;
    background: #111821 !important;
  }

  body.home-page .featured-listings .listing-card__img::before {
    content: '' !important;
    position: absolute !important;
    inset: -2px !important;
    background:
      linear-gradient(180deg, rgba(5,9,15,0.02), rgba(5,9,15,0.54)),
      url("../assets/listing-photos/55-chelsea.png") center/cover no-repeat !important;
    transform: scale(1.02) !important;
    transition: transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 900ms !important;
    z-index: 0 !important;
  }

  body.home-page .featured-listings .listing-card:nth-child(2) .listing-card__img::before {
    background:
      linear-gradient(180deg, rgba(5,9,15,0.02), rgba(5,9,15,0.54)),
      url("../assets/GettyImages-2231150857.jpg") center/cover no-repeat !important;
  }

  body.home-page .featured-listings .listing-card:nth-child(3) .listing-card__img::before {
    background:
      linear-gradient(180deg, rgba(5,9,15,0.02), rgba(5,9,15,0.54)),
      url("../assets/GettyImages-1388101414.jpg") center/cover no-repeat !important;
  }

  body.home-page .featured-listings .listing-card__img::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,0.16) 48%, transparent 72%) !important;
    opacity: 0 !important;
    transform: translateX(-38%) !important;
    transition: opacity 450ms, transform 900ms cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    z-index: 1 !important;
  }

  body.home-page .featured-listings .listing-card:hover .listing-card__img::before {
    transform: scale(1.075) !important;
    filter: saturate(1.04) contrast(1.04) !important;
  }

  body.home-page .featured-listings .listing-card:hover .listing-card__img::after {
    opacity: 0.42 !important;
    transform: translateX(38%) !important;
  }

  body.home-page .featured-listings .listing-card__img > svg {
    display: none !important;
  }

  body.home-page .featured-listings .listing-card__badge {
    top: 18px !important;
    left: 18px !important;
    z-index: 2 !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    background: rgba(5,9,15,0.72) !important;
    color: rgba(255,255,255,0.88) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  body.home-page .featured-listings .listing-card__body {
    padding: clamp(22px, 2vw, 32px) !important;
    background: rgba(3,5,9,0.92) !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
  }

  body.home-page .featured-listings .listing-card__price {
    color: rgba(255,255,255,0.96) !important;
    font-family: var(--font-serif) !important;
    font-size: clamp(1.7rem, 2.3vw, 2.75rem) !important;
    font-weight: 600 !important;
  }

  body.home-page .featured-listings .listing-card:not(.listing-card--feature) .listing-card__price {
    font-size: clamp(1.45rem, 1.7vw, 2rem) !important;
  }

  body.home-page .featured-listings .listing-card__address {
    color: rgba(255,255,255,0.78) !important;
    font-size: 15px !important;
    margin-top: 8px !important;
  }

  body.home-page .featured-listings .listing-card__city,
body.home-page .featured-listings .listing-card__details {
    color: rgba(255,255,255,0.5) !important;
  }

  body.home-page .featured-listings .listing-card__divider {
    background: rgba(180,168,150,0.24) !important;
  }

  body.home-page .featured-listings__footer {
    text-align: center !important;
  }

  body.home-page .featured-listings__footer .btn-navy {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 34px !important;
    background: transparent !important;
    border: 1px solid rgba(180,168,150,0.72) !important;
    color: rgba(255,255,255,0.88) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
  }

  body.home-page .featured-listings__footer .btn-navy:hover {
    background: rgba(180,168,150,0.9) !important;
    color: #07101d !important;
  }

  @media (max-width: 900px) {
    body.home-page .featured-listings__header {
      display: block !important;
    }

    body.home-page .featured-listings .section-heading {
      max-width: 11ch !important;
    }

    body.home-page .featured-listings .listings-grid {
      grid-template-columns: 1fr !important;
      grid-auto-rows: auto !important;
    }

    body.home-page .featured-listings .listing-card,
body.home-page .featured-listings .listing-card--feature {
      grid-row: auto !important;
      grid-template-rows: minmax(330px, 58vw) auto !important;
    }
  }

  @media (max-width: 560px) {
    body.home-page .featured-listings {
      padding: 72px 18px !important;
    }

    body.home-page .featured-listings .listing-card,
body.home-page .featured-listings .listing-card--feature {
      grid-template-rows: minmax(270px, 68vw) auto !important;
    }

    body.home-page .featured-listings .listing-card__details {
      flex-wrap: wrap !important;
      gap: 8px 14px !important;
    }
  }

  body.home-page /* Featured listings refinement: quieter,
body.home-page more editorial */
  .featured-listings .listings-grid {
    grid-template-columns: minmax(0, 1.42fr) minmax(290px, 0.72fr) !important;
    gap: clamp(14px, 1.6vw, 24px) !important;
    align-items: stretch !important;
  }

  body.home-page .featured-listings .listing-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.home-page .featured-listings .listing-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: none !important;
  }

  body.home-page .featured-listings .listing-card--feature {
    grid-template-rows: minmax(640px, 1fr) auto !important;
  }

  body.home-page .featured-listings .listing-card:not(.listing-card--feature) {
    grid-template-rows: minmax(250px, 1fr) auto !important;
  }

  body.home-page .featured-listings .listing-card__img {
    min-height: 250px !important;
  }

  body.home-page .featured-listings .listing-card--feature .listing-card__img {
    min-height: 640px !important;
  }

  body.home-page .featured-listings .listing-card__img::before {
    transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1), filter 1400ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  body.home-page .featured-listings .listing-card__img::after {
    background: linear-gradient(180deg, rgba(2,4,8,0.04) 0%, rgba(2,4,8,0.48) 100%) !important;
    opacity: 0.34 !important;
    transform: none !important;
    transition: opacity 700ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  body.home-page .featured-listings .listing-card:hover .listing-card__img::before {
    transform: scale(1.055) !important;
    filter: saturate(1.03) contrast(1.03) brightness(0.92) !important;
  }

  body.home-page .featured-listings .listing-card:hover .listing-card__img::after {
    opacity: 0.54 !important;
    transform: none !important;
  }

  body.home-page .featured-listings .listing-card__badge,
body.home-page .featured-listings .listing-card__badge[style] {
    top: 16px !important;
    left: 16px !important;
    padding: 4px 9px !important;
    background: rgba(4,7,12,0.42) !important;
    border: 0 !important;
    color: rgba(255,255,255,0.74) !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.17em !important;
    line-height: 1.1 !important;
  }

  body.home-page .featured-listings .listing-card__body {
    padding: clamp(18px, 1.8vw, 30px) 0 0 !important;
    background: transparent !important;
    border-top: 0 !important;
  }

  body.home-page .featured-listings .listing-card--feature .listing-card__body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 34px !important;
    align-items: end !important;
    padding-top: clamp(24px, 2.6vw, 40px) !important;
  }

  body.home-page .featured-listings .listing-card__price {
    font-size: clamp(2rem, 3vw, 4.1rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.015em !important;
  }

  body.home-page .featured-listings .listing-card:not(.listing-card--feature) .listing-card__price {
    font-size: clamp(1.45rem, 1.65vw, 2.05rem) !important;
  }

  body.home-page .featured-listings .listing-card__address {
    color: rgba(255,255,255,0.86) !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em !important;
  }

  body.home-page .featured-listings .listing-card__city {
    margin-top: 4px !important;
    color: rgba(255,255,255,0.44) !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  body.home-page .featured-listings .listing-card__divider {
    margin: 16px 0 13px !important;
    background: rgba(180,168,150,0.18) !important;
  }

  body.home-page .featured-listings .listing-card--feature .listing-card__divider {
    grid-column: 1 / -1 !important;
  }

  body.home-page .featured-listings .listing-card__details {
    justify-content: flex-start !important;
    gap: 12px !important;
    color: rgba(255,255,255,0.42) !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  body.home-page .featured-listings .listing-card--feature .listing-card__details {
    justify-self: end !important;
    align-self: end !important;
    padding-bottom: 4px !important;
  }

  body.home-page .featured-listings__footer {
    max-width: 1420px !important;
    margin: -12px auto 0 !important;
    text-align: right !important;
  }

  body.home-page .featured-listings__footer .btn-navy {
    min-height: 44px !important;
    padding: 0 0 0 28px !important;
    border: 0 !important;
    border-left: 1px solid rgba(180,168,150,0.58) !important;
    background: transparent !important;
    color: rgba(255,255,255,0.72) !important;
  }

  @media (max-width: 900px) {
    body.home-page .featured-listings .listings-grid {
      grid-template-columns: 1fr !important;
      gap: 30px !important;
    }

    body.home-page .featured-listings .listing-card,
body.home-page .featured-listings .listing-card--feature,
body.home-page .featured-listings .listing-card:not(.listing-card--feature) {
      grid-template-rows: minmax(330px, 58vw) auto !important;
    }

    body.home-page .featured-listings .listing-card--feature .listing-card__body {
      display: block !important;
    }

    body.home-page .featured-listings .listing-card--feature .listing-card__details {
      justify-self: start !important;
    }

    body.home-page .featured-listings__footer {
      margin-top: 6px !important;
      text-align: left !important;
    }
  }

  @media (max-width: 560px) {
    body.home-page .featured-listings .listing-card,
body.home-page .featured-listings .listing-card--feature,
body.home-page .featured-listings .listing-card:not(.listing-card--feature) {
      grid-template-rows: minmax(270px, 68vw) auto !important;
    }

    body.home-page .featured-listings .listing-card__body {
      padding-top: 18px !important;
    }
  }

  body.home-page /* Hero typography and spacing polish */
  @media (min-width: 901px) {
    .hero {
      min-height: 100svh !important;
      min-height: 100dvh !important;
      height: 100svh !important;
      height: 100dvh !important;
    }

    .hero__inner {
      min-height: 100svh !important;
      min-height: 100dvh !important;
      height: 100% !important;
    }

    .hero__right {
      min-height: 100svh !important;
      min-height: 100dvh !important;
      height: 100% !important;
    }

    .hero__left {
      padding: clamp(52px, 6vh, 78px) 52px clamp(46px, 5vh, 64px) 82px !important;
    }

    .hero__left::before {
      left: 58px !important;
      top: 17% !important;
      bottom: 17% !important;
    }

    .hero__right::before {
      width: 30vw !important;
      background: linear-gradient(
        to right,
        #05090f 0%,
        rgba(5,9,15,0.97) 20%,
        rgba(5,9,15,0.72) 52%,
        rgba(5,9,15,0.26) 78%,
        transparent 100%
      ) !important;
    }

    .hero__media-slide {
      transform: scale(1.04) translate3d(0,0,0) !important;
    }

    .hero__media-slide.is-active {
      animation-duration: 24s !important;
    }

    .hero__h1 {
      max-width: 650px !important;
    }

    .hero__h1-line,
    .hero__h1-em {
      white-space: nowrap !important;
    }
  }

  body.home-page .hero__h1-location {
    max-width: 34rem !important;
    margin-bottom: 28px !important;
    font-size: 10px !important;
    letter-spacing: 0.22em !important;
  }

  body.home-page .hero__h1 {
    max-width: 650px !important;
    margin-bottom: 24px !important;
  }

  body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
    font-size: clamp(52px, 4.75vw, 72px) !important;
    line-height: 1.01 !important;
    letter-spacing: -0.01em !important;
  }

  body.home-page .hero__h1-em {
    max-width: 650px !important;
    color: rgba(255,255,255,0.86) !important;
  }

  body.home-page .hero__sub {
    max-width: 40ch !important;
    margin-bottom: 30px !important;
    color: rgba(255,255,255,0.70) !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
  }

  body.home-page .hero__context {
    display: block !important;
    max-width: 44ch !important;
    margin: -14px 0 34px !important;
    color: rgba(255,255,255,0.44) !important;
    font-size: 12.5px !important;
    line-height: 1.68 !important;
  }

  body.home-page .hero__trust {
    max-width: 520px !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 34px !important;
    margin-bottom: 16px !important;
    padding: 14px 0 13px !important;
    border-top-color: rgba(255,255,255,0.08) !important;
    border-bottom-color: rgba(255,255,255,0.08) !important;
  }

  body.home-page .hero__trust-item,
body.home-page .hero__trust-item:not(:first-child) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
  }

  body.home-page .hero__trust-value {
    font-size: 23px !important;
    line-height: 1 !important;
    color: rgba(255,255,255,0.92) !important;
  }

  body.home-page .hero__trust-label {
    max-width: 8.5rem !important;
    margin-top: 6px !important;
    color: rgba(180,168,150,0.72) !important;
    font-size: 8.75px !important;
    letter-spacing: 0.09em !important;
  }

  body.home-page .hero__ctas {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    gap: 20px !important;
  }

  body.home-page .hero .btn-ghost.hero__primary-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    height: 48px !important;
    padding-inline: 30px !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
  }

  body.home-page .hero .btn-text-link {
    color: rgba(255,255,255,0.46) !important;
  }

  @media (max-width: 1200px) and (min-width: 901px) {
    body.home-page .hero__left {
      padding: clamp(50px, 5.5vh, 72px) 42px clamp(44px, 4.8vh, 60px) 58px !important;
    }

    body.home-page .hero__left::before {
      left: 40px !important;
    }

    body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
      font-size: clamp(46px, 4.15vw, 56px) !important;
    }
  }

  @media (max-width: 900px) {
    body.home-page .hero__left {
      padding: 98px 34px 48px !important;
    }

    body.home-page .hero__h1-location {
      margin-bottom: 20px !important;
    }

    body.home-page .hero__local-detail {
      margin-bottom: 20px !important;
    }

    body.home-page .hero__h1 {
      max-width: 16ch !important;
      margin-bottom: 24px !important;
    }

    body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
      font-size: clamp(40px, 9vw, 48px) !important;
      line-height: 1.07 !important;
      letter-spacing: -0.008em !important;
    }

    body.home-page .hero__sub {
      max-width: 42ch !important;
      margin-bottom: 28px !important;
      line-height: 1.6 !important;
    }

    body.home-page .hero__context {
      max-width: 42ch !important;
      margin: -12px 0 30px !important;
      font-size: 12.25px !important;
      line-height: 1.62 !important;
    }

    body.home-page .hero__trust {
      max-width: 100% !important;
      gap: 26px !important;
    }
  }

  @media (max-width: 600px) {
    body.home-page .hero__left {
      padding: 88px 24px 42px !important;
    }

    body.home-page .hero__h1 {
      max-width: 15.5ch !important;
    }

    body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
      font-size: clamp(34px, 10.5vw, 39px) !important;
      line-height: 1.08 !important;
    }

    body.home-page .hero__sub {
      max-width: 39ch !important;
      margin-bottom: 26px !important;
      font-size: 15px !important;
    }

    body.home-page .hero__context {
      max-width: 39ch !important;
      margin: -10px 0 28px !important;
      font-size: 12px !important;
    }

    body.home-page .hero__trust {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 14px !important;
      align-items: start !important;
      padding: 13px 0 !important;
    }

    body.home-page .hero__trust-item:last-child {
      grid-column: 1 / -1 !important;
    }

    body.home-page .hero__trust-item,
body.home-page .hero__trust-item:not(:first-child) {
      padding: 0 !important;
    }

    body.home-page .hero__trust-value {
      font-size: 22px !important;
    }

    body.home-page .hero__trust-label {
      max-width: 7.5rem !important;
      font-size: 8px !important;
    }

    body.home-page .hero__ctas {
      margin-top: 12px !important;
      gap: 12px !important;
    }
  }

  @media (max-width: 380px) {
    body.home-page .hero__left {
      padding-inline: 18px !important;
    }

    body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
      font-size: clamp(31px, 10vw, 34px) !important;
    }

    body.home-page .hero__trust {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
    }

    body.home-page .hero__trust-label {
      max-width: none !important;
    }
  }

/* Homepage polish overrides
   Keep these scoped so the listing pages can keep their own composition. */
body.home-page .hero__h1-accent {
  color: #b6aa98 !important;
}

body.home-page .listing-card__badge--dark {
  background: #171713 !important;
  color: #f5f1e8 !important;
}

body.home-page .listing-card__badge--light {
  background: #f4f1ea !important;
  color: #171713 !important;
  border: 1px solid rgba(23, 23, 19, 0.42) !important;
}

body.home-page .listing-card__mls {
  margin-top: 10px;
  color: #706860;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  opacity: 0.8;
}

body.home-page .section-intro {
  margin-bottom: 48px;
  text-align: center;
}

body.home-page .reveal-delay-1 {
  transition-delay: 0.1s;
}

body.home-page .reveal-delay-2 {
  transition-delay: 0.2s;
}

body.home-page .reveal-delay-3 {
  transition-delay: 0.3s;
}

body.home-page .btn-inline {
  display: inline-block;
}

body.home-page .section--navy {
  background: #141310 !important;
}

body.home-page .cta-band__heading {
  color: #5e5850 !important;
}

body.home-page .btn-navy,
body.home-page .featured-listings__footer .btn-navy {
  background: #171713 !important;
  color: #f4f1ea !important;
  border-color: #171713 !important;
}

body.home-page .btn-navy:hover,
body.home-page .featured-listings__footer .btn-navy:hover {
  background: #2a2823 !important;
  color: #fffaf0 !important;
  border-color: #2a2823 !important;
}

/* Footer styles live in styles.css — universal across all pages. */

/* Featured listings editorial opener */
body.home-page .featured-listings__header.featured-listings__header--editorial {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.72fr) minmax(180px, 1fr) !important;
  align-items: end !important;
  gap: clamp(28px, 5vw, 88px) !important;
  max-width: 1420px !important;
  margin: 0 auto clamp(34px, 4.5vw, 58px) !important;
  text-align: left !important;
  transform: translate3d(-28px, 0, 0) !important;
  transition:
    opacity 780ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 880ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.home-page .featured-listings__header.featured-listings__header--editorial.is-visible {
  transform: translate3d(0, 0, 0) !important;
}

body.home-page .featured-listings__header--editorial::after {
  content: '' !important;
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  margin-bottom: clamp(10px, 1vw, 16px) !important;
  background: linear-gradient(
    90deg,
    rgba(182, 170, 152, 0.58),
    rgba(244, 241, 234, 0.16) 42%,
    transparent
  ) !important;
  transform: scaleX(0.18) !important;
  transform-origin: left center !important;
  transition: transform 980ms cubic-bezier(0.22, 1, 0.36, 1) 140ms !important;
}

body.home-page .featured-listings__header--editorial.is-visible::after {
  transform: scaleX(1) !important;
}

body.home-page .featured-listings__title-block {
  max-width: 620px !important;
}

body.home-page .featured-listings__header--editorial .section-eyebrow {
  margin-bottom: 14px !important;
  color: rgba(182, 170, 152, 0.74) !important;
  text-align: left !important;
}

body.home-page .featured-listings__header--editorial .section-heading {
  max-width: 12ch !important;
  margin: 0 !important;
  text-align: left !important;
  text-wrap: balance;
}

body.home-page .featured-listings__header--editorial .section-heading-line {
  display: inline-block !important;
  white-space: nowrap !important;
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .featured-listings__header.featured-listings__header--editorial,
  body.home-page .featured-listings__header--editorial::after {
    transition: none !important;
    transform: none !important;
  }
}

@media (max-width: 900px) {
  body.home-page .featured-listings__header.featured-listings__header--editorial {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-bottom: 32px !important;
    transform: translate3d(-18px, 0, 0) !important;
  }

  body.home-page .featured-listings__header--editorial::after {
    max-width: 220px !important;
    margin-bottom: 0 !important;
  }

  body.home-page .featured-listings__header--editorial .section-heading {
    max-width: 11ch !important;
  }
}

/* Home hero local luxury refinement */
body.home-page .hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(182, 170, 152, 0.14), transparent 31%),
    linear-gradient(135deg, #10100e 0%, #171611 48%, #0b0b0a 100%) !important;
}

body.home-page .hero__inner {
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr) !important;
  align-items: center !important;
  gap: clamp(38px, 5vw, 84px) !important;
  width: min(100% - clamp(40px, 7vw, 112px), 1480px) !important;
  min-height: clamp(720px, 88vh, 920px) !important;
  padding-top: clamp(92px, 11vh, 132px) !important;
  padding-bottom: clamp(56px, 8vh, 96px) !important;
}

body.home-page .hero__left {
  max-width: 650px !important;
  padding: 0 !important;
}

body.home-page .hero__h1-location {
  width: fit-content !important;
  margin-bottom: clamp(18px, 2vw, 26px) !important;
  padding-bottom: 12px !important;
  color: rgba(218, 207, 187, 0.82) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.45 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(182, 170, 152, 0.36) !important;
}

body.home-page .hero__h1 {
  max-width: 11ch !important;
  margin-bottom: clamp(24px, 3vw, 34px) !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  display: block !important;
  font-size: clamp(4rem, 6.9vw, 7.65rem) !important;
  line-height: 0.93 !important;
  letter-spacing: -0.01em !important;
}

body.home-page .hero__h1-line {
  color: rgba(250, 246, 237, 0.98) !important;
}

body.home-page .hero__h1-em {
  color: rgba(218, 207, 187, 0.82) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

body.home-page .hero__h1-accent {
  color: inherit !important;
}

body.home-page .hero__sub {
  max-width: 590px !important;
  margin-bottom: 14px !important;
  color: rgba(250, 246, 237, 0.78) !important;
  font-size: clamp(1.08rem, 1.22vw, 1.24rem) !important;
  line-height: 1.65 !important;
}

body.home-page .hero__context {
  max-width: 560px !important;
  margin: 0 0 clamp(28px, 3vw, 42px) !important;
  color: rgba(250, 246, 237, 0.58) !important;
  font-size: 0.98rem !important;
  line-height: 1.72 !important;
}

body.home-page .hero__trust {
  max-width: 560px !important;
  margin-bottom: clamp(26px, 3vw, 38px) !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(250, 246, 237, 0.12) !important;
}

body.home-page .hero__trust-item {
  min-width: 0 !important;
}

body.home-page .hero__trust-value {
  color: rgba(250, 246, 237, 0.96) !important;
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
}

body.home-page .hero__trust-label {
  color: rgba(250, 246, 237, 0.52) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.13em !important;
  line-height: 1.35 !important;
}

body.home-page .hero__ctas {
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 14px !important;
}

body.home-page .hero__primary-cta {
  min-height: 54px !important;
  padding: 0 26px !important;
  background: #f4f1ea !important;
  color: #171713 !important;
  border: 1px solid rgba(244, 241, 234, 0.74) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28) !important;
}

body.home-page .hero__primary-cta:hover {
  background: #ffffff !important;
  color: #10100e !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
}

body.home-page .hero__ctas .btn-text-link {
  min-height: 54px !important;
  padding: 0 2px !important;
  color: rgba(244, 241, 234, 0.78) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.home-page .hero__ctas .btn-text-link:hover {
  color: #ffffff !important;
}

body.home-page .hero__primary-cta:focus-visible,
body.home-page .hero__ctas .btn-text-link:focus-visible {
  outline: 2px solid rgba(218, 207, 187, 0.9) !important;
  outline-offset: 4px !important;
}

body.home-page .hero__right {
  align-self: stretch !important;
  min-height: clamp(560px, 72vh, 760px) !important;
}

body.home-page .hero__video-wrap {
  position: relative !important;
  height: 100% !important;
  min-height: inherit !important;
  overflow: hidden !important;
  border: 1px solid rgba(244, 241, 234, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.36) !important;
  isolation: isolate !important;
}

body.home-page .hero__video-wrap::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(10, 10, 9, 0.08), rgba(10, 10, 9, 0.48)),
    linear-gradient(90deg, rgba(10, 10, 9, 0.26), transparent 48%) !important;
}

body.home-page .hero__media-slide {
  object-position: var(--hero-media-position, center center) !important;
  transform: scale(1.035) !important;
  transition:
    opacity 1600ms ease,
    transform 8200ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.home-page .hero__media-slide.is-active {
  transform: scale(1.095) !important;
}

body.home-page .hero__location-label {
  position: absolute !important;
  right: clamp(18px, 2.4vw, 34px) !important;
  bottom: clamp(18px, 2.4vw, 34px) !important;
  z-index: 4 !important;
  display: grid !important;
  gap: 7px !important;
  min-width: min(260px, calc(100% - 36px)) !important;
  padding: 17px 18px 16px !important;
  color: #f4f1ea !important;
  background: rgba(15, 15, 13, 0.62) !important;
  border: 1px solid rgba(244, 241, 234, 0.16) !important;
  border-left: 2px solid rgba(218, 207, 187, 0.68) !important;
  backdrop-filter: blur(18px) !important;
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.home-page .hero__location-label.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

body.home-page .hero__location-kicker {
  color: rgba(218, 207, 187, 0.74) !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.home-page .hero__location-name {
  color: rgba(250, 246, 237, 0.94) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}

body.home-page .hero__caption {
  display: none !important;
}

@media (max-width: 1120px) {
  body.home-page .hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr) !important;
    gap: clamp(30px, 4vw, 52px) !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3.45rem, 6.1vw, 5.65rem) !important;
  }
}

@media (max-width: 900px) {
  body.home-page .hero__inner {
    grid-template-columns: 1fr !important;
    width: min(100% - 36px, 720px) !important;
    min-height: auto !important;
    padding-top: 118px !important;
    padding-bottom: 54px !important;
  }

  body.home-page .hero__left {
    max-width: none !important;
  }

  body.home-page .hero__h1 {
    max-width: 10ch !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3.1rem, 12vw, 5rem) !important;
    line-height: 0.96 !important;
  }

  body.home-page .hero__right,
  body.home-page .hero__video-wrap {
    min-height: clamp(430px, 62vh, 600px) !important;
  }
}

@media (max-width: 640px) {
  body.home-page .hero__inner {
    width: min(100% - 28px, 560px) !important;
    padding-top: 108px !important;
  }

  body.home-page .hero__h1-location {
    font-size: 0.66rem !important;
    letter-spacing: 0.14em !important;
  }

  body.home-page .hero__sub {
    font-size: 1rem !important;
  }

  body.home-page .hero__context {
    font-size: 0.94rem !important;
  }

  body.home-page .hero__trust {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.home-page .hero__ctas {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  body.home-page .hero__primary-cta,
  body.home-page .hero__ctas .btn-text-link {
    justify-content: center !important;
    width: 100% !important;
  }

  body.home-page .hero__right,
  body.home-page .hero__video-wrap {
    min-height: 390px !important;
  }

  body.home-page .hero__location-label {
    right: 14px !important;
    bottom: 14px !important;
    min-width: 0 !important;
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 420px) {
  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.72rem, 13.4vw, 3.35rem) !important;
  }

  body.home-page .hero__trust {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .hero__media-slide,
  body.home-page .hero__location-label,
  body.home-page .hero__primary-cta {
    transition: none !important;
    transform: none !important;
  }
}

/* Home hero correction: controlled, premium first viewport */
body.home-page .hero {
  min-height: 100vh !important;
  overflow: hidden !important;
}

body.home-page .hero__inner {
  display: grid !important;
  grid-template-columns: minmax(420px, 0.78fr) minmax(560px, 1.22fr) !important;
  align-items: center !important;
  gap: clamp(44px, 5vw, 88px) !important;
  width: min(calc(100% - clamp(48px, 7vw, 128px)), 1880px) !important;
  min-height: calc(100vh - 72px) !important;
  margin: 0 auto !important;
  padding: clamp(112px, 13vh, 152px) 0 clamp(54px, 7vh, 86px) !important;
  box-sizing: border-box !important;
}

body.home-page .hero__left {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  max-width: 610px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

body.home-page .hero__left::before {
  display: none !important;
}

body.home-page .hero__h1-location {
  max-width: 100% !important;
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
  padding: 0 0 13px !important;
  color: rgba(218, 207, 187, 0.74) !important;
  font-size: clamp(0.66rem, 0.72vw, 0.78rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(218, 207, 187, 0.28) !important;
  white-space: normal !important;
}

body.home-page .hero__h1 {
  width: 100% !important;
  max-width: 610px !important;
  margin: 0 0 clamp(22px, 2.8vw, 34px) !important;
  padding: 0 !important;
  color: #f7f2e8 !important;
  text-align: left !important;
  text-indent: 0 !important;
  transform: none !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(4.25rem, 5.15vw, 6.15rem) !important;
  font-weight: 500 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-indent: 0 !important;
  text-wrap: balance !important;
  transform: none !important;
}

body.home-page .hero__h1-line {
  color: rgba(250, 246, 237, 0.98) !important;
}

body.home-page .hero__h1-em {
  max-width: 560px !important;
  color: rgba(218, 207, 187, 0.82) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

body.home-page .hero__sub {
  max-width: 530px !important;
  margin: 0 0 12px !important;
  color: rgba(250, 246, 237, 0.78) !important;
  font-size: clamp(1.02rem, 1vw, 1.16rem) !important;
  line-height: 1.68 !important;
}

body.home-page .hero__context {
  max-width: 500px !important;
  margin: 0 0 clamp(24px, 2.4vw, 34px) !important;
  color: rgba(250, 246, 237, 0.56) !important;
  font-size: 0.96rem !important;
  line-height: 1.65 !important;
}

body.home-page .hero__trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 500px !important;
  gap: 18px !important;
  margin: 0 0 clamp(24px, 2.5vw, 36px) !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(250, 246, 237, 0.12) !important;
}

body.home-page .hero__ctas {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px 20px !important;
  margin: 0 0 14px !important;
}

body.home-page .hero__primary-cta {
  min-height: 52px !important;
  padding: 0 24px !important;
  background: #f4f1ea !important;
  color: #12110f !important;
  border-color: #f4f1ea !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.26) !important;
}

body.home-page .hero__ctas .btn-text-link {
  min-height: 52px !important;
  color: rgba(244, 241, 234, 0.72) !important;
}

body.home-page .hero__right {
  align-self: center !important;
  min-width: 0 !important;
  min-height: clamp(520px, 68vh, 720px) !important;
  height: clamp(520px, 68vh, 720px) !important;
  transform: none !important;
}

body.home-page .hero__video-wrap {
  height: 100% !important;
  min-height: 0 !important;
  border: 1px solid rgba(244, 241, 234, 0.13) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34) !important;
}

body.home-page .hero__media-slide {
  transform: scale(1.02) !important;
}

body.home-page .hero__media-slide.is-active {
  transform: scale(1.055) !important;
}

body.home-page .hero__location-label {
  left: clamp(18px, 2vw, 30px) !important;
  right: auto !important;
  bottom: clamp(18px, 2vw, 30px) !important;
  min-width: 0 !important;
  max-width: min(240px, calc(100% - 60px)) !important;
  padding: 13px 15px 12px !important;
}

@media (max-width: 1200px) {
  body.home-page .hero__inner {
    grid-template-columns: minmax(360px, 0.86fr) minmax(460px, 1.14fr) !important;
    gap: clamp(34px, 4vw, 56px) !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3.5rem, 5.6vw, 5rem) !important;
  }
}

@media (max-width: 900px) {
  body.home-page .hero {
    min-height: auto !important;
  }

  body.home-page .hero__inner {
    grid-template-columns: 1fr !important;
    width: min(calc(100% - 36px), 720px) !important;
    min-height: auto !important;
    gap: 34px !important;
    padding: 112px 0 54px !important;
  }

  body.home-page .hero__left {
    max-width: none !important;
  }

  body.home-page .hero__h1,
  body.home-page .hero__h1-em {
    max-width: 640px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3.1rem, 11.2vw, 4.8rem) !important;
    line-height: 1 !important;
  }

  body.home-page .hero__right {
    height: clamp(420px, 58vh, 560px) !important;
    min-height: clamp(420px, 58vh, 560px) !important;
  }
}

@media (max-width: 640px) {
  body.home-page .hero__inner {
    width: min(calc(100% - 28px), 560px) !important;
    padding-top: 106px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.62rem, 12.2vw, 3.55rem) !important;
  }

  body.home-page .hero__trust {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.home-page .hero__ctas,
  body.home-page .hero__primary-cta,
  body.home-page .hero__ctas .btn-text-link {
    width: 100% !important;
  }

  body.home-page .hero__primary-cta,
  body.home-page .hero__ctas .btn-text-link {
    justify-content: center !important;
  }

  body.home-page .hero__right {
    height: 390px !important;
    min-height: 390px !important;
  }
}

/* Home hero final polish pass */
body.home-page .hero__inner {
  grid-template-columns: minmax(430px, 0.74fr) minmax(600px, 1.26fr) !important;
  gap: clamp(52px, 6vw, 112px) !important;
  height: auto !important;
  min-height: calc(100vh - 20px) !important;
  padding-top: clamp(96px, 11vh, 124px) !important;
  padding-bottom: clamp(70px, 8vh, 104px) !important;
}

body.home-page .hero {
  height: auto !important;
  min-height: 100vh !important;
}

body.home-page .hero__left {
  max-width: 640px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page .hero__h1-location {
  margin-bottom: 18px !important;
}

body.home-page .hero__h1 {
  max-width: 640px !important;
  margin-bottom: 20px !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  font-size: clamp(3.9rem, 4.35vw, 5.15rem) !important;
  line-height: 0.96 !important;
}

body.home-page .hero__h1-em {
  max-width: 640px !important;
}

body.home-page .hero__sub {
  max-width: 560px !important;
  margin-bottom: 10px !important;
  font-size: clamp(1rem, 0.95vw, 1.12rem) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.home-page .hero__context {
  max-width: 520px !important;
  margin-bottom: 22px !important;
  font-size: 0.92rem !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.home-page .hero__trust {
  max-width: 520px !important;
  margin-bottom: 22px !important;
  padding-top: 16px !important;
}

body.home-page .hero__ctas {
  margin-bottom: 10px !important;
}

body.home-page .hero__right {
  height: clamp(500px, 66vh, 690px) !important;
  height: clamp(500px, 66vh, 690px) !important;
  min-height: clamp(500px, 66vh, 690px) !important;
}

@media (max-width: 1200px) {
  body.home-page .hero__inner {
    grid-template-columns: minmax(370px, 0.82fr) minmax(480px, 1.18fr) !important;
    gap: clamp(36px, 4vw, 62px) !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3.35rem, 5vw, 4.55rem) !important;
  }
}

@media (max-width: 900px) {
  body.home-page .hero__inner {
    grid-template-columns: 1fr !important;
    padding-top: 108px !important;
    padding-bottom: 52px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(3rem, 10.6vw, 4.35rem) !important;
  }

  body.home-page .hero__right {
    height: clamp(410px, 56vh, 540px) !important;
    min-height: clamp(410px, 56vh, 540px) !important;
  }
}

@media (max-width: 640px) {
  body.home-page .hero {
    min-height: calc(100vh + 96px) !important;
  }

  body.home-page .hero__inner {
    min-height: calc(100vh + 32px) !important;
    padding-bottom: 96px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.56rem, 11vw, 3.25rem) !important;
  }

  body.home-page .hero__context {
    display: none !important;
  }

  body.home-page .hero__right {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HOME HERO — FULL-BLEED SLIDER FINAL PASS
   Supersedes all prior body.home-page hero blocks above.
   Desktop: video fills 100svh behind the left content column.
   Mobile:  video sits at top as a fixed-height block; text below.
   ═══════════════════════════════════════════════════════════════ */

/* ── Desktop: full-bleed ── */
@media (min-width: 901px) {
  body.home-page .hero {
    position: relative !important;
    min-height: 100svh !important;
    height: auto !important;
    overflow: hidden !important;
  }

  /* Single-flow inner so the left column defines the height */
  body.home-page .hero__inner {
    display: block !important;
    position: relative !important;
    z-index: 3 !important;
    min-height: 100svh !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Left content column — floats over the video */
  body.home-page .hero__left {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 100svh !important;
    width: min(54vw, 780px) !important;
    max-width: 780px !important;
    padding: clamp(80px, 10vh, 120px) clamp(40px, 4vw, 72px) clamp(80px, 10vh, 120px) clamp(56px, 7vw, 96px) !important;
    background: linear-gradient(
      to right,
      rgba(5,9,15,0.97) 0%,
      rgba(5,9,15,0.94) 44%,
      rgba(5,9,15,0.72) 76%,
      transparent 100%
    ) !important;
    border: none !important;
    box-shadow: none !important;
  }

  body.home-page .hero__left::before {
    display: none !important;
  }

  /* Video panel — absolute full-bleed behind content */
  body.home-page .hero__right {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: block !important;
    z-index: 1 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  body.home-page .hero__right::before,
  body.home-page .hero__right::after {
    display: none !important;
  }

  body.home-page .hero__video-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
  }

  body.home-page .hero__media-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: var(--hero-media-position, center center) !important;
    opacity: 0 !important;
    filter: saturate(0.88) brightness(0.74) !important;
    transform: scale(1.02) !important;
    transition: opacity 1400ms ease, transform 8400ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.home-page .hero__media-slide.is-active {
    opacity: 1 !important;
    transform: scale(1.07) !important;
    animation: none !important;
  }

  /* Caption hidden — the location-label is the callout */
  body.home-page .hero__caption {
    display: none !important;
  }

  /* ── Location-label: refined floating text, no dark box ── */
  body.home-page .hero__location-label {
    position: absolute !important;
    right: clamp(32px, 4vw, 60px) !important;
    bottom: clamp(32px, 4vw, 54px) !important;
    left: auto !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 2px 0 2px 14px !important;
    background: none !important;
    border: none !important;
    border-left: 1.5px solid rgba(218,207,187,0.48) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 0 !important;
    transform: translate3d(0, 10px, 0) !important;
    transition: opacity 480ms ease, transform 480ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  body.home-page .hero__location-label.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  body.home-page .hero__location-kicker {
    display: block !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: rgba(218,207,187,0.64) !important;
    line-height: 1 !important;
    text-shadow: 0 1px 10px rgba(0,0,0,0.76) !important;
  }

  body.home-page .hero__location-name {
    display: block !important;
    font-family: var(--font-serif) !important;
    font-size: clamp(1.1rem, 1.45vw, 1.5rem) !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: rgba(250,246,237,0.92) !important;
    line-height: 1.1 !important;
    text-shadow: 0 1px 20px rgba(0,0,0,0.68), 0 2px 6px rgba(0,0,0,0.44) !important;
  }
}

/* ── Mobile/tablet: video top, content below ── */
@media (max-width: 900px) {
  body.home-page .hero {
    min-height: auto !important;
    height: auto !important;
    overflow: hidden !important;
    background: #05090f !important;
  }

  body.home-page .hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    min-height: auto !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Video at top */
  body.home-page .hero__right {
    order: 1 !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: min(54vw, 420px) !important;
    min-height: 220px !important;
    max-height: 420px !important;
    z-index: 2 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  body.home-page .hero__right::before,
  body.home-page .hero__right::after {
    display: none !important;
  }

  body.home-page .hero__video-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
  }

  body.home-page .hero__media-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 0 !important;
    filter: saturate(0.92) brightness(0.90) !important;
    transform: none !important;
    transition: opacity 1200ms ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.home-page .hero__media-slide.is-active {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  /* Content below */
  body.home-page .hero__left {
    order: 2 !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 44px 32px 52px !important;
    background: #05090f !important;
    border: none !important;
    box-shadow: none !important;
  }

  body.home-page .hero__left::before {
    display: none !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.8rem, 8.5vw, 3.8rem) !important;
    line-height: 0.97 !important;
  }

  body.home-page .hero__trust {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.home-page .hero__location-label,
  body.home-page .hero__caption {
    display: none !important;
  }
}

@media (max-width: 600px) {
  body.home-page .hero__right {
    height: min(58vw, 340px) !important;
    min-height: 200px !important;
  }

  body.home-page .hero__left {
    padding: 36px 20px 46px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.3rem, 9.5vw, 3rem) !important;
  }

  body.home-page .hero__context {
    display: none !important;
  }
}

@media (max-width: 380px) {
  body.home-page .hero__right {
    height: 62vw !important;
  }

  body.home-page .hero__left {
    padding: 28px 16px 38px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.1rem, 10vw, 2.6rem) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .hero__media-slide,
  body.home-page .hero__location-label {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   FEATURED LISTINGS — Typography Polish
   Ensures all card elements use site font system consistently.
   Price → Playfair 500 (matches trust values, section headings)
   Address → Inter 400 (body text register)
   City / Details / MLS → Inter 500, uppercase, gold-tinted labels
══════════════════════════════════════════════════════════════════ */

/* Price — serif display, weight matched to rest of site's serif usage */
body.home-page .featured-listings .listing-card__price {
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: clamp(2.0rem, 2.7vw, 3.6rem) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.016em !important;
  color: rgba(250,246,237,0.96) !important;
}

body.home-page .featured-listings .listing-card:not(.listing-card--feature) .listing-card__price {
  font-size: clamp(1.45rem, 1.6vw, 2.0rem) !important;
}

/* Address — sans-serif body register, clearly legible */
body.home-page .featured-listings .listing-card__address {
  font-family: var(--font-sans) !important;
  font-size: clamp(13px, 1.0vw, 15px) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
  color: rgba(250,246,237,0.78) !important;
  margin-top: 10px !important;
  text-transform: none !important;
}

/* City — small uppercase label, gold-tinted, matches eyebrow system */
body.home-page .featured-listings .listing-card__city {
  font-family: var(--font-sans) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(218,207,187,0.42) !important;
  margin-top: 5px !important;
  line-height: 1.4 !important;
}

/* Details (bed / bath / sqft) — same label register as city */
body.home-page .featured-listings .listing-card__details {
  font-family: var(--font-sans) !important;
  font-size: 9.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(218,207,187,0.42) !important;
  gap: 18px !important;
}

body.home-page .featured-listings .listing-card__details span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
}

/* MLS — quietest element, barely-there credential */
body.home-page .featured-listings .listing-card__mls {
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(218,207,187,0.24) !important;
  margin-top: 12px !important;
  line-height: 1 !important;
}

/* Badge — explicit font so it never inherits unexpectedly */
body.home-page .featured-listings .listing-card__badge {
  font-family: var(--font-sans) !important;
  font-size: 8.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* Divider — gold tint, consistent weight */
body.home-page .featured-listings .listing-card__divider {
  height: 1px !important;
  margin: 15px 0 14px !important;
  background: rgba(180,168,150,0.16) !important;
}

/* ── "View All Listings" — definitive rule, overrides all earlier passes ── */

body.home-page .featured-listings__footer {
  max-width: 1420px !important;
  margin: clamp(42px, 5vw, 68px) auto 0 !important;
  text-align: center !important;
}

body.home-page .featured-listings__footer .btn-navy {
  /* Layout */
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 52px !important;
  padding: 0 38px !important;
  /* Appearance — ghost button, warm gold border */
  background: transparent !important;
  border: 1px solid rgba(218,207,187,0.30) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  /* Typography */
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: rgba(250,246,237,0.62) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  /* Motion */
  transition:
    background  0.30s ease,
    border-color 0.30s ease,
    color       0.30s ease,
    transform   0.24s ease,
    box-shadow  0.30s ease !important;
}

/* Arrow — slides right on hover */
body.home-page .featured-listings__footer .btn-navy::after {
  content: '→' !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  color: rgba(218,207,187,0.44) !important;
  transition: transform 0.30s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.30s ease !important;
  display: inline-block !important;
}

body.home-page .featured-listings__footer .btn-navy:hover {
  background: rgba(218,207,187,0.07) !important;
  border-color: rgba(218,207,187,0.64) !important;
  color: rgba(250,246,237,0.96) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,0.32), 0 0 0 1px rgba(218,207,187,0.10) !important;
}

body.home-page .featured-listings__footer .btn-navy:hover::after {
  transform: translateX(6px) !important;
  color: rgba(218,207,187,0.88) !important;
}

@media (max-width: 900px) {
  body.home-page .featured-listings__footer {
    text-align: center !important;
  }
}

@media (max-width: 560px) {
  body.home-page .featured-listings__footer .btn-navy {
    width: 100% !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0 28px !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   MEET-TEAM — Elite Redesign
   Fixes Katrinna crop. Elevates to boutique advisory standard.
   Overrides all earlier meet-editorial rules.
══════════════════════════════════════════════════════════════════ */

/* ── Photo panel ──────────────────────────────────────────────── */

/* Taller container so more of the photo is visible */
body.home-page .meet-editorial__media {
  min-height: clamp(600px, 60vw, 880px) !important;
  /* Rich gold left accent */
  box-shadow:
    inset -1px 0 0 rgba(202,164,83,0.45),
    inset 3px 0 0 rgba(202,164,83,0.10) !important;
}

/*
  Shift image right so Katrinna (right side of photo) stays fully visible.
  82% horizontal pulls the view well right of centre.
  15% vertical anchors near the top so both faces remain in frame.
*/
body.home-page .meet-editorial__image {
  object-position: 82% 15% !important;
}

/* Warm light-wash overlay at bottom — photo grades into content */
body.home-page .meet-editorial__media::after {
  display: block !important;
  content: '' !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 120px !important;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(250,248,244,0.06) 100%
  ) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}


/* ── Content panel ────────────────────────────────────────────── */

body.home-page .meet-editorial__content {
  background: #faf8f4 !important;
  padding: clamp(56px, 7vw, 116px) clamp(44px, 5.8vw, 100px) !important;
  border-left: none !important;
  position: relative !important;
}

/* Thin gold rule before eyebrow — anchors the section visually */
body.home-page .meet-editorial .meet-team__eyebrow {
  position: relative !important;
  padding-top: 22px !important;
  margin-bottom: 26px !important;
  font-size: 9.5px !important;
  letter-spacing: 0.24em !important;
  color: rgba(11,22,38,0.46) !important;
  text-transform: uppercase !important;
}
body.home-page .meet-editorial .meet-team__eyebrow::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 30px !important;
  height: 1.5px !important;
  background: rgba(180,148,72,0.72) !important;
}

/* Heading — crisper, tighter, more authoritative */
body.home-page .meet-editorial h2 {
  font-size: clamp(2.7rem, 3.9vw, 5.0rem) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.020em !important;
  margin-bottom: clamp(26px, 3.2vw, 40px) !important;
}

body.home-page .meet-editorial h2 em {
  color: rgba(8,15,28,0.60) !important;
}

/* Body — refined readability */
body.home-page .meet-editorial p {
  font-size: clamp(1.0rem, 1.06vw, 1.13rem) !important;
  line-height: 1.86 !important;
  color: rgba(11,22,38,0.68) !important;
  max-width: 560px !important;
}

/* CTA — premium ghost button */
body.home-page .meet-editorial a.meet-team__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: clamp(38px, 5.5vw, 80px) !important;
  min-height: 50px !important;
  padding: 0 2.4rem !important;
  font-size: 0.73rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.155em !important;
  text-transform: uppercase !important;
  color: #0b1626 !important;
  border: 1px solid rgba(11,22,38,0.64) !important;
  background: transparent !important;
  transition: background 0.22s ease, color 0.22s ease, transform 0.18s ease, border-color 0.22s ease !important;
}
body.home-page .meet-editorial a.meet-team__cta:hover {
  background: #0b1626 !important;
  color: #faf8f4 !important;
  border-color: #0b1626 !important;
  transform: translateY(-1px) !important;
}

/* Thin divider above CTA */
body.home-page .meet-editorial .hero__ctas,
body.home-page .meet-editorial a.meet-team__cta {
  position: relative !important;
}


/* ── Tablet (≤ 900px) ─────────────────────────────────────────── */

@media (max-width: 900px) {
  body.home-page .meet-editorial__media {
    min-height: clamp(480px, 78vw, 680px) !important;
  }

  body.home-page .meet-editorial__image {
    object-position: 82% 10% !important;
  }

  body.home-page .meet-editorial__content {
    padding: clamp(44px, 10vw, 72px) clamp(26px, 7vw, 50px) !important;
    background: #faf8f4 !important;
  }

  body.home-page .meet-editorial h2 {
    font-size: clamp(2.6rem, 7.5vw, 3.8rem) !important;
  }
}


/* ── Mobile (≤ 560px) ─────────────────────────────────────────── */

@media (max-width: 560px) {
  body.home-page .meet-editorial__media {
    /* Tall enough to show both people comfortably */
    min-height: clamp(420px, 114vw, 560px) !important;
  }

  body.home-page .meet-editorial__image {
    /* Right-bias so Katrinna (right side of photo) stays in frame */
    object-position: 80% 10% !important;
  }

  body.home-page .meet-editorial__content {
    padding: 40px 22px 52px !important;
  }

  body.home-page .meet-editorial h2 {
    font-size: clamp(2.4rem, 11.5vw, 3.3rem) !important;
  }

  /* Preserve the two-part editorial heading rhythm on mobile */
  body.home-page .meet-editorial h2 .meet-heading-line {
    display: block !important;
  }

  body.home-page .meet-editorial a.meet-team__cta {
    width: 100% !important;
    justify-content: center !important;
  }

  body.home-page .meet-editorial p {
    max-width: none !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   CLIENT STORIES — Premium Editorial Layout
   Three stories, alternating compositions. No carousel.
   Cinematic, calm, editorial, emotional.
══════════════════════════════════════════════════════════════════ */

/* ── Section ──────────────────────────────────────────────────── */
.cs-section {
  background: #0d1219;
  padding: clamp(96px, 11vw, 152px) clamp(24px, 5.5vw, 88px);
  position: relative;
  overflow: hidden;
}

.cs-inner {
  max-width: 1080px;
  margin: 0 auto;
}

/* ── Section header ───────────────────────────────────────────── */
.cs-header {
  margin-bottom: clamp(64px, 8vw, 112px);
}

.cs-eyebrow {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(180,148,72,0.82);
  display: block;
  margin-bottom: 18px;
}

.cs-section-title {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 3.8vw, 4.2rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.08;
  letter-spacing: -0.022em;
  color: #070e1b;
  margin: 0;
}

/* ── Story — shared base ──────────────────────────────────────── */
.cs-story + .cs-story {
  margin-top: clamp(72px, 10vw, 120px);
  padding-top: clamp(72px, 10vw, 120px);
  border-top: 1px solid rgba(11,22,38,0.07);
}

/* Story number + location tag */
.cs-story__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: clamp(22px, 3vw, 32px);
}

.cs-story__num {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: rgba(180,148,72,0.80);
}

.cs-story__sep {
  font-family: var(--font-sans);
  font-size: 9.5px;
  color: rgba(11,22,38,0.38);
  letter-spacing: 0;
}

.cs-story__tag {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(11,22,38,0.54);
}

/* Pull quote headline */
.cs-story__pull {
  font-family: var(--font-serif);
  font-size: clamp(1.82rem, 2.6vw, 2.8rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.18;
  letter-spacing: -0.014em;
  color: #080f1c;
  margin: 0 0 clamp(20px, 3vw, 32px);
  padding: 0;
  border: 0;
  quotes: none;
}

/* Body copy */
.cs-story__body {
  font-family: var(--font-serif);
  font-size: clamp(1.0rem, 1.16vw, 1.10rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.96;
  color: rgba(11,22,38,0.78);
  margin: 0;
  max-width: 56ch;
}

.cs-story__body + .cs-story__body {
  margin-top: 1.5em;
}

/* Attribution */
.cs-story__attr {
  margin-top: clamp(24px, 3.2vw, 36px);
  padding-top: clamp(18px, 2.4vw, 26px);
  border-top: 1px solid rgba(11,22,38,0.08);
}

.cs-story__name {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 700;
  color: rgba(11,22,38,0.84);
  letter-spacing: 0.01em;
  line-height: 1.3;
}

.cs-story__role {
  font-family: var(--font-sans);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(180,148,72,0.78);
  margin-top: 6px;
}

/* Portrait figure */
.cs-story__fig {
  margin: 0;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow:
    0 24px 68px rgba(11,22,38,0.12),
    0 4px 16px rgba(11,22,38,0.06);
}

.cs-story__fig img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.88s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.cs-story__fig:hover img {
  transform: scale(1.04);
}

/* ── Story A — text left, portrait right ──────────────────────── */
.cs-story--a {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 0 clamp(52px, 6.5vw, 88px);
  align-items: start;
}

.cs-story--a .cs-story__content {
  padding-top: 8px;
}

.cs-story--a .cs-story__fig {
  aspect-ratio: 3 / 4;
  /* Slight downward offset creates asymmetric editorial energy */
  transform: translateY(clamp(18px, 3vw, 40px));
}

/* ── Story Featured — editorial headline + two-column body ────── */
.cs-story--feat .cs-story__feat-cap {
  position: relative;
  overflow: visible;
  margin-bottom: clamp(28px, 4vw, 52px);
}

/* Ghost quotation mark — atmospheric, barely visible */
.cs-feat-wm {
  position: absolute;
  top: -0.08em;
  left: -0.06em;
  font-family: var(--font-serif);
  font-size: clamp(10rem, 18vw, 20rem);
  line-height: 1;
  color: rgba(11,22,38,0.03);
  user-select: none;
  pointer-events: none;
  z-index: 0;
}

/* Label and headline above ghost mark */
.cs-story--feat .cs-story__feat-cap .cs-story__label,
.cs-feat-headline {
  position: relative;
  z-index: 1;
}

/* Thin gold accent rule above featured story label */
.cs-story--feat .cs-story__feat-cap .cs-story__label::before {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: rgba(180,148,72,0.44);
  margin-bottom: 14px;
}

.cs-feat-headline {
  font-family: var(--font-serif);
  font-size: clamp(4.2rem, 8.5vw, 9.2rem);
  font-weight: 500;
  font-style: italic;
  line-height: 0.94;
  letter-spacing: -0.034em;
  color: #070e1b;
  margin: 0;
  /* Optical margin — aligns visually with the container edge */
  margin-left: -0.03em;
}

.cs-story__feat-grid {
  display: grid;
  grid-template-columns: 1fr 310px;
  gap: 0 clamp(48px, 6vw, 80px);
  align-items: start;
}

.cs-story__feat-text {
  padding-top: 6px;
}

.cs-story__fig--feat {
  aspect-ratio: 3 / 4;
  transform: translateY(clamp(12px, 2vw, 28px));
}

/* ── Story B — portrait left, text right ──────────────────────── */
.cs-story--b {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 0 clamp(52px, 6.5vw, 88px);
  align-items: start;
}

.cs-story--b .cs-story__fig {
  aspect-ratio: 3 / 4;
  transform: translateY(clamp(18px, 3vw, 40px));
}

.cs-story--b .cs-story__content {
  padding-top: 8px;
}

/* ── Trust tagline ────────────────────────────────────────────── */
.cs-trust {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(0.80rem, 0.88vw, 0.90rem);
  font-weight: 400;
  color: rgba(11,22,38,0.22);
  margin-top: clamp(80px, 10vw, 120px);
  padding-top: clamp(28px, 3.5vw, 40px);
  border-top: 1px solid rgba(11,22,38,0.06);
  text-align: center;
}

/* ── Tablet (≤ 960px) ─────────────────────────────────────────── */
@media (max-width: 960px) {
  /* Stories A and B stack to single column */
  .cs-story--a,
  .cs-story--b {
    grid-template-columns: 1fr;
    gap: clamp(36px, 6vw, 52px) 0;
  }

  .cs-story--a .cs-story__fig,
  .cs-story--b .cs-story__fig {
    aspect-ratio: 4 / 3;
    max-height: 380px;
    transform: none;
  }

  /* Story B: portrait moves below text on tablet */
  .cs-story--b {
    display: flex;
    flex-direction: column;
  }

  .cs-story--b .cs-story__fig  { order: 2; }
  .cs-story--b .cs-story__content { order: 1; }

  /* Featured story stacks */
  .cs-story__feat-grid {
    grid-template-columns: 1fr;
    gap: clamp(36px, 6vw, 52px) 0;
  }

  .cs-story__fig--feat {
    aspect-ratio: 4 / 3;
    max-height: 340px;
    transform: none;
  }
}

/* ── Tablet (≤ 700px) ─────────────────────────────────────────── */
@media (max-width: 700px) {
  .cs-feat-headline {
    font-size: clamp(3.2rem, 10.5vw, 5.5rem);
  }

  .cs-section-title {
    font-size: clamp(2rem, 7vw, 3.2rem);
  }

  .cs-story__pull {
    font-size: clamp(1.48rem, 5.5vw, 2rem);
  }

  .cs-story + .cs-story {
    margin-top: clamp(56px, 10vw, 80px);
    padding-top: clamp(56px, 10vw, 80px);
  }
}

/* ── Mobile (≤ 480px) ─────────────────────────────────────────── */
@media (max-width: 480px) {
  .cs-section {
    padding: 72px 20px 80px;
  }

  .cs-feat-headline {
    font-size: clamp(2.8rem, 12vw, 4rem);
    line-height: 1.0;
  }

  .cs-story--a .cs-story__fig,
  .cs-story--b .cs-story__fig,
  .cs-story__fig--feat {
    max-height: 260px;
  }
}

/* ── Staggered scroll reveal ──────────────────────────────────── */
/*
  When the story article reveals, portrait fades in slightly after
  the text — creating a layered, cinematic entrance.
*/
.cs-story.reveal .cs-story__fig {
  opacity: 0;
  transition: opacity 1.1s cubic-bezier(0.4, 0, 0.2, 1) 0.26s;
}

.cs-story.reveal.is-visible .cs-story__fig {
  opacity: 1;
}

/*
  Featured story headline materialises after the section structure
  is visible — "What Feels Right." blooms in with a gentle drift.
*/
.cs-story--feat.reveal .cs-feat-headline {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1) 0.14s,
              transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.14s;
}

.cs-story--feat.reveal.is-visible .cs-feat-headline {
  opacity: 1;
  transform: translateY(0);
}

/* ── Reduced motion ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .cs-story__fig img {
    transition: none !important;
  }

  .cs-story--a .cs-story__fig,
  .cs-story__fig--feat,
  .cs-story--b .cs-story__fig {
    transform: none !important;
  }

  .cs-story.reveal .cs-story__fig {
    transition: none !important;
    opacity: 1;
  }

  .cs-story--feat.reveal .cs-feat-headline {
    transition: none !important;
    opacity: 1;
    transform: none !important;
  }
}


/* ══════════════════════════════════════════════════════════════════
   COMMUNITIES — Interactive Neighbourhood Map
   Premium market-map experience: selection lives on the SVG.
══════════════════════════════════════════════════════════════════ */

.cm-section {
  position: relative;
  overflow: hidden;
  padding: clamp(92px, 10vw, 132px) clamp(20px, 5vw, 72px) clamp(84px, 9vw, 124px);
  color: #111d33;
  background: #EAE6DF;
}

.cm-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 84% 16%, rgba(255,255,255,0.56), transparent 44%),
    radial-gradient(ellipse at 18% 90%, rgba(201,168,76,0.07), transparent 42%);
  pointer-events: none;
}

.cm-inner {
  position: relative;
  z-index: 1;
  max-width: 1360px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 0.58fr) minmax(580px, 1.42fr);
  gap: clamp(56px, 6vw, 104px);
  align-items: center;
}

/* ── Left panel ─────────────────────────────────────────────────── */

.cm-left {
  display: flex;
  flex-direction: column;
  max-width: 480px;
}

.cm-eyebrow {
  font-family: var(--font-sans);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  color: #dde3e7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cm-eyebrow::before {
  content: '';
  width: 30px;
  height: 1px;
  background: rgba(247,245,240,0.54);
  flex-shrink: 0;
}

.cm-heading {
  font-family: var(--font-serif);
  font-size: clamp(2.875rem, 5vw, 4.875rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0;
  color: #fff;
  margin: 0 0 28px;
}

.cm-heading em {
  color: inherit;
  font-style: normal;
}

.cm-copy {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.85;
  color: rgba(247,245,240,0.78);
  max-width: 460px;
  margin: 0 0 36px;
}

/* ── Focus summary ──────────────────────────────────────────────── */

.cm-focus {
  position: relative;
  min-height: 96px;
  margin: 0 0 34px;
  padding: 18px 0 18px 22px;
  border-left: 1px solid rgba(247,245,240,0.18);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.cm-focus.is-fading {
  opacity: 0;
  transform: translateY(5px);
}

.cm-focus__prompt {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,245,240,0.46);
  margin: 0 0 10px;
}

.cm-focus__name {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 400;
  color: #fff;
  margin: 0 0 8px;
  line-height: 1.1;
  min-height: 1.1em;
}

.cm-focus__line {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.72;
  color: rgba(247,245,240,0.74);
  margin: 0;
  min-height: 2.4em;
}

/* ── CTA ghost button ───────────────────────────────────────────── */

.cm-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 14px 26px;
  border: 1px solid rgba(247,245,240,0.32);
  border-radius: 3px;
  color: rgba(247,245,240,0.82);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  background: transparent;
  transition: border-color 0.28s ease, color 0.28s ease, background 0.28s ease;
}

.cm-cta:hover,
.cm-cta:focus-visible {
  border-color: rgba(247,245,240,0.66);
  color: #fff;
  background: rgba(247,245,240,0.06);
  outline: none;
}

.cm-cta-note {
  margin: 14px 0 0;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(247,245,240,0.34);
  letter-spacing: 0.01em;
}

/* ── Map panel ──────────────────────────────────────────────────── */

.cm-map-panel {
  position: relative;
  min-height: 720px;
  padding: 0;
  background: transparent;
  overflow: visible;
}

.cm-map-panel::before {
  content: '';
  position: absolute;
  inset: 10% 2% 4%;
  background:
    radial-gradient(ellipse at 54% 56%, rgba(160,148,128,0.16), transparent 58%),
    radial-gradient(ellipse at 48% 26%, rgba(255,255,255,0.32), transparent 48%);
  filter: blur(22px);
  pointer-events: none;
  z-index: 0;
}

.cm-map-panel::after {
  display: none;
}

.cm-svg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  position: relative;
  z-index: 1;
  overflow: visible;
  filter: drop-shadow(0 22px 52px rgba(11,22,38,0.09));
  -webkit-mask-image: radial-gradient(ellipse at center, black 54%, rgba(0,0,0,0.72) 72%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, black 54%, rgba(0,0,0,0.72) 72%, transparent 100%);
}

/* ── SVG base elements ──────────────────────────────────────────── */

.cm-map-field {
  fill: transparent;
}

.cm-grid {
  stroke: rgba(247,245,240,0.07);
  stroke-width: 0.7;
}

.cm-contour {
  fill: none;
  stroke: rgba(247,245,240,0.08);
  stroke-width: 1;
}

.cm-region {
  display: none;
}

.cm-lake {
  fill: #26313a;
}

.cm-lake-line {
  fill: none;
  stroke: rgba(247,245,240,0.24);
  stroke-width: 1.4;
}

.cm-escarpment {
  fill: none;
  stroke: rgba(247,245,240,0.24);
  stroke-width: 1;
  stroke-dasharray: 6,7;
  stroke-linecap: round;
}

.cm-road {
  fill: none;
  stroke: rgba(226,232,235,0.16);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.28s ease, stroke-width 0.28s ease;
}

.cm-road--major {
  stroke: rgba(226,232,235,0.28);
  stroke-width: 2;
}

.cm-road.is-active {
  stroke: rgba(247,245,240,0.62);
  stroke-width: 2;
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation: cm-route-draw 0.9s cubic-bezier(0.22,1,0.36,1) forwards;
}

.cm-svg__watermark {
  font-size: 10px;
  fill: rgba(247,245,240,0.48);
  letter-spacing: 0.14em;
  font-family: var(--font-sans);
  font-weight: 700;
  text-transform: uppercase;
}

/* ── Pins ───────────────────────────────────────────────────────── */

.cm-pin {
  cursor: pointer;
  transition: opacity 0.34s ease;
}

.cm-pin:focus-visible {
  outline: none;
}

.cm-pin__halo {
  fill: none;
  stroke: rgba(247,245,240,0.38);
  stroke-width: 1;
  opacity: 0;
  transition: opacity 0.36s ease, r 0.36s ease;
}

.cm-pin__ring {
  display: none;
}

.cm-pin__bracket {
  fill: rgba(221,227,231,0.68);
  stroke: #11171d;
  stroke-width: 3;
  transition: r 0.36s ease, fill 0.36s ease, stroke 0.36s ease;
}

.cm-pin__dot {
  display: none;
}

.cm-pin__label {
  font-size: 13px;
  fill: rgba(247,245,240,0.72);
  letter-spacing: 0.02em;
  font-family: var(--font-sans);
  font-weight: 600;
  pointer-events: none;
  transition: fill 0.36s ease, opacity 0.36s ease;
}

.cm-pin:hover .cm-pin__bracket,
.cm-pin:focus-visible .cm-pin__bracket,
.cm-pin.is-active .cm-pin__bracket {
  fill: rgba(255,255,255,0.96);
  r: 6.8;
}

.cm-pin:hover .cm-pin__label,
.cm-pin:focus-visible .cm-pin__label,
.cm-pin.is-active .cm-pin__label {
  fill: #fff;
}

.cm-pin:hover .cm-pin__halo,
.cm-pin:focus-visible .cm-pin__halo,
.cm-pin.is-active .cm-pin__halo {
  opacity: 1;
  r: 15;
}

/* Dim inactive pins when one is active */
.cm-section.has-active .cm-pin:not(.is-active) {
  opacity: 0.38;
}

.cm-section.has-active .cm-pin:not(.is-active):hover {
  opacity: 0.82;
}

/* ── Connector lines ────────────────────────────────────────────── */

.cm-connector {
  stroke: rgba(247,245,240,0.48);
  stroke-width: 1;
  stroke-dasharray: 80;
  stroke-dashoffset: 80;
  opacity: 0;
  pointer-events: none;
  transition: stroke-dashoffset 0.42s cubic-bezier(0.22,1,0.36,1),
              opacity 0.24s ease;
}

.cm-pin.is-active .cm-connector {
  stroke-dashoffset: 0;
  opacity: 1;
}

/* ── Callout boxes ──────────────────────────────────────────────── */

.cm-callout {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease 0.24s;
}

.cm-pin.is-active .cm-callout {
  opacity: 1;
}

.cm-callout__bg {
  fill: rgba(10,16,24,0.90);
  stroke: rgba(247,245,240,0.18);
  stroke-width: 0.5;
}

.cm-callout__name {
  font-size: 13px;
  font-weight: 700;
  fill: #fff;
  font-family: var(--font-sans);
  letter-spacing: 0.01em;
  text-anchor: middle;
}

.cm-callout__tag {
  font-size: 9px;
  font-weight: 700;
  fill: rgba(247,245,240,0.58);
  font-family: var(--font-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-anchor: middle;
}

/* ── Map caption ────────────────────────────────────────────────── */

.cm-map-caption {
  position: absolute;
  left: clamp(28px, 3vw, 42px);
  bottom: clamp(26px, 3vw, 40px);
  max-width: 310px;
  color: rgba(247,245,240,0.52);
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 3;
}

@keyframes cm-route-draw {
  to { stroke-dashoffset: 0; }
}

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width: 960px) {
  .cm-section {
    padding: 96px 28px 88px;
  }

  .cm-inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .cm-left {
    display: contents;
    max-width: none;
  }

  .cm-header {
    order: 1;
  }

  .cm-focus {
    order: 2;
    margin-bottom: 28px;
  }

  .cm-cta {
    order: 3;
  }

  .cm-cta-note {
    order: 4;
    margin-top: 10px;
  }

  .cm-map-panel {
    order: 5;
    min-height: 520px;
  }

  .cm-svg {
    min-height: 470px;
  }
}

@media (max-width: 620px) {
  .cm-section {
    padding: 82px 20px 76px;
  }

  .cm-heading {
    font-size: clamp(2.625rem, 13vw, 3.625rem);
  }

  .cm-copy {
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 28px;
  }

  .cm-map-panel {
    min-height: 420px;
    padding: 10px;
  }

  .cm-svg {
    min-height: 394px;
  }

  .cm-pin__label {
    font-size: 11px;
  }

  .cm-callout__name {
    font-size: 11px;
  }

  .cm-callout__tag {
    font-size: 8px;
  }

  .cm-map-caption {
    left: 22px;
    right: 22px;
    bottom: 20px;
    max-width: none;
    font-size: 9px;
  }
}

/* Accessibility contrast refinements for small editorial and legal text. */
body.home-page .meet-editorial .meet-team__eyebrow {
  color: #646b75 !important;
}

body.home-page .footer__legal {
  color: rgba(244, 241, 234, 0.60) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cm-pin__bracket,
  .cm-pin__label,
  .cm-pin,
  .cm-connector,
  .cm-callout,
  .cm-road.is-active,
  .cm-pin.is-active .cm-pin__halo,
  .cm-focus {
    animation: none !important;
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   SITE-WIDE TYPOGRAPHY ALIGNMENT
   Playfair Display for editorial display type. Inter for body,
   navigation, labels, cards and controls.
   ═══════════════════════════════════════════════════════════ */
body,
input,
textarea,
select,
button,
.nav,
.nav__link,
.nav__cta,
.nav__contact,
.nav__cta--phone,
.nav__cta--email,
.nav__mobile-menu,
.announce-bar,
.btn,
.btn-navy,
.btn-ghost,
.btn-text-link,
.filter-btn,
.filter-bar__count,
.listing-card__address,
.listing-card__city,
.listing-card__details,
.listing-card__badge,
.property-bar__price,
.property-bar__cta,
.gallery__count,
.gallery__caption,
.tour__label,
.detail-card__label,
.detail-card__value,
.stat__label,
.feature__label,
.footer,
.footer__col-title,
.footer__col-link,
.cm-eyebrow,
.cm-copy,
.cm-item,
.cm-info__proof,
.cm-info__desc,
.cm-svg__watermark,
.cm-pin__label {
  font-family: var(--font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero__h1,
.hero__h1-line,
.hero__h1-em,
.hero__trust-value,
.section-heading,
.page-header__h1,
.cta-band__heading,
.meet-team__heading,
.ts-headline,
.ts-quote,
.proof-bar__value,
.listing-card__price,
.property-bar__address,
.listing-hero__price,
.listing-hero__title,
.section-title,
.detail-section__heading,
.feature__title,
.footer__logo-mark span,
.nav__logo-mark span,
.cm-heading,
.cm-info__label {
  font-family: var(--font-display) !important;
}

.nav__wordmark,
.nav__wordmark-the,
.nav__wordmark-name,
.nav__wordmark-team,
.footer__wordmark-the,
.footer__wordmark-name,
.footer__wordmark-team {
  font-family: var(--font-body) !important;
}

p,
li {
  font-family: var(--font-body);
}

@media (max-width: 600px) {
  body.home-page .hero,
  body.home-page .hero__left,
  body.home-page .hero__h1 {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(1.82rem, 7.5vw, 2.2rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.022em !important;
    white-space: normal !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE HERO — CINEMATIC EDITORIAL REFINEMENT
   Final override for the full-bleed local slideshow.
   ═══════════════════════════════════════════════════════════════ */
body.home-page .hero {
  position: relative !important;
  min-height: 100svh !important;
  background: #05090f !important;
  isolation: isolate !important;
}

body.home-page .hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(3, 7, 12, 0.95) 0%,
      rgba(3, 7, 12, 0.88) 23%,
      rgba(3, 7, 12, 0.64) 42%,
      rgba(3, 7, 12, 0.25) 64%,
      rgba(3, 7, 12, 0.10) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3, 7, 12, 0.22) 0%,
      rgba(3, 7, 12, 0.02) 38%,
      rgba(3, 7, 12, 0.28) 100%
    ) !important;
}

body.home-page .hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  opacity: 0.13 !important;
  mix-blend-mode: soft-light !important;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.16) 0 0.6px, transparent 0.7px),
    radial-gradient(circle at 70% 20%, rgba(255,255,255,0.10) 0 0.5px, transparent 0.7px) !important;
  background-size: 3px 3px, 5px 5px !important;
}

@media (min-width: 901px) {
  body.home-page .hero__inner {
    display: block !important;
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100svh !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home-page .hero__left {
    position: relative !important;
    z-index: 6 !important;
    width: min(48vw, 690px) !important;
    max-width: 690px !important;
    min-height: 100svh !important;
    padding: clamp(104px, 13vh, 148px) clamp(36px, 4.8vw, 76px) clamp(72px, 9vh, 108px) clamp(56px, 7.2vw, 104px) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home-page .hero__right {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
  }
}

body.home-page .hero__video-wrap,
body.home-page .hero__right {
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page .hero__video-wrap::before {
  background:
    linear-gradient(180deg, rgba(3,7,12,0.10), rgba(3,7,12,0.26)),
    linear-gradient(90deg, rgba(3,7,12,0.08), transparent 58%) !important;
}

/* ── Ken Burns: per-slide custom-property motion ── */
body.home-page .hero__media-slide {
  filter: saturate(0.90) contrast(1.03) brightness(0.82) !important;
  transform: scale(var(--kb-from-scale, 1.02)) translate3d(var(--kb-from-x, 0%), var(--kb-from-y, 0%), 0) !important;
  transition:
    opacity 2100ms cubic-bezier(0.4, 0, 0.2, 1),
    transform 15000ms cubic-bezier(0.05, 0.55, 0.38, 1.0) !important;
  will-change: opacity, transform !important;
}

body.home-page .hero__media-slide.is-active {
  transform: scale(var(--kb-to-scale, 1.08)) translate3d(var(--kb-to-x, 0%), var(--kb-to-y, 0%), 0) !important;
}

/* First frame: enters crisply (1.1s), then transitions normalise */
body.home-page .hero__media-slide--first-frame {
  transition:
    opacity 1100ms cubic-bezier(0.2, 0, 0.36, 1),
    transform 15000ms cubic-bezier(0.05, 0.55, 0.38, 1.0) !important;
}

body.home-page .hero__h1-location {
  width: auto !important;
  max-width: 34rem !important;
  margin: 0 0 clamp(18px, 2vh, 25px) !important;
  padding: 0 0 12px !important;
  color: rgba(238, 235, 228, 0.58) !important;
  border-bottom: 1px solid rgba(238, 235, 228, 0.16) !important;
  font-size: clamp(0.64rem, 0.72vw, 0.74rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  line-height: 1.35 !important;
  text-shadow: 0 1px 14px rgba(0,0,0,0.54) !important;
}

body.home-page .hero__h1 {
  max-width: 14.5ch !important;
  margin: 0 0 clamp(20px, 2.6vh, 30px) !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  font-size: clamp(4rem, 4.85vw, 5.65rem) !important;
  line-height: 0.94 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 22px rgba(0,0,0,0.46), 0 1px 3px rgba(0,0,0,0.36) !important;
}

body.home-page .hero__h1-line {
  color: rgba(250, 248, 244, 0.98) !important;
}

body.home-page .hero__h1-em {
  color: rgba(232, 228, 220, 0.76) !important;
}

body.home-page .hero__sub {
  max-width: 31rem !important;
  margin: 0 0 clamp(24px, 3vh, 34px) !important;
  color: rgba(250, 248, 244, 0.74) !important;
  font-size: clamp(1rem, 1.02vw, 1.13rem) !important;
  line-height: 1.72 !important;
  font-weight: 300 !important;
  text-shadow: 0 1px 16px rgba(0,0,0,0.38) !important;
}

body.home-page .hero__trust {
  display: flex !important;
  align-items: flex-start !important;
  width: auto !important;
  max-width: 30rem !important;
  gap: clamp(22px, 2.8vw, 42px) !important;
  margin: 0 0 clamp(25px, 3vh, 36px) !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home-page .hero__trust-item {
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative !important;
}

body.home-page .hero__trust-item:not(:first-child) {
  padding-left: clamp(18px, 2.2vw, 30px) !important;
  border-left: 1px solid rgba(238, 235, 228, 0.13) !important;
}

body.home-page .hero__trust-value {
  color: rgba(250, 248, 244, 0.90) !important;
  font-size: clamp(1.25rem, 1.6vw, 1.75rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 16px rgba(0,0,0,0.36) !important;
}

body.home-page .hero__trust-label {
  max-width: 8rem !important;
  margin-top: 7px !important;
  color: rgba(238, 235, 228, 0.43) !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  line-height: 1.45 !important;
}

body.home-page .hero__ctas {
  display: flex !important;
  align-items: center !important;
  gap: 16px 24px !important;
  margin: 0 !important;
}

body.home-page .hero__primary-cta {
  min-height: 50px !important;
  padding: 0 27px !important;
  background: #f4f1ea !important;
  color: #101318 !important;
  border: 1px solid rgba(244, 241, 234, 0.42) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,0.24) !important;
  font-weight: 650 !important;
  letter-spacing: 0.13em !important;
  transition:
    background 260ms ease,
    color 260ms ease,
    transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 260ms ease !important;
}

body.home-page .hero__primary-cta:hover {
  background: rgba(255,255,255,0.98) !important;
  transform: translate3d(0, -2px, 0) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,0.30) !important;
}

body.home-page .hero__ctas .btn-text-link {
  min-height: 50px !important;
  padding: 0 !important;
  color: rgba(238, 235, 228, 0.58) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  transition: color 220ms ease, transform 220ms ease !important;
}

body.home-page .hero__ctas .btn-text-link:hover {
  color: rgba(250, 248, 244, 0.94) !important;
  transform: translate3d(3px, 0, 0) !important;
}

body.home-page .hero__location-label {
  right: clamp(30px, 4vw, 58px) !important;
  bottom: clamp(28px, 4vw, 52px) !important;
  padding-left: 13px !important;
  border-left-color: rgba(238, 235, 228, 0.34) !important;
}

body.home-page .hero__location-kicker {
  color: rgba(238, 235, 228, 0.48) !important;
  font-size: 0.52rem !important;
}

body.home-page .hero__location-name {
  color: rgba(250, 248, 244, 0.88) !important;
  font-size: clamp(1.04rem, 1.26vw, 1.36rem) !important;
}

@media (max-width: 900px) {
  body.home-page .hero {
    background: #05090f !important;
  }

  body.home-page .hero::before {
    background:
      linear-gradient(180deg, rgba(3,7,12,0.12) 0%, rgba(3,7,12,0.08) 34%, #05090f 100%) !important;
  }

  body.home-page .hero::after {
    opacity: 0.09 !important;
  }

  body.home-page .hero__right {
    height: min(64vw, 440px) !important;
    min-height: 245px !important;
    max-height: 440px !important;
  }

  body.home-page .hero__left {
    z-index: 6 !important;
    padding: clamp(38px, 7vw, 54px) clamp(24px, 6vw, 42px) clamp(52px, 8vw, 68px) !important;
    background:
      linear-gradient(180deg, rgba(5,9,15,0.98), #05090f 72%) !important;
  }

  body.home-page .hero__h1 {
    max-width: 13ch !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.85rem, 10.6vw, 4.5rem) !important;
  }

  body.home-page .hero__sub {
    max-width: 36rem !important;
    font-size: 1rem !important;
  }
}

@media (max-width: 600px) {
  body.home-page .hero__right {
    height: min(66vw, 360px) !important;
    min-height: 220px !important;
  }

  body.home-page .hero__left {
    padding: 34px 20px 46px !important;
  }

  body.home-page .hero__h1-location {
    max-width: 100% !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.18em !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(1.62rem, 6.75vw, 2rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.01em !important;
  }

  body.home-page .hero__trust {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home-page .hero__trust-item {
    padding-right: 12px !important;
  }

  body.home-page .hero__trust-item:not(:first-child) {
    padding-left: 12px !important;
  }

  body.home-page .hero__trust-value {
    font-size: 1.08rem !important;
  }

  body.home-page .hero__trust-label {
    font-size: 0.52rem !important;
    letter-spacing: 0.12em !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   SECTION FLOW REFINEMENTS — Team → Listings precision polish pass
══════════════════════════════════════════════════════════════════ */

/* 1. Tighter top gap — closes the dead zone above "Featured Listings" */
body.home-page .featured-listings {
  padding-top: clamp(56px, 6.5vw, 96px) !important;
}

/* 2a. Team content panel — warmer off-white: richer, less clinical */
body.home-page .meet-editorial__content,
body.home-page .meet-editorial__content.meet-team__content {
  background: #f6f3ec !important;
}

/* 2b. Editorial edge — photo softly dissolves into warm panel (desktop only) */
body.home-page .meet-editorial__media::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 80px !important;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(246,243,236,0.38) 48%,
    #f6f3ec 100%
  ) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

@media (max-width: 900px) {
  body.home-page .meet-editorial__media::after {
    /* Stacked layout: no horizontal dissolve needed */
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: 80px !important;
    background: linear-gradient(
      to bottom,
      transparent 0%,
      #f6f3ec 100%
    ) !important;
  }

  body.home-page .meet-editorial__content,
  body.home-page .meet-editorial__content.meet-team__content {
    background: #f6f3ec !important;
  }
}

/* 3. Meet the Team CTA — luxury editorial: thin border, wide spacing, confident hover */
body.home-page .meet-editorial a.meet-team__cta {
  min-height: 46px !important;
  margin-top: clamp(32px, 4.5vw, 60px) !important;
  padding: 0 2.2rem !important;
  border: 1px solid rgba(11,22,38,0.22) !important;
  background: transparent !important;
  color: rgba(11,22,38,0.65) !important;
  font-size: 0.67rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
  transition:
    border-color 300ms ease,
    color 300ms ease,
    background 300ms ease,
    transform 300ms cubic-bezier(0.22,1,0.36,1) !important;
}

body.home-page .meet-editorial a.meet-team__cta:hover {
  background: #0a1220 !important;
  border-color: #0a1220 !important;
  color: rgba(246,243,236,0.88) !important;
  transform: translateY(-2px) !important;
}

/* ── Location label: editorial minimal — no glass box ───────────── */
body.home-page .hero__location-label {
  background: none !important;
  border: none !important;
  border-left: 1px solid rgba(218,207,187,0.38) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  padding: 2px 0 2px 13px !important;
  gap: 5px !important;
  min-width: 0 !important;
  max-width: min(220px, calc(100% - 60px)) !important;
}

body.home-page .hero__location-kicker {
  font-size: 0.50rem !important;
  letter-spacing: 0.16em !important;
  color: rgba(218,207,187,0.44) !important;
  text-transform: uppercase !important;
  font-style: italic !important;
}

body.home-page .hero__location-name {
  font-family: var(--font-serif) !important;
  font-size: clamp(0.88rem, 1.1vw, 1.18rem) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: rgba(250,248,244,0.84) !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 14px rgba(0,0,0,0.44) !important;
}

/* ── Reduced motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  body.home-page .hero__media-slide,
  body.home-page .hero__media-slide.is-active,
  body.home-page .hero__media-slide--first-frame,
  body.home-page .hero__primary-cta,
  body.home-page .hero__ctas .btn-text-link {
    transition: none !important;
    transform: none !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   SECTION THEME OVERRIDES
   Communities section → warm stone / light editorial
   Client Stories section → deep charcoal / cinematic
   Applied after section reorder: Listings → Communities → Stories → CTA
════════════════════════════════════════════════════════════════════ */

/* ── Communities: left-panel text & interactive elements (light bg) ── */
.cm-eyebrow                                   { color: rgba(180,148,72,0.88); }
.cm-eyebrow::before                           { background: rgba(180,148,72,0.40); }
.cm-heading                                   { color: #070e1b; }
.cm-copy                                      { color: rgba(11,22,38,0.60); }
.cm-focus                                     { border-left-color: rgba(11,22,38,0.14); }
.cm-focus__prompt                             { color: rgba(11,22,38,0.34); }
.cm-focus__name                               { color: #070e1b; }
.cm-focus__line                               { color: rgba(11,22,38,0.58); }
.cm-cta                                       { border-color: rgba(11,22,38,0.24); color: rgba(11,22,38,0.74); }
.cm-cta:hover,
.cm-cta:focus-visible                         { border-color: rgba(11,22,38,0.52); color: #070e1b; background: rgba(11,22,38,0.05); }
.cm-cta-note                                  { color: rgba(11,22,38,0.36); }
.cm-map-caption                               { color: rgba(11,22,38,0.32); }

/* ── Communities: SVG map — dark elements on warm-stone field ──────── */
.cm-grid                                      { stroke: rgba(11,22,38,0.07); }
.cm-contour                                   { stroke: rgba(11,22,38,0.09); }
.cm-lake                                      { fill: #7B9FB2; }
.cm-lake-line                                 { stroke: rgba(11,22,38,0.22); }
.cm-road                                      { stroke: rgba(11,22,38,0.14); }
.cm-road--major                               { stroke: rgba(11,22,38,0.26); }
.cm-road.is-active                            { stroke: rgba(11,22,38,0.64); }
.cm-svg__watermark                            { fill: rgba(11,22,38,0.26); }
.cm-pin__halo                                 { stroke: rgba(11,22,38,0.22); }
.cm-pin__bracket                              { fill: rgba(11,22,38,0.76); stroke: #EAE6DF; }
.cm-pin__label                                { fill: rgba(11,22,38,0.76); }
.cm-pin:hover .cm-pin__bracket,
.cm-pin:focus-visible .cm-pin__bracket,
.cm-pin.is-active .cm-pin__bracket           { fill: #111d33; r: 6.8; }
.cm-pin:hover .cm-pin__label,
.cm-pin:focus-visible .cm-pin__label,
.cm-pin.is-active .cm-pin__label             { fill: #070e1b; }
.cm-pin:hover .cm-pin__halo,
.cm-pin:focus-visible .cm-pin__halo,
.cm-pin.is-active .cm-pin__halo              { opacity: 1; r: 15; }
.cm-connector                                 { stroke: rgba(11,22,38,0.40); }

/* ── Client Stories: all elements — warm off-white on deep charcoal ─── */
.cs-eyebrow                                   { color: #C9A84C; }
.cs-section-title                             { color: #f0ece4; }
.cs-story + .cs-story                         { border-top-color: rgba(247,245,240,0.09); }
.cs-story__sep                                { color: rgba(247,245,240,0.26); }
.cs-story__tag                                { color: rgba(247,245,240,0.44); }
.cs-story__pull                               { color: #f0ece4; }
.cs-story__body                               { color: rgba(240,236,228,0.68); }
.cs-story__attr                               { border-top-color: rgba(247,245,240,0.10); }
.cs-story__name                               { color: rgba(247,245,240,0.88); }
.cs-story__role                               { color: #C9A84C; }
.cs-story__fig                                { box-shadow: 0 24px 68px rgba(0,0,0,0.38), 0 4px 16px rgba(0,0,0,0.22); }
.cs-feat-wm                                   { color: rgba(247,245,240,0.04); }
.cs-feat-headline                             { color: #f0ece4; }
.cs-story--feat .cs-story__feat-cap
  .cs-story__label::before                   { background: rgba(201,168,76,0.48); }
.cs-trust                                     { color: rgba(247,245,240,0.20); border-top-color: rgba(247,245,240,0.08); }

/* ── CTA band: clean hard break from dark testimonials ─────────────── */
.cta-band                                     { border-top: none; }

/* ═══════════════════════════════════════════════════════════════════════
   SELECTED PROPERTIES — homepage editorial section  (.sp-*)
   Replaces the legacy .featured-listings markup on index.html.
   The old .featured-listings CSS above is retained for listings.html.
   ═══════════════════════════════════════════════════════════════════════ */

/* Section shell */
.sp-section {
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 9vw, 140px) clamp(22px, 5vw, 72px);
  background:
    radial-gradient(circle at 84% 8%, rgba(180,168,150,0.13), transparent 30%),
    linear-gradient(135deg, #020408 0%, #080d16 48%, #020306 100%);
  color: #fff;
}

/* Subtle grain / ruled-grid overlay */
.sp-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, transparent 0 49%, rgba(180,168,150,0.05) 49.1%, transparent 49.45%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.017) 0 1px, transparent 1px 96px);
  opacity: 0.65;
  pointer-events: none;
}

.sp-section > * {
  position: relative;
  z-index: 1;
}

/* ── Header ──────────────────────────────────────────────────────────── */

.sp-header {
  max-width: 1420px;
  margin: 0 auto clamp(40px, 5vw, 68px);
}

.sp-header .section-eyebrow {
  color: var(--gold);
  margin-bottom: 12px;
}

.sp-heading {
  font-family: var(--font-serif);
  font-size: clamp(2.6rem, 3.8vw, 5rem);
  font-weight: 500;
  line-height: 1.0;
  letter-spacing: -0.015em;
  color: rgba(255,255,255,0.94);
  text-transform: none;
}

.sp-heading em {
  font-style: italic;
  font-weight: 400;
  color: rgba(255,255,255,0.68);
}

/* ── Grid ────────────────────────────────────────────────────────────── */

.sp-grid {
  max-width: 1420px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.52fr) minmax(260px, 0.65fr);
  gap: clamp(16px, 2.2vw, 36px);
  align-items: start;
}

/* ── Cards — shared base ─────────────────────────────────────────────── */

.sp-card {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: default;
}

a.sp-card {
  cursor: pointer;
}

/* ── Secondary stack ─────────────────────────────────────────────────── */

.sp-secondary {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 2.8vw, 44px);
}

/* ── Card media ──────────────────────────────────────────────────────── */

.sp-card__media {
  position: relative;
  overflow: hidden;
  background: #0c1420;
}

.sp-card--feature .sp-card__media {
  aspect-ratio: 4 / 3;
}

.sp-card--secondary .sp-card__media {
  aspect-ratio: 3 / 2;
}

.sp-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
  transition:
    transform 1300ms cubic-bezier(0.16, 1, 0.3, 1),
    filter    1300ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Bottom-fade vignette */
.sp-card__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(2,4,8,0.03) 0%,
    rgba(2,4,8,0.40) 100%
  );
  transition: background 700ms ease;
  pointer-events: none;
  z-index: 1;
}

/* Hover: zoom + deepen */
a.sp-card:hover .sp-card__media img {
  transform: scale(1.06);
  filter: brightness(0.9) saturate(1.05);
}

a.sp-card:hover .sp-card__media::after {
  background: linear-gradient(
    180deg,
    rgba(2,4,8,0.06) 0%,
    rgba(2,4,8,0.60) 100%
  );
}

/* ── Status badge ────────────────────────────────────────────────────── */

.sp-card__status {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 4px 10px;
  background: rgba(4,7,12,0.48);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255,255,255,0.78);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}

/* ── Card body ───────────────────────────────────────────────────────── */

.sp-card__body {
  padding: clamp(18px, 2vw, 28px) 0 0;
}

.sp-card__address {
  font-family: var(--font-serif);
  font-size: clamp(1.45rem, 1.9vw, 2.3rem);
  font-weight: 500;
  color: rgba(255,255,255,0.94);
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.sp-card--secondary .sp-card__address {
  font-size: clamp(1.1rem, 1.35vw, 1.6rem);
}

.sp-card__location {
  margin-top: 5px;
  color: rgba(255,255,255,0.38);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.sp-card__teaser {
  margin-top: 15px;
  color: rgba(255,255,255,0.50);
  font-family: var(--font-sans);
  font-size: clamp(13px, 0.95vw, 14px);
  line-height: 1.75;
  max-width: 54ch;
}

/* ── Card footer row ─────────────────────────────────────────────────── */

.sp-card__footer {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(180,168,150,0.15);
}

.sp-card--secondary .sp-card__footer {
  margin-top: 12px;
  padding-top: 11px;
  border-top-color: rgba(180,168,150,0.11);
}

.sp-card__price {
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 2.3vw, 2.9rem);
  font-weight: 600;
  color: rgba(255,255,255,0.96);
  letter-spacing: -0.015em;
  line-height: 1;
}

.sp-card--secondary .sp-card__price {
  font-size: clamp(1.2rem, 1.55vw, 1.85rem);
}

.sp-card__specs {
  color: rgba(255,255,255,0.35);
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

/* CTA — feature card only */
.sp-card__cta {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--gold);
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 300ms ease;
}

.sp-card__arrow {
  display: inline-block;
  transition: transform 380ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

a.sp-card:hover .sp-card__cta {
  color: rgba(255,255,255,0.9);
}

a.sp-card:hover .sp-card__arrow {
  transform: translateX(5px);
}

/* ── Section footer ──────────────────────────────────────────────────── */

.sp-footer {
  max-width: 1420px;
  margin: clamp(44px, 4.5vw, 68px) auto 0;
  text-align: right;
}

.sp-all-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.58);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  padding-left: 20px;
  border-left: 1px solid rgba(180,168,150,0.42);
  transition: color 300ms ease, border-color 300ms ease;
}

.sp-all-link:hover {
  color: rgba(255,255,255,0.9);
  border-left-color: rgba(180,168,150,0.78);
}

/* ── Responsive ──────────────────────────────────────────────────────── */

/* Tablet: single column, secondary cards go side by side */
@media (max-width: 960px) {
  .sp-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .sp-secondary {
    flex-direction: row;
    gap: clamp(14px, 2vw, 24px);
  }

  .sp-secondary .sp-card--secondary {
    flex: 1;
    min-width: 0;
  }

  .sp-footer {
    text-align: left;
  }
}

/* Mobile: all cards stack, teaser hides */
@media (max-width: 600px) {
  .sp-section {
    padding: 64px 18px;
  }

  .sp-secondary {
    flex-direction: column;
    gap: 28px;
  }

  .sp-card--feature .sp-card__media {
    aspect-ratio: 3 / 2;
  }

  .sp-card__teaser {
    display: none;
  }

  .sp-card__footer {
    gap: 8px 16px;
  }

  .sp-card__cta {
    margin-left: 0;
    margin-top: 4px;
    flex-basis: 100%;
  }
}

/* ══════════════════════════════════════════════════════════════════
   MOBILE HERO — EDGE-TO-EDGE IMAGE + NO SCROLLBAR FIX
   Overrides accumulated layers that:
     1. cause overflow-x:hidden + overflow-y:visible → promoted to auto
        → scrollbar on the text pane
     2. constrain the image pane to the inner container width instead
        of the full viewport
   Desktop (≥901px) is untouched.
══════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* Hero section: auto height, contain children, no page scroll */
  body.home-page .hero {
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  /* Inner container: grid stack, full width, NO overflow clipping
     (overflow-x:hidden + overflow-y:visible elsewhere promotes to
     overflow:hidden auto — this kills it) */
  body.home-page .hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Image pane: full viewport width breakout, no leftover transform */
  body.home-page .hero__right {
    order: 1 !important;
    position: relative !important;
    inset: auto !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  /* Text pane: natural height, never scroll */
  body.home-page .hero__left {
    order: 2 !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Headline: overflow-x:hidden elsewhere promotes overflow-y to auto.
     Reset here — h1 is not a grid item so no order property needed. */
  body.home-page .hero__h1 {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  /* Slideshow images fill the pane */
  body.home-page .hero__video-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.home-page .hero__media-slide,
  body.home-page .hero__video {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE COMMUNITIES — EDITORIAL MAP REFINEMENT
   Quiet local-expertise artifact, not a dense service-area widget.
══════════════════════════════════════════════════════════════════ */
body.home-page .cm-section {
  padding: clamp(82px, 8vw, 126px) clamp(22px, 4.8vw, 68px) clamp(96px, 9vw, 138px) !important;
  background:
    radial-gradient(ellipse at 84% 18%, rgba(255,255,255,0.62), transparent 40%),
    radial-gradient(ellipse at 18% 78%, rgba(127,133,139,0.08), transparent 44%),
    linear-gradient(135deg, #f0ebe2 0%, #e8e0d4 64%, #ded5c8 100%) !important;
}

body.home-page .cm-section::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: clamp(92px, 10vw, 150px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to bottom,
    rgba(232,224,212,0) 0%,
    rgba(220,211,199,0.60) 46%,
    rgba(9,16,25,0.14) 100%
  ) !important;
}

body.home-page .cm-inner {
  max-width: 1320px !important;
  grid-template-columns: minmax(300px, 0.42fr) minmax(680px, 1.28fr) !important;
  gap: 0 !important;
  align-items: center !important;
}

body.home-page .cm-left {
  position: relative !important;
  z-index: 6 !important;
  max-width: 470px !important;
  padding: clamp(18px, 2vw, 30px) clamp(26px, 4vw, 54px) clamp(18px, 2vw, 30px) 0 !important;
  margin-right: clamp(-106px, -5.5vw, -56px) !important;
  background: transparent !important;
  text-shadow: 0 1px 18px rgba(240,235,226,0.58) !important;
}

body.home-page .cm-header {
  margin-bottom: clamp(18px, 2.5vw, 30px) !important;
}

body.home-page .cm-heading {
  max-width: 8.9em !important;
  margin-bottom: 18px !important;
  font-size: clamp(2.35rem, 4.05vw, 4.05rem) !important;
  line-height: 0.95 !important;
}

body.home-page .cm-copy {
  max-width: 27rem !important;
  margin-bottom: 0 !important;
  color: rgba(11,22,38,0.66) !important;
}

body.home-page .cm-focus {
  min-height: 0 !important;
  margin: 0 0 clamp(18px, 2.2vw, 28px) !important;
  padding: clamp(14px, 1.8vw, 22px) 0 0 !important;
  border-left: 0 !important;
  border-top: 1px solid rgba(11,22,38,0.13) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home-page .cm-focus__prompt {
  margin: 0 0 9px !important;
  color: rgba(11,22,38,0.42) !important;
  font-size: var(--meta-size) !important;
  font-weight: 500 !important;
  letter-spacing: 0.13em !important;
}

body.home-page .cm-focus__name {
  min-height: 0 !important;
  margin: 0 0 7px !important;
  color: #0b1626 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.55rem, 2.05vw, 2.15rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
}

body.home-page .cm-focus__observed {
  margin: 0 0 10px !important;
  color: rgba(11,22,38,0.36) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.home-page .cm-focus__line {
  min-height: 0 !important;
  max-width: 27rem !important;
  margin: 0 !important;
  color: rgba(11,22,38,0.62) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.91rem, 0.94vw, 0.98rem) !important;
  font-weight: 300 !important;
  line-height: 1.62 !important;
}

body.home-page .cm-focus__known {
  margin: 12px 0 0 !important;
  color: rgba(11,22,38,0.46) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.76rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

body.home-page .cm-cta {
  margin-top: 2px !important;
  padding: 11px 0 !important;
  border-width: 0 0 1px !important;
  border-radius: 0 !important;
  border-color: rgba(11,22,38,0.20) !important;
  color: rgba(11,22,38,0.58) !important;
  background: transparent !important;
}

body.home-page .cm-cta:hover,
body.home-page .cm-cta:focus-visible {
  border-color: rgba(11,22,38,0.50) !important;
  color: #0b1626 !important;
  background: rgba(11,22,38,0.045) !important;
}

body.home-page .cm-cta-note {
  display: none !important;
  max-width: 28rem !important;
  color: rgba(11,22,38,0.38) !important;
}

body.home-page .cm-map-panel {
  --focus-x: 58%;
  --focus-y: 63%;
  width: min(88vw, 960px) !important;
  justify-self: end !important;
  min-height: clamp(560px, 48vw, 700px) !important;
  opacity: 1 !important;
  transform: translateX(clamp(22px, 3.4vw, 58px)) !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  box-shadow: none !important;
}

body.home-page .cm-map-panel::before {
  display: none !important;
}

body.home-page .cm-map-panel::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  background:
    radial-gradient(
      ellipse 240px 180px at var(--focus-x) var(--focus-y),
      rgba(255,255,255,0.48) 0%,
      rgba(240,230,215,0.18) 45%,
      transparent 80%
    ) !important;
  mix-blend-mode: soft-light !important;
  opacity: 0.90 !important;
  transition:
    background-position 420ms ease,
    opacity 320ms ease !important;
}

body.home-page .cm-svg {
  position: relative !important;
  z-index: 3 !important;
  min-height: clamp(560px, 48vw, 700px) !important;
  overflow: hidden !important;
  filter: saturate(0.98) contrast(1.07) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

body.home-page .cm-map-field {
  fill: url(#cm-land-grad) !important;
}

body.home-page .cm-map-tone {
  fill: url(#cm-land-warmth) !important;
  opacity: 0.78 !important;
  pointer-events: none !important;
}

body.home-page .cm-map-grain {
  fill: #0b1626 !important;
  opacity: 0.44 !important;
  mix-blend-mode: multiply !important;
  pointer-events: none !important;
}

body.home-page .cm-grid-field {
  display: none !important;
}

body.home-page .cm-grid {
  display: none !important;
}

body.home-page .cm-contour {
  fill: none !important;
  stroke: rgba(55,50,42,0.08) !important;
  stroke-width: 0.48 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}

body.home-page .cm-contour--fine {
  stroke: rgba(55,50,42,0.035) !important;
  stroke-width: 0.38 !important;
}

body.home-page .cm-contour--major {
  stroke: rgba(55,50,42,0.12) !important;
  stroke-width: 0.78 !important;
}

body.home-page .cm-contour--ridge {
  stroke: rgba(55,50,42,0.18) !important;
  stroke-width: 1.08 !important;
}

body.home-page .cm-escarpment {
  fill: none !important;
  stroke: rgba(76,68,55,0.36) !important;
  stroke-width: 1.8px !important;
  stroke-linecap: round !important;
  opacity: 0.78 !important;
  vector-effect: non-scaling-stroke !important;
}

body.home-page .cm-lake {
  fill: url(#cm-lake-grad) !important;
  opacity: 0.82 !important;
}

body.home-page .cm-lake-line {
  fill: none !important;
  stroke: rgba(11,22,38,0.08) !important;
  stroke-width: 0.68 !important;
  vector-effect: non-scaling-stroke !important;
}

body.home-page .cm-lake-contour {
  fill: none !important;
  stroke: rgba(255,255,255,0.12) !important;
  stroke-width: 0.48 !important;
  stroke-linecap: round !important;
  vector-effect: non-scaling-stroke !important;
}

body.home-page .cm-lake-contour--shore {
  stroke: rgba(255,255,255,0.18) !important;
  stroke-width: 0.62 !important;
}

body.home-page .cm-road {
  fill: none !important;
  stroke: rgba(11,22,38,0.05) !important;
  stroke-width: 0.5px !important;
  stroke-linecap: round !important;
  vector-effect: non-scaling-stroke !important;
  transition: stroke 0.4s ease, stroke-width 0.4s ease !important;
}

body.home-page .cm-road--major {
  stroke: rgba(11,22,38,0.10) !important;
  stroke-width: 0.8px !important;
}

body.home-page .cm-road--secondary {
  stroke: rgba(11,22,38,0.04) !important;
  stroke-width: 0.4px !important;
}

body.home-page .cm-road--broken {
  stroke-dasharray: 6 8 !important;
}

body.home-page .cm-road.is-active {
  stroke: rgba(180,148,72,0.48) !important;
  stroke-width: 1.1px !important;
  animation: none !important;
}

body.home-page .cm-svg__watermark,
body.home-page .cm-map-caption {
  opacity: 0.34 !important;
  color: rgba(11,22,38,0.30) !important;
  fill: rgba(11,22,38,0.28) !important;
}

body.home-page .cm-svg__watermark {
  font-family: var(--font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
}

body.home-page .cm-svg__watermark--small {
  font-size: 7.5px !important;
  letter-spacing: 0.18em !important;
  opacity: 0.28 !important;
}

body.home-page .cm-svg__watermark--ridge {
  font-size: 10.5px !important;
  letter-spacing: 0.52em !important;
  opacity: 0.30 !important;
}

body.home-page .cm-svg__watermark--water {
  font-size: 8px !important;
  letter-spacing: 0.36em !important;
  opacity: 0.30 !important;
}

body.home-page .cm-svg__watermark--region {
  fill: rgba(11,22,38,0.24) !important;
  font-size: 7.2px !important;
  letter-spacing: 0.34em !important;
  opacity: 0.34 !important;
}

body.home-page .cm-map-caption {
  left: clamp(34px, 4.2vw, 66px) !important;
  bottom: clamp(28px, 3.6vw, 48px) !important;
  max-width: 15rem !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-size: 0.72rem !important;
  line-height: 1.55 !important;
}

body.home-page .cm-pin {
  cursor: pointer !important;
  opacity: 0.88 !important;
}

body.home-page .cm-pin__bracket {
  fill: rgba(74,69,61,0.72) !important;
  stroke: rgba(246,243,236,0.88) !important;
  stroke-width: 1.7 !important;
  filter: drop-shadow(0 1px 3px rgba(11,22,38,0.16)) !important;
}

body.home-page .cm-pin__halo {
  fill: rgba(127,133,139,0.11) !important;
  stroke: rgba(11,22,38,0.16) !important;
  stroke-width: 0.9 !important;
}

body.home-page .cm-pin__label {
  fill: rgba(11,22,38,0.62) !important;
  font-size: 11.8px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

body.home-page .cm-pin:hover,
body.home-page .cm-pin:focus-visible,
body.home-page .cm-pin.is-active {
  opacity: 1 !important;
}

body.home-page .cm-pin:hover .cm-pin__bracket,
body.home-page .cm-pin:focus-visible .cm-pin__bracket,
body.home-page .cm-pin.is-active .cm-pin__bracket {
  fill: #0b1626 !important;
  stroke: rgba(246,243,236,0.92) !important;
  r: 6.6 !important;
}

body.home-page .cm-pin:hover .cm-pin__label,
body.home-page .cm-pin:focus-visible .cm-pin__label,
body.home-page .cm-pin.is-active .cm-pin__label {
  fill: rgba(11,22,38,0.76) !important;
}

body.home-page .cm-pin:hover .cm-pin__halo,
body.home-page .cm-pin:focus-visible .cm-pin__halo,
body.home-page .cm-pin.is-active .cm-pin__halo {
  fill: rgba(8,24,46,0.08) !important;
  stroke: rgba(8,24,46,0.13) !important;
  opacity: 0.88 !important;
  r: 16.5 !important;
}

body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
  opacity: 0.56 !important;
}

body.home-page .cm-section.has-active .cm-pin:not(.is-active):hover {
  opacity: 0.78 !important;
}

body.home-page .cm-connector {
  stroke: rgba(11,22,38,0.22) !important;
  stroke-width: 0.72 !important;
  opacity: 0 !important;
}

body.home-page .cm-pin.is-active .cm-connector {
  opacity: 0.52 !important;
}

body.home-page .cm-callout {
  display: none !important;
}

@media (max-width: 960px) {
  body.home-page .cm-inner {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }

  body.home-page .cm-left {
    display: block !important;
    max-width: none !important;
    margin-right: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.home-page .cm-map-panel {
    width: 100% !important;
    justify-self: stretch !important;
    min-height: 520px !important;
    transform: none !important;
    clip-path: none !important;
  }

  body.home-page .cm-svg {
    min-height: 500px !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-section {
    padding-top: 68px !important;
    padding-bottom: 78px !important;
  }

  body.home-page .cm-map-panel {
    min-height: 380px !important;
    width: calc(100% + 22px) !important;
    margin-left: -11px !important;
  }

  body.home-page .cm-svg {
    min-height: 372px !important;
  }

  body.home-page .cm-pin__label {
    font-size: 9.5px !important;
  }

  body.home-page .cm-map-caption {
    display: none !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   HOMEPAGE DESIGN SYSTEM NORMALIZATION
   Authoritative type, spacing and hierarchy layer for index.html.
   Keep after section-specific polish so future homepage edits inherit
   one editorial system instead of one-off section values.
══════════════════════════════════════════════════════════════════ */
body.home-page .sp-section,
body.home-page .cm-section,
body.home-page .cs-section,
body.home-page .cta-band {
  padding-left: var(--section-pad-x) !important;
  padding-right: var(--section-pad-x) !important;
}

body.home-page .editorial-eyebrow,
body.home-page .section-eyebrow,
body.home-page .meet-team__eyebrow,
body.home-page .meet-editorial .meet-team__eyebrow,
body.home-page .cm-eyebrow,
body.home-page .cs-eyebrow,
body.home-page .hero__h1-location {
  font-family: var(--font-sans) !important;
  font-size: var(--type-meta) !important;
  font-weight: var(--weight-eyebrow) !important;
  letter-spacing: var(--tracking-eyebrow) !important;
  line-height: var(--leading-meta) !important;
  text-transform: uppercase !important;
}

body.home-page .hero__h1-location,
body.home-page .sp-header .section-eyebrow,
body.home-page .cs-eyebrow {
  color: var(--text-dark-muted) !important;
}

body.home-page .meet-editorial .meet-team__eyebrow,
body.home-page .cm-eyebrow {
  color: var(--text-light-muted) !important;
}

body.home-page .cm-eyebrow::before,
body.home-page .meet-editorial .meet-team__eyebrow::before {
  background: rgba(180,148,72,0.48) !important;
}

body.home-page .sp-card__status,
body.home-page .sp-card__location,
body.home-page .sp-card__specs,
body.home-page .cm-focus__prompt,
body.home-page .cm-focus__observed,
body.home-page .cm-svg__watermark,
body.home-page .cs-story__num,
body.home-page .cs-story__tag,
body.home-page .cs-story__role,
body.home-page .footer__col-title {
  font-family: var(--font-sans) !important;
  font-size: var(--type-meta) !important;
  font-weight: var(--weight-meta) !important;
  letter-spacing: var(--tracking-meta) !important;
  line-height: var(--leading-meta) !important;
  text-transform: uppercase !important;
}

body.home-page .hero__h1,
body.home-page .meet-team__heading,
body.home-page .meet-editorial .meet-team__heading,
body.home-page .sp-heading,
body.home-page .cm-heading,
body.home-page .cs-section-title,
body.home-page .cta-band__heading {
  font-family: var(--font-serif) !important;
  font-weight: var(--weight-heading) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  font-size: var(--type-display) !important;
  line-height: var(--leading-display) !important;
}

body.home-page .hero__h1-line {
  display: block !important;
  line-height: 0.93 !important;
}

body.home-page .hero__h1-em {
  display: block !important;
  margin-top: -0.06em !important;
  font-size: clamp(2.55rem, 3.75vw, 4.4rem) !important;
  line-height: 0.96 !important;
  color: rgba(218,207,187,0.66) !important;
  white-space: nowrap !important;
}

body.home-page .meet-team__heading,
body.home-page .meet-editorial .meet-team__heading,
body.home-page .sp-heading,
body.home-page .cm-heading,
body.home-page .cs-section-title,
body.home-page .cta-band__heading {
  font-size: var(--type-h2) !important;
}

body.home-page .hero__h1-em,
body.home-page .meet-team__heading em,
body.home-page .meet-editorial .meet-team__heading em,
body.home-page .sp-heading em,
body.home-page .cm-heading em {
  font-style: italic !important;
  font-weight: 400 !important;
}

body.home-page .hero__sub,
body.home-page .meet-team__body,
body.home-page .meet-editorial .meet-team__body,
body.home-page .sp-card__teaser,
body.home-page .cm-copy,
body.home-page .cs-story__body,
body.home-page .cta-band__sub,
body.home-page .footer__tagline {
  font-family: var(--font-sans) !important;
  font-size: var(--type-body) !important;
  font-weight: var(--weight-body) !important;
  line-height: var(--leading-body) !important;
  max-width: 58ch !important;
}

body.home-page .cm-focus__name,
body.home-page .sp-card__address,
body.home-page .sp-card__price,
body.home-page .cs-story__pull,
body.home-page .cs-feat-headline {
  font-family: var(--font-serif) !important;
  font-weight: var(--weight-heading) !important;
  line-height: var(--leading-h3) !important;
  letter-spacing: 0 !important;
}

body.home-page .cm-focus__name,
body.home-page .sp-card__address {
  font-size: var(--type-h3) !important;
}

body.home-page .cm-focus__line,
body.home-page .cm-focus__known,
body.home-page .cm-map-caption,
body.home-page .footer__legal,
body.home-page .footer__col-link {
  font-family: var(--font-sans) !important;
  font-size: var(--type-small-body) !important;
  line-height: var(--leading-small) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.home-page .hero__cta-link,
body.home-page .meet-team__cta,
body.home-page .meet-editorial a.meet-team__cta,
body.home-page .cm-cta,
body.home-page .sp-card__cta,
body.home-page .sp-all-link,
body.home-page .btn-navy {
  font-family: var(--font-sans) !important;
  font-size: var(--type-cta) !important;
  font-weight: var(--weight-cta) !important;
  letter-spacing: var(--tracking-action) !important;
  line-height: 1 !important;
  text-transform: none !important;
}

body.home-page .nav__cta--phone,
body.home-page .nav.nav--scrolled .nav__cta--phone {
  font-family: var(--font-sans) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

body.home-page .nav__cta--email,
body.home-page .nav.nav--scrolled .nav__cta--email {
  font-family: var(--font-sans) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
}

body.home-page .hero__cta-link--primary {
  color: rgba(250,246,237,0.96) !important;
  font-weight: 600 !important;
}

body.home-page .hero__cta-link--secondary {
  color: rgba(218,207,187,0.52) !important;
  font-weight: 500 !important;
}

body.home-page .hero__h1-line,
body.home-page .sp-heading,
body.home-page .cs-section-title {
  color: var(--text-inverse) !important;
}

body.home-page .meet-team__heading,
body.home-page .meet-editorial .meet-team__heading,
body.home-page .cm-heading,
body.home-page .cta-band__heading,
body.home-page .cm-focus__name {
  color: var(--text-primary) !important;
}

body.home-page .hero__sub,
body.home-page .sp-card__teaser,
body.home-page .cs-story__body,
body.home-page .footer__tagline {
  color: var(--text-inverse-secondary) !important;
}

body.home-page .meet-team__body,
body.home-page .meet-editorial .meet-team__body,
body.home-page .cm-copy,
body.home-page .cta-band__sub,
body.home-page .cm-focus__line {
  color: var(--text-secondary) !important;
}

body.home-page .meet-editorial .meet-team__body {
  max-width: 54ch !important;
  line-height: 1.78 !important;
  margin: 0 !important;
}

body.home-page .meet-editorial .meet-team__body + .meet-team__body {
  margin-top: var(--space-4) !important;
}

body.home-page .cm-focus__prompt,
body.home-page .cm-focus__observed,
body.home-page .cm-focus__known,
body.home-page .cm-map-caption {
  color: rgba(11,22,38,0.48) !important;
}

body.home-page .sp-card__location,
body.home-page .sp-card__specs,
body.home-page .cs-story__tag,
body.home-page .cs-story__role,
body.home-page .footer__legal {
  color: var(--text-inverse-muted) !important;
}

body.home-page .sp-card__status {
  font-size: var(--type-caption) !important;
  font-weight: 500 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
  color: rgba(250,248,244,0.78) !important;
  background: rgba(4,7,12,0.34) !important;
}

body.home-page .sp-card__location {
  font-size: var(--type-small-body) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: var(--leading-small) !important;
  text-transform: none !important;
  color: rgba(250,248,244,0.48) !important;
}

body.home-page .sp-card__price {
  font-size: clamp(1.08rem, 1.45vw, 1.55rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
}

body.home-page .sp-card--secondary .sp-card__price {
  font-size: clamp(1rem, 1.12vw, 1.22rem) !important;
}

body.home-page .sp-card__teaser {
  display: block !important;
  max-width: 48ch !important;
  margin-top: var(--space-4) !important;
  color: rgba(250,248,244,0.56) !important;
  font-size: var(--type-small-body) !important;
  line-height: var(--leading-small) !important;
}

body.home-page .hero__location-kicker,
body.home-page .hero__location-name,
body.home-page .hero__trust-label {
  font-family: var(--font-sans) !important;
  font-size: var(--type-caption) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: var(--leading-small) !important;
  text-transform: none !important;
}

/* Hero slideshow polish: quieter content area, stronger editorial caption */
body.home-page .hero__left {
  background: linear-gradient(
    108deg,
    rgba(5,9,15,0.64) 0%,
    rgba(5,9,15,0.54) 28%,
    rgba(5,9,15,0.28) 58%,
    rgba(5,9,15,0.04) 80%,
    transparent 100%
  ) !important;
}

body.home-page .hero__trust {
  display: none !important;
}

body.home-page .hero__sub {
  margin-bottom: clamp(28px, 3.2vh, 40px) !important;
}

body.home-page .hero__location-label {
  position: absolute !important;
  right: clamp(28px, 4vw, 56px) !important;
  bottom: clamp(62px, 6.4vw, 84px) !important;
  left: auto !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: min(15.5rem, calc(100% - 56px)) !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 12px 0 2px 15px !important;
  color: var(--text-dark-primary) !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid rgba(238,235,228,0.58) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
  transition:
    opacity 520ms ease,
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.home-page .hero__location-label::before {
  content: '' !important;
  position: absolute !important;
  inset: -22px -22px -18px -24px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse at 100% 100%, rgba(4,7,12,0.66) 0%, rgba(4,7,12,0.46) 40%, transparent 76%) !important;
}

body.home-page .hero__location-label.is-visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

body.home-page .hero__location-kicker {
  color: rgba(238,235,228,0.82) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--type-caption) !important;
  font-weight: var(--weight-eyebrow) !important;
  letter-spacing: 0.18em !important;
  line-height: var(--leading-meta) !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 16px rgba(0,0,0,0.78) !important;
}

body.home-page .hero__location-name {
  color: rgba(250,248,244,0.96) !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.08rem, 1.28vw, 1.34rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.14 !important;
  text-transform: none !important;
  text-shadow: 0 1px 22px rgba(0,0,0,0.78), 0 1px 6px rgba(0,0,0,0.50) !important;
}

body.home-page .hero__progress {
  right: clamp(28px, 4vw, 56px) !important;
  bottom: clamp(28px, 3.8vw, 44px) !important;
}

@media (max-width: 900px) {
  body.home-page .hero__location-label {
    right: clamp(18px, 4vw, 30px) !important;
    bottom: clamp(54px, 8vw, 72px) !important;
    width: min(14rem, calc(100% - 36px)) !important;
    padding-left: 13px !important;
  }
}

@media (max-width: 600px) {
  body.home-page .hero__sub {
    margin-bottom: 28px !important;
  }

  body.home-page .hero__location-label {
    right: 16px !important;
    bottom: 44px !important;
    width: min(13.25rem, calc(100% - 32px)) !important;
  }

  body.home-page .hero__location-name {
    font-size: 1rem !important;
  }
}

/* Communities comprehension pass: quieter left column, roomier regional atlas */
body.home-page .cm-inner {
  max-width: 1360px !important;
  grid-template-columns: minmax(250px, 0.30fr) minmax(760px, 1.52fr) !important;
  gap: clamp(30px, 4vw, 58px) !important;
}

body.home-page .cm-left {
  max-width: 370px !important;
  margin-right: 0 !important;
  padding-right: clamp(12px, 2vw, 26px) !important;
}

body.home-page .cm-header {
  margin-bottom: clamp(14px, 1.8vw, 22px) !important;
}

body.home-page .cm-heading {
  font-size: clamp(2.15rem, 3.55vw, 3.62rem) !important;
  line-height: 0.97 !important;
  max-width: 8.6em !important;
}

body.home-page .cm-focus {
  display: none !important;
}

body.home-page .cm-map-panel {
  width: min(94vw, 1080px) !important;
  min-height: clamp(540px, 46vw, 680px) !important;
  transform: none !important;
}

body.home-page .cm-map-panel::after {
  background:
    radial-gradient(
      ellipse 210px 150px at var(--focus-x) var(--focus-y),
      rgba(255,255,255,0.42) 0%,
      rgba(240,230,215,0.15) 45%,
      transparent 82%
    ) !important;
  opacity: 0.78 !important;
}

body.home-page .cm-svg {
  min-height: clamp(540px, 46vw, 680px) !important;
}

body.home-page .cm-callout {
  display: none !important;
}

body.home-page .cm-pin {
  opacity: 0.54 !important;
  transition: opacity 180ms ease !important;
}

body.home-page .cm-pin__label {
  fill: rgba(11,22,38,0.50) !important;
  opacity: 0.72 !important;
  transition: fill 180ms ease, opacity 180ms ease !important;
}

body.home-page .cm-pin:hover .cm-pin__label,
body.home-page .cm-pin:focus-visible .cm-pin__label,
body.home-page .cm-pin.is-active .cm-pin__label {
  fill: rgba(11,22,38,0.82) !important;
  opacity: 1 !important;
}

body.home-page .cm-pin.is-active .cm-pin__halo {
  fill: rgba(127,133,139,0.12) !important;
  stroke: rgba(127,133,139,0.20) !important;
  opacity: 0.95 !important;
  r: 18 !important;
}

body.home-page .cm-insight {
  position: absolute !important;
  left: clamp(28px, 4.4vw, 58px) !important;
  bottom: clamp(28px, 4vw, 54px) !important;
  z-index: 6 !important;
  width: min(24rem, calc(100% - 56px)) !important;
  padding: clamp(26px, 3vw, 34px) !important;
  border: 1px solid rgba(255,255,255,0.38) !important;
  border-radius: 16px !important;
  background: rgba(248,245,239,0.72) !important;
  box-shadow: 0 22px 70px rgba(42,32,18,0.14), 0 1px 0 rgba(255,255,255,0.46) inset !important;
  backdrop-filter: blur(20px) saturate(1.04) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.04) !important;
  color: #0b1626 !important;
  transform: translate3d(0, 0, 0) !important;
  opacity: 1 !important;
  transition: opacity 210ms ease, transform 210ms ease !important;
}

body.home-page .cm-insight.is-updating {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
}

body.home-page .cm-insight__prompt {
  margin: 0 0 12px !important;
  color: rgba(11,22,38,0.48) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--type-meta) !important;
  font-weight: var(--weight-meta) !important;
  letter-spacing: var(--tracking-meta) !important;
  line-height: var(--leading-meta) !important;
  text-transform: uppercase !important;
}

body.home-page .cm-insight__name {
  margin: 0 0 12px !important;
  color: #0b1626 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.75rem, 2.25vw, 2.35rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

body.home-page .cm-insight__line {
  margin: 0 !important;
  color: rgba(11,22,38,0.68) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.94rem, 0.98vw, 1.02rem) !important;
  font-weight: 300 !important;
  line-height: 1.64 !important;
}

body.home-page .cm-insight__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 24px !important;
  padding-bottom: 5px !important;
  border-bottom: 1px solid rgba(11,22,38,0.22) !important;
  color: rgba(11,22,38,0.72) !important;
  text-decoration: none !important;
}

body.home-page .cm-cta {
  display: inline-flex !important;
  width: auto !important;
  padding: 6px 0 5px !important;
  border-width: 0 0 1px !important;
  color: rgba(11,22,38,0.62) !important;
  background: transparent !important;
}

body.home-page .cm-cta:hover,
body.home-page .cm-cta:focus-visible {
  background: transparent !important;
  color: #0b1626 !important;
}

@media (max-width: 960px) {
  body.home-page .cm-inner {
    grid-template-columns: 1fr !important;
    gap: clamp(34px, 7vw, 52px) !important;
  }

  body.home-page .cm-left {
    max-width: 640px !important;
    padding-right: 0 !important;
  }

  body.home-page .cm-map-panel,
  body.home-page .cm-svg {
    min-height: clamp(430px, 72vw, 560px) !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-heading {
    font-size: clamp(2.1rem, 10vw, 3.05rem) !important;
  }

  body.home-page .cm-map-panel {
    order: 1 !important;
    width: 100% !important;
    margin-left: 0 !important;
    min-height: 0 !important;
  }

  body.home-page .cm-left {
    order: 2 !important;
  }

  body.home-page .cm-svg {
    min-height: 400px !important;
  }

  body.home-page .cm-insight {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: -22px 18px 0 !important;
    padding: 22px !important;
    border-radius: 16px !important;
  }

  body.home-page .cm-insight__name {
    font-size: 1.65rem !important;
  }

  body.home-page .cm-insight__line {
    font-size: 0.94rem !important;
  }
}

/* Recent & Featured: compact editorial market-presence module */
body.home-page .sp-section {
  padding-top: clamp(44px, 4.4vw, 58px) !important;
  padding-bottom: clamp(44px, 4.4vw, 58px) !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(180,168,150,0.09), transparent 28%),
    linear-gradient(135deg, #020408 0%, #080d16 48%, #020306 100%) !important;
}

body.home-page .sp-section::before {
  opacity: 0.42 !important;
}

body.home-page .sp-header,
body.home-page .sp-grid,
body.home-page .sp-footer {
  max-width: 1280px !important;
}

body.home-page .sp-header {
  display: block !important;
  margin-bottom: clamp(18px, 2.1vw, 26px) !important;
}

body.home-page .sp-header .section-eyebrow {
  margin-bottom: 10px !important;
  color: rgba(238,235,228,0.62) !important;
}

body.home-page .sp-heading {
  font-size: clamp(2.2rem, 3.05vw, 3.75rem) !important;
  line-height: 0.96 !important;
  color: rgba(250,248,244,0.92) !important;
  max-width: 7.2em !important;
}

body.home-page .sp-heading em {
  color: rgba(218,207,187,0.68) !important;
}

body.home-page .sp-grid {
  grid-template-columns: minmax(0, 1.48fr) minmax(330px, 0.92fr) !important;
  gap: clamp(28px, 3vw, 44px) !important;
  align-items: stretch !important;
}

body.home-page .sp-secondary {
  gap: clamp(18px, 2vw, 24px) !important;
}

body.home-page .sp-card {
  cursor: pointer !important;
  transition:
    transform 220ms ease,
    color 220ms ease !important;
}

body.home-page .sp-card:focus-visible {
  outline: 1px solid rgba(238,235,228,0.72) !important;
  outline-offset: 6px !important;
}

body.home-page .sp-card--secondary {
  display: grid !important;
  grid-template-columns: minmax(138px, 0.86fr) minmax(0, 1fr) !important;
  gap: clamp(16px, 1.8vw, 24px) !important;
  align-items: stretch !important;
  padding-top: clamp(18px, 2vw, 24px) !important;
  border-top: 1px solid rgba(238,235,228,0.12) !important;
}

body.home-page .sp-card--secondary:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home-page .sp-card__media {
  border-radius: 2px !important;
  box-shadow: 0 18px 54px rgba(0,0,0,0.16) !important;
}

body.home-page .sp-card--feature .sp-card__media {
  aspect-ratio: auto !important;
  height: clamp(280px, 24vw, 330px) !important;
}

body.home-page .sp-card--secondary .sp-card__media {
  aspect-ratio: auto !important;
  height: clamp(126px, 9.6vw, 146px) !important;
}

body.home-page .sp-card__media img {
  transform: scale(1.01) !important;
  transition:
    transform 220ms ease,
    filter 220ms ease !important;
}

body.home-page .sp-card__media::after {
  background: linear-gradient(180deg, rgba(2,4,8,0.02) 0%, rgba(2,4,8,0.24) 100%) !important;
  transition: background 220ms ease !important;
}

body.home-page a.sp-card:hover .sp-card__media img,
body.home-page a.sp-card:focus-visible .sp-card__media img {
  transform: scale(1.03) !important;
  filter: brightness(0.94) saturate(1.03) !important;
}

body.home-page a.sp-card:hover .sp-card__media::after,
body.home-page a.sp-card:focus-visible .sp-card__media::after {
  background: linear-gradient(180deg, rgba(2,4,8,0.03) 0%, rgba(2,4,8,0.32) 100%) !important;
}

body.home-page .sp-card__status {
  top: 14px !important;
  left: 14px !important;
  padding: 4px 9px !important;
  background: rgba(4,7,12,0.22) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: rgba(250,248,244,0.76) !important;
}

body.home-page .sp-card__body {
  padding-top: clamp(13px, 1.25vw, 18px) !important;
  transition: transform 220ms ease !important;
}

body.home-page .sp-card--secondary .sp-card__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding-top: 0 !important;
}

body.home-page a.sp-card:hover .sp-card__body,
body.home-page a.sp-card:focus-visible .sp-card__body {
  transform: translateY(-2px) !important;
}

body.home-page .sp-card__address {
  font-size: clamp(1.35rem, 1.58vw, 1.95rem) !important;
  line-height: 1.04 !important;
}

body.home-page .sp-card--secondary .sp-card__address {
  font-size: clamp(1.12rem, 1.18vw, 1.35rem) !important;
  line-height: 1.08 !important;
}

body.home-page .sp-card__location {
  margin-top: 7px !important;
  color: rgba(250,248,244,0.46) !important;
}

body.home-page .sp-card__teaser {
  max-width: 46ch !important;
  margin-top: clamp(8px, 0.8vw, 11px) !important;
  color: rgba(250,248,244,0.48) !important;
}

body.home-page .sp-card--secondary .sp-card__teaser {
  display: block !important;
  max-width: 30ch !important;
  margin-top: 9px !important;
  color: rgba(250,248,244,0.42) !important;
}

body.home-page .sp-card__footer {
  margin-top: clamp(10px, 1vw, 14px) !important;
  padding-top: clamp(9px, 0.9vw, 12px) !important;
  border-top-color: rgba(238,235,228,0.13) !important;
}

body.home-page .sp-card--secondary .sp-card__footer {
  margin-top: 10px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home-page .sp-card__price {
  font-size: clamp(1.02rem, 1.16vw, 1.3rem) !important;
  color: rgba(250,248,244,0.82) !important;
}

body.home-page .sp-card--secondary .sp-card__price {
  font-size: clamp(0.94rem, 1vw, 1.08rem) !important;
  color: rgba(250,248,244,0.72) !important;
}

body.home-page .sp-card__cta {
  color: rgba(238,235,228,0.64) !important;
  transition: color 220ms ease !important;
}

body.home-page .sp-card__arrow {
  transition: transform 220ms ease !important;
}

body.home-page a.sp-card:hover .sp-card__cta,
body.home-page a.sp-card:focus-visible .sp-card__cta {
  color: rgba(250,248,244,0.9) !important;
}

body.home-page a.sp-card:hover .sp-card__arrow,
body.home-page a.sp-card:focus-visible .sp-card__arrow {
  transform: translateX(3px) !important;
}

body.home-page .sp-footer {
  margin-top: clamp(14px, 1.6vw, 22px) !important;
}

body.home-page .sp-all-link {
  color: rgba(238,235,228,0.58) !important;
  border-left-color: rgba(238,235,228,0.22) !important;
  transition: color 220ms ease, border-color 220ms ease !important;
}

body.home-page .sp-all-link:hover,
body.home-page .sp-all-link:focus-visible {
  color: rgba(250,248,244,0.9) !important;
  border-left-color: rgba(238,235,228,0.46) !important;
}

@media (max-width: 960px) {
  body.home-page .sp-section {
    padding-top: clamp(64px, 8vw, 92px) !important;
    padding-bottom: clamp(64px, 8vw, 92px) !important;
  }

  body.home-page .sp-header {
    display: block !important;
    margin-bottom: clamp(30px, 5vw, 46px) !important;
  }

  body.home-page .sp-grid {
    grid-template-columns: 1fr !important;
  }

  body.home-page .sp-secondary {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home-page .sp-card--secondary {
    display: block !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.home-page .sp-card--feature .sp-card__media {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.home-page .sp-card--secondary .sp-card__media {
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
  }

  body.home-page .sp-card--secondary .sp-card__body {
    padding-top: 16px !important;
  }
}

@media (max-width: 600px) {
  body.home-page .sp-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  body.home-page .sp-secondary {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  body.home-page .sp-card__teaser,
  body.home-page .sp-card--secondary .sp-card__teaser {
    display: block !important;
  }
}

/* Communities reference rebuild: editorial luxury atlas */
body.home-page .cm-section {
  min-height: 0 !important;
  height: calc(100svh - var(--nav-height, 74px)) !important;
  padding: clamp(42px, 5vw, 72px) clamp(48px, 5vw, 86px) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse at 3% 50%, rgba(255,255,255,0.58), transparent 40%),
    radial-gradient(ellipse at 92% 8%, rgba(255,255,255,0.42), transparent 30%),
    linear-gradient(90deg, #eee6da 0%, #f3eee6 34%, #ece5da 100%) !important;
}

body.home-page .cm-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(238,229,216,0.72) 0%, rgba(238,229,216,0.38) 28%, transparent 48%),
    radial-gradient(ellipse at 50% 55%, transparent 40%, rgba(35,28,18,0.06) 100%) !important;
  opacity: 1 !important;
}

body.home-page .cm-inner {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 1540px !important;
  height: min(720px, calc(100svh - var(--nav-height, 74px) - 84px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(330px, 0.32fr) minmax(0, 0.68fr) !important;
  gap: clamp(44px, 5vw, 82px) !important;
  align-items: stretch !important;
}

body.home-page .cm-left {
  position: relative !important;
  z-index: 6 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  max-width: 430px !important;
  min-width: 0 !important;
  padding: clamp(8px, 1vw, 16px) 0 !important;
  margin: 0 !important;
}

body.home-page .cm-header {
  margin-bottom: clamp(22px, 3vw, 36px) !important;
}

body.home-page .cm-heading {
  max-width: 7.4em !important;
  margin: clamp(42px, 5.2vw, 72px) 0 clamp(22px, 2.4vw, 32px) !important;
  color: #111d33 !important;
  font-size: clamp(3rem, 4.4vw, 5.1rem) !important;
  line-height: 0.93 !important;
}

body.home-page .cm-heading em {
  color: rgba(17,29,51,0.62) !important;
}

body.home-page .cm-copy {
  max-width: 31rem !important;
  color: rgba(17,29,51,0.66) !important;
  font-size: clamp(1rem, 1.06vw, 1.1rem) !important;
  line-height: 1.72 !important;
}

body.home-page .cm-cta {
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: clamp(10px, 1.8vw, 24px) !important;
  padding: 0 0 7px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(99,104,111,0.42) !important;
  color: rgba(17,29,51,0.72) !important;
  background: transparent !important;
}

body.home-page .cm-map-panel {
  position: relative !important;
  z-index: 1 !important;
  align-self: stretch !important;
  width: calc(100% + clamp(20px, 4vw, 70px)) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin-right: calc(clamp(20px, 4vw, 70px) * -1) !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

body.home-page .cm-map-panel::before {
  display: none !important;
}

body.home-page .cm-map-panel::after {
  background:
    radial-gradient(ellipse 210px 170px at var(--focus-x) var(--focus-y), rgba(8,24,46,0.07), rgba(8,24,46,0.03) 34%, transparent 72%) !important;
  mix-blend-mode: normal !important;
  opacity: 0.9 !important;
}

body.home-page .cm-svg {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  filter: contrast(1.1) saturate(1.02) !important;
}

body.home-page .cm-map-field {
  fill: transparent !important;
}

body.home-page .cm-map-tone {
  fill: url(#cm-land-warmth) !important;
  opacity: 0.38 !important;
}

body.home-page .cm-map-grain {
  opacity: 0.12 !important;
}

body.home-page .cm-grid-field {
  display: block !important;
  opacity: 0.16 !important;
}

body.home-page .cm-grid {
  stroke: rgba(92,90,83,0.20) !important;
  stroke-width: 0.45 !important;
}

body.home-page .cm-contour {
  stroke: rgba(76,70,58,0.12) !important;
  stroke-width: 0.56 !important;
}

body.home-page .cm-contour--fine {
  stroke: rgba(76,70,58,0.07) !important;
  stroke-width: 0.42 !important;
}

body.home-page .cm-contour--major {
  stroke: rgba(76,70,58,0.18) !important;
  stroke-width: 0.86 !important;
}

body.home-page .cm-escarpment {
  stroke: rgba(76,68,55,0.34) !important;
  stroke-width: 1.6px !important;
  opacity: 0.72 !important;
}

body.home-page .cm-lake {
  fill: #b9c8ca !important;
  opacity: 0.92 !important;
}

body.home-page .cm-lake-line {
  stroke: rgba(59,82,91,0.18) !important;
  stroke-width: 0.9 !important;
}

body.home-page .cm-lake-contour {
  stroke: rgba(255,255,255,0.24) !important;
  stroke-width: 0.58 !important;
}

body.home-page .cm-lake-contour--shore {
  stroke: rgba(255,255,255,0.34) !important;
}

body.home-page .cm-road {
  stroke: rgba(125,103,73,0.22) !important;
  stroke-width: 0.62px !important;
}

body.home-page .cm-road--major {
  stroke: rgba(160,122,68,0.34) !important;
  stroke-width: 0.92px !important;
}

body.home-page .cm-road--secondary {
  stroke: rgba(98,92,82,0.13) !important;
}

body.home-page .cm-road.is-active {
  stroke: rgba(99,104,111,0.42) !important;
  stroke-width: 1.15px !important;
}

body.home-page .cm-svg__watermark {
  fill: rgba(17,29,51,0.34) !important;
  opacity: 1 !important;
}

body.home-page .cm-svg__watermark--ridge {
  fill: rgba(17,29,51,0.28) !important;
  font-size: 10px !important;
  letter-spacing: 0.52em !important;
}

body.home-page .cm-svg__watermark--water {
  fill: rgba(17,29,51,0.38) !important;
  font-size: 9px !important;
  letter-spacing: 0.44em !important;
}

body.home-page .cm-pin {
  opacity: 1 !important;
}

body.home-page .cm-pin__bracket {
  fill: rgba(17,29,51,0.54) !important;
  stroke: rgba(255,255,255,0.88) !important;
  stroke-width: 1.7 !important;
  r: 5.4 !important;
  filter: drop-shadow(0 4px 7px rgba(17,29,51,0.13)) !important;
}

body.home-page .cm-pin__halo {
  fill: rgba(127,133,139,0.11) !important;
  stroke: rgba(127,133,139,0.18) !important;
  opacity: 0.72 !important;
  r: 13 !important;
}

body.home-page .cm-pin__label {
  fill: rgba(17,29,51,0.82) !important;
  opacity: 1 !important;
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
  opacity: 0.74 !important;
}

body.home-page .cm-pin:hover .cm-pin__bracket,
body.home-page .cm-pin:focus-visible .cm-pin__bracket,
body.home-page .cm-pin.is-active .cm-pin__bracket {
  fill: #08182e !important;
  r: 7 !important;
}

body.home-page .cm-pin:hover .cm-pin__halo,
body.home-page .cm-pin:focus-visible .cm-pin__halo,
body.home-page .cm-pin.is-active .cm-pin__halo {
  fill: rgba(8,24,46,0.08) !important;
  stroke: rgba(8,24,46,0.13) !important;
  opacity: 1 !important;
  r: 20 !important;
}

body.home-page .cm-pin.is-active .cm-pin__label {
  fill: #07172d !important;
  font-weight: 800 !important;
}

body.home-page .cm-annotation-line {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  overflow: visible !important;
}

body.home-page .cm-annotation-line__stroke {
  fill: none !important;
  stroke: #c9c6c1 !important;
  stroke-width: 0.28 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
  transition: points 210ms ease, opacity 210ms ease !important;
}

body.home-page .cm-insight {
  position: relative !important;
  inset: auto !important;
  z-index: 6 !important;
  width: min(320px, 100%) !important;
  margin-top: clamp(30px, 4vw, 54px) !important;
  padding: clamp(20px, 2vw, 28px) !important;
  border: 1px solid rgba(132,113,88,0.18) !important;
  border-radius: 15px !important;
  background: rgba(249,246,240,0.84) !important;
  box-shadow: 0 24px 58px rgba(44,34,22,0.14), 0 1px 0 rgba(255,255,255,0.68) inset !important;
  backdrop-filter: blur(8px) saturate(1.02) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.02) !important;
  transition: opacity 190ms ease !important;
}

body.home-page .cm-insight.is-updating {
  opacity: 0 !important;
  transform: none !important;
}

body.home-page .cm-insight__prompt {
  margin: 0 0 12px !important;
  color: rgba(83,90,99,0.68) !important;
  font-size: var(--type-meta) !important;
  letter-spacing: 0.18em !important;
}

body.home-page .cm-insight__name {
  margin: 0 0 12px !important;
  color: #111d33 !important;
  font-family: var(--font-serif) !important;
  font-size: clamp(1.55rem, 1.8vw, 2rem) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
}

body.home-page .cm-insight__line {
  max-width: 24ch !important;
  margin: 0 !important;
  color: rgba(17,29,51,0.66) !important;
  font-size: clamp(0.88rem, 0.92vw, 0.96rem) !important;
  line-height: 1.52 !important;
}

body.home-page .cm-insight__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 18px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid rgba(99,104,111,0.42) !important;
  color: rgba(17,29,51,0.84) !important;
}

@media (max-width: 1100px) {
  body.home-page .cm-section {
    height: auto !important;
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }

  body.home-page .cm-inner {
    height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  body.home-page .cm-left {
    max-width: 680px !important;
  }

  body.home-page .cm-heading {
    margin-top: 28px !important;
  }

  body.home-page .cm-map-panel {
    width: 100% !important;
    height: clamp(500px, 68vw, 660px) !important;
    margin-right: 0 !important;
  }

  body.home-page .cm-annotation-line {
    display: none !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-section {
    padding: 58px 22px !important;
  }

  body.home-page .cm-heading {
    font-size: clamp(2.65rem, 11vw, 4rem) !important;
  }

  body.home-page .cm-map-panel {
    height: 420px !important;
    overflow: hidden !important;
  }

  body.home-page .cm-atlas-region {
    transform: translate(72px, 62px) scale(0.68) !important;
  }

  body.home-page .cm-pin__label {
    font-size: 8.5px !important;
    letter-spacing: 0.14em !important;
  }

  body.home-page .cm-insight {
    width: 100% !important;
    margin-top: 28px !important;
  }
}

/* Communities reference tuning: fit the editorial stack inside one viewport */
body.home-page .cm-left {
  justify-content: center !important;
  max-width: 450px !important;
}

body.home-page .cm-heading {
  margin: clamp(34px, 4.2vw, 58px) 0 clamp(20px, 2vw, 28px) !important;
  font-size: clamp(2.7rem, 3.55vw, 4rem) !important;
  line-height: 0.94 !important;
}

body.home-page .cm-copy {
  max-width: 29rem !important;
  font-size: clamp(0.96rem, 0.98vw, 1.02rem) !important;
  line-height: 1.62 !important;
}

body.home-page .cm-insight {
  width: min(320px, 100%) !important;
  margin-top: clamp(26px, 3vw, 38px) !important;
  padding: clamp(18px, 1.7vw, 22px) !important;
}

body.home-page .cm-insight__prompt {
  margin-bottom: 9px !important;
}

body.home-page .cm-insight__name {
  margin-bottom: 9px !important;
  font-size: clamp(1.38rem, 1.55vw, 1.72rem) !important;
}

body.home-page .cm-insight__line {
  max-width: 29ch !important;
  font-size: clamp(0.82rem, 0.86vw, 0.9rem) !important;
  line-height: 1.48 !important;
}

body.home-page .cm-insight__link {
  margin-top: 14px !important;
}

body.home-page .cm-map-panel {
  overflow: hidden !important;
}

body.home-page .cm-svg {
  display: block !important;
}

/* Communities: illustrated image map, neutral architectural palette */
body.home-page .cm-section {
  background:
    radial-gradient(ellipse at 50% 52%, transparent 58%, rgba(15, 22, 32, 0.03) 100%),
    linear-gradient(90deg, #eee9e1 0%, #f5f1ea 38%, #ede8df 100%) !important;
}

body.home-page .cm-section::before {
  background:
    linear-gradient(90deg, rgba(238, 233, 225, 0.74) 0%, rgba(238, 233, 225, 0.34) 30%, transparent 50%),
    radial-gradient(ellipse at 54% 52%, transparent 62%, rgba(14, 22, 34, 0.03) 100%) !important;
}

body.home-page .cm-eyebrow::before {
  background: rgba(92, 99, 108, 0.42) !important;
}

body.home-page .cm-map-panel {
  background-image: none !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  filter: contrast(1.03) brightness(1.01) saturate(0.95) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page .cm-map-panel::before {
  display: none !important;
}

body.home-page .cm-map-panel::after {
  background: radial-gradient(ellipse at center, transparent 66%, rgba(14, 22, 34, 0.03) 100%) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

body.home-page .cm-map-field,
body.home-page .cm-map-tone,
body.home-page .cm-map-grain,
body.home-page .cm-grid-field,
body.home-page .cm-contour,
body.home-page .cm-escarpment,
body.home-page .cm-lake,
body.home-page .cm-lake-line,
body.home-page .cm-lake-contour,
body.home-page .cm-road,
body.home-page .cm-svg__watermark,
body.home-page .cm-callout {
  display: none !important;
}

body.home-page .cm-svg {
  filter: none !important;
}

body.home-page .cm-pin {
  opacity: 0.82 !important;
  transition: opacity 180ms ease, transform 180ms ease !important;
}

body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
  opacity: 0.54 !important;
}

body.home-page .cm-pin__bracket {
  fill: #7f858b !important;
  stroke: rgba(248, 245, 239, 0.9) !important;
  stroke-width: 1.6 !important;
  r: 4.6 !important;
  filter: drop-shadow(0 3px 8px rgba(17, 29, 51, 0.12)) !important;
}

body.home-page .cm-pin__halo {
  fill: rgba(127, 133, 139, 0.11) !important;
  stroke: rgba(127, 133, 139, 0.18) !important;
  opacity: 0.72 !important;
  r: 10 !important;
  animation: none !important;
}

body.home-page .cm-pin__label {
  display: block !important;
  fill: rgba(17, 29, 51, 0.74) !important;
  opacity: 0.94 !important;
  font-family: var(--font-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

body.home-page .cm-pin:hover,
body.home-page .cm-pin:focus-visible,
body.home-page .cm-pin.is-active {
  opacity: 1 !important;
  transform: scale(1.015) !important;
}

body.home-page .cm-pin:hover .cm-pin__bracket,
body.home-page .cm-pin:focus-visible .cm-pin__bracket,
body.home-page .cm-pin.is-active .cm-pin__bracket {
  fill: #08182e !important;
  stroke: rgba(248, 245, 239, 0.98) !important;
  r: 6.8 !important;
}

body.home-page .cm-pin:hover .cm-pin__halo,
body.home-page .cm-pin:focus-visible .cm-pin__halo,
body.home-page .cm-pin.is-active .cm-pin__halo {
  fill: rgba(8, 24, 46, 0.08) !important;
  stroke: rgba(8, 24, 46, 0.13) !important;
  opacity: 1 !important;
  r: 15 !important;
  animation: none !important;
}

body.home-page .cm-pin:hover .cm-pin__label,
body.home-page .cm-pin:focus-visible .cm-pin__label,
body.home-page .cm-pin.is-active .cm-pin__label {
  fill: #08182e !important;
  opacity: 1 !important;
}

body.home-page .cm-annotation-line__stroke {
  stroke: #c9c6c1 !important;
  stroke-width: 1px !important;
  opacity: 0.72 !important;
}

body.home-page .cm-cta,
body.home-page .cm-insight__link {
  border-bottom-color: rgba(99, 104, 111, 0.42) !important;
  color: rgba(17, 29, 51, 0.78) !important;
}

body.home-page .cm-insight {
  border-color: rgba(95, 101, 110, 0.18) !important;
  background: rgba(248, 245, 239, 0.88) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 34, 0.1), 0 1px 0 rgba(255, 255, 255, 0.62) inset !important;
}

body.home-page .cm-insight__prompt {
  color: rgba(83, 90, 99, 0.68) !important;
}

body.home-page .cm-insight__name {
  color: #111d33 !important;
}

body.home-page .cm-insight__line {
  color: rgba(48, 55, 65, 0.7) !important;
}

/* Communities marker-stage polish: markers align to the rendered map image */
body.home-page .cm-map-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important;
  filter: none !important;
  overflow: visible !important;
}

body.home-page .cm-map-frame {
  position: relative !important;
  width: 100% !important;
  max-height: 100% !important;
  isolation: isolate !important;
  overflow: visible !important;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 72%, rgba(0,0,0,0.94) 84%, transparent 100%) !important;
  mask-image: radial-gradient(ellipse at center, #000 72%, rgba(0,0,0,0.94) 84%, transparent 100%) !important;
}

body.home-page .cm-map-stage {
  position: absolute !important;
  inset: 0 !important;
  isolation: isolate !important;
}

body.home-page .cm-map-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: contrast(1.04) brightness(1.01) saturate(0.96) !important;
  user-select: none !important;
  pointer-events: none !important;
}

body.home-page .cm-map-frame::after {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: -1px !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse at center, transparent 68%, rgba(245, 241, 234, 0.38) 88%, rgba(245, 241, 234, 0.76) 100%) !important;
}

body.home-page .cm-svg,
body.home-page .cm-annotation-line {
  display: none !important;
}

body.home-page .cm-map-marker {
  --marker-x: 50%;
  --marker-y: 50%;
  --label-x: 14px;
  --label-y: -50%;
  position: absolute !important;
  left: var(--marker-x) !important;
  top: var(--marker-y) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(17, 29, 51, 0.62) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.58rem, 0.68vw, 0.72rem) !important;
  font-weight: var(--weight-meta) !important;
  letter-spacing: 0.2em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  opacity: 0.82 !important;
  transform: translate(-50%, -50%) !important;
  transition: opacity 180ms ease, transform 180ms ease, color 180ms ease !important;
  white-space: nowrap !important;
}

body.home-page .cm-map-marker__dot {
  position: relative !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  flex: 0 0 9px !important;
  border: 1.5px solid rgba(248, 245, 239, 0.9) !important;
  border-radius: 999px !important;
  background: #85898c !important;
  box-shadow: 0 3px 9px rgba(17, 29, 51, 0.12) !important;
  transition: width 180ms ease, height 180ms ease, flex-basis 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}

body.home-page .cm-map-marker__dot::before {
  content: '' !important;
  position: absolute !important;
  inset: -7px !important;
  border: 1px solid rgba(127, 133, 139, 0.16) !important;
  border-radius: inherit !important;
  background: rgba(127, 133, 139, 0.08) !important;
}

body.home-page .cm-map-marker__label {
  position: absolute !important;
  left: var(--label-x) !important;
  top: var(--label-y) !important;
  display: block !important;
  text-shadow: 0 1px 10px rgba(248, 245, 239, 0.72) !important;
}

body.home-page .cm-section.has-active .cm-map-marker:not(.is-active) {
  opacity: 0.64 !important;
}

body.home-page .cm-map-marker:hover,
body.home-page .cm-map-marker:focus-visible,
body.home-page .cm-map-marker.is-active {
  color: #08182e !important;
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1.025) !important;
}

body.home-page .cm-map-marker:hover .cm-map-marker__dot,
body.home-page .cm-map-marker:focus-visible .cm-map-marker__dot,
body.home-page .cm-map-marker.is-active .cm-map-marker__dot {
  width: 12px !important;
  height: 12px !important;
  flex-basis: 12px !important;
  border-color: rgba(248, 245, 239, 0.98) !important;
  background: #08182e !important;
  box-shadow: 0 5px 14px rgba(8, 24, 46, 0.18) !important;
}

body.home-page .cm-map-marker.is-active .cm-map-marker__label {
  font-weight: 800 !important;
}

body.home-page .cm-left {
  justify-content: center !important;
}

body.home-page .cm-insight {
  margin-top: clamp(22px, 2.6vw, 34px) !important;
}

@media (max-width: 1100px) {
  body.home-page .cm-map-panel {
    overflow: hidden !important;
  }

  body.home-page .cm-map-frame {
    width: min(1180px, 128vw) !important;
    max-width: none !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-map-panel {
    height: 330px !important;
  }

  body.home-page .cm-map-frame {
    width: 720px !important;
    transform: translateX(-9%) !important;
  }

  body.home-page .cm-map-marker {
    font-size: 0.55rem !important;
    letter-spacing: 0.15em !important;
  }

  body.home-page .cm-map-marker:not(.is-active) .cm-map-marker__label {
    display: none !important;
  }
}

/* Communities final polish: right-bleed map stage */
body.home-page .cm-section {
  overflow: hidden !important;
}

body.home-page .cm-map-panel {
  justify-content: flex-start !important;
  width: calc(100% + 10vw) !important;
  margin-right: -10vw !important;
  overflow: visible !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

body.home-page .cm-map-frame {
  width: 112% !important;
  max-width: none !important;
  max-height: none !important;
  margin-right: -8vw !important;
  transform: none !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5.5%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, #000 5.5%, #000 100%) !important;
}

body.home-page .cm-map-stage {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: auto !important;
  min-width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1537 / 664 !important;
  transform: translateX(-60%) !important;
  transform-origin: center center !important;
}

body.home-page .cm-map-image {
  object-fit: fill !important;
  object-position: center center !important;
  filter: contrast(1.04) brightness(1.01) saturate(0.96) !important;
}

body.home-page .cm-map-frame::after {
  background:
    linear-gradient(90deg, rgba(245,241,234,0.72) 0%, rgba(245,241,234,0.22) 6%, transparent 14%, transparent 100%),
    radial-gradient(ellipse at center, transparent 76%, rgba(245,241,234,0.24) 100%) !important;
}

body.home-page .cm-map-marker {
  color: rgba(17, 29, 51, 0.52) !important;
  opacity: 0.74 !important;
}

body.home-page .cm-map-marker.is-active {
  color: #08182e !important;
  opacity: 1 !important;
}

@media (max-width: 1100px) {
  body.home-page .cm-map-panel {
    width: 100% !important;
    margin-right: 0 !important;
    overflow: hidden !important;
  }

  body.home-page .cm-map-frame {
    width: min(1180px, 128vw) !important;
    margin-right: 0 !important;
    transform: translateX(-3%) !important;
  }

  body.home-page .cm-map-stage {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-map-frame {
    width: 720px !important;
    transform: translateX(-37%) !important;
  }

  body.home-page .cm-map-stage {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* Communities: editorial atlas with quiet annotation panel */
@keyframes cm-hover-pulse {
  0%, 100% { opacity: 0.55; r: 13; }
  50% { opacity: 0.9; r: 16; }
}

body.home-page .cm-section {
  min-height: 0 !important;
  height: calc(100svh - var(--nav-height, 74px)) !important;
  padding-top: clamp(28px, 3.8vw, 48px) !important;
  padding-bottom: clamp(28px, 3.8vw, 48px) !important;
  display: flex !important;
  align-items: center !important;
}

body.home-page .cm-inner {
  width: 100% !important;
  max-width: 1320px !important;
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr) !important;
  gap: clamp(34px, 4.2vw, 62px) !important;
  align-items: center !important;
}

body.home-page .cm-left {
  max-width: 390px !important;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

body.home-page .cm-header {
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}

body.home-page .cm-heading {
  max-width: 7.6em !important;
  margin-bottom: clamp(14px, 1.7vw, 20px) !important;
  font-size: clamp(2.05rem, 3vw, 3.28rem) !important;
  line-height: 0.98 !important;
}

body.home-page .cm-copy {
  max-width: 24rem !important;
  font-size: clamp(0.94rem, 1vw, 1rem) !important;
  line-height: 1.68 !important;
}

body.home-page .cm-map-panel {
  --focus-x: 55%;
  --focus-y: 58%;
  width: 100% !important;
  height: clamp(500px, calc(100svh - var(--nav-height, 74px) - 112px), 640px) !important;
  min-height: 0 !important;
  justify-self: stretch !important;
  overflow: hidden !important;
}

body.home-page .cm-svg {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.home-page .cm-map-panel::after {
  background:
    radial-gradient(
      ellipse 180px 130px at var(--focus-x) var(--focus-y),
      rgba(255,255,255,0.34) 0%,
      rgba(240,230,215,0.12) 46%,
      transparent 82%
    ) !important;
  opacity: 0.68 !important;
}

body.home-page .cm-contour {
  stroke: rgba(55,50,42,0.055) !important;
  stroke-width: 0.42 !important;
}

body.home-page .cm-contour--fine {
  stroke: rgba(55,50,42,0.025) !important;
  stroke-width: 0.34 !important;
}

body.home-page .cm-contour--major {
  stroke: rgba(55,50,42,0.085) !important;
  stroke-width: 0.62 !important;
}

body.home-page .cm-escarpment {
  stroke: rgba(76,68,55,0.24) !important;
  stroke-width: 1.25px !important;
  opacity: 0.6 !important;
}

body.home-page .cm-road {
  stroke: rgba(11,22,38,0.035) !important;
  stroke-width: 0.42px !important;
}

body.home-page .cm-road--major {
  stroke: rgba(11,22,38,0.075) !important;
  stroke-width: 0.64px !important;
}

body.home-page .cm-road--secondary {
  stroke: rgba(11,22,38,0.028) !important;
}

body.home-page .cm-road.is-active {
  stroke: rgba(15,33,59,0.34) !important;
  stroke-width: 0.92px !important;
}

body.home-page .cm-pin {
  opacity: 0.72 !important;
  transition: opacity 190ms ease, transform 190ms ease !important;
}

body.home-page .cm-pin__bracket {
  fill: rgba(11,22,38,0.48) !important;
  stroke: rgba(250,248,244,0.72) !important;
  r: 4.6 !important;
  transition: fill 190ms ease, r 190ms ease !important;
}

body.home-page .cm-pin__halo {
  fill: rgba(127,133,139,0.11) !important;
  stroke: rgba(127,133,139,0.18) !important;
  opacity: 0.38 !important;
  r: 11 !important;
  transition: fill 190ms ease, stroke 190ms ease, opacity 190ms ease, r 190ms ease !important;
}

body.home-page .cm-pin__label {
  fill: rgba(11,22,38,0.58) !important;
  opacity: 0.86 !important;
}

body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
  opacity: 0.46 !important;
}

body.home-page .cm-pin:hover,
body.home-page .cm-pin:focus-visible,
body.home-page .cm-pin.is-active {
  opacity: 1 !important;
}

body.home-page .cm-pin:hover .cm-pin__bracket,
body.home-page .cm-pin:focus-visible .cm-pin__bracket,
body.home-page .cm-pin.is-active .cm-pin__bracket {
  fill: #10213b !important;
  r: 6.2 !important;
}

body.home-page .cm-pin:hover .cm-pin__halo,
body.home-page .cm-pin:focus-visible .cm-pin__halo {
  fill: rgba(8,24,46,0.08) !important;
  stroke: rgba(8,24,46,0.13) !important;
  animation: cm-hover-pulse 1.5s ease-in-out infinite !important;
}

body.home-page .cm-pin.is-active .cm-pin__halo {
  fill: rgba(8,24,46,0.08) !important;
  stroke: rgba(8,24,46,0.13) !important;
  opacity: 0.82 !important;
  r: 15 !important;
}

body.home-page .cm-pin:hover .cm-pin__label,
body.home-page .cm-pin:focus-visible .cm-pin__label,
body.home-page .cm-pin.is-active .cm-pin__label {
  fill: rgba(7,14,27,0.88) !important;
  opacity: 1 !important;
}

body.home-page .cm-annotation-line {
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

body.home-page .cm-annotation-line__stroke {
  stroke: rgba(11,22,38,0.36) !important;
  stroke-width: 0.22 !important;
  stroke-linecap: round !important;
  vector-effect: non-scaling-stroke !important;
  transition: x1 210ms ease, y1 210ms ease, opacity 210ms ease !important;
}

body.home-page .cm-insight {
  top: clamp(18px, 2vw, 26px) !important;
  bottom: auto !important;
  left: clamp(14px, 1.8vw, 22px) !important;
  width: min(320px, calc(100% - 36px)) !important;
  padding: clamp(18px, 2vw, 22px) !important;
  border: 1px solid rgba(11,22,38,0.10) !important;
  border-radius: 11px !important;
  background: rgba(248,245,239,0.88) !important;
  box-shadow: 0 14px 38px rgba(38,30,19,0.10), 0 1px 0 rgba(255,255,255,0.54) inset !important;
  backdrop-filter: blur(10px) saturate(1.02) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.02) !important;
  transition: opacity 190ms ease !important;
}

body.home-page .cm-insight.is-updating {
  opacity: 0 !important;
  transform: none !important;
}

body.home-page .cm-insight__prompt {
  margin-bottom: 8px !important;
  color: rgba(11,22,38,0.45) !important;
}

body.home-page .cm-insight__name {
  margin-bottom: 8px !important;
  font-size: clamp(1.35rem, 1.55vw, 1.62rem) !important;
  line-height: 1.05 !important;
}

body.home-page .cm-insight__line {
  color: rgba(11,22,38,0.64) !important;
  font-size: clamp(0.88rem, 0.92vw, 0.94rem) !important;
  line-height: 1.56 !important;
}

body.home-page .cm-insight__link {
  margin-top: 14px !important;
  color: rgba(11,22,38,0.66) !important;
}

@media (max-width: 960px) {
  body.home-page .cm-section {
    height: auto !important;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }

  body.home-page .cm-inner {
    grid-template-columns: 1fr !important;
  }

  body.home-page .cm-map-panel {
    height: clamp(500px, 72vw, 620px) !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-map-panel {
    height: auto !important;
  }

  body.home-page .cm-svg {
    height: auto !important;
    min-height: 400px !important;
  }

  body.home-page .cm-annotation-line {
    display: none !important;
  }

  body.home-page .cm-insight {
    top: auto !important;
    width: auto !important;
    margin: -20px 18px 0 !important;
    padding: 20px !important;
  }
}

/* Communities full-height right-bleed map field */
body.home-page .cm-section {
  position: relative !important;
  overflow: hidden !important;
}

body.home-page .cm-inner {
  position: static !important;
}

body.home-page .cm-left {
  position: relative !important;
  z-index: 3 !important;
}

body.home-page .cm-map-panel {
  position: absolute !important;
  top: 0 !important;
  right: -10vw !important;
  bottom: 0 !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 72vw !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

body.home-page .cm-map-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  transform: none !important;
  isolation: isolate !important;
  overflow: hidden !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 100%) !important;
}

body.home-page .cm-map-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 58% center !important;
  filter: contrast(1.04) brightness(1.01) saturate(0.96) !important;
}

body.home-page .cm-map-frame::after {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(245,241,234,0.82) 0%, rgba(245,241,234,0.36) 8%, transparent 18%, transparent 100%) !important;
}

body.home-page .cm-svg,
body.home-page .cm-annotation-line {
  display: none !important;
}

@media (max-width: 1100px) {
  body.home-page .cm-inner {
    position: relative !important;
  }

  body.home-page .cm-map-panel {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 330px !important;
    overflow: hidden !important;
  }

  body.home-page .cm-map-frame {
    width: 720px !important;
    max-width: none !important;
    transform: translateX(-3%) !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-map-frame {
    width: 720px !important;
    transform: translateX(-22%) !important;
  }
}

/* Local Expertise review pass: compact laptop rhythm + clean map split */
@media (min-width: 1101px) {
  body.home-page .cm-section {
    display: flex !important;
    height: calc(100svh - var(--nav-height, 74px)) !important;
    min-height: 620px !important;
    padding-top: clamp(20px, 3svh, 38px) !important;
    padding-bottom: clamp(20px, 3svh, 38px) !important;
    overflow: hidden !important;
    align-items: center !important;
  }

  body.home-page .cm-inner {
    width: 100% !important;
    max-width: min(1320px, calc(100% - clamp(48px, 7vw, 112px))) !important;
    grid-template-columns: minmax(320px, 0.32fr) minmax(0, 0.68fr) !important;
    gap: clamp(28px, 3vw, 48px) !important;
    align-items: center !important;
    position: static !important;
  }

  body.home-page .cm-left {
    max-width: 372px !important;
    padding: clamp(16px, 2.5svh, 30px) 0 !important;
    align-self: center !important;
    justify-content: center !important;
    z-index: 3 !important;
  }

  body.home-page .cm-left::after {
    display: none !important;
  }

  body.home-page .cm-header {
    margin-bottom: clamp(8px, 1.4svh, 14px) !important;
  }

  body.home-page .cm-heading {
    margin-top: clamp(16px, 2.4svh, 30px) !important;
    margin-bottom: clamp(10px, 1.5svh, 16px) !important;
  }

  body.home-page .cm-copy {
    max-width: 23rem !important;
    line-height: 1.62 !important;
  }

  body.home-page .cm-insight {
    width: min(292px, 100%) !important;
    margin-top: clamp(22px, 3.2svh, 34px) !important;
  }

  body.home-page .cm-insight__prompt {
    margin-bottom: 6px !important;
  }

  body.home-page .cm-tabs {
    margin: clamp(8px, 1.3svh, 12px) 0 clamp(8px, 1.3svh, 12px) !important;
  }

  body.home-page .cm-insight__name {
    margin-bottom: 6px !important;
  }

  body.home-page .cm-insight__line {
    line-height: 1.46 !important;
  }

  body.home-page .cm-insight__link {
    margin-top: clamp(10px, 1.7svh, 14px) !important;
  }

  body.home-page .cm-map-panel {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: clamp(500px, 41vw, 1050px) !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.home-page .cm-map-frame {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 100%) !important;
    mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 100%) !important;
  }

  body.home-page .cm-map-frame::after {
    background: linear-gradient(90deg, rgba(237,232,223,0.24) 0%, rgba(237,232,223,0.10) 3.5%, transparent 8%, transparent 100%) !important;
  }
}

@media (min-width: 1101px) and (max-height: 820px) {
  body.home-page .cm-section {
    padding-top: clamp(16px, 2svh, 24px) !important;
    padding-bottom: clamp(16px, 2svh, 24px) !important;
  }

  body.home-page .cm-heading {
    margin-top: 14px !important;
    margin-bottom: 10px !important;
  }

  body.home-page .cm-copy {
    line-height: 1.55 !important;
  }

  body.home-page .cm-insight {
    margin-top: 20px !important;
  }

  body.home-page .cm-tabs {
    margin: 7px 0 8px !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 10px !important;
  }
}

@media (max-width: 1100px) {
  body.home-page .cm-section {
    height: auto !important;
    overflow: visible !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 14px !important;
  }
}

/* Local Expertise correction: true editorial split-screen */
@media (min-width: 1101px) {
  body.home-page .cm-section {
    display: block !important;
    height: calc(100vh - var(--nav-height, 74px)) !important;
    min-height: 660px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #ede8df !important;
  }

  body.home-page .cm-inner {
    display: grid !important;
    grid-template-columns: minmax(460px, 38%) minmax(0, 62%) !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    gap: 0 !important;
    align-items: stretch !important;
    position: relative !important;
  }

  body.home-page .cm-left {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: clamp(42px, 6vh, 76px) clamp(28px, 3.4vw, 64px) clamp(42px, 6vh, 76px) clamp(64px, 7vw, 132px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: stretch !important;
    overflow: visible !important;
    z-index: 3 !important;
  }

  body.home-page .cm-left::after,
  body.home-page .cm-section::after {
    display: none !important;
  }

  body.home-page .cm-header,
  body.home-page .cm-insight,
  body.home-page .cm-eyebrow,
  body.home-page .cm-heading,
  body.home-page .cm-copy {
    max-width: min(500px, 100%) !important;
  }

  body.home-page .cm-header {
    margin-bottom: 0 !important;
  }

  body.home-page .cm-eyebrow {
    margin-bottom: 0 !important;
  }

  body.home-page .cm-heading {
    max-width: 500px !important;
    margin-top: clamp(22px, 3.2vh, 40px) !important;
    margin-bottom: clamp(16px, 2.1vh, 24px) !important;
    font-size: clamp(3rem, 3.65vw, 4.3rem) !important;
    line-height: 0.96 !important;
  }

  body.home-page .cm-heading em {
    display: block !important;
    white-space: nowrap !important;
  }

  body.home-page .cm-copy {
    max-width: 470px !important;
    line-height: 1.68 !important;
  }

  body.home-page .cm-insight {
    width: min(420px, 100%) !important;
    margin-top: clamp(30px, 4.2vh, 48px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.home-page .cm-insight__prompt {
    margin-bottom: 9px !important;
  }

  body.home-page .cm-tabs {
    margin: clamp(12px, 1.6vh, 16px) 0 clamp(12px, 1.6vh, 16px) !important;
  }

  body.home-page .cm-insight__name {
    margin-bottom: 8px !important;
  }

  body.home-page .cm-insight__line {
    max-width: 31ch !important;
    line-height: 1.52 !important;
  }

  body.home-page .cm-insight__link {
    margin-top: clamp(14px, 2vh, 20px) !important;
  }

  body.home-page .cm-map-panel {
    position: relative !important;
    inset: auto !important;
    grid-column: 2 !important;
    --cm-map-bleed: clamp(96px, 7vw, 220px);
    width: calc(100% + var(--cm-map-bleed)) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 calc(-1 * var(--cm-map-bleed)) 0 0 !important;
    overflow: hidden !important;
    align-self: stretch !important;
  }

  body.home-page .cm-map-frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%) !important;
    mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%) !important;
  }

  body.home-page .cm-map-frame::after {
    background: linear-gradient(90deg, rgba(237,232,223,0.14) 0, rgba(237,232,223,0.04) 40px, transparent 72px, transparent 100%) !important;
  }

  body.home-page .cm-map-image {
    object-fit: cover !important;
    object-position: 61% center !important;
    transform: none !important;
    transform-origin: center center !important;
  }
}

@media (min-width: 1101px) and (max-height: 780px) {
  body.home-page .cm-section {
    min-height: 620px !important;
  }

  body.home-page .cm-left {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.home-page .cm-heading {
    margin-top: 18px !important;
    margin-bottom: 14px !important;
    font-size: clamp(2.72rem, 3.35vw, 3.85rem) !important;
  }

  body.home-page .cm-copy {
    line-height: 1.56 !important;
  }

  body.home-page .cm-insight {
    margin-top: 24px !important;
  }

  body.home-page .cm-tabs {
    margin: 10px 0 10px !important;
  }

  body.home-page .cm-insight__line {
    line-height: 1.44 !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 12px !important;
  }
}

@media (min-width: 1101px) and (max-width: 1320px) {
  body.home-page .cm-inner {
    grid-template-columns: minmax(500px, 40%) minmax(0, 60%) !important;
  }

  body.home-page .cm-left {
    padding-left: clamp(56px, 6vw, 84px) !important;
    padding-right: clamp(28px, 3vw, 44px) !important;
  }
}

/* Local Expertise perspective nav refinement */
body.home-page .cm-insight__prompt {
  margin: 0 0 clamp(12px, 1.7vh, 18px) !important;
  color: rgba(17, 29, 51, 0.62) !important;
  font-size: clamp(0.62rem, 0.62vw, 0.72rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.19em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

body.home-page .cm-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 10px !important;
  width: min(390px, 100%) !important;
  margin: 0 0 clamp(18px, 2.3vh, 24px) !important;
  padding: 6px !important;
  border: 1px solid rgba(17, 29, 51, 0.075) !important;
  background: rgba(255, 252, 246, 0.28) !important;
}

body.home-page .cm-tab {
  position: relative !important;
  min-height: 34px !important;
  padding: 9px 12px 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(17, 29, 51, 0.52) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.62rem, 0.62vw, 0.7rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.15 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease !important;
}

body.home-page .cm-tab::after {
  content: '' !important;
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 5px !important;
  height: 1px !important;
  background: rgba(17, 29, 51, 0.28) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 180ms ease, background-color 180ms ease !important;
}

body.home-page .cm-tab.is-active {
  background: rgba(17, 29, 51, 0.055) !important;
  color: rgba(17, 29, 51, 0.9) !important;
}

body.home-page .cm-tab.is-active::after {
  transform: scaleX(1) !important;
  background: rgba(17, 29, 51, 0.42) !important;
}

body.home-page .cm-tab:hover {
  background: rgba(17, 29, 51, 0.035) !important;
  color: rgba(17, 29, 51, 0.76) !important;
}

body.home-page .cm-tab:focus-visible {
  outline: 1px solid rgba(17, 29, 51, 0.22) !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

body.home-page .cm-insight__panel {
  padding-top: clamp(2px, 0.45vh, 6px) !important;
}

body.home-page .cm-insight__name {
  margin-bottom: 10px !important;
}

body.home-page .cm-insight__line {
  max-width: 34ch !important;
  line-height: 1.56 !important;
}

body.home-page .cm-insight__link {
  margin-top: clamp(16px, 2vh, 22px) !important;
}

@media (min-width: 1101px) and (max-height: 780px) {
  body.home-page .cm-insight__prompt {
    margin-bottom: 10px !important;
  }

  body.home-page .cm-tabs {
    gap: 6px 8px !important;
    margin-bottom: 14px !important;
    padding: 5px !important;
  }

  body.home-page .cm-tab {
    min-height: 31px !important;
    padding-top: 8px !important;
    padding-bottom: 7px !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 12px !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-tabs {
    gap: 7px !important;
    padding: 5px !important;
  }

  body.home-page .cm-tab {
    min-height: 36px !important;
    padding: 9px 8px 8px !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.12em !important;
  }
}

/* Local Perspective: elite editorial navigation treatment */
body.home-page .cm-insight {
  position: relative !important;
}

body.home-page .cm-insight::before {
  content: '' !important;
  display: block !important;
  width: 54px !important;
  height: 1px !important;
  margin: 0 0 clamp(16px, 2vh, 22px) !important;
  background: rgba(125, 112, 88, 0.34) !important;
}

body.home-page .cm-insight__prompt {
  margin: 0 0 clamp(15px, 2vh, 22px) !important;
  color: rgba(17, 29, 51, 0.72) !important;
  font-size: clamp(0.66rem, 0.66vw, 0.76rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.165em !important;
}

body.home-page .cm-tabs {
  width: min(420px, 100%) !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.45vh, 16px) clamp(26px, 2.6vw, 42px) !important;
  margin: 0 0 clamp(22px, 2.8vh, 32px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home-page .cm-tab {
  min-height: 38px !important;
  padding: 0 0 9px !important;
  display: inline-flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  background: transparent !important;
  color: rgba(17, 29, 51, 0.56) !important;
  font-size: clamp(0.68rem, 0.68vw, 0.78rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.115em !important;
  line-height: 1.15 !important;
}

body.home-page .cm-tab::after {
  left: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  width: min(100%, 128px) !important;
  height: 1px !important;
  background: rgba(125, 112, 88, 0.54) !important;
  transform: scaleX(0) !important;
}

body.home-page .cm-tab.is-active {
  background: transparent !important;
  color: rgba(17, 29, 51, 0.95) !important;
}

body.home-page .cm-tab.is-active::after {
  transform: scaleX(1) !important;
  background: rgba(125, 112, 88, 0.64) !important;
}

body.home-page .cm-tab:hover {
  background: transparent !important;
  color: rgba(17, 29, 51, 0.82) !important;
}

body.home-page .cm-insight__panel {
  position: relative !important;
  padding-top: clamp(20px, 2.6vh, 30px) !important;
}

body.home-page .cm-insight__panel::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: min(100%, 340px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(125,112,88,0.28), rgba(125,112,88,0.08) 72%, transparent) !important;
}

body.home-page .cm-insight__name {
  margin-bottom: 10px !important;
  font-size: clamp(1.32rem, 1.46vw, 1.72rem) !important;
  line-height: 1.06 !important;
}

body.home-page .cm-insight__line {
  max-width: 36ch !important;
  color: rgba(40, 50, 67, 0.74) !important;
  line-height: 1.6 !important;
}

body.home-page .cm-insight__link {
  margin-top: clamp(18px, 2.4vh, 26px) !important;
}

@media (min-width: 1101px) and (max-height: 780px) {
  body.home-page .cm-insight::before {
    margin-bottom: 13px !important;
  }

  body.home-page .cm-insight__prompt {
    margin-bottom: 12px !important;
  }

  body.home-page .cm-tabs {
    gap: 9px 28px !important;
    margin-bottom: 18px !important;
  }

  body.home-page .cm-tab {
    min-height: 32px !important;
    padding-bottom: 7px !important;
  }

  body.home-page .cm-insight__panel {
    padding-top: 17px !important;
  }

  body.home-page .cm-insight__line {
    line-height: 1.48 !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 14px !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-insight::before {
    margin-bottom: 14px !important;
  }

  body.home-page .cm-tabs {
    gap: 10px 20px !important;
    margin-bottom: 22px !important;
  }

  body.home-page .cm-tab {
    min-height: 38px !important;
    padding: 0 0 9px !important;
    font-size: 0.64rem !important;
    letter-spacing: 0.105em !important;
  }
}

/* Local Perspective: restraint pass */
body.home-page .cm-insight::before,
body.home-page .cm-insight__panel::before,
body.home-page .cm-tab::after {
  display: none !important;
}

body.home-page .cm-insight__prompt {
  margin: 0 0 clamp(14px, 1.8vh, 20px) !important;
  color: rgba(17, 29, 51, 0.66) !important;
  font-size: clamp(0.65rem, 0.64vw, 0.74rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
}

body.home-page .cm-tabs {
  width: min(390px, 100%) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(11px, 1.35vh, 15px) clamp(30px, 3vw, 48px) !important;
  margin: 0 0 clamp(24px, 3vh, 34px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.home-page .cm-tab {
  min-height: 30px !important;
  padding: 0 !important;
  align-items: flex-start !important;
  background: transparent !important;
  color: rgba(17, 29, 51, 0.52) !important;
  font-size: clamp(0.66rem, 0.66vw, 0.76rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0.105em !important;
  transition: color 180ms ease, opacity 180ms ease !important;
}

body.home-page .cm-tab.is-active {
  color: rgba(17, 29, 51, 0.9) !important;
  font-weight: 750 !important;
  background: transparent !important;
}

body.home-page .cm-tab:hover {
  color: rgba(17, 29, 51, 0.72) !important;
  background: transparent !important;
}

body.home-page .cm-insight__panel {
  padding-top: 0 !important;
}

body.home-page .cm-insight__name {
  margin-bottom: 9px !important;
  font-size: clamp(1.34rem, 1.42vw, 1.66rem) !important;
  line-height: 1.08 !important;
}

body.home-page .cm-insight__line {
  max-width: 35ch !important;
  line-height: 1.58 !important;
}

body.home-page .cm-insight__link {
  margin-top: clamp(18px, 2.2vh, 24px) !important;
}

@media (min-width: 1101px) and (max-height: 780px) {
  body.home-page .cm-insight__prompt {
    margin-bottom: 11px !important;
  }

  body.home-page .cm-tabs {
    gap: 8px 30px !important;
    margin-bottom: 17px !important;
  }

  body.home-page .cm-tab {
    min-height: 26px !important;
  }

  body.home-page .cm-insight__line {
    line-height: 1.48 !important;
  }

  body.home-page .cm-insight__link {
    margin-top: 13px !important;
  }
}

@media (max-width: 620px) {
  body.home-page .cm-tabs {
    gap: 10px 22px !important;
    margin-bottom: 24px !important;
  }

  body.home-page .cm-tab {
    min-height: 32px !important;
    font-size: 0.63rem !important;
  }
}

   (was first <style> block in index.html, lines 15–4717)
   ───────────────────────────────────────────────────────────── */

    /* ── Hero cinematic blur pass ── */

    /*
      Remove the uniform blur from .hero__left itself — it creates a hard
      vertical "blur wall" at the right edge of the element.
      The ::before pseudo-element handles blur with a mask fade instead.
    */
    body.home-page .hero__left {
      position: relative !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      /* Reduce left-edge opacity so the blurred photo is atmospherically
         visible through the dark gradient, not completely masked */
      background: linear-gradient(
        108deg,
        rgba(5,9,15,0.56) 0%,
        rgba(5,9,15,0.44) 28%,
        rgba(5,9,15,0.20) 58%,
        rgba(5,9,15,0.03) 80%,
        transparent 100%
      ) !important;
    }

    /*
      Cinematic blur layer: fades left (solid blur) → right (sharp image).
      z-index: -1 paints behind in-flow content but above the gradient bg.
      display: block overrides the display:none set in styles.css.
    */
    body.home-page .hero__left::before {
      display: block !important;
      content: '' !important;
      position: absolute !important;
      inset: 0 !important;
      z-index: -1 !important;
      backdrop-filter: blur(4px) !important;
      -webkit-backdrop-filter: blur(4px) !important;
      mask-image: linear-gradient(
        to right,
        black 0%,
        black 40%,
        rgba(0,0,0,0.42) 62%,
        transparent 88%
      ) !important;
      -webkit-mask-image: linear-gradient(
        to right,
        black 0%,
        black 40%,
        rgba(0,0,0,0.42) 62%,
        transparent 88%
      ) !important;
      pointer-events: none !important;
    }

    /* Eyebrow */
    body.home-page .hero__h1-location {
      font-size: var(--eyebrow-size) !important;
      letter-spacing: var(--eyebrow-tracking) !important;
      color: rgba(218,207,187,0.48) !important;
      border-bottom-color: rgba(218,207,187,0.11) !important;
      padding-bottom: 12px !important;
      margin-bottom: 22px !important;
    }

    /* Headline */
    body.home-page .hero__h1-line,
    body.home-page .hero__h1-em {
      display: block !important;
      font-size: clamp(3.3rem, 4.0vw, 4.75rem) !important;
      line-height: 1.0 !important;
    }
    body.home-page .hero__h1-line {
      letter-spacing: -0.022em !important;
      color: rgba(250,246,237,0.92) !important;
    }
    body.home-page .hero__h1-em {
      letter-spacing: -0.018em !important;
      color: rgba(218,207,187,0.78) !important;
      margin-top: 0.06em !important;
    }

    /* Body copy — advisory, not biographical */
    body.home-page .hero__sub {
      font-size: clamp(0.93rem, 0.88vw, 1.04rem) !important;
      font-weight: 300 !important;
      color: rgba(250,246,237,0.62) !important;
      line-height: 1.78 !important;
      margin-top: clamp(20px, 2.4vh, 28px) !important;
      margin-bottom: 0 !important;
      max-width: 460px !important;
    }

    /* Trust row */
    body.home-page .hero__trust {
      display: flex !important;
      align-items: flex-start !important;
      border-top: 0 !important;
      border-bottom: none !important;
      padding: 0 !important;
      margin-top: 20px !important;
      margin-bottom: 0 !important;
      max-width: 540px !important;
      gap: 0 !important;
    }
    body.home-page .hero__trust-item {
      flex: 1 1 0 !important;
      min-width: 0 !important;
      padding-right: clamp(16px, 2vw, 28px) !important;
      padding-left: 0 !important;
    }
    body.home-page .hero__trust-item:not(:first-child) {
      padding-left: clamp(16px, 2vw, 28px) !important;
      border-left: 1px solid rgba(218,207,187,0.14) !important;
    }
    body.home-page .hero__trust-value {
      font-family: var(--font-serif) !important;
      font-size: clamp(17px, 1.25vw, 19px) !important;
      font-weight: 400 !important;
      color: rgba(250,246,237,0.78) !important;
      letter-spacing: 0 !important;
      line-height: 1.08 !important;
      white-space: nowrap !important;
    }
    body.home-page .hero__trust-label {
      font-size: 11px !important;
      font-weight: 300 !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      color: rgba(218,207,187,0.46) !important;
      margin-top: 8px !important;
      line-height: 1.5 !important;
      max-width: 9.5rem !important;
      overflow-wrap: normal !important;
    }

    /* Editorial CTA links */
    body.home-page .hero__ctas {
      margin-top: clamp(38px, 4.3vh, 52px) !important;
      gap: 44px !important;
      align-items: baseline !important;
    }
    body.home-page .hero__cta-link {
      display: inline-flex !important;
      align-items: center !important;
      gap: 9px !important;
      font-family: var(--font-sans) !important;
      font-size: var(--cta-size) !important;
      font-weight: 500 !important;
      letter-spacing: var(--tracking-action) !important;
      text-transform: none !important;
      text-decoration: none !important;
      position: relative !important;
      padding-bottom: 4px !important;
      transition: color 0.24s ease !important;
    }
    body.home-page .hero__cta-link::after {
      content: '' !important;
      position: absolute !important;
      bottom: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 1px !important;
      background: currentColor !important;
      transform: scaleX(0) !important;
      transform-origin: left !important;
      transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    body.home-page .hero__cta-link:hover::after {
      transform: scaleX(1) !important;
    }
    body.home-page .hero__cta-arrow {
      display: inline-block !important;
      transition: transform 0.24s ease !important;
    }
    body.home-page .hero__cta-link:hover .hero__cta-arrow {
      transform: translateX(6px) !important;
    }
    body.home-page .hero__cta-link--primary {
      color: rgba(250,246,237,0.97) !important;
      font-size: clamp(12px, 1.05vw, 13px) !important;
      font-weight: 600 !important;
      letter-spacing: 0.10em !important;
    }
    body.home-page .hero__cta-link--primary:hover {
      color: rgba(255,252,244,1) !important;
    }
    body.home-page .hero__cta-link--secondary {
      color: rgba(238,235,228,0.66) !important;
      font-weight: 500 !important;
    }
    body.home-page .hero__cta-link--secondary:hover {
      color: rgba(250,246,237,0.88) !important;
    }

    /* Slideshow progress indicator */
    body.home-page .hero__progress {
      position: absolute !important;
      bottom: clamp(26px, 3.8vw, 46px) !important;
      right: clamp(26px, 3.8vw, 52px) !important;
      display: flex !important;
      gap: 5px !important;
      z-index: 10 !important;
      align-items: center !important;
    }
    body.home-page .hero__progress-track {
      display: block !important;
      width: 26px !important;
      height: 1.5px !important;
      background: rgba(255,255,255,0.14) !important;
      position: relative !important;
      overflow: hidden !important;
    }
    body.home-page .hero__progress-fill {
      display: block !important;
      position: absolute !important;
      inset: 0 !important;
      background: rgba(250,246,237,0.68) !important;
      transform: scaleX(0) !important;
      transform-origin: left !important;
    }

    /* Desktop: raise content group by ~48px */
    @media (min-width: 901px) {
      body.home-page .hero__left {
        padding-top: clamp(60px, 7.5vh, 96px) !important;
      }
    }

    /* Location label — editorial photo caption */
    body.home-page .hero__location-label {
      border-left-color: rgba(218,207,187,0.24) !important;
      padding: 0 0 0 11px !important;
      gap: 4px !important;
    }
    body.home-page .hero__location-kicker {
      font-family: var(--font-serif) !important;
      font-style: italic !important;
      font-weight: 400 !important;
      font-size: 9px !important;
      letter-spacing: 0.03em !important;
      text-transform: none !important;
      color: rgba(218,207,187,0.38) !important;
    }
    body.home-page .hero__location-name {
      font-size: clamp(0.92rem, 1.2vw, 1.22rem) !important;
      font-weight: 400 !important;
      color: rgba(250,246,237,0.76) !important;
    }

    /* Mobile */
    @media (max-width: 900px) {
      body.home-page .hero__h1-line,
      body.home-page .hero__h1-em { font-size: clamp(2.8rem, 8vw, 3.6rem) !important; }
      body.home-page .hero__sub { max-width: none !important; }
      body.home-page .hero__trust {
        max-width: none !important;
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
      }
      /* Blur fades across full width on tablet — image visible on right */
      body.home-page .hero__left::before {
        mask-image: linear-gradient(
          to right,
          black 0%,
          black 38%,
          rgba(0,0,0,0.45) 62%,
          transparent 92%
        ) !important;
        -webkit-mask-image: linear-gradient(
          to right,
          black 0%,
          black 38%,
          rgba(0,0,0,0.45) 62%,
          transparent 92%
        ) !important;
      }
    }
    @media (max-width: 600px) {
      body.home-page .hero__h1-line,
      body.home-page .hero__h1-em {
        font-size: clamp(2.4rem, 9.5vw, 3.0rem) !important;
        line-height: 1.04 !important;
        letter-spacing: -0.018em !important;
        white-space: normal !important;
      }
      body.home-page .hero__sub {
        font-size: clamp(0.93rem, 3.8vw, 1.05rem) !important;
        color: rgba(250,246,237,0.68) !important;
      }
      body.home-page .hero__ctas {
        gap: 32px !important;
        flex-direction: row !important;
        align-items: baseline !important;
        flex-wrap: wrap !important;
      }
      body.home-page .hero__cta-link {
        font-size: 12px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        min-height: 44px !important;
        align-items: center !important;
      }
      body.home-page .hero__progress { display: none !important; }
      body.home-page .hero__trust {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
      }
      body.home-page .hero__trust-item {
        display: grid !important;
        grid-template-columns: minmax(128px, max-content) 1fr !important;
        column-gap: 20px !important;
        align-items: baseline !important;
        min-height: 42px !important;
        padding: 14px 0 !important;
      }
      body.home-page .hero__trust-item:first-child {
        padding-top: 0 !important;
      }
      body.home-page .hero__trust-item:not(:first-child) {
        padding-left: 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(218,207,187,0.12) !important;
      }
      body.home-page .hero__trust-item:last-child { grid-column: auto !important; }
      body.home-page .hero__trust-value {
        font-size: 16px !important;
        line-height: 1.15 !important;
      }
      body.home-page .hero__trust-label {
        font-size: 10px !important;
        max-width: none !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        letter-spacing: 0 !important;
        line-height: 1.42 !important;
        margin-top: 0 !important;
      }
      /* Full blur across stacked layout on mobile — no visible fade edge needed */
      body.home-page .hero__left::before {
        mask-image: linear-gradient(
          to bottom,
          black 0%,
          black 72%,
          rgba(0,0,0,0.4) 88%,
          transparent 100%
        ) !important;
        -webkit-mask-image: linear-gradient(
          to bottom,
          black 0%,
          black 72%,
          rgba(0,0,0,0.4) 88%,
          transparent 100%
        ) !important;
      }
    }

    /* Homepage design-system normalization */
    body.home-page .editorial-eyebrow,
    body.home-page .section-eyebrow,
    body.home-page .meet-team__eyebrow,
    body.home-page .meet-editorial .meet-team__eyebrow,
    body.home-page .cm-eyebrow,
    body.home-page .cs-eyebrow,
    body.home-page .hero__h1-location {
      font-family: var(--font-sans) !important;
      font-size: var(--type-meta) !important;
      font-weight: var(--weight-eyebrow) !important;
      letter-spacing: var(--tracking-eyebrow) !important;
      line-height: var(--leading-meta) !important;
      text-transform: uppercase !important;
    }

    body.home-page .hero__h1-location,
    body.home-page .sp-header .section-eyebrow,
    body.home-page .cs-eyebrow {
      color: var(--text-dark-muted) !important;
    }

    body.home-page .meet-editorial .meet-team__eyebrow,
    body.home-page .cm-eyebrow {
      color: var(--text-light-muted) !important;
    }

    body.home-page .cm-eyebrow::before,
    body.home-page .meet-editorial .meet-team__eyebrow::before {
      background: rgba(180,148,72,0.48) !important;
    }

    body.home-page .sp-card__status,
    body.home-page .sp-card__location,
    body.home-page .sp-card__specs,
    body.home-page .cm-focus__prompt,
    body.home-page .cm-focus__observed,
    body.home-page .cm-svg__watermark,
    body.home-page .cm-callout__tag,
    body.home-page .cs-story__num,
    body.home-page .cs-story__tag,
    body.home-page .cs-story__role,
    body.home-page .footer__col-title {
      font-family: var(--font-sans) !important;
      font-size: var(--type-meta) !important;
      font-weight: var(--weight-meta) !important;
      letter-spacing: var(--tracking-meta) !important;
      line-height: var(--leading-meta) !important;
      text-transform: uppercase !important;
    }

    body.home-page .nav__link,
    body.home-page .nav.nav--scrolled .nav__link {
      font-size: var(--type-meta) !important;
      font-weight: var(--weight-eyebrow) !important;
      letter-spacing: var(--tracking-eyebrow) !important;
      color: var(--text-dark-muted) !important;
    }

    body.home-page .hero__h1,
    body.home-page .meet-team__heading,
    body.home-page .meet-editorial .meet-team__heading,
    body.home-page .sp-heading,
    body.home-page .cm-heading,
    body.home-page .cs-section-title,
    body.home-page .cta-band__heading {
      font-family: var(--font-serif) !important;
      font-weight: var(--weight-heading) !important;
      line-height: var(--leading-heading) !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
    }

    body.home-page .hero__h1-line,
    body.home-page .hero__h1-em {
      font-size: var(--type-display) !important;
      line-height: var(--leading-display) !important;
    }

    body.home-page .hero__h1-line {
      display: block !important;
      line-height: 0.93 !important;
    }

    body.home-page .hero__h1-em {
      display: block !important;
      margin-top: -0.06em !important;
      font-size: clamp(2.55rem, 3.75vw, 4.4rem) !important;
      line-height: 0.96 !important;
      white-space: nowrap !important;
    }

    body.home-page .meet-team__heading,
    body.home-page .meet-editorial .meet-team__heading,
    body.home-page .sp-heading,
    body.home-page .cm-heading,
    body.home-page .cs-section-title,
    body.home-page .cta-band__heading {
      font-size: var(--type-h2) !important;
    }

    body.home-page .cm-heading {
      max-width: 8.9em !important;
    }

    body.home-page .hero__h1-line,
    body.home-page .sp-heading,
    body.home-page .cs-section-title {
      color: var(--text-inverse) !important;
    }

    body.home-page .meet-team__heading,
    body.home-page .cm-heading,
    body.home-page .cta-band__heading {
      color: var(--text-primary) !important;
    }

    body.home-page .hero__h1-em,
    body.home-page .sp-heading em {
      color: rgba(218,207,187,0.66) !important;
    }

    body.home-page .meet-team__heading em,
    body.home-page .cm-heading em {
      color: rgba(11,22,38,0.58) !important;
    }

    body.home-page .hero__h1-em,
    body.home-page .meet-team__heading em,
    body.home-page .meet-editorial .meet-team__heading em,
    body.home-page .sp-heading em,
    body.home-page .cm-heading em {
      font-style: italic !important;
      font-weight: 400 !important;
    }

    body.home-page .hero__sub,
    body.home-page .meet-team__body,
    body.home-page .meet-editorial .meet-team__body,
    body.home-page .sp-card__teaser,
    body.home-page .cm-copy,
    body.home-page .cs-story__body,
    body.home-page .cta-band__sub,
    body.home-page .footer__tagline {
      font-family: var(--font-sans) !important;
      font-size: var(--type-body) !important;
      font-weight: var(--weight-body) !important;
      line-height: var(--leading-body) !important;
      font-style: normal !important;
      max-width: 58ch !important;
    }

    body.home-page .hero__sub,
    body.home-page .sp-card__teaser,
    body.home-page .cs-story__body,
    body.home-page .footer__tagline {
      color: var(--text-inverse-secondary) !important;
    }

    body.home-page .meet-team__body,
    body.home-page .meet-editorial .meet-team__body,
    body.home-page .cm-copy,
    body.home-page .cta-band__sub {
      color: var(--text-secondary) !important;
    }

    body.home-page .meet-editorial .meet-team__body {
      max-width: 54ch !important;
      line-height: 1.78 !important;
      margin: 0 !important;
    }

    body.home-page .meet-editorial .meet-team__body + .meet-team__body {
      margin-top: var(--space-4) !important;
    }

    body.home-page .cm-focus__name,
    body.home-page .sp-card__address,
    body.home-page .sp-card__price,
    body.home-page .cs-story__pull,
    body.home-page .cs-feat-headline {
      font-family: var(--font-serif) !important;
      font-weight: var(--weight-heading) !important;
      line-height: var(--leading-h3) !important;
      letter-spacing: 0 !important;
    }

    body.home-page .cm-focus__name,
    body.home-page .sp-card__address {
      font-size: var(--type-h3) !important;
    }

    body.home-page .cm-focus__line,
    body.home-page .cm-focus__known,
    body.home-page .cm-map-caption,
    body.home-page .footer__legal {
      font-family: var(--font-sans) !important;
      font-size: var(--type-small-body) !important;
      line-height: var(--leading-small) !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
    }

    body.home-page .sp-card__location,
    body.home-page .sp-card__specs,
    body.home-page .cs-story__tag,
    body.home-page .cs-story__role,
    body.home-page .footer__legal {
      color: var(--text-inverse-muted) !important;
    }

    body.home-page .sp-card__status {
      font-size: var(--type-caption) !important;
      font-weight: 500 !important;
      letter-spacing: 0.045em !important;
      text-transform: none !important;
      color: rgba(250,248,244,0.78) !important;
      background: rgba(4,7,12,0.34) !important;
    }

    body.home-page .sp-card__location {
      font-size: var(--type-small-body) !important;
      font-weight: 400 !important;
      letter-spacing: 0 !important;
      line-height: var(--leading-small) !important;
      text-transform: none !important;
      color: rgba(250,248,244,0.48) !important;
    }

    body.home-page .sp-card__price {
      font-size: clamp(1.08rem, 1.45vw, 1.55rem) !important;
      font-weight: 500 !important;
      letter-spacing: 0 !important;
      line-height: 1.15 !important;
    }

    body.home-page .sp-card--secondary .sp-card__price {
      font-size: clamp(1rem, 1.12vw, 1.22rem) !important;
    }

    body.home-page .sp-card__teaser {
      display: block !important;
      max-width: 48ch !important;
      margin-top: var(--space-4) !important;
      color: rgba(250,248,244,0.56) !important;
      font-size: var(--type-small-body) !important;
      line-height: var(--leading-small) !important;
    }

    body.home-page .cm-focus__prompt,
    body.home-page .cm-focus__observed,
    body.home-page .cm-focus__known,
    body.home-page .cm-map-caption {
      color: rgba(11,22,38,0.48) !important;
    }

    body.home-page .cm-focus {
      min-height: 0 !important;
      margin: 0 0 var(--space-7) !important;
      padding-top: var(--space-5) !important;
      border-left: 0 !important;
      border-top: 1px solid var(--border-soft) !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    body.home-page .hero__cta-link,
    body.home-page .meet-team__cta,
    body.home-page .meet-editorial a.meet-team__cta,
    body.home-page .cm-cta,
    body.home-page .sp-card__cta,
    body.home-page .sp-all-link,
    body.home-page .btn-navy {
      font-family: var(--font-sans) !important;
      font-size: var(--type-cta) !important;
      font-weight: var(--weight-cta) !important;
      letter-spacing: var(--tracking-action) !important;
      line-height: 1 !important;
      text-transform: none !important;
    }

    body.home-page .nav__cta--phone,
    body.home-page .nav.nav--scrolled .nav__cta--phone {
      font-family: var(--font-sans) !important;
      font-size: 0.92rem !important;
      font-weight: 500 !important;
      letter-spacing: 0.01em !important;
      line-height: 1.05 !important;
      text-transform: none !important;
    }

    body.home-page .nav__cta--email,
    body.home-page .nav.nav--scrolled .nav__cta--email {
      font-family: var(--font-sans) !important;
      font-size: 0.72rem !important;
      font-weight: 400 !important;
      letter-spacing: 0.01em !important;
      line-height: 1.05 !important;
      text-transform: none !important;
    }

    body.home-page .hero__cta-link--primary {
      color: rgba(250,246,237,0.96) !important;
      font-weight: 600 !important;
    }

    body.home-page .hero__cta-link--secondary {
      color: rgba(238,235,228,0.74) !important;
      font-weight: 500 !important;
    }

    body.home-page .footer__col-link {
      font-family: var(--font-sans) !important;
      font-size: var(--type-small-body) !important;
      font-weight: 400 !important;
      letter-spacing: 0 !important;
      line-height: var(--leading-small) !important;
      text-transform: none !important;
    }

    body.home-page .hero__location-kicker,
    body.home-page .hero__location-name,
    body.home-page .hero__trust-label {
      font-family: var(--font-sans) !important;
      font-size: var(--type-caption) !important;
      font-weight: 300 !important;
      letter-spacing: 0 !important;
      line-height: var(--leading-small) !important;
      text-transform: none !important;
    }

    body.home-page .hero__trust-value {
      font-family: var(--font-serif) !important;
      font-size: clamp(1.05rem, 1.25vw, 1.18rem) !important;
      font-weight: 400 !important;
      line-height: var(--leading-h3) !important;
      letter-spacing: 0 !important;
    }

    /* Hero slideshow polish: remove callout row, elevate editorial caption */
    body.home-page .hero__trust {
      display: none !important;
    }

    body.home-page .hero__sub {
      margin-bottom: clamp(28px, 3.2vh, 40px) !important;
    }

    body.home-page .hero__location-label {
      position: absolute !important;
      right: clamp(28px, 4vw, 56px) !important;
      bottom: clamp(62px, 6.4vw, 84px) !important;
      left: auto !important;
      z-index: 10 !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 5px !important;
      width: min(15.5rem, calc(100% - 56px)) !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 12px 0 2px 15px !important;
      color: var(--text-dark-primary) !important;
      background: transparent !important;
      border: 0 !important;
      border-left: 1px solid rgba(238,235,228,0.58) !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      opacity: 0 !important;
      transform: translate3d(0, 8px, 0) !important;
      transition:
        opacity 520ms ease,
        transform 520ms cubic-bezier(0.22, 1, 0.36, 1) !important;
    }

    body.home-page .hero__location-label::before {
      content: '' !important;
      position: absolute !important;
      inset: -22px -22px -18px -24px !important;
      z-index: -1 !important;
      pointer-events: none !important;
      background: radial-gradient(ellipse at 100% 100%, rgba(4,7,12,0.66) 0%, rgba(4,7,12,0.46) 40%, transparent 76%) !important;
    }

    body.home-page .hero__location-label.is-visible {
      opacity: 1 !important;
      transform: translate3d(0, 0, 0) !important;
    }

    body.home-page .hero__location-kicker {
      color: rgba(238,235,228,0.82) !important;
      font-family: var(--font-sans) !important;
      font-size: var(--type-caption) !important;
      font-weight: var(--weight-eyebrow) !important;
      letter-spacing: 0.18em !important;
      line-height: var(--leading-meta) !important;
      text-transform: uppercase !important;
      text-shadow: 0 1px 16px rgba(0,0,0,0.78) !important;
    }

    body.home-page .hero__location-name {
      color: rgba(250,248,244,0.96) !important;
      font-family: var(--font-serif) !important;
      font-size: clamp(1.08rem, 1.28vw, 1.34rem) !important;
      font-style: italic !important;
      font-weight: 400 !important;
      letter-spacing: 0 !important;
      line-height: 1.14 !important;
      text-transform: none !important;
      text-shadow: 0 1px 22px rgba(0,0,0,0.78), 0 1px 6px rgba(0,0,0,0.50) !important;
    }

    body.home-page .hero__progress {
      right: clamp(28px, 4vw, 56px) !important;
      bottom: clamp(28px, 3.8vw, 44px) !important;
    }

    @media (max-width: 600px) {
      body.home-page {
        --type-meta: 0.58rem;
        --type-body: 0.95rem;
        --type-cta: 0.64rem;
        --tracking-eyebrow: 0.18em;
        --eyebrow-size: 0.58rem;
        --eyebrow-tracking: 0.18em;
        --body-size: 0.95rem;
        --cta-size: 0.64rem;
      }

      body.home-page .hero__trust {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        max-width: 100% !important;
      }

      body.home-page .hero__h1-em {
        margin-top: 0 !important;
        font-size: clamp(1.46rem, 5.75vw, 1.82rem) !important;
        white-space: normal !important;
      }

      body.home-page .hero__trust-item {
        display: grid !important;
        grid-template-columns: minmax(128px, max-content) 1fr !important;
        column-gap: 20px !important;
        min-height: 42px !important;
        padding: 14px 0 !important;
      }

      body.home-page .hero__trust-item:not(:first-child) {
        padding-left: 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(218,207,187,0.12) !important;
      }

      body.home-page .hero__trust-label {
        margin-top: 0 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
      }

      body.home-page .hero__sub {
        margin-bottom: 28px !important;
      }

      body.home-page .hero__location-label {
        right: 16px !important;
        bottom: 44px !important;
        width: min(13.25rem, calc(100% - 32px)) !important;
      }

      body.home-page .hero__location-name {
        font-size: 1rem !important;
      }
    }

    /* Communities comprehension pass: quieter left column, roomier regional atlas */
    body.home-page .cm-inner {
      max-width: 1360px !important;
      grid-template-columns: minmax(250px, 0.30fr) minmax(760px, 1.52fr) !important;
      gap: clamp(30px, 4vw, 58px) !important;
    }

    body.home-page .cm-left {
      max-width: 370px !important;
      margin-right: 0 !important;
      padding-right: clamp(12px, 2vw, 26px) !important;
    }

    body.home-page .cm-header {
      margin-bottom: clamp(14px, 1.8vw, 22px) !important;
    }

    body.home-page .cm-heading {
      font-size: clamp(2.15rem, 3.55vw, 3.62rem) !important;
      line-height: 0.97 !important;
      max-width: 8.6em !important;
    }

    body.home-page .cm-copy {
      max-width: 23rem !important;
    }

    body.home-page .cm-focus {
      display: none !important;
    }

    body.home-page .cm-map-panel {
      width: min(94vw, 1080px) !important;
      min-height: clamp(540px, 46vw, 680px) !important;
      transform: none !important;
    }

    body.home-page .cm-map-panel::after {
      background:
        radial-gradient(
          ellipse 210px 150px at var(--focus-x) var(--focus-y),
          rgba(255,255,255,0.42) 0%,
          rgba(240,230,215,0.15) 45%,
          transparent 82%
        ) !important;
      opacity: 0.78 !important;
    }

    body.home-page .cm-svg {
      min-height: clamp(540px, 46vw, 680px) !important;
    }

    body.home-page .cm-callout {
      display: none !important;
    }

    body.home-page .cm-pin {
      opacity: 0.54 !important;
      transition: opacity 180ms ease !important;
    }

    body.home-page .cm-pin__label {
      fill: rgba(11,22,38,0.50) !important;
      opacity: 0.72 !important;
      transition: fill 180ms ease, opacity 180ms ease !important;
    }

    body.home-page .cm-pin:hover .cm-pin__label,
    body.home-page .cm-pin:focus-visible .cm-pin__label,
    body.home-page .cm-pin.is-active .cm-pin__label {
      fill: rgba(11,22,38,0.82) !important;
      opacity: 1 !important;
    }

    body.home-page .cm-pin.is-active .cm-pin__halo {
      fill: rgba(127,133,139,0.12) !important;
      stroke: rgba(127,133,139,0.20) !important;
      opacity: 0.95 !important;
      r: 18 !important;
    }

    body.home-page .cm-insight {
      position: absolute !important;
      left: clamp(28px, 4.4vw, 58px) !important;
      bottom: clamp(28px, 4vw, 54px) !important;
      z-index: 6 !important;
      width: min(24rem, calc(100% - 56px)) !important;
      padding: clamp(26px, 3vw, 34px) !important;
      border: 1px solid rgba(255,255,255,0.38) !important;
      border-radius: 16px !important;
      background: rgba(248,245,239,0.72) !important;
      box-shadow: 0 22px 70px rgba(42,32,18,0.14), 0 1px 0 rgba(255,255,255,0.46) inset !important;
      backdrop-filter: blur(20px) saturate(1.04) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.04) !important;
      color: #0b1626 !important;
      transform: translate3d(0, 0, 0) !important;
      opacity: 1 !important;
      transition: opacity 210ms ease, transform 210ms ease !important;
    }

    body.home-page .cm-insight.is-updating {
      opacity: 0 !important;
      transform: translate3d(0, 8px, 0) !important;
    }

    body.home-page .cm-insight__prompt {
      margin: 0 0 12px !important;
      color: rgba(11,22,38,0.48) !important;
      font-family: var(--font-sans) !important;
      font-size: var(--type-meta) !important;
      font-weight: var(--weight-meta) !important;
      letter-spacing: var(--tracking-meta) !important;
      line-height: var(--leading-meta) !important;
      text-transform: uppercase !important;
    }

    body.home-page .cm-insight__name {
      margin: 0 0 12px !important;
      color: #0b1626 !important;
      font-family: var(--font-serif) !important;
      font-size: clamp(1.75rem, 2.25vw, 2.35rem) !important;
      font-weight: 500 !important;
      line-height: 1.05 !important;
      letter-spacing: 0 !important;
    }

    body.home-page .cm-insight__line {
      margin: 0 !important;
      color: rgba(11,22,38,0.68) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.94rem, 0.98vw, 1.02rem) !important;
      font-weight: 300 !important;
      line-height: 1.64 !important;
    }

    body.home-page .cm-insight__link {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      margin-top: 24px !important;
      padding-bottom: 5px !important;
      border-bottom: 1px solid rgba(11,22,38,0.22) !important;
      color: rgba(11,22,38,0.72) !important;
      text-decoration: none !important;
    }

    body.home-page .cm-cta {
      display: inline-flex !important;
      width: auto !important;
      padding: 6px 0 5px !important;
      border-width: 0 0 1px !important;
      color: rgba(11,22,38,0.62) !important;
      background: transparent !important;
    }

    body.home-page .cm-cta:hover,
    body.home-page .cm-cta:focus-visible {
      background: transparent !important;
      color: #0b1626 !important;
    }

    @media (max-width: 960px) {
      body.home-page .cm-inner {
        grid-template-columns: 1fr !important;
        gap: clamp(34px, 7vw, 52px) !important;
      }

      body.home-page .cm-left {
        max-width: 640px !important;
        padding-right: 0 !important;
      }

      body.home-page .cm-map-panel,
      body.home-page .cm-svg {
        min-height: clamp(430px, 72vw, 560px) !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-heading {
        font-size: clamp(2.1rem, 10vw, 3.05rem) !important;
      }

      body.home-page .cm-map-panel {
        order: 1 !important;
        width: 100% !important;
        margin-left: 0 !important;
        min-height: 0 !important;
      }

      body.home-page .cm-left {
        order: 2 !important;
      }

      body.home-page .cm-svg {
        min-height: 400px !important;
      }

      body.home-page .cm-insight {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        width: auto !important;
        margin: -22px 18px 0 !important;
        padding: 22px !important;
        border-radius: 16px !important;
      }

      body.home-page .cm-insight__name {
        font-size: 1.65rem !important;
      }

      body.home-page .cm-insight__line {
        font-size: 0.94rem !important;
      }
    }

    /* Recent & Featured: compact editorial market-presence module */
    body.home-page .sp-section {
      padding-top: clamp(44px, 4.4vw, 58px) !important;
      padding-bottom: clamp(44px, 4.4vw, 58px) !important;
      background:
        radial-gradient(circle at 82% 12%, rgba(180,168,150,0.09), transparent 28%),
        linear-gradient(135deg, #020408 0%, #080d16 48%, #020306 100%) !important;
    }

    body.home-page .sp-section::before {
      opacity: 0.42 !important;
    }

    body.home-page .sp-header,
    body.home-page .sp-grid,
    body.home-page .sp-footer {
      max-width: 1280px !important;
    }

    body.home-page .sp-header {
      display: block !important;
      margin-bottom: clamp(18px, 2.1vw, 26px) !important;
    }

    body.home-page .sp-header .section-eyebrow {
      margin-bottom: 10px !important;
      color: rgba(238,235,228,0.62) !important;
    }

    body.home-page .sp-heading {
      font-size: clamp(2.2rem, 3.05vw, 3.75rem) !important;
      line-height: 0.96 !important;
      color: rgba(250,248,244,0.92) !important;
      max-width: 7.2em !important;
    }

    body.home-page .sp-heading em {
      color: rgba(218,207,187,0.68) !important;
    }

    body.home-page .sp-grid {
      grid-template-columns: minmax(0, 1.48fr) minmax(330px, 0.92fr) !important;
      gap: clamp(28px, 3vw, 44px) !important;
      align-items: stretch !important;
    }

    body.home-page .sp-secondary {
      gap: clamp(18px, 2vw, 24px) !important;
    }

    body.home-page .sp-card {
      cursor: pointer !important;
      transition:
        transform 220ms ease,
        color 220ms ease !important;
    }

    body.home-page .sp-card:focus-visible {
      outline: 1px solid rgba(238,235,228,0.72) !important;
      outline-offset: 6px !important;
    }

    body.home-page .sp-card--secondary {
      display: grid !important;
      grid-template-columns: minmax(138px, 0.86fr) minmax(0, 1fr) !important;
      gap: clamp(16px, 1.8vw, 24px) !important;
      align-items: stretch !important;
      padding-top: clamp(18px, 2vw, 24px) !important;
      border-top: 1px solid rgba(238,235,228,0.12) !important;
    }

    body.home-page .sp-card--secondary:first-child {
      padding-top: 0 !important;
      border-top: 0 !important;
    }

    body.home-page .sp-card__media {
      border-radius: 2px !important;
      box-shadow: 0 18px 54px rgba(0,0,0,0.16) !important;
    }

    body.home-page .sp-card--feature .sp-card__media {
      aspect-ratio: auto !important;
      height: clamp(280px, 24vw, 330px) !important;
    }

    body.home-page .sp-card--secondary .sp-card__media {
      aspect-ratio: auto !important;
      height: clamp(126px, 9.6vw, 146px) !important;
    }

    body.home-page .sp-card__media img {
      transform: scale(1.01) !important;
      transition:
        transform 220ms ease,
        filter 220ms ease !important;
    }

    body.home-page .sp-card__media::after {
      background: linear-gradient(180deg, rgba(2,4,8,0.02) 0%, rgba(2,4,8,0.24) 100%) !important;
      transition: background 220ms ease !important;
    }

    body.home-page a.sp-card:hover .sp-card__media img,
    body.home-page a.sp-card:focus-visible .sp-card__media img {
      transform: scale(1.03) !important;
      filter: brightness(0.94) saturate(1.03) !important;
    }

    body.home-page a.sp-card:hover .sp-card__media::after,
    body.home-page a.sp-card:focus-visible .sp-card__media::after {
      background: linear-gradient(180deg, rgba(2,4,8,0.03) 0%, rgba(2,4,8,0.32) 100%) !important;
    }

    body.home-page .sp-card__status {
      top: 14px !important;
      left: 14px !important;
      padding: 4px 9px !important;
      background: rgba(4,7,12,0.22) !important;
      backdrop-filter: blur(8px) !important;
      -webkit-backdrop-filter: blur(8px) !important;
      color: rgba(250,248,244,0.76) !important;
    }

    body.home-page .sp-card__body {
      padding-top: clamp(13px, 1.25vw, 18px) !important;
      transition: transform 220ms ease !important;
    }

    body.home-page .sp-card--secondary .sp-card__body {
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      min-width: 0 !important;
      padding-top: 0 !important;
    }

    body.home-page a.sp-card:hover .sp-card__body,
    body.home-page a.sp-card:focus-visible .sp-card__body {
      transform: translateY(-2px) !important;
    }

    body.home-page .sp-card__address {
      font-size: clamp(1.35rem, 1.58vw, 1.95rem) !important;
      line-height: 1.04 !important;
    }

    body.home-page .sp-card--secondary .sp-card__address {
      font-size: clamp(1.12rem, 1.18vw, 1.35rem) !important;
      line-height: 1.08 !important;
    }

    body.home-page .sp-card__location {
      margin-top: 7px !important;
      color: rgba(250,248,244,0.46) !important;
    }

    body.home-page .sp-card__teaser {
      max-width: 46ch !important;
      margin-top: clamp(8px, 0.8vw, 11px) !important;
      color: rgba(250,248,244,0.48) !important;
    }

    body.home-page .sp-card--secondary .sp-card__teaser {
      display: block !important;
      max-width: 30ch !important;
      margin-top: 9px !important;
      color: rgba(250,248,244,0.42) !important;
    }

    body.home-page .sp-card__footer {
      margin-top: clamp(10px, 1vw, 14px) !important;
      padding-top: clamp(9px, 0.9vw, 12px) !important;
      border-top-color: rgba(238,235,228,0.13) !important;
    }

    body.home-page .sp-card--secondary .sp-card__footer {
      margin-top: 10px !important;
      padding-top: 0 !important;
      border-top: 0 !important;
    }

    body.home-page .sp-card__price {
      font-size: clamp(1.02rem, 1.16vw, 1.3rem) !important;
      color: rgba(250,248,244,0.82) !important;
    }

    body.home-page .sp-card--secondary .sp-card__price {
      font-size: clamp(0.94rem, 1vw, 1.08rem) !important;
      color: rgba(250,248,244,0.72) !important;
    }

    body.home-page .sp-card__cta {
      color: rgba(238,235,228,0.64) !important;
      transition: color 220ms ease !important;
    }

    body.home-page .sp-card__arrow {
      transition: transform 220ms ease !important;
    }

    body.home-page a.sp-card:hover .sp-card__cta,
    body.home-page a.sp-card:focus-visible .sp-card__cta {
      color: rgba(250,248,244,0.9) !important;
    }

    body.home-page a.sp-card:hover .sp-card__arrow,
    body.home-page a.sp-card:focus-visible .sp-card__arrow {
      transform: translateX(3px) !important;
    }

    body.home-page .sp-footer {
      margin-top: clamp(14px, 1.6vw, 22px) !important;
    }

    body.home-page .sp-all-link {
      color: rgba(238,235,228,0.58) !important;
      border-left-color: rgba(238,235,228,0.22) !important;
      transition: color 220ms ease, border-color 220ms ease !important;
    }

    body.home-page .sp-all-link:hover,
    body.home-page .sp-all-link:focus-visible {
      color: rgba(250,248,244,0.9) !important;
      border-left-color: rgba(238,235,228,0.46) !important;
    }

    @media (max-width: 960px) {
      body.home-page .sp-section {
        padding-top: clamp(64px, 8vw, 92px) !important;
        padding-bottom: clamp(64px, 8vw, 92px) !important;
      }

      body.home-page .sp-header {
        display: block !important;
        margin-bottom: clamp(30px, 5vw, 46px) !important;
      }

      body.home-page .sp-grid {
        grid-template-columns: 1fr !important;
      }

      body.home-page .sp-secondary {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }

      body.home-page .sp-card--secondary {
        display: block !important;
        padding-top: 0 !important;
        border-top: 0 !important;
      }

      body.home-page .sp-card--feature .sp-card__media {
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
      }

      body.home-page .sp-card--secondary .sp-card__media {
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
      }

      body.home-page .sp-card--secondary .sp-card__body {
        padding-top: 16px !important;
      }
    }

    @media (max-width: 600px) {
      body.home-page .sp-section {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
      }

      body.home-page .sp-secondary {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
      }

      body.home-page .sp-card__teaser,
      body.home-page .sp-card--secondary .sp-card__teaser {
        display: block !important;
      }
    }

    /* Communities: editorial atlas with quiet annotation panel */
    @keyframes cm-hover-pulse {
      0%, 100% { opacity: 0.55; r: 13; }
      50% { opacity: 0.9; r: 16; }
    }

    body.home-page .cm-section {
      min-height: 0 !important;
      height: calc(100svh - var(--nav-height, 88px)) !important;
      padding-top: clamp(28px, 3.8vw, 48px) !important;
      padding-bottom: clamp(28px, 3.8vw, 48px) !important;
      display: flex !important;
      align-items: center !important;
    }

    body.home-page .cm-inner {
      width: 100% !important;
      max-width: 1320px !important;
      grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr) !important;
      gap: clamp(34px, 4.2vw, 62px) !important;
      align-items: center !important;
    }

    body.home-page .cm-left {
      max-width: 390px !important;
      padding-right: 0 !important;
      margin-right: 0 !important;
    }

    body.home-page .cm-header {
      margin-bottom: clamp(16px, 2vw, 24px) !important;
    }

    body.home-page .cm-heading {
      max-width: 7.6em !important;
      margin-bottom: clamp(14px, 1.7vw, 20px) !important;
      font-size: clamp(2.05rem, 3vw, 3.28rem) !important;
      line-height: 0.98 !important;
    }

    body.home-page .cm-copy {
      max-width: 24rem !important;
      font-size: clamp(0.94rem, 1vw, 1rem) !important;
      line-height: 1.68 !important;
    }

    body.home-page .cm-map-panel {
      --focus-x: 55%;
      --focus-y: 58%;
      width: 100% !important;
      height: clamp(500px, calc(100svh - var(--nav-height, 88px) - 112px), 640px) !important;
      min-height: 0 !important;
      justify-self: stretch !important;
      overflow: hidden !important;
    }

    body.home-page .cm-svg {
      width: 100% !important;
      height: 100% !important;
      min-height: 0 !important;
    }

    body.home-page .cm-map-panel::after {
      background:
        radial-gradient(
          ellipse 180px 130px at var(--focus-x) var(--focus-y),
          rgba(255,255,255,0.34) 0%,
          rgba(240,230,215,0.12) 46%,
          transparent 82%
        ) !important;
      opacity: 0.68 !important;
    }

    body.home-page .cm-contour {
      stroke: rgba(55,50,42,0.055) !important;
      stroke-width: 0.42 !important;
    }

    body.home-page .cm-contour--fine {
      stroke: rgba(55,50,42,0.025) !important;
      stroke-width: 0.34 !important;
    }

    body.home-page .cm-contour--major {
      stroke: rgba(55,50,42,0.085) !important;
      stroke-width: 0.62 !important;
    }

    body.home-page .cm-escarpment {
      stroke: rgba(76,68,55,0.24) !important;
      stroke-width: 1.25px !important;
      opacity: 0.6 !important;
    }

    body.home-page .cm-road {
      stroke: rgba(11,22,38,0.035) !important;
      stroke-width: 0.42px !important;
    }

    body.home-page .cm-road--major {
      stroke: rgba(11,22,38,0.075) !important;
      stroke-width: 0.64px !important;
    }

    body.home-page .cm-road--secondary {
      stroke: rgba(11,22,38,0.028) !important;
    }

    body.home-page .cm-road.is-active {
      stroke: rgba(15,33,59,0.34) !important;
      stroke-width: 0.92px !important;
    }

    body.home-page .cm-pin {
      opacity: 0.72 !important;
      transition: opacity 190ms ease, transform 190ms ease !important;
    }

    body.home-page .cm-pin__bracket {
      fill: rgba(11,22,38,0.48) !important;
      stroke: rgba(250,248,244,0.72) !important;
      r: 4.6 !important;
      transition: fill 190ms ease, r 190ms ease !important;
    }

    body.home-page .cm-pin__halo {
      fill: rgba(127,133,139,0.11) !important;
      stroke: rgba(127,133,139,0.18) !important;
      opacity: 0.38 !important;
      r: 11 !important;
      transition: fill 190ms ease, stroke 190ms ease, opacity 190ms ease, r 190ms ease !important;
    }

    body.home-page .cm-pin__label {
      fill: rgba(11,22,38,0.58) !important;
      opacity: 0.86 !important;
    }

    body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
      opacity: 0.46 !important;
    }

    body.home-page .cm-pin:hover,
    body.home-page .cm-pin:focus-visible,
    body.home-page .cm-pin.is-active {
      opacity: 1 !important;
    }

    body.home-page .cm-pin:hover .cm-pin__bracket,
    body.home-page .cm-pin:focus-visible .cm-pin__bracket,
    body.home-page .cm-pin.is-active .cm-pin__bracket {
      fill: #10213b !important;
      r: 6.2 !important;
    }

    body.home-page .cm-pin:hover .cm-pin__halo,
    body.home-page .cm-pin:focus-visible .cm-pin__halo {
      fill: rgba(8,24,46,0.08) !important;
      stroke: rgba(8,24,46,0.13) !important;
      animation: cm-hover-pulse 1.5s ease-in-out infinite !important;
    }

    body.home-page .cm-pin.is-active .cm-pin__halo {
      fill: rgba(8,24,46,0.08) !important;
      stroke: rgba(8,24,46,0.13) !important;
      opacity: 0.82 !important;
      r: 15 !important;
    }

    body.home-page .cm-pin:hover .cm-pin__label,
    body.home-page .cm-pin:focus-visible .cm-pin__label,
    body.home-page .cm-pin.is-active .cm-pin__label {
      fill: rgba(7,14,27,0.88) !important;
      opacity: 1 !important;
    }

    body.home-page .cm-annotation-line {
      position: absolute !important;
      inset: 0 !important;
      z-index: 5 !important;
      width: 100% !important;
      height: 100% !important;
      pointer-events: none !important;
    }

    body.home-page .cm-annotation-line__stroke {
      stroke: rgba(11,22,38,0.36) !important;
      stroke-width: 0.22 !important;
      stroke-linecap: round !important;
      vector-effect: non-scaling-stroke !important;
      transition: x1 210ms ease, y1 210ms ease, opacity 210ms ease !important;
    }

    body.home-page .cm-insight {
      top: clamp(18px, 2vw, 26px) !important;
      bottom: auto !important;
      left: clamp(14px, 1.8vw, 22px) !important;
      width: min(320px, calc(100% - 36px)) !important;
      padding: clamp(18px, 2vw, 22px) !important;
      border: 1px solid rgba(11,22,38,0.10) !important;
      border-radius: 11px !important;
      background: rgba(248,245,239,0.88) !important;
      box-shadow: 0 14px 38px rgba(38,30,19,0.10), 0 1px 0 rgba(255,255,255,0.54) inset !important;
      backdrop-filter: blur(10px) saturate(1.02) !important;
      -webkit-backdrop-filter: blur(10px) saturate(1.02) !important;
      transition: opacity 190ms ease !important;
    }

    body.home-page .cm-insight.is-updating {
      opacity: 0 !important;
      transform: none !important;
    }

    body.home-page .cm-insight__prompt {
      margin-bottom: 8px !important;
      color: rgba(11,22,38,0.45) !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 8px !important;
      font-size: clamp(1.35rem, 1.55vw, 1.62rem) !important;
      line-height: 1.05 !important;
    }

    body.home-page .cm-insight__line {
      color: rgba(11,22,38,0.64) !important;
      font-size: clamp(0.88rem, 0.92vw, 0.94rem) !important;
      line-height: 1.56 !important;
    }

    body.home-page .cm-insight__link {
      margin-top: 14px !important;
      color: rgba(11,22,38,0.66) !important;
    }

    @media (max-width: 960px) {
      body.home-page .cm-section {
        height: auto !important;
        padding-top: 70px !important;
        padding-bottom: 70px !important;
      }

      body.home-page .cm-inner {
        grid-template-columns: 1fr !important;
      }

      body.home-page .cm-map-panel {
        height: clamp(500px, 72vw, 620px) !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-map-panel {
        height: auto !important;
      }

      body.home-page .cm-svg {
        height: auto !important;
        min-height: 400px !important;
      }

      body.home-page .cm-annotation-line {
        display: none !important;
      }

      body.home-page .cm-insight {
        top: auto !important;
        width: auto !important;
        margin: -20px 18px 0 !important;
        padding: 20px !important;
      }
    }

    /* Communities reference rebuild: editorial luxury atlas */
    body.home-page .cm-section {
      min-height: 0 !important;
      height: calc(100svh - var(--nav-height, 88px)) !important;
      padding: clamp(42px, 5vw, 72px) clamp(48px, 5vw, 86px) !important;
      display: flex !important;
      align-items: center !important;
      overflow: hidden !important;
      background:
        radial-gradient(ellipse at 3% 50%, rgba(255,255,255,0.58), transparent 40%),
        radial-gradient(ellipse at 92% 8%, rgba(255,255,255,0.42), transparent 30%),
        linear-gradient(90deg, #eee6da 0%, #f3eee6 34%, #ece5da 100%) !important;
    }

    body.home-page .cm-section::before {
      content: '' !important;
      position: absolute !important;
      inset: 0 !important;
      pointer-events: none !important;
      background:
        linear-gradient(90deg, rgba(238,229,216,0.72) 0%, rgba(238,229,216,0.38) 28%, transparent 48%),
        radial-gradient(ellipse at 50% 55%, transparent 40%, rgba(35,28,18,0.06) 100%) !important;
      opacity: 1 !important;
    }

    body.home-page .cm-inner {
      position: relative !important;
      z-index: 1 !important;
      width: 100% !important;
      max-width: 1540px !important;
      height: min(720px, calc(100svh - var(--nav-height, 88px) - 84px)) !important;
      margin: 0 auto !important;
      display: grid !important;
      grid-template-columns: minmax(330px, 0.32fr) minmax(0, 0.68fr) !important;
      gap: clamp(44px, 5vw, 82px) !important;
      align-items: stretch !important;
    }

    body.home-page .cm-left {
      position: relative !important;
      z-index: 6 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      max-width: 430px !important;
      min-width: 0 !important;
      padding: clamp(8px, 1vw, 16px) 0 !important;
      margin: 0 !important;
    }

    body.home-page .cm-header {
      margin-bottom: clamp(22px, 3vw, 36px) !important;
    }

    body.home-page .cm-heading {
      max-width: 7.4em !important;
      margin: clamp(42px, 5.2vw, 72px) 0 clamp(22px, 2.4vw, 32px) !important;
      color: #111d33 !important;
      font-size: clamp(3rem, 4.4vw, 5.1rem) !important;
      line-height: 0.93 !important;
    }

    body.home-page .cm-heading em {
      color: rgba(17,29,51,0.62) !important;
    }

    body.home-page .cm-copy {
      max-width: 31rem !important;
      color: rgba(17,29,51,0.66) !important;
      font-size: clamp(1rem, 1.06vw, 1.1rem) !important;
      line-height: 1.72 !important;
    }

    body.home-page .cm-cta {
      align-self: flex-start !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 18px !important;
      margin-top: clamp(10px, 1.8vw, 24px) !important;
      padding: 0 0 7px !important;
      border: 0 !important;
      border-bottom: 1px solid rgba(99,104,111,0.42) !important;
      color: rgba(17,29,51,0.72) !important;
      background: transparent !important;
    }

    body.home-page .cm-map-panel {
      position: relative !important;
      z-index: 1 !important;
      align-self: stretch !important;
      width: calc(100% + clamp(20px, 4vw, 70px)) !important;
      height: 100% !important;
      min-height: 0 !important;
      margin-right: calc(clamp(20px, 4vw, 70px) * -1) !important;
      overflow: visible !important;
      background: transparent !important;
      box-shadow: none !important;
      border: 0 !important;
    }

    body.home-page .cm-map-panel::before {
      display: none !important;
    }

    body.home-page .cm-map-panel::after {
      background:
        radial-gradient(ellipse 210px 170px at var(--focus-x) var(--focus-y), rgba(8,24,46,0.07), rgba(8,24,46,0.03) 34%, transparent 72%) !important;
      mix-blend-mode: normal !important;
      opacity: 0.9 !important;
    }

    body.home-page .cm-svg {
      width: 100% !important;
      height: 100% !important;
      min-height: 0 !important;
      overflow: visible !important;
      filter: contrast(1.1) saturate(1.02) !important;
    }

    body.home-page .cm-map-field { fill: transparent !important; }
    body.home-page .cm-map-tone { fill: url(#cm-land-warmth) !important; opacity: 0.38 !important; }
    body.home-page .cm-map-grain { opacity: 0.12 !important; }
    body.home-page .cm-grid-field { display: block !important; opacity: 0.16 !important; }
    body.home-page .cm-grid { stroke: rgba(92,90,83,0.20) !important; stroke-width: 0.45 !important; }
    body.home-page .cm-contour { stroke: rgba(76,70,58,0.12) !important; stroke-width: 0.56 !important; }
    body.home-page .cm-contour--fine { stroke: rgba(76,70,58,0.07) !important; stroke-width: 0.42 !important; }
    body.home-page .cm-contour--major { stroke: rgba(76,70,58,0.18) !important; stroke-width: 0.86 !important; }
    body.home-page .cm-escarpment { stroke: rgba(76,68,55,0.34) !important; stroke-width: 1.6px !important; opacity: 0.72 !important; }
    body.home-page .cm-lake { fill: #b9c8ca !important; opacity: 0.92 !important; }
    body.home-page .cm-lake-line { stroke: rgba(59,82,91,0.18) !important; stroke-width: 0.9 !important; }
    body.home-page .cm-lake-contour { stroke: rgba(255,255,255,0.24) !important; stroke-width: 0.58 !important; }
    body.home-page .cm-lake-contour--shore { stroke: rgba(255,255,255,0.34) !important; }
    body.home-page .cm-road { stroke: rgba(125,103,73,0.22) !important; stroke-width: 0.62px !important; }
    body.home-page .cm-road--major { stroke: rgba(160,122,68,0.34) !important; stroke-width: 0.92px !important; }
    body.home-page .cm-road--secondary { stroke: rgba(98,92,82,0.13) !important; }
    body.home-page .cm-road.is-active { stroke: rgba(99,104,111,0.42) !important; stroke-width: 1.15px !important; }
    body.home-page .cm-svg__watermark { fill: rgba(17,29,51,0.34) !important; opacity: 1 !important; }
    body.home-page .cm-svg__watermark--ridge { fill: rgba(17,29,51,0.28) !important; font-size: 10px !important; letter-spacing: 0.52em !important; }
    body.home-page .cm-svg__watermark--water { fill: rgba(17,29,51,0.38) !important; font-size: 9px !important; letter-spacing: 0.44em !important; }

    body.home-page .cm-pin { opacity: 1 !important; }
    body.home-page .cm-pin__bracket {
      fill: rgba(17,29,51,0.54) !important;
      stroke: rgba(255,255,255,0.88) !important;
      stroke-width: 1.7 !important;
      r: 5.4 !important;
      filter: drop-shadow(0 4px 7px rgba(17,29,51,0.13)) !important;
    }
    body.home-page .cm-pin__halo { fill: rgba(127,133,139,0.11) !important; stroke: rgba(127,133,139,0.18) !important; opacity: 0.72 !important; r: 13 !important; }
    body.home-page .cm-pin__label {
      fill: rgba(17,29,51,0.82) !important;
      opacity: 1 !important;
      font-family: var(--font-sans) !important;
      font-size: 9px !important;
      font-weight: 700 !important;
      letter-spacing: 0.22em !important;
      text-transform: uppercase !important;
    }
    body.home-page .cm-section.has-active .cm-pin:not(.is-active) { opacity: 0.74 !important; }
    body.home-page .cm-pin:hover .cm-pin__bracket,
    body.home-page .cm-pin:focus-visible .cm-pin__bracket,
    body.home-page .cm-pin.is-active .cm-pin__bracket { fill: #08182e !important; r: 7 !important; }
    body.home-page .cm-pin:hover .cm-pin__halo,
    body.home-page .cm-pin:focus-visible .cm-pin__halo,
    body.home-page .cm-pin.is-active .cm-pin__halo { fill: rgba(8,24,46,0.08) !important; stroke: rgba(8,24,46,0.13) !important; opacity: 1 !important; r: 20 !important; }
    body.home-page .cm-pin.is-active .cm-pin__label { fill: #07172d !important; font-weight: 800 !important; }

    body.home-page .cm-annotation-line {
      position: absolute !important;
      inset: 0 !important;
      z-index: 4 !important;
      width: 100% !important;
      height: 100% !important;
      pointer-events: none !important;
      overflow: visible !important;
    }

    body.home-page .cm-annotation-line__stroke {
      fill: none !important;
      stroke: #c9c6c1 !important;
      stroke-width: 0.28 !important;
      stroke-linecap: round !important;
      stroke-linejoin: round !important;
      vector-effect: non-scaling-stroke !important;
      transition: points 210ms ease, opacity 210ms ease !important;
    }

    body.home-page .cm-insight {
      position: relative !important;
      inset: auto !important;
      z-index: 6 !important;
      width: min(320px, 100%) !important;
      margin-top: clamp(30px, 4vw, 54px) !important;
      padding: clamp(18px, 1.8vw, 24px) 0 0 !important;
      border: none !important;
      border-top: 1px solid rgba(17, 29, 51, 0.14) !important;
      border-radius: 0 !important;
      background: none !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      transition: opacity 190ms ease !important;
    }

    body.home-page .cm-insight.is-updating { opacity: 0 !important; transform: none !important; }
    body.home-page .cm-insight__prompt { margin: 0 0 12px !important; color: rgba(83,90,99,0.68) !important; font-size: var(--type-meta) !important; letter-spacing: 0.18em !important; }
    body.home-page .cm-insight__name { margin: 0 0 12px !important; color: #111d33 !important; font-family: var(--font-serif) !important; font-size: clamp(1.55rem, 1.8vw, 2rem) !important; font-weight: 500 !important; line-height: 1.04 !important; }
    body.home-page .cm-insight__line { max-width: 24ch !important; margin: 0 !important; color: rgba(17,29,51,0.66) !important; font-size: clamp(0.88rem, 0.92vw, 0.96rem) !important; line-height: 1.52 !important; }
    body.home-page .cm-insight__link { display: inline-flex !important; align-items: center !important; gap: 18px !important; margin-top: 18px !important; padding-bottom: 6px !important; border-bottom: 1px solid rgba(99,104,111,0.42) !important; color: rgba(17,29,51,0.84) !important; }

    @media (max-width: 1100px) {
      body.home-page .cm-section { height: auto !important; padding-top: 76px !important; padding-bottom: 76px !important; }
      body.home-page .cm-inner { height: auto !important; grid-template-columns: 1fr !important; gap: 40px !important; }
      body.home-page .cm-left { max-width: 680px !important; }
      body.home-page .cm-heading { margin-top: 28px !important; }
      body.home-page .cm-map-panel { width: 100% !important; height: clamp(500px, 68vw, 660px) !important; margin-right: 0 !important; }
      body.home-page .cm-annotation-line { display: none !important; }
    }

    @media (max-width: 620px) {
      body.home-page .cm-section { padding: 58px 22px !important; }
      body.home-page .cm-heading { font-size: clamp(2.65rem, 11vw, 4rem) !important; }
      body.home-page .cm-map-panel { height: 420px !important; overflow: hidden !important; }
      body.home-page .cm-atlas-region { transform: translate(72px, 62px) scale(0.68) !important; }
      body.home-page .cm-pin__label { font-size: 8.5px !important; letter-spacing: 0.14em !important; }
      body.home-page .cm-insight { width: 100% !important; margin-top: 28px !important; }
    }

    /* Communities reference tuning: fit the editorial stack inside one viewport */
    body.home-page .cm-left {
      justify-content: center !important;
      max-width: 450px !important;
    }

    body.home-page .cm-heading {
      margin: clamp(34px, 4.2vw, 58px) 0 clamp(20px, 2vw, 28px) !important;
      font-size: clamp(2.7rem, 3.55vw, 4rem) !important;
      line-height: 0.94 !important;
    }

    body.home-page .cm-copy {
      max-width: 29rem !important;
      font-size: clamp(0.96rem, 0.98vw, 1.02rem) !important;
      line-height: 1.62 !important;
    }

    body.home-page .cm-insight {
      width: min(320px, 100%) !important;
      margin-top: clamp(26px, 3vw, 38px) !important;
      padding: clamp(16px, 1.6vw, 22px) 0 0 !important;
    }

    body.home-page .cm-insight__prompt {
      margin-bottom: 9px !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 9px !important;
      font-size: clamp(1.38rem, 1.55vw, 1.72rem) !important;
    }

    body.home-page .cm-insight__line {
      max-width: 29ch !important;
      font-size: clamp(0.82rem, 0.86vw, 0.9rem) !important;
      line-height: 1.48 !important;
    }

    body.home-page .cm-insight__link {
      margin-top: 14px !important;
    }

    body.home-page .cm-map-panel {
      overflow: hidden !important;
    }

    body.home-page .cm-svg {
      display: block !important;
    }

    /* Communities: clean flat warm cream — no horizontal gradient drift */
    body.home-page .cm-section {
      background: #ede8df !important;
    }

    body.home-page .cm-section::before {
      background:
        linear-gradient(90deg, rgba(238, 233, 225, 0.74) 0%, rgba(238, 233, 225, 0.34) 30%, transparent 50%),
        radial-gradient(ellipse at 54% 52%, transparent 62%, rgba(14, 22, 34, 0.03) 100%) !important;
    }

    body.home-page .cm-eyebrow::before {
      background: rgba(92, 99, 108, 0.42) !important;
    }

    body.home-page .cm-map-panel {
      background-image: none !important;
      background-position: center center !important;
      background-repeat: no-repeat !important;
      background-size: contain !important;
      filter: contrast(1.03) brightness(1.01) saturate(0.95) !important;
      border: 0 !important;
      box-shadow: none !important;
    }

    body.home-page .cm-map-panel::before {
      display: none !important;
    }

    body.home-page .cm-map-panel::after {
      background: radial-gradient(ellipse at center, transparent 66%, rgba(14, 22, 34, 0.03) 100%) !important;
      mix-blend-mode: normal !important;
      opacity: 1 !important;
    }

    body.home-page .cm-map-field,
    body.home-page .cm-map-tone,
    body.home-page .cm-map-grain,
    body.home-page .cm-grid-field,
    body.home-page .cm-contour,
    body.home-page .cm-escarpment,
    body.home-page .cm-lake,
    body.home-page .cm-lake-line,
    body.home-page .cm-lake-contour,
    body.home-page .cm-road,
    body.home-page .cm-svg__watermark,
    body.home-page .cm-callout {
      display: none !important;
    }

    body.home-page .cm-svg {
      filter: none !important;
    }

    body.home-page .cm-pin {
      opacity: 0.82 !important;
      transition: opacity 180ms ease, transform 180ms ease !important;
    }

    body.home-page .cm-section.has-active .cm-pin:not(.is-active) {
      opacity: 0.54 !important;
    }

    body.home-page .cm-pin__bracket {
      fill: #7f858b !important;
      stroke: rgba(248, 245, 239, 0.9) !important;
      stroke-width: 1.6 !important;
      r: 4.6 !important;
      filter: drop-shadow(0 3px 8px rgba(17, 29, 51, 0.12)) !important;
    }

    body.home-page .cm-pin__halo {
      fill: rgba(127, 133, 139, 0.11) !important;
      stroke: rgba(127, 133, 139, 0.18) !important;
      opacity: 0.72 !important;
      r: 10 !important;
      animation: none !important;
    }

    body.home-page .cm-pin__label {
      display: block !important;
      fill: rgba(17, 29, 51, 0.74) !important;
      opacity: 0.94 !important;
      font-family: var(--font-sans) !important;
      font-size: 9px !important;
      font-weight: 700 !important;
      letter-spacing: 0.2em !important;
      text-transform: uppercase !important;
    }

    body.home-page .cm-pin:hover,
    body.home-page .cm-pin:focus-visible,
    body.home-page .cm-pin.is-active {
      opacity: 1 !important;
      transform: scale(1.015) !important;
    }

    body.home-page .cm-pin:hover .cm-pin__bracket,
    body.home-page .cm-pin:focus-visible .cm-pin__bracket,
    body.home-page .cm-pin.is-active .cm-pin__bracket {
      fill: #08182e !important;
      stroke: rgba(248, 245, 239, 0.98) !important;
      r: 6.8 !important;
    }

    body.home-page .cm-pin:hover .cm-pin__halo,
    body.home-page .cm-pin:focus-visible .cm-pin__halo,
    body.home-page .cm-pin.is-active .cm-pin__halo {
      fill: rgba(8, 24, 46, 0.08) !important;
      stroke: rgba(8, 24, 46, 0.13) !important;
      opacity: 1 !important;
      r: 15 !important;
      animation: none !important;
    }

    body.home-page .cm-pin:hover .cm-pin__label,
    body.home-page .cm-pin:focus-visible .cm-pin__label,
    body.home-page .cm-pin.is-active .cm-pin__label {
      fill: #08182e !important;
      opacity: 1 !important;
    }

    body.home-page .cm-annotation-line__stroke {
      stroke: #c9c6c1 !important;
      stroke-width: 1px !important;
      opacity: 0.72 !important;
    }

    body.home-page .cm-cta,
    body.home-page .cm-insight__link {
      border-bottom-color: rgba(99, 104, 111, 0.42) !important;
      color: rgba(17, 29, 51, 0.78) !important;
    }

    body.home-page .cm-insight {
      background: none !important;
      box-shadow: none !important;
    }

    body.home-page .cm-insight__prompt {
      color: rgba(83, 90, 99, 0.68) !important;
    }

    body.home-page .cm-insight__name {
      color: #111d33 !important;
    }

    body.home-page .cm-insight__line {
      color: rgba(48, 55, 65, 0.7) !important;
    }

    /* Communities marker-stage polish: markers align to the rendered map image */
    body.home-page .cm-map-panel {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background-image: none !important;
      filter: none !important;
      overflow: visible !important;
    }

    body.home-page .cm-map-frame {
      position: relative !important;
      width: 100% !important;
      max-height: 100% !important;
      isolation: isolate !important;
      overflow: visible !important;
      -webkit-mask-image: radial-gradient(ellipse at center, #000 72%, rgba(0,0,0,0.94) 84%, transparent 100%) !important;
      mask-image: radial-gradient(ellipse at center, #000 72%, rgba(0,0,0,0.94) 84%, transparent 100%) !important;
    }

    body.home-page .cm-map-stage {
      position: absolute !important;
      inset: 0 !important;
      isolation: isolate !important;
    }

    body.home-page .cm-map-image {
      position: absolute !important;
      inset: 0 !important;
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: contain !important;
      filter: contrast(1.04) brightness(1.01) saturate(0.96) !important;
      user-select: none !important;
      pointer-events: none !important;
    }

    body.home-page .cm-map-frame::after {
      content: '' !important;
      position: absolute !important;
      z-index: 1 !important;
      inset: -1px !important;
      pointer-events: none !important;
      background: radial-gradient(ellipse at center, transparent 68%, rgba(245, 241, 234, 0.38) 88%, rgba(245, 241, 234, 0.76) 100%) !important;
    }

    body.home-page .cm-svg,
    body.home-page .cm-annotation-line {
      display: none !important;
    }

    body.home-page .cm-map-marker {
      --marker-x: 50%;
      --marker-y: 50%;
      --label-x: 14px;
      --label-y: -50%;
      position: absolute !important;
      left: var(--marker-x) !important;
      top: var(--marker-y) !important;
      z-index: 3 !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 9px !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      color: rgba(17, 29, 51, 0.62) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.58rem, 0.68vw, 0.72rem) !important;
      font-weight: var(--weight-meta) !important;
      letter-spacing: 0.2em !important;
      line-height: 1 !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      opacity: 0.82 !important;
      transform: translate(-50%, -50%) !important;
      transition: opacity 180ms ease, transform 180ms ease, color 180ms ease !important;
      white-space: nowrap !important;
    }

    body.home-page .cm-map-marker__dot {
      position: relative !important;
      display: block !important;
      width: 9px !important;
      height: 9px !important;
      flex: 0 0 9px !important;
      border: 1.5px solid rgba(248, 245, 239, 0.9) !important;
      border-radius: 999px !important;
      background: #85898c !important;
      box-shadow: 0 3px 9px rgba(17, 29, 51, 0.12) !important;
      transition: width 180ms ease, height 180ms ease, flex-basis 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
    }

    body.home-page .cm-map-marker__dot::before {
      content: '' !important;
      position: absolute !important;
      inset: -7px !important;
      border: 1px solid rgba(127, 133, 139, 0.16) !important;
      border-radius: inherit !important;
      background: rgba(127, 133, 139, 0.08) !important;
    }

    body.home-page .cm-map-marker__label {
      position: absolute !important;
      left: var(--label-x) !important;
      top: var(--label-y) !important;
      display: block !important;
      text-shadow: 0 1px 10px rgba(248, 245, 239, 0.72) !important;
    }

    body.home-page .cm-section.has-active .cm-map-marker:not(.is-active) {
      opacity: 1 !important;
    }

    body.home-page .cm-map-marker:hover,
    body.home-page .cm-map-marker:focus-visible,
    body.home-page .cm-map-marker.is-active {
      color: #08182e !important;
      opacity: 1 !important;
      transform: translate(-50%, -50%) scale(1.025) !important;
    }

    body.home-page .cm-map-marker:hover .cm-map-marker__dot,
    body.home-page .cm-map-marker:focus-visible .cm-map-marker__dot,
    body.home-page .cm-map-marker.is-active .cm-map-marker__dot {
      width: 12px !important;
      height: 12px !important;
      flex-basis: 12px !important;
      border-color: rgba(248, 245, 239, 0.98) !important;
      background: #08182e !important;
      box-shadow: 0 5px 14px rgba(8, 24, 46, 0.18) !important;
    }

    body.home-page .cm-map-marker.is-active .cm-map-marker__label {
      font-weight: 800 !important;
    }

    body.home-page .cm-left {
      justify-content: center !important;
    }

    body.home-page .cm-insight {
      margin-top: clamp(22px, 2.6vw, 34px) !important;
    }

    @media (max-width: 1100px) {
      body.home-page .cm-map-panel {
        overflow: hidden !important;
      }

      body.home-page .cm-map-frame {
        width: min(1180px, 128vw) !important;
        max-width: none !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-map-panel {
        height: 330px !important;
      }

      body.home-page .cm-map-frame {
        width: 720px !important;
        transform: translateX(-9%) !important;
      }

      body.home-page .cm-map-marker {
        font-size: 0.55rem !important;
        letter-spacing: 0.15em !important;
      }

      body.home-page .cm-map-marker:not(.is-active) .cm-map-marker__label {
        display: none !important;
      }
    }

    /* Communities final polish: right-bleed map stage */
    body.home-page .cm-section {
      position: relative !important;
      overflow: hidden !important;
    }

    body.home-page .cm-inner {
      position: static !important;
    }

    body.home-page .cm-left {
      position: relative !important;
      z-index: 3 !important;
    }

    body.home-page .cm-map-panel {
      position: absolute !important;
      top: 0 !important;
      right: -10vw !important;
      bottom: 0 !important;
      z-index: 1 !important;
      justify-content: flex-start !important;
      width: 72vw !important;
      height: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      overflow: hidden !important;
      background-image: none !important;
      border: 0 !important;
      box-shadow: none !important;
      filter: none !important;
    }

    body.home-page .cm-map-frame {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
      max-height: none !important;
      aspect-ratio: auto !important;
      margin: 0 !important;
      transform: none !important;
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 100%) !important;
      mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 100%) !important;
    }

    body.home-page .cm-map-stage {
      position: absolute !important;
      top: 0 !important;
      bottom: 0 !important;
      left: 50% !important;
      width: auto !important;
      min-width: 100% !important;
      height: 100% !important;
      aspect-ratio: 1682 / 935 !important;
      transform: translateX(-60%) !important;
      transform-origin: center center !important;
    }

    body.home-page .cm-map-image {
      object-fit: fill !important;
      object-position: center center !important;
      filter: contrast(1.04) brightness(1.01) saturate(0.96) !important;
    }

    body.home-page .cm-map-frame::after {
      background: none !important;
    }

    body.home-page .cm-map-marker {
      color: rgba(17, 29, 51, 0.72) !important;
      opacity: 0.92 !important;
    }

    body.home-page .cm-map-marker.is-active {
      color: #08182e !important;
      opacity: 1 !important;
    }

    @media (max-width: 1100px) {
      body.home-page .cm-inner {
        position: relative !important;
      }

      body.home-page .cm-map-panel {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        height: 330px !important;
        margin-right: 0 !important;
        overflow: hidden !important;
      }

      body.home-page .cm-map-frame {
        width: min(1180px, 128vw) !important;
        height: 100% !important;
        margin-right: 0 !important;
        transform: translateX(-3%) !important;
      }

      body.home-page .cm-map-stage {
        left: 50% !important;
        transform: translateX(-50%) !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-map-frame {
        width: 720px !important;
        transform: translateX(-37%) !important;
      }

      body.home-page .cm-map-stage {
        left: 50% !important;
        transform: translateX(-50%) !important;
      }
    }

    body.home-page .cm-map-marker-layer {
      position: absolute !important;
      inset: 0 !important;
      z-index: 3 !important;
      pointer-events: none !important;
    }

    body.home-page .cm-map-marker-layer .cm-map-marker {
      pointer-events: auto !important;
    }

    /* ═══════════════════════════════════════════════════════════════
       LUXURY ATLAS REFINEMENT — Editorial typographic hierarchy,
       cinematic depth, atmospheric fade, and paper grain.
       ═══════════════════════════════════════════════════════════════ */

    /* ── 1. Burlington: primary label — anchored, darker, most intentional ── */
    body.home-page .cm-map-marker[data-community="burlington"] {
      font-size: clamp(0.65rem, 0.76vw, 0.82rem) !important;
      font-weight: 600 !important;
      letter-spacing: 0.24em !important;
      color: rgba(10, 19, 37, 0.90) !important;
      opacity: 0.98 !important;
    }
    body.home-page .cm-map-marker[data-community="burlington"] .cm-map-marker__dot {
      width: 10px !important;
      height: 10px !important;
      flex-basis: 10px !important;
      background: rgba(10, 19, 37, 0.72) !important;
      border-color: rgba(248, 245, 240, 0.96) !important;
      box-shadow: 0 3px 12px rgba(10, 19, 37, 0.22) !important;
    }

    /* ── 1. Hamilton + Waterdown: secondary ── */
    body.home-page .cm-map-marker[data-community="hamilton"],
    body.home-page .cm-map-marker[data-community="waterdown"] {
      font-size: clamp(0.58rem, 0.66vw, 0.72rem) !important;
      font-weight: 500 !important;
      letter-spacing: 0.20em !important;
      color: rgba(17, 29, 51, 0.80) !important;
      opacity: 0.95 !important;
    }

    /* Active state: full intensity regardless of tier */
    body.home-page .cm-map-marker.is-active {
      color: rgba(8, 18, 38, 0.94) !important;
      opacity: 1 !important;
    }
    body.home-page .cm-map-marker.is-active .cm-map-marker__dot {
      background: #08182e !important;
      box-shadow: 0 4px 14px rgba(8, 24, 46, 0.24) !important;
    }

    /* ── 2. Lake Ontario: reduce contour/wave line visibility ~12% ── */
    body.home-page .cm-map-image {
      filter: contrast(0.99) brightness(1.022) saturate(0.92) !important;
    }

    /* ── 3. Map frame overlay disabled — section bg handles the transition ── */
    /* body.home-page .cm-map-frame::after — see rule above */

    /* ── 4. Cinematic vignette: shadow falloff at map edges ── */
    body.home-page .cm-map-panel::after {
      background:
        radial-gradient(
          ellipse at 62% 52%,
          transparent 42%,
          rgba(12, 18, 30, 0.044) 66%,
          rgba(8, 13, 22, 0.09) 100%
        ) !important;
      mix-blend-mode: multiply !important;
      opacity: 1 !important;
    }

    /* ── 4. Paper grain: extremely subtle texture across the map ── */
    body.home-page .cm-map-stage::before {
      content: '' !important;
      position: absolute !important;
      inset: 0 !important;
      z-index: 1 !important;
      pointer-events: none !important;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.76' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E") !important;
      background-size: 160px 160px !important;
      background-repeat: repeat !important;
      opacity: 0.036 !important;
      mix-blend-mode: soft-light !important;
    }

    /* ── 5. Section tonal depth: subtle edge vignette only —
            left-side cream is now handled by cm-left::after ── */
    body.home-page .cm-section::before {
      background:
        radial-gradient(
          ellipse at 54% 54%,
          transparent 54%,
          rgba(14, 22, 34, 0.04) 100%
        ) !important;
      opacity: 1 !important;
    }

    /* ── 6. Seam + text legibility fix ──
       Section-level overlay removed — it was visually dominating the text column.
       Seam gradient moved inside cm-left::after (z-index -1 within cm-left's
       stacking context) so it sits behind text but above the map at section level. ── */

    /* Disable the old section-level cream overlay entirely */
    body.home-page .cm-section::after {
      display: none !important;
    }

    /* Elevate cm-left well above the map panel (z-index 1) */
    body.home-page .cm-left {
      z-index: 10 !important;
      isolation: isolate !important;
    }

    /* Seam gradient removed — section background (#ede8df) provides the
       warm cream behind the text column cleanly with no overlay needed. */
    body.home-page .cm-left::after {
      display: none !important;
    }

    /* Restore text legibility — explicit, fully-opaque colour values */
    body.home-page .cm-heading {
      color: #0f1b30 !important;
      opacity: 1 !important;
    }
    body.home-page .cm-heading em {
      color: rgba(40, 56, 84, 0.72) !important;
      opacity: 1 !important;
    }
    body.home-page .cm-copy {
      color: rgba(28, 40, 62, 0.82) !important;
      opacity: 1 !important;
    }
    body.home-page .cm-eyebrow {
      opacity: 1 !important;
    }

    /* No seam to bridge on stacked layout — hide the pseudo-element */
    @media (max-width: 1100px) {
      body.home-page .cm-left::after {
        display: none !important;
      }
    }

    /* ─── Single-column editorial: mobile + tablet (≤1200px) ─── */
    @media (max-width: 1200px) {

      /* Section: reset desktop flex/height centering, let content stack naturally */
      body.home-page .cm-section {
        display: block !important;      /* was display:flex on desktop */
        height: auto !important;        /* was fixed height (e.g. 100vh) on desktop */
        padding: 40px 0 0 !important;
        overflow: hidden !important;
      }

      /* Inner: single column, no gaps, full width */
      body.home-page .cm-inner {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
        position: static !important;
        height: auto !important;
        max-width: 100% !important;
      }

      /* Left column: comfortable reading width, left-aligned */
      body.home-page .cm-left {
        padding: 0 24px !important;
        max-width: 640px !important;
        z-index: 1 !important;
        isolation: auto !important;
        order: 1 !important; /* text before map */
        justify-content: flex-start !important;
      }

      /* Disable all overlays */
      body.home-page .cm-section::before,
      body.home-page .cm-section::after,
      body.home-page .cm-left::after {
        display: none !important;
      }

      /* Heading: larger, tighter leading */
      body.home-page .cm-heading {
        font-size: clamp(2.6rem, 9.5vw, 3.4rem) !important;
        margin: 10px 0 14px !important;
        line-height: 0.95 !important;
        max-width: none !important;
      }

      /* Body copy */
      body.home-page .cm-copy {
        font-size: 0.95rem !important;
        line-height: 1.58 !important;
        max-width: none !important;
        margin-bottom: 14px !important;
      }

      /* Reorder flex children: header → CTA → Current Focus */
      body.home-page .cm-header {
        order: 1 !important;
      }
      body.home-page .cm-cta {
        order: 2 !important;
      }

      /* Current Focus: compact editorial block — tighter spacing than desktop */
      body.home-page .cm-insight {
        order: 3 !important;
        width: 100% !important;
        margin-top: 16px !important;
        margin-bottom: 20px !important;
        padding: 14px 0 0 !important;
      }

      /* Map panel: true full-bleed, breaks out of any padded ancestor */
      body.home-page .cm-map-panel {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        height: clamp(560px, 62vh, 760px) !important;
        overflow: hidden !important;
        display: block !important;
        z-index: auto !important;
        order: 2 !important;
      }

      /* Map frame: fill the panel exactly, no mask, no left-edge fade */
      body.home-page .cm-map-frame {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        transform: none !important;
        -webkit-mask-image: none !important;
        mask-image: none !important;
      }

      /* Map stage: the image and marker layer share the PNG's native coordinate system.
         All cropping happens by moving this single layer, so markers stay attached. */
      body.home-page .cm-map-stage {
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        height: 100% !important;
        width: auto !important;
        min-width: 100vw !important;
        aspect-ratio: 1682 / 935 !important;
        transform: translateX(-50%) !important;
      }

      /* Map image: fill the exact same stage the markers use */
      body.home-page .cm-map-image {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: fill !important;
      }

      /* SVG connector lines: hidden at this size */
      body.home-page .cm-svg {
        display: none !important;
      }

      /* Show all marker labels */
      body.home-page .cm-map-marker:not(.is-active) .cm-map-marker__label {
        display: block !important;
      }

      /* All markers fully visible */
      body.home-page .cm-map-marker {
        opacity: 1 !important;
      }
      body.home-page .cm-section.has-active .cm-map-marker:not(.is-active) {
        opacity: 1 !important;
      }

      /* Burlington label: push higher to clear "Lake Ontario" map-image text */
      body.home-page .cm-map-marker[data-community="burlington"] {
        --label-y: -28px !important;
      }
    }

    /* ─── Mid-tablet map nudge (481px–850px): shift east while moving the whole layer ─── */
    @media (min-width: 481px) and (max-width: 850px) {
      body.home-page .cm-map-stage {
        left: 45% !important;
        min-width: 122vw !important;
        transform: translateX(-50%) !important;
      }
    }

    /* ─── Narrow phone refinement (≤480px) ─────────────────────────── */
    @media (max-width: 480px) {
      body.home-page .cm-map-stage {
        left: 46% !important;
        min-width: 122vw !important;
        transform: translateX(-50%) !important;
      }
      body.home-page .cm-left {
        max-width: 100% !important;
        padding: 0 20px !important;
      }
    }

    /* ─── Communities hierarchy refinement: quieter editorial typography ─── */
    body.home-page .cm-eyebrow {
      gap: 0 !important;
      color: rgba(31, 42, 62, 0.52) !important;
      font-size: clamp(0.57rem, 0.58vw, 0.64rem) !important;
      font-weight: 600 !important;
      letter-spacing: 0.22em !important;
      line-height: 1.2 !important;
    }

    body.home-page .cm-eyebrow::before {
      display: none !important;
    }

    body.home-page .cm-header {
      margin-bottom: 0 !important;
    }

    body.home-page .cm-heading {
      max-width: 8.7em !important;
      margin-top: clamp(32px, 3.9vw, 52px) !important;
      margin-bottom: clamp(18px, 2vw, 28px) !important;
      font-size: clamp(2.7rem, 3.35vw, 3.72rem) !important;
      line-height: 0.97 !important;
      letter-spacing: 0 !important;
    }

    body.home-page .cm-heading em {
      display: inline-block !important;
      margin-top: 0.02em !important;
      color: rgba(40, 56, 84, 0.7) !important;
      font-weight: 400 !important;
    }

    body.home-page .cm-copy {
      max-width: 22.75rem !important;
      color: rgba(28, 40, 62, 0.78) !important;
      font-size: clamp(0.94rem, 0.94vw, 1rem) !important;
      line-height: 1.82 !important;
      margin-bottom: 0 !important;
    }

    body.home-page .cm-insight {
      width: min(248px, 100%) !important;
      margin-top: clamp(44px, 3.6vw, 58px) !important;
      margin-bottom: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-top: 0 !important;
      border-bottom: 0 !important;
      background: none !important;
      box-shadow: none !important;
    }

    body.home-page .cm-insight.is-updating {
      opacity: 0.48 !important;
      transform: none !important;
    }

    body.home-page .cm-insight__prompt {
      margin-bottom: 9px !important;
      color: rgba(31, 42, 62, 0.48) !important;
      font-size: clamp(0.55rem, 0.56vw, 0.61rem) !important;
      font-weight: 600 !important;
      letter-spacing: 0.22em !important;
      line-height: 1.2 !important;
      text-transform: uppercase !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 9px !important;
      color: #111d33 !important;
      font-size: clamp(1.18rem, 1.26vw, 1.42rem) !important;
      font-weight: 500 !important;
      line-height: 1.08 !important;
    }

    body.home-page .cm-insight__line {
      max-width: 21ch !important;
      color: rgba(40, 50, 67, 0.72) !important;
      font-size: clamp(0.82rem, 0.84vw, 0.9rem) !important;
      line-height: 1.56 !important;
    }

    body.home-page .cm-insight__link {
      gap: 16px !important;
      margin-top: 18px !important;
    }

    @media (max-width: 1200px) {
      body.home-page .cm-section {
        padding-top: clamp(72px, 9vw, 88px) !important;
      }

      body.home-page .cm-left {
        max-width: min(620px, 100%) !important;
      }

      body.home-page .cm-heading {
        max-width: 8.4em !important;
        margin-top: clamp(32px, 6vw, 46px) !important;
        margin-bottom: 20px !important;
        font-size: clamp(2.42rem, 7vw, 3.18rem) !important;
        line-height: 0.98 !important;
      }

      body.home-page .cm-copy {
        max-width: 28rem !important;
        line-height: 1.74 !important;
      }

      body.home-page .cm-insight {
        width: min(310px, 100%) !important;
        margin-top: clamp(54px, 8vw, 82px) !important;
        margin-bottom: 18px !important;
        padding: 0 !important;
      }
    }

    @media (max-width: 480px) {
      body.home-page .cm-heading {
        font-size: clamp(2.32rem, 11.2vw, 2.85rem) !important;
      }

      body.home-page .cm-copy {
        max-width: 25.5rem !important;
        line-height: 1.72 !important;
      }

      body.home-page .cm-insight {
        margin-top: 48px !important;
        margin-bottom: 20px !important;
      }
    }

    /* ─── Communities: insight tab selectors ─────────────────────── */

    body.home-page .cm-tabs {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 0 !important;
      margin: clamp(14px, 1.8vw, 20px) 0 clamp(12px, 1.4vw, 16px) !important;
      padding: 0 !important;
    }

    body.home-page .cm-tab {
      padding: 4px 20px 4px 0 !important;
      border: 0 !important;
      background: transparent !important;
      color: rgba(17, 29, 51, 0.30) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.59rem, 0.62vw, 0.66rem) !important;
      font-weight: 600 !important;
      letter-spacing: 0.16em !important;
      line-height: 1.4 !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      white-space: nowrap !important;
      transition: color 160ms ease !important;
    }

    body.home-page .cm-tab.is-active {
      color: rgba(17, 29, 51, 0.82) !important;
    }

    body.home-page .cm-tab:hover {
      color: rgba(17, 29, 51, 0.54) !important;
    }

    body.home-page .cm-tab:focus-visible {
      outline: 1px solid rgba(17, 29, 51, 0.20) !important;
      outline-offset: 3px !important;
      border-radius: 2px !important;
    }

    body.home-page .cm-insight__panel {
      transition: opacity 160ms ease !important;
    }

    body.home-page .cm-insight__panel.is-updating {
      opacity: 0 !important;
    }

    /* ═══════════════════════════════════════════════════════════════
       COMMUNITIES RESPONSIVE POLISH — v2
       Covers full stacked range: ≤1100px (where map position:relative kicks in)
       Breakpoints: ≤1100px · 481–850px mid-tablet · ≤480px mobile
       ═══════════════════════════════════════════════════════════════ */

    /* ── Stacked layout: ≤1100px ─────────────────────────────────── */
    @media (max-width: 1100px) {

      body.home-page .cm-section {
        padding-top: clamp(64px, 8vw, 88px) !important;
        padding-bottom: 0 !important;
      }

      body.home-page .cm-left {
        padding: 0 clamp(28px, 4vw, 52px) !important;
        max-width: min(680px, 100%) !important;
        margin-bottom: 0 !important;
      }

      body.home-page .cm-heading {
        font-size: clamp(2.6rem, 6vw, 3.4rem) !important;
        margin-top: 10px !important;
        margin-bottom: 18px !important;
      }

      body.home-page .cm-copy {
        max-width: 38rem !important;
        line-height: 1.72 !important;
      }

      /* Insight: premium editorial card feel, not leftover content */
      body.home-page .cm-insight {
        width: min(380px, 100%) !important;
        margin-top: clamp(28px, 3.5vw, 40px) !important;
        margin-bottom: 0 !important;
        padding-top: 18px !important;
        border-top: 1px solid rgba(17, 29, 51, 0.10) !important;
      }

      /* Map: full-bleed cinematic panel beneath the copy */
      body.home-page .cm-map-panel {
        margin-top: clamp(36px, 5vw, 52px) !important;
        height: clamp(460px, 54vh, 540px) !important;
      }

      /* Seam: cream gradient bridges copy area to map cleanly */
      body.home-page .cm-map-panel::before {
        content: '' !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 56px !important;
        background: linear-gradient(to bottom, #ede8df 0%, transparent 100%) !important;
        z-index: 5 !important;
        pointer-events: none !important;
      }

      /* Crop: eastern bias keeps Burlington + Lake Ontario in frame */
      body.home-page .cm-map-stage {
        left: 47% !important;
        min-width: 108vw !important;
        transform: translateX(-50%) !important;
      }
    }

    /* ── iPad portrait + mid-tablet crop refinement: 481–850px ──── */
    @media (min-width: 481px) and (max-width: 850px) {
      body.home-page .cm-section {
        padding-top: clamp(56px, 8vw, 76px) !important;
      }

      body.home-page .cm-left {
        padding: 0 clamp(24px, 4vw, 42px) !important;
      }

      body.home-page .cm-map-panel {
        height: clamp(440px, 54vh, 520px) !important;
      }

      body.home-page .cm-map-stage {
        left: 44% !important;
        min-width: 118vw !important;
        transform: translateX(-50%) !important;
      }
    }

    /* ── Mobile: ≤480px ──────────────────────────────────────────── */
    @media (max-width: 480px) {

      body.home-page .cm-section {
        padding-top: clamp(48px, 12vw, 60px) !important;
      }

      body.home-page .cm-left {
        padding: 0 20px !important;
        max-width: 100% !important;
      }

      body.home-page .cm-heading {
        font-size: clamp(2.28rem, 11vw, 2.78rem) !important;
        margin-top: 8px !important;
        margin-bottom: 14px !important;
      }

      body.home-page .cm-copy {
        font-size: 0.94rem !important;
        line-height: 1.68 !important;
        max-width: 100% !important;
      }

      /* Insight: compact and intentional on mobile */
      body.home-page .cm-insight {
        width: 100% !important;
        margin-top: clamp(22px, 5.5vw, 30px) !important;
        margin-bottom: 0 !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(17, 29, 51, 0.1) !important;
      }

      /* CTA: comfortable tap target */
      body.home-page .cm-insight__link {
        padding: 8px 0 !important;
        margin-top: 14px !important;
      }

      /* Tabs: tighter to reduce vertical height */
      body.home-page .cm-tabs {
        margin-top: 10px !important;
        margin-bottom: 10px !important;
      }

      /* Map: cinematic panel — worth scrolling to */
      body.home-page .cm-map-panel {
        margin-top: clamp(26px, 6.5vw, 36px) !important;
        height: clamp(340px, 44vh, 420px) !important;
      }

      body.home-page .cm-map-panel::before {
        height: 44px !important;
      }

      /* Tighter eastern crop: Burlington + Lake Ontario fills the frame */
      body.home-page .cm-map-stage {
        left: 44% !important;
        min-width: 132vw !important;
        transform: translateX(-50%) !important;
      }

      /* Hide Waterdown label on smallest mobile to reduce clutter — it remains interactive */
      body.home-page .cm-map-marker[data-community="waterdown"]:not(.is-active) .cm-map-marker__label {
        display: none !important;
      }
    }

    /* Client Stories: compact editorial spread */
    body.home-page .cs-section {
      padding-top: clamp(72px, 7.4vw, 108px) !important;
      padding-bottom: clamp(76px, 7.8vw, 116px) !important;
    }

    body.home-page .cs-inner {
      max-width: 1160px !important;
    }

    body.home-page .cs-header {
      margin-bottom: clamp(38px, 4.4vw, 58px) !important;
    }

    body.home-page .cs-section-title {
      font-size: clamp(2.5rem, 3.7vw, 4.25rem) !important;
      line-height: 0.98 !important;
    }

    body.home-page .cs-story {
      display: grid !important;
      align-items: center !important;
      gap: clamp(28px, 3.8vw, 56px) !important;
    }

    body.home-page .cs-story--a {
      grid-template-columns: minmax(0, 1fr) minmax(260px, 33%) !important;
    }

    body.home-page .cs-story--b {
      grid-template-columns: minmax(260px, 33%) minmax(0, 1fr) !important;
    }

    body.home-page .cs-story + .cs-story {
      margin-top: clamp(34px, 4.6vw, 58px) !important;
      padding-top: clamp(34px, 4.6vw, 58px) !important;
      border-top-color: rgba(247,245,240,0.095) !important;
    }

    body.home-page .cs-story__content,
    body.home-page .cs-story--a .cs-story__content,
    body.home-page .cs-story--b .cs-story__content {
      max-width: 520px !important;
      padding-top: 0 !important;
    }

    body.home-page .cs-story--b .cs-story__content {
      justify-self: end !important;
    }

    body.home-page .cs-story__label {
      margin-bottom: clamp(16px, 1.7vw, 22px) !important;
    }

    body.home-page .cs-story__proof {
      margin-bottom: clamp(16px, 1.7vw, 22px) !important;
    }

    body.home-page .cs-story__proof-line {
      display: flex !important;
      align-items: center !important;
      gap: 10px !important;
      margin-bottom: 8px !important;
    }

    body.home-page .cs-story__type {
      color: rgba(247,245,240,0.54) !important;
      font-family: var(--font-sans) !important;
      font-size: var(--type-meta) !important;
      font-weight: 500 !important;
      letter-spacing: 0.20em !important;
      line-height: var(--leading-meta) !important;
      text-transform: uppercase !important;
    }

    body.home-page .cs-story__pull {
      max-width: 15em !important;
      margin-bottom: clamp(13px, 1.5vw, 18px) !important;
      font-size: clamp(1.54rem, 2vw, 2.18rem) !important;
      line-height: 1.1 !important;
    }

    body.home-page .cs-story__highlight {
      max-width: 36ch !important;
      margin: 0 0 clamp(12px, 1.4vw, 17px) !important;
      color: rgba(247,245,240,0.84) !important;
      font-family: var(--font-serif) !important;
      font-size: clamp(1.02rem, 1.08vw, 1.18rem) !important;
      font-style: italic !important;
      font-weight: 400 !important;
      line-height: 1.36 !important;
    }

    body.home-page .cs-story__body {
      max-width: 42ch !important;
      color: rgba(240,236,228,0.66) !important;
      font-size: clamp(0.9rem, 0.92vw, 0.98rem) !important;
      line-height: 1.66 !important;
    }

    body.home-page .cs-story__attr {
      width: min(270px, 100%) !important;
      margin-top: clamp(15px, 1.7vw, 20px) !important;
      padding-top: clamp(12px, 1.2vw, 15px) !important;
    }

    body.home-page .cs-story__fig,
    body.home-page .cs-story--a .cs-story__fig,
    body.home-page .cs-story--b .cs-story__fig {
      width: min(100%, 330px) !important;
      height: clamp(330px, 30vw, 390px) !important;
      aspect-ratio: 4 / 5 !important;
      border: 1px solid rgba(247,245,240,0.08) !important;
      border-radius: 12px !important;
      transform: none !important;
      box-shadow: 0 14px 34px rgba(0,0,0,0.22), 0 2px 10px rgba(0,0,0,0.14) !important;
    }

    body.home-page .cs-story--a .cs-story__fig {
      justify-self: start !important;
    }

    body.home-page .cs-story--b .cs-story__fig {
      justify-self: end !important;
    }

    body.home-page .cs-story__fig img {
      filter: saturate(0.92) contrast(0.98) brightness(1.02) !important;
      transition-duration: 220ms !important;
    }

    body.home-page .cs-story__fig:hover img {
      transform: scale(1.025) !important;
    }

    body.home-page .cs-more {
      margin-top: clamp(26px, 3.4vw, 42px) !important;
      padding-top: clamp(18px, 2.2vw, 26px) !important;
      border-top: 1px solid rgba(247,245,240,0.095) !important;
    }

    body.home-page .cs-proof-note {
      max-width: 58ch !important;
      margin: clamp(28px, 3.6vw, 46px) auto 0 !important;
      color: rgba(247,245,240,0.36) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.78rem, 0.82vw, 0.88rem) !important;
      font-weight: 400 !important;
      line-height: 1.65 !important;
      text-align: center !important;
    }

    body.home-page .cs-more__link {
      display: inline-flex !important;
      align-items: center !important;
      gap: 16px !important;
      color: rgba(247,245,240,0.78) !important;
      font-size: var(--type-cta) !important;
      font-weight: 600 !important;
      letter-spacing: var(--tracking-action) !important;
      text-decoration: none !important;
      text-transform: none !important;
    }

    body.home-page .cs-more__link:hover,
    body.home-page .cs-more__link:focus-visible {
      color: rgba(247,245,240,0.96) !important;
      text-decoration: underline !important;
      text-underline-offset: 0.38em !important;
      text-decoration-thickness: 1px !important;
    }

    @media (max-width: 820px) {
      body.home-page .cs-section {
        padding-top: clamp(60px, 12vw, 82px) !important;
        padding-bottom: clamp(64px, 12vw, 88px) !important;
      }

      body.home-page .cs-header {
        margin-bottom: 34px !important;
      }

      body.home-page .cs-story,
      body.home-page .cs-story--a,
      body.home-page .cs-story--b {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
      }

      body.home-page .cs-story--b .cs-story__content {
        justify-self: start !important;
      }

      body.home-page .cs-story__fig,
      body.home-page .cs-story--a .cs-story__fig,
      body.home-page .cs-story--b .cs-story__fig {
        width: min(100%, 360px) !important;
        height: clamp(286px, 80vw, 360px) !important;
        max-height: none !important;
        justify-self: start !important;
      }

      body.home-page .cs-story__pull {
        font-size: clamp(1.42rem, 6vw, 1.88rem) !important;
      }

      body.home-page .cs-story__highlight {
        font-size: clamp(1rem, 4.2vw, 1.12rem) !important;
      }

      body.home-page .cs-story + .cs-story {
        margin-top: 34px !important;
        padding-top: 34px !important;
      }

      body.home-page .cs-proof-note {
        margin-top: 30px !important;
        text-align: left !important;
      }
    }

    /* Hero slideshow narrative refinement */
    body.home-page .hero__media-slide {
      filter: saturate(0.92) contrast(1.02) brightness(0.86) !important;
      transition:
        opacity 1200ms cubic-bezier(0.4, 0, 0.2, 1),
        transform 7600ms cubic-bezier(0.16, 0.72, 0.24, 1) !important;
    }

    body.home-page .hero__media-slide--first-frame {
      transition:
        opacity 900ms cubic-bezier(0.2, 0, 0.36, 1),
        transform 7600ms cubic-bezier(0.16, 0.72, 0.24, 1) !important;
    }

    body.home-page .hero__h1-location {
      max-width: 21rem !important;
      margin-bottom: clamp(26px, 3.2vh, 34px) !important;
      color: rgba(238,235,228,0.56) !important;
      font-style: normal !important;
      letter-spacing: 0.22em !important;
      line-height: 1.5 !important;
      text-shadow: 0 1px 14px rgba(0,0,0,0.30) !important;
    }

    body.home-page .hero__h1-line {
      color: rgba(250,246,237,0.93) !important;
    }

    body.home-page .hero__h1-em {
      color: rgba(218,207,187,0.62) !important;
    }

    body.home-page .hero__sub {
      margin-top: clamp(32px, 3.8vh, 40px) !important;
      color: rgba(250,246,237,0.56) !important;
    }

    body.home-page .hero__location-kicker {
      font-family: var(--font-sans) !important;
      font-style: normal !important;
      font-size: 9.5px !important;
      font-weight: 600 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      color: rgba(218,207,187,0.48) !important;
    }

    body.home-page .hero__location-name {
      color: rgba(250,246,237,0.80) !important;
    }

    /* ── Communities seam fix ──────────────────────────────────────
       Problem:  cm-map-panel (z-index: 1) is absolutely positioned
                 on the right; cm-map-frame's mask fades the image
                 but only over 10% (~100px) — not enough to hide the
                 boundary between the cream left panel and the map.
       Solution: cm-left::after extends rightward past cm-left's
                 right edge into the gap + left map edge, carrying a
                 warm cream-to-transparent gradient.
                 z-index: -1 within cm-left's isolated stacking
                 context (z-index: 10) keeps it behind the text but
                 visually above cm-map-panel.
       Off:      ≤1100px the panel stacks — no seam, overlay hidden.
    ── */
    body.home-page .cm-left::after {
      content: '' !important;
      display: block !important;
      position: absolute !important;
      top: -400px !important;
      bottom: -400px !important;
      left: 100% !important;
      width: clamp(140px, 17vw, 230px) !important;
      background: linear-gradient(
        to right,
        #eee9e1 0%,
        rgba(238,233,225,0.86) 20%,
        rgba(238,233,225,0.60) 46%,
        rgba(238,233,225,0.26) 72%,
        transparent 100%
      ) !important;
      pointer-events: none !important;
      z-index: -1 !important;
    }

    /* Stacked layout: no horizontal seam — disable the overlay */
    @media (max-width: 1200px) {
      body.home-page .cm-left::after {
        display: none !important;
      }
    }

    /* ── Local Expertise review pass: compact laptop rhythm + clean map split ── */
    @media (min-width: 1101px) {
      body.home-page .cm-section {
        display: flex !important;
        height: calc(100svh - var(--nav-height, 88px)) !important;
        min-height: 620px !important;
        padding-top: clamp(20px, 3svh, 38px) !important;
        padding-bottom: clamp(20px, 3svh, 38px) !important;
        overflow: hidden !important;
        align-items: center !important;
      }

      body.home-page .cm-inner {
        width: 100% !important;
        max-width: min(1320px, calc(100% - clamp(48px, 7vw, 112px))) !important;
        grid-template-columns: minmax(320px, 0.32fr) minmax(0, 0.68fr) !important;
        gap: clamp(28px, 3vw, 48px) !important;
        align-items: center !important;
        position: static !important;
      }

      body.home-page .cm-left {
        max-width: 372px !important;
        padding: clamp(16px, 2.5svh, 30px) 0 !important;
        align-self: center !important;
        justify-content: center !important;
        z-index: 3 !important;
      }

      body.home-page .cm-left::after {
        display: none !important;
      }

      body.home-page .cm-header {
        margin-bottom: clamp(8px, 1.4svh, 14px) !important;
      }

      body.home-page .cm-heading {
        margin-top: clamp(16px, 2.4svh, 30px) !important;
        margin-bottom: clamp(10px, 1.5svh, 16px) !important;
      }

      body.home-page .cm-copy {
        max-width: 23rem !important;
        line-height: 1.62 !important;
      }

      body.home-page .cm-insight {
        width: min(292px, 100%) !important;
        margin-top: clamp(22px, 3.2svh, 34px) !important;
      }

      body.home-page .cm-insight__prompt {
        margin-bottom: 6px !important;
      }

      body.home-page .cm-tabs {
        margin: clamp(8px, 1.3svh, 12px) 0 clamp(8px, 1.3svh, 12px) !important;
      }

      body.home-page .cm-insight__name {
        margin-bottom: 6px !important;
      }

      body.home-page .cm-insight__line {
        line-height: 1.46 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: clamp(10px, 1.7svh, 14px) !important;
      }

      body.home-page .cm-map-panel {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: clamp(500px, 41vw, 1050px) !important;
        width: auto !important;
        height: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
      }

      body.home-page .cm-map-frame {
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 100%) !important;
        mask-image: linear-gradient(90deg, transparent 0%, #000 3.5%, #000 100%) !important;
      }

      body.home-page .cm-map-frame::after {
        background: linear-gradient(90deg, rgba(237,232,223,0.24) 0%, rgba(237,232,223,0.10) 3.5%, transparent 8%, transparent 100%) !important;
      }
    }

    @media (min-width: 1101px) and (max-height: 820px) {
      body.home-page .cm-section {
        padding-top: clamp(16px, 2svh, 24px) !important;
        padding-bottom: clamp(16px, 2svh, 24px) !important;
      }

      body.home-page .cm-heading {
        margin-top: 14px !important;
        margin-bottom: 10px !important;
      }

      body.home-page .cm-copy {
        line-height: 1.55 !important;
      }

      body.home-page .cm-insight {
        margin-top: 20px !important;
      }

      body.home-page .cm-tabs {
        margin: 7px 0 8px !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 10px !important;
      }
    }

    @media (max-width: 1100px) {
      body.home-page .cm-section {
        height: auto !important;
        overflow: visible !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 14px !important;
      }
    }

    /* ── Local Expertise correction: true editorial split-screen ── */
    @media (min-width: 1101px) {
      body.home-page .cm-section {
        display: block !important;
        height: calc(100vh - var(--nav-height, 88px)) !important;
        min-height: 660px !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ede8df !important;
      }

      body.home-page .cm-inner {
        display: grid !important;
        grid-template-columns: minmax(460px, 38%) minmax(0, 62%) !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        gap: 0 !important;
        align-items: stretch !important;
        position: relative !important;
      }

      body.home-page .cm-left {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: clamp(42px, 6vh, 76px) clamp(28px, 3.4vw, 64px) clamp(42px, 6vh, 76px) clamp(64px, 7vw, 132px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-self: stretch !important;
        overflow: visible !important;
        z-index: 3 !important;
      }

      body.home-page .cm-left::after,
      body.home-page .cm-section::after {
        display: none !important;
      }

      body.home-page .cm-header,
      body.home-page .cm-insight,
      body.home-page .cm-eyebrow,
      body.home-page .cm-heading,
      body.home-page .cm-copy {
        max-width: min(500px, 100%) !important;
      }

      body.home-page .cm-header {
        margin-bottom: 0 !important;
      }

      body.home-page .cm-eyebrow {
        margin-bottom: 0 !important;
      }

      body.home-page .cm-heading {
        max-width: 500px !important;
        margin-top: clamp(22px, 3.2vh, 40px) !important;
        margin-bottom: clamp(16px, 2.1vh, 24px) !important;
        font-size: clamp(3rem, 3.65vw, 4.3rem) !important;
        line-height: 0.96 !important;
      }

      body.home-page .cm-heading em {
        display: block !important;
        white-space: nowrap !important;
      }

      body.home-page .cm-copy {
        max-width: 470px !important;
        line-height: 1.68 !important;
      }

      body.home-page .cm-insight {
        width: min(420px, 100%) !important;
        margin-top: clamp(30px, 4.2vh, 48px) !important;
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }

      body.home-page .cm-insight__prompt {
        margin-bottom: 9px !important;
      }

      body.home-page .cm-tabs {
        margin: clamp(12px, 1.6vh, 16px) 0 clamp(12px, 1.6vh, 16px) !important;
      }

      body.home-page .cm-insight__name {
        margin-bottom: 8px !important;
      }

      body.home-page .cm-insight__line {
        max-width: 31ch !important;
        line-height: 1.52 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: clamp(14px, 2vh, 20px) !important;
      }

      body.home-page .cm-map-panel {
        position: relative !important;
        inset: auto !important;
        grid-column: 2 !important;
        --cm-map-bleed: clamp(96px, 7vw, 220px);
        width: calc(100% + var(--cm-map-bleed)) !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 calc(-1 * var(--cm-map-bleed)) 0 0 !important;
        overflow: hidden !important;
        align-self: stretch !important;
      }

      body.home-page .cm-map-frame {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        transform: none !important;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%) !important;
        mask-image: linear-gradient(90deg, transparent 0, #000 48px, #000 100%) !important;
      }

      body.home-page .cm-map-frame::after {
        background: linear-gradient(90deg, rgba(237,232,223,0.14) 0, rgba(237,232,223,0.04) 40px, transparent 72px, transparent 100%) !important;
      }

      body.home-page .cm-map-image {
        object-fit: cover !important;
        object-position: 61% center !important;
        transform: none !important;
        transform-origin: center center !important;
      }
    }

    @media (min-width: 1101px) and (max-height: 780px) {
      body.home-page .cm-section {
        min-height: 620px !important;
      }

      body.home-page .cm-left {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
      }

      body.home-page .cm-heading {
        margin-top: 18px !important;
        margin-bottom: 14px !important;
        font-size: clamp(2.72rem, 3.35vw, 3.85rem) !important;
      }

      body.home-page .cm-copy {
        line-height: 1.56 !important;
      }

      body.home-page .cm-insight {
        margin-top: 24px !important;
      }

      body.home-page .cm-tabs {
        margin: 10px 0 10px !important;
      }

      body.home-page .cm-insight__line {
        line-height: 1.44 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 12px !important;
      }
    }

    @media (min-width: 1101px) and (max-width: 1320px) {
      body.home-page .cm-inner {
        grid-template-columns: minmax(500px, 40%) minmax(0, 60%) !important;
      }

      body.home-page .cm-left {
        padding-left: clamp(56px, 6vw, 84px) !important;
        padding-right: clamp(28px, 3vw, 44px) !important;
      }
    }

    /* ── Local Expertise perspective nav refinement ── */
    body.home-page .cm-insight__prompt {
      margin: 0 0 clamp(12px, 1.7vh, 18px) !important;
      color: rgba(17, 29, 51, 0.62) !important;
      font-size: clamp(0.62rem, 0.62vw, 0.72rem) !important;
      font-weight: 700 !important;
      letter-spacing: 0.19em !important;
      line-height: 1.25 !important;
      text-transform: uppercase !important;
    }

    body.home-page .cm-tabs {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 8px 10px !important;
      width: min(390px, 100%) !important;
      margin: 0 0 clamp(18px, 2.3vh, 24px) !important;
      padding: 6px !important;
      border: 1px solid rgba(17, 29, 51, 0.075) !important;
      background: rgba(255, 252, 246, 0.28) !important;
    }

    body.home-page .cm-tab {
      position: relative !important;
      min-height: 34px !important;
      padding: 9px 12px 8px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      border: 0 !important;
      background: transparent !important;
      color: rgba(17, 29, 51, 0.52) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.62rem, 0.62vw, 0.7rem) !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      line-height: 1.15 !important;
      text-align: left !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      white-space: nowrap !important;
      transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease !important;
    }

    body.home-page .cm-tab::after {
      content: '' !important;
      position: absolute !important;
      left: 12px !important;
      right: 12px !important;
      bottom: 5px !important;
      height: 1px !important;
      background: rgba(17, 29, 51, 0.28) !important;
      transform: scaleX(0) !important;
      transform-origin: left center !important;
      transition: transform 180ms ease, background-color 180ms ease !important;
    }

    body.home-page .cm-tab.is-active {
      background: rgba(17, 29, 51, 0.055) !important;
      color: rgba(17, 29, 51, 0.9) !important;
    }

    body.home-page .cm-tab.is-active::after {
      transform: scaleX(1) !important;
      background: rgba(17, 29, 51, 0.42) !important;
    }

    body.home-page .cm-tab:hover {
      background: rgba(17, 29, 51, 0.035) !important;
      color: rgba(17, 29, 51, 0.76) !important;
    }

    body.home-page .cm-tab:focus-visible {
      outline: 1px solid rgba(17, 29, 51, 0.22) !important;
      outline-offset: 2px !important;
      border-radius: 2px !important;
    }

    body.home-page .cm-insight__panel {
      padding-top: clamp(2px, 0.45vh, 6px) !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 10px !important;
    }

    body.home-page .cm-insight__line {
      max-width: 34ch !important;
      line-height: 1.56 !important;
    }

    body.home-page .cm-insight__link {
      margin-top: clamp(16px, 2vh, 22px) !important;
    }

    @media (min-width: 1101px) and (max-height: 780px) {
      body.home-page .cm-insight__prompt {
        margin-bottom: 10px !important;
      }

      body.home-page .cm-tabs {
        gap: 6px 8px !important;
        margin-bottom: 14px !important;
        padding: 5px !important;
      }

      body.home-page .cm-tab {
        min-height: 31px !important;
        padding-top: 8px !important;
        padding-bottom: 7px !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 12px !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-tabs {
        gap: 7px !important;
        padding: 5px !important;
      }

      body.home-page .cm-tab {
        min-height: 36px !important;
        padding: 9px 8px 8px !important;
        font-size: 0.58rem !important;
        letter-spacing: 0.12em !important;
      }
    }

    /* ── Local Perspective: elite editorial navigation treatment ── */
    body.home-page .cm-insight {
      position: relative !important;
    }

    body.home-page .cm-insight::before {
      content: '' !important;
      display: block !important;
      width: 54px !important;
      height: 1px !important;
      margin: 0 0 clamp(16px, 2vh, 22px) !important;
      background: rgba(125, 112, 88, 0.34) !important;
    }

    body.home-page .cm-insight__prompt {
      margin: 0 0 clamp(15px, 2vh, 22px) !important;
      color: rgba(17, 29, 51, 0.72) !important;
      font-size: clamp(0.66rem, 0.66vw, 0.76rem) !important;
      font-weight: 700 !important;
      letter-spacing: 0.165em !important;
    }

    body.home-page .cm-tabs {
      width: min(420px, 100%) !important;
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: clamp(12px, 1.45vh, 16px) clamp(26px, 2.6vw, 42px) !important;
      margin: 0 0 clamp(22px, 2.8vh, 32px) !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
    }

    body.home-page .cm-tab {
      min-height: 38px !important;
      padding: 0 0 9px !important;
      display: inline-flex !important;
      align-items: flex-end !important;
      justify-content: flex-start !important;
      background: transparent !important;
      color: rgba(17, 29, 51, 0.56) !important;
      font-size: clamp(0.68rem, 0.68vw, 0.78rem) !important;
      font-weight: 700 !important;
      letter-spacing: 0.115em !important;
      line-height: 1.15 !important;
    }

    body.home-page .cm-tab::after {
      left: 0 !important;
      right: auto !important;
      bottom: 0 !important;
      width: min(100%, 128px) !important;
      height: 1px !important;
      background: rgba(125, 112, 88, 0.54) !important;
      transform: scaleX(0) !important;
    }

    body.home-page .cm-tab.is-active {
      background: transparent !important;
      color: rgba(17, 29, 51, 0.95) !important;
    }

    body.home-page .cm-tab.is-active::after {
      transform: scaleX(1) !important;
      background: rgba(125, 112, 88, 0.64) !important;
    }

    body.home-page .cm-tab:hover {
      background: transparent !important;
      color: rgba(17, 29, 51, 0.82) !important;
    }

    body.home-page .cm-insight__panel {
      position: relative !important;
      padding-top: clamp(20px, 2.6vh, 30px) !important;
    }

    body.home-page .cm-insight__panel::before {
      content: '' !important;
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: min(100%, 340px) !important;
      height: 1px !important;
      background: linear-gradient(90deg, rgba(125,112,88,0.28), rgba(125,112,88,0.08) 72%, transparent) !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 10px !important;
      font-size: clamp(1.32rem, 1.46vw, 1.72rem) !important;
      line-height: 1.06 !important;
    }

    body.home-page .cm-insight__line {
      max-width: 36ch !important;
      color: rgba(40, 50, 67, 0.74) !important;
      line-height: 1.6 !important;
    }

    body.home-page .cm-insight__link {
      margin-top: clamp(18px, 2.4vh, 26px) !important;
    }

    @media (min-width: 1101px) and (max-height: 780px) {
      body.home-page .cm-insight::before {
        margin-bottom: 13px !important;
      }

      body.home-page .cm-insight__prompt {
        margin-bottom: 12px !important;
      }

      body.home-page .cm-tabs {
        gap: 9px 28px !important;
        margin-bottom: 18px !important;
      }

      body.home-page .cm-tab {
        min-height: 32px !important;
        padding-bottom: 7px !important;
      }

      body.home-page .cm-insight__panel {
        padding-top: 17px !important;
      }

      body.home-page .cm-insight__line {
        line-height: 1.48 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 14px !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-insight::before {
        margin-bottom: 14px !important;
      }

      body.home-page .cm-tabs {
        gap: 10px 20px !important;
        margin-bottom: 22px !important;
      }

      body.home-page .cm-tab {
        min-height: 38px !important;
        padding: 0 0 9px !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.105em !important;
      }
    }

    /* ── Local Perspective: restraint pass ── */
    body.home-page .cm-insight::before,
    body.home-page .cm-insight__panel::before,
    body.home-page .cm-tab::after {
      display: none !important;
    }

    body.home-page .cm-insight__prompt {
      margin: 0 0 clamp(14px, 1.8vh, 20px) !important;
      color: rgba(17, 29, 51, 0.66) !important;
      font-size: clamp(0.65rem, 0.64vw, 0.74rem) !important;
      font-weight: 700 !important;
      letter-spacing: 0.15em !important;
    }

    body.home-page .cm-tabs {
      width: min(390px, 100%) !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: clamp(11px, 1.35vh, 15px) clamp(30px, 3vw, 48px) !important;
      margin: 0 0 clamp(24px, 3vh, 34px) !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
    }

    body.home-page .cm-tab {
      min-height: 30px !important;
      padding: 0 !important;
      align-items: flex-start !important;
      background: transparent !important;
      color: rgba(17, 29, 51, 0.52) !important;
      font-size: clamp(0.66rem, 0.66vw, 0.76rem) !important;
      font-weight: 650 !important;
      letter-spacing: 0.105em !important;
      transition: color 180ms ease, opacity 180ms ease !important;
    }

    body.home-page .cm-tab.is-active {
      color: rgba(17, 29, 51, 0.9) !important;
      font-weight: 750 !important;
      background: transparent !important;
    }

    body.home-page .cm-tab:hover {
      color: rgba(17, 29, 51, 0.72) !important;
      background: transparent !important;
    }

    body.home-page .cm-insight__panel {
      padding-top: 0 !important;
    }

    body.home-page .cm-insight__name {
      margin-bottom: 9px !important;
      font-size: clamp(1.34rem, 1.42vw, 1.66rem) !important;
      line-height: 1.08 !important;
    }

    body.home-page .cm-insight__line {
      max-width: 35ch !important;
      line-height: 1.58 !important;
    }

    body.home-page .cm-insight__link {
      margin-top: clamp(18px, 2.2vh, 24px) !important;
    }

    /* ── Static editorial insight — remove old card/tab chrome ───── */
    body.home-page .cm-insight::before {
      display: none !important;
    }

    body.home-page .cm-insight {
      border-top: 0 !important;
      padding-top: 0 !important;
    }

    body.home-page .cm-insight__name {
      font-family: var(--font-sans) !important;
      font-size: clamp(0.82rem, 0.90vw, 0.96rem) !important;
      font-weight: 500 !important;
      letter-spacing: 0.01em !important;
      line-height: 1.35 !important;
      color: rgba(17, 29, 51, 0.72) !important;
      margin: 0 0 clamp(9px, 1vw, 13px) !important;
    }

    body.home-page .cm-service-area {
      order: 4 !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(10px, 0.76vw, 11px) !important;
      font-weight: 400 !important;
      line-height: 1.65 !important;
      letter-spacing: 0.01em !important;
      color: rgba(17, 29, 51, 0.34) !important;
      margin: clamp(22px, 2.6vw, 36px) 0 0 !important;
      max-width: 38ch !important;
    }

    @media (min-width: 1101px) and (max-height: 780px) {
      body.home-page .cm-insight__prompt {
        margin-bottom: 11px !important;
      }

      body.home-page .cm-tabs {
        gap: 8px 30px !important;
        margin-bottom: 17px !important;
      }

      body.home-page .cm-tab {
        min-height: 26px !important;
      }

      body.home-page .cm-insight__line {
        line-height: 1.48 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: 13px !important;
      }
    }

    @media (max-width: 620px) {
      body.home-page .cm-tabs {
        gap: 10px 22px !important;
        margin-bottom: 24px !important;
      }

      body.home-page .cm-tab {
        min-height: 32px !important;
        font-size: 0.63rem !important;
      }
    }

    /* ═══════════════════════════════════════════════════════════
       EDITORIAL FLOW — Trust Divider · Buyers · Sellers · Testimonial
       ═══════════════════════════════════════════════════════════ */

    /* ── Trust Divider ─────────────────────────────────────────── */
    body.home-page .td-section {
      background: #F6F2EB !important;
      padding: clamp(30px, 3.4vw, 48px) clamp(24px, 6vw, 80px) clamp(28px, 3.2vw, 44px) !important;
      text-align: center !important;
    }
    body.home-page .td-rule,
    body.home-page .td-label,
    body.home-page .td-support {
      display: none !important;
    }
    body.home-page .td-heading {
      font-family: var(--font-serif) !important;
      font-size: clamp(3rem, 3.65vw, 4.3rem) !important;
      font-weight: 500 !important;
      line-height: 0.96 !important;
      letter-spacing: -0.01em !important;
      color: #0F1B30 !important;
      max-width: 500px !important;
      margin: 0 auto !important;
      text-wrap: balance !important;
    }

    body.home-page .td-heading em {
      display: block !important;
      font-style: italic !important;
      font-weight: 400 !important;
      white-space: nowrap !important;
      color: rgba(40, 56, 84, 0.7) !important;
    }
    body.home-page .td-heading--editorial-reveal.reveal {
      opacity: 0 !important;
      transform: translateY(18px) scale(0.985) !important;
      filter: blur(4px) !important;
      transition:
        opacity 1250ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 1250ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 1250ms cubic-bezier(0.22, 1, 0.36, 1) !important;
      will-change: opacity, transform, filter !important;
    }
    body.home-page .td-heading--editorial-reveal.reveal.is-visible {
      opacity: 1 !important;
      transform: none !important;
      filter: blur(0) !important;
    }
    /* ── Buyers Feature (dark) ─────────────────────────────────── */
    body.home-page .bf-section {
      position: relative !important;
      z-index: 1 !important;
      display: grid !important;
      grid-template-columns: 38% 62% !important;
      min-height: clamp(480px, 46vw, 560px) !important;
      overflow: hidden !important;
      background: linear-gradient(180deg, #040608 0%, #05070A 100%) !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.065),
        inset 0 -1px 0 rgba(255, 255, 255, 0.08) !important;
    }
    body.home-page .bf-text {
      position: relative !important;
      z-index: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      padding: clamp(64px, 8vw, 108px) clamp(40px, 5.2vw, 80px) !important;
      border-right: 1px solid rgba(255, 255, 255, 0.09) !important;
      box-shadow:
        inset -80px 0 120px rgba(255, 255, 255, 0.026),
        inset 1px 0 0 rgba(255, 255, 255, 0.055) !important;
    }
    body.home-page .bf-eyebrow {
      color: rgba(214, 196, 160, 0.44) !important;
      margin-bottom: clamp(14px, 1.6vw, 20px) !important;
    }
    body.home-page .bf-heading {
      color: rgba(245, 242, 236, 0.90) !important;
      font-size: clamp(2.0rem, 3.0vw, 3.4rem) !important;
      line-height: 1.04 !important;
      margin-bottom: clamp(28px, 3.2vw, 44px) !important;
      max-width: 9.5em !important;
    }
    body.home-page .bf-heading em {
      color: rgba(245, 242, 236, 0.60) !important;
    }
    body.home-page .bf-cta {
      color: rgba(214, 196, 160, 0.54) !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 10px !important;
      text-decoration: none !important;
    }
    body.home-page .bf-cta:hover,
    body.home-page .bf-cta:focus-visible {
      color: rgba(245, 242, 236, 0.88) !important;
    }
    body.home-page .bf-image {
      position: relative !important;
      overflow: hidden !important;
    }
    body.home-page .bf-image::before {
      content: "" !important;
      position: absolute !important;
      inset: 0 !important;
      z-index: 1 !important;
      pointer-events: none !important;
      background:
        linear-gradient(90deg, rgba(4, 6, 8, 0.26) 0%, rgba(4, 6, 8, 0.12) 7%, transparent 20%),
        linear-gradient(180deg, transparent 70%, rgba(4, 6, 8, 0.24) 100%) !important;
    }
    body.home-page .bf-image img {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: 62% 58% !important;
      filter: brightness(0.90) saturate(0.96) !important;
    }

    /* ── Whitespace gap ────────────────────────────────────────── */
    body.home-page .ef-gap {
      background: #F6F2EB !important;
      height: 0 !important;
    }

    /* ── Sellers Feature (light) ───────────────────────────────── */
    body.home-page .sf-section {
      position: relative !important;
      z-index: 2 !important;
      display: grid !important;
      grid-template-columns: 58% 42% !important;
      min-height: clamp(480px, 46vw, 560px) !important;
      margin-top: clamp(-44px, -3vw, -30px) !important;
      overflow: hidden !important;
      background: #F6F2EB !important;
      border-top: 1px solid rgba(15, 18, 20, 0.09) !important;
      box-shadow:
        0 -22px 68px -46px rgba(4, 6, 8, 0.78),
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 -1px 0 rgba(15, 18, 20, 0.07) !important;
    }
    body.home-page .sf-image {
      position: relative !important;
      overflow: hidden !important;
      order: -1 !important;
      border-right: 1px solid rgba(15, 18, 20, 0.095) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.42) !important;
    }
    body.home-page .sf-image::before {
      content: "" !important;
      position: absolute !important;
      inset: 0 !important;
      z-index: 1 !important;
      pointer-events: none !important;
      background:
        linear-gradient(90deg, transparent 76%, rgba(246, 242, 235, 0.22) 100%),
        linear-gradient(180deg, rgba(15, 18, 20, 0.065) 0%, transparent 18%) !important;
    }
    body.home-page .sf-image img {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      object-position: center !important;
      filter: brightness(0.97) saturate(0.94) !important;
    }
    body.home-page .sf-text {
      position: relative !important;
      z-index: 2 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      padding: clamp(56px, 7vw, 96px) clamp(40px, 5.2vw, 72px) !important;
      order: 1 !important;
      box-shadow: inset 1px 0 0 rgba(15, 18, 20, 0.07) !important;
    }
    body.home-page .sf-eyebrow {
      color: rgba(15, 18, 20, 0.38) !important;
      margin-bottom: clamp(14px, 1.6vw, 20px) !important;
    }
    body.home-page .sf-heading {
      color: rgba(15, 18, 20, 0.88) !important;
      font-size: clamp(2.0rem, 3.0vw, 3.4rem) !important;
      line-height: 1.04 !important;
      margin-bottom: clamp(18px, 2.0vw, 26px) !important;
      max-width: 11em !important;
    }
    body.home-page .sf-heading em {
      color: rgba(15, 18, 20, 0.56) !important;
    }
    body.home-page .sf-copy {
      font-family: var(--font-sans) !important;
      font-size: clamp(0.88rem, 0.94vw, 0.98rem) !important;
      font-weight: 300 !important;
      line-height: 1.72 !important;
      color: rgba(15, 18, 20, 0.58) !important;
      max-width: 36ch !important;
      margin: 0 0 clamp(22px, 2.4vw, 32px) !important;
    }
    body.home-page .sf-cta {
      color: rgba(15, 18, 20, 0.46) !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 10px !important;
      text-decoration: none !important;
    }
    body.home-page .sf-cta:hover,
    body.home-page .sf-cta:focus-visible {
      color: rgba(15, 18, 20, 0.82) !important;
    }

    /* ── Testimonial Teaser ─────────────────────────────────────── */
    body.home-page .ct-section {
      background: #0D1116 !important;
      padding: clamp(56px, 6.5vw, 86px) clamp(24px, 6vw, 80px) !important;
      position: relative !important;
      overflow: hidden !important;
      isolation: isolate !important;
    }
    body.home-page .ct-inner {
      max-width: 760px !important;
      margin: 0 auto !important;
      text-align: center !important;
      position: relative !important;
      z-index: 1 !important;
    }
    body.home-page .ct-eyebrow {
      color: rgba(245, 242, 236, 0.46) !important;
      margin-bottom: clamp(10px, 1.2vw, 16px) !important;
      display: block !important;
    }
    body.home-page .ct-heading {
      color: rgba(245, 242, 236, 0.68) !important;
      font-size: clamp(1.85rem, 2.55vw, 3.05rem) !important;
      line-height: 1 !important;
      margin-bottom: clamp(28px, 3.6vw, 44px) !important;
    }
    body.home-page .ct-carousel {
      display: grid !important;
      align-items: center !important;
      margin: 0 auto clamp(18px, 2.2vw, 28px) !important;
    }
    body.home-page .ct-slide {
      grid-area: 1 / 1 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
      transition:
        opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 900ms !important;
    }
    body.home-page .ct-slide.is-active {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      transition:
        opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 0s !important;
    }
    body.home-page .ct-quote {
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
    }
    body.home-page .ct-quote__text {
      display: block !important;
      font-family: var(--font-serif) !important;
      font-size: clamp(1.90rem, 2.75vw, 3.38rem) !important;
      font-weight: 400 !important;
      font-style: italic !important;
      line-height: 1.2 !important;
      color: rgba(245, 242, 236, 0.84) !important;
      max-width: 18em !important;
      margin: 0 auto clamp(22px, 2.5vw, 34px) !important;
    }
    body.home-page .ct-quote__footer {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-direction: column !important;
      gap: clamp(6px, 0.8vw, 9px) !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.62rem, 0.68vw, 0.74rem) !important;
      font-weight: 500 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      color: rgba(245, 242, 236, 0.34) !important;
    }
    body.home-page .ct-quote__name {
      color: rgba(245, 242, 236, 0.62) !important;
    }
    body.home-page .ct-quote__meta {
      letter-spacing: 0.10em !important;
      text-transform: none !important;
      color: rgba(245, 242, 236, 0.34) !important;
    }
    body.home-page .ct-controls {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 12px !important;
      margin-top: clamp(22px, 2.4vw, 32px) !important;
    }
    body.home-page .ct-control {
      width: 42px !important;
      height: 28px !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      color: inherit !important;
      padding: 0 !important;
      cursor: pointer !important;
      position: relative !important;
    }
    body.home-page .ct-control::before {
      content: "" !important;
      position: absolute !important;
      left: 50% !important;
      top: 50% !important;
      width: 32px !important;
      height: 1px !important;
      transform: translate(-50%, -50%) !important;
      background: rgba(245, 242, 236, 0.22) !important;
      transition: background-color 260ms ease, width 260ms ease !important;
    }
    body.home-page .ct-control.is-active::before,
    body.home-page .ct-control:hover::before,
    body.home-page .ct-control:focus-visible::before {
      width: 42px !important;
      background: rgba(245, 242, 236, 0.58) !important;
    }
    body.home-page .ct-control:focus-visible {
      outline: 1px solid rgba(245, 242, 236, 0.42) !important;
      outline-offset: 5px !important;
    }
    body.home-page .ct-more {
      margin-top: clamp(24px, 3vw, 38px) !important;
      padding-top: clamp(16px, 1.8vw, 22px) !important;
      border-top: 1px solid rgba(245, 242, 236, 0.06) !important;
    }
    body.home-page .ct-more__link {
      color: rgba(214, 196, 160, 0.50) !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 10px !important;
      text-decoration: none !important;
    }
    body.home-page .ct-more__link:hover,
    body.home-page .ct-more__link:focus-visible {
      color: rgba(245, 242, 236, 0.84) !important;
    }

    /* ── Editorial Flow: Responsive ─────────────────────────────── */
    @media (max-width: 820px) {
      body.home-page .td-section {
        padding: clamp(30px, 6vw, 44px) clamp(20px, 5vw, 40px) clamp(28px, 5.5vw, 40px) !important;
      }
      body.home-page .td-heading {
        font-size: clamp(2.42rem, 7vw, 3.18rem) !important;
        line-height: 0.96 !important;
        max-width: 8.4em !important;
      }

      /* Buyers */
      body.home-page .bf-section {
        grid-template-columns: 1fr !important;
        min-height: unset !important;
      }
      body.home-page .bf-text {
        padding: clamp(44px, 8vw, 64px) clamp(24px, 5vw, 40px) clamp(36px, 5vw, 48px) !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(245, 242, 236, 0.09) !important;
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.06) !important;
      }
      body.home-page .bf-heading {
        font-size: clamp(2.0rem, 8vw, 2.9rem) !important;
        margin-bottom: clamp(22px, 4vw, 32px) !important;
      }
      body.home-page .bf-image {
        height: clamp(300px, 48vw, 420px) !important;
      }

      /* Gap */
      body.home-page .ef-gap {
        height: 0 !important;
      }

      /* Sellers */
      body.home-page .sf-section {
        grid-template-columns: 1fr !important;
        min-height: unset !important;
        margin-top: -24px !important;
      }
      body.home-page .sf-image {
        order: 2 !important;
        height: clamp(300px, 48vw, 420px) !important;
        border-right: 0 !important;
        border-top: 1px solid rgba(15, 18, 20, 0.095) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42) !important;
      }
      body.home-page .sf-text {
        order: 1 !important;
        padding: clamp(44px, 8vw, 64px) clamp(24px, 5vw, 40px) clamp(36px, 5vw, 48px) !important;
      }
      body.home-page .sf-heading {
        font-size: clamp(2.0rem, 8vw, 2.9rem) !important;
        margin-bottom: clamp(20px, 4vw, 30px) !important;
      }

      /* Testimonial */
      body.home-page .ct-heading {
        font-size: clamp(1.85rem, 6.8vw, 2.55rem) !important;
        margin-bottom: clamp(24px, 5vw, 36px) !important;
      }
      body.home-page .ct-quote__text {
        font-size: clamp(1.52rem, 5.8vw, 2.32rem) !important;
      }
    }

    @media (max-width: 480px) {
      body.home-page .td-section {
        padding: 30px 20px 30px !important;
      }
      body.home-page .td-heading {
        font-size: clamp(2.32rem, 11.2vw, 2.85rem) !important;
        line-height: 0.98 !important;
      }

      body.home-page .bf-text {
        padding: 44px 20px 32px !important;
      }
      body.home-page .bf-heading {
        font-size: clamp(1.9rem, 10vw, 2.5rem) !important;
        margin-bottom: 20px !important;
      }
      body.home-page .bf-image {
        height: clamp(260px, 60vw, 340px) !important;
      }

      body.home-page .sf-text {
        padding: 44px 20px 32px !important;
      }
      body.home-page .sf-heading {
        font-size: clamp(1.9rem, 10vw, 2.5rem) !important;
        margin-bottom: 20px !important;
      }
      body.home-page .sf-image {
        height: clamp(260px, 60vw, 340px) !important;
      }

      body.home-page .ct-section {
        padding: clamp(48px, 11vw, 64px) 20px !important;
      }
      body.home-page .ct-heading {
        font-size: clamp(1.72rem, 8.6vw, 2.18rem) !important;
        margin-bottom: clamp(22px, 6vw, 34px) !important;
      }
      body.home-page .ct-quote__text {
        font-size: clamp(1.44rem, 7.4vw, 1.90rem) !important;
        line-height: 1.24 !important;
      }
    }

    /* ── Closing CTA: editorial two-column magazine layout ── */
    body.home-page .closing-cta {
      padding: 0 !important;
    }
    body.home-page .closing-cta__inner {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      align-items: stretch !important;
      gap: 0 !important;
      max-width: none !important;
      margin: 0 auto !important;
      padding: 0 !important;
    }
    body.home-page .closing-cta__left {
      width: min(100%, 720px) !important;
      justify-self: end !important;
      padding: clamp(92px, 8.4vw, 136px) clamp(40px, 4.8vw, 72px) clamp(92px, 8.4vw, 136px) var(--section-pad-x) !important;
      max-width: 720px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
    }
    body.home-page .closing-cta__eyebrow {
      margin: 0 0 16px !important;
    }
    body.home-page .closing-cta__heading {
      margin: 0 0 clamp(20px, 2.2vw, 30px) !important;
      max-width: none !important;
    }
    body.home-page .closing-cta__trust {
      margin: 0 0 clamp(28px, 3vw, 40px) !important;
      color: rgba(11, 22, 38, 0.42) !important;
      max-width: 36ch !important;
    }
    body.home-page .closing-cta__link {
      color: rgba(11, 22, 38, 0.68) !important;
    }
    body.home-page .closing-cta__link:hover,
    body.home-page .closing-cta__link:focus-visible {
      color: rgb(11, 22, 38) !important;
      border-color: rgba(11, 22, 38, 0.32) !important;
    }
    body.home-page .closing-cta__media {
      min-height: clamp(620px, 54vw, 820px) !important;
      padding: 0 !important;
      position: relative !important;
      overflow: hidden !important;
      background: #050506 !important;
      box-shadow: inset 1px 0 0 rgba(202, 164, 83, 0.28) !important;
    }
    body.home-page .closing-cta__photo {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      min-height: inherit !important;
      object-fit: cover !important;
      object-position: center 35% !important;
    }
    body.home-page .closing-cta__media::after {
      content: "" !important;
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      height: 32% !important;
      pointer-events: none !important;
      background: linear-gradient(
        180deg,
        rgba(8, 11, 15, 0) 0%,
        rgba(8, 11, 15, 0.18) 58%,
        #080B0F 100%
      ) !important;
      opacity: 0 !important;
    }
    @media (max-width: 860px) {
      body.home-page .closing-cta {
        padding: clamp(64px, 9vw, 88px) 0 0 !important;
      }
      body.home-page .closing-cta__inner {
        grid-template-columns: 1fr !important;
        align-items: start !important;
      }
      body.home-page .closing-cta__left {
        width: 100% !important;
        max-width: none !important;
        justify-self: stretch !important;
        padding: 0 clamp(24px, 5vw, 40px) clamp(36px, 6vw, 48px) !important;
        justify-content: flex-start !important;
      }
      body.home-page .closing-cta__media {
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        min-height: 0 !important;
        padding: 0 !important;
      }
      body.home-page .closing-cta__photo {
        height: clamp(440px, 68vh, 720px) !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: 50% 42% !important;
      }
      body.home-page .closing-cta__media::after {
        right: 0 !important;
        height: 42% !important;
        opacity: 1 !important;
        background: linear-gradient(
          180deg,
          rgba(8, 11, 15, 0) 0%,
          rgba(8, 11, 15, 0.08) 42%,
          rgba(8, 11, 15, 0.46) 78%,
          #080B0F 100%
        ) !important;
      }
    }

    /* Hero CTA editorial refinement: text-only, clearer hierarchy */
    body.home-page .hero__ctas {
      margin-top: clamp(46px, 5.2vh, 64px) !important;
      column-gap: clamp(46px, 5vw, 72px) !important;
      row-gap: 12px !important;
      align-items: baseline !important;
    }

    body.home-page .hero__cta-link {
      min-height: 44px !important;
      padding: 11px 2px 10px !important;
      gap: 10px !important;
      font-size: clamp(13px, 0.88vw, 15px) !important;
      line-height: 1.15 !important;
      letter-spacing: 0.045em !important;
      text-transform: none !important;
    }

    body.home-page .hero__cta-link::after {
      bottom: 6px !important;
      opacity: 0.52 !important;
      transform-origin: left center !important;
      transition-duration: 0.22s !important;
    }

    body.home-page .hero__cta-link:hover::after,
    body.home-page .hero__cta-link:focus-visible::after {
      transform: scaleX(1) !important;
    }

    body.home-page .hero__cta-arrow {
      font-size: 0.96em !important;
      transform: translateY(-0.02em) !important;
      transition-duration: 0.18s !important;
    }

    body.home-page .hero__cta-link:hover .hero__cta-arrow,
    body.home-page .hero__cta-link:focus-visible .hero__cta-arrow {
      transform: translate(3px, -0.02em) !important;
    }

    body.home-page .hero__cta-link--primary {
      color: rgba(250,246,237,0.98) !important;
      font-size: clamp(14px, 0.96vw, 16px) !important;
      font-weight: 620 !important;
      letter-spacing: 0.05em !important;
    }

    body.home-page .hero__cta-link--secondary {
      color: rgba(238,235,228,0.74) !important;
      font-weight: 520 !important;
      letter-spacing: 0.04em !important;
    }

    body.home-page .hero__cta-link--primary:hover,
    body.home-page .hero__cta-link--primary:focus-visible {
      color: rgba(255,252,244,1) !important;
    }

    body.home-page .hero__cta-link--secondary:hover,
    body.home-page .hero__cta-link--secondary:focus-visible {
      color: rgba(250,246,237,0.88) !important;
    }

    @media (max-width: 600px) {
      body.home-page .hero__ctas {
        margin-top: 36px !important;
        column-gap: 30px !important;
        row-gap: 6px !important;
      }

      body.home-page .hero__cta-link {
        font-size: 13px !important;
        min-height: 44px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
      }

      body.home-page .hero__cta-link--primary {
        font-size: 14px !important;
      }
    }


/* ─────────────────────────────────────────────────────────────
   BLOCK 2 — Preloader + supplementary homepage polish
   (was second <style> block in index.html, lines 4720–5720)
   ───────────────────────────────────────────────────────────── */

    /* ═══════════════════════════════════════════════════════════
       PRELOADER — Smith Dobrowsky editorial brand reveal
       Total runtime: ~1.55s
       0.10s  monogram fades + scales in
       0.48s  wordmark begins left-to-right reveal
       1.10s  full composition holds
       1.35s  fade-out begins → done at 1.55s
       ═══════════════════════════════════════════════════════════ */

    /* Full-screen backdrop */
    #sd-preloader {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #0c1220;         /* very dark navy — harmonises with SD.png mark */
      pointer-events: none;        /* never intercept clicks/taps */
      /* Exit: opacity 1 → 0 starting at 1.35s, lasting 200ms */
      animation: sd-exit 0.2s ease-in 1.35s both;
    }

    @keyframes sd-exit {
      to { opacity: 0; }
    }

    /* ── Stage: vertical centered composition ── */
    .sd-preloader__stage {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 22px;
    }

    /* ── Monogram: soft fade + gentle scale-up ── */
    .sd-preloader__mark {
      margin: 0;
      opacity: 0;
      /* delay: 100ms — let the backdrop settle first */
      animation: sd-mark-in 0.36s cubic-bezier(0.22, 1, 0.36, 1) 0.10s both;
    }

    .sd-preloader__mark img {
      display: block;
      width: 80px;
      height: 80px;
      border-radius: 3px;           /* softens the PNG's square corners */
    }

    @keyframes sd-mark-in {
      from { opacity: 0; transform: scale(0.91); }
      to   { opacity: 1; transform: scale(1);    }
    }

    /* ── Wordmark: left-to-right clip reveal ── */
    .sd-preloader__wordmark {
      display: flex;
      flex-direction: column;
      align-items: center;
      /* delay: 480ms — monogram is settled before wordmark begins */
      animation: sd-wordmark-in 0.62s cubic-bezier(0.22, 1, 0.36, 1) 0.48s both;
    }

    @keyframes sd-wordmark-in {
      from { clip-path: inset(0 100% 0 0); opacity: 0.6; }
      to   { clip-path: inset(0 0%   0 0); opacity: 1;   }
    }

    .sd-preloader__wm-the {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(182, 170, 152, 0.68);
      align-self: flex-start;
      padding-left: 1px;
      line-height: 1;
      margin-bottom: 5px;
    }

    .sd-preloader__wm-name {
      display: block;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      font-size: 19px;
      font-weight: 700;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: #f4f1ea;
      font-style: normal;
      line-height: 1;
    }

    .sd-preloader__wm-team {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(182, 170, 152, 0.68);
      align-self: flex-end;
      padding-right: 1px;
      line-height: 1;
      margin-top: 5px;
    }

    /* ── prefers-reduced-motion: collapse to a very brief flash ── */
    @media (prefers-reduced-motion: reduce) {
      #sd-preloader {
        animation: sd-exit 0.01ms linear 0.6s both;
      }
      .sd-preloader__mark,
      .sd-preloader__wordmark {
        animation: none;
        opacity: 1;
        clip-path: none;
      }
    }

    /* Authoritative homepage design foundation: reusable page tokens for future sections/pages. */
    body.home-page {
      --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
      --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

      --surface-light: #F6F2EB;
      --surface-warm: #EDE8DF;
      --surface-dark: #0D1116;
      --surface-ink: #040608;

      --text-primary: #0F1B30;
      --text-secondary: rgba(17, 29, 51, 0.66);
      --text-muted: rgba(17, 29, 51, 0.48);
      --text-metadata: rgba(17, 29, 51, 0.32);
      --text-inverse: rgba(245, 242, 236, 0.92);
      --text-inverse-secondary: rgba(245, 242, 236, 0.66);
      --text-inverse-muted: rgba(245, 242, 236, 0.46);

      --hairline-light: rgba(15, 18, 20, 0.09);
      --hairline-dark: rgba(245, 242, 236, 0.09);
      --border-soft: rgba(17, 29, 51, 0.12);

      --radius-card: 8px;
      --radius-image: 0;

      --space-1: 6px;
      --space-2: 10px;
      --space-3: 14px;
      --space-4: 18px;
      --space-5: 24px;
      --space-6: 32px;
      --space-7: 44px;
      --space-8: 64px;

      --section-pad-x: clamp(24px, 6vw, 80px);
      --section-pad-y: clamp(56px, 6.5vw, 86px);
      --section-pad-y-compact: clamp(30px, 3.4vw, 48px);
      --section-pad-y-mobile: clamp(44px, 10vw, 64px);

      --type-display: clamp(3.3rem, 4vw, 4.75rem);
      --type-section-heading: clamp(3rem, 3.65vw, 4.3rem);
      --type-pathway-heading: clamp(2rem, 3vw, 3.4rem);
      --type-card-heading: clamp(1.08rem, 1.45vw, 1.55rem);
      --type-small-heading: clamp(0.82rem, 0.9vw, 0.96rem);
      --type-body: clamp(0.94rem, 0.94vw, 1rem);
      --type-small-body: clamp(0.82rem, 0.84vw, 0.9rem);
      --type-metadata: clamp(10px, 0.72vw, 11px);

      --weight-heading: 500;
      --weight-body: 300;
      --leading-display: 0.96;
      --leading-heading: 0.96;
      --leading-pathway: 1.04;
      --leading-body: 1.72;
      --leading-small: 1.56;

      --eyebrow-size: clamp(10px, 0.72vw, 11px);
      --eyebrow-weight: 600;
      --eyebrow-tracking: 0.24em;
      --eyebrow-leading: 1.42;
      --eyebrow-gap: clamp(14px, 1.5vw, 20px);
      --eyebrow-dark: rgba(238,235,228,0.58);
      --eyebrow-light: rgba(11,22,38,0.48);

      --cta-size: clamp(10.5px, 0.76vw, 12px);
      --cta-weight: 600;
      --cta-tracking: 0.14em;
      --cta-leading: 1.2;
      --cta-arrow-gap: 10px;
      --cta-arrow-shift: 4px;
      --cta-dark: rgba(238,235,228,0.74);
      --cta-dark-hover: rgba(250,248,244,0.96);
      --cta-light: rgba(11,22,38,0.66);
      --cta-light-hover: rgba(11,22,38,0.92);
      --btn-pad-y: 13px;
      --btn-pad-x: clamp(26px, 2.3vw, 34px);
      --btn-border-light: rgba(11,22,38,0.34);
      --btn-border-light-hover: rgba(11,22,38,0.62);
      --btn-border-dark: rgba(238,235,228,0.36);
      --btn-border-dark-hover: rgba(238,235,228,0.68);
    }

    @media (max-width: 600px) {
      body.home-page {
        --type-section-heading: clamp(2.32rem, 11.2vw, 2.85rem);
        --type-pathway-heading: clamp(2.05rem, 10vw, 2.75rem);
        --type-body: clamp(0.92rem, 4vw, 1rem);
        --type-small-body: 0.86rem;
        --section-pad-y: var(--section-pad-y-mobile);
        --eyebrow-size: 9.5px;
        --eyebrow-tracking: 0.24em;
        --eyebrow-leading: 1.4;
        --eyebrow-gap: 14px;
        --cta-size: 10.5px;
        --cta-tracking: 0.13em;
        --btn-pad-y: 12px;
        --btn-pad-x: 24px;
      }
    }

    .surface-light {
      background: var(--surface-light);
      color: var(--text-primary);
    }

    .surface-dark {
      background: var(--surface-dark);
      color: var(--text-inverse);
    }

    .section-shell {
      padding: var(--section-pad-y) var(--section-pad-x);
    }

    .section-shell--compact {
      padding-top: var(--section-pad-y-compact);
      padding-bottom: var(--section-pad-y-compact);
    }

    .editorial-heading,
    .section-heading {
      font-family: var(--font-serif) !important;
      font-weight: var(--weight-heading) !important;
      line-height: var(--leading-heading) !important;
      letter-spacing: -0.01em !important;
      text-transform: none !important;
    }

    .editorial-heading em,
    .section-heading em {
      font-style: italic !important;
      font-weight: 400 !important;
    }

    .editorial-body,
    .body-copy {
      font-family: var(--font-sans) !important;
      font-size: var(--type-body) !important;
      font-weight: var(--weight-body) !important;
      line-height: var(--leading-body) !important;
      letter-spacing: 0 !important;
      max-width: 58ch !important;
    }

    .body-copy--small,
    .editorial-small,
    .metadata {
      font-family: var(--font-sans) !important;
      font-size: var(--type-small-body) !important;
      font-weight: 400 !important;
      line-height: var(--leading-small) !important;
      letter-spacing: 0 !important;
    }

    .metadata {
      color: var(--text-metadata) !important;
    }

    /* Authoritative homepage eyebrow system: calm, editorial, reusable. */
    body.home-page .editorial-eyebrow,
    body.home-page .section-eyebrow,
    body.home-page .meet-team__eyebrow,
    body.home-page .meet-editorial .meet-team__eyebrow,
    body.home-page .sp-header .section-eyebrow,
    body.home-page .hero__h1-location,
    body.home-page .hero__location-kicker,
    body.home-page .cm-eyebrow,
    body.home-page .bf-eyebrow,
    body.home-page .sf-eyebrow,
    body.home-page .ct-eyebrow,
    body.home-page .closing-cta__eyebrow {
      font-family: var(--font-sans) !important;
      font-size: var(--eyebrow-size) !important;
      font-style: normal !important;
      font-weight: var(--eyebrow-weight) !important;
      letter-spacing: var(--eyebrow-tracking) !important;
      line-height: var(--eyebrow-leading) !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
    }

    body.home-page .editorial-eyebrow.editorial-eyebrow--dark,
    body.home-page .sp-header .editorial-eyebrow--dark {
      color: var(--eyebrow-dark) !important;
    }

    body.home-page .editorial-eyebrow.editorial-eyebrow--light,
    body.home-page .meet-editorial .editorial-eyebrow--light {
      color: var(--eyebrow-light) !important;
    }

    body.home-page :is(
      .meet-team__eyebrow,
      .section-eyebrow,
      .sp-header .section-eyebrow,
      .cm-eyebrow,
      .bf-eyebrow,
      .sf-eyebrow,
      .ct-eyebrow,
      .closing-cta__eyebrow
    ) {
      margin-top: 0 !important;
      margin-right: 0 !important;
      margin-bottom: var(--eyebrow-gap) !important;
      margin-left: 0 !important;
    }

    body.home-page .hero__h1-location {
      margin-bottom: clamp(22px, 3vh, 32px) !important;
    }

    body.home-page .hero__location-kicker {
      margin: 0 !important;
      text-shadow: 0 1px 16px rgba(0,0,0,0.66) !important;
    }

    body.home-page .cm-eyebrow {
      display: block !important;
      gap: 0 !important;
    }

    body.home-page .meet-editorial .meet-team__eyebrow {
      padding-top: 0 !important;
    }

    body.home-page .cm-eyebrow::before,
    body.home-page .meet-editorial .meet-team__eyebrow::before {
      display: none !important;
    }

    /* Authoritative homepage CTA system: restrained outlined buttons + editorial text links. */
    body.home-page .btn,
    body.home-page .text-link,
    body.home-page .editorial-cta {
      font-family: var(--font-sans) !important;
      font-size: var(--cta-size) !important;
      font-weight: var(--cta-weight) !important;
      letter-spacing: var(--cta-tracking) !important;
      line-height: var(--cta-leading) !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
    }

    body.home-page .btn {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: var(--cta-arrow-gap) !important;
      min-height: 44px !important;
      padding: var(--btn-pad-y) var(--btn-pad-x) !important;
      border: 1px solid currentColor !important;
      border-radius: 0 !important;
      background: transparent !important;
      cursor: pointer !important;
      transition:
        color 220ms ease,
        border-color 220ms ease,
        background-color 220ms ease,
        transform 180ms ease !important;
    }

    body.home-page .btn--outline.btn--light {
      color: var(--cta-light) !important;
      border-color: var(--btn-border-light) !important;
    }

    body.home-page .btn--outline.btn--dark {
      color: var(--cta-dark) !important;
      border-color: var(--btn-border-dark) !important;
    }

    body.home-page .btn:hover,
    body.home-page .btn:focus-visible {
      transform: translateY(-1px) !important;
    }

    body.home-page .btn--outline.btn--light:hover,
    body.home-page .btn--outline.btn--light:focus-visible {
      color: var(--cta-light-hover) !important;
      border-color: var(--btn-border-light-hover) !important;
      background-color: rgba(11,22,38,0.045) !important;
    }

    body.home-page .btn--outline.btn--dark:hover,
    body.home-page .btn--outline.btn--dark:focus-visible {
      color: var(--cta-dark-hover) !important;
      border-color: var(--btn-border-dark-hover) !important;
      background-color: rgba(238,235,228,0.055) !important;
    }

    body.home-page .btn:focus-visible,
    body.home-page .text-link:focus-visible {
      outline: 1px solid currentColor !important;
      outline-offset: 5px !important;
    }

    body.home-page .btn > span[aria-hidden="true"] {
      display: inline-block !important;
      transition: transform 200ms ease !important;
    }

    body.home-page .btn:hover > span[aria-hidden="true"],
    body.home-page .btn:focus-visible > span[aria-hidden="true"] {
      transform: translateX(var(--cta-arrow-shift)) !important;
    }

    body.home-page .text-link {
      position: relative !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: var(--cta-arrow-gap) !important;
      min-height: 44px !important;
      width: auto !important;
      border: 0 !important;
      border-bottom: 0 !important;
      background: transparent !important;
      cursor: pointer !important;
      text-decoration: none !important;
      text-decoration-line: none !important;
      text-underline-offset: initial !important;
      transition: color 220ms ease !important;
    }

    body.home-page .text-link:hover,
    body.home-page .text-link:focus-visible,
    body.home-page a.sp-card:hover .text-link,
    body.home-page a.sp-card:focus-visible .text-link {
      border-bottom: 0 !important;
      text-decoration: none !important;
      text-decoration-line: none !important;
    }

    body.home-page .text-link--dark {
      color: var(--cta-dark) !important;
    }

    body.home-page .text-link--light {
      color: var(--cta-light) !important;
    }

    body.home-page .text-link--dark:hover,
    body.home-page .text-link--dark:focus-visible,
    body.home-page a.sp-card:hover .text-link--dark,
    body.home-page a.sp-card:focus-visible .text-link--dark {
      color: var(--cta-dark-hover) !important;
    }

    body.home-page .text-link--light:hover,
    body.home-page .text-link--light:focus-visible {
      color: var(--cta-light-hover) !important;
    }

    body.home-page .text-link::after {
      content: "" !important;
      position: absolute !important;
      left: 0 !important;
      right: 0 !important;
      width: auto !important;
      bottom: 7px !important;
      height: 1px !important;
      background: currentColor !important;
      opacity: 0.42 !important;
      transform: scaleX(0) !important;
      transform-origin: left center !important;
      transition: transform 240ms ease, opacity 220ms ease !important;
    }

    body.home-page .text-link:hover::after,
    body.home-page .text-link:focus-visible::after,
    body.home-page a.sp-card:hover .text-link::after,
    body.home-page a.sp-card:focus-visible .text-link::after {
      transform: scaleX(1) !important;
    }

    body.home-page .text-link--arrow > span[aria-hidden="true"],
    body.home-page .text-link--arrow .hero__cta-arrow,
    body.home-page .text-link--arrow .sp-card__arrow {
      display: inline-block !important;
      transition: transform 200ms ease !important;
    }

    body.home-page .text-link--arrow:hover > span[aria-hidden="true"],
    body.home-page .text-link--arrow:focus-visible > span[aria-hidden="true"],
    body.home-page .text-link--arrow:hover .hero__cta-arrow,
    body.home-page .text-link--arrow:focus-visible .hero__cta-arrow,
    body.home-page .text-link--arrow:hover .sp-card__arrow,
    body.home-page .text-link--arrow:focus-visible .sp-card__arrow,
    body.home-page a.sp-card:hover .text-link--arrow > span[aria-hidden="true"],
    body.home-page a.sp-card:focus-visible .text-link--arrow > span[aria-hidden="true"],
    body.home-page a.sp-card:hover .text-link--arrow .sp-card__arrow,
    body.home-page a.sp-card:focus-visible .text-link--arrow .sp-card__arrow {
      transform: translateX(var(--cta-arrow-shift)) !important;
    }

    body.home-page .hero__cta-link,
    body.home-page .hero__cta-link--primary,
    body.home-page .hero__cta-link--secondary,
    body.home-page .bf-cta,
    body.home-page .sf-cta,
    body.home-page .cm-insight__link,
    body.home-page .ct-more__link,
    body.home-page .sp-all-link,
    body.home-page .sp-card__cta {
      padding-top: 0 !important;
      padding-right: 0 !important;
      padding-left: 0 !important;
      text-decoration: none !important;
      text-decoration-line: none !important;
      border-left: 0 !important;
      border-bottom: 0 !important;
      box-shadow: none !important;
      text-transform: uppercase !important;
    }

    body.home-page .hero__cta-link:hover,
    body.home-page .hero__cta-link:focus-visible,
    body.home-page .bf-cta:hover,
    body.home-page .bf-cta:focus-visible,
    body.home-page .sf-cta:hover,
    body.home-page .sf-cta:focus-visible,
    body.home-page .cm-insight__link:hover,
    body.home-page .cm-insight__link:focus-visible,
    body.home-page .ct-more__link:hover,
    body.home-page .ct-more__link:focus-visible,
    body.home-page .sp-all-link:hover,
    body.home-page .sp-all-link:focus-visible,
    body.home-page a.sp-card:hover .sp-card__cta,
    body.home-page a.sp-card:focus-visible .sp-card__cta {
      text-decoration: none !important;
      text-decoration-line: none !important;
      border-bottom: 0 !important;
      box-shadow: none !important;
    }

    body.home-page .meet-editorial a.meet-team__cta,
    body.home-page .closing-cta__link {
      box-shadow: none !important;
    }

    body.home-page .meet-editorial a.meet-team__cta.btn,
    body.home-page .closing-cta__link.btn {
      font-size: var(--cta-size) !important;
      font-weight: var(--cta-weight) !important;
      letter-spacing: var(--cta-tracking) !important;
      line-height: var(--cta-leading) !important;
      text-transform: uppercase !important;
      min-height: 44px !important;
      padding: var(--btn-pad-y) var(--btn-pad-x) !important;
      width: fit-content !important;
    }

    body.home-page .meet-editorial a.meet-team__cta.btn--light,
    body.home-page .closing-cta__link.btn--light {
      color: var(--cta-light) !important;
      border-color: var(--btn-border-light) !important;
      background-color: transparent !important;
    }

    body.home-page .meet-editorial a.meet-team__cta.btn--light:hover,
    body.home-page .meet-editorial a.meet-team__cta.btn--light:focus-visible,
    body.home-page .closing-cta__link.btn--light:hover,
    body.home-page .closing-cta__link.btn--light:focus-visible {
      color: var(--cta-light-hover) !important;
      border-color: var(--btn-border-light-hover) !important;
      background-color: rgba(11,22,38,0.045) !important;
    }

    body.home-page .meet-team__links {
      display: flex !important;
      align-items: center !important;
      flex-wrap: wrap !important;
      gap: clamp(24px, 3vw, 44px) !important;
      margin-top: clamp(28px, 3.4vw, 46px) !important;
    }

    body.home-page .meet-editorial .meet-team__links a.meet-team__link,
    body.home-page .meet-team__links a.meet-team__link {
      justify-content: flex-start !important;
      flex: 0 0 auto !important;
      width: auto !important;
      min-height: 38px !important;
      margin-top: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      color: var(--cta-light) !important;
      font-family: var(--font-sans) !important;
      font-size: var(--cta-size) !important;
      font-weight: var(--cta-weight) !important;
      letter-spacing: var(--cta-tracking) !important;
      line-height: var(--cta-leading) !important;
      text-transform: uppercase !important;
      transform: none !important;
    }

    body.home-page .meet-editorial .meet-team__links a.meet-team__link:hover,
    body.home-page .meet-editorial .meet-team__links a.meet-team__link:focus-visible {
      background: transparent !important;
      color: var(--cta-light-hover) !important;
      transform: none !important;
    }

    @media (max-width: 620px) {
      body.home-page .meet-editorial__content.meet-team__content {
        padding: 32px 22px 42px !important;
      }

      body.home-page .meet-editorial .meet-team__eyebrow {
        margin-bottom: 10px !important;
      }

      body.home-page .meet-editorial .meet-team__heading {
        margin-bottom: clamp(16px, 4.5vw, 20px) !important;
        font-size: clamp(2.2rem, 10.4vw, 3rem) !important;
        line-height: 0.98 !important;
      }

      body.home-page .meet-editorial .meet-team__body {
        line-height: 1.68 !important;
      }

      body.home-page .meet-team__links {
        align-items: center !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        margin-top: clamp(18px, 5vw, 22px) !important;
        gap: clamp(22px, 8vw, 34px) !important;
      }
    }

    body.home-page .closing-cta__link {
      width: fit-content !important;
    }

    body.home-page .bf-cta,
    body.home-page .sf-cta,
    body.home-page .sp-card__cta {
      align-self: flex-start !important;
      width: auto !important;
    }

    body.home-page .sp-card__footer .sp-card__cta.text-link {
      flex-basis: auto !important;
      width: max-content !important;
      max-width: 100% !important;
    }

    /* Local Expertise text hierarchy: one calm editorial story across breakpoints. */
    body.home-page .cm-insight::before,
    body.home-page .cm-insight__panel::before {
      display: none !important;
    }

    body.home-page .cm-service-area {
      max-width: 38ch !important;
      margin-top: clamp(18px, 2vw, 24px) !important;
      color: var(--text-metadata) !important;
      font-family: var(--font-sans) !important;
      font-size: var(--type-metadata) !important;
      font-weight: 400 !important;
      line-height: 1.5 !important;
      letter-spacing: 0.01em !important;
    }

    /* Homepage component system: current sections mapped to reusable page patterns. */
    body.home-page .td-section {
      padding: var(--section-pad-y-compact) var(--section-pad-x) !important;
      background: var(--surface-light) !important;
    }

    body.home-page .td-heading,
    body.home-page .cm-heading {
      font-size: var(--type-section-heading) !important;
      font-weight: var(--weight-heading) !important;
      line-height: var(--leading-heading) !important;
      letter-spacing: -0.01em !important;
    }

    body.home-page .td-heading {
      max-width: 500px !important;
      color: var(--text-primary) !important;
    }

    body.home-page .td-copy {
      max-width: 640px !important;
      margin: clamp(18px, 2vw, 26px) auto 0 !important;
      font-family: var(--font-sans) !important;
      font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
      font-weight: var(--weight-body) !important;
      line-height: 1.72 !important;
      letter-spacing: 0 !important;
      color: rgba(40, 50, 67, 0.68) !important;
      text-align: center !important;
      text-wrap: balance !important;
    }

    body.home-page .td-heading em,
    body.home-page .cm-heading em {
      color: rgba(40, 56, 84, 0.7) !important;
      font-style: italic !important;
      font-weight: 400 !important;
    }

    body.home-page .meet-team__heading,
    body.home-page .sp-heading,
    body.home-page .closing-cta__heading {
      font-size: var(--type-section-heading) !important;
      line-height: var(--leading-heading) !important;
      letter-spacing: -0.01em !important;
    }

    body.home-page .bf-section,
    body.home-page .sf-section {
      min-height: clamp(480px, 46vw, 560px) !important;
      overflow: hidden !important;
    }

    body.home-page .bf-text,
    body.home-page .sf-text {
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      padding: clamp(60px, 7.5vw, 100px) clamp(40px, 5.2vw, 76px) !important;
    }

    body.home-page .bf-heading,
    body.home-page .sf-heading {
      font-family: var(--font-serif) !important;
      font-size: var(--type-pathway-heading) !important;
      font-weight: var(--weight-heading) !important;
      line-height: var(--leading-pathway) !important;
      letter-spacing: -0.01em !important;
      max-width: 11.25em !important;
    }

    body.home-page .bf-heading {
      margin-bottom: clamp(28px, 3.2vw, 44px) !important;
      color: var(--text-inverse) !important;
    }

    body.home-page .sf-heading {
      margin-bottom: clamp(18px, 2vw, 26px) !important;
      color: rgba(15, 18, 20, 0.88) !important;
    }

    body.home-page .bf-heading em {
      color: rgba(245, 242, 236, 0.60) !important;
      font-style: italic !important;
      font-weight: 400 !important;
    }

    body.home-page .sf-heading em {
      color: rgba(15, 18, 20, 0.56) !important;
      font-style: italic !important;
      font-weight: 400 !important;
    }

    body.home-page .sf-copy,
    body.home-page .cm-insight__line,
    body.home-page .closing-cta__trust {
      font-family: var(--font-sans) !important;
      font-size: var(--type-body) !important;
      font-weight: var(--weight-body) !important;
      line-height: var(--leading-body) !important;
      letter-spacing: 0 !important;
      color: var(--text-secondary) !important;
    }

    body.home-page .sf-copy {
      max-width: 36ch !important;
      margin: 0 0 clamp(22px, 2.4vw, 32px) !important;
    }

    body.home-page .cm-insight {
      width: min(420px, 100%) !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    body.home-page .cm-insight__name {
      font-family: var(--font-sans) !important;
      font-size: var(--type-small-heading) !important;
      font-weight: 500 !important;
      letter-spacing: 0.01em !important;
      line-height: 1.35 !important;
      color: rgba(17, 29, 51, 0.72) !important;
      margin: 0 0 clamp(9px, 1vw, 13px) !important;
    }

    body.home-page .cm-insight__line {
      max-width: 36ch !important;
      font-size: var(--type-small-body) !important;
      line-height: var(--leading-small) !important;
      color: rgba(40, 50, 67, 0.74) !important;
      margin: 0 !important;
    }

    body.home-page .cm-insight__cta-group {
      display: flex !important;
      flex-direction: column !important;
      gap: 10px !important;
      margin-top: clamp(20px, 2.2vw, 28px) !important;
    }

    /* Local Expertise mobile: keep the stacked story on one left edge. */
    @media (max-width: 620px) {
      body.home-page .cm-header,
      body.home-page .cm-copy,
      body.home-page .cm-insight,
      body.home-page .cm-insight__name,
      body.home-page .cm-insight__line,
      body.home-page .cm-insight__link,
      body.home-page .cm-service-area {
        margin-left: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
      }

      body.home-page .cm-insight__cta-group {
        margin-top: clamp(18px, 5vw, 24px) !important;
        gap: 8px !important;
      }

      body.home-page .cm-insight {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: clamp(30px, 8vw, 42px) !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
      }

      body.home-page .cm-insight__name {
        max-width: 100% !important;
        margin: 0 0 clamp(10px, 3vw, 14px) !important;
      }

      body.home-page .cm-insight__line {
        max-width: 100% !important;
        margin: 0 !important;
      }

      body.home-page .cm-insight__link {
        margin-top: clamp(18px, 5vw, 24px) !important;
      }

      body.home-page .cm-service-area {
        margin-top: clamp(18px, 5vw, 24px) !important;
        font-size: 0.66rem !important;
      }
    }

    /* Buyer/Seller editorial stack: tablet + mobile only */
    @media (max-width: 900px) {
      body.home-page .bf-section,
      body.home-page .sf-section {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        overflow: hidden !important;
      }

      body.home-page .bf-text,
      body.home-page .sf-text {
        display: contents !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
      }

      body.home-page .bf-eyebrow,
      body.home-page .sf-eyebrow {
        order: 1 !important;
        width: 100% !important;
        margin: 0 0 clamp(14px, 2.2vw, 20px) !important;
        padding: clamp(44px, 7vw, 64px) clamp(32px, 7vw, 48px) 0 !important;
      }

      body.home-page .bf-heading,
      body.home-page .sf-heading {
        order: 2 !important;
        width: 100% !important;
        max-width: 11.25em !important;
        margin: 0 !important;
        padding: 0 clamp(32px, 7vw, 48px) clamp(28px, 5vw, 42px) !important;
        font-size: clamp(2.2rem, 7.2vw, 3.35rem) !important;
        line-height: 1.04 !important;
      }

      body.home-page .bf-cta {
        order: 3 !important;
        justify-self: start !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 clamp(32px, 7vw, 48px) clamp(34px, 6vw, 48px) !important;
      }

      body.home-page .bf-cta::after {
        left: clamp(32px, 7vw, 48px) !important;
        right: clamp(32px, 7vw, 48px) !important;
        bottom: clamp(34px, 6vw, 48px) !important;
      }

      body.home-page .bf-image {
        order: 4 !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        overflow: hidden !important;
      }

      body.home-page .sf-copy {
        order: 3 !important;
        width: 100% !important;
        max-width: 36ch !important;
        margin: 0 !important;
        padding: 0 clamp(32px, 7vw, 48px) clamp(26px, 4.8vw, 38px) !important;
      }

      body.home-page .sf-cta {
        order: 4 !important;
        justify-self: start !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 clamp(32px, 7vw, 48px) clamp(34px, 6vw, 48px) !important;
      }

      body.home-page .sf-cta::after {
        left: clamp(32px, 7vw, 48px) !important;
        right: clamp(32px, 7vw, 48px) !important;
        bottom: clamp(34px, 6vw, 48px) !important;
      }

      body.home-page .sf-image {
        order: 5 !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
        overflow: hidden !important;
      }

      body.home-page .bf-image {
        border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
      }

      body.home-page .sf-image {
        border-top: 1px solid rgba(15, 18, 20, 0.09) !important;
      }

      body.home-page .bf-image img,
      body.home-page .sf-image img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
      }

      body.home-page .bf-image img {
        object-position: 58% 56% !important;
      }

      body.home-page .sf-image img {
        object-position: 50% 42% !important;
      }

      body.home-page .ef-gap {
        height: 0 !important;
      }

      body.home-page .sf-section {
        margin-top: -22px !important;
        box-shadow: 0 -16px 48px -34px rgba(4, 6, 8, 0.68) !important;
      }
    }

    @media (max-width: 520px) {
      body.home-page .bf-eyebrow,
      body.home-page .sf-eyebrow {
        padding: 40px 32px 0 !important;
      }

      body.home-page .bf-heading,
      body.home-page .sf-heading {
        max-width: 10.8em !important;
        padding: 0 32px 30px !important;
        font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
      }

      body.home-page .bf-image,
      body.home-page .sf-image {
        aspect-ratio: 4 / 3 !important;
      }

      body.home-page .sf-cta {
        padding: 0 32px 34px !important;
      }

      body.home-page .sf-copy {
        padding: 0 32px 28px !important;
      }

      body.home-page .bf-cta {
        padding: 0 32px 34px !important;
      }

      body.home-page .bf-cta::after,
      body.home-page .sf-cta::after {
        left: 32px !important;
        right: 32px !important;
        bottom: 34px !important;
      }

      body.home-page .ef-gap {
        height: 0 !important;
      }

      body.home-page .sf-section {
        margin-top: -16px !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      body.home-page .td-heading--editorial-reveal.reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: opacity 1ms linear !important;
        will-change: auto !important;
      }
      body.home-page .ct-slide {
        transition: none !important;
      }
    }


/* ─────────────────────────────────────────────────────────────
   HERO READABILITY — Terminal contrast overrides
   Placed at end of cascade to win over all earlier declarations.
   ───────────────────────────────────────────────────────────── */

/* Body copy — was ~0.74, now 0.86 */
body.home-page .hero__sub {
  color: rgba(250, 246, 237, 0.86) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.25),
    0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

/* Eyebrow — warm tone, clearly readable */
body.home-page .hero__overline {
  color: rgba(200, 190, 174, 0.92) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.30) !important;
}

/* Location badge above headline */
body.home-page .hero__h1-location {
  color: rgba(200, 190, 174, 0.90) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.30) !important;
}

/* Bottom-right callout — kicker label */
body.home-page .hero__location-kicker {
  color: rgba(218, 207, 187, 0.90) !important;
}

/* Bottom-right callout — borders more defined */
body.home-page .hero__location-label {
  border-color: rgba(244, 241, 234, 0.22) !important;
  border-left-color: rgba(218, 207, 187, 0.80) !important;
}

/* ─────────────────────────────────────────────────────────────
   HERO RESPONSIVE TYPE — prevent awkward headline wrapping
   ───────────────────────────────────────────────────────────── */

body.home-page .hero__h1 {
  text-wrap: balance !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: nowrap !important;
}

body.home-page .hero__h1-line {
  white-space: nowrap !important;
}

body.home-page .hero__h1-em {
  margin-top: 0.04em !important;
}

@media (max-width: 1200px) and (min-width: 901px) {
  body.home-page .hero__h1 {
    max-width: 31rem !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.45rem, 3.45vw, 4.25rem) !important;
    line-height: 0.98 !important;
  }

  body.home-page .hero__h1-em {
    margin-top: 0.08em !important;
  }
}

@media (max-width: 900px) {
  body.home-page .hero__h1 {
    max-width: min(100%, 36rem) !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(2.35rem, 6.5vw, 3.15rem) !important;
    line-height: 1.02 !important;
  }

  body.home-page .hero__h1-em {
    margin-top: 0.08em !important;
  }
}

@media (max-width: 600px) {
  body.home-page .hero__h1 {
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em {
    font-size: clamp(1.95rem, 8.2vw, 2.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.014em !important;
  }

  body.home-page .hero__h1-em {
    margin-top: 0.12em !important;
  }

  body.home-page .hero__sub {
    max-width: 34rem !important;
    font-size: clamp(0.94rem, 3.8vw, 1.02rem) !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   HERO MOBILE/TABLET READABILITY
   ───────────────────────────────────────────────────────────── */

@media (max-width: 900px) {
  body.home-page .hero__left,
  body.home-page .hero__h1-location,
  body.home-page .hero__h1,
  body.home-page .hero__h1-line,
  body.home-page .hero__h1-em,
  body.home-page .hero__sub,
  body.home-page .hero__ctas,
  body.home-page .hero__cta-link,
  body.home-page .hero__cta-arrow {
    opacity: 1 !important;
    filter: none !important;
  }

  body.home-page .hero__h1-location,
  body.home-page .hero__h1-location.editorial-eyebrow,
  body.home-page .hero__h1-location.editorial-eyebrow--dark {
    color: rgba(255, 255, 255, 0.88) !important;
    border-bottom-color: rgba(255, 255, 255, 0.18) !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.46) !important;
  }

  body.home-page .hero__h1-line {
    color: #f4f1ea !important;
    text-shadow:
      0 1px 2px rgba(0, 0, 0, 0.34),
      0 8px 30px rgba(0, 0, 0, 0.36) !important;
  }

  body.home-page .hero__h1-em {
    color: rgba(255, 255, 255, 0.78) !important;
    text-shadow:
      0 1px 2px rgba(0, 0, 0, 0.34),
      0 8px 30px rgba(0, 0, 0, 0.36) !important;
  }

  body.home-page .hero__sub {
    color: rgba(255, 255, 255, 0.82) !important;
    text-shadow:
      0 1px 2px rgba(0, 0, 0, 0.30),
      0 8px 28px rgba(0, 0, 0, 0.28) !important;
  }

  body.home-page .hero__cta-link,
  body.home-page .hero__cta-link--primary,
  body.home-page .hero__cta-link--secondary {
    color: rgba(255, 255, 255, 0.90) !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.32) !important;
  }

  body.home-page .hero__cta-arrow,
  body.home-page .text-link--arrow .hero__cta-arrow {
    color: rgba(255, 255, 255, 0.85) !important;
    opacity: 1 !important;
  }

  body.home-page .hero__cta-link::after,
  body.home-page .text-link--light::after,
  body.home-page .text-link--arrow::after {
    background: rgba(255, 255, 255, 0.72) !important;
    opacity: 1 !important;
  }

  body.home-page .text-link--light,
  body.home-page .text-link--light:visited {
    color: rgba(255, 255, 255, 0.90) !important;
    opacity: 1 !important;
    filter: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   LOCAL INSIGHT MOBILE MAP — preserve community labels
   ───────────────────────────────────────────────────────────── */

@media (max-width: 850px) {
  body.home-page .cm-map-panel {
    overflow: hidden !important;
  }

  body.home-page .cm-map-frame {
    width: 100% !important;
    transform: none !important;
    overflow: hidden !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body.home-page .cm-map-stage {
    left: 50% !important;
    width: 100vw !important;
    min-width: 100vw !important;
    height: auto !important;
    max-height: 100% !important;
    aspect-ratio: 1682 / 935 !important;
    transform: translateX(-50%) !important;
  }

  body.home-page .cm-map-image {
    object-fit: contain !important;
    object-position: center center !important;
  }

  body.home-page .cm-map-marker[data-community="waterdown"]:not(.is-active) .cm-map-marker__label,
  body.home-page .cm-map-marker:not(.is-active) .cm-map-marker__label {
    display: block !important;
  }

  body.home-page .cm-map-marker {
    opacity: 1 !important;
  }

  body.home-page .cm-insight__link.text-link--dark {
    color: rgba(11, 22, 38, 0.78) !important;
  }

  body.home-page .cm-insight__link.text-link--dark:hover,
  body.home-page .cm-insight__link.text-link--dark:focus-visible {
    color: rgba(11, 22, 38, 0.94) !important;
  }

  body.home-page .cm-insight__link.text-link--dark::after {
    background: currentColor !important;
  }
}

@media (max-width: 480px) {
  body.home-page .cm-map-panel {
    height: clamp(300px, 38vh, 360px) !important;
  }

  body.home-page .cm-map-stage {
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  body.home-page .cm-map-marker {
    font-size: 0.56rem !important;
    letter-spacing: 0.14em !important;
  }

  body.home-page .cm-map-marker[data-community="waterdown"] {
    --label-x: 10px !important;
    --label-y: -16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HERO TYPOGRAPHY + LAYOUT SYSTEM
   Final authoritative pass for the homepage hero.
   Keeps the editorial direction while neutralizing earlier hero
   type, opacity, CTA, and breakpoint fragments in this file.
   ═══════════════════════════════════════════════════════════════ */
body.home-page {
  --hero-ink: #fffaf0;
  --hero-ink-soft: #d8d0c4;
  --hero-ink-italic: #cfc7bb;
  --hero-copy: #eee7d7;
  --hero-rule: rgba(255, 250, 240, 0.24);
  --hero-gold: #d5c5a8;
  --hero-shadow: 0 2px 20px rgba(0, 0, 0, 0.52), 0 1px 3px rgba(0, 0, 0, 0.42);
  --hero-pad-x: clamp(56px, 7.1vw, 112px);
  --hero-pad-top: clamp(122px, 15vh, 168px);
  --hero-pad-bottom: clamp(78px, 10vh, 120px);
  --hero-copy-width: 34.5rem;
  --hero-headline-width: 40rem;
}

body.home-page .hero {
  min-height: 100svh !important;
  background: #05090f !important;
}

body.home-page .hero::before {
  z-index: 3 !important;
  background:
    linear-gradient(
      90deg,
      rgba(3, 7, 12, 0.98) 0%,
      rgba(3, 7, 12, 0.94) 24%,
      rgba(3, 7, 12, 0.74) 47%,
      rgba(3, 7, 12, 0.26) 72%,
      rgba(3, 7, 12, 0.12) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3, 7, 12, 0.52) 0%,
      rgba(3, 7, 12, 0.06) 36%,
      rgba(3, 7, 12, 0.38) 100%
    ) !important;
}

body.home-page .hero::after {
  opacity: 0.08 !important;
}

body.home-page .hero__inner {
  position: relative !important;
  z-index: 5 !important;
}

@media (min-width: 901px) {
  body.home-page .hero__inner {
    display: block !important;
    min-height: 100svh !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body.home-page .hero__left {
    width: min(54vw, 760px) !important;
    max-width: 760px !important;
    min-height: 100svh !important;
    padding: var(--hero-pad-top) clamp(36px, 4.7vw, 76px) var(--hero-pad-bottom) var(--hero-pad-x) !important;
    justify-content: center !important;
    background: transparent !important;
  }

  body.home-page .hero__right {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
}

body.home-page .hero__left {
  gap: 0 !important;
  isolation: isolate !important;
}

body.home-page .hero__left::before {
  left: calc(var(--hero-pad-x) - 24px) !important;
  top: 18% !important;
  bottom: 18% !important;
  width: 1px !important;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(213, 197, 168, 0.62) 20%,
    rgba(213, 197, 168, 0.58) 78%,
    transparent 100%
  ) !important;
}

body.home-page .hero__h1-location.editorial-eyebrow.editorial-eyebrow--dark,
body.home-page .hero__h1-location.editorial-eyebrow,
body.home-page .hero__h1-location {
  display: block !important;
  width: fit-content !important;
  max-width: var(--hero-copy-width) !important;
  margin: 0 0 clamp(16px, 2vh, 24px) !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid var(--hero-rule) !important;
  color: var(--hero-ink-soft) !important;
  opacity: 1 !important;
  filter: none !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.64rem, 0.72vw, 0.74rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0.22em !important;
  line-height: 1.46 !important;
  text-transform: uppercase !important;
  text-shadow: var(--hero-shadow) !important;
}

body.home-page .hero__h1 {
  max-width: min(100%, var(--hero-headline-width)) !important;
  margin: 0 0 clamp(16px, 2.2vh, 24px) !important;
  color: var(--hero-ink) !important;
  text-wrap: balance !important;
}

body.home-page .hero__h1-line,
body.home-page .hero__h1-em {
  display: block !important;
  opacity: 1 !important;
  filter: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
  font-family: var(--font-serif) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.008em !important;
  text-shadow: var(--hero-shadow) !important;
}

body.home-page .hero__h1-line {
  color: var(--hero-ink) !important;
  font-size: clamp(3.32rem, 4.22vw, 4.58rem) !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
}

body.home-page .hero__h1-em {
  color: var(--hero-ink-italic) !important;
  margin-top: 0.04em !important;
  font-size: clamp(3.06rem, 3.86vw, 4.18rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

body.home-page .hero__sub {
  max-width: var(--hero-copy-width) !important;
  margin: 0 !important;
  color: var(--hero-copy) !important;
  opacity: 1 !important;
  filter: none !important;
  font-size: clamp(0.98rem, 1vw, 1.08rem) !important;
  font-weight: 350 !important;
  line-height: 1.66 !important;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.48) !important;
}

body.home-page .hero__ctas {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px clamp(30px, 3.5vw, 48px) !important;
  width: min(100%, var(--hero-copy-width)) !important;
  margin: clamp(24px, 3.4vh, 34px) 0 0 !important;
  padding: clamp(17px, 2.2vh, 22px) 0 0 !important;
  border-top: 1px solid var(--hero-rule) !important;
  --cta-dark: var(--hero-ink) !important;
  --cta-dark-hover: var(--hero-ink) !important;
}

body.home-page .hero__ctas .hero__cta-link,
body.home-page .hero__ctas .text-link,
body.home-page .hero__ctas .text-link--dark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  min-height: 44px !important;
  padding: 9px 1px !important;
  color: var(--hero-ink) !important;
  opacity: 1 !important;
  filter: none !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(0.66rem, 0.72vw, 0.74rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.42) !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

body.home-page .hero__ctas .hero__cta-link--secondary {
  color: #eee7d7 !important;
  font-weight: 650 !important;
}

body.home-page .hero__ctas .hero__cta-link::after,
body.home-page .hero__ctas .text-link::after,
body.home-page .hero__ctas .text-link--dark::after {
  background: currentColor !important;
  bottom: 6px !important;
  opacity: 0.62 !important;
  transform-origin: left center !important;
}

body.home-page .hero__ctas .hero__cta-link:hover,
body.home-page .hero__ctas .hero__cta-link:focus-visible,
body.home-page .hero__ctas .text-link:hover,
body.home-page .hero__ctas .text-link:focus-visible,
body.home-page .hero__ctas .text-link--dark:hover,
body.home-page .hero__ctas .text-link--dark:focus-visible {
  color: #ffffff !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

body.home-page .hero__ctas .hero__cta-link:focus-visible,
body.home-page .hero__ctas .text-link:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 250, 240, 0.42) !important;
}

body.home-page .hero__cta-arrow,
body.home-page .text-link--arrow .hero__cta-arrow {
  display: inline-block !important;
  color: currentColor !important;
  opacity: 1 !important;
  line-height: 1 !important;
  transform: translateY(-0.02em) !important;
  transition: transform 180ms ease !important;
}

body.home-page .hero__ctas .hero__cta-link:hover .hero__cta-arrow,
body.home-page .hero__ctas .hero__cta-link:focus-visible .hero__cta-arrow {
  transform: translate(4px, -0.02em) !important;
}

body.home-page .hero__media-slide {
  filter: saturate(0.92) contrast(1.04) brightness(0.82) !important;
}

@media (min-width: 1440px) {
  body.home-page {
    --hero-copy-width: 35rem;
    --hero-headline-width: 42rem;
  }

  body.home-page .hero__left {
    width: min(55vw, 780px) !important;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  body.home-page {
    --hero-pad-x: clamp(52px, 5vw, 68px);
    --hero-copy-width: 31.5rem;
    --hero-headline-width: 39rem;
  }

  body.home-page .hero__left {
    width: min(56vw, 690px) !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2.9rem, 3.96vw, 3.68rem) !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(2.74rem, 3.68vw, 3.48rem) !important;
  }
}

@media (max-width: 1024px) and (min-width: 901px) {
  body.home-page {
    --hero-pad-x: 48px;
    --hero-copy-width: 29.5rem;
    --hero-headline-width: 36rem;
  }

  body.home-page .hero__left {
    width: min(58vw, 610px) !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2.62rem, 4.04vw, 3.24rem) !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(2.5rem, 3.78vw, 3.06rem) !important;
  }
}

@media (max-width: 900px) {
  body.home-page {
    --hero-copy-width: 38rem;
    --hero-headline-width: 36rem;
  }

  body.home-page .hero {
    min-height: auto !important;
  }

  body.home-page .hero::before {
    background:
      linear-gradient(180deg, rgba(3, 7, 12, 0.14) 0%, rgba(3, 7, 12, 0.08) 34%, #05090f 100%),
      linear-gradient(90deg, rgba(3, 7, 12, 0.60) 0%, rgba(3, 7, 12, 0.14) 70%) !important;
  }

  body.home-page .hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    min-height: auto !important;
  }

  body.home-page .hero__right {
    order: 1 !important;
    position: relative !important;
    inset: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    height: clamp(300px, 55vw, 430px) !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.home-page .hero__left {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: clamp(40px, 6vw, 56px) clamp(30px, 5.4vw, 44px) clamp(54px, 7vw, 68px) !important;
    justify-content: flex-start !important;
    background: linear-gradient(180deg, rgba(5, 9, 15, 0.99), #05090f 74%) !important;
  }

  body.home-page .hero__left::before {
    display: none !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2.55rem, 6.55vw, 3.08rem) !important;
    line-height: 0.96 !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(2.38rem, 6.1vw, 2.86rem) !important;
    line-height: 0.97 !important;
  }

  body.home-page .hero__sub {
    max-width: var(--hero-copy-width) !important;
    font-size: clamp(0.96rem, 1.8vw, 1.02rem) !important;
  }
}

@media (max-width: 768px) {
  body.home-page .hero__right {
    height: clamp(280px, 58vw, 390px) !important;
  }

  body.home-page .hero__left {
    padding: 38px 30px 54px !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2.48rem, 6.2vw, 2.94rem) !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(2.3rem, 5.8vw, 2.7rem) !important;
  }
}

@media (max-width: 600px) {
  body.home-page .hero__right {
    height: clamp(230px, 64vw, 330px) !important;
  }

  body.home-page .hero__left {
    padding: 34px 24px 48px !important;
  }

  body.home-page .hero__h1-location.editorial-eyebrow.editorial-eyebrow--dark,
  body.home-page .hero__h1-location.editorial-eyebrow,
  body.home-page .hero__h1-location {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.18em !important;
  }

  body.home-page .hero__h1 {
    margin-bottom: 17px !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2.14rem, 8vw, 2.43rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.01em !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(1.98rem, 7.48vw, 2.24rem) !important;
    line-height: 0.99 !important;
    letter-spacing: -0.006em !important;
  }

  body.home-page .hero__sub {
    max-width: 100% !important;
    font-size: 0.96rem !important;
    line-height: 1.62 !important;
  }

  body.home-page .hero__ctas {
    width: 100% !important;
    gap: 6px 24px !important;
    margin-top: 23px !important;
    padding-top: 18px !important;
  }

  body.home-page .hero__ctas .hero__cta-link,
  body.home-page .hero__ctas .text-link,
  body.home-page .hero__ctas .text-link--dark {
    min-height: 42px !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.13em !important;
  }

}

@media (max-width: 480px) {
  body.home-page .hero__left {
    padding: 32px 22px 46px !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(2rem, 7.85vw, 2.24rem) !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(1.86rem, 7.25vw, 2.08rem) !important;
  }

  body.home-page .hero__sub {
    font-size: 0.94rem !important;
  }

  body.home-page .hero__ctas {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
}

@media (max-width: 375px) {
  body.home-page .hero__left {
    padding: 30px 20px 42px !important;
  }

  body.home-page .hero__h1-line {
    font-size: clamp(1.92rem, 8.45vw, 2rem) !important;
  }

  body.home-page .hero__h1-em {
    font-size: clamp(1.78rem, 7.8vw, 1.88rem) !important;
  }

  body.home-page .hero__ctas .hero__cta-link,
  body.home-page .hero__ctas .text-link,
  body.home-page .hero__ctas .text-link--dark {
    min-height: 40px !important;
  }
}

/* ── Hero headline wrap fix — wide screens ────────────────────────────
   The hero left column is capped at 760px regardless of viewport width.
   The headline font scales with vw, so above ~1650px "Move with
   confidence." overflows the container and wraps to two lines.

   Fix: at 1440px+, use clamp values that exactly match the current
   rendering at 1440px and 1600px, then hold at the last size where
   the italic line fits on one line (~62px in a ~590px content box).

   h1-line: 4.22vw matches observed 60.77px at 1440px, caps at 68px.
   h1-em:   3.88vw matches observed 55.87px at 1440px, caps at 62px.

   Below 1440px (1280px "normal desktop"): untouched by this rule.
───────────────────────────────────────────────────────────────────── */
@media (min-width: 1440px) {
  body.home-page .hero__h1-line {
    /* 4.22vw = 60.77px at 1440px (matches current); cap at 68px — */
    /* "Local guidance." is shorter and fits at all widths.          */
    font-size: clamp(58px, 4.22vw, 68px) !important;
  }
  body.home-page .hero__h1-em {
    /* 3.88vw = 55.87px at 1440px (matches current 55.584px).       */
    /* Measured: "Move with confidence." = 574px at 62px in 572px   */
    /* container — wraps. At 58px = ~537px, 35px clear margin.      */
    font-size: clamp(54px, 3.88vw, 58px) !important;
  }
}

/* Community map callout stability — shared marker behavior. */
body.home-page .cm-map-marker {
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}

body.home-page .cm-map-marker-layer {
  pointer-events: none !important;
}

body.home-page .cm-map-marker-layer .cm-map-marker {
  pointer-events: auto !important;
}

body.home-page .cm-map-marker:hover .cm-map-marker__dot,
body.home-page .cm-map-marker:focus-visible .cm-map-marker__dot,
body.home-page .cm-map-marker.is-active .cm-map-marker__dot {
  width: 12px !important;
  height: 12px !important;
  flex-basis: 12px !important;
  border-color: rgba(248, 245, 239, 0.98) !important;
  background: #08182e !important;
  box-shadow: 0 5px 14px rgba(8, 24, 46, 0.18) !important;
}

@media (max-width: 850px) {
  body.home-page .cm-map-marker,
  body.home-page .cm-section.has-active .cm-map-marker:not(.is-active) {
    opacity: 1 !important;
  }

  body.home-page .cm-map-marker .cm-map-marker__label,
  body.home-page .cm-map-marker[data-community="waterdown"]:not(.is-active) .cm-map-marker__label,
  body.home-page .cm-map-marker:not(.is-active) .cm-map-marker__label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Local Expertise callout readability — keep the existing editorial layout, but
   restore enough contrast for the insight card and its service-area treatment. */
body.home-page .cm-insight__name {
  color: rgba(15, 27, 48, 0.9) !important;
}

body.home-page .cm-insight__line {
  color: rgba(17, 29, 51, 0.76) !important;
}

body.home-page .cm-insight__link.text-link--dark {
  color: rgba(11, 22, 38, 0.86) !important;
}

body.home-page .cm-insight__link.text-link--dark:hover,
body.home-page .cm-insight__link.text-link--dark:focus-visible {
  color: rgba(11, 22, 38, 0.98) !important;
}

body.home-page .cm-insight__link.text-link--dark::after {
  background: currentColor !important;
}

body.home-page .cm-service-area {
  max-width: 44ch !important;
  margin-top: clamp(24px, 2.8vw, 38px) !important;
  padding-top: clamp(14px, 1.6vw, 18px) !important;
  border-top: 1px solid rgba(17, 29, 51, 0.18) !important;
  color: rgba(15, 27, 48, 0.72) !important;
  font-size: clamp(0.72rem, 0.78vw, 0.82rem) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
}

@media (max-width: 620px) {
  body.home-page .cm-service-area {
    margin-top: clamp(22px, 6vw, 30px) !important;
    font-size: clamp(0.72rem, 3.1vw, 0.82rem) !important;
  }
}

/* Homepage meet-team mobile rhythm: keep the editorial intro balanced after
   replacing the single CTA with paired text links. */
@media (max-width: 620px) {
  body.home-page .meet-team .meet-team__inner.meet-editorial > .meet-team__content.meet-editorial__content,
  body.home-page .meet-editorial__content.meet-team__content {
    padding: 36px 22px 44px !important;
  }

  body.home-page .meet-editorial .meet-team__eyebrow {
    margin-bottom: 10px !important;
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading,
  body.home-page .meet-editorial .meet-team__heading {
    margin: 0 0 20px !important;
    font-size: clamp(2.16rem, 10.1vw, 2.84rem) !important;
    line-height: 0.98 !important;
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading br,
  body.home-page .meet-editorial .meet-team__heading br {
    display: none !important;
  }

  body.home-page .meet-team .meet-team__inner.meet-editorial .meet-team__heading em,
  body.home-page .meet-editorial .meet-team__heading em {
    display: block !important;
    margin-top: 0.1em !important;
    line-height: 1 !important;
  }

  body.home-page .meet-editorial .meet-team__body {
    font-size: clamp(0.92rem, 3.9vw, 0.98rem) !important;
    line-height: 1.62 !important;
  }

  body.home-page .meet-team__links {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: clamp(24px, 8vw, 34px) !important;
    margin-top: 18px !important;
  }
}

/* Keep small editorial and legal text above WCAG AA contrast thresholds. */
body.home-page .meet-editorial .meet-team__eyebrow {
  color: #646b75 !important;
}

body.home-page .footer__legal {
  color: rgba(244, 241, 234, 0.60) !important;
}

@media (max-width: 1100px) {
  body.home-page .nav__cta--phone,
  body.home-page .nav.nav--scrolled .nav__cta--phone {
    font-size: 0.82rem !important;
    letter-spacing: 0 !important;
  }

  body.home-page .nav__cta--email,
  body.home-page .nav.nav--scrolled .nav__cta--email {
    font-size: 0.66rem !important;
    letter-spacing: 0 !important;
  }
}
