/* Golfi Real Estate — Mobile Experience */

/* ═══════════════════════════════════════════════
     WORLD-CLASS MOBILE EXPERIENCE
  ═══════════════════════════════════════════════ */

  /* ── MOBILE HEADER ─────────────────────────── */
  @media (max-width: 991px) {
    .mobile-header.mobile-header2 {
      position: sticky !important;
      top: 0;
      z-index: 9999;
      background: #ffffff !important;
      box-shadow: 0 2px 16px rgba(0,0,0,0.10) !important;
      padding: 10px 0 !important;
      border-bottom: 2px solid #E2001A;
    }
    .mobile-header-elements {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      padding: 0 4px;
    }
    .mobile-logo a img {
      max-height: 38px !important;
      width: auto !important;
    }
    /* Style the hamburger + icon buttons */
    .mobile-right .circle-button {
      width: 38px !important;
      height: 38px !important;
      border-radius: 8px !important;
      background: #f4f5f7 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: none !important;
    }
    .mobile-right .circle-button svg path { fill: #0D1B3E !important; }
    .mobile-nav-icon.dots-menu {
      width: 42px !important;
      height: 42px !important;
      border-radius: 8px !important;
      background: #0D1B3E !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      cursor: pointer;
    }
    .mobile-nav-icon.dots-menu svg { fill: #ffffff !important; width: 20px; height: 20px; }
  }

  /* ── MOBILE SIDEBAR ───────────────────────── */
  @media (max-width: 991px) {
    .mobile-sidebar.mobile-sidebar2 {
      background: #0D1B3E !important;
      width: 300px !important;
    }
    .mobile-nav-list li a {
      color: #ffffff !important;
      font-size: 15px !important;
      font-weight: 500 !important;
      padding: 12px 0 !important;
      border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }
    .mobile-nav-list li a:hover { color: #E2001A !important; }
    .mobile-sidebar .side-logo img { max-height: 44px !important; }
    .mobile-sidebar .side-close { color: #fff !important; }
  }

  /* ── HERO SECTION MOBILE ──────────────────── */
  @media (max-width: 767px) {
    .hero2-slider-area::after { display: none; }
    .hero2-slider-area .container { padding-bottom: 32px; }

    /* Hero text sizing */
    .hero2-slider-area h1,
    .hero2-slider-area .hero-heading {
      font-size: 28px !important;
      line-height: 1.25 !important;
    }
    .hero2-slider-area p {
      font-size: 15px !important;
      line-height: 1.65 !important;
    }
    /* Hero search box */
    .hero2-search-form,
    .hero-search-area {
      border-radius: 12px !important;
      padding: 16px !important;
    }
    .hero2-search-form .search-input,
    .hero-search-area input {
      font-size: 15px !important;
      padding: 14px 16px !important;
      border-radius: 8px !important;
    }
    .hero2-search-form .theme-btn,
    .hero-search-area .theme-btn {
      width: 100% !important;
      padding: 14px !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      border-radius: 8px !important;
      margin-top: 8px;
    }
  }

  /* ── PROPERTY CARDS MOBILE ────────────────── */
  @media (max-width: 767px) {
    .property-card,
    .property-item,
    .property-box {
      border-radius: 14px !important;
      overflow: hidden !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.09) !important;
      margin-bottom: 20px !important;
    }
    .property-card img,
    .property-item img,
    .property-box img {
      border-radius: 0 !important;
    }
    .property-card .property-info,
    .property-item .property-content,
    .property-box .property-content {
      padding: 16px !important;
    }
    .property-card h4, .property-card h3,
    .property-item h4, .property-item h3 {
      font-size: 16px !important;
      line-height: 1.35 !important;
      margin-bottom: 6px !important;
    }
    /* Price styling */
    .property-card .price,
    .property-item .price,
    .property-price {
      font-size: 18px !important;
      font-weight: 700 !important;
      color: #E2001A !important;
    }
    /* Feature icons row */
    .property-features,
    .property-meta {
      gap: 12px !important;
      font-size: 13px !important;
    }
  }

  /* ── SECTION HEADERS MOBILE ───────────────── */
  @media (max-width: 767px) {
    .section-title, .section-header h2,
    .heading-area h2 {
      font-size: 24px !important;
      line-height: 1.3 !important;
    }
    .section-desc, .section-header p,
    .heading-area p {
      font-size: 15px !important;
    }
    /* Section vertical padding */
    section, .section-area {
      padding-top: 52px !important;
      padding-bottom: 52px !important;
    }
  }

  /* ── AGENT/TEAM CARDS MOBILE ──────────────── */
  @media (max-width: 767px) {
    .agent-card, .team-card, .agent-item {
      border-radius: 14px !important;
      overflow: hidden !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    }
    .agent-card img, .team-card img { height: 220px !important; object-fit: cover !important; }
    .agent-info, .team-info { padding: 16px !important; }
    .agent-info h4, .team-info h4 { font-size: 16px !important; }
  }

  /* ── FOOTER MOBILE ────────────────────────── */
  @media (max-width: 767px) {
    .footer2-section-area { padding-top: 56px !important; padding-bottom: 100px !important; }
    .footer-brand-row { flex-wrap: wrap; gap: 12px; }
    .footer2-section-area h3 { font-size: 16px !important; margin-bottom: 16px !important; }
    .footer2-section-area li { margin-bottom: 10px !important; }
    .footer2-section-area .copyright { text-align: center; }
  }

  /* ── CTA SECTION MOBILE ───────────────────── */
  @media (max-width: 767px) {
    .golfi-cta-area { padding: 48px 0 !important; }
    .golfi-cta-area .cta-header h2 { font-size: 24px !important; }
    .golfi-cta-area .cta-header p { font-size: 15px !important; }
    .golfi-cta-btn, .golfi-cta-phone { padding: 16px 24px !important; font-size: 15px !important; }
    /* Stack on mobile */
    .golfi-cta-actions { margin-top: 28px !important; }
  }

  /* ── FLOATING MOBILE ACTION BAR ───────────── */
  .mobile-action-bar {
    display: none;
  }
  @media (max-width: 991px) {
    .mobile-action-bar {
      display: flex;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 9998;
      background: #0D1B3E;
      padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
      gap: 10px;
      box-shadow: 0 -4px 24px rgba(0,0,0,0.22);
    }
    .mobile-action-bar a {
      flex: 1;
      display: flex !important;
      align-items: center;
      justify-content: center;
      gap: 7px;
      padding: 13px 12px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      letter-spacing: 0.3px;
    }
    .mobile-action-bar .mab-call {
      background: #E2001A;
      color: #fff !important;
    }
    .mobile-action-bar .mab-listings {
      background: rgba(255,255,255,0.10);
      color: #fff !important;
      border: 1.5px solid rgba(255,255,255,0.25);
    }
    .mobile-action-bar .mab-listings:hover,
    .mobile-action-bar .mab-call:hover { opacity: 0.92; }
    /* Push page content above the bar */
    body { padding-bottom: 76px !important; }
  }

  /* ── BUTTONS — min touch target 44px ─────── */
  @media (max-width: 991px) {
    .theme-btn, .theme-btn3, .btn, button {
      min-height: 44px !important;
    }
    a { -webkit-tap-highlight-color: rgba(0,61,165,0.15); }
  }

  /* ── COUNTERS/STATS MOBILE ────────────────── */
  @media (max-width: 767px) {
    .counter-section-area .col-6,
    .counter-section .col-6 { margin-bottom: 24px; }
    .counter, .counter-number { font-size: 32px !important; }
  }

  /* ── PRELOADER — hidden for local file preview ── */
  .preloader { display: none !important; }
  body { overflow: auto !important; }
  .loading { border-color: #E2001A transparent transparent transparent !important; }
  /* ── AGENT CARDS ─────────────────────────────── */
  .agent-social a:hover { background: #E2001A !important; }
  /* ── HERO REMAX BADGE ────────────────────────── */
  .remax-hero-badge { position: absolute; bottom: 32px; right: 5%; display: flex; flex-direction: column; align-items: center; gap: 6px; z-index: 10; opacity: 0.92; }
  /* ── HERO LEFT PANEL — RE/MAX BLUE OVERLAY ───── */
  .hero2-slider-area { position: relative; }
  .hero2-slider-area::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 44%;
    height: 100%;
    background: linear-gradient(to right,
      rgba(0, 61, 165, 0.52) 0%,
      rgba(0, 61, 165, 0.32) 72%,
      rgba(0, 61, 165, 0.00) 100%
    );
    pointer-events: none;
    z-index: 1;
  }
  .hero2-slider-area .container { position: relative; z-index: 2; }

/* ═══════════════════════════════════════════════════════════════
   WORLD-CLASS MOBILE v2 — foundation + decluttered bottom UI
   (Loaded before the chat widget's injected <style>, so overrides
    of #ga-* / #gj-* use !important to win the cascade.)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* ── Overflow + media guardrails (never scroll sideways) ── */
  html, body { max-width: 100%; overflow-x: hidden; }
  img, svg, video, iframe, table { max-width: 100%; }
  * { -webkit-tap-highlight-color: rgba(0,61,165,0.14); }

  /* ── Bottom action bar: crisp, full-width, no truncation ── */
  .mobile-action-bar {
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom)) !important;
    gap: 10px !important;
    background: #0D1B3E !important;
    box-shadow: 0 -6px 26px rgba(13,27,62,0.30) !important;
  }
  .mobile-action-bar a {
    min-height: 48px !important;
    font-size: 13.5px !important;
    letter-spacing: .2px !important;
    white-space: nowrap !important;
    border-radius: 12px !important;
  }
  /* Reserve exact space so nothing hides behind the bar */
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; }

  /* ── Kill the redundant floating Call-Now pill (action bar already has Call) ── */
  #gj-callnow { display: none !important; }

  /* ── Chat FAB: floats cleanly ABOVE the bar, bottom-right ── */
  #ga-btn {
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    right: 14px !important;
    width: 56px !important; height: 56px !important;
  }
  #ga-bubble {
    right: 14px !important;
    bottom: calc(148px + env(safe-area-inset-bottom)) !important;
    max-width: 200px !important;
  }
  #ga-toast { bottom: calc(148px + env(safe-area-inset-bottom)) !important; right: 14px !important; }

  /* ── "What's My Home Worth?" pill: bottom-LEFT above the bar (no collision) ── */
  #ga-hv-tab {
    left: 14px !important; right: auto !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    writing-mode: horizontal-tb !important; text-orientation: mixed !important;
    top: auto !important; transform: none !important;
    border-radius: 26px !important; padding: 11px 16px !important; font-size: 12.5px !important;
    box-shadow: 0 8px 22px rgba(13,27,62,.34) !important;
  }
  #ga-hv-tab:hover { transform: translateY(-2px) !important; }
}

/* ── Mobile hero: restore a bottom-up overlay for text legibility ── */
@media (max-width: 767px) {
  .hero2-slider-area::after {
    display: block !important;
    top: auto !important; bottom: 0 !important;
    width: 100% !important; height: 68% !important;
    background: linear-gradient(to top,
      rgba(13,27,62,0.78) 0%,
      rgba(13,27,62,0.42) 40%,
      rgba(13,27,62,0.00) 100%) !important;
  }
}

/* ── Hero refinement v3 — full overlay + legible eyebrow, clear gap ── */
@media (max-width: 767px) {
  .hero2-slider-area::after {
    top: 0 !important; bottom: 0 !important; height: 100% !important; width: 100% !important;
    background: linear-gradient(to top,
      rgba(13,27,62,0.86) 0%,
      rgba(13,27,62,0.56) 34%,
      rgba(13,27,62,0.30) 62%,
      rgba(13,27,62,0.12) 100%) !important;
  }
  .hero2-header h5 {
    display: inline-block !important;
    background: rgba(0,61,165,0.92) !important;
    color: #ffffff !important;
    font-size: 11.5px !important; font-weight: 700 !important;
    letter-spacing: 0.6px !important; text-transform: uppercase !important;
    line-height: 1.45 !important;
    padding: 8px 14px !important; border-radius: 8px !important;
    margin: 0 0 18px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.22) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  }
  .hero2-header .space20 { height: 0 !important; }
  .hero2-header h1 {
    margin-top: 0 !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.38) !important;
  }
  .hero2-header .btn-area1 { margin-top: 22px !important; }
}

/* ── Eyebrow legibility (beat golfi-brand gold) + return banner placement ── */
@media (max-width: 767px) {
  .hero2-slider-sectionarea .hero2-header h5,
  .hero2-slider-area .hero2-header h5 { color: #ffffff !important; }
}
@media (max-width: 991px) {
  #ga-return-bar { bottom: calc(72px + env(safe-area-inset-bottom)) !important; padding-bottom: 12px !important; }
  #ga-save-bar { z-index: 100000 !important; }
}

/* ── Mobile menu drawer: full legibility on navy ── */
@media (max-width: 991px) {
  .mobile-sidebar.mobile-sidebar2 li,
  .mobile-sidebar.mobile-sidebar2 li a,
  .mobile-sidebar.mobile-sidebar2 h1, .mobile-sidebar.mobile-sidebar2 h2,
  .mobile-sidebar.mobile-sidebar2 h3, .mobile-sidebar.mobile-sidebar2 h4,
  .mobile-sidebar.mobile-sidebar2 h5, .mobile-sidebar.mobile-sidebar2 p,
  .mobile-sidebar.mobile-sidebar2 span,
  .mobile-sidebar.mobile-sidebar2 a:not(.theme-btn):not(.theme-btn3) {
    color: #ffffff !important;
  }
  .mobile-sidebar.mobile-sidebar2 .sub-menu li a,
  .mobile-sidebar.mobile-sidebar2 ul ul li a {
    color: rgba(255,255,255,0.80) !important;
  }
  .mobile-sidebar.mobile-sidebar2 .side-logo img { max-height: 46px !important; opacity: 1 !important; }
  .mobile-sidebar.mobile-sidebar2 svg path { fill: rgba(255,255,255,0.9) !important; }
  .mobile-sidebar.mobile-sidebar2 .side-close, .mobile-sidebar.mobile-sidebar2 .side-close svg path { color:#fff !important; fill:#fff !important; }
}
/* ── Hide floating UI while the menu drawer is open (modern browsers) ── */
body:has(.mobile-sidebar.mobile-menu-active) #ga-btn,
body:has(.mobile-sidebar.mobile-menu-active) #ga-bubble,
body:has(.mobile-sidebar.mobile-menu-active) #ga-hv-tab,
body:has(.mobile-sidebar.mobile-menu-active) #gj-callnow,
body:has(.mobile-sidebar.mobile-menu-active) .mobile-action-bar { display: none !important; }

/* ── Floating UI refinement: nudge auto-dismiss, compact pill, form-safe ── */
@keyframes gj-bubble-out { to { opacity: 0; transform: translateY(8px) scale(.96); visibility: hidden; } }
@media (max-width: 991px) {
  /* Greeting nudge shows briefly, then fades so it never sits over content */
  #ga-bubble.show { animation: gj-bubble-out .5s ease 5.5s forwards !important; }
  /* Compact the home-value pill so it covers less */
  #ga-hv-tab { padding: 10px 15px !important; font-size: 12px !important; letter-spacing: .3px !important; }
}
/* While typing in any field, clear the bottom floating UI (keyboard-safe, form unobstructed) */
body:has(input:focus) .mobile-action-bar, body:has(input:focus) #ga-hv-tab, body:has(input:focus) #ga-btn,
body:has(textarea:focus) .mobile-action-bar, body:has(textarea:focus) #ga-hv-tab, body:has(textarea:focus) #ga-btn,
body:has(select:focus) .mobile-action-bar, body:has(select:focus) #ga-hv-tab, body:has(select:focus) #ga-btn {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   WORLD-CLASS MOBILE v3 — polish round 2
   ═══════════════════════════════════════════════════════════════ */
/* ── Fluid type: smooth scaling 320 → 767 ── */
@media (max-width: 767px) {
  .hero2-slider-area h1, .hero2-header h1 {
    font-size: clamp(23px, 6.6vw, 32px) !important;
    line-height: 1.18 !important; letter-spacing: -0.4px !important;
  }
  .section-title, .section-header h2, .heading-area h2,
  .golfi-cta-area .cta-header h2, h2.text-anime-style-3 {
    font-size: clamp(21px, 6vw, 27px) !important; line-height: 1.24 !important;
  }
  .counter, .counter-number { font-size: clamp(28px, 9vw, 38px) !important; }
  body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
}

/* ── Tactile micro-interactions (press feedback) ── */
@media (max-width: 991px) {
  .property-card, .property-item, .property-box, .agent-card, .team-card {
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .property-card:active, .property-item:active, .property-box:active { transform: scale(.985); }
  .theme-btn:active, .theme-btn3:active, .btn:active,
  .mobile-action-bar a:active, #ga-hv-tab:active, #ga-btn:active { transform: scale(.96); }
  a, button { transition: transform .15s ease, opacity .15s ease, background-color .2s ease, color .2s ease; }
  /* Uniform, shift-free listing images */
  .property-card img, .property-item img, .property-box img {
    aspect-ratio: 3 / 2 !important; object-fit: cover !important; width: 100% !important; height: auto !important; display: block !important;
  }
}

/* ── Accessibility: respect reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important; scroll-behavior: auto !important;
  }
  #ga-hv-tab { animation: none !important; }
}
html { scroll-behavior: smooth; }

/* ── Inner-page hero banners (breadcrumb + title) ── */
@media (max-width: 767px) {
  .hero-inner-section-area-sidebar, .hero-header-area, .breadcrumb-area {
    padding-top: 42px !important; padding-bottom: 42px !important;
  }
  .hero-inner-section-area-sidebar h1, .hero-header-area h1, .breadcrumb-area h1, .hero-header-area .hero-title {
    font-size: clamp(26px, 8vw, 40px) !important; line-height: 1.14 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   WORLD-CLASS MOBILE v4 — R3 accessibility + refinement
   ═══════════════════════════════════════════════════════════════ */
/* Stop iOS auto-inflating text (esp. landscape) */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (max-width: 991px) {
  /* Accessible focus rings — only appear for keyboard / switch-control users */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
  select:focus-visible, [role="button"]:focus-visible,
  .theme-btn:focus-visible, .theme-btn3:focus-visible, .mobile-action-bar a:focus-visible {
    outline: 3px solid #0A78CE !important; outline-offset: 2px !important;
  }
  /* Comfortable tap targets for social icons */
  .agent-social a, .footer-social a, .social-links a, ul.social li a, .social-icon a {
    min-width: 42px !important; min-height: 42px !important;
    display: inline-flex !important; align-items: center; justify-content: center;
  }
  /* Momentum scrolling for the menu drawer + scroll areas */
  .mobile-sidebar, [class*="scroll-area"] { -webkit-overflow-scrolling: touch; }
}

/* ── R4: kill bottom-corner clutter/overlap on mobile ── */
@media (max-width: 991px) {
  #ga-return-bar { display: none !important; }   /* "Welcome back" banner overlapped the FAB/pill */
  #ga-bubble { display: none !important; }        /* greeting bubble — FAB avatar is enough */
}

/* ═══════════════════════════════════════════════════════════════
   WORLD-CLASS MOBILE v5 — hero content polish (LAYOUT-SAFE, no slider changes)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  /* Cinematic gradient for legibility + page blend */
  .hero2-slider-area::after {
    top: 0 !important; bottom: 0 !important; height: 100% !important; width: 100% !important;
    background: linear-gradient(to top,
      rgba(9,17,40,0.92) 0%, rgba(9,17,40,0.60) 36%, rgba(9,17,40,0.26) 64%, rgba(9,17,40,0.05) 100%) !important;
  }
  /* Slim red-accent kicker (replaces the boxy pill) */
  .hero2-header h5 {
    display: block !important; background: transparent !important; box-shadow: none !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    color: #ffffff !important; font-size: 10.5px !important; font-weight: 700 !important;
    letter-spacing: 1.5px !important; text-transform: uppercase !important; line-height: 1.5 !important;
    padding: 1px 0 1px 13px !important; margin: 0 0 14px !important;
    position: relative !important; max-width: 330px !important; opacity: .95 !important;
  }
  .hero2-header h5::before {
    content: '' !important; position: absolute !important; left: 0 !important; top: 2px !important; bottom: 2px !important;
    width: 3px !important; border-radius: 3px !important; background: #e2001a !important;
  }
  .hero2-header .space20 { height: 0 !important; }
  .hero2-header h1 {
    font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.12 !important;
    letter-spacing: -0.5px !important; margin: 0 0 20px !important; font-weight: 800 !important;
    text-shadow: 0 2px 24px rgba(0,0,0,0.42) !important;
  }
  .hero2-header .btn-area1 { margin: 0 !important; }
  .hero2-header .theme-btn3 {
    display: inline-flex !important; align-items: center !important; gap: 9px !important;
    padding: 15px 26px !important; font-size: 15px !important; font-weight: 700 !important;
    border-radius: 14px !important; box-shadow: 0 10px 30px rgba(0,61,165,0.42) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE v6 — APP-GRADE: dedicated hero, iOS bottom bar, chat sheet
   ═══════════════════════════════════════════════════════════════ */
/* Hide the desktop 4-slide slider on phones; use the purpose-built hero */
@media (max-width: 991px) { .hero2-slider-sectionarea { display: none !important; } }

.m-hero { display: none; }
@media (max-width: 991px) {
  .m-hero { display: block; position: relative; min-height: 56vh; overflow: hidden; background: #0D1B3E; }
  .m-hero-slides { position: absolute; inset: 0; z-index: 0; }
  .m-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center 30%; opacity: 0; will-change: opacity, transform; animation: mHeroFade 18s linear infinite; }
  .m-hero-bg:nth-child(1) { animation-delay: 0s; }
  .m-hero-bg:nth-child(2) { animation-delay: 6s; }
  .m-hero-bg:nth-child(3) { animation-delay: 12s; }
  @keyframes mHeroFade { 0%{opacity:0;transform:scale(1.08);} 4%{opacity:1;} 30%{opacity:1;} 34%{opacity:0;} 100%{opacity:0;transform:scale(1.0);} }
  .m-hero::after { content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(9,17,40,.14) 0%, rgba(9,17,40,0) 34%, rgba(9,17,40,.40) 70%, rgba(9,17,40,.82) 100%); }
  .m-hero-inner { position: relative; z-index: 2; min-height: 56vh; display: flex; flex-direction: column; justify-content: center; padding: 44px 24px 28px; }
  .m-hero-kicker { align-self: flex-start; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; position: relative; padding-left: 14px; margin: 0 0 12px; opacity: .96; line-height: 1.5; }
  .m-hero-kicker::before { content: ''; position: absolute; left: 0; top: 2px; bottom: 2px; width: 3px; border-radius: 3px; background: #e2001a; }
  .m-hero-title { color: #fff; font-size: clamp(26px, 7.6vw, 34px); line-height: 1.1; letter-spacing: -0.6px; font-weight: 800; margin: 0 0 10px; text-shadow: 0 2px 18px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45); }
  .m-hero-sub { color: rgba(255,255,255,.9); font-size: 15px; line-height: 1.5; margin: 0 0 16px; max-width: 340px; }
  .m-hero-cta { display: block; text-align: center; background: #E2001A; color: #fff; font-weight: 700; font-size: 16px; padding: 16px 20px; border-radius: 16px; text-decoration: none; box-shadow: 0 14px 34px rgba(0,61,165,.5); margin-bottom: 12px; letter-spacing: .2px; }
  .m-hero-cta2 { display: block; text-align: center; background: rgba(255,255,255,.14); border: 1.5px solid rgba(255,255,255,.45); color: #fff; font-weight: 700; font-size: 16px; padding: 15px 20px; border-radius: 16px; text-decoration: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
}

/* iOS-style frosted bottom bar */
@media (max-width: 991px) {
  .mobile-action-bar {
    background: rgba(16,24,52,0.78) !important;
    -webkit-backdrop-filter: blur(22px) saturate(180%) !important; backdrop-filter: blur(22px) saturate(180%) !important;
    border-top: 0.5px solid rgba(255,255,255,0.16) !important; box-shadow: none !important;
    padding: 9px 12px calc(9px + env(safe-area-inset-bottom)) !important; gap: 10px !important;
  }
  .mobile-action-bar a { border-radius: 13px !important; min-height: 46px !important; font-size: 13.5px !important; font-weight: 700 !important; }
  .mobile-action-bar .mab-call { background: #E2001A !important; color: #fff !important; box-shadow: 0 6px 16px rgba(0,61,165,.42) !important; }
  .mobile-action-bar .mab-listings { background: rgba(255,255,255,0.14) !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.24) !important; }
}

/* Home-worth pill — red outline so it pops off the bar */
@media (max-width: 991px) {
  #ga-hv-tab {
    background: #0D1B3E !important; border: 2px solid #e2001a !important; color: #fff !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.34) !important; font-weight: 700 !important;
  }
}

/* Chat panel — proper mobile bottom sheet (never exceeds screen) */
@media (max-width: 767px) {
  #ga-panel {
    width: calc(100% - 28px) !important; max-width: 400px !important;
    left: auto !important; right: 14px !important; bottom: 88px !important;
    height: 68vh !important; max-height: 560px !important;
    border-radius: 18px !important; box-shadow: 0 16px 48px rgba(0,0,0,.38) !important;
  }
  /* 16px on every widget input prevents iOS focus auto-zoom (page-zoom bug) */
  #ga-panel #ga-input, #ga-save-email, #ga-search-email,
  .ga-field input, .ga-field select, .ga-bk-inp, .ga-cs-inp, .ga-chip input {
    font-size: 16px !important;
  }
}

/* Respect reduced-motion: freeze hero on first image */
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .m-hero-bg { animation: none !important; opacity: 0 !important; transform: none !important; }
  .m-hero-bg:nth-child(1) { opacity: 1 !important; }
}

/* ═══ Hero WOW layer: glass search, chips, trust, dots, entrance ═══ */
@media (max-width: 991px) {
  .m-hero-search { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.15); -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%); border:1px solid rgba(255,255,255,0.30); border-radius:16px; padding:6px 6px 6px 14px; margin:4px 0 16px; box-shadow:0 14px 32px rgba(0,0,0,0.30); }
  .m-hero-search-ico { width:20px; height:20px; color:rgba(255,255,255,0.9); flex:0 0 auto; }
  .m-hero-search input { flex:1 1 auto; min-width:0; background:transparent; border:0; outline:0; color:#fff; font-size:16px; padding:11px 2px; }
  .m-hero-search input::placeholder { color:rgba(255,255,255,0.75); }
  .m-hero-search button { flex:0 0 auto; background:#e2001a; color:#fff; font-weight:700; font-size:14px; border:0; border-radius:12px; padding:12px 18px; box-shadow:0 6px 16px rgba(226,0,26,0.42); }
  .m-hero-chips { display:flex; gap:9px; margin:0 0 18px; flex-wrap:wrap; }
  .m-hero-chips a { color:#fff; font-size:13.5px; font-weight:600; text-decoration:none; padding:8px 16px; border-radius:999px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.26); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
  .m-hero-trust { color:rgba(255,255,255,0.9); font-size:12px; font-weight:500; letter-spacing:.2px; display:flex; align-items:center; gap:7px; }
  .m-hero-stars { color:#FFC531; letter-spacing:1px; font-size:12px; }
  .m-hero-dots { position:absolute; z-index:3; left:50%; transform:translateX(-50%); bottom:118px; display:flex; gap:7px; }
  .m-hero-dots span { width:7px; height:7px; border-radius:999px; background:rgba(255,255,255,0.4); animation:mDot 18s linear infinite; }
  .m-hero-dots span:nth-child(1){ animation-delay:0s; } .m-hero-dots span:nth-child(2){ animation-delay:6s; }
  .m-hero-dots span:nth-child(3){ animation-delay:12s; }
  @keyframes mDot { 0%{width:22px;background:#e2001a;} 30%{width:22px;background:#e2001a;} 34%{width:7px;background:rgba(255,255,255,0.4);} 100%{width:7px;background:rgba(255,255,255,0.4);} }
  .m-hero-kicker,.m-hero-title,.m-hero-sub,.m-hero-search,.m-hero-chips,.m-hero-trust { opacity:0; transform:translateY(16px); animation:mRise .7s cubic-bezier(.2,.7,.2,1) forwards; }
  .m-hero-kicker{ animation-delay:.15s; } .m-hero-title{ animation-delay:.28s; } .m-hero-sub{ animation-delay:.42s; }
  .m-hero-search{ animation-delay:.54s; } .m-hero-chips{ animation-delay:.66s; } .m-hero-trust{ animation-delay:.78s; }
  @keyframes mRise { to{ opacity:1; transform:translateY(0); } }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .m-hero-kicker,.m-hero-title,.m-hero-sub,.m-hero-search,.m-hero-chips,.m-hero-trust { animation:none !important; opacity:1 !important; transform:none !important; }
  .m-hero-dots span { animation:none !important; }
  .m-hero-dots span:nth-child(1){ width:22px; background:#e2001a; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE MENU v2 — WORLD-CLASS DRAWER
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* Backdrop scrim (dark + blur) */
  .body-overlay { z-index: 99998 !important; }
  .body-overlay.active, body:has(.mobile-sidebar.mobile-menu-active) .body-overlay {
    background: rgba(6,12,28,0.55) !important; -webkit-backdrop-filter: blur(5px) !important; backdrop-filter: blur(5px) !important;
    opacity: 1 !important; visibility: visible !important;
  }
  /* Drawer shell */
  .mobile-sidebar.mobile-sidebar2 {
    width: min(88vw, 384px) !important; max-width: 384px !important;
    background: linear-gradient(165deg, #0D1B3E 0%, #0a1530 62%, #081026 100%) !important;
    z-index: 100000 !important; padding: 0 !important;
    box-shadow: 0 0 60px rgba(0,0,0,0.55) !important;
    display: flex !important; flex-direction: column !important;
  }
  /* Header: logo + circular close */
  .mobile-sidebar.mobile-sidebar2 .logosicon-area {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    padding: calc(env(safe-area-inset-top) + 18px) 22px 16px !important; margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important; flex: 0 0 auto !important;
  }
  .mobile-sidebar.mobile-sidebar2 .logos img { max-height: 40px !important; width: auto !important; opacity: 1 !important; }
  .mobile-sidebar.mobile-sidebar2 .menu-close {
    width: 40px !important; height: 40px !important; border-radius: 50% !important; background: rgba(255,255,255,0.10) !important;
    display: flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important;
  }
  .mobile-sidebar.mobile-sidebar2 .menu-close svg { width: 18px !important; height: 18px !important; }
  /* Scrollable nav region */
  .mobile-sidebar.mobile-sidebar2 .mobile-nav { flex: 1 1 auto !important; overflow-y: auto !important; padding: 6px 0 !important; -webkit-overflow-scrolling: touch; }
  /* Top-level rows */
  .mobile-nav-list.nav-list1 > li { border-bottom: 1px solid rgba(255,255,255,0.07) !important; margin: 0 !important; position: relative; }
  .mobile-nav-list.nav-list1 > li > a {
    display: flex !important; align-items: center !important; min-height: 54px !important;
    padding: 0 22px !important; font-size: 16px !important; font-weight: 600 !important; color: #fff !important; letter-spacing: .2px !important;
  }
  .mobile-nav-list.nav-list1 > li > a:active { background: rgba(255,255,255,0.06) !important; }
  /* Hide internal pages from public menu */
  .mobile-nav-list li:has(> a[href="dashboard.html"]),
  .mobile-nav-list li:has(> a[href="admin.html"]) { display: none !important; }
  /* Submenus */
  .mobile-nav-list .sub-menu { background: rgba(0,0,0,0.20) !important; padding: 2px 0 8px !important; margin: 0 !important; }
  .mobile-nav-list .sub-menu li a {
    display: flex !important; align-items: center !important; min-height: 44px !important;
    padding: 0 22px 0 38px !important; font-size: 14px !important; font-weight: 500 !important; color: rgba(255,255,255,0.78) !important;
  }
  .mobile-nav-list .sub-menu li a:active { color: #fff !important; }
  /* CTA block */
  .allmobilesection { padding: 18px 22px calc(env(safe-area-inset-bottom) + 22px) !important; flex: 0 0 auto !important; }
  .allmobilesection .theme-btn3 { display: flex !important; width: 100% !important; align-items: center !important; justify-content: center !important; border-radius: 14px !important; padding: 15px !important; font-size: 15px !important; box-shadow: 0 12px 28px rgba(0,61,165,0.42) !important; }
  .m-menu-call { display: flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; width: 100% !important; margin-top: 10px !important; padding: 14px !important; border-radius: 14px !important; border: 1.5px solid rgba(255,255,255,0.30) !important; color: #fff !important; font-weight: 700 !important; font-size: 15px !important; background: rgba(255,255,255,0.08) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .m-menu-call svg { fill: #fff !important; }
  /* Contact info — compact, secondary hierarchy */
  .allmobilesection .single-footer h3 { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 1.4px !important; color: rgba(255,255,255,0.5) !important; font-weight: 700 !important; margin: 22px 0 12px !important; }
  .allmobilesection .contact-info-single { display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 12px !important; }
  .allmobilesection .contact-info-icon { width: 36px !important; height: 36px !important; border-radius: 10px !important; background: rgba(255,255,255,0.08) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; }
  .allmobilesection .contact-info-icon svg { width: 16px !important; height: 16px !important; }
  .allmobilesection .contact-info-text a { color: rgba(255,255,255,0.9) !important; font-size: 14px !important; }
  /* Social row */
  .social-links-mobile-menu ul { display: flex !important; gap: 10px !important; padding: 0 !important; margin: 0 !important; list-style: none !important; }
  .social-links-mobile-menu li { list-style: none !important; }
  .social-links-mobile-menu a { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: rgba(255,255,255,0.10) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #fff !important; }
  /* Staggered entrance when drawer opens */
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li { opacity: 0; transform: translateX(-14px); animation: mNavIn .45s cubic-bezier(.2,.7,.2,1) forwards; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(1){ animation-delay: .06s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(2){ animation-delay: .11s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(3){ animation-delay: .16s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(4){ animation-delay: .21s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(5){ animation-delay: .26s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(6){ animation-delay: .31s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(7){ animation-delay: .36s; }
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li:nth-child(8){ animation-delay: .41s; }
  @keyframes mNavIn { to { opacity: 1; transform: translateX(0); } }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .mobile-sidebar.mobile-menu-active .mobile-nav-list.nav-list1 > li { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ═══ R7 — chips pop, RE/MAX overlap fix, right-edge pill, menu chevron ═══ */
@media (max-width: 991px) {
  /* Buy/Sell/Home Value chips — white glass, red outline, blue bold text (POP) */
  .m-hero-chips a {
    background: rgba(255,255,255,0.92) !important;
    border: 1.6px solid #e2001a !important;
    color: #E2001A !important; font-weight: 700 !important;
    -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.20) !important;
  }
  /* Kill the RE/MAX badge overlapping the avatar on mobile (credited in footer) */
  .remax-hero-badge { display: none !important; }
  /* Home-worth pill → vertical standing tab on the right edge */
  #ga-hv-tab {
    position: fixed !important; right: 0 !important; left: auto !important;
    top: 60% !important; bottom: auto !important; transform: translateY(-50%) !important;
    writing-mode: vertical-rl !important; text-orientation: mixed !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important;
    padding: 12px 6px !important; margin: 0 !important; width: auto !important; height: auto !important; max-width: none !important;
    border-radius: 14px 0 0 14px !important; background: #0D1B3E !important; color: #fff !important;
    border: 2px solid #e2001a !important; border-right: 0 !important;
    box-shadow: -8px 8px 22px rgba(0,0,0,0.32) !important;
    font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .4px !important; z-index: 9990 !important; opacity: .96 !important;
  }
  #ga-hv-tab svg { width: 18px !important; height: 18px !important; }
  /* Visible submenu chevron */
  .mobile-nav-list .submenu-button {
    position: absolute !important; right: 14px !important; top: 11px !important;
    width: 32px !important; height: 32px !important; border-radius: 8px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: rgba(255,255,255,0.10) !important; color: #fff !important; font-size: 20px !important; z-index: 4 !important;
  }
  .mobile-nav-list .submenu-button svg { fill: #fff !important; width: 16px !important; height: 16px !important; }
}

/* Kill off-brand auto drop-down / slide-up bars everywhere (belt-and-suspenders) */
#ga-save-bar, #ga-search-bar, #ga-return-bar { display: none !important; }

/* ═══ R8 — desktop-match hero pills + welcoming agent row ═══ */
@media (max-width: 991px) {
  .m-hero-chips { gap: 8px !important; margin: 0 0 18px !important; flex-wrap: wrap !important; }
  .m-hero-chips a.mh-chip {
    background: #EDF1F6 !important; color: #0D1B3E !important; border: 1px solid #D7DDE7 !important;
    border-radius: 30px !important; font-weight: 600 !important; font-size: 13.5px !important;
    padding: 8px 17px !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important;
    transition: background .18s, color .18s, border-color .18s !important;
  }
  .m-hero-agent { display: flex !important; align-items: center !important; gap: 11px !important; margin-top: 2px !important;
    opacity: 0; transform: translateY(16px); animation: mRise .7s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: .7s; }
  .m-hero-agent-ph { width: 42px !important; height: 42px !important; border-radius: 50% !important; object-fit: cover !important; object-position: center 18% !important; border: 2px solid rgba(255,255,255,.75) !important; flex: 0 0 auto !important; }
  .m-hero-agent-txt { display: flex !important; flex-direction: column !important; line-height: 1.25 !important; min-width: 0 !important; }
  .m-hero-agent-txt strong { color: #fff !important; font-size: 14px !important; font-weight: 700 !important; }
  .m-hero-agent-txt span { color: rgba(255,255,255,.82) !important; font-size: 11.5px !important; }
  .m-hero-remax { height: 30px !important; width: auto !important; margin-left: auto !important; opacity: .96 !important; flex: 0 0 auto !important; }
}
/* GLOBAL pill rule — hover OR selected turns red (matches desktop .tab-btn) */
.mh-chip:hover, .mh-chip.is-on, .tab-btn:hover, .tab-btn.active {
  background: #e2001a !important; color: #fff !important; border-color: #e2001a !important;
}

/* ═══════════════════════════════════════════════════════════════
   R9 — APP BOTTOM BAR: animated Call (left) + Buy/Sell/Rent/Lease Out
   Responsive: small phone / big phone / tablet
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .mobile-action-bar {
    display: flex !important; align-items: center !important; gap: 8px !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    background: rgba(16,24,52,0.84) !important;
    -webkit-backdrop-filter: blur(22px) saturate(180%) !important; backdrop-filter: blur(22px) saturate(180%) !important;
    border-top: 0.5px solid rgba(255,255,255,0.16) !important;
  }
  .mobile-action-bar .mab-call {
    flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content:center !important; gap: 7px !important;
    background: #e2001a !important; color: #fff !important; border: none !important; text-decoration:none !important;
    border-radius: 26px !important; padding: 11px 16px !important; font-size: 13.5px !important; font-weight: 800 !important;
    min-height: 46px !important; box-shadow: 0 6px 18px rgba(226,0,26,.42) !important;
    animation: mabCallPulse 2.4s ease-in-out infinite !important;
  }
  .mobile-action-bar .mab-call svg { width: 17px !important; height: 17px !important; flex:0 0 auto !important; }
  @keyframes mabCallPulse { 0%,100%{ box-shadow: 0 6px 18px rgba(226,0,26,.42);} 50%{ box-shadow: 0 7px 28px rgba(226,0,26,.78);} }
  .mab-pills { flex: 1 1 auto !important; display: flex !important; gap: 6px !important; min-width: 0 !important; }
  .mab-pills .mab-pill {
    flex: 1 1 0 !important; min-width: 0 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background: #EDF1F6 !important; color: #0D1B3E !important; border: 1px solid #D7DDE7 !important;
    border-radius: 22px !important; padding: 0 6px !important; min-height: 46px !important;
    font-size: 12.5px !important; font-weight: 700 !important; white-space: nowrap !important; text-decoration: none !important;
    transition: transform .12s ease, background .18s, color .18s, border-color .18s !important;
  }
  .mab-pills .mab-pill:active { transform: scale(.92) !important; background: #e2001a !important; color: #fff !important; border-color: #e2001a !important; }
  .mab-pills .mab-pill.is-on { background: #e2001a !important; color: #fff !important; border-color: #e2001a !important; }
  body { padding-bottom: 74px !important; }
  /* keep RE/MAX logo clear of the right-edge home-worth pill */
  .m-hero-agent { padding-right: 46px !important; }
}
/* Small phones (≤360): Call becomes icon-only, tighter pills */
@media (max-width: 360px) {
  .mobile-action-bar { gap: 6px !important; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) !important; }
  .mobile-action-bar .mab-call { padding: 11px 13px !important; font-size: 0 !important; gap: 0 !important; }
  .mobile-action-bar .mab-call svg { width: 20px !important; height: 20px !important; }
  .mab-pills { gap: 5px !important; }
  .mab-pills .mab-pill { font-size: 11px !important; border-radius: 18px !important; padding: 0 3px !important; }
}
/* Tablets (768–991): only the bottom bar shows here; center its pills so they aren't left-shifted */
@media (min-width: 768px) and (max-width: 991px) {
  .mobile-action-bar { display: flex !important; justify-content: center !important; }
  .mab-pills { max-width: 100% !important; margin: 0 auto !important; justify-content: center !important; gap: 9px !important; -webkit-mask-image: none !important; mask-image: none !important; }
  .mab-pills .mab-pill { font-size: 12px !important; }
}
@media (prefers-reduced-motion: reduce) { .mobile-action-bar .mab-call { animation: none !important; } }

/* Sticky mobile header */
@media (max-width: 991px) {
  .mobile-header.mobile-header2 {
    position: sticky !important; top: 0 !important; z-index: 9995 !important;
    background: #fff !important; box-shadow: 0 2px 14px rgba(13,27,62,0.08) !important;
  }
}

/* Animated "Open Search Form" pill text + tablet stray-circle fix */
@media (max-width: 991px) {
  .hero2-small-img { display: none !important; }
  .open-search-filter-form .open-text {
    animation: osfPulse 2.2s ease-in-out infinite; transform-origin: center;
  }
  @keyframes osfPulse {
    0%,100% { transform: scale(1); opacity: .94; letter-spacing: .2px; }
    50%     { transform: scale(1.05); opacity: 1; letter-spacing: .6px; }
  }
}
@media (prefers-reduced-motion: reduce) { .open-search-filter-form .open-text { animation: none !important; } }

/* ═══════════════════════════════════════════════════════════════
   R10 — hero hooks + CTA pills, WOW app tab bar, animated Call FAB
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .m-hero-title .mh-accent { display:block; color:#e2001a; margin-top:3px; }
  .m-hero-vibe { color:rgba(255,255,255,.92); font-size:13px; font-weight:600; letter-spacing:.3px; margin:0 0 18px; text-shadow:0 1px 6px rgba(0,0,0,.5); }
  .m-hero-ctas { display:flex; flex-direction:column; gap:10px; margin:0 0 18px; }
  .mh-cta { display:flex; align-items:center; justify-content:center; gap:9px; padding:14px 18px; border-radius:30px; font-weight:800; font-size:15px; text-decoration:none; letter-spacing:.2px; transition: transform .18s cubic-bezier(.2,.7,.2,1), box-shadow .2s, background .2s; }
  .mh-cta svg { transition: transform .25s cubic-bezier(.2,.7,.2,1); }
  .mh-cta:active { transform: scale(.97); }
  .mh-cta:hover svg, .mh-cta:active svg { transform: translateX(4px); }
  .mh-cta-primary { background:#E2001A; color:#fff; box-shadow:0 12px 28px rgba(0,61,165,.5); }
  .mh-cta-primary:hover { background:#002D7A; }
  .mh-cta-ghost { background:rgba(255,255,255,.14); color:#fff; border:1.5px solid rgba(255,255,255,.5); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
  .m-hero-vibe, .m-hero-ctas { opacity:0; transform:translateY(16px); animation:mRise .7s cubic-bezier(.2,.7,.2,1) forwards; }
  .m-hero-vibe { animation-delay:.5s; } .m-hero-ctas { animation-delay:.62s; }

  /* WOW app tab bar — icon + label, red lift on tap */
  .mab-pills { flex:1 1 auto !important; display:flex !important; gap:6px !important; }
  .mab-pills .mab-pill {
    flex:1 1 0 !important; min-width:0 !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:3px !important;
    background:transparent !important; border:none !important; color:rgba(255,255,255,.82) !important;
    border-radius:16px !important; padding:6px 2px !important; min-height:52px !important; text-decoration:none !important;
    transition: transform .2s cubic-bezier(.2,.7,.2,1), background .2s, color .2s, box-shadow .2s !important;
  }
  .mab-pills .mab-pill svg { width:22px !important; height:22px !important; transition: transform .2s; }
  .mab-pills .mab-pill span { font-size:11px !important; font-weight:700 !important; letter-spacing:.2px !important; white-space:nowrap !important; }
  .mab-pills .mab-pill:active, .mab-pills .mab-pill.is-on {
    background:#e2001a !important; color:#fff !important; transform:translateY(-4px) scale(1.06) !important; box-shadow:0 10px 22px rgba(226,0,26,.5) !important;
  }
  .mab-pills .mab-pill:active svg { transform:scale(1.08) !important; }
  .mobile-action-bar { padding:6px 10px calc(6px + env(safe-area-inset-bottom)) !important; }
  body { padding-bottom: 80px !important; }

  /* Animated Call FAB (desktop widget) on mobile — icon only, bottom-left */
  body #gj-callnow { display:flex !important; left:14px !important; right:auto !important; bottom:90px !important; top:auto !important; padding:0 !important; background:transparent !important; border:none !important; box-shadow:none !important; z-index:99990 !important; }
  body #gj-callnow #gj-cn-body { display:none !important; }

  /* Scroll-to-top never covers the tab bar */
  .progress-wrap { display:none !important; }
}

/* ═══ MENU v3 — premium agent card + wow nav ═══ */
@media (max-width: 991px) {
  .m-menu-agent { display:flex; align-items:center; gap:12px; padding:16px 22px 12px; }
  .m-menu-agent-ph { width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:center 18%; border:2px solid #e2001a; flex:0 0 auto; box-shadow:0 6px 16px rgba(0,0,0,.3); }
  .m-menu-agent-info { display:flex; flex-direction:column; min-width:0; }
  .m-menu-agent-info strong { color:#fff; font-size:16px; font-weight:800; letter-spacing:.2px; }
  .m-menu-agent-info span { color:rgba(255,255,255,.6); font-size:11px; font-weight:600; margin-top:2px; }
  .m-menu-quick { display:flex; gap:10px; padding:0 22px 14px; border-bottom:1px solid rgba(255,255,255,.08); }
  .m-menu-quick-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:11px; border-radius:12px; font-size:13.5px; font-weight:700; text-decoration:none; transition:transform .15s, background .2s; }
  .m-menu-quick-btn:active { transform:scale(.96); }
  .mq-call { background:#e2001a; color:#fff; box-shadow:0 6px 16px rgba(226,0,26,.4); }
  .mq-book { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.22); }
  .mobile-nav-list.nav-list1 > li > a { font-size:17px !important; position:relative; overflow:hidden; transition:padding-left .2s, background .2s, color .2s; }
  .mobile-nav-list.nav-list1 > li > a::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:#e2001a; transform:scaleY(0); transition:transform .22s cubic-bezier(.2,.7,.2,1); }
  .mobile-nav-list.nav-list1 > li > a:active::before { transform:scaleY(1); }
  .mobile-nav-list.nav-list1 > li > a:active { color:#fff !important; background:rgba(226,0,26,.12) !important; padding-left:26px !important; }
  .mobile-sidebar.mobile-menu-active .m-menu-agent, .mobile-sidebar.mobile-menu-active .m-menu-quick { opacity:0; transform:translateY(-8px); animation:mRise .5s ease forwards; }
  .mobile-sidebar.mobile-menu-active .m-menu-agent { animation-delay:.05s; }
  .mobile-sidebar.mobile-menu-active .m-menu-quick { animation-delay:.12s; }
}

/* ═══ R11 — rotating hero text, classy CTAs, poppy tab bar, stable Call FAB ═══ */
@media (max-width: 991px) {
  /* Rotating text sets (synced to the 3-slide crossfade) */
  .m-hero-rotator { display:grid; margin:0 0 16px; }
  .m-hero-set { grid-area:1/1; opacity:0; animation:mTextFade 18s linear infinite; }
  .m-hero-set:nth-child(1){ animation-delay:0s; }
  .m-hero-set:nth-child(2){ animation-delay:6s; }
  .m-hero-set:nth-child(3){ animation-delay:12s; }
  @keyframes mTextFade { 0%{opacity:0;transform:translateY(8px);} 5%{opacity:1;transform:translateY(0);} 30%{opacity:1;transform:translateY(0);} 35%{opacity:0;transform:translateY(-6px);} 100%{opacity:0;transform:translateY(-6px);} }
  .m-hero-set .m-hero-kicker, .m-hero-set .m-hero-title, .m-hero-set .m-hero-vibe { opacity:1 !important; transform:none !important; animation:none !important; }
  .m-hero-set .m-hero-vibe { margin:0 !important; }
  /* Classy CTA pills */
  .mh-cta { border-radius:14px !important; padding:15px 20px !important; letter-spacing:.3px !important; }
  .mh-cta-primary { background:linear-gradient(135deg,#0A48C0 0%,#E2001A 55%,#0D1B3E 130%) !important; box-shadow:0 14px 30px rgba(0,45,140,.5), inset 0 1px 0 rgba(255,255,255,.18) !important; border:1px solid rgba(255,255,255,.12) !important; }
  .mh-cta-ghost { background:rgba(255,255,255,.10) !important; border:1.5px solid rgba(255,255,255,.55) !important; -webkit-backdrop-filter:blur(10px) !important; backdrop-filter:blur(10px) !important; box-shadow:0 8px 20px rgba(0,0,0,.22) !important; }
  /* Poppier tab bar — chip backgrounds, bigger icons/labels */
  .mab-pills .mab-pill { background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.12) !important; gap:4px !important; min-height:56px !important; color:#fff !important; }
  .mab-pills .mab-pill svg { width:25px !important; height:25px !important; }
  .mab-pills .mab-pill span { font-size:11.5px !important; font-weight:800 !important; }
  .mab-pills .mab-pill:active, .mab-pills .mab-pill.is-on { background:#e2001a !important; border-color:#e2001a !important; color:#fff !important; transform:translateY(-4px) scale(1.06) !important; box-shadow:0 10px 22px rgba(226,0,26,.55) !important; }
  .mobile-action-bar { padding:8px 10px calc(8px + env(safe-area-inset-bottom)) !important; }
  body { padding-bottom: 86px !important; }
  /* Stable Call FAB — no transform/transition so it can't animate on scroll */
  body #gj-callnow, body #gj-callnow:hover, body #gj-callnow:focus-visible, body #gj-callnow.gj-open { transform:none !important; transition:none !important; }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .m-hero-set { animation:none !important; opacity:0 !important; }
  .m-hero-set:nth-child(1){ opacity:1 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R12 — 4-slide timing, fixed header, GOLD accents, responsive modals
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* Retime hero to 4 slides (24s cycle, delays 0/6/12/18) */
  .m-hero-bg, .m-hero-set, .m-hero-dots span { animation-duration: 24s !important; }
  .m-hero-bg:nth-child(4), .m-hero-set:nth-child(4), .m-hero-dots span:nth-child(4) { animation-delay: 18s !important; }
  @keyframes mHeroFade { 0%{opacity:0;transform:scale(1.08);} 3%{opacity:1;} 22%{opacity:1;} 25%{opacity:0;} 100%{opacity:0;transform:scale(1.0);} }
  @keyframes mTextFade { 0%{opacity:0;transform:translateY(8px);} 3%{opacity:1;transform:translateY(0);} 22%{opacity:1;transform:translateY(0);} 26%{opacity:0;transform:translateY(-6px);} 100%{opacity:0;transform:translateY(-6px);} }
  @keyframes mDot { 0%{width:22px;background:#e2001a;} 22%{width:22px;background:#e2001a;} 26%{width:7px;background:rgba(255,255,255,0.4);} 100%{width:7px;background:rgba(255,255,255,0.4);} }

  /* Header truly fixed (position:sticky was broken by an ancestor overflow) */
  .mobile-header.mobile-header2 { position: fixed !important; top:0 !important; left:0 !important; right:0 !important; }
  body { padding-top: 62px !important; }

  /* GOLD brand accents (navy · red · gold) */
  .m-hero-agent-ph { border-color: #E2001A !important; }
  .m-menu-agent-ph { border-color: #E2001A !important; }
  .mh-cta-ghost { border-color: rgba(193,155,101,.85) !important; }
  .m-menu-quick .mq-book { border-color: rgba(193,155,101,.65) !important; }
  .m-hero-kicker::before { background: #E2001A !important; }

  /* Responsive Booking + Consultation modals — fit every mobile size */
  #ga-book-box, #ga-consult-box {
    width: calc(100vw - 26px) !important; max-width: 420px !important;
    max-height: 90dvh !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch !important;
    border-radius: 18px !important;
  }
  #ga-consult-box { flex-direction: column !important; }
  #ga-consult-box .ga-cs-photo { width: 100% !important; height: 130px !important; min-height: 130px !important; }
}

/* ═══ R13 — sleeker hero height + refined secondary CTA link ═══ */
@media (max-width: 991px) {
  .m-hero, .m-hero-inner { min-height: 50vh !important; }
  .m-hero-inner { padding: 32px 24px 20px !important; }
  .m-hero-ctas { gap: 6px !important; margin: 0 0 15px !important; }
  .mh-cta-link { display:inline-flex !important; align-items:center; justify-content:center; gap:6px; align-self:center; margin-top:2px; color:#fff; font-size:13.5px; font-weight:700; text-decoration:none; opacity:.94; letter-spacing:.2px; }
  .mh-cta-link span { color:#E2001A; transition:transform .2s; }
  .mh-cta-link:active span { transform:translateX(3px); }
}

/* ═══ R14 — glassier, more see-through bottom bar ═══ */
@media (max-width: 991px) {
  .mobile-action-bar {
    background: rgba(13,27,62,0.42) !important;
    -webkit-backdrop-filter: blur(26px) saturate(190%) !important; backdrop-filter: blur(26px) saturate(190%) !important;
    border-top: 0.5px solid rgba(255,255,255,0.20) !important;
  }
  .mab-pills .mab-pill { background: rgba(255,255,255,.10) !important; border-color: rgba(255,255,255,.16) !important; }
}

/* ═══ R15 — balanced side-by-side hero pills ═══ */
@media (max-width: 991px) {
  .m-hero-ctas { flex-direction: row !important; gap: 10px !important; margin: 0 0 16px !important; }
  .mh-cta { flex: 1 1 0 !important; min-width: 0 !important; gap: 7px !important; padding: 13px 10px !important; border-radius: 14px !important; font-size: 13.5px !important; white-space: nowrap !important; }
  .mh-cta svg { flex: 0 0 auto !important; }
  .mh-cta span { overflow: hidden; text-overflow: ellipsis; }
}

/* ═══ R16 — "Open Search Form" pill: white fill, red outline, blue text ═══ */
@media (max-width: 991px) {
  .open-search-filter-form {
    background: #ffffff !important; border: 2px solid #e2001a !important;
    box-shadow: 0 10px 24px rgba(13,27,62,.12) !important;
  }
  .open-search-filter-form .open-text { color: #E2001A !important; }
  .open-search-filter-form .open-text svg { fill: #E2001A !important; }
}

/* ═══ R17 — gold outline on bottom tab pills ═══ */
@media (max-width: 991px) {
  .mab-pills .mab-pill { border: 1px solid rgba(193,155,101,.60) !important; }
  .mab-pills .mab-pill:active, .mab-pills .mab-pill.is-on { border-color: #e2001a !important; }
}

/* ═══ R18 — fit hero pills + force search-pill white/red/blue over theme ═══ */
@media (max-width: 991px) {
  .mh-cta { font-size: 13px !important; padding: 14px 10px !important; }
  .mh-cta span { text-overflow: clip !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 {
    background: #ffffff !important; background-image: none !important; border: 2px solid #e2001a !important;
  }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text { color: #E2001A !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text svg { fill: #E2001A !important; }
}

/* ═══ R19 — continuous ping-pong sheen on bottom bar ═══ */
@media (max-width: 991px) {
  .mobile-action-bar { position: fixed; overflow: visible; }
  .mobile-action-bar::before {
    content:''; position:absolute; inset:0; pointer-events:none; z-index:0; border-radius:inherit;
    background: linear-gradient(100deg, transparent 34%, rgba(255,255,255,.14) 50%, transparent 66%);
    transform: translateX(-55%);
    animation: mabSheen 5s ease-in-out infinite alternate;
  }
  @keyframes mabSheen { from { transform: translateX(-55%); } to { transform: translateX(55%); } }
  .mab-pills { position: relative; z-index: 1; }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .mobile-action-bar::before { animation: none !important; opacity: 0 !important; }
}

/* ═══ R19b — scale everything down for small phones (≤380px), large kept as-is ═══ */
@media (max-width: 380px) {
  .mobile-header.mobile-header2 .mobile-logo img { max-height: 34px !important; }
  .mobile-header.mobile-header2 .mobile-header-elements { padding-top: 7px !important; padding-bottom: 7px !important; }
  body { padding-top: 54px !important; padding-bottom: 70px !important; }
  .m-hero, .m-hero-inner { min-height: 48vh !important; }
  .m-hero-inner { padding: 20px 16px 14px !important; }
  .m-hero-kicker { font-size: 9.5px !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }
  .m-hero-vibe { font-size: 11.5px !important; margin-bottom: 12px !important; }
  .m-hero-ctas { gap: 8px !important; margin-bottom: 12px !important; }
  .mh-cta { font-size: 12px !important; padding: 12px 6px !important; border-radius: 12px !important; }
  .m-hero-agent { gap: 9px !important; padding-right: 42px !important; }
  .m-hero-agent-ph { width: 36px !important; height: 36px !important; }
  .m-hero-agent-txt strong { font-size: 12.5px !important; }
  .m-hero-agent-txt span { font-size: 10px !important; }
  .m-hero-remax { height: 20px !important; }
  .m-hero-dots { bottom: 92px !important; }
  .mab-pills .mab-pill { min-height: 46px !important; border-radius: 12px !important; }
  .mab-pills .mab-pill svg { width: 20px !important; height: 20px !important; }
  .mab-pills .mab-pill span { font-size: 9.5px !important; }
  #ga-hv-tab { font-size: 10px !important; padding: 12px 6px !important; }
  body #gj-callnow #gj-cn-badge { width: 48px !important; height: 48px !important; }
}

/* ═══ R20 — Dock-style: pills lift as the wave passes under them (synced) ═══ */
@media (max-width: 991px) {
  .mab-pills .mab-pill:nth-child(1) { animation: mabPop0 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(2) { animation: mabPop1 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(3) { animation: mabPop2 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(4) { animation: mabPop3 10s linear infinite; }
  @keyframes mabPop0 { 0%,8%{transform:translateY(0) scale(1);} 11.5%{transform:translateY(-6px) scale(1.13);} 15%,85%{transform:translateY(0) scale(1);} 88.5%{transform:translateY(-6px) scale(1.13);} 92%,100%{transform:translateY(0) scale(1);} }
  @keyframes mabPop1 { 0%,17.5%{transform:translateY(0) scale(1);} 21%{transform:translateY(-6px) scale(1.13);} 24.5%,75.5%{transform:translateY(0) scale(1);} 79%{transform:translateY(-6px) scale(1.13);} 82.5%,100%{transform:translateY(0) scale(1);} }
  @keyframes mabPop2 { 0%,25.5%{transform:translateY(0) scale(1);} 29%{transform:translateY(-6px) scale(1.13);} 32.5%,67.5%{transform:translateY(0) scale(1);} 71%{transform:translateY(-6px) scale(1.13);} 74.5%,100%{transform:translateY(0) scale(1);} }
  @keyframes mabPop3 { 0%,35%{transform:translateY(0) scale(1);} 38.5%{transform:translateY(-6px) scale(1.13);} 42%,58%{transform:translateY(0) scale(1);} 61.5%{transform:translateY(-6px) scale(1.13);} 65%,100%{transform:translateY(0) scale(1);} }
  /* tap still wins over the ambient ripple */
  .mab-pills .mab-pill:active { transform: translateY(-4px) scale(1.06) !important; }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .mab-pills .mab-pill { animation: none !important; }
}

/* ═══ R21 — bigger, bolder "Open Search Form" ═══ */
@media (max-width: 991px) {
  .others-section-area2 .open-search-filter-form.theme-btn1 { padding-top: 20px !important; padding-bottom: 20px !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text {
    font-size: 17px !important; font-weight: 800 !important; letter-spacing: .3px !important; display:inline-flex; align-items:center; gap:9px;
  }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text svg { width: 20px !important; height: 20px !important; }
}

/* ═══ R22 — "Open Search Form": premium GOLD pill, navy bold text ═══ */
@media (max-width: 991px) {
  .others-section-area2 .open-search-filter-form.theme-btn1 {
    background: linear-gradient(135deg,#D9B978 0%,#E2001A 55%,#A87F45 120%) !important;
    background-image: linear-gradient(135deg,#D9B978 0%,#E2001A 55%,#A87F45 120%) !important;
    border: none !important; box-shadow: 0 12px 28px rgba(193,155,101,.48), inset 0 1px 0 rgba(255,255,255,.35) !important;
  }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text { color: #0D1B3E !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text svg { fill: #0D1B3E !important; }
}

/* ═══ R23 — "Open Search Form": navy pill, GOLD text + icon + border (premium) ═══ */
@media (max-width: 991px) {
  .others-section-area2 .open-search-filter-form.theme-btn1 {
    background: linear-gradient(135deg,#14275a 0%,#0D1B3E 72%) !important;
    background-image: linear-gradient(135deg,#14275a 0%,#0D1B3E 72%) !important;
    border: 1.5px solid rgba(193,155,101,.60) !important;
    box-shadow: 0 12px 30px rgba(13,27,62,.32), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text { color: #E2001A !important; font-weight: 800 !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text svg { fill: #E2001A !important; }
}

/* ═══ R24 — wave gilds each pill gold (color + glow) as it passes ═══ */
@media (max-width: 991px) {
  @keyframes mabPop0 { 0%,8%{transform:translateY(0) scale(1);color:#fff;filter:none;} 11.5%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 15%,85%{transform:translateY(0) scale(1);color:#fff;filter:none;} 88.5%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 92%,100%{transform:translateY(0) scale(1);color:#fff;filter:none;} }
  @keyframes mabPop1 { 0%,17.5%{transform:translateY(0) scale(1);color:#fff;filter:none;} 21%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 24.5%,75.5%{transform:translateY(0) scale(1);color:#fff;filter:none;} 79%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 82.5%,100%{transform:translateY(0) scale(1);color:#fff;filter:none;} }
  @keyframes mabPop2 { 0%,25.5%{transform:translateY(0) scale(1);color:#fff;filter:none;} 29%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 32.5%,67.5%{transform:translateY(0) scale(1);color:#fff;filter:none;} 71%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 74.5%,100%{transform:translateY(0) scale(1);color:#fff;filter:none;} }
  @keyframes mabPop3 { 0%,35%{transform:translateY(0) scale(1);color:#fff;filter:none;} 38.5%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 42%,58%{transform:translateY(0) scale(1);color:#fff;filter:none;} 61.5%{transform:translateY(-6px) scale(1.14);color:#E2001A;filter:drop-shadow(0 4px 9px rgba(193,155,101,.55));} 65%,100%{transform:translateY(0) scale(1);color:#fff;filter:none;} }
}

/* ═══ R25 — compact standardized header + on-brand blue (#E2001A) pills ═══ */
@media (max-width: 991px) {
  .mobile-header.mobile-header2 { padding: 0 !important; }
  .mobile-header.mobile-header2 .mobile-header-elements { padding: 8px 0 !important; min-height: 0 !important; }
  .mobile-header.mobile-header2 .mobile-nav-icon.dots-menu { width: 38px !important; height: 38px !important; }
  .mobile-header.mobile-header2 .mobile-logo img { max-height: 36px !important; }
  body { padding-top: 56px !important; }
  /* On-brand blue everywhere a pill/button is blue */
  .mh-cta-primary {
    background: #E2001A !important;
    background-image: linear-gradient(135deg,#0047BE 0%,#E2001A 62%,#00317F 130%) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 12px 28px rgba(0,61,165,.5), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
}
@media (max-width: 380px) {
  body { padding-top: 54px !important; }
  .mobile-header.mobile-header2 .mobile-logo img { max-height: 33px !important; }
  .mobile-header.mobile-header2 .mobile-nav-icon.dots-menu { width: 36px !important; height: 36px !important; }
}

/* ═══ R26 — center + embolden "Open Search Form" text ═══ */
@media (max-width: 991px) {
  .others-section-area2 .open-search-filter-form.theme-btn1 { display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text { justify-content:center !important; width:auto !important; font-weight:900 !important; }
}

/* ═══ R27 — body offset matches real header height (no content hidden) ═══ */
@media (max-width: 991px) { body { padding-top: 62px !important; } }
@media (max-width: 380px) { body { padding-top: 68px !important; } }

/* ═══ R28 — search pill brand-blue + unique gold shimmer text; Call FAB buzz/anchor ═══ */
@media (max-width: 991px) {
  /* Navy search pill -> brand blue (#E2001A) like the Free Consultation pill */
  .others-section-area2 .open-search-filter-form.theme-btn1 {
    background: #E2001A !important;
    background-image: linear-gradient(135deg,#0047BE 0%,#E2001A 62%,#00317F 130%) !important;
    border: 1.5px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 12px 30px rgba(0,61,165,.42), inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  /* Unique gold shimmer sweeping across the text; lighter weight to keep class */
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text {
    font-weight: 700 !important; letter-spacing: .5px !important;
    background: linear-gradient(100deg,#ffffff 40%,#FFE3A0 50%,#ffffff 60%) !important;
    background-size: 220% 100% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    animation: osfShimmer 3.6s linear infinite !important;
  }
  @keyframes osfShimmer { 0%{background-position:220% 0;} 100%{background-position:-220% 0;} }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text svg { fill: #FFD98A !important; }
  /* Call FAB: anchor with safe-area (rides browser chrome with the bar), buzz + louder radar */
  body #gj-callnow { bottom: calc(92px + env(safe-area-inset-bottom)) !important; transition: none !important; transform: none !important; }
  body #gj-callnow #gj-cn-badge { animation: gjBuzz 3.4s ease-in-out infinite !important; }
  @keyframes gjBuzz { 0%,84%,100%{transform:rotate(0) scale(1);} 86%{transform:rotate(-9deg) scale(1.05);} 88%{transform:rotate(8deg) scale(1.05);} 90%{transform:rotate(-7deg);} 92%{transform:rotate(6deg);} 94%{transform:rotate(-4deg);} 96%{transform:rotate(2deg);} 98%{transform:rotate(-1deg);} }
  body #gj-callnow .gj-cn-wave { border-color: rgba(226,0,26,.82) !important; border-width: 2.5px !important; }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  body #gj-callnow #gj-cn-badge { animation: none !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1 .open-text { animation: none !important; }
}

/* ═══ R29 — gild tab icon+label GOLD on wave (animate children to beat !important) ═══ */
@media (max-width: 991px) {
  .mab-pills .mab-pill:nth-child(1) span, .mab-pills .mab-pill:nth-child(1) svg { animation: mabGild0 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(2) span, .mab-pills .mab-pill:nth-child(2) svg { animation: mabGild1 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(3) span, .mab-pills .mab-pill:nth-child(3) svg { animation: mabGild2 10s linear infinite; }
  .mab-pills .mab-pill:nth-child(4) span, .mab-pills .mab-pill:nth-child(4) svg { animation: mabGild3 10s linear infinite; }
  @keyframes mabGild0 { 0%,8%{color:#fff;} 11.5%{color:#E8C87E;} 15%,85%{color:#fff;} 88.5%{color:#E8C87E;} 92%,100%{color:#fff;} }
  @keyframes mabGild1 { 0%,17.5%{color:#fff;} 21%{color:#E8C87E;} 24.5%,75.5%{color:#fff;} 79%{color:#E8C87E;} 82.5%,100%{color:#fff;} }
  @keyframes mabGild2 { 0%,25.5%{color:#fff;} 29%{color:#E8C87E;} 32.5%,67.5%{color:#fff;} 71%{color:#E8C87E;} 74.5%,100%{color:#fff;} }
  @keyframes mabGild3 { 0%,35%{color:#fff;} 38.5%{color:#E8C87E;} 42%,58%{color:#fff;} 61.5%{color:#E8C87E;} 65%,100%{color:#fff;} }

  /* Home-worth pill: gold shimmer sweeps through the letters (ping-pong) */
  #ga-hv-tab span {
    background-image: linear-gradient(0deg,#ffffff 38%,#FFD98A 50%,#ffffff 62%) !important;
    background-size: 100% 260% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    animation: hvWave 3s ease-in-out infinite alternate !important;
  }
  @keyframes hvWave { 0%{background-position:0 260%;} 100%{background-position:0 -160%;} }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .mab-pills .mab-pill span, .mab-pills .mab-pill svg, #ga-hv-tab span { animation: none !important; }
  #ga-hv-tab span { -webkit-text-fill-color:#fff !important; color:#fff !important; }
}

/* ═══ R30 — clean Open/Close state for the search pill ═══ */
@media (max-width: 991px) {
  .others-section-area2 .open-search-filter-form.theme-btn1.active .open-text { display: none !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1:not(.active) .close-text { display: none !important; }
  .others-section-area2 .open-search-filter-form.theme-btn1.active .close-text {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    gap: 9px !important; color: #fff !important; font-weight: 800 !important; font-size: 16px !important; letter-spacing: .3px !important; margin: 0 !important;
  }
  .others-section-area2 .open-search-filter-form.theme-btn1.active .close-text svg { fill: #fff !important; width: 20px !important; height: 20px !important; }
}

/* ═══ R31 — brighter mobile hero + clearly-visible home-worth shimmer ═══ */
@media (max-width: 991px) {
  .m-hero-bg { filter: brightness(1.1) saturate(1.08) !important; }
  .m-hero::after {
    background: linear-gradient(180deg, rgba(9,17,40,.06) 0%, rgba(9,17,40,0) 42%, rgba(9,17,40,.28) 72%, rgba(9,17,40,.70) 100%) !important;
  }
  /* Home-worth pill: gold text with a bright highlight sweeping through the letters */
  #ga-hv-tab span {
    display: inline-block !important;
    background-image: linear-gradient(0deg,#C79A46 28%,#FFF4D2 50%,#C79A46 72%) !important;
    background-size: 100% 300% !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    animation: hvWave 2.6s ease-in-out infinite alternate !important;
  }
  @keyframes hvWave { 0%{ background-position: 0 300%; } 100%{ background-position: 0 -120%; } }
}

/* ═══ R32 — level the Call FAB with the chat bubble (both bottom:82px) ═══ */
@media (max-width: 991px) {
  body #gj-callnow { bottom: 82px !important; }
}

/* ═══ R33 — working shimmer sweep on "What's My Home Worth?" ═══ */
@media (max-width: 991px) {
  #ga-hv-tab span {
    display: inline-block !important;
    background-image: linear-gradient(180deg,#B8893C 0%,#B8893C 38%,#FFF6DC 50%,#B8893C 62%,#B8893C 100%) !important;
    background-size: 100% 220% !important;
    background-repeat: no-repeat !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important; color: transparent !important;
    animation: hvWave 2.6s ease-in-out infinite alternate !important;
  }
  @keyframes hvWave { 0%{ background-position: 50% 0%; } 100%{ background-position: 50% 100%; } }
}

/* ═══ R34 — hero typography rhythm, cinematic transitions, legibility ═══ */
@media (max-width: 991px) {
  /* Refined type rhythm */
  .m-hero-rotator { margin: 0 0 20px !important; }
  .m-hero-kicker { font-size: 11px !important; letter-spacing: 1.8px !important; line-height: 1.5 !important; margin: 0 0 14px !important; opacity: .95 !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.6) !important; }
  .m-hero-title { font-size: clamp(27px, 7.8vw, 36px) !important; line-height: 1.12 !important; letter-spacing: -0.4px !important; margin: 0 0 4px !important; font-weight: 800 !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.55) !important; }
  .m-hero-title .mh-accent { display: block !important; margin-top: 4px !important; line-height: 1.12 !important; }
  .m-hero-vibe { font-size: 13px !important; line-height: 1.5 !important; letter-spacing: .4px !important; margin: 14px 0 0 !important;
    text-shadow: 0 1px 10px rgba(0,0,0,.85) !important; }
  .m-hero-agent-txt strong, .m-hero-agent-txt span { text-shadow: 0 1px 6px rgba(0,0,0,.8) !important; }
  /* Cinematic image transition (stronger Ken Burns) */
  @keyframes mHeroFade { 0%{opacity:0;transform:scale(1.12);} 3%{opacity:1;transform:scale(1.10);} 22%{opacity:1;transform:scale(1.03);} 25%{opacity:0;transform:scale(1.02);} 100%{opacity:0;transform:scale(1.12);} }
  /* Blur-up reveal for the text per slide */
  @keyframes mTextFade { 0%{opacity:0;transform:translateY(22px);filter:blur(8px);} 4%{opacity:1;transform:translateY(0);filter:blur(0);} 22%{opacity:1;transform:translateY(0);filter:blur(0);} 26%{opacity:0;transform:translateY(-12px);filter:blur(6px);} 100%{opacity:0;transform:translateY(-12px);filter:blur(6px);} }
}

/* ═══ R35 — stop Call FAB scroll-jitter: own GPU layer + rotate-only buzz ═══ */
@media (max-width: 991px) {
  body #gj-callnow {
    transform: translateZ(0) !important; -webkit-transform: translateZ(0) !important;
    will-change: transform !important; backface-visibility: hidden !important; transition: none !important;
  }
  @keyframes gjBuzz { 0%,84%,100%{transform:rotate(0);} 86%{transform:rotate(-8deg);} 88%{transform:rotate(7deg);} 90%{transform:rotate(-6deg);} 92%{transform:rotate(5deg);} 94%{transform:rotate(-3deg);} 96%{transform:rotate(2deg);} 98%{transform:rotate(-1deg);} }
}

/* ═══ R36 — header GOLFI logo: bigger + vertically centered ═══ */
@media (max-width: 991px) {
  .mobile-header.mobile-header2 .mobile-header-elements { display: flex !important; align-items: center !important; }
  .mobile-header.mobile-header2 .mobile-logo, .mobile-header.mobile-header2 .mobile-right { display: flex !important; align-items: center !important; }
  .mobile-header.mobile-header2 .mobile-logo img { max-height: 42px !important; }
}
@media (max-width: 380px) {
  .mobile-header.mobile-header2 .mobile-logo img { max-height: 38px !important; }
}

/* ═══ R37 — docked Call FAB inside the bar (rides bar, zero scroll jitter) ═══ */
@media (max-width: 991px) {
  body #gj-callnow { display: none !important; }  /* retire floating widget FAB */
  .mab-fab { position: fixed !important; left: 14px !important; bottom: calc(82px + env(safe-area-inset-bottom)) !important; width: 56px !important; height: 56px !important; z-index: 99999 !important; text-decoration: none !important; transform: none !important; -webkit-transform: none !important; will-change: auto !important; }
  .mab-fab-core { position: absolute !important; inset: 0 !important; border-radius: 50% !important; background: radial-gradient(circle at 32% 26%,#ff425a,#e2001a 60%,#b80016) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #fff !important; box-shadow: 0 0 0 3px #fff, 0 6px 18px rgba(226,0,26,.45) !important; z-index: 2 !important; animation: none !important; }
  .mab-fab-core svg { width: 26px !important; height: 26px !important; }
  .mab-fab-core::after { content: '' !important; position: absolute !important; top: 2px !important; right: 2px !important; width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #22C55E !important; border: 2.5px solid #fff !important; z-index: 3 !important; }
  .mab-fab-wave { display: none !important; }
  .mab-fab-wave:nth-child(2) { animation-delay: 1.2s !important; }
  @keyframes mabRadar { 0%{ transform: scale(.85); opacity: .75; } 100%{ transform: scale(2.25); opacity: 0; } }
}
@media (max-width: 380px) {
  .mab-fab, .mab-fab-core, .mab-fab-wave { width: 50px !important; height: 50px !important; }
  .mab-fab-core svg { width: 23px !important; height: 23px !important; }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
  .mab-fab-core, .mab-fab-wave { animation: none !important; }
  .mab-fab-wave { display: none !important; }
}

/* ═══ R38 — sleek mobile footer + compact CTA section above it ═══ */
@media (max-width: 991px) {
  /* CTA section: drop the redundant call, shrink pills, tighten */
  .golfi-cta-area .golfi-cta-phone { display: none !important; }
  .golfi-cta-area .golfi-cta-actions { gap: 9px !important; }
  .golfi-cta-area .golfi-cta-btn { padding: 12px 16px !important; font-size: 14px !important; border-radius: 12px !important; }
  .cta1-section-area.golfi-cta-area { padding: 42px 0 !important; }
  .cta1-section-area .cta-header h2 { font-size: clamp(24px, 7vw, 30px) !important; line-height: 1.15 !important; }
  .cta1-section-area .cta-header p { font-size: 14px !important; line-height: 1.55 !important; }
}
@media (max-width: 767px) {
  .footer2-section-area { padding: 38px 0 22px !important; }
  .footer2-section-area h3 { font-size: 15px !important; margin-bottom: 6px !important; }
  .footer2-section-area .contact li a,
  .footer2-section-area .footer-content ul li a,
  .footer2-section-area .footer-content2 ul li a { font-size: 13px !important; line-height: 1.85 !important; }
  .footer2-section-area .footer-logoarea { margin-bottom: 20px !important; }
  /* Category + Quick Links side-by-side (2-col) */
  .footer2-section-area .col-lg-3:has(.footer-content),
  .footer2-section-area .col-lg-3:has(.footer-content2) { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; }
  /* Compact map */
  .footer2-section-area .maps iframe { width: 100% !important; height: 150px !important; border-radius: 12px !important; }
  .footer2-section-area .instagram-posts { margin-top: 8px !important; }
  /* Tighten theme spacer divs inside footer */
  .footer2-section-area .space60 { height: 22px !important; }
  .footer2-section-area .space28 { height: 12px !important; }
  .footer2-section-area .space24 { height: 12px !important; }
  .footer2-section-area .space4 { height: 2px !important; }
  /* Copyright / legal compact */
  .footer2-section-area .copyright p { font-size: 12px !important; line-height: 1.5 !important; }
  .footer2-section-area .golfi-legal-links { font-size: 12px !important; }
  .footer2-section-area .copyright img { max-height: 26px !important; }
}

/* ═══ R39 — robust accordion for mobile menu submenus ═══ */
@media (max-width: 991px) {
  .mobile-sidebar .mobile-nav-list .submenu-button { display: none !important; }
  .mobile-sidebar .mobile-nav-list .sub-menu {
    display: block !important; max-height: 0 !important; overflow: hidden !important;
    transition: max-height .34s cubic-bezier(.4,0,.2,1) !important;
  }
  .mobile-sidebar .mobile-nav-list li.mm-open > .sub-menu { max-height: 420px !important; }
  .mobile-sidebar .mobile-nav-list li.mm-has-sub > a { position: relative !important; }
  .mobile-sidebar .mobile-nav-list li.mm-has-sub > a::after {
    content: '' !important; position: absolute !important; right: 22px !important; top: 50% !important;
    width: 9px !important; height: 9px !important; border-right: 2px solid rgba(255,255,255,.65) !important; border-bottom: 2px solid rgba(255,255,255,.65) !important;
    transform: translateY(-65%) rotate(45deg) !important; transition: transform .3s ease !important;
  }
  .mobile-sidebar .mobile-nav-list li.mm-open > a::after { transform: translateY(-35%) rotate(225deg) !important; border-color: #e2001a !important; }
}

/* ═══ R40 — standalone Call FAB visibility (desktop-hidden, keyboard/menu-safe) ═══ */
.mab-fab { display: none; }
@media (max-width: 991px) {
  .mab-fab { display: block !important; }
  body:has(.mobile-sidebar.mobile-menu-active) .mab-fab,
  body:has(input:focus) .mab-fab,
  body:has(textarea:focus) .mab-fab,
  body:has(select:focus) .mab-fab { display: none !important; }
}

/* ═══ R41 — kill theme's injected empty hash-nav toggles (they caused submenu gaps/flakiness) ═══ */
@media (max-width: 991px) {
  /* (empty injected toggles hidden surgically below in R42) */
  .mobile-sidebar .mobile-nav-list .sub-menu > li { min-height: 0 !important; }
  .mobile-sidebar .mobile-nav-list .sub-menu > li > a { min-height: 44px !important; display: flex !important; align-items: center !important; }
}

/* ═══ R42 — surgically hide theme's empty injected hash-nav toggles (timing-proof, beats R41) ═══ */
@media (max-width: 991px) {
  .mobile-sidebar .mobile-nav-list .sub-menu > a.hash-nav { display: none !important; }
  .mobile-sidebar .mobile-nav-list .sub-menu > li > a:first-child:not(:last-child) { display: none !important; }
  .mobile-sidebar .mobile-nav-list .sub-menu { padding-top: 0 !important; }
}

/* ═══ R43 — tighten footer blocks (contact list, sections, copyright) for a sleeker height ═══ */
@media (max-width: 767px) {
  .footer2-section-area { padding: 30px 0 18px !important; }
  .footer2-section-area .footer-logoarea { margin-bottom: 12px !important; }
  .footer2-section-area .footer-brand-row { margin-bottom: 10px !important; }
  .footer2-section-area .contact li { margin-bottom: 6px !important; }
  .footer2-section-area .contact li a { line-height: 1.35 !important; }
  .footer2-section-area .footer-content, .footer2-section-area .footer-content2 { margin-top: 12px !important; }
  .footer2-section-area .instagram-posts h3, .footer2-section-area .instagram-posts .space28 { margin: 0 0 8px !important; height: auto !important; }
  .footer2-section-area .space60 { height: 16px !important; }
  .footer2-section-area .copyright { padding-top: 2px !important; }
  .footer2-section-area .copyright > div:first-child { margin-bottom: 8px !important; }
  .footer2-section-area .copyright p { margin-bottom: 8px !important; }
  .footer2-section-area .golfi-legal-links { line-height: 1.7 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R44 — PROFESSIONAL MOBILE FOOTER (intentional, world-class)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .footer2-section-area { background: #0B1836 !important; border-top: 1px solid rgba(255,255,255,.08) !important; padding: 34px 0 20px !important; }
  .footer2-section-area .container { padding-left: 22px !important; padding-right: 22px !important; }

  /* Brand block — centered */
  .footer2-section-area .footer-logoarea { text-align: center !important; margin: 0 0 20px !important; padding-bottom: 22px !important; border-bottom: 1px solid rgba(255,255,255,.08) !important; }
  .footer2-section-area .footer-brand-row { display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; margin-bottom: 18px !important; }
  .footer2-section-area .golfi-logo img { max-height: 40px !important; width: auto !important; }
  .footer2-section-area .remax-logo img { max-height: 46px !important; width: auto !important; }
  .footer2-section-area .logo-divider { width: 1px !important; height: 34px !important; background: rgba(255,255,255,.18) !important; display: inline-block !important; }

  /* Contact — icon-chip rows */
  .footer2-section-area .contact { display: inline-flex !important; flex-direction: column !important; gap: 11px !important; text-align: left !important; }
  .footer2-section-area .contact li { margin: 0 !important; list-style: none !important; }
  .footer2-section-area .contact li a { display: inline-flex !important; align-items: center !important; gap: 11px !important; color: #C7D0E6 !important; font-size: 14px !important; line-height: 1.3 !important; font-weight: 500 !important; }
  .footer2-section-area .contact li a:hover { color: #fff !important; }
  .footer2-section-area .contact li a svg { width: 32px !important; height: 32px !important; flex: 0 0 32px !important; padding: 8px !important; border-radius: 50% !important; background: rgba(255,255,255,.06) !important; color: #e2001a !important; box-sizing: border-box !important; }

  /* Social — consistent circular icons */
  .footer2-section-area .space24 { height: 18px !important; }
  .footer2-section-area .social { display: flex !important; justify-content: center !important; gap: 12px !important; margin: 0 !important; padding: 0 !important; }
  .footer2-section-area .social li { list-style: none !important; margin: 0 !important; }
  .footer2-section-area .social li a { display: flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; border-radius: 50% !important; background: rgba(255,255,255,.08) !important; color: #fff !important; font-size: 16px !important; transition: background .2s, transform .2s !important; }
  .footer2-section-area .social li a:hover { background: #e2001a !important; transform: translateY(-2px) !important; }

  /* Link columns — 2-col, accent headings */
  .footer2-section-area .col-lg-3:has(.footer-content),
  .footer2-section-area .col-lg-3:has(.footer-content2) { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; }
  .footer2-section-area .footer-content, .footer2-section-area .footer-content2 { margin-top: 4px !important; }
  .footer2-section-area .footer-content h3, .footer2-section-area .footer-content2 h3, .footer2-section-area .instagram-posts h3 {
    font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1.4px !important; text-transform: uppercase !important;
    color: #8B96B4 !important; margin: 0 0 14px !important; padding-bottom: 9px !important; position: relative !important;
  }
  .footer2-section-area .footer-content h3::after, .footer2-section-area .footer-content2 h3::after, .footer2-section-area .instagram-posts h3::after {
    content: '' !important; position: absolute !important; left: 0 !important; bottom: 0 !important; width: 22px !important; height: 2px !important; background: #e2001a !important; border-radius: 2px !important;
  }
  .footer2-section-area .space4 { height: 0 !important; }
  .footer2-section-area .footer-content ul, .footer2-section-area .footer-content2 ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
  .footer2-section-area .footer-content ul li, .footer2-section-area .footer-content2 ul li { margin: 0 !important; }
  .footer2-section-area .footer-content ul li a, .footer2-section-area .footer-content2 ul li a {
    display: inline-block !important; color: #C7D0E6 !important; font-size: 13.5px !important; line-height: 1.5 !important; padding: 6px 0 !important; font-weight: 500 !important; transition: color .2s, padding .2s !important;
  }
  .footer2-section-area .footer-content ul li a:hover, .footer2-section-area .footer-content2 ul li a:hover { color: #fff !important; padding-left: 4px !important; }

  /* Office — map card + directions */
  .footer2-section-area .instagram-posts { border-top: 1px solid rgba(255,255,255,.08) !important; padding-top: 22px !important; margin-top: 22px !important; }
  .footer2-section-area .instagram-posts .space28 { height: 0 !important; margin: 0 !important; }
  .footer2-section-area .maps { border-radius: 14px !important; overflow: hidden !important; border: 1px solid rgba(255,255,255,.12) !important; box-shadow: 0 10px 26px rgba(0,0,0,.30) !important; }
  .footer2-section-area .maps iframe { width: 100% !important; height: 150px !important; display: block !important; filter: grayscale(.15) contrast(1.04) !important; }
  .footer2-section-area .footer-directions { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin-top: 11px !important; color: #C7D0E6 !important; font-size: 13px !important; font-weight: 600 !important; }
  .footer2-section-area .footer-directions span { color: #e2001a !important; white-space: nowrap !important; }
  .footer2-section-area .footer-directions:hover { color: #fff !important; }

  /* Compliance / legal */
  .footer2-section-area .space60 { height: 0 !important; }
  .footer2-section-area .copyright { border-top: 1px solid rgba(255,255,255,.08) !important; padding-top: 20px !important; margin-top: 22px !important; }
  .footer2-section-area .copyright > div:first-child { gap: 18px !important; margin-bottom: 12px !important; }
  .footer2-section-area .copyright img { max-height: 26px !important; opacity: .8 !important; }
  .footer2-section-area .copyright p { color: #8B96B4 !important; font-size: 11.5px !important; line-height: 1.65 !important; margin: 0 auto 8px !important; max-width: 340px !important; }
  .footer2-section-area .golfi-legal-links { font-size: 11.5px !important; margin-top: 6px !important; }
  .footer2-section-area .golfi-legal-links a { color: #A9B4CE !important; }
  .footer2-section-area .golfi-legal-links a:hover { color: #fff !important; }
}

/* ═══ R45 — visible "Get Directions" button + cleaner office map ═══ */
@media (max-width: 991px) {
  .footer2-section-area .maps iframe { filter: none !important; height: 168px !important; }
  .footer2-section-area .footer-directions {
    display: flex !important; align-items: center !important; gap: 12px !important;
    margin-top: 12px !important; padding: 12px 15px !important;
    background: rgba(226,0,26,.10) !important; border: 1.5px solid rgba(226,0,26,.55) !important; border-radius: 12px !important;
    color: #fff !important; text-decoration: none !important; transition: background .2s, border-color .2s !important;
  }
  .footer2-section-area .footer-directions:hover, .footer2-section-area .footer-directions:active { background: #e2001a !important; border-color: #e2001a !important; }
  .footer2-section-area .footer-directions .fd-pin { width: 22px !important; height: 22px !important; flex: 0 0 22px !important; color: #e2001a !important; transition: color .2s !important; }
  .footer2-section-area .footer-directions:hover .fd-pin, .footer2-section-area .footer-directions:active .fd-pin { color: #fff !important; }
  .footer2-section-area .footer-directions .fd-text { display: flex !important; flex-direction: column !important; line-height: 1.25 !important; flex: 1 1 auto !important; text-align: left !important; }
  .footer2-section-area .footer-directions .fd-text strong { font-size: 14px !important; font-weight: 700 !important; color: #fff !important; letter-spacing: .2px !important; }
  .footer2-section-area .footer-directions .fd-text small { font-size: 12px !important; color: #A9B4CE !important; }
  .footer2-section-area .footer-directions:hover .fd-text small, .footer2-section-area .footer-directions:active .fd-text small { color: rgba(255,255,255,.9) !important; }
  .footer2-section-area .footer-directions .fd-arrow { font-size: 20px !important; line-height: 1 !important; color: #e2001a !important; flex: 0 0 auto !important; transition: color .2s, transform .2s !important; }
  .footer2-section-area .footer-directions:hover .fd-arrow, .footer2-section-area .footer-directions:active .fd-arrow { color: #fff !important; transform: translateX(3px) !important; }
}

/* ═══ R46 — call FAB rotating shimmer ring (conic, non-transform → no scroll-jump) ═══ */
@property --mab-ang { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@media (max-width: 991px) {
  .mab-fab-shim {
    position: absolute !important; inset: -6px !important; border-radius: 50% !important; z-index: 1 !important; pointer-events: none !important;
    background: conic-gradient(from var(--mab-ang), rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 210deg, rgba(255,255,255,.95) 300deg, rgba(255,255,255,0) 360deg) !important;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 5px)) !important;
            mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 5px)) !important;
    animation: mabShim 3s linear infinite !important;
  }
}
@keyframes mabShim { to { --mab-ang: 360deg; } }
@media (max-width: 991px) and (prefers-reduced-motion: reduce) { .mab-fab-shim { animation: none !important; display: none !important; } }

/* ═══ R47 — call FAB "ringing phone" wiggle (icon only → fixed anchor untouched, no jump) ═══ */
@media (max-width: 991px) {
  .mab-fab-shim { display: none !important; }
  .mab-fab-core svg { transform-origin: 50% 50% !important; animation: mabRing 2.2s ease-in-out infinite !important; }
}
@keyframes mabRing {
  0%, 55%, 100% { transform: rotate(0deg); }
  57% { transform: rotate(-15deg); }
  60% { transform: rotate(13deg); }
  63% { transform: rotate(-11deg); }
  66% { transform: rotate(9deg); }
  69% { transform: rotate(-6deg); }
  72% { transform: rotate(4deg); }
  75% { transform: rotate(-2deg); }
  78% { transform: rotate(0deg); }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) { .mab-fab-core svg { animation: none !important; } }

/* ═══════════════════════════════════════════════════════════════
   R48 — ABOUT section (mobile): declutter images, fix stat grid
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .about2-section-area.sp1 { padding: 46px 0 !important; }
  /* Keep Gina's photo prominent; drop generic stock house images */
  .about2-section-area .about-images-area > .row > .col-lg-6:nth-child(2) { display: none !important; }
  .about2-section-area .about-images-area > .row > .col-lg-6:first-child { flex: 0 0 100% !important; max-width: 100% !important; }
  .about2-section-area .img2 { position: relative !important; margin: 0 !important; border-radius: 18px !important; overflow: hidden !important; box-shadow: 0 18px 44px rgba(13,27,62,.20) !important; }
  .about2-section-area .img2 img { width: 100% !important; height: 420px !important; object-fit: cover !important; object-position: 50% 18% !important; border-radius: 0 !important; display: block !important; box-shadow: none !important; }
  .about2-section-area .img2::before { content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; height: 42% !important; background: linear-gradient(to top, rgba(13,27,62,.94) 8%, rgba(13,27,62,.55) 45%, rgba(13,27,62,0) 100%) !important; z-index: 1 !important; }
  /* Social-proof strip as a clean centered card */
  .about2-section-area .author-img { position: static !important; margin: 16px auto 0 !important; background: #fff !important; border-radius: 16px !important; box-shadow: 0 8px 26px rgba(13,27,62,.10) !important; padding: 15px 18px !important; text-align: center !important; max-width: 330px !important; }
  .about2-section-area .author-img h3 { font-size: 14px !important; font-weight: 700 !important; color: #0D1B3E !important; margin: 0 0 10px !important; }
  .about2-section-area .author-img .space18 { display: none !important; }
  .about2-section-area .author-img img { max-width: 190px !important; height: auto !important; }
  /* Heading + bio */
  .about2-section-area .about-heading { margin-top: 28px !important; }
  .about2-section-area .about-heading h5 { color: #e2001a !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 1.6px !important; text-transform: uppercase !important; }
  .about2-section-area .about-heading h2 { font-size: clamp(24px, 6.4vw, 30px) !important; line-height: 1.2 !important; color: #0D1B3E !important; margin-top: 8px !important; }
  .about2-section-area .about-heading > p { font-size: 15px !important; line-height: 1.7 !important; color: #4a5262 !important; }
  /* Stats: clean 3-across cards (fix the 2+1 break) */
  .about2-section-area .counter-boxes .space20 { display: none !important; }
  .about2-section-area .counter-boxes .row { display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; margin: 0 !important; }
  .about2-section-area .counter-boxes [class*="col-"] { flex: 1 1 0 !important; max-width: none !important; width: auto !important; padding: 0 !important; }
  .about2-section-area .counter-boxarea { background: #fff !important; border: 1px solid rgba(13,27,62,.08) !important; border-radius: 14px !important; padding: 15px 5px !important; box-shadow: 0 6px 18px rgba(13,27,62,.06) !important; height: 100% !important; }
  .about2-section-area .counter-boxarea h2 { font-size: clamp(21px, 5.6vw, 28px) !important; color: #0D1B3E !important; font-variant-numeric: tabular-nums !important; margin: 0 !important; line-height: 1 !important; }
  .about2-section-area .counter-boxarea .space12 { height: 6px !important; }
  .about2-section-area .counter-boxarea p { font-size: 11px !important; line-height: 1.25 !important; color: #6b7280 !important; margin: 0 !important; font-weight: 600 !important; }
  .about2-section-area .btn-area1 { margin-top: 6px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R49 — PROPERTIES section (mobile): scroll-pill filters + clean cards
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .properties2-section-area.sp2 { padding: 46px 0 !important; }
  .properties2-section-area .property-heading { text-align: center !important; margin-bottom: 24px !important; }
  .properties2-section-area .property-heading .hedaing1 h5 { color:#e2001a !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.6px !important; text-transform:uppercase !important; }
  .properties2-section-area .property-heading .hedaing1 h2 { font-size: clamp(24px,6.4vw,30px) !important; color:#0D1B3E !important; margin-top:6px !important; }
  .properties2-section-area .property-heading .btn-area1 { margin-top: 16px !important; }
  /* Filter tabs → horizontal scroll strip */
  .properties2-section-area .tabs-btn-area { margin-bottom: 22px !important; }
  .properties2-section-area #pills-tab.nav-pills { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; padding: 0 !important; margin: 0 !important; }
  .properties2-section-area .nav-pills .nav-item { margin: 0 !important; }
  .properties2-section-area .nav-pills .nav-link { display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; white-space: nowrap !important; width: 100% !important; padding: 11px 4px !important; border-radius: 12px !important; font-size: 12px !important; font-weight: 600 !important; background: #fff !important; color: #0D1B3E !important; border: 1px solid rgba(13,27,62,.12) !important; box-shadow: 0 2px 8px rgba(13,27,62,.05) !important; }
  .properties2-section-area .nav-pills .nav-link svg { width: 15px !important; height: 15px !important; flex: 0 0 auto !important; }
  .properties2-section-area .nav-pills .nav-link.active { background: #e2001a !important; color: #fff !important; border-color: #e2001a !important; }
  /* Cards → single column */
  .properties2-section-area .tab-content [class*="col-lg-"] { flex:0 0 100% !important; max-width:100% !important; }
  .properties2-section-area .property-boxarea { background:#fff !important; border-radius:18px !important; overflow:hidden !important; box-shadow: 0 12px 34px rgba(13,27,62,.10) !important; margin-bottom: 20px !important; padding: 0 !important; }
  .properties2-section-area .property-boxarea > .row { margin:0 !important; }
  .properties2-section-area .property-boxarea > .row > [class*="col-"] { padding:0 !important; }
  .properties2-section-area .property-boxarea .img1 img, .properties2-section-area .property-boxarea .swiper img { width:100% !important; height: 210px !important; object-fit: cover !important; display:block !important; }
  .properties2-section-area .content-area { padding: 18px !important; }
  .properties2-section-area .content-area .space18, .properties2-section-area .content-area .space24 { display:none !important; }
  /* Badges */
  .properties2-section-area .category-list ul { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 0 12px !important; padding:0 !important; list-style:none !important; }
  .properties2-section-area .category-list ul li { margin:0 !important; }
  .properties2-section-area .category-list ul li a { display:inline-block !important; background: rgba(0,61,165,.10) !important; color:#E2001A !important; font-size:11px !important; font-weight:700 !important; padding:5px 11px !important; border-radius:999px !important; text-transform:uppercase !important; letter-spacing:.5px !important; }
  .properties2-section-area .category-list ul li:first-child a { background: rgba(226,0,26,.10) !important; color:#e2001a !important; }
  /* Title / location */
  .properties2-section-area .content-area > a { font-size:19px !important; font-weight:700 !important; color:#0D1B3E !important; line-height:1.25 !important; display:block !important; }
  .properties2-section-area .content-area > p { font-size:13.5px !important; color:#6b7280 !important; display:flex !important; align-items:center !important; gap:5px !important; margin:6px 0 0 !important; }
  .properties2-section-area .content-area > p svg { width:15px !important; height:15px !important; color:#e2001a !important; flex:0 0 auto !important; }
  /* Meta row */
  .properties2-section-area .content-area > ul { display:flex !important; flex-wrap:wrap !important; gap:14px !important; margin:14px 0 0 !important; padding:14px 0 0 !important; border-top:1px solid rgba(13,27,62,.08) !important; list-style:none !important; }
  .properties2-section-area .content-area > ul li { margin:0 !important; }
  .properties2-section-area .content-area > ul li a { display:flex !important; align-items:center !important; gap:6px !important; font-size:13px !important; color:#0D1B3E !important; font-weight:600 !important; }
  .properties2-section-area .content-area > ul li a img { width:18px !important; height:18px !important; }
  /* Agent + price footer */
  .properties2-section-area .btn-area { display:flex !important; align-items:center !important; justify-content:space-between !important; margin-top:16px !important; padding-top:14px !important; border-top:1px solid rgba(13,27,62,.08) !important; gap:10px !important; }
  .properties2-section-area .btn-area .name-area { display:flex !important; align-items:center !important; gap:9px !important; margin:0 !important; }
  .properties2-section-area .btn-area .name-area .img img { width:38px !important; height:38px !important; border-radius:50% !important; object-fit:cover !important; }
  .properties2-section-area .btn-area .name-area .text a { font-size:13px !important; font-weight:600 !important; color:#0D1B3E !important; }
  .properties2-section-area .btn-area .nm-btn { background:#0D1B3E !important; color:#fff !important; font-size:14px !important; font-weight:700 !important; padding:9px 14px !important; border-radius:10px !important; white-space:nowrap !important; }
  /* any embedded map */
  .properties2-section-area iframe { width:100% !important; height:180px !important; border-radius:14px !important; display:block !important; margin-bottom:20px !important; }
}

/* ═══ R50 — About photo caption (real element; reliable) ═══ */
.about2-section-area .jm-photo-cap { display: none; }
@media (max-width: 991px) {
  .about2-section-area .img2 .jm-photo-cap { display: flex !important; flex-direction: column !important; position: absolute !important; left: 18px !important; right: 18px !important; bottom: 16px !important; z-index: 3 !important; padding-left: 12px !important; border-left: 3px solid #e2001a !important; }
  .about2-section-area .jm-photo-cap strong { color: #fff !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.2 !important; text-shadow: 0 1px 6px rgba(0,0,0,.45) !important; }
  .about2-section-area .jm-photo-cap span { color: rgba(255,255,255,.9) !important; font-size: 12.5px !important; font-weight: 500 !important; margin-top: 3px !important; text-shadow: 0 1px 4px rgba(0,0,0,.45) !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R51 — ITEMS (featured) section (mobile): unified card on navy
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .items2-section-area.sp1 { padding: 46px 0 !important; background-attachment: scroll !important; }
  .items2-section-area .item-header { margin-bottom: 26px !important; }
  .items2-section-area .item-header h5 { color:#E2001A !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.6px !important; text-transform:uppercase !important; }
  .items2-section-area .item-header h2 { font-size:clamp(24px,6.4vw,30px) !important; color:#fff !important; margin-top:6px !important; }
  .items2-section-area .items-images-area > .row > [class*="col-lg-"] { flex:0 0 100% !important; max-width:100% !important; padding:0 !important; }
  .items2-section-area .images-area .img1 + .img1 { display:none !important; }
  .items2-section-area .images-area .img1 img { width:100% !important; height:210px !important; object-fit:cover !important; border-radius:18px 18px 0 0 !important; display:block !important; }
  .items2-section-area .slider-content-area { background:#fff !important; border-radius:0 0 18px 18px !important; overflow:hidden !important; box-shadow:0 16px 40px rgba(0,0,0,.28) !important; }
  .items2-section-area .items-content-area { padding: 20px !important; }
  .items2-section-area .items-content-area .space24, .items2-section-area .items-content-area .space20, .items2-section-area .items-content-area .space32 { display:none !important; }
  .items2-section-area .category-list ul { display:flex !important; gap:8px !important; margin:0 0 12px !important; padding:0 !important; list-style:none !important; }
  .items2-section-area .category-list ul li { margin:0 !important; }
  .items2-section-area .category-list ul li a { display:inline-block !important; background:rgba(0,61,165,.10) !important; color:#E2001A !important; font-size:11px !important; font-weight:700 !important; padding:5px 11px !important; border-radius:999px !important; text-transform:uppercase !important; letter-spacing:.5px !important; }
  .items2-section-area .category-list ul li:first-child a { background:rgba(226,0,26,.10) !important; color:#e2001a !important; }
  .items2-section-area .content-area > a { font-size:19px !important; font-weight:700 !important; color:#0D1B3E !important; display:block !important; line-height:1.25 !important; }
  .items2-section-area .content-area > p { font-size:13.5px !important; color:#6b7280 !important; display:flex !important; align-items:center !important; gap:5px !important; margin:6px 0 0 !important; }
  .items2-section-area .content-area > p svg { width:15px !important; height:15px !important; color:#e2001a !important; flex:0 0 auto !important; }
  .items2-section-area .content-area > ul { display:flex !important; flex-wrap:wrap !important; gap:14px !important; margin:14px 0 0 !important; padding:14px 0 0 !important; border-top:1px solid rgba(13,27,62,.08) !important; list-style:none !important; }
  .items2-section-area .content-area > ul li { margin:0 !important; }
  .items2-section-area .content-area > ul li a { display:flex !important; align-items:center !important; gap:6px !important; font-size:13px !important; color:#0D1B3E !important; font-weight:600 !important; }
  .items2-section-area .content-area > ul li a img { width:18px !important; height:18px !important; }
  .items2-section-area .content-area > .btn-area { display:flex !important; align-items:center !important; justify-content:space-between !important; margin-top:16px !important; padding-top:14px !important; border-top:1px solid rgba(13,27,62,.08) !important; gap:10px !important; }
  .items2-section-area .content-area > .btn-area .space20 { display:none !important; }
  .items2-section-area .name-area { display:flex !important; align-items:center !important; gap:9px !important; margin:0 !important; }
  .items2-section-area .name-area .img img { width:38px !important; height:38px !important; border-radius:50% !important; object-fit:cover !important; }
  .items2-section-area .name-area .text a { font-size:13px !important; font-weight:600 !important; color:#0D1B3E !important; }
  .items2-section-area .btn-area .heart { display:none !important; }
  .items2-section-area .nm-btn { background:#0D1B3E !important; color:#fff !important; font-size:14px !important; font-weight:700 !important; padding:9px 14px !important; border-radius:10px !important; white-space:nowrap !important; }
}

/* ═══ R52 — search filter form (mobile): stacked, touch-friendly ═══ */
@media (max-width: 991px) {
  .others-section-area2 .search-filter-form { padding: 16px !important; border-radius: 16px !important; }
  .others-section-area2 .tab-header { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin-bottom:16px !important; }
  .others-section-area2 .tab-header .tab-btn { flex:1 1 calc(50% - 4px) !important; min-height:44px !important; border-radius:10px !important; font-size:13px !important; font-weight:600 !important; }
  .others-section-area2 .filters { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
  .others-section-area2 .filter-group { width:100% !important; margin:0 !important; }
  .others-section-area2 .filter-group label { font-size:12px !important; font-weight:600 !important; margin-bottom:6px !important; display:block !important; color:#0D1B3E !important; }
  .others-section-area2 .filter-group select, .others-section-area2 .filter-group input { width:100% !important; min-height:46px !important; font-size:15px !important; border-radius:10px !important; padding:0 12px !important; }
  .others-section-area2 .search-filter-form button[type="submit"], .others-section-area2 .search-filter-form .theme-btn, .others-section-area2 .search-filter-form .filter-submit { width:100% !important; min-height:48px !important; margin-top:6px !important; }
}
@media (max-width: 380px) {
  .others-section-area2 .filters { grid-template-columns: 1fr !important; }
}

/* ═══ R53 — Social/Testimonial/Blog (mobile): padding + heading rhythm ═══ */
@media (max-width: 991px) {
  .testimonial2-section-area.sp1, .blog2-section-area.sp2 { padding: 46px 0 !important; }
  .testimonial2-section-area .heading1 h2, .blog2-section-area .heading1 h2 { font-size: clamp(24px,6.4vw,30px) !important; line-height:1.2 !important; }
}

/* ═══ R54 — auto-hide vertical "What's My Home Worth?" tab on scroll-down (mobile) ═══ */
@media (max-width: 991px) {
  #ga-hv-tab { transition: transform .38s cubic-bezier(.4,0,.2,1), opacity .38s ease !important; }
  #ga-hv-tab.hv-hidden { transform: translateX(116%) translateY(-50%) !important; opacity: 0 !important; pointer-events: none !important; }
}

/* ═══ R55 — "Why Work With Gina" value cards (all widths) ═══ */
.items2-section-area .item-header h5 { color:#c8a25a !important; font-weight:700 !important; letter-spacing:1.6px !important; text-transform:uppercase !important; font-size:13px !important; }
.items2-section-area .item-header h2 { color:#fff !important; }
.items2-section-area .jm-values-row { margin-top: 8px !important; }
.items2-section-area .jm-value { position: relative; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.10); border-radius: 18px; padding: 36px 26px 30px; height: 100%; text-align: left; overflow: hidden; transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease; }
.items2-section-area .jm-value::before { content: attr(data-n); position: absolute; top: 16px; right: 22px; font-size: 46px; font-weight: 800; line-height: 1; letter-spacing: -1px; color: rgba(200,162,90,.15); }
.items2-section-area .jm-value:hover { transform: translateY(-6px); border-color: rgba(200,162,90,.55); background: rgba(255,255,255,.07); box-shadow: 0 26px 60px rgba(0,0,0,.34); }
.items2-section-area .jm-value-ic { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: transparent; border: 1.5px solid rgba(200,162,90,.55); color: #c8a25a; margin-bottom: 22px; transition: background .3s ease, color .3s ease, border-color .3s ease; }
.items2-section-area .jm-value:hover .jm-value-ic { background: linear-gradient(135deg,#c8a25a,#a37f4e); border-color: transparent; color: #0D1B3E; }
.items2-section-area .jm-value-ic svg { width: 26px; height: 26px; }
.items2-section-area .jm-value h3 { color: #fff; font-size: 19px; font-weight: 700; margin: 0 0 12px; line-height: 1.3; letter-spacing: -.2px; }
.items2-section-area .jm-value h3::after { content: ""; display: block; width: 34px; height: 2px; background: linear-gradient(90deg,#c8a25a,rgba(200,162,90,0)); margin-top: 12px; }
.items2-section-area .jm-value p { color: rgba(255,255,255,.66); font-size: 14px; line-height: 1.65; margin: 0; }
@media (max-width: 991px) {
  .items2-section-area .jm-values-row { row-gap: 14px !important; }
  .items2-section-area .jm-values-row > [class*="col-"] { padding-left: 8px !important; padding-right: 8px !important; }
  .items2-section-area .jm-value { padding: 24px 20px !important; }
  .items2-section-area .jm-value h3 { font-size: 17px !important; }
  .items2-section-area .jm-value::before { font-size: 38px !important; }
}

/* ═══ R56 — Testimonials (mobile): premium quote card, drop green tail/stock clutter ═══ */
@media (max-width: 991px) {
  .testimonial2-section-area.sp1 { padding: 46px 0 !important; }
  .testimonial2-section-area .col-lg-5 { display: none !important; }            /* disconnected stock family photo */
  .testimonial2-section-area .col-lg-6 { flex:0 0 100% !important; max-width:100% !important; }
  .testimonial2-section-area .elements3, .testimonial-man-info-area > img, .testimonial-author-area .quito2 + .elements3 { display: none !important; } /* green decoration/tail */
  .testimonial2-section-area .testimonial-slider-content-area { background:#0D1B3E !important; border-radius:18px !important; padding:24px 20px !important; box-shadow:0 16px 40px rgba(13,27,62,.18) !important; margin:0 4px !important; }
  .testimonial2-section-area .testimonial-author-area { background:transparent !important; }
  .testimonial-author-area ul { display:flex !important; gap:4px !important; margin:0 0 12px !important; padding:0 !important; list-style:none !important; }
  .testimonial-author-area ul li { margin:0 !important; }
  .testimonial-author-area ul li a { color:#F5A623 !important; font-size:15px !important; }
  .testimonial-author-area .quito2 { width:32px !important; opacity:.45 !important; margin:0 0 8px !important; filter:brightness(3) !important; }
  .testimonial-author-area p { color:#fff !important; font-size:16px !important; line-height:1.6 !important; margin:0 !important; }
  .testimonial2-section-area .space60 { height:18px !important; }
  .testimonial-man-info-area { display:flex !important; align-items:center !important; gap:12px !important; border-top:1px solid rgba(255,255,255,.14) !important; padding-top:16px !important; justify-content:flex-start !important; }
  .testimonial-man-info-area .man-images-text { display:flex !important; align-items:center !important; gap:12px !important; }
  .testimonial-man-info-area .mans-img { display:none !important; }   /* generic stock avatars (gender mismatch) */
  .testimonial-man-info-area .man-text a { color:#fff !important; font-size:15px !important; font-weight:700 !important; }
  .testimonial-man-info-area .man-text .space12 { height:2px !important; }
  .testimonial-man-info-area .man-text p { color:#c8a25a !important; font-size:12.5px !important; margin:2px 0 0 !important; }
}

/* ═══ R57 — Blog (mobile): premium cards matching site card language ═══ */
@media (max-width: 991px) {
  .blog2-section-area.sp2 { padding: 46px 0 !important; }
  .blog2-section-area .blog-single-boxarea { background:#fff !important; border-radius:18px !important; overflow:hidden !important; box-shadow:0 12px 34px rgba(13,27,62,.10) !important; margin-bottom:20px !important; padding:0 !important; }
  .blog2-section-area .blog-single-boxarea .img1 img { width:100% !important; height:200px !important; object-fit:cover !important; display:block !important; }
  .blog2-section-area .blog-single-boxarea .content-area { padding:18px !important; }
  .blog2-section-area .content-area > ul { display:flex !important; flex-wrap:wrap !important; gap:14px !important; margin:0 0 10px !important; padding:0 !important; list-style:none !important; }
  .blog2-section-area .content-area > ul li { margin:0 !important; }
  .blog2-section-area .content-area > ul li a { display:flex !important; align-items:center !important; gap:6px !important; font-size:12.5px !important; color:#6b7280 !important; }
  .blog2-section-area .content-area > ul li svg path { fill:#e2001a !important; }
  .blog2-section-area .content-area .head { font-size:17px !important; font-weight:700 !important; color:#0D1B3E !important; line-height:1.3 !important; display:block !important; }
  .blog2-section-area .readmore { display:inline-flex !important; align-items:center !important; gap:6px !important; color:#e2001a !important; font-weight:700 !important; font-size:13.5px !important; text-transform:capitalize !important; }
  .blog2-section-area .readmore svg { width:18px !important; height:18px !important; fill:#e2001a !important; }
  .blog2-section-area .content-area .space14 { height:8px !important; } .blog2-section-area .content-area .space20 { height:12px !important; }
}

/* ═══ R58 — restore DESKTOP footer: the mobile-only "Get Directions" element must not show on desktop ═══ */
.footer2-section-area .footer-directions { display: none; }
@media (max-width: 991px) { .footer2-section-area .footer-directions { display: flex; } }

/* ═══════════════════════════════════════════════════════════════
   R59 — GLOBAL inner-page mobile fixes (all 26 pages)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* G1 — vertical "What's My Home Worth?" tab overlaps content on inner pages → homepage only */
  body:not(.is-home) #ga-hv-tab { display: none !important; }

  /* G2 — text-anime / split-reveal headings must never stay greyed, clipped, or invisible on mobile */
  .text-anime-style-1, .text-anime-style-2, .text-anime-style-3 { opacity: 1 !important; }
  .text-anime-style-1 .char, .text-anime-style-1 .word, .text-anime-style-1 span,
  .text-anime-style-2 .char, .text-anime-style-2 .word, .text-anime-style-2 span,
  .text-anime-style-3 .char, .text-anime-style-3 .word, .text-anime-style-3 span, .text-anime-style-3 div {
    opacity: 1 !important; color: inherit !important; -webkit-text-fill-color: currentColor !important; transform: none !important; visibility: visible !important;
  }

  /* G3 — nice-select: full-width, touch-friendly, on-brand */
  .nice-select { width: 100% !important; height: 48px !important; line-height: 46px !important; font-size: 15px !important; border-radius: 10px !important; float: none !important; padding: 0 32px 0 14px !important; }
  .nice-select .list { width: 100% !important; max-height: 260px !important; overflow-y: auto !important; }

  /* G4 — inner-page banner scrim so white breadcrumb/title stays legible */
  .hero-inner-section-area-sidebar, .hero-header-area { position: relative !important; }
  .hero-inner-section-area-sidebar::after, .hero-header-area::after {
    content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; pointer-events: none !important;
    background: linear-gradient(180deg, rgba(13,27,62,.30) 0%, rgba(13,27,62,.62) 100%) !important;
  }
  .hero-inner-section-area-sidebar .container, .hero-header-area .container { position: relative !important; z-index: 2 !important; }
}

/* ═══ R60 — GSAP image reveal stuck on mobile: force revealed images visible, drop wipe overlay ═══ */
@media (max-width: 991px) {
  .image-anime img, .reveal img, .image-anime2 img { visibility: visible !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .image-anime::after, .reveal::after { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R61 — page-specific broken-layout fixes (inner pages)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* about-us intro collage → stack images full-width */
  .about1-section-area .about-images-area .row > [class*="col-"] { flex:0 0 100% !important; max-width:100% !important; }
  .about1-section-area .about-images-area img { width:100% !important; height:auto !important; border-radius:14px !important; margin-bottom:14px !important; }
  .about1-section-area .about-images-area .author-img { position:static !important; margin:4px auto 14px !important; max-width:330px !important; }
  /* team cards fit viewport */
  .team1-section-area .team-widget-boxarea, .team1-section-area .team-widget-boxarea img { width:100% !important; max-width:100% !important; height:auto !important; }
  /* add-property: naked form fields → styled, touch-friendly */
  .add-property-section .input-area { margin-bottom:14px !important; }
  .add-property-section .input-area input:not([type="checkbox"]), .add-property-section .input-area select, .add-property-section .input-area textarea {
    width:100% !important; min-height:50px !important; border:1px solid rgba(13,27,62,.18) !important; border-radius:10px !important; padding:0 14px !important; font-size:16px !important; background:#fff !important; color:#0D1B3E !important; box-sizing:border-box !important;
  }
  .add-property-section .input-area textarea { min-height:120px !important; padding:12px 14px !important; line-height:1.5 !important; }
  .add-property-section #ga-sell-consent-area { display:flex !important; align-items:flex-start !important; gap:10px !important; font-size:14px !important; line-height:1.45 !important; }
  .add-property-section #ga-sell-consent { width:22px !important; height:22px !important; min-height:22px !important; flex:0 0 22px !important; margin-top:1px !important; }
  .add-property-section .theme-btn1 { width:100% !important; justify-content:center !important; min-height:52px !important; }
  /* my-profile: avatar/poster stack (were crushed invisible) */
  .box-agent-avt { flex-direction:column !important; align-items:flex-start !important; gap:14px !important; }
  .box-agent-avt .avatar img { width:96px !important; height:96px !important; border-radius:50% !important; object-fit:cover !important; }
  .box-agent-avt .img-poster img { width:100% !important; height:auto !important; border-radius:12px !important; }
  /* account/dashboard: hide grid table-header (rows render as stacked cards) */
  .table-container .table-header { display:none !important; }
}

/* ═══ R62 — reviews/message cards: stop name+date running together ═══ */
@media (max-width: 991px) {
  .message-boxarea .content { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: 4px 10px !important; }
  .message-boxarea .content > a { flex: 0 0 auto !important; }
  .message-boxarea .content > p { flex: 0 0 auto !important; margin: 0 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R63 — GLOBAL form fields + contact page world-class mobile
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* Global: any .input-area form field (contact, add-property, etc.) */
  .input-area input:not([type="checkbox"]):not([type="radio"]), .input-area select, .input-area textarea {
    width:100% !important; min-height:50px !important; border:1px solid rgba(13,27,62,.18) !important; border-radius:10px !important;
    padding:0 14px !important; font-size:16px !important; background:#fff !important; color:#0D1B3E !important; box-sizing:border-box !important;
  }
  .input-area textarea { min-height:120px !important; padding:12px 14px !important; line-height:1.5 !important; }
  .input-area { margin-bottom:14px !important; }
  .contact-form-area .theme-btn1, .add-property-section .theme-btn1 { width:100% !important; justify-content:center !important; min-height:52px !important; }

  /* Contact page layout */
  .contact-inner-section.sp1 { padding:44px 0 !important; }
  .contact-inner-section .col-lg-1 { display:none !important; }
  .contact-inner-section .contact-form-area { background:#fff !important; border:1px solid rgba(13,27,62,.08) !important; border-radius:18px !important; padding:22px 18px !important; box-shadow:0 14px 36px rgba(13,27,62,.08) !important; margin-top:28px !important; }
  .contact-inner-section .contact-form-area h4 { font-size:20px !important; font-weight:700 !important; color:#0D1B3E !important; margin:0 0 16px !important; }
  .contact-inner-section .number-address-area, .contact-inner-section .number-address-area2 { display:flex !important; flex-direction:column !important; gap:16px !important; }
  .contact-inner-section .phone-number { display:flex !important; align-items:center !important; gap:12px !important; margin:0 !important; }
  .contact-inner-section .phone-number .img1 { flex:0 0 46px !important; width:46px !important; height:46px !important; border-radius:12px !important; background:rgba(0,61,165,.08) !important; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; }
  .contact-inner-section .phone-number .img1 svg { width:20px !important; height:20px !important; color:#E2001A !important; }
  .contact-inner-section .phone-number .content p { font-size:12.5px !important; color:#6b7280 !important; margin:0 !important; }
  .contact-inner-section .phone-number .content a { font-size:15px !important; font-weight:600 !important; color:#0D1B3E !important; }
  .contact-inner-section .phone-number .map { color:#e2001a !important; font-weight:700 !important; }
  .contact-inner-section .social ul { display:flex !important; gap:12px !important; padding:0 !important; margin:0 !important; list-style:none !important; }
  .contact-inner-section .social ul li { margin:0 !important; }
  .contact-inner-section .social ul li a { width:44px !important; height:44px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; background:rgba(13,27,62,.06) !important; color:#0D1B3E !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R64 — inner-page card sections (mobile only; desktop untouched)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .offer1-section-area.sp1, .project1-section-area, .team1-section-area, .mission-section-area.sp1 { padding: 46px 0 !important; }
  /* eyebrow + heading rhythm */
  .offer1-section-area .heading1 h5, .project1-section-area .heading1 h5, .team1-section-area .heading1 h5, .mission-section-area .heading1 h5 {
    color:#e2001a !important; font-size:12px !important; font-weight:700 !important; letter-spacing:1.6px !important; text-transform:uppercase !important;
  }
  .offer1-section-area .heading1 h2, .project1-section-area .heading1 h2, .team1-section-area .heading1 h2, .mission-section-area .heading1 h2 {
    font-size:clamp(24px,6.4vw,30px) !important; line-height:1.2 !important;
  }
  .offer1-section-area .heading1 p, .project1-section-area .heading1 p { font-size:14.5px !important; line-height:1.6 !important; }
  /* step / value cards */
  .offer-boxarea { background:#fff !important; border:1px solid rgba(13,27,62,.08) !important; border-radius:16px !important; padding:24px 20px !important; height:100% !important; box-shadow:0 8px 24px rgba(13,27,62,.06) !important; }
  .offer-boxarea .icons { width:54px !important; height:54px !important; border-radius:14px !important; background:linear-gradient(135deg,#E2001A,#0D1B3E) !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; }
  .offer-boxarea .icons svg { width:26px !important; height:26px !important; color:#fff !important; }
  .offer-boxarea .space24 { height:16px !important; }
  .offer-boxarea .content > a { font-size:17px !important; font-weight:700 !important; color:#0D1B3E !important; line-height:1.3 !important; display:block !important; }
  .offer-boxarea .content p { font-size:14px !important; line-height:1.6 !important; color:#4a5262 !important; }
  /* our-service project cards */
  .project-featured-box { background:#fff !important; border:1px solid rgba(13,27,62,.08) !important; border-radius:16px !important; overflow:hidden !important; box-shadow:0 8px 24px rgba(13,27,62,.06) !important; margin-bottom:6px !important; }
  .project-featured-box img { width:100% !important; height:auto !important; }
  /* team cards */
  .team-widget-boxarea { background:#fff !important; border-radius:16px !important; overflow:hidden !important; box-shadow:0 10px 28px rgba(13,27,62,.10) !important; width:100% !important; max-width:100% !important; }
  .team-widget-boxarea .content-area { padding:16px !important; }
  .team-widget-boxarea .content-area a { font-size:17px !important; font-weight:700 !important; color:#0D1B3E !important; }
}

/* ═══════════════════════════════════════════════════════════════
   R65 — OPEN HOUSES — cinematic band + image-forward poster cards
   ═══════════════════════════════════════════════════════════════ */
.oh-section-area { position: relative; margin: 68px 24px; border-radius: 28px; padding: 84px 0; background: radial-gradient(120% 90% at 15% 0%, #16294f 0%, #0D1B3E 46%, #0a1428 100%); overflow: hidden; }
.oh-section-area::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background: linear-gradient(90deg, transparent, rgba(200,162,90,.65), transparent); }
.oh-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 36px; position: relative; }
.oh-eyebrow { display:inline-flex; align-items:center; gap:10px; color: #C8A25A; font-size: 12.5px; font-weight: 800; letter-spacing: 2.2px; text-transform: uppercase; margin: 0 0 12px; }
.oh-eyebrow::before { content:""; width:26px; height:1px; background:#C8A25A; }
.oh-title { color: #fff; font-size: 40px; font-weight: 800; line-height: 1.08; margin: 0; letter-spacing:-.5px; }
.oh-sub { color: #aeb6c7; font-size: 16px; line-height: 1.6; margin: 14px 0 0; max-width: 560px; }
.oh-viewall { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; color: #C8A25A; font-weight: 700; font-size: 15px; white-space: nowrap; text-decoration: none; padding-bottom:6px; border-bottom:1px solid transparent; transition: border-color .2s; }
.oh-viewall:hover { color:#C8A25A; border-color:#C8A25A; }
.oh-viewall svg { width: 20px; height: 20px; }
.oh-grid { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%); }
.oh-track { display: flex; width: max-content; will-change: transform; animation: oh-marquee var(--oh-dur, 44s) linear infinite; }
.oh-track .oh-card { margin-right: 24px; }
.oh-grid:hover .oh-track, .oh-grid:focus-within .oh-track { animation-play-state: paused; }
@keyframes oh-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .oh-track { animation: none; } .oh-grid { overflow-x: auto; } }
.oh-card { position: relative; flex: 0 0 320px; height: 448px; border-radius: 20px; overflow: hidden; box-shadow: 0 22px 54px rgba(0,0,0,.42); isolation: isolate; }
/* open-houses.html — full grid + city filter (reuses the dark .oh-section-area band + .oh-card) */
.oh-allgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.oh-all-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 24px; flex-wrap: wrap; }
.oh-all-count { color: #aeb6c7; font-size: 14px; margin: 0; font-weight: 600; }
.oh-all-filter { color: #cfd5e0; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; gap: 10px; }
.oh-all-filter select { background: rgba(255,255,255,.08); color: #fff; border: 1.5px solid rgba(255,255,255,.22); border-radius: 10px; padding: 9px 34px 9px 12px; font-size: 14px; font-weight: 600; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A25A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 16px; }
.oh-all-filter select option { color: #0D1B3E; }
@media (max-width: 991px) { .oh-allgrid { grid-template-columns: 1fr; } .oh-all-controls { margin-bottom: 16px; } }
.oh-photo { position:absolute; inset:0; width: 100%; height: 100%; object-fit: cover; display: block; z-index:0; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.oh-card:hover .oh-photo { transform: scale(1.07); }
.oh-scrim { position:absolute; inset:0; z-index:1; background: linear-gradient(to top, rgba(7,13,30,.97) 0%, rgba(7,13,30,.78) 26%, rgba(7,13,30,.18) 52%, rgba(7,13,30,.02) 100%); }
.oh-badge { position: absolute; top: 16px; left: 16px; z-index:3; background: #C8A25A; color: #0D1B3E; border-radius: 12px; padding: 8px 12px; text-align: center; line-height: 1.05; font-size: 11px; font-weight: 700; letter-spacing:.4px; text-transform:uppercase; box-shadow:0 6px 16px rgba(0,0,0,.3); }
.oh-badge b { display: block; font-size: 18px; font-weight: 900; letter-spacing:0; }
.oh-live { position: absolute; top: 16px; right: 16px; z-index:3; display: inline-flex; align-items: center; gap: 6px; background: #e2001a; color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .6px; padding: 7px 11px; border-radius: 999px; box-shadow:0 6px 16px rgba(226,0,26,.42); }
.oh-live i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: ohPulse 1.6s infinite; }
@keyframes ohPulse { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.35; transform:scale(.65);} }
.oh-overlay { position:absolute; left:0; right:0; bottom:0; z-index:3; padding: 22px 20px; }
.oh-time { display: inline-flex; align-items: center; gap: 6px; color: #e8c87e; font-weight: 700; font-size: 13px; letter-spacing:.3px; }
.oh-time svg { width: 15px; height: 15px; }
.oh-name { color: #fff; font-size: 22px; font-weight: 800; margin: 8px 0 5px; line-height: 1.2; letter-spacing:-.3px; }
.oh-addr { display: flex; align-items: center; gap: 6px; color: #cfd5e0; font-size: 13.5px; margin: 0; }
.oh-addr svg { width: 15px; height: 15px; color: #e2001a; flex: 0 0 auto; }
.oh-metarow { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin: 14px 0 0; padding-top:14px; border-top: 1px solid rgba(255,255,255,.14); }
.oh-price { color: #fff; font-size: 23px; font-weight: 800; letter-spacing:-.5px; }
.oh-specs { color: #aeb6c7; font-size: 12.5px; font-weight: 600; text-align:right; }
.oh-actions { display: flex; gap: 10px; margin-top: 16px; align-items: center; }
.oh-primary { flex: 1; text-align: center; background: #fff; color: #0D1B3E; font-weight: 800; font-size: 14px; padding: 12px 16px; border-radius: 12px; text-decoration: none; transition: background .2s, color .2s; }
.oh-primary:hover { background: #C8A25A; color: #0D1B3E; }
.oh-cal { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); transition: border-color .2s, background .2s; }
.oh-cal svg { width: 21px; height: 21px; }
.oh-cal:hover { border-color: #C8A25A; background: rgba(200,162,90,.18); }
.oh-empty { text-align: center; padding: 46px 20px; }
.oh-empty svg { width: 46px; height: 46px; color: #6b7690; }
.oh-empty p { color: #cfd5e0; font-size: 16px; margin: 16px 0 8px; }
.oh-notify { color: #C8A25A; font-weight: 700; text-decoration: none; }
@media (max-width: 991px) {
  .oh-section-area { margin: 34px 0; border-radius: 0; padding: 44px 0; }
  .oh-head { flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 20px; }
  .oh-eyebrow { font-size: 10.5px; letter-spacing: 1.2px; line-height: 1.55; gap: 8px; }
  .oh-eyebrow::before { width: 18px; }
  .oh-title { font-size: clamp(25px, 6.6vw, 30px); }
  .oh-sub { font-size: 14px; }
  .oh-viewall { margin-top: 12px; }
  .oh-grid { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 -14px; padding: 2px 14px 12px; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; }
  .oh-grid::-webkit-scrollbar { display: none; }
  .oh-track { animation: none; width: max-content; }
  .oh-track .oh-card { margin-right: 14px; }
  .oh-card { flex: 0 0 300px !important; width: 300px !important; scroll-snap-align: start; height: 372px; background: #0a1428; }
  .oh-overlay { padding: 18px 16px; }
  .oh-name { font-size: 19px; }
  .oh-price { font-size: 20px; }
}

/* R65b — direct add-to-calendar popover (no download for Google/Outlook) */
.oh-actions { position: relative; }
.oh-calmenu { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 6; background: #fff; border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.38); overflow: hidden; min-width: 176px; animation: ohMenu .16s ease; }
@keyframes ohMenu { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.oh-calmenu a { display: flex; align-items: center; gap: 10px; padding: 12px 15px; color: #0D1B3E; font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(13,27,62,.07); }
.oh-calmenu a:last-child { border-bottom: 0; }
.oh-calmenu a:hover { background: #F6F8FC; color: #E2001A; }
.oh-calmenu a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #C8A25A; flex: 0 0 auto; }

/* R66 — breathing room between hero search box and the Open Houses band (homepage) */
.is-home .others-section-area2 { padding-bottom: 52px; }
@media (max-width: 991px) { .is-home .others-section-area2 { padding-bottom: 26px; } }

/* ═══════════════════════════════════════════════════════════════
   R67 — spacing-audit fixes (parallel audit across 27 pages)
   ═══════════════════════════════════════════════════════════════ */
/* sellers-guide: the MID-PAGE CTA uses the global -140px float (meant only for the
   pre-footer CTA). Followed by a .bg-guide section it clipped the FAQ heading on
   mobile. Scope the reset to CTAs that precede .bg-guide (pre-footer CTAs precede
   .footer2-section-area, so they're untouched). */
.golfi-cta-area:has(+ .bg-guide) { margin-bottom: 0; }
/* Legal FLAT template (terms, disclaimer) was cramped + smaller type than the
   structured legal pages (privacy-policy, accessibility). Harmonize them. */
.golfi-legal h2 { margin-top: 40px; }
.golfi-legal p { margin-bottom: 16px; font-size: 16px; }
/* Accordion items: a touch more separation on mobile (contact/faq) */
@media (max-width: 991px) { .accordion-item { margin-bottom: 20px !important; } }

/* ═══════════════════════════════════════════════════════════════
   A Note from Gina — replaces the theme's dummy comments on detail pages
   ═══════════════════════════════════════════════════════════════ */
.golfi-note { background: #f7f9fc; border: 1px solid rgba(13,27,62,.10); border-left: 4px solid #C8A25A; border-radius: 16px; padding: 26px 28px; margin: 0 0 8px; }
.golfi-note-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.golfi-note-head img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: 0 0 56px; box-shadow: 0 4px 12px rgba(13,27,62,.14); }
.golfi-note-id strong { display: block; font-size: 17px; color: #0D1B3E; font-weight: 800; line-height: 1.2; }
.golfi-note-id span { display: block; font-size: 12.5px; color: #6b7690; margin-top: 3px; }
.golfi-note-body { color: #33404f; font-size: 15.5px; line-height: 1.72; margin: 0 0 20px; }
.golfi-note-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.golfi-note-btn { display: inline-flex; align-items: center; gap: 8px; background: #0D1B3E; color: #fff; font-weight: 700; font-size: 14px; padding: 12px 22px; border-radius: 10px; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.golfi-note-btn:hover { background: #C8A25A; color: #0D1B3E; }
.golfi-note-btn.ghost { background: transparent; color: #0D1B3E; border: 1.5px solid rgba(13,27,62,.22); }
.golfi-note-btn.ghost:hover { background: #0D1B3E; color: #fff; border-color: #0D1B3E; }
.golfi-note-meta { display: block; margin-top: 16px; font-size: 12px; color: #8a94a6; font-style: italic; }
@media (max-width: 991px) { .golfi-note { padding: 20px; } .golfi-note-btn { flex: 1 1 auto; justify-content: center; } }

/* ═══════════════════════════════════════════════════════════════
   Detail page "Our Latest Properties" carousel — uniform cards
   (real MLS photos vary in aspect ratio; lock the image area + 1-line title)
   ═══════════════════════════════════════════════════════════════ */
.single-slider-area .property-boxarea .img1 { height: 240px !important; overflow: hidden; }
.single-slider-area .property-boxarea .img1 img { width: 100% !important; height: 240px !important; object-fit: cover !important; display: block !important; visibility: visible !important; opacity: 1 !important; transform: none !important; clip-path: none !important; position: static !important; }
.single-slider-area .property-boxarea .img1::after, .single-slider-area .property-boxarea .img1::before { display: none !important; }
.single-slider-area .property-boxarea .content-area > a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 991px) { .single-slider-area .property-boxarea .img1, .single-slider-area .property-boxarea .img1 img { height: 210px !important; } }

/* ═══════════════════════════════════════════════════════════════
   Detail page — Property Details facts + Rooms breakdown (feed-driven)
   ═══════════════════════════════════════════════════════════════ */
.golfi-facts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.golfi-fact { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(13,27,62,.09); font-size: 15px; }
.golfi-fact-k { color: #6b7690; font-weight: 500; flex: 0 0 auto; }
.golfi-fact-v { color: #0D1B3E; font-weight: 700; text-align: right; }
@media (max-width: 767px) { .golfi-facts-grid { grid-template-columns: 1fr; gap: 0; } }

/* ═══════════════════════════════════════════════════════════════
   Save (heart) highlight + Share menu  (golfi-social.js)
   ═══════════════════════════════════════════════════════════════ */
.heart { cursor: pointer; }
.heart .heart2 { display: none; }
.heart.golfi-fav-on .heart1 { display: none; }
.heart.golfi-fav-on .heart2 { display: inline-block; }
.golfi-fav-on { color: #e2001a !important; }
.golfi-fav-on svg { fill: #e2001a !important; }
ul.share li a { cursor: pointer; }
.golfi-share-menu { position: absolute; top: 100%; right: 0; z-index: 60; background: #fff; border-radius: 12px; box-shadow: 0 18px 44px rgba(13,27,62,.22); min-width: 180px; overflow: hidden; padding: 6px 0; margin-top: 10px; animation: golfiShareIn .16s ease; }
@keyframes golfiShareIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.golfi-share-item { display: block; padding: 11px 16px; color: #0D1B3E; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.golfi-share-item:hover { background: #F6F8FC; color: #E2001A; }

/* ═══════════════════════════════════════════════════════════════
   Search page (sidebar-grid) — uniform result cards (real photos vary)
   ═══════════════════════════════════════════════════════════════ */
.property-mapgrid-area .property-boxarea .img1, .property-mapgrid-area .property-boxarea .swiper,
.property-mapgrid-area .property-boxarea .swiper-slide, .property-mapgrid-area .property-boxarea .swiper-fade { height: 240px !important; }
.property-mapgrid-area .property-boxarea .img1 img, .property-mapgrid-area .property-boxarea .swiper-slide img {
  width: 100% !important; height: 240px !important; object-fit: cover !important; display: block !important;
  visibility: visible !important; opacity: 1 !important; clip-path: none !important; }
.property-mapgrid-area .property-boxarea2 .img1 img, .property-mapgrid-area .property-boxarea2 .swiper-slide img {
  width: 100% !important; height: 100% !important; min-height: 230px; object-fit: cover !important; display: block !important;
  visibility: visible !important; opacity: 1 !important; clip-path: none !important; }
.property-latest .latest-proprty .img1 img { width: 100%; height: 150px; object-fit: cover; display: block; }
@media (max-width: 991px) { .property-mapgrid-area .property-boxarea .img1, .property-mapgrid-area .property-boxarea .swiper, .property-mapgrid-area .property-boxarea .swiper-slide { height: 210px !important; } .property-mapgrid-area .property-boxarea .img1 img, .property-mapgrid-area .property-boxarea .swiper-slide img { height: 210px !important; } }

/* ═══════════════════════════════════════════════════════════════
   Contact page — sleek spacing + typography polish
   ═══════════════════════════════════════════════════════════════ */
.contact-inner-section.sp1 { padding: 92px 0; }
.contact-inner-section .heading1 h5 { color: #C8A25A; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; font-size: 13px; margin: 0; }
.contact-inner-section .heading1 h2 { font-size: 40px; line-height: 1.12; letter-spacing: -0.5px; margin: 0; color: #0D1B3E; }
.contact-inner-section .heading1 > p { color: #5b6577; font-size: 16px; line-height: 1.75; margin: 0; }
.contact-inner-section .number-address-area, .contact-inner-section .number-address-area2 { display: flex; flex-wrap: wrap; gap: 18px 40px; }
.contact-inner-section .phone-number { display: flex; align-items: center; gap: 14px; margin: 0; }
.contact-inner-section .phone-number .img1 { width: 48px; height: 48px; border-radius: 12px; background: #0D1B3E; display: flex; align-items: center; justify-content: center; flex: 0 0 48px; }
.contact-inner-section .phone-number .img1 svg { width: 21px; height: 21px; fill: #C8A25A; }
.contact-inner-section .phone-number .content p { margin: 0 0 2px; font-size: 12.5px; color: #8a94a6; font-weight: 600; }
.contact-inner-section .phone-number .content a { font-size: 16px; color: #0D1B3E; font-weight: 700; }
.contact-inner-section .number-address-area2 .phone-number .map, .contact-inner-section .social + * { }
.contact-inner-section .social ul { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.contact-inner-section .social a { width: 42px; height: 42px; border-radius: 50%; background: #f2f5fa; color: #0D1B3E; display: inline-flex; align-items: center; justify-content: center; transition: background .2s, color .2s; }
.contact-inner-section .social a:hover { background: #0D1B3E; color: #fff; }
/* form as a clean card */
.contact-inner-section .contact-form-area { background: #fff; border: 1px solid rgba(13,27,62,.08); border-radius: 18px; padding: 34px 32px; box-shadow: 0 24px 60px rgba(13,27,62,.10); }
.contact-inner-section .contact-form-area h4 { font-size: 22px; font-weight: 800; color: #0D1B3E; margin: 0 0 22px; }
.contact-inner-section .contact-form-area .input-area { margin-bottom: 16px; }
.contact-inner-section .contact-form-area .input-area input, .contact-inner-section .contact-form-area .input-area textarea, .contact-inner-section #ga-contact-form select { width: 100%; border: 1.5px solid #e3e7ee; border-radius: 10px; padding: 13px 16px; font-size: 15px; color: #0D1B3E; background: #fff; transition: border-color .15s, box-shadow .15s; }
.contact-inner-section .contact-form-area input:focus, .contact-inner-section .contact-form-area textarea:focus, .contact-inner-section #ga-contact-form select:focus { outline: none; border-color: #C8A25A; box-shadow: 0 0 0 3px rgba(200,162,90,.15); }
.contact-inner-section .contact-form-area textarea { min-height: 130px; resize: vertical; }
.contact-inner-section .contact-form-area .theme-btn1 { width: 100%; justify-content: center; margin-top: 6px; }
@media (max-width: 991px) { .contact-inner-section.sp1 { padding: 56px 0; } .contact-inner-section .heading1 h2 { font-size: 29px; } .contact-inner-section .contact-form-area { padding: 24px 20px; margin-top: 30px; } }
.contact-inner-section .number-address-area .phone-number .img1, .contact-inner-section .number-address-area2 .phone-number .img1 { width: 48px !important; height: 48px !important; border-radius: 12px !important; }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Contact page - Our Location cards + framed map
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.location-section-area .row > [class*="col-"] { margin-bottom: 26px; }
.location-section-area .location-boxes { background: #fff; border-radius: 18px; padding: 34px 26px; text-align: center; height: 100%; box-shadow: 0 18px 44px rgba(13,27,62,.10); transition: transform .2s ease, box-shadow .2s ease; }
.location-section-area .location-boxes:hover { transform: translateY(-5px); box-shadow: 0 28px 64px rgba(13,27,62,.16); }
.location-section-area .location-boxes .img1 { width: 62px; height: 62px; margin: 0 auto; border-radius: 50%; background: #0D1B3E; color: #C8A25A; display: flex; align-items: center; justify-content: center; }
.location-section-area .location-boxes .img1 svg { width: 26px; height: 26px; }
.location-section-area .location-boxes .space32 { height: 20px; }
.location-section-area .location-boxes .space24 { height: 14px; }
.location-section-area .location-boxes > a { display: block; color: #0D1B3E; font-weight: 700; font-size: 18px; line-height: 1.4; text-decoration: none; }
.location-section-area .location-boxes > a:hover { color: #C8A25A; }
.location-section-area .location-boxes p { color: #8a94a6; font-size: 13px; margin: 0 0 2px; }
.location-section-area .location-boxes a[href^="tel:"] { color: #0D1B3E; font-weight: 600; font-size: 15px; text-decoration: none; }
.location-section-area .location-boxes .map { display: inline-block; margin-top: 2px; color: #e2001a; font-weight: 700; font-size: 14px; text-decoration: none; }
.location-section-area .location-boxes .map:hover { text-decoration: underline; }
.golfi-map-frame { border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px rgba(13,27,62,.18); border: 1px solid #e6e9f0; line-height: 0; background: #eef1f6; }
.golfi-map-frame iframe { display: block; width: 100%; height: 440px; border: 0; }
@media (max-width: 991px) { .golfi-map-frame iframe { height: 300px; } .location-section-area .location-boxes { padding: 26px 20px; } }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Our Services - uniform, proportionate service cards (all widths)
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.project-featured-box { background: #fff; border: 1px solid rgba(13,27,62,.07); border-radius: 18px; overflow: hidden; box-shadow: 0 12px 34px rgba(13,27,62,.08); height: 100%; display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease; }
.project-featured-box:hover { transform: translateY(-6px); box-shadow: 0 26px 58px rgba(13,27,62,.15); }
.project-featured-box .img1 { margin: 0; overflow: hidden; line-height: 0; }
.project-featured-box .img1 img { width: 100% !important; height: 230px !important; object-fit: cover !important; display: block; transition: transform .55s ease; }
.project-featured-box:hover .img1 img { transform: scale(1.06); }
.project-featured-box .head { display: block; padding: 0 26px; color: #0D1B3E; font-size: 20px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.project-featured-box .head:hover { color: #C8A25A; }
.project-featured-box > p { padding: 0 26px; margin: 0; color: #5b6472; font-size: 14px; line-height: 1.65; flex: 1 1 auto; }
.project-featured-box .btn-area1 { padding: 0 26px 28px; margin-top: auto; }
.project-featured-box .space40 { height: 22px; }
.project-featured-box .space16 { height: 12px; }
.project-featured-box .space24 { height: 18px; }
@media (max-width: 991px) { .project-featured-box .img1 img { height: 200px !important; } .project-featured-box .head { font-size: 18px; } }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Backed by the Golfi Team - authority / stats band
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.golfi-team-area { background: linear-gradient(160deg,#0B1730 0%,#0D1B3E 55%,#122650 100%); padding: 90px 0; position: relative; overflow: hidden; }
.golfi-team-area::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 18%, rgba(200,162,90,.12), transparent 55%); pointer-events: none; }
.golfi-team-area .gt-inner { position: relative; z-index: 1; }
.golfi-team-area .gt-head { max-width: 840px; margin: 0 auto 48px; text-align: center; }
.golfi-team-area .gt-eyebrow { display: inline-block; color: #c8a25a; font-size: 13px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; margin-bottom: 16px; }
.golfi-team-area .gt-head h2 { color: #fff; font-size: clamp(28px,3.6vw,42px); font-weight: 800; line-height: 1.18; letter-spacing: -.5px; margin: 0 0 18px; }
.golfi-team-area .gt-head p { color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.7; margin: 0; }
.golfi-team-area .gt-head strong { color: #fff; font-weight: 700; }
.golfi-team-area .gt-stats { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; overflow: hidden; background: rgba(255,255,255,.03); }
.golfi-team-area .gt-stat { padding: 40px 24px; text-align: center; border-right: 1px solid rgba(255,255,255,.10); }
.golfi-team-area .gt-stat:last-child { border-right: 0; }
.golfi-team-area .gt-num { font-size: clamp(34px,4.4vw,52px); font-weight: 800; line-height: 1; letter-spacing: -1px; margin-bottom: 12px; background: linear-gradient(135deg,#E7C583,#c8a25a); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.golfi-team-area .gt-label { color: rgba(255,255,255,.75); font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.golfi-team-area .gt-foot { text-align: center; color: rgba(255,255,255,.4); font-size: 12px; margin: 16px 0 0; }
.golfi-team-area .gt-cta { display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 38px; flex-wrap: wrap; }
.golfi-team-area .gt-btn { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg,#c8a25a,#a37f4e); color: #0D1B3E; font-weight: 800; font-size: 15px; padding: 15px 28px; border-radius: 12px; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.golfi-team-area .gt-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(200,162,90,.32); }
.golfi-team-area .gt-link { color: #c8a25a; font-weight: 700; font-size: 15px; text-decoration: none; }
.golfi-team-area .gt-link:hover { text-decoration: underline; }
@media (max-width: 991px) {
  .golfi-team-area { padding: 54px 0; }
  .golfi-team-area .gt-head { margin-bottom: 30px; }
  .golfi-team-area .gt-stats { grid-template-columns: repeat(2,1fr); }
  .golfi-team-area .gt-stat { padding: 26px 14px; }
  .golfi-team-area .gt-stat:nth-child(2) { border-right: 0; }
  .golfi-team-area .gt-stat:nth-child(1), .golfi-team-area .gt-stat:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.10); }
  .golfi-team-area .gt-cta { gap: 16px; }
}

/* Hero search box - hide stray vertical divider lines between filter pills */
.property-tab-section .filter-group::after,
.search-filter-form .filter-group::after,
.property-tab-section .filters .filter-group::after { display: none !important; content: none !important; }

/* Golfi Team stats - hover response + count-up polish */
.golfi-team-area .gt-stat { transition: background .3s ease; }
.golfi-team-area .gt-stat:hover { background: rgba(200,162,90,.10); }
.golfi-team-area .gt-num { transition: transform .35s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.golfi-team-area .gt-stat:hover .gt-num { transform: scale(1.07); }

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Property detail - constrain hero + gallery images (proportionate)
   raw MLS photos can be 1600px+; lock them to a fixed hero ratio.
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.images-area-details .img1 { overflow: hidden; border-radius: 16px; }
.images-area-details .img1 img { width: 100% !important; height: 540px !important; object-fit: cover !important; display: block !important; border-radius: 16px; }
.property-details-slider .img1 { overflow: hidden; border-radius: 12px; }
.property-details-slider .img1 img { width: 100% !important; height: 200px !important; object-fit: cover !important; display: block !important; border-radius: 12px; }
/* other detail layouts (defensive - normal nav lands on v1) */
.images-area2 .img1 img, .details-siderbar .img1 img, .single-slider-area.details-slider .img1 img { width: 100% !important; height: 420px !important; object-fit: cover !important; display: block !important; }
@media (max-width: 991px) {
  .images-area-details .img1 img { height: 300px !important; }
  .property-details-slider .img1 img { height: 150px !important; }
  .images-area2 .img1 img, .details-siderbar .img1 img { height: 260px !important; }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   macOS-style dock (Buy/Rent/Sell/Lease Out | Detached/Condo/Townhome/Retail)
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.golfi-dock { position: fixed; left: 50%; bottom: 24px; z-index: 850; transform: translateX(-50%) translateY(180%); opacity: 0; pointer-events: none; transition: transform .5s cubic-bezier(.2,.85,.25,1), opacity .4s ease; }
.golfi-dock.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; pointer-events: auto; }
.golfi-dock-inner { display: flex; align-items: flex-end; gap: 9px; padding: 10px 14px; border-radius: 24px; background: rgba(18,26,48,.5); -webkit-backdrop-filter: blur(20px) saturate(170%); backdrop-filter: blur(20px) saturate(170%); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 20px 55px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.18); }
.golfi-dock-item { position: relative; display: block; width: 46px; height: 46px; flex: 0 0 auto; text-decoration: none; transition: width .1s ease-out, height .1s ease-out; will-change: width, height; }
.golfi-dock-item .gdi-ic { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 28%; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 5px 12px rgba(0,0,0,.28); }
.golfi-dock-item .gdi-ic svg { width: 54%; height: 54%; }
.golfi-dock-item.gdi-deal .gdi-ic { background: linear-gradient(145deg,#E7C583,#c8a25a); }
.golfi-dock-item.gdi-deal .gdi-ic svg { fill: #0D1B3E; }
.golfi-dock-item.gdi-type .gdi-ic { background: linear-gradient(145deg,#24365f,#0D1B3E); }
.golfi-dock-item.gdi-type .gdi-ic svg { fill: #fff; }
.golfi-dock-sep { align-self: center; width: 1px; height: 34px; background: rgba(255,255,255,.22); margin: 0 3px; }
.golfi-dock-item .gdi-tip { position: absolute; left: 50%; bottom: calc(100% + 14px); transform: translateX(-50%) translateY(6px); background: rgba(13,27,62,.96); color: #fff; font-size: 12px; font-weight: 600; padding: 6px 11px; border-radius: 9px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .16s ease, transform .16s ease; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.golfi-dock-item .gdi-tip::after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: rgba(13,27,62,.96); }
.golfi-dock-item:hover .gdi-tip { opacity: 1; transform: translateX(-50%) translateY(0); }
/* Selected dock tile — red outline + underline, matching the mobile bar's active pill */
.golfi-dock-item.is-current .gdi-ic { box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 5px 12px rgba(0,0,0,.28), 0 0 0 3px #e2001a; }
.golfi-dock-item.is-current::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: -7px; width: 16px; height: 3px; border-radius: 2px; background: #e2001a; }
@media (max-width: 991px) { .golfi-dock { display: none !important; } }   /* was 767 -> caused desktop dock + mobile bar to both show on tablet */

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Mobile dock — 9 categories, horizontally scrollable (macOS-style)
   deal pills (Buy/Sell/Rent/Lease) gold; type pills subtle glass
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media (max-width: 991px) {
  .mobile-action-bar { display: block !important; padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) !important; }
  .mab-pills {
    display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 8px !important;
    overflow-x: auto !important; overflow-y: hidden !important; -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity; padding: 0 12px !important; margin: 0 !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
  }
  .mab-pills::-webkit-scrollbar { display: none !important; }
  .mobile-action-bar .mab-pill {
    flex: 0 0 auto !important; min-width: 56px !important; min-height: 52px !important; scroll-snap-align: start;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 4px !important; padding: 7px 12px !important; border-radius: 14px !important;
    font-size: 10.5px !important; font-weight: 700 !important; white-space: nowrap !important; text-decoration: none !important;
    background: rgba(255,255,255,0.12) !important; color: #fff !important; border: 0 !important;
  }
  .mobile-action-bar .mab-pill svg { width: 20px !important; height: 20px !important; }
  .mobile-action-bar .mab-pill span { font-size: 10px !important; line-height: 1 !important; letter-spacing: .2px !important; }
  .mobile-action-bar .mab-pill:not(.mab-type) { background: linear-gradient(145deg,#c8a25a,#a37f4e) !important; color: #0D1B3E !important; }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Meet Your REALTOR (about2) — desktop collage breaks on mobile
   (Gina's photo was pushed off-screen-left, houses zero-size).
   Force a clean vertical stack, neutralize reveal transforms.
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media (max-width: 991px) {
  .about2-section-area .about-images-area { position: static !important; }
  .about2-section-area .about-images-area > .row { margin: 0 !important; }
  .about2-section-area .about-images-area [class*="col-"] { position: static !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; margin: 0 !important; }
  .about2-section-area .about-images-area .img1,
  .about2-section-area .about-images-area .img2,
  .about2-section-area .about-images-area .author-img {
    position: static !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
    transform: none !important; clip-path: none !important; opacity: 1 !important; visibility: visible !important;
    width: 100% !important; max-width: 100% !important; margin: 0 0 14px !important;
  }
  .about2-section-area .about-images-area .img2 img { width: 100% !important; height: 300px !important; object-fit: cover !important; object-position: 50% 14% !important; border-radius: 16px !important; display: block !important; }
  .about2-section-area .about-images-area .img1 img { width: 100% !important; height: 190px !important; object-fit: cover !important; border-radius: 14px !important; display: block !important; }
  .about2-section-area .about-images-area .jm-photo-cap { left: 12px !important; right: 12px !important; }
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Detail: mortgage estimate snippet | Search: filter panel + chips
   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.golfi-mortgage { margin-top: 24px; }
.golfi-mortgage h4 { margin: 0 0 4px; }
.golfi-mortgage .gm-out { display: flex; align-items: baseline; gap: 6px; margin: 4px 0 16px; }
.golfi-mortgage .gm-amt { font-size: 30px; font-weight: 800; color: #0D1B3E; letter-spacing: -.5px; }
.golfi-mortgage .gm-per { font-size: 13px; color: #8a94a6; font-weight: 600; }
.golfi-mortgage .gm-field { margin-bottom: 12px; }
.golfi-mortgage .gm-field label { display: block; font-size: 12px; font-weight: 600; color: #5b6472; margin-bottom: 5px; }
.golfi-mortgage .gm-field input, .golfi-mortgage .gm-field select { width: 100%; border: 1.5px solid #e3e7ee; border-radius: 10px; padding: 11px 13px; font-size: 14px; color: #0D1B3E; background: #fff; }
.golfi-mortgage .gm-field input:focus, .golfi-mortgage .gm-field select:focus { outline: none; border-color: #C8A25A; box-shadow: 0 0 0 3px rgba(200,162,90,.15); }
.golfi-mortgage .gm-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.golfi-mortgage .gm-full { display: inline-block; margin-top: 6px; color: #E2001A; font-weight: 700; font-size: 14px; text-decoration: none; }
.golfi-mortgage .gm-full:hover { text-decoration: underline; }
.golfi-filter { background: #fff; border: 1px solid #eceef3; border-radius: 16px; padding: 22px 20px; box-shadow: 0 10px 30px rgba(13,27,62,.06); }
.golfi-filter .gf-title { margin: 0 0 16px; font-size: 18px; font-weight: 700; color: #0D1B3E; }
.golfi-filter .gf-lbl { display: block; font-size: 12px; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; color: #8a94a6; margin: 14px 0 7px; }
.golfi-filter .gf-deal { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #f1f3f8; padding: 4px; border-radius: 12px; }
.golfi-filter .gf-d { border: 0; background: transparent; padding: 9px 0; border-radius: 9px; font-size: 14px; font-weight: 700; color: #5b6472; cursor: pointer; }
.golfi-filter .gf-d.active { background: #0D1B3E; color: #fff; box-shadow: 0 2px 8px rgba(13,27,62,.2); }
.golfi-filter .gf-types { display: flex; flex-wrap: wrap; gap: 7px; }
.golfi-filter .gf-type { border: 1.5px solid #e3e7ee; background: #fff; color: #0D1B3E; padding: 7px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .15s ease; }
.golfi-filter .gf-type:hover { border-color: #C8A25A; }
.golfi-filter .gf-type.active { background: #C8A25A; border-color: #C8A25A; color: #0D1B3E; }
.golfi-filter select, .golfi-filter input { width: 100%; border: 1.5px solid #e3e7ee; border-radius: 10px; padding: 10px 12px; font-size: 14px; color: #0D1B3E; background: #fff; }
.golfi-filter select:focus, .golfi-filter input:focus { outline: none; border-color: #C8A25A; box-shadow: 0 0 0 3px rgba(200,162,90,.15); }
.golfi-filter .gf-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.golfi-filter .gf-actions { display: flex; gap: 10px; margin-top: 18px; }
.golfi-filter .gf-apply { flex: 1; background: #E2001A; color: #fff; border: 0; border-radius: 11px; padding: 12px; font-size: 14px; font-weight: 700; cursor: pointer; }
.golfi-filter .gf-apply:hover { background: #0D1B3E; }
.golfi-filter .gf-clear { background: #f1f3f8; color: #5b6472; border: 0; border-radius: 11px; padding: 12px 16px; font-size: 14px; font-weight: 700; cursor: pointer; }
.golfi-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.golfi-chips .gc-lbl { font-size: 13px; font-weight: 700; color: #8a94a6; }
.golfi-chips .gc-chip { display: inline-flex; align-items: center; gap: 6px; background: rgba(0,61,165,.08); color: #E2001A; border: 1px solid rgba(0,61,165,.2); border-radius: 999px; padding: 5px 12px; font-size: 13px; font-weight: 600; cursor: pointer; }
.golfi-chips .gc-chip:hover { background: rgba(226,0,26,.08); color: #e2001a; border-color: rgba(226,0,26,.25); }
.golfi-chips .gc-chip span { font-size: 15px; line-height: 1; }
.golfi-chips .gc-clear { background: none; border: 0; color: #e2001a; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: underline; }

/* ============================================================
   ROUND 2 — match Poppins + RE/MAX red across custom UI,
   restyle chips, and mobile polish (Meet / Golfi Team / Why Work / dock)
   ============================================================ */
/* my injected controls are button/input/select which don't inherit the theme font */
.golfi-filter, .golfi-filter button, .golfi-filter input, .golfi-filter select,
.golfi-chips, .golfi-chips button,
.golfi-mortgage, .golfi-mortgage input, .golfi-mortgage select, .golfi-mortgage a { font-family: 'Poppins', sans-serif !important; }

/* Active-filter chips — clean, on-brand, red accents */
.golfi-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; }
.golfi-chips .gc-lbl { font-size: 13px; font-weight: 600; color: #0D1B3E; }
.golfi-chips .gc-chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #0D1B3E; border: 1.5px solid #e3e7ee; border-radius: 999px; padding: 6px 14px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s; }
.golfi-chips .gc-chip span { font-size: 15px; line-height: 1; color: #e2001a; font-weight: 700; }
.golfi-chips .gc-chip:hover { border-color: #e2001a; color: #e2001a; }
.golfi-chips .gc-clear { background: none; border: 0; color: #e2001a; font-size: 12.5px; font-weight: 700; cursor: pointer; padding: 6px 4px; text-decoration: none; }
.golfi-chips .gc-clear:hover { text-decoration: underline; }

/* Filter panel + mortgage — RE/MAX red as the primary accent */
.golfi-filter .gf-type.active { background: #e2001a !important; border-color: #e2001a !important; color: #fff !important; }
.golfi-filter .gf-apply { background: #e2001a !important; }
.golfi-filter .gf-apply:hover { background: #0D1B3E !important; }
.golfi-mortgage .gm-full { color: #e2001a !important; }

@media (max-width: 991px) {
  /* Meet: turn the lone dark portrait into a warm, branded realtor card */
  .about2-section-area .about-images-area .img2 { position: relative !important; overflow: hidden !important; border-radius: 18px !important; }
  .about2-section-area .about-images-area .img2 img { height: 358px !important; object-position: 50% 12% !important; border-radius: 18px !important; }
  .about2-section-area .about-images-area .img2 .jm-photo-cap {
    position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
    margin: 0 !important; padding: 46px 18px 16px !important; text-align: left !important; display: block !important;
    background: linear-gradient(to top, rgba(9,15,32,.94), rgba(9,15,32,.55) 55%, transparent) !important;
  }
  .about2-section-area .about-images-area .img2 .jm-photo-cap strong { display: block !important; color: #fff !important; font-size: 20px !important; font-weight: 800 !important; }
  .about2-section-area .about-images-area .img2 .jm-photo-cap strong::after { content: ""; display: block; width: 34px; height: 3px; background: #e2001a; border-radius: 2px; margin: 9px 0 3px; }
  .about2-section-area .about-images-area .img2 .jm-photo-cap span { display: block !important; color: #e8c87e !important; font-size: 12px !important; font-weight: 600 !important; }

  /* Golfi Team: sleeker, lighter, less bold */
  .golfi-team-area { padding: 50px 0 !important; }
  .golfi-team-area .gt-head h2 { font-size: 25px !important; font-weight: 700 !important; letter-spacing: -.3px !important; }
  .golfi-team-area .gt-head p { font-size: 14px !important; line-height: 1.6 !important; }
  .golfi-team-area .gt-num { font-size: 29px !important; font-weight: 700 !important; }
  .golfi-team-area .gt-label { font-size: 11.5px !important; }
  .golfi-team-area .gt-stat { padding: 20px 12px !important; }

  /* Why Work: 2 per row + tighter = much shorter on mobile */
  .items2-section-area.sp1 { padding: 44px 0 !important; }
  .items2-section-area .jm-values-row { row-gap: 10px !important; }
  .items2-section-area .jm-values-row > [class*="col-"] { flex: 0 0 50% !important; max-width: 50% !important; padding: 0 5px !important; }
  .items2-section-area .jm-value { padding: 18px 15px !important; border-radius: 16px !important; }
  .items2-section-area .jm-value-ic { width: 44px !important; height: 44px !important; margin-bottom: 12px !important; }
  .items2-section-area .jm-value-ic svg { width: 22px !important; height: 22px !important; }
  .items2-section-area .jm-value h3 { font-size: 15px !important; margin: 0 0 6px !important; }
  .items2-section-area .jm-value h3::after { margin-top: 8px !important; }
  .items2-section-area .jm-value p { font-size: 12px !important; line-height: 1.5 !important; }
  .items2-section-area .jm-value::before { font-size: 30px !important; top: 12px !important; right: 14px !important; }
}

/* Mobile dock — consistent tap feedback + current(red) + press for gold too */
.mab-pills .mab-pill { position: relative; transition: transform .12s ease, filter .12s ease, box-shadow .15s ease; }
.mab-pills .mab-pill:active { transform: scale(.9) !important; filter: brightness(1.1); }
.mab-pills .mab-pill.mab-current { box-shadow: inset 0 0 0 2px #e2001a, 0 6px 16px rgba(226,0,26,.4) !important; }
.mab-pills .mab-pill.mab-current::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: 3px; width: 16px; height: 3px; border-radius: 2px; background: #e2001a; }

/* Share / Save icons — brand colors (was off-brand theme green), clean sizing both views */
ul.share li a { color: #0D1B3E !important; transition: color .15s ease, background .15s ease, transform .12s ease; }
ul.share li a:hover { color: #e2001a !important; }
ul.share li a:active { transform: scale(.92); }
ul.share li a svg { width: 20px !important; height: 20px !important; }
.golfi-fav-on svg { fill: #e2001a !important; color: #e2001a !important; }
@media (max-width: 991px) { ul.share li a svg { width: 18px !important; height: 18px !important; } }

/* Filter panel layout — Area | Beds | Baths on one aligned row; price dropdowns; fix nice-select width */
.golfi-filter .gf-hint { font-weight: 600; text-transform: none; letter-spacing: 0; color: #b0b8c6; font-size: 11px; }
.golfi-filter .gf-grid3 { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 10px; align-items: end; }
.golfi-filter .gf-grid3 > div, .golfi-filter .gf-grid2 > div { min-width: 0; }
.golfi-filter .gf-grid3 .gf-lbl, .golfi-filter .gf-grid2 .gf-lbl { margin-top: 0; }
/* the theme's nice-select plugin wraps our <select>; force it to fill the grid cell so labels/boxes align */
.golfi-filter .nice-select { width: 100% !important; float: none !important; box-sizing: border-box; height: auto; min-height: 44px; line-height: 22px; padding: 10px 30px 10px 12px; border: 1.5px solid #e3e7ee; border-radius: 10px; font-size: 14px; color: #0D1B3E; display: flex; align-items: center; }
.golfi-filter .nice-select:after { right: 14px; margin-top: -4px; }
.golfi-filter .nice-select .list { width: 100%; max-height: 260px; overflow-y: auto; }
@media (max-width: 991px) {
  .golfi-filter .gf-grid3 { grid-template-columns: 1fr 1fr; }
  .golfi-filter .gf-grid3 > div:first-child { grid-column: 1 / -1; }
}

/* Share dropdown items were inheriting ul.share li a's round-icon styling (40px circles) -> scrambled. Reset them. */
.golfi-share-menu .golfi-share-item {
  display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  padding: 11px 16px !important; margin: 0 !important; text-align: left !important; line-height: 1.35 !important;
  color: #0D1B3E !important; font-size: 14px !important; font-weight: 600 !important;
}
.golfi-share-menu .golfi-share-item:hover { background: #F6F8FC !important; color: #e2001a !important; }
.golfi-share-menu .golfi-share-item svg { display: none !important; }

/* Amenity pills (search filter + detail Search-Homes widget) — match the type pills */
.golfi-filter .gf-am { border: 1.5px solid #e3e7ee; background: #fff; color: #0D1B3E; padding: 7px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: all .15s ease; font-family: 'Poppins', sans-serif; }
.golfi-filter .gf-am:hover { border-color: #e2001a; }
.golfi-filter .gf-am.active { background: #e2001a; border-color: #e2001a; color: #fff; }
.golfi-filter .gf-amen { margin-top: 2px; }
.golfi-filter .gds-type { margin-bottom: 4px; }

/* ============================================================
   INNER PAGES (About Gina / Our Services / FAQ) — mobile
   Theme sections here had NO mobile treatment: invisible AOS
   content, overflowing team card, desktop paddings. Fix at <=991px.
   ============================================================ */
@media (max-width: 991px) {
  /* AOS reliability — never leave content invisible on mobile (team card was stuck opacity:0) */
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .space-margin60 { margin-bottom: 26px !important; }

  /* Inner-page hero / breadcrumb band */
  .hero-inner-section-area-sidebar { padding: 30px 0 !important; }

  /* Tighter, uniform section padding for the inner-page theme sections */
  .about1-section-area.sp1, .offer1-section-area.sp1, .mission-section-area.sp1,
  .team1-section-area.sp2, .testimonial1-section-area.sp1,
  .project1-section-area.sp2, .faq-section-area.sp1 { padding: 44px 0 !important; }

  /* Section headings (scoped to inner sections so the homepage is untouched) */
  .about1-section-area .heading1 h2, .offer1-section-area .heading1 h2, .mission-section-area .heading1 h2,
  .team1-section-area .team-header h2, .testimonial1-section-area .heading1 h2,
  .project1-section-area .heading1 h2, .faq-section-area .heading1 h2 { font-size: clamp(24px, 6.4vw, 30px) !important; line-height: 1.2 !important; }
  .about1-section-area .heading1 > p, .offer1-section-area .heading1 > p, .mission-section-area .heading1 > p,
  .testimonial1-section-area .heading1 > p, .project1-section-area .heading1 > p { font-size: 15px !important; line-height: 1.7 !important; }

  /* about1 — responsive images */
  .about1-section-area img { max-width: 100% !important; height: auto !important; border-radius: 14px !important; }

  /* offer1 — step / feature cards */
  .offer1-section-area .offer-boxarea { padding: 24px 20px !important; border-radius: 16px !important; height: auto !important; }
  .offer1-section-area .offer-boxarea .content a { font-size: 17px !important; line-height: 1.3 !important; }
  .offer1-section-area .offer-boxarea .content p { font-size: 14px !important; line-height: 1.62 !important; }
  .offer1-section-area .icons svg { width: 34px !important; height: 34px !important; }
  .offer1-section-area .space24 { height: 14px !important; }

  /* team1 — stop the card overflowing the viewport; center + responsive photo */
  .team1-section-area .team-widget-boxarea { max-width: 360px !important; width: 100% !important; margin: 0 auto !important; }
  .team1-section-area .team-widget-boxarea .img1 { width: 100% !important; }
  .team1-section-area .team-widget-boxarea .img1 img { width: 100% !important; height: auto !important; display: block !important; }
  .team1-section-area .content-area { text-align: center !important; }

  /* faq accordion — comfortable tap targets + readable text */
  .faq-section-area .accordion-button, .faq-section-area .accordion-header button { font-size: 15px !important; line-height: 1.4 !important; }
  .faq-section-area .accordion-body { font-size: 14px !important; line-height: 1.7 !important; }
}

/* faq.html page uses .faq-inner-area (Bootstrap accordion) — give it the inner-page treatment too */
@media (max-width: 991px) {
  .faq-inner-area.sp1 { padding: 40px 0 !important; }
  .faq-inner-area .heading1 h2 { font-size: clamp(24px, 6.4vw, 30px) !important; line-height: 1.2 !important; }
  .faq-inner-area .accordion-button { font-size: 15px !important; line-height: 1.4 !important; }
  .faq-inner-area .accordion-body { font-size: 14px !important; line-height: 1.7 !important; }
}

/* ============================================================
   MOBILE DOCK — world-class pass (audit H1/H2/M1/M2/M3/M5).
   Late overrides intentionally win over the layered stack above.
   ============================================================ */
@media (max-width: 991px) {
  /* M1 — kill ALL idle animation (perpetual pulse + gold gild + sheen). Motion = interaction only. */
  .mab-pills .mab-pill,
  .mab-pills .mab-pill span,
  .mab-pills .mab-pill svg { animation: none !important; }
  .mobile-action-bar::before { content: none !important; animation: none !important; opacity: 0 !important; }

  /* Solid surface — NO backdrop-filter. On iOS Safari a position:fixed bar with backdrop-filter (even
     light blur) can't composite while scrolling and freezes/ignores taps until scroll stops. Solid = smooth. */
  .mobile-action-bar {
    background: rgba(13,27,62,0.94) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    transform: none !important; -webkit-transform: none !important; will-change: auto !important;
    border-top: 1px solid rgba(255,255,255,0.24) !important;
    box-shadow: 0 -6px 24px rgba(0,0,0,.14) !important;
  }
  /* pills readable over glass on any page: gold deals stay solid; white type pills get a firmer fill + shadow */
  .mab-pills .mab-pill.mab-type { background: linear-gradient(145deg,#24365f,#0D1B3E) !important; border: 1px solid rgba(255,255,255,0.18) !important; color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.30) !important; }
  .mab-pills .mab-pill.mab-type svg { fill: #fff !important; filter: drop-shadow(0 1px 1px rgba(0,0,0,.30)) !important; }

  /* M2 — legible labels (was 10px / 9.5px) */
  .mab-pills .mab-pill span { font-size: 12px !important; font-weight: 600 !important; letter-spacing: .2px !important; line-height: 1.05 !important; white-space: nowrap !important; }

  /* M3 — discoverable horizontal scroll: right-edge fade + working snap */
  .mab-pills { -webkit-mask-image: linear-gradient(to right, #000 91%, transparent 100%); mask-image: linear-gradient(to right, #000 91%, transparent 100%); scroll-snap-type: x proximity !important; }
  .mab-pills .mab-pill { scroll-snap-align: start !important; }

  /* H2 — hairline divider separating the Deal group (Buy/Sell/Rent/List Rental) from the Type group */
  .mab-pills .mab-pill.mab-grp-start { margin-left: 13px !important; }
  .mab-pills .mab-pill.mab-grp-start::before { content: '' !important; position: absolute !important; left: -7px !important; top: 22% !important; bottom: 22% !important; width: 1px !important; background: rgba(255,255,255,0.30) !important; }

  /* active filter stays the ONLY highlight; ensure it reads on the solid surface */
  .mab-pills .mab-pill.mab-current { box-shadow: inset 0 0 0 2px #e2001a !important; }
}
@media (max-width: 991px) and (prefers-reduced-motion: no-preference) {
  /* one-shot press feedback (kept) */
  .mab-pills .mab-pill:active { transform: scale(.94) !important; }
}

/* HV pill: G1 hid it on inner pages (the DESKTOP vertical tab overlapped content). On mobile it's a
   floating bottom pill that doesn't overlap, so make it global across pages on mobile as requested. */
@media (max-width: 991px) {
  body:not(.is-home) #ga-hv-tab { display: flex !important; }
}

/* ============================================================
   INNER PAGES — mobile DESIGN ELEVATION (About / Services / FAQ)
   Scoped to body:not(.is-home) so the homepage is untouched.
   ============================================================ */
@media (max-width: 991px) {
  /* Eyebrows -> brand red, uppercase, spaced */
  body:not(.is-home) .about-heading h5,
  body:not(.is-home) .heading1 h5,
  body:not(.is-home) .team-header h5 { color: #e2001a !important; text-transform: uppercase !important; letter-spacing: 1.6px !important; font-size: 12px !important; font-weight: 700 !important; }
  body:not(.is-home) .about-heading h2, body:not(.is-home) .heading1 h2, body:not(.is-home) .team-header h2 { color: #0D1B3E !important; font-size: clamp(24px,6.4vw,30px) !important; line-height: 1.2 !important; letter-spacing: -.3px !important; }

  /* Checkmark lists -> on-brand red checks, comfortable rhythm (was off-brand dark green) */
  body:not(.is-home) .price-listarea ul li { display: flex !important; align-items: flex-start !important; gap: 10px !important; font-size: 14.5px !important; line-height: 1.55 !important; color: #2b3242 !important; margin-bottom: 12px !important; }
  body:not(.is-home) .price-listarea ul li svg { flex: 0 0 auto !important; margin-top: 2px !important; }
  body:not(.is-home) .price-listarea ul li svg path { fill: #e2001a !important; }

  /* Sleek layered collage: Gina's portrait overlapping the home photo, credentials on it */
  body:not(.is-home) .about1-section-area .about-images-area { position: relative !important; max-width: 100% !important; margin: 0 auto !important; height: auto !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 { display: block !important; position: relative !important; width: 60% !important; margin: 0 auto 0 0 !important; z-index: 2 !important; border-radius: 16px !important; overflow: hidden !important; border: 4px solid #fff !important; box-shadow: 0 18px 38px rgba(13,27,62,.30) !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 img { width: 100% !important; height: 236px !important; object-fit: cover !important; object-position: 50% 12% !important; border-radius: 12px !important; display: block !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img1 { display: block !important; position: relative !important; width: 86% !important; margin: -162px 0 0 auto !important; z-index: 1 !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img1 img { width: 100% !important; height: 202px !important; object-fit: cover !important; border-radius: 16px !important; box-shadow: 0 14px 30px rgba(13,27,62,.18) !important; display: block !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 .jm-about-cap { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; padding: 28px 12px 11px !important; background: linear-gradient(to top, rgba(9,15,32,.94), rgba(9,15,32,.42) 62%, transparent) !important; z-index: 3 !important; text-align: left !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 .jm-about-cap strong { display: block !important; color: #fff !important; font-size: 14px !important; font-weight: 800 !important; line-height: 1.15 !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 .jm-about-cap strong::after { content: '' !important; display: block !important; width: 26px !important; height: 3px !important; background: #e2001a !important; border-radius: 2px !important; margin: 6px 0 4px !important; }
  body:not(.is-home) .about1-section-area .about-images-area .img2 .jm-about-cap span { display: block !important; color: #e8c87e !important; font-size: 10px !important; font-weight: 600 !important; line-height: 1.25 !important; }
  body:not(.is-home) .about1-section-area .author-img { position: static !important; margin: 14px auto 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; text-align: center !important; }
  body:not(.is-home) .about1-section-area .author-img h3 { display: none !important; }
  body:not(.is-home) .about1-section-area .author-img .space16 { display: none !important; }

  /* Stat counters -> 3 clean cards across with navy numbers + gold underline (was awkward 2+1) */
  body:not(.is-home) .counter-boxes .row { display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; margin: 0 !important; }
  body:not(.is-home) .counter-boxes [class*="col-"] { flex: 1 1 0 !important; max-width: none !important; width: auto !important; padding: 0 !important; }
  body:not(.is-home) .counter-boxes .space20 { display: none !important; }
  body:not(.is-home) .counter-boxarea { background: #fff !important; border: 1px solid rgba(13,27,62,.08) !important; border-radius: 14px !important; padding: 16px 6px !important; box-shadow: 0 6px 18px rgba(13,27,62,.06) !important; height: 100% !important; text-align: center !important; }
  body:not(.is-home) .counter-boxarea h2 { font-size: 26px !important; color: #0D1B3E !important; margin: 0 !important; line-height: 1 !important; font-variant-numeric: tabular-nums !important; }
  body:not(.is-home) .counter-boxarea h2::after { content: '' !important; display: block !important; width: 22px !important; height: 3px !important; background: #C8A25A !important; border-radius: 2px !important; margin: 8px auto 0 !important; }
  body:not(.is-home) .counter-boxarea .space12 { height: 4px !important; }
  body:not(.is-home) .counter-boxarea p { font-size: 11.5px !important; color: #6b7280 !important; font-weight: 600 !important; margin: 0 !important; line-height: 1.25 !important; }

  /* about2 (inner) images -> framed pair */
  body:not(.is-home) .about2-section-area .about-images-area .img1 img,
  body:not(.is-home) .about2-section-area .about-images-area .img2 img { border-radius: 16px !important; box-shadow: 0 12px 30px rgba(13,27,62,.14) !important; }

  /* CTA buttons -> proportionate inline button, centered (full-width looked stretched/off) */
  body:not(.is-home) .about1-section-area .btn-area1, body:not(.is-home) .about2-section-area .btn-area1 { text-align: center !important; }
  body:not(.is-home) .about1-section-area .btn-area1 .theme-btn1,
  body:not(.is-home) .about2-section-area .btn-area1 .theme-btn1 { width: auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 13px 24px !important; font-size: 14.5px !important; line-height: 1 !important; }
}

/* Inner pages — TIGHTER mobile rhythm (shorter page, proportionate sizing) */
@media (max-width: 991px) {
  body:not(.is-home) .sp1, body:not(.is-home) .sp2 { padding-top: 36px !important; padding-bottom: 36px !important; }
  body:not(.is-home) .space-margin60 { margin-bottom: 20px !important; }
  body:not(.is-home) .space50 { height: 22px !important; }
  body:not(.is-home) .space40 { height: 18px !important; }
  body:not(.is-home) .space32 { height: 16px !important; }
  body:not(.is-home) .space30 { height: 14px !important; }
  body:not(.is-home) .space24 { height: 12px !important; }
  body:not(.is-home) .space20 { height: 10px !important; }
  body:not(.is-home) .space18 { height: 10px !important; }
  body:not(.is-home) .space16 { height: 9px !important; }
  body:not(.is-home) .about-heading > p, body:not(.is-home) .heading1 > p { font-size: 14.5px !important; line-height: 1.6 !important; }
  body:not(.is-home) .offer1-section-area .offer-boxarea, body:not(.is-home) .project1-section-area [class*="boxarea"] { padding: 20px 18px !important; border-radius: 14px !important; }
  body:not(.is-home) .offer1-section-area .offer-boxarea .content a { font-size: 16px !important; }
  body:not(.is-home) .offer1-section-area .offer-boxarea .content p { font-size: 13.5px !important; line-height: 1.55 !important; }
  body:not(.is-home) .offer1-section-area .icons { width: 52px !important; height: 52px !important; }
  body:not(.is-home) .offer1-section-area .icons svg { width: 26px !important; height: 26px !important; }
}

/* Inner pages — CONDENSE on mobile (shorter, less redundancy) */
@media (max-width: 991px) {
  /* The team section repeats about1's "Meet Gina Gratta" collage verbatim — drop the duplicate on mobile */
  body:not(.is-home) .team1-section-area { display: none !important; }
  /* about2 (inner): interior-living crops to a bare wall — show the home-exterior photo in the section instead */
  body:not(.is-home) .about2-section-area .about-images-area > .row > .col-lg-6:first-child { display: none !important; }
  body:not(.is-home) .about2-section-area .about-images-area > .row > .col-lg-6:nth-child(2) { display: block !important; flex: 0 0 100% !important; max-width: 100% !important; }
  body:not(.is-home) .about2-section-area .about-images-area > .row > .col-lg-6:nth-child(2) .space30,
  body:not(.is-home) .about2-section-area .about-images-area > .row > .col-lg-6:nth-child(2) .img1:last-child { display: none !important; }
  body:not(.is-home) .about2-section-area .about-images-area .img1 img { width: 100% !important; height: 226px !important; object-fit: cover !important; object-position: 50% 55% !important; border-radius: 16px !important; box-shadow: 0 12px 30px rgba(13,27,62,.14) !important; display: block !important; }
}

/* "What We Offer" — the lone decorative photo went full-width/huge on mobile; make it a compact banner */
@media (max-width: 991px) {
  body:not(.is-home) .offer1-section-area .col-lg-4 .img1 { max-width: 100% !important; margin: 0 auto !important; }
  body:not(.is-home) .offer1-section-area .col-lg-4 .img1 img { width: 100% !important; height: 165px !important; object-fit: cover !important; border-radius: 16px !important; box-shadow: 0 12px 28px rgba(13,27,62,.16) !important; display: block !important; }
  body:not(.is-home) .offer1-section-area .col-lg-8 { margin-top: 6px !important; }
}

/* Inner-page fixes: contact detail values wrap (no edge-cut) + FAQ text clears the +/- toggle */
@media (max-width: 991px) {
  body:not(.is-home) .contact-inner-section .phone-number { align-items: flex-start !important; }
  body:not(.is-home) .contact-inner-section .phone-number .content { min-width: 0 !important; }
  body:not(.is-home) .contact-inner-section .number-address-area .content a,
  body:not(.is-home) .contact-inner-section .number-address-area2 .content a { white-space: normal !important; word-break: break-word !important; overflow-wrap: anywhere !important; }
  body:not(.is-home) .faq-inner-area .accordion-button,
  body:not(.is-home) .faq-section-area .accordion-button { padding-right: 46px !important; }
}

/* Blog — content-first on mobile: show POSTS above the Search/Category sidebar (was ~1600px of sidebar first) */
@media (max-width: 991px) {
  body:not(.is-home) .blog-inner-section .row > .col-lg-8 { order: -1 !important; }
  body:not(.is-home) .blog-inner-section .row > .col-lg-4 { order: 0 !important; margin-top: 14px !important; }
  body:not(.is-home) .blog-inner-section .col-lg-8 img { border-radius: 14px !important; }
  /* tidy sidebar widgets */
  body:not(.is-home) .blog-inner-section .col-lg-4 .single-boxarea, body:not(.is-home) .blog-inner-section .col-lg-4 [class*="sidebar"] { border-radius: 16px !important; }
}

/* ============================================================
   PROPERTY DETAIL — mobile world-class polish
   ============================================================ */
@media (max-width: 991px) {
  /* Consistent heading hierarchy (some section h3 were 32px, others 23px) */
  body:not(.is-home) .properties-details1-area h2 { font-size: 23px !important; line-height: 1.2 !important; color: #0D1B3E !important; letter-spacing: -.3px !important; }
  body:not(.is-home) .properties-details1-area h3 { font-size: 20px !important; line-height: 1.25 !important; color: #0D1B3E !important; }
  body:not(.is-home) .properties-details1-area .content p, body:not(.is-home) .properties-details1-area .list-area p { font-size: 14.5px !important; line-height: 1.6 !important; }

  /* Amenities: compact chips, 2 per row (were huge full-width one-per-row cards) */
  body:not(.is-home) .properties-details1-area .list-box { display: flex !important; align-items: center !important; gap: 8px !important; padding: 9px 11px !important; margin: 0 !important; border-radius: 11px !important; background: #f5f7fb !important; border: 1px solid rgba(13,27,62,.06) !important; min-height: 0 !important; box-shadow: none !important; }
  body:not(.is-home) .properties-details1-area .list-box .icon { width: 20px !important; height: 20px !important; min-width: 20px !important; flex: 0 0 auto !important; margin: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
  body:not(.is-home) .properties-details1-area .list-box .icon svg { width: 17px !important; height: 17px !important; }
  body:not(.is-home) .properties-details1-area .list-box .text p { font-size: 12.5px !important; margin: 0 !important; line-height: 1.2 !important; font-weight: 600 !important; color: #0D1B3E !important; }
  body:not(.is-home) .properties-details1-area .col-lg-6:has(> .list-box) { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; align-content: flex-start !important; }
  body:not(.is-home) .properties-details1-area .col-lg-6:has(> .list-box) .list-box { flex: 0 0 calc(50% - 4px) !important; }
}

/* Property detail — prominent price pill + status badge (was a plain blue button + "/For Sale") */
@media (max-width: 991px) {
  body:not(.is-home) .properties-details1-area .content.heading2 > ul { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; padding: 0 !important; margin: 8px 0 4px !important; }
  body:not(.is-home) .properties-details1-area .content.heading2 > ul li { list-style: none !important; margin: 0 !important; }
  body:not(.is-home) .properties-details1-area .content.heading2 > ul li:first-child a { background: linear-gradient(135deg,#0D1B3E,#1a3060) !important; color: #fff !important; font-size: 24px !important; font-weight: 800 !important; padding: 9px 18px !important; border-radius: 14px !important; letter-spacing: -.3px !important; box-shadow: 0 8px 20px rgba(13,27,62,.22) !important; display: inline-block !important; line-height: 1.1 !important; }
  body:not(.is-home) .properties-details1-area .content.heading2 > ul li:nth-child(2) a { background: rgba(226,0,26,.10) !important; color: #e2001a !important; font-size: 12px !important; font-weight: 800 !important; padding: 6px 12px !important; border-radius: 999px !important; text-transform: uppercase !important; letter-spacing: .6px !important; display: inline-block !important; }
}

/* ============================================================
   PROPERTY DETAIL GALLERY — fix tiny image + broken giant dots
   (owl-carousel: image was 150px, dots rendered as 16x44 ovals)
   ============================================================ */
@media (max-width: 991px) {
  body:not(.is-home) .properties-details1-area .owl-carousel .owl-stage,
  body:not(.is-home) .properties-details1-area .owl-carousel .owl-item { height: auto !important; }
  body:not(.is-home) .properties-details1-area .owl-carousel img { width: 100% !important; height: 300px !important; object-fit: cover !important; border-radius: 14px !important; display: block !important; }
  /* nav dots -> tidy small dots, centered; active = red pill. GLOBAL: every owl carousel had giant-oval dots on mobile */
  .owl-dots { display: flex !important; justify-content: center !important; align-items: center !important; flex-wrap: wrap !important; gap: 7px !important; margin: 14px 0 0 !important; height: auto !important; min-height: 0 !important; padding: 0 !important; }
  .owl-dots .owl-dot { display: inline-flex !important; align-items: center !important; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
  .owl-dots .owl-dot span { display: block !important; width: 8px !important; height: 8px !important; min-height: 0 !important; border-radius: 50% !important; background: #c7cfdb !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; transition: width .2s ease, background .2s ease !important; }
  .owl-dots .owl-dot.active span { background: #e2001a !important; width: 22px !important; border-radius: 4px !important; }
}

/* Footer — contact line wraps aligned under the text, not under the icon (desktop "Niagara" was dropping to the far left) */
.footer2-section-area .contact li a { display: flex !important; align-items: flex-start !important; gap: 9px !important; }
.footer2-section-area .contact li a svg { flex: 0 0 auto !important; width: 18px !important; height: 18px !important; margin-top: 2px !important; }

/* Footer — tighter Category / Quick Links on mobile (items were ~56px tall) */
@media (max-width: 991px) {
  .footer2-section-area .footer-content ul li, .footer2-section-area .footer-content2 ul li { margin: 0 !important; }
  .footer2-section-area .footer-content ul li a, .footer2-section-area .footer-content2 ul li a { padding: 6px 0 !important; line-height: 1.35 !important; display: inline-block !important; font-size: 14.5px !important; }
  .footer2-section-area .footer-content h3, .footer2-section-area .footer-content2 h3 { margin-bottom: 6px !important; }
  .footer2-section-area > .container > .row > [class*="col-"] { margin-bottom: 18px !important; }
  .footer2-section-area .space24, .footer2-section-area .space28 { height: 12px !important; }
}

/* Footer links carried a 24px top margin each (way too spacy on mobile) — tighten */
@media (max-width: 991px) {
  .footer2-section-area .footer-content ul li a, .footer2-section-area .footer-content2 ul li a { margin-top: 4px !important; padding: 4px 0 !important; }
  .footer2-section-area .contact li a { margin-top: 6px !important; }
}

/* ===== about-us DESKTOP fix ===== */
/* The .jm-about-cap / .jm-photo-cap credential captions are built only for the
   mobile collage (styled inside max-width:991px). On desktop the theme uses its
   own image layout, so these captions rendered as stray static text tucked
   behind Gina's photo. Hide them on desktop only — mobile is untouched. */
@media (min-width: 992px) {
  .about1-section-area .jm-about-cap,
  .about2-section-area .jm-photo-cap { display: none !important; }
}

/* ===== Dashboard panels: fixed height, internal scroll, sticky headers (desktop) ===== */
@media (min-width: 992px) {
  .dashboad-all-details-section div:has(> table) { max-height: 360px; overflow-y: auto; overflow-x: auto; }
  .dashboad-all-details-section table thead th { position: sticky; top: 0; z-index: 3; background: #0D1B3E; }
}