/* Maqueta exclusiva para smartphones.
   Cada bloque ocupa una pantalla; se completan uno por uno. */

.mobile-color-sections {
  display: none;
}

/* Ritmo vertical más amplio para las pantallas editoriales móviles 02, 03 y 04. */
@media (max-width: 900px) {
  .mobile-advisor-section .mobile-advisor-content {
    gap: clamp(10px, 1.55dvh, 16px) !important;
  }

  .mobile-advisor-section .mobile-advisor-intro > p {
    margin-bottom: clamp(7px, 1dvh, 10px) !important;
  }

  .mobile-advisor-section .mobile-advisor-intro h2 {
    margin-bottom: clamp(8px, 1.15dvh, 12px) !important;
  }

  .mobile-advisor-section .mobile-advisor-intro > span {
    line-height: 1.45 !important;
  }

  .mobile-advisor-section .mobile-advisor-identity strong {
    margin-top: clamp(5px, 0.75dvh, 8px) !important;
  }

  .mobile-advisor-section .mobile-advisor-facts {
    gap: clamp(18px, 5vw, 30px) !important;
  }

  .mobile-advisor-section .mobile-advisor-facts dt {
    margin-bottom: clamp(4px, 0.6dvh, 6px) !important;
  }

  .mobile-advisor-section .mobile-advisor-certifications h4 {
    margin-bottom: clamp(8px, 1.15dvh, 12px) !important;
  }

  .mobile-advisor-section .mobile-advisor-cert-grid > a {
    gap: clamp(4px, 0.65dvh, 7px) !important;
  }

  .mobile-advisor-section .mobile-advisor-action {
    margin-top: clamp(7px, 1dvh, 11px) !important;
  }

  .mobile-investment-section .mobile-investment-content {
    gap: clamp(12px, 1.8dvh, 19px) !important;
  }

  .mobile-investment-section .mobile-investment-factors {
    margin-top: clamp(8px, 1.2dvh, 12px) !important;
  }

  .mobile-investment-section .mobile-investment-content h2 {
    margin-top: clamp(8px, 1.2dvh, 12px) !important;
  }

  .mobile-investment-section .mobile-investment-copy {
    margin-top: clamp(9px, 1.35dvh, 14px) !important;
    line-height: 1.55 !important;
  }

  .mobile-investment-section .mobile-investment-action {
    margin-top: clamp(18px, 2.7dvh, 27px) !important;
  }

  .mobile-catalog-section .mobile-catalog-content {
    gap: clamp(8px, 1.2dvh, 12px) !important;
  }

  .mobile-catalog-section .mobile-catalog-intro > p {
    margin-bottom: clamp(7px, 1dvh, 10px) !important;
  }

  .mobile-catalog-section .mobile-catalog-intro h2 {
    margin-bottom: clamp(9px, 1.3dvh, 13px) !important;
  }

  .mobile-catalog-section .mobile-catalog-intro > span {
    line-height: 1.5 !important;
  }

  .mobile-catalog-section .mobile-catalog-controls {
    margin-top: clamp(10px, 1.45dvh, 15px) !important;
  }

  .mobile-catalog-section .mobile-catalog-filters {
    row-gap: clamp(7px, 1dvh, 10px) !important;
  }

  .mobile-catalog-section .mobile-catalog-inventory > header {
    padding-bottom: clamp(7px, 1dvh, 10px) !important;
  }

  .mobile-catalog-section .mobile-catalog-detail {
    margin-top: clamp(7px, 1dvh, 11px) !important;
  }
}

/* NOM-247 móvil: composición vertical basada en la referencia del 27-08-2026. */
@media (max-width: 900px) {
  .mobile-nom247-section {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: 100svh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    color: #ffffff !important;
    background: #031a39 !important;
  }

  .mobile-nom247-section::before {
    display: none !important;
  }

  .mobile-nom247-nav {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 6 !important;
    inset: auto !important;
    width: 100% !important;
    height: 11.5dvh !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: max(10px, env(safe-area-inset-top)) 7% 8px !important;
    display: grid !important;
    grid-template-columns: minmax(52px, 1fr) auto minmax(30px, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    border: 0 !important;
    background: rgba(2, 18, 42, 0.84) !important;
  }

  .mobile-nom247-nav .mobile-hero-logo {
    justify-self: start !important;
    width: clamp(52px, 14vw, 68px) !important;
    height: auto !important;
    margin: 0 !important;
  }

  .mobile-nom247-advice {
    box-sizing: border-box !important;
    justify-self: center !important;
    min-width: clamp(132px, 34vw, 174px) !important;
    height: clamp(38px, 5.6dvh, 48px) !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d79822 !important;
    border-radius: 13px !important;
    color: #ffffff !important;
    background: rgba(6, 25, 56, 0.76) !important;
    font-size: clamp(10px, 2.9vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .mobile-nom247-nav .mobile-hero-menu {
    justify-self: end !important;
    width: 30px !important;
    height: 27px !important;
    min-width: 30px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
  }

  .mobile-nom247-nav .mobile-hero-menu span {
    width: 100% !important;
    height: 2px !important;
  }

  .mobile-nom247-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 88.5dvh !important;
    margin: 0 !important;
    padding: 0 7.5% max(12px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  .mobile-nom247-visual {
    order: 1 !important;
    position: relative !important;
    flex: 0 0 42dvh !important;
    width: calc(100% + 17.65%) !important;
    min-height: 0 !important;
    margin: 0 -8.825% !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
  }

  .mobile-nom247-scene {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 50% !important;
  }

  .mobile-nom247-visual > :not(.mobile-nom247-scene) {
    display: none !important;
  }

  .mobile-nom247-copy {
    order: 2 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: clamp(14px, 2dvh, 20px) 0 0 !important;
  }

  .mobile-nom247-kicker {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 clamp(18px, 2.4dvh, 24px) !important;
    color: #f2ae1d !important;
    font-size: clamp(10px, 2.9vw, 14px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .mobile-nom247-kicker::after {
    width: 46px !important;
    height: 1px !important;
    background: currentColor !important;
    content: "" !important;
  }

  .mobile-nom247-copy h2 {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(27px, min(7.45vw, 4.2dvh), 39px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
  }

  .mobile-nom247-copy h2 span {
    color: #f2ae1d !important;
  }

  .mobile-nom247-copy > i {
    display: none !important;
  }

  .mobile-nom247-copy p {
    max-width: none !important;
    margin: clamp(14px, 1.9dvh, 19px) 0 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: clamp(12px, min(3.25vw, 1.75dvh), 16px) !important;
    line-height: 1.5 !important;
  }

  .mobile-nom247-actions {
    order: 3 !important;
    flex: 0 0 auto !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(9px, 1.25dvh, 13px) !important;
  }

  .mobile-nom247-actions a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(48px, 6.2dvh, 58px) !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 5vw, 26px) !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) 30px !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 4px !important;
    color: #090e16 !important;
    background: linear-gradient(90deg, #f0a917, #f5bd2d) !important;
    text-decoration: none !important;
  }

  .mobile-nom247-actions a strong {
    grid-column: 2 !important;
    font-size: clamp(11px, 3.2vw, 15px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.045em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-nom247-actions a span {
    color: inherit !important;
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 1 !important;
    text-align: center !important;
    transform: none !important;
  }

  .mobile-nom247-actions .mobile-nom247-read {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    background: rgba(2, 19, 45, 0.42) !important;
  }

  .mobile-nom247-actions .mobile-nom247-read strong {
    grid-column: 1 / 3 !important;
  }
}

@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  html {
    scroll-snap-type: y mandatory !important;
  }

  body {
    display: block !important;
  }

  body > :not(.mobile-color-sections):not(script) {
    display: none !important;
  }

  /* El footer móvil es el cierre absoluto del sitio en smartphones.
     Oculta cualquier bloque de escritorio o ventana que exista después
     de la maqueta móvil, sin eliminarlo de la versión de escritorio. */
  body > .mobile-color-sections ~ *:not(script) {
    display: none !important;
  }

  .mobile-color-sections {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Una sola barra de navegación para toda la experiencia móvil. */
  .mobile-color-section > header[class$="-nav"] {
    display: none !important;
  }

  .mobile-global-nav {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 100 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: clamp(72px, 10.5dvh, 96px) !important;
    margin: 0 !important;
    padding: max(12px, env(safe-area-inset-top)) 7% 14px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    background: linear-gradient(180deg, rgba(2, 20, 17, 0.98) 0%, rgba(3, 20, 18, 0.7) 56%, rgba(3, 20, 18, 0) 100%) !important;
    pointer-events: none !important;
  }

  .mobile-global-brand,
  .mobile-global-toggle {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
  }

  .mobile-global-brand {
    width: clamp(63px, 16.5vw, 78px) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .mobile-global-brand img {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
    object-fit: contain !important;
  }

  .mobile-global-toggle {
    box-sizing: border-box !important;
    width: clamp(28px, 7.75vw, 41px) !important;
    height: clamp(24px, 6vw, 30px) !important;
    margin: 6px 0 0 !important;
    padding: clamp(4px, 1vw, 5px) 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  .mobile-global-toggle span {
    width: 100% !important;
    height: 2px !important;
    margin: 0 !important;
    display: block !important;
    border-radius: 2px !important;
    background: currentColor !important;
    transform-origin: center !important;
    transition: transform 0.28s ease, opacity 0.2s ease !important;
  }

  .mobile-global-toggle.is-open span:first-child {
    transform: translateY(clamp(6px, 1.4vw, 8px)) rotate(45deg) !important;
  }

  .mobile-global-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  .mobile-global-toggle.is-open span:last-child {
    transform: translateY(calc(clamp(6px, 1.4vw, 8px) * -1)) rotate(-45deg) !important;
  }

  .mobile-investment-action span,
  .mobile-catalog-property-detail i,
  .mobile-catalog-detail span,
  .mobile-catalog-detail > b,
  .mobile-map-detail span,
  .mobile-purchase-card-copy span b,
  .mobile-capture-step-button > i,
  .mobile-nom247-actions a span {
    transform: scale(0.5) !important;
    transform-origin: center !important;
  }

  .mobile-global-menu {
    box-sizing: border-box !important;
    position: fixed !important;
    z-index: 2 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: clamp(96px, 14dvh, 126px) 7% max(24px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    gap: clamp(20px, 3dvh, 30px) !important;
    overflow-y: auto !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, rgba(2, 35, 30, 0.99), rgba(2, 15, 13, 0.995) 72%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-102%) !important;
    transition: transform 0.38s ease, opacity 0.25s ease, visibility 0s linear 0.38s !important;
    pointer-events: none !important;
  }

  .mobile-global-menu.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    transition: transform 0.38s ease, opacity 0.25s ease !important;
    pointer-events: auto !important;
  }

  .mobile-global-menu-heading {
    display: grid !important;
    gap: 8px !important;
  }

  .mobile-global-menu-heading small {
    color: #dfa229 !important;
    font-size: clamp(9px, 2.5vw, 12px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
  }

  .mobile-global-menu-heading strong {
    max-width: 12ch !important;
    color: #ffffff !important;
    font-size: clamp(31px, 9vw, 44px) !important;
    font-weight: 900 !important;
    line-height: 0.96 !important;
  }

  .mobile-global-menu-links {
    align-self: start !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(14px, 4vw, 24px) !important;
  }

  .mobile-global-menu-links a {
    min-width: 0 !important;
    padding: clamp(11px, 1.7dvh, 16px) 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    font-size: clamp(10px, min(3vw, 1.5dvh), 14px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  .mobile-global-menu-links a span {
    flex: 0 0 auto !important;
    color: #dfa229 !important;
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
  }

  .mobile-global-menu-links a[aria-current="page"] {
    color: #dfa229 !important;
  }

  html.mobile-menu-open,
  html.mobile-menu-open body {
    overflow: hidden !important;
  }

  .mobile-color-section {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    min-height: 100vh !important;
    height: 100svh !important;
    min-height: 100svh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  .mobile-color-section:nth-child(2) { background: #b7791f; }
  .mobile-color-section:nth-child(4) { background: #9b3344; }
  .mobile-color-section:nth-child(5) { background: #39705f; }
  .mobile-color-section:nth-child(7) { background: #55436f; }
  .mobile-color-section:nth-child(8) { background: #c56832; }
  .mobile-color-section:nth-child(10) { background: #789783; }
  .mobile-color-section:nth-child(11) { background: #151c2b; }

  /* 02 / Perfil móvil real del asesor. */
  .mobile-advisor-section {
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(1, 10, 8, 0.9) 0%, rgba(1, 10, 8, 0.48) 54%, rgba(1, 10, 8, 0.18) 100%),
      linear-gradient(0deg, #010504 0%, rgba(1, 5, 4, 0.95) 21%, rgba(1, 5, 4, 0.3) 62%, rgba(1, 5, 4, 0.18) 100%),
      url("../assets/imagenes/mobil/asesor.png") center / cover no-repeat !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-advisor-nav {
    position: absolute !important;
    z-index: 3 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-advisor-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(24px, 4dvh, 42px)
      6.5%
      max(14px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    gap: clamp(9px, 1.35dvh, 16px) !important;
  }

  .mobile-advisor-intro,
  .mobile-advisor-identity,
  .mobile-advisor-certifications {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-advisor-intro > p {
    position: relative !important;
    margin: 0 0 clamp(5px, 0.7dvh, 8px) !important;
    padding: 0 0 0 clamp(34px, 9vw, 48px) !important;
    color: #eaaa25 !important;
    font-size: clamp(10px, min(3vw, 1.6dvh), 14px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-intro > p::before {
    content: "" !important;
    position: absolute !important;
    top: 0.48em !important;
    left: 0 !important;
    width: clamp(24px, 6.5vw, 36px) !important;
    height: 2px !important;
    background: #eaaa25 !important;
  }

  .mobile-advisor-intro h2 {
    max-width: 8ch !important;
    margin: 0 0 clamp(5px, 0.7dvh, 8px) !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(34px, min(10.5vw, 5.3dvh), 48px) !important;
    font-weight: 900 !important;
    line-height: 0.84 !important;
    letter-spacing: -0.045em !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-intro > span {
    display: block !important;
    max-width: 29ch !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(11px, min(3.45vw, 1.95dvh), 16px) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.68) !important;
  }

  .mobile-advisor-identity {
    border-left: 2px solid #d7961d !important;
    padding-left: clamp(8px, 2.2vw, 12px) !important;
  }

  .mobile-advisor-identity small {
    display: block !important;
    margin: 0 0 2px !important;
    color: #eaaa25 !important;
    font-size: clamp(9px, min(2.7vw, 1.4dvh), 12px) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-identity h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(23px, min(7vw, 3.55dvh), 32px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-identity strong {
    display: block !important;
    margin: 3px 0 0 !important;
    color: #ffffff !important;
    font-size: clamp(10px, min(3vw, 1.55dvh), 13px) !important;
    line-height: 1.2 !important;
  }

  .mobile-advisor-facts {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: clamp(12px, 4vw, 28px) !important;
  }

  .mobile-advisor-facts > div {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 clamp(22px, 5.8vw, 30px) !important;
  }

  .mobile-advisor-facts > div::before {
    content: "⌖" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #eaaa25 !important;
    font-size: clamp(17px, 4.6vw, 23px) !important;
    line-height: 1 !important;
  }

  .mobile-advisor-facts > div:first-child::before {
    content: "◎" !important;
  }

  .mobile-advisor-facts dt {
    margin: 0 0 3px !important;
    color: #eaaa25 !important;
    font-size: clamp(8px, min(2.4vw, 1.25dvh), 11px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-facts dd {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(8px, min(2.5vw, 1.3dvh), 11px) !important;
    line-height: 1.28 !important;
  }

  .mobile-advisor-certifications h4 {
    margin: 0 0 clamp(5px, 0.7dvh, 8px) !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    color: #ffffff !important;
    font-size: clamp(10px, min(3vw, 1.5dvh), 13px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-advisor-certifications {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .mobile-advisor-certifications h4::before,
  .mobile-advisor-certifications h4::after {
    content: "" !important;
    height: 1px !important;
    background: rgba(226, 161, 34, 0.68) !important;
  }

  .mobile-advisor-cert-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }

  .mobile-advisor-cert-grid > a {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 clamp(5px, 1.7vw, 9px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
    border-right: 1px solid rgba(218, 155, 31, 0.48) !important;
    color: #ffffff !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .mobile-advisor-cert-grid > a:last-child {
    border-right: 0 !important;
  }

  .mobile-advisor-cert-preview {
    width: clamp(28px, min(8vw, 4.2dvh), 38px) !important;
    height: clamp(28px, min(8vw, 4.2dvh), 38px) !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid #d99b21 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
  }

  .mobile-advisor-cert-preview img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .mobile-advisor-cert-grid strong {
    color: #ffffff !important;
    font-size: clamp(8px, min(2.4vw, 1.22dvh), 11px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
  }

  .mobile-advisor-cert-grid small {
    color: #ffffff !important;
    font-size: clamp(7px, min(2vw, 1.02dvh), 9px) !important;
    line-height: 1.2 !important;
  }

  .mobile-advisor-action {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(46px, 6.4dvh, 58px) !important;
    margin: 0 !important;
    padding: 0 clamp(13px, 3.8vw, 20px) !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #061713 !important;
    background: linear-gradient(90deg, #d69218, #efb538) !important;
    text-decoration: none !important;
  }

  .mobile-advisor-action span,
  .mobile-advisor-action b {
    color: #061713 !important;
    font-size: clamp(17px, 4.6vw, 23px) !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .mobile-advisor-action strong {
    color: #061713 !important;
    font-size: clamp(10px, min(3.05vw, 1.55dvh), 14px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.035em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  /* 03 / Inversión inmobiliaria. */
  .mobile-investment-section {
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(0, 20, 17, 0.86) 0%, rgba(0, 20, 17, 0.46) 55%, rgba(0, 20, 17, 0.08) 100%),
      linear-gradient(0deg, rgba(1, 11, 9, 0.84) 0%, rgba(1, 11, 9, 0.16) 54%, rgba(1, 11, 9, 0.12) 100%),
      url("../assets/imagenes/mobil/invertir.png") center / cover no-repeat !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-investment-nav {
    position: absolute !important;
    z-index: 3 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-investment-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(100px, 13dvh, 120px)
      7%
      max(24px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: clamp(9px, 1.35dvh, 15px) !important;
  }

  .mobile-investment-kicker {
    position: relative !important;
    margin: 0 !important;
    padding: clamp(22px, 3.3dvh, 31px) 0 0 !important;
    color: #eaaa25 !important;
    font-size: clamp(10px, min(3vw, 1.55dvh), 14px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
  }

  .mobile-investment-kicker::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: clamp(26px, 7vw, 40px) !important;
    height: 2px !important;
    background: #eaaa25 !important;
  }

  .mobile-investment-factors {
    display: block !important;
    margin: clamp(5px, 0.8dvh, 9px) 0 0 !important;
    color: #eaaa25 !important;
    font-size: clamp(10px, min(2.95vw, 1.5dvh), 13px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
  }

  .mobile-investment-content h2 {
    max-width: 10.5ch !important;
    margin: clamp(4px, 0.7dvh, 8px) 0 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(38px, min(12vw, 6.5dvh), 59px) !important;
    font-weight: 900 !important;
    line-height: 0.93 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
  }

  .mobile-investment-copy {
    max-width: 31ch !important;
    margin: clamp(5px, 0.9dvh, 10px) 0 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(13px, min(3.8vw, 2dvh), 18px) !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.65) !important;
  }

  .mobile-investment-action {
    box-sizing: border-box !important;
    width: min(100%, 320px) !important;
    height: clamp(46px, 6.4dvh, 58px) !important;
    margin: clamp(14px, 2.2dvh, 24px) 0 0 !important;
    padding: 0 clamp(15px, 4vw, 24px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 24px !important;
    align-items: center !important;
    gap: 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #0b1c22 !important;
    background: rgba(255, 255, 255, 0.97) !important;
    text-decoration: none !important;
  }

  .mobile-investment-action strong {
    color: #0b1c22 !important;
    font-size: clamp(11px, min(3.2vw, 1.65dvh), 15px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.09em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-investment-action span {
    color: #d38d12 !important;
    font-size: clamp(19px, 5.2vw, 26px) !important;
    line-height: 1 !important;
    text-align: right !important;
  }

  /* 04 / Catálogo visual móvil. */
  .mobile-catalog-section {
    color: #16202a !important;
    background: #ffffff !important;
    background-image: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-catalog-nav {
    position: absolute !important;
    z-index: 3 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-catalog-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(105px, 14dvh, 128px)
      4.5%
      max(9px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    gap: clamp(4px, 0.65dvh, 7px) !important;
  }

  .mobile-catalog-intro {
    margin: 0 !important;
    padding: 0 clamp(5px, 1.5vw, 9px) !important;
  }

  .mobile-catalog-intro > p {
    margin: 0 0 clamp(4px, 0.6dvh, 7px) !important;
    color: #eaaa25 !important;
    font-size: clamp(9px, min(2.7vw, 1.4dvh), 12px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-intro h2 {
    max-width: 11ch !important;
    margin: 0 0 clamp(6px, 0.9dvh, 10px) !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(30px, min(9.2vw, 4.8dvh), 43px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    letter-spacing: -0.04em !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-intro > span {
    display: block !important;
    max-width: 34ch !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(9px, min(2.8vw, 1.45dvh), 12px) !important;
    line-height: 1.4 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.72) !important;
  }

  .mobile-catalog-controls {
    margin: clamp(7px, 1.1dvh, 12px) 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: clamp(5px, 1.5vw, 8px) !important;
  }

  .mobile-catalog-controls strong,
  .mobile-catalog-controls button {
    box-sizing: border-box !important;
    height: clamp(28px, 4.1dvh, 36px) !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(229, 165, 39, 0.62) !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: rgba(5, 12, 11, 0.42) !important;
    line-height: 1 !important;
  }

  .mobile-catalog-controls strong {
    min-width: clamp(59px, 17vw, 76px) !important;
    padding: 0 9px !important;
    color: #eaaa25 !important;
    font-size: clamp(9px, 2.6vw, 12px) !important;
    letter-spacing: 0.08em !important;
  }

  .mobile-catalog-controls button {
    width: clamp(32px, 9vw, 40px) !important;
    padding: 0 !important;
    font-size: clamp(15px, 4.2vw, 20px) !important;
  }

  .mobile-catalog-filters {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(6px, 1dvh, 10px) !important;
    display: grid !important;
    grid-template-columns: 1.45fr 0.78fr 1.12fr !important;
    align-items: end !important;
    gap: clamp(4px, 1.1vw, 7px) !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: rgba(4, 9, 8, 0.78) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24) !important;
  }

  .mobile-catalog-filters label {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 4px !important;
  }

  .mobile-catalog-filters label > span {
    overflow: hidden !important;
    color: #eaaa25 !important;
    font-size: clamp(6px, min(1.9vw, 0.95dvh), 8px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .mobile-catalog-filters input,
  .mobile-catalog-filters select {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(25px, 3.8dvh, 33px) !important;
    margin: 0 !important;
    padding: 0 clamp(5px, 1.5vw, 8px) !important;
    border: 1px solid rgba(229, 165, 39, 0.65) !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: rgba(7, 13, 12, 0.88) !important;
    box-shadow: none !important;
    font: 400 clamp(7px, min(2.15vw, 1.1dvh), 10px) / 1 Arial, Helvetica, sans-serif !important;
  }

  .mobile-catalog-filters input::placeholder {
    color: rgba(255, 255, 255, 0.78) !important;
    opacity: 1 !important;
  }

  .mobile-catalog-filters > button {
    box-sizing: border-box !important;
    grid-column: 3 !important;
    justify-self: end !important;
    width: min(100%, 82px) !important;
    height: clamp(20px, 3dvh, 27px) !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 3px !important;
    color: #eaaa25 !important;
    background: transparent !important;
    font-size: clamp(6px, min(1.9vw, 0.9dvh), 8px) !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-inventory {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 clamp(5px, 1.5vw, 9px) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-self: end !important;
    overflow: hidden !important;
  }

  .mobile-catalog-inventory > header {
    margin: 0 !important;
    padding: 0 0 clamp(4px, 0.6dvh, 6px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  }

  .mobile-catalog-inventory h3,
  .mobile-catalog-inventory header span {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(8px, min(2.4vw, 1.2dvh), 11px) !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-inventory h3,
  .mobile-catalog-inventory header b {
    color: #eaaa25 !important;
  }

  .mobile-catalog-list {
    height: clamp(135px, 24dvh, 205px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: none !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mobile-catalog-list::-webkit-scrollbar,
  .mobile-property-dialog-scroll::-webkit-scrollbar,
  .mobile-property-gallery-thumbs::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  .mobile-catalog-list:focus-visible {
    outline: 1px solid rgba(234, 170, 37, 0.8) !important;
    outline-offset: -1px !important;
  }

  .mobile-catalog-property {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: clamp(58px, 8.2dvh, 72px) !important;
    margin: 0 !important;
    padding: clamp(5px, 0.7dvh, 7px) 0 !important;
    display: grid !important;
    grid-template-columns: clamp(52px, 15vw, 68px) minmax(0, 1fr) clamp(50px, 14vw, 64px) !important;
    align-items: center !important;
    gap: clamp(5px, 1.5vw, 9px) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    text-align: left !important;
  }

  .mobile-catalog-property img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 4px !important;
    object-fit: cover !important;
  }

  .mobile-catalog-property > span {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
  }

  .mobile-catalog-property > span > b {
    overflow: hidden !important;
    color: #eaaa25 !important;
    font-size: clamp(7px, min(2.15vw, 1.08dvh), 10px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-catalog-property strong {
    overflow: hidden !important;
    color: #ffffff !important;
    font-size: clamp(9px, min(2.8vw, 1.4dvh), 12px) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-catalog-property small {
    overflow: hidden !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: clamp(7px, min(2.1vw, 1.05dvh), 9px) !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-catalog-property-detail {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: clamp(30px, 4.3dvh, 38px) !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    border: 1px solid rgba(234, 170, 37, 0.72) !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: rgba(5, 17, 14, 0.72) !important;
    font-size: clamp(6px, min(1.9vw, 0.95dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-property-detail i {
    color: #eaaa25 !important;
    font-size: clamp(15px, 4vw, 19px) !important;
    font-style: normal !important;
    line-height: 1 !important;
  }

  .mobile-catalog-detail {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(42px, 6dvh, 52px) !important;
    margin: 0 !important;
    padding: 0 clamp(15px, 4vw, 22px) !important;
    display: grid !important;
    grid-template-columns: 25px minmax(0, 1fr) 25px !important;
    align-items: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #071712 !important;
    background: linear-gradient(90deg, #d99518, #eab13a) !important;
  }

  .mobile-catalog-detail span,
  .mobile-catalog-detail b {
    color: #071712 !important;
    font-size: clamp(17px, 4.7vw, 23px) !important;
    line-height: 1 !important;
  }

  .mobile-catalog-detail strong {
    color: #071712 !important;
    font-size: clamp(9px, min(2.8vw, 1.4dvh), 13px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }

  .mobile-catalog-detail:disabled {
    cursor: not-allowed !important;
    opacity: 0.42 !important;
  }

  .mobile-catalog-empty {
    min-height: 100% !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: clamp(9px, 2.7vw, 12px) !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  html.mobile-property-modal-open,
  html.mobile-property-modal-open body {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  .mobile-property-lightbox {
    box-sizing: border-box !important;
    position: fixed !important;
    z-index: 700 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: max(18px, env(safe-area-inset-top)) 4% max(14px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(0, 7, 6, 0.82) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.25s ease, visibility 0s linear 0.25s !important;
  }

  .mobile-property-lightbox[hidden] {
    display: none !important;
  }

  .mobile-property-lightbox.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 0.25s ease !important;
  }

  .mobile-property-dialog {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(100%, 520px) !important;
    max-height: min(88dvh, 760px) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(224, 162, 36, 0.72) !important;
    border-radius: 12px !important;
    color: #071712 !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48) !important;
    opacity: 0 !important;
    transform: translateY(24dvh) scale(0.97) !important;
    transition: transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.22s ease !important;
  }

  .mobile-property-lightbox.is-open .mobile-property-dialog {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
  }

  .mobile-property-dialog-close {
    position: absolute !important;
    z-index: 3 !important;
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    background: rgba(3, 20, 17, 0.9) !important;
    font: 400 25px/1 Arial, Helvetica, sans-serif !important;
  }

  .mobile-property-dialog-scroll {
    max-height: min(88dvh, 760px) !important;
    margin: 0 !important;
    padding: 0 0 clamp(15px, 2.5dvh, 24px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mobile-property-dialog-image {
    display: block !important;
    width: 100% !important;
    height: clamp(170px, 28dvh, 250px) !important;
    margin: 0 !important;
    object-fit: cover !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-drag: none !important;
  }

  .mobile-property-gallery {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #071712 !important;
  }

  .mobile-property-gallery-counter {
    position: absolute !important;
    z-index: 2 !important;
    bottom: 10px !important;
    left: 12px !important;
    min-width: 62px !important;
    padding: 7px 9px !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: rgba(3, 20, 17, 0.86) !important;
    font-size: clamp(9px, 2.6vw, 12px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
  }

  .mobile-property-gallery-arrow {
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    background: rgba(3, 20, 17, 0.78) !important;
    font: 400 19px/1 Arial, Helvetica, sans-serif !important;
    transform: translateY(-50%) !important;
  }

  .mobile-property-gallery-arrow.is-previous {
    left: 10px !important;
  }

  .mobile-property-gallery-arrow.is-next {
    right: 10px !important;
  }

  .mobile-property-gallery-thumbs {
    margin: 8px 6% clamp(12px, 1.8dvh, 17px) !important;
    padding: 0 !important;
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mobile-property-gallery-thumb {
    box-sizing: border-box !important;
    flex: 0 0 clamp(52px, 15vw, 68px) !important;
    height: clamp(38px, 7dvh, 52px) !important;
    margin: 0 !important;
    padding: 2px !important;
    overflow: hidden !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    background: #dfe4e6 !important;
    opacity: 0.68 !important;
    scroll-snap-align: center !important;
  }

  .mobile-property-gallery-thumb.is-active {
    border-color: #d99518 !important;
    opacity: 1 !important;
  }

  .mobile-property-gallery-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: 2px !important;
    object-fit: cover !important;
  }

  .mobile-property-dialog-location,
  .mobile-property-dialog h3,
  .mobile-property-dialog-price,
  .mobile-property-dialog-description,
  .mobile-property-dialog-facts,
  .mobile-property-dialog-block,
  .mobile-property-dialog-actions {
    margin-right: 6% !important;
    margin-left: 6% !important;
  }

  .mobile-property-dialog-location {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    color: #b8750d !important;
    font-size: clamp(9px, 2.7vw, 12px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .mobile-property-dialog h3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
    color: #08162d !important;
    font-size: clamp(25px, 7vw, 36px) !important;
    font-weight: 900 !important;
    line-height: 0.98 !important;
  }

  .mobile-property-dialog-price {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    color: #bd7a0d !important;
    font-size: clamp(15px, 4.2vw, 20px) !important;
    line-height: 1.1 !important;
  }

  .mobile-property-dialog-description {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    color: #26344a !important;
    font-size: clamp(11px, 3.1vw, 14px) !important;
    line-height: 1.45 !important;
  }

  .mobile-property-dialog-facts {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: #d9dee5 !important;
  }

  .mobile-property-dialog-facts > div {
    padding: 10px !important;
    display: grid !important;
    gap: 3px !important;
    background: #f5f7f8 !important;
  }

  .mobile-property-dialog-facts dt {
    color: #687386 !important;
    font-size: clamp(7px, 2.1vw, 9px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
  }

  .mobile-property-dialog-facts dd {
    margin: 0 !important;
    color: #08162d !important;
    font-size: clamp(12px, 3.4vw, 16px) !important;
    font-weight: 800 !important;
  }

  .mobile-property-dialog-block {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
  }

  .mobile-property-dialog-block h4 {
    margin: 0 0 7px !important;
    color: #08162d !important;
    font-size: clamp(10px, 2.8vw, 13px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
  }

  .mobile-property-dialog-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  .mobile-property-dialog-tags span {
    padding: 6px 8px !important;
    border: 1px solid #d6dce3 !important;
    border-radius: 999px !important;
    color: #344157 !important;
    background: #f7f8f9 !important;
    font-size: clamp(8px, 2.35vw, 10px) !important;
    line-height: 1.1 !important;
  }

  .mobile-property-dialog-actions {
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    display: grid !important;
    grid-template-columns: 1.25fr 1fr !important;
    gap: 8px !important;
  }

  .mobile-property-dialog-actions a {
    min-height: 42px !important;
    padding: 0 8px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #0a2a25 !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: #082c26 !important;
    font-size: clamp(8px, 2.4vw, 11px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  .mobile-property-dialog-actions a:last-child {
    color: #082c26 !important;
    background: #ffffff !important;
  }

  /* 05 / Catálogo sobre el mapa móvil. */
  .mobile-map-section {
    color: #081327 !important;
    background: linear-gradient(180deg, #071916 0%, #10221f 6%, rgba(255, 255, 255, 0.88) 12%, #ffffff 17%, #ffffff 100%) !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-map-nav {
    position: absolute !important;
    z-index: 4 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-map-content {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: clamp(86px, 12.5dvh, 112px) 7% max(10px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(180px, 31dvh) auto 1fr auto !important;
    align-content: stretch !important;
    gap: clamp(6px, 0.85dvh, 9px) !important;
    overflow: hidden !important;
  }

  .mobile-map-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-map-heading > p {
    margin: 0 0 clamp(8px, 1.1dvh, 12px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #c97900 !important;
    font-size: clamp(8px, min(2.4vw, 1.2dvh), 11px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
  }

  .mobile-map-heading > p::before {
    width: clamp(26px, 8vw, 38px) !important;
    height: 2px !important;
    flex: 0 0 auto !important;
    content: "" !important;
    background: #c97900 !important;
  }

  .mobile-map-heading h2 {
    max-width: 9ch !important;
    margin: 0 0 clamp(7px, 1dvh, 11px) !important;
    padding: 0 !important;
    color: #061126 !important;
    font-size: clamp(32px, min(10.7vw, 5.3dvh), 50px) !important;
    font-weight: 900 !important;
    line-height: 0.93 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  .mobile-map-heading > span {
    display: block !important;
    max-width: 41ch !important;
    margin: 0 !important;
    color: #1c2738 !important;
    font-size: clamp(9px, min(2.7vw, 1.35dvh), 12px) !important;
    line-height: 1.35 !important;
  }

  .mobile-map-frame {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #dbeee5 !important;
  }

  .mobile-map-frame iframe {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    display: block !important;
    border: 0 !important;
  }

  .mobile-map-inventory-heading {
    margin: 0 !important;
    padding: clamp(4px, 0.6dvh, 7px) 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .mobile-map-inventory-heading h3,
  .mobile-map-inventory-heading b {
    margin: 0 !important;
    color: #070f1d !important;
    font-size: clamp(8px, min(2.45vw, 1.25dvh), 11px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  .mobile-map-inventory {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(3, 1fr) !important;
    border: 1px solid #e0e4e9 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
  }

  .mobile-map-property {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(4px, 0.55dvh, 6px) clamp(7px, 2vw, 11px) !important;
    display: grid !important;
    grid-template-columns: clamp(43px, 13vw, 58px) minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(7px, 2vw, 11px) !important;
    border: 0 !important;
    border-bottom: 1px solid #e0e4e9 !important;
    border-left: 2px solid transparent !important;
    border-radius: 0 !important;
    color: #0b111b !important;
    background: #ffffff !important;
    text-align: left !important;
  }

  .mobile-map-property:last-child {
    border-bottom: 0 !important;
  }

  .mobile-map-property.is-active {
    border-left-color: #d58a08 !important;
    background: #fffdf8 !important;
  }

  .mobile-map-property img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: block !important;
    object-fit: cover !important;
  }

  .mobile-map-property > span {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
  }

  .mobile-map-property strong {
    overflow: hidden !important;
    color: #090f18 !important;
    font-size: clamp(9px, min(2.75vw, 1.4dvh), 12px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-map-property small {
    overflow: hidden !important;
    color: #5d687b !important;
    font-size: clamp(7px, min(2.15vw, 1.05dvh), 9px) !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-map-property > b {
    color: #d27e00 !important;
    font-size: clamp(7px, min(2.25vw, 1.1dvh), 10px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mobile-map-detail {
    justify-self: start !important;
    min-width: 135px !important;
    margin: 0 !important;
    padding: clamp(6px, 0.9dvh, 9px) 4px 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    border: 0 !important;
    border-bottom: 1px solid #0a111b !important;
    border-radius: 0 !important;
    color: #090f18 !important;
    background: transparent !important;
  }

  .mobile-map-detail strong {
    font-size: clamp(9px, min(2.7vw, 1.3dvh), 12px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .mobile-map-detail span {
    font-size: clamp(18px, 5vw, 24px) !important;
    line-height: 0.8 !important;
  }

  .mobile-map-sheet {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 8 !important;
    inset: 0 !important;
    padding: clamp(82px, 12dvh, 108px) 8% max(18px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(190px, 38dvh) auto auto auto auto 1fr auto !important;
    gap: clamp(8px, 1.2dvh, 13px) !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, #041d19, #06110f 70%) !important;
    transform: translateX(102%) !important;
    transition: transform 0.36s ease !important;
  }

  .mobile-map-sheet.is-open {
    transform: translateX(0) !important;
  }

  .mobile-map-sheet > button {
    position: absolute !important;
    top: max(20px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 25px !important;
  }

  .mobile-map-sheet img {
    grid-row: 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .mobile-map-sheet small {
    color: #e5a72c !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
  }

  .mobile-map-sheet h3,
  .mobile-map-sheet p,
  .mobile-map-sheet strong,
  .mobile-map-sheet span {
    margin: 0 !important;
  }

  .mobile-map-sheet h3 {
    font-size: clamp(31px, 9vw, 44px) !important;
    line-height: 0.96 !important;
  }

  .mobile-map-sheet p,
  .mobile-map-sheet > strong {
    font-size: clamp(13px, 3.6vw, 17px) !important;
  }

  .mobile-map-sheet > strong {
    color: #e5a72c !important;
  }

  .mobile-map-sheet > span {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: clamp(11px, 3vw, 14px) !important;
    line-height: 1.45 !important;
  }

  .mobile-map-sheet a {
    align-self: end !important;
    padding: 14px 16px !important;
    color: #081512 !important;
    background: #e5a72c !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  /* 06 / Proceso de compra móvil. */
  .mobile-purchase-section {
    color: #081327 !important;
    background:
      linear-gradient(180deg, #031b19 0%, #0b2825 6.5%, rgba(28, 48, 46, 0.9) 8.5%, rgba(255, 255, 255, 0.86) 13.5%, #ffffff 21%, #ffffff 100%) !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-purchase-nav {
    position: absolute !important;
    z-index: 4 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-purchase-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(96px, 12dvh, 112px)
      6.5%
      max(9px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: clamp(9px, 1.35dvh, 14px) !important;
    overflow: hidden !important;
  }

  .mobile-purchase-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-purchase-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #050607 !important;
    font-family: Impact, "Arial Narrow", Arial, sans-serif !important;
    font-size: clamp(28px, min(8.2vw, 4.3dvh), 38px) !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: 0.015em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .mobile-purchase-heading i {
    display: block !important;
    width: clamp(34px, 10vw, 48px) !important;
    height: 3px !important;
    margin: clamp(7px, 1dvh, 10px) 0 !important;
    background: #d59617 !important;
  }

  .mobile-purchase-heading p {
    max-width: 44ch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #3d424b !important;
    font-size: clamp(10px, min(2.85vw, 1.45dvh), 13px) !important;
    line-height: 1.38 !important;
  }

  .mobile-purchase-list {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(5px, 0.8dvh, 8px) !important;
  }

  .mobile-purchase-card {
    box-sizing: border-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(8, 19, 39, 0.08) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 16px rgba(8, 19, 39, 0.055) !important;
  }

  .mobile-purchase-card summary {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  .mobile-purchase-card summary::-webkit-details-marker {
    display: none !important;
  }

  .mobile-purchase-card-front {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 43% minmax(0, 1fr) !important;
  }

  .mobile-purchase-card-front > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .mobile-purchase-card-copy {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(7px, 1.1dvh, 11px) clamp(8px, 2.4vw, 13px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: clamp(2px, 0.34dvh, 4px) !important;
    background: linear-gradient(115deg, #ffffff, #fbfbfb) !important;
  }

  .mobile-purchase-card-copy small,
  .mobile-purchase-card-detail small {
    color: #d19216 !important;
    font-size: clamp(7px, min(2.1vw, 1.05dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .mobile-purchase-card-copy h3,
  .mobile-purchase-card-detail h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: #05070a !important;
    font-size: clamp(12px, min(3.65vw, 1.75dvh), 16px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .mobile-purchase-card-copy p {
    margin: 0 !important;
    padding: 0 !important;
    color: #3f444c !important;
    font-size: clamp(7px, min(2.05vw, 0.98dvh), 9px) !important;
    line-height: 1.3 !important;
  }

  .mobile-purchase-card-copy > span {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #07101d !important;
    font-size: clamp(6px, min(1.9vw, 0.9dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .mobile-purchase-card-copy > span::after {
    content: "" !important;
    position: absolute !important;
  }

  .mobile-purchase-card-copy > span b {
    color: #09111c !important;
    font-size: clamp(15px, 4.4vw, 20px) !important;
    font-weight: 400 !important;
    line-height: 0.8 !important;
  }

  .mobile-purchase-card-detail {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(8px, 1.25dvh, 12px) clamp(28px, 8vw, 38px) clamp(7px, 1dvh, 10px) clamp(10px, 3vw, 16px) !important;
    display: none !important;
    overflow: hidden !important;
    background: linear-gradient(115deg, #fff8ea, #ffffff 72%) !important;
  }

  .mobile-purchase-card-detail p,
  .mobile-purchase-card-detail em {
    display: block !important;
    margin: clamp(3px, 0.45dvh, 5px) 0 0 !important;
    padding: 0 !important;
    color: #3e434a !important;
    font-size: clamp(7px, min(2vw, 0.95dvh), 9px) !important;
    font-style: normal !important;
    line-height: 1.25 !important;
  }

  .mobile-purchase-close {
    position: absolute !important;
    top: clamp(6px, 0.9dvh, 9px) !important;
    right: clamp(8px, 2.4vw, 12px) !important;
    color: #07101d !important;
    font-size: clamp(18px, 5vw, 23px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  .mobile-purchase-card[open] .mobile-purchase-card-front {
    display: none !important;
  }

  .mobile-purchase-card[open] .mobile-purchase-card-detail {
    display: block !important;
    animation: mobilePurchaseReveal 260ms ease both !important;
  }

  @keyframes mobilePurchaseReveal {
    from { opacity: 0; transform: translateX(-7%); }
    to { opacity: 1; transform: translateX(0); }
  }

  /* Proceso de compra: una etapa por pantalla, con carrusel táctil. */
  .mobile-purchase-section .mobile-purchase-content {
    padding:
      clamp(72px, 10dvh, 96px)
      6.5%
      max(8px, env(safe-area-inset-bottom)) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: clamp(7px, 1.1dvh, 11px) !important;
  }

  .mobile-purchase-section .mobile-purchase-carousel {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .mobile-purchase-section .mobile-purchase-carousel-track {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    transition: transform 430ms cubic-bezier(0.22, 0.75, 0.24, 1) !important;
    will-change: transform !important;
  }

  .mobile-purchase-section .mobile-purchase-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    border-color: rgba(8, 19, 39, 0.1) !important;
    box-shadow: 0 12px 32px rgba(8, 19, 39, 0.09) !important;
  }

  .mobile-purchase-section .mobile-purchase-card-front {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(0, 55%) minmax(0, 45%) !important;
  }

  .mobile-purchase-section .mobile-purchase-card-front > img {
    object-position: center !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy {
    padding: clamp(14px, 2.2dvh, 22px) clamp(16px, 5vw, 24px) !important;
    justify-content: flex-start !important;
    gap: clamp(5px, 0.75dvh, 9px) !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy small,
  .mobile-purchase-section .mobile-purchase-card-detail small {
    font-size: clamp(9px, min(2.6vw, 1.25dvh), 12px) !important;
    letter-spacing: 0.1em !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy h3,
  .mobile-purchase-section .mobile-purchase-card-detail h3 {
    font-size: clamp(21px, min(6vw, 3dvh), 30px) !important;
    line-height: 1 !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy p {
    max-width: 35ch !important;
    font-size: clamp(11px, min(3.15vw, 1.55dvh), 15px) !important;
    line-height: 1.4 !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy > span {
    padding-top: clamp(8px, 1.2dvh, 13px) !important;
    border-top: 1px solid rgba(9, 18, 31, 0.12) !important;
    font-size: clamp(9px, min(2.65vw, 1.2dvh), 12px) !important;
    letter-spacing: 0.06em !important;
  }

  .mobile-purchase-section .mobile-purchase-card-copy > span b {
    font-size: clamp(19px, 5.5vw, 26px) !important;
  }

  .mobile-purchase-section .mobile-purchase-card-detail {
    padding: clamp(22px, 4dvh, 38px) clamp(26px, 8vw, 42px) !important;
    align-content: center !important;
    background:
      linear-gradient(135deg, rgba(255, 247, 226, 0.98), rgba(255, 255, 255, 0.98)),
      #ffffff !important;
  }

  .mobile-purchase-section .mobile-purchase-card-detail p,
  .mobile-purchase-section .mobile-purchase-card-detail em {
    max-width: 34ch !important;
    margin-top: clamp(12px, 2dvh, 20px) !important;
    font-size: clamp(12px, min(3.3vw, 1.65dvh), 16px) !important;
    line-height: 1.5 !important;
  }

  .mobile-purchase-section .mobile-purchase-close {
    top: clamp(15px, 2.2dvh, 22px) !important;
    right: clamp(16px, 5vw, 24px) !important;
    font-size: clamp(26px, 7vw, 34px) !important;
  }

  .mobile-purchase-section .mobile-purchase-card[open] .mobile-purchase-card-detail {
    display: grid !important;
    grid-template-rows: auto auto auto auto !important;
  }

  .mobile-purchase-controls {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: clamp(38px, 5.5dvh, 48px) !important;
    display: grid !important;
    grid-template-columns: clamp(38px, 10.5vw, 46px) auto minmax(0, 1fr) clamp(38px, 10.5vw, 46px) !important;
    align-items: center !important;
    gap: clamp(8px, 2.4vw, 12px) !important;
  }

  .mobile-purchase-controls > button {
    box-sizing: border-box !important;
    width: 100% !important;
    aspect-ratio: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #0b1422 !important;
    border-radius: 0 !important;
    color: #0b1422 !important;
    background: #ffffff !important;
    font-size: clamp(16px, 4.8vw, 22px) !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  .mobile-purchase-controls > button:active {
    color: #ffffff !important;
    background: #0b1422 !important;
  }

  .mobile-purchase-controls > strong {
    min-width: 49px !important;
    color: #0b1422 !important;
    font-size: clamp(10px, 2.8vw, 13px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
  }

  .mobile-purchase-dots {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(5px, 1.6vw, 8px) !important;
  }

  .mobile-purchase-dots button {
    box-sizing: border-box !important;
    width: clamp(7px, 2.1vw, 10px) !important;
    height: clamp(7px, 2.1vw, 10px) !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #b2760b !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: transparent !important;
    cursor: pointer !important;
  }

  .mobile-purchase-dots button[aria-current="true"] {
    background: #d59617 !important;
    box-shadow: 0 0 0 3px rgba(213, 150, 23, 0.16) !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-purchase-section .mobile-purchase-carousel-track {
      transition-duration: 1ms !important;
    }
  }

  /* 12 / Footer móvil. */
  .mobile-footer-section {
    color: #ffffff !important;
    background: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-footer-nav {
    position: absolute !important;
    z-index: 6 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-footer-content {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: 43% 57% !important;
    overflow: hidden !important;
  }

  .mobile-footer-hero {
    box-sizing: border-box !important;
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(90px, 11.5dvh, 108px) 8% clamp(10px, 1.5dvh, 14px) !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
    color: #ffffff !important;
    background:
      radial-gradient(circle at 78% 32%, rgba(8, 87, 75, 0.55), transparent 42%),
      linear-gradient(135deg, #032c27, #00241f 65%, #001d1a) !important;
  }

  .mobile-footer-location {
    position: absolute !important;
    top: clamp(77px, 9.8dvh, 92px) !important;
    right: 8% !important;
    margin: 0 !important;
    color: #e7a31c !important;
    font-size: clamp(6px, min(1.9vw, 0.86dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-hero > div {
    width: 100% !important;
    min-height: 0 !important;
  }

  .mobile-footer-hero small {
    color: #e6a21c !important;
    font-size: clamp(7px, min(2.2vw, 0.98dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.11em !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-hero > div > i {
    display: block !important;
    width: clamp(31px, 8.8vw, 42px) !important;
    height: 2px !important;
    margin: clamp(5px, 0.7dvh, 7px) 0 !important;
    background: #e1a01b !important;
  }

  .mobile-footer-hero h2 {
    max-width: 16ch !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(27px, min(8.2vw, 3.9dvh), 35px) !important;
    font-weight: 900 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
  }

  .mobile-footer-hero > div > p {
    max-width: 38ch !important;
    margin: clamp(6px, 0.9dvh, 9px) 0 0 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: clamp(8px, min(2.45vw, 1.08dvh), 10px) !important;
    line-height: 1.32 !important;
  }

  .mobile-footer-hero nav {
    width: min(100%, 215px) !important;
    margin-top: clamp(7px, 1dvh, 10px) !important;
    display: grid !important;
    gap: 5px !important;
  }

  .mobile-footer-hero nav a {
    box-sizing: border-box !important;
    height: clamp(28px, 3.9dvh, 34px) !important;
    padding: 0 clamp(8px, 2.4vw, 12px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid #df9f1b !important;
    border-radius: 2px !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: clamp(6px, min(1.9vw, 0.85dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-hero nav a:first-child {
    color: #071914 !important;
    background: linear-gradient(90deg, #df9f1b, #efbd3d) !important;
  }

  .mobile-footer-bottom {
    box-sizing: border-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(10px, 1.4dvh, 14px) 5.5% max(7px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    gap: clamp(7px, 1dvh, 10px) !important;
    overflow: hidden !important;
    color: #071126 !important;
    background: #ffffff !important;
  }

  .mobile-footer-columns {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(5px, 1.5vw, 9px) !important;
  }

  .mobile-footer-columns section {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
  }

  .mobile-footer-columns section > b {
    color: #db9915 !important;
    font-size: clamp(14px, 4vw, 18px) !important;
    line-height: 1 !important;
  }

  .mobile-footer-columns section > strong {
    margin-bottom: 2px !important;
    color: #071126 !important;
    font-size: clamp(7px, min(2.1vw, 0.95dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .mobile-footer-columns a,
  .mobile-footer-columns span {
    max-width: 100% !important;
    overflow: hidden !important;
    color: #2d3748 !important;
    font-size: clamp(5px, min(1.55vw, 0.7dvh), 7px) !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    text-overflow: ellipsis !important;
  }

  .mobile-footer-compliance {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(5px, 1.3vw, 7px) !important;
  }

  .mobile-footer-compliance button {
    box-sizing: border-box !important;
    position: relative !important;
    min-height: clamp(53px, 7.3dvh, 62px) !important;
    margin: 0 !important;
    padding: clamp(7px, 1dvh, 10px) clamp(26px, 7vw, 32px) clamp(7px, 1dvh, 10px) clamp(8px, 2.2vw, 11px) !important;
    display: grid !important;
    align-content: center !important;
    gap: 3px !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 4px !important;
    color: #071126 !important;
    background: #ffffff !important;
    text-align: left !important;
  }

  .mobile-footer-compliance button:last-child {
    grid-column: 1 / -1 !important;
    min-height: clamp(40px, 5.5dvh, 47px) !important;
  }

  .mobile-footer-compliance button > span {
    color: #c17808 !important;
    font-size: clamp(5px, min(1.6vw, 0.7dvh), 7px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-compliance button > strong {
    color: #071126 !important;
    font-size: clamp(7px, min(2.1vw, 0.92dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-compliance button > i {
    position: absolute !important;
    top: 50% !important;
    right: clamp(7px, 2vw, 10px) !important;
    width: clamp(20px, 5.8vw, 26px) !important;
    aspect-ratio: 1 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #aeb6c0 !important;
    color: #071126 !important;
    font-size: clamp(12px, 3.5vw, 16px) !important;
    font-style: normal !important;
    transform: translateY(-50%) !important;
  }

  .mobile-footer-legal {
    padding-top: clamp(5px, 0.7dvh, 7px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 7px !important;
    border-top: 1px solid #e0e4e9 !important;
  }

  .mobile-footer-legal > span,
  .mobile-footer-legal button {
    color: #354052 !important;
    font-size: clamp(4px, min(1.3vw, 0.57dvh), 6px) !important;
    line-height: 1 !important;
  }

  .mobile-footer-legal nav {
    display: flex !important;
    gap: 5px !important;
  }

  .mobile-footer-legal button {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #606a78 !important;
    background: transparent !important;
  }

  .mobile-footer-panel {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 20 !important;
    inset: 0 !important;
    padding: clamp(75px, 10dvh, 92px) 8% max(18px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    color: #071126 !important;
    background: #ffffff !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(100%) !important;
    transition: opacity 220ms ease, transform 320ms ease, visibility 320ms !important;
    scrollbar-width: none !important;
  }

  .mobile-footer-panel::-webkit-scrollbar {
    display: none !important;
  }

  .mobile-footer-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
  }

  .mobile-footer-panel > button {
    position: absolute !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    right: 8% !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid #ccd2da !important;
    border-radius: 0 !important;
    color: #071126 !important;
    background: #ffffff !important;
    font-size: 27px !important;
  }

  .mobile-footer-panel > small {
    color: #c17808 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }

  .mobile-footer-panel h3 {
    margin: 10px 0 18px !important;
    color: #071126 !important;
    font-size: clamp(27px, 8vw, 38px) !important;
    line-height: 1 !important;
  }

  .mobile-footer-panel [data-mobile-footer-panel-content] {
    display: grid !important;
    gap: 12px !important;
    color: #354052 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .mobile-footer-panel [data-mobile-footer-panel-content] p,
  .mobile-footer-panel [data-mobile-footer-panel-content] ul {
    margin: 0 !important;
  }

  /* 11 / Elige cómo quieres avanzar. */
  .mobile-advance-section {
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(1, 25, 22, 0.88) 0%, rgba(1, 25, 22, 0.7) 51%, rgba(1, 25, 22, 0.38) 100%),
      url("../imagenes/residencia-moderna.jpg") center / cover no-repeat !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-advance-nav {
    position: absolute !important;
    z-index: 5 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-advance-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(98px, 12.5dvh, 116px)
      5.5%
      max(9px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: clamp(10px, 1.4dvh, 14px) !important;
    overflow: hidden !important;
  }

  .mobile-advance-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-advance-heading > p {
    margin: 0 0 clamp(4px, 0.6dvh, 6px) !important;
    color: #efa91d !important;
    font-size: clamp(9px, min(2.75vw, 1.3dvh), 12px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .mobile-advance-heading h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(38px, min(11.5vw, 5.5dvh), 50px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  .mobile-advance-heading > i {
    display: block !important;
    width: clamp(29px, 8vw, 38px) !important;
    height: 2px !important;
    margin: clamp(7px, 1dvh, 10px) 0 !important;
    background: #e0a01b !important;
  }

  .mobile-advance-heading > span {
    display: block !important;
    max-width: 32ch !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: clamp(10px, min(3vw, 1.42dvh), 13px) !important;
    line-height: 1.38 !important;
  }

  .mobile-advance-options {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(6px, 0.85dvh, 9px) !important;
  }

  .mobile-advance-card {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 44% minmax(0, 1fr) clamp(14px, 4vw, 19px) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.19) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    background: rgba(1, 30, 26, 0.86) !important;
    text-decoration: none !important;
  }

  .mobile-advance-card > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .mobile-advance-card > span {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(8px, 1.2dvh, 12px) clamp(7px, 2vw, 10px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: clamp(3px, 0.42dvh, 5px) !important;
  }

  .mobile-advance-card small {
    align-self: flex-start !important;
    padding: clamp(3px, 0.45dvh, 5px) clamp(7px, 2vw, 10px) !important;
    border: 1px solid #e1a11c !important;
    color: #ffffff !important;
    font-size: clamp(7px, min(2.1vw, 0.98dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .mobile-advance-card strong {
    color: #ffffff !important;
    font-size: clamp(12px, min(3.6vw, 1.7dvh), 16px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
  }

  .mobile-advance-card p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: clamp(7px, min(2.1vw, 0.98dvh), 9px) !important;
    line-height: 1.27 !important;
  }

  .mobile-advance-card > b {
    align-self: center !important;
    color: #eeaa1e !important;
    font-size: clamp(25px, 7vw, 32px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  /* 10 / Dashboard inmobiliario móvil. */
  .mobile-dashboard-section {
    color: #ffffff !important;
    background:
      linear-gradient(180deg, rgba(2, 24, 19, 0.78) 0%, rgba(2, 24, 19, 0.4) 58%, rgba(2, 24, 19, 0.16) 100%),
      url("../imagenes/movil/fondos/dash.png") center / cover no-repeat !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-dashboard-nav {
    position: absolute !important;
    z-index: 5 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-dashboard-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(100px, 12.5dvh, 116px)
      5.5%
      max(9px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    gap: clamp(7px, 1dvh, 10px) !important;
    overflow: hidden !important;
  }

  .mobile-dashboard-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-dashboard-heading > p {
    margin: 0 !important;
    color: #efa91d !important;
    font-size: clamp(8px, min(2.5vw, 1.18dvh), 11px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .mobile-dashboard-heading > i {
    display: block !important;
    width: clamp(27px, 7.5vw, 35px) !important;
    height: 2px !important;
    margin: clamp(5px, 0.7dvh, 7px) 0 !important;
    background: #d79a18 !important;
  }

  .mobile-dashboard-heading h2 {
    max-width: 15ch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(27px, min(8.25vw, 4dvh), 36px) !important;
    font-weight: 900 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.035em !important;
  }

  .mobile-dashboard-heading h2 span {
    color: #efa91d !important;
  }

  .mobile-dashboard-heading > strong {
    display: block !important;
    max-width: 39ch !important;
    margin-top: clamp(6px, 0.85dvh, 9px) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: clamp(8px, min(2.4vw, 1.12dvh), 10px) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
  }

  .mobile-dashboard-benefits {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: clamp(4px, 1vw, 6px) !important;
    list-style: none !important;
  }

  .mobile-dashboard-benefits li {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: clamp(22px, 6.4vw, 29px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 3px !important;
  }

  .mobile-dashboard-benefits li > b {
    box-sizing: border-box !important;
    width: clamp(22px, 6.4vw, 29px) !important;
    aspect-ratio: 1 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #d99b1a !important;
    border-radius: 50% !important;
    color: #e7a51b !important;
    font-size: clamp(10px, 3vw, 14px) !important;
    line-height: 1 !important;
  }

  .mobile-dashboard-benefits li > span {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
  }

  .mobile-dashboard-benefits strong,
  .mobile-dashboard-benefits small {
    overflow: hidden !important;
    color: #ffffff !important;
    font-size: clamp(5px, min(1.55vw, 0.73dvh), 7px) !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-dashboard-benefits small {
    color: rgba(255, 255, 255, 0.78) !important;
  }

  .mobile-dashboard-divider {
    width: 100% !important;
    height: 1px !important;
    background: linear-gradient(90deg, #d69a1a, rgba(214, 154, 26, 0.24)) !important;
  }

  .mobile-dashboard-demo {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 clamp(34px, 4.9dvh, 42px) !important;
    display: grid !important;
    place-items: start center !important;
    overflow: hidden !important;
    border: 1px solid rgba(221, 158, 27, 0.48) !important;
    border-radius: 5px !important;
    background: #f7f6f3 !important;
  }

  .mobile-dashboard-demo > a:first-child {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: start center !important;
    overflow: hidden !important;
    text-decoration: none !important;
  }

  .mobile-dashboard-demo img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: top center !important;
  }

  .mobile-dashboard-actions {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: clamp(34px, 4.9dvh, 42px) !important;
    display: grid !important;
    grid-template-columns: 1.25fr 0.75fr !important;
    background: #ffffff !important;
  }

  .mobile-dashboard-actions a {
    padding: 0 clamp(8px, 2.3vw, 12px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-right: 1px solid #d8dde1 !important;
    color: #061c18 !important;
    background: #e3a523 !important;
    font-size: clamp(6px, min(1.9vw, 0.88dvh), 8px) !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  .mobile-dashboard-actions a:last-child {
    border-right: 0 !important;
    color: #ffffff !important;
    background: #05372f !important;
  }

  .mobile-dashboard-actions a span {
    font-size: 14px !important;
  }

  /* 09 / Captura virtual móvil. */
  .mobile-capture-section {
    color: #081327 !important;
    background: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-capture-section::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: clamp(74px, 10.5dvh, 94px) !important;
    background: linear-gradient(90deg, #032923, #073b35 56%, #0a302d) !important;
  }

  .mobile-capture-nav {
    position: absolute !important;
    z-index: 5 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-capture-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(96px, 12dvh, 110px)
      6.5%
      max(7px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    gap: clamp(6px, 0.85dvh, 9px) !important;
    overflow: hidden !important;
  }

  .mobile-capture-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-capture-heading > p {
    margin: 0 !important;
    color: #c47a08 !important;
    font-size: clamp(8px, min(2.5vw, 1.2dvh), 11px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-heading > i {
    display: block !important;
    width: clamp(35px, 10vw, 47px) !important;
    height: 3px !important;
    margin: clamp(5px, 0.7dvh, 8px) 0 !important;
    background: #d49416 !important;
  }

  .mobile-capture-heading h2 {
    max-width: 14ch !important;
    margin: 0 !important;
    color: #071126 !important;
    font-size: clamp(28px, min(8.6vw, 4.2dvh), 38px) !important;
    font-weight: 900 !important;
    line-height: 0.94 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-heading > span {
    display: block !important;
    max-width: 41ch !important;
    margin-top: clamp(5px, 0.7dvh, 8px) !important;
    color: #263247 !important;
    font-size: clamp(8px, min(2.4vw, 1.13dvh), 10px) !important;
    line-height: 1.3 !important;
  }

  .mobile-capture-main-fields {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
  }

  .mobile-capture-main-fields label {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
  }

  .mobile-capture-main-fields label > span {
    color: #071126 !important;
    font-size: clamp(6px, min(1.9vw, 0.85dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-main-fields input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(27px, 3.65dvh, 32px) !important;
    margin: 0 !important;
    padding: 0 clamp(8px, 2.4vw, 12px) !important;
    border: 1px solid #d7dde6 !important;
    border-radius: 4px !important;
    color: #162238 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font: 400 clamp(8px, min(2.35vw, 1.1dvh), 10px) / 1 Arial, Helvetica, sans-serif !important;
  }

  .mobile-capture-main-fields input::placeholder {
    color: #697486 !important;
    opacity: 1 !important;
  }

  .mobile-capture-steps {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
    border: 1px solid rgba(8, 19, 39, 0.08) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
  }

  .mobile-capture-steps > header {
    min-height: clamp(27px, 3.8dvh, 33px) !important;
    padding: 0 clamp(8px, 2.4vw, 12px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    background: linear-gradient(90deg, #f7f3e9, #fbfaf7) !important;
  }

  .mobile-capture-steps > header strong,
  .mobile-capture-steps > header span {
    color: #07362e !important;
    font-size: clamp(6px, min(1.95vw, 0.9dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-steps > header span {
    color: #5d6776 !important;
    white-space: nowrap !important;
  }

  .mobile-capture-step-list {
    min-height: 0 !important;
    padding: 0 clamp(8px, 2.2vw, 11px) !important;
    display: grid !important;
    grid-template-rows: repeat(7, minmax(0, 1fr)) !important;
  }

  .mobile-capture-step-button {
    box-sizing: border-box !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(3px, 0.45dvh, 5px) 0 !important;
    display: grid !important;
    grid-template-columns: clamp(30px, 8.5vw, 38px) minmax(0, 1fr) 10px !important;
    align-items: center !important;
    gap: clamp(6px, 1.8vw, 9px) !important;
    border: 0 !important;
    border-bottom: 1px solid #e1e5ea !important;
    border-radius: 0 !important;
    color: #071126 !important;
    background: transparent !important;
    text-align: left !important;
  }

  .mobile-capture-step-button:last-child {
    border-bottom: 0 !important;
  }

  .mobile-capture-step-button > b {
    box-sizing: border-box !important;
    width: clamp(29px, 8.2vw, 37px) !important;
    aspect-ratio: 1 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #d79414 !important;
    border-radius: 50% !important;
    color: #c67a08 !important;
    font-size: clamp(8px, min(2.45vw, 1.15dvh), 10px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .mobile-capture-step-button > span {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
  }

  .mobile-capture-step-button strong {
    color: #071126 !important;
    font-size: clamp(8px, min(2.4vw, 1.08dvh), 10px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-step-button small {
    overflow: hidden !important;
    color: #475266 !important;
    font-size: clamp(6px, min(1.85vw, 0.82dvh), 7px) !important;
    line-height: 1.18 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .mobile-capture-step-button > i {
    color: #1b2939 !important;
    font-size: clamp(16px, 4.5vw, 20px) !important;
    font-style: normal !important;
    line-height: 1 !important;
  }

  .mobile-capture-step-button.is-complete > b {
    border-color: #1c8c5a !important;
    color: #ffffff !important;
    background: #1c8c5a !important;
  }

  .mobile-capture-submit {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(38px, 5.4dvh, 47px) !important;
    margin: 0 !important;
    padding: 0 clamp(14px, 4vw, 22px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #ffffff !important;
    background: linear-gradient(90deg, #062d28, #103f38) !important;
  }

  .mobile-capture-submit:disabled {
    opacity: 1 !important;
  }

  .mobile-capture-submit span {
    font-size: clamp(17px, 4.7vw, 22px) !important;
  }

  .mobile-capture-submit strong {
    color: #ffffff !important;
    font-size: clamp(9px, min(2.8vw, 1.3dvh), 12px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-panel {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 10 !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: clamp(18px, 2.8dvh, 26px) 7% max(12px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    color: #081327 !important;
    background: #ffffff !important;
    box-shadow: -18px 0 38px rgba(8, 19, 39, 0.14) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(100%) !important;
    transition: opacity 220ms ease, transform 320ms ease, visibility 320ms !important;
    scrollbar-width: none !important;
  }

  .mobile-capture-panel::-webkit-scrollbar {
    display: none !important;
  }

  .mobile-capture-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
  }

  .mobile-capture-panel-close {
    position: absolute !important;
    top: 12px !important;
    right: 7% !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d8dde4 !important;
    border-radius: 0 !important;
    color: #071126 !important;
    background: #ffffff !important;
    font-size: 25px !important;
    line-height: 1 !important;
  }

  .mobile-capture-panel > small {
    color: #c47a08 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-panel > h3 {
    margin: 9px 48px 6px 0 !important;
    color: #071126 !important;
    font-size: clamp(27px, 8vw, 38px) !important;
    line-height: 1 !important;
  }

  .mobile-capture-panel > p {
    margin: 0 0 16px !important;
    color: #475266 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .mobile-capture-panel form,
  .mobile-capture-panel form > div {
    display: grid !important;
    gap: 11px !important;
  }

  .mobile-capture-panel form label {
    display: grid !important;
    gap: 5px !important;
    color: #071126 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .mobile-capture-panel form input,
  .mobile-capture-panel form select,
  .mobile-capture-panel form textarea {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid #d6dce5 !important;
    border-radius: 3px !important;
    color: #162238 !important;
    background: #ffffff !important;
    font: 400 12px / 1.3 Arial, Helvetica, sans-serif !important;
  }

  .mobile-capture-panel form textarea {
    min-height: 86px !important;
    resize: vertical !important;
  }

  .mobile-capture-panel form > button {
    min-height: 46px !important;
    margin-top: 4px !important;
    border: 0 !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    background: #07382f !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }

  /* 06 / Financiamiento y liquidación móvil. */
  .mobile-finance-section {
    color: #081327 !important;
    background: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-finance-section::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: clamp(73px, 10.5dvh, 94px) !important;
    background: linear-gradient(180deg, #0c2025 0%, rgba(22, 38, 42, 0.86) 38%, rgba(255, 255, 255, 0.92) 100%) !important;
  }

  .mobile-finance-nav {
    position: absolute !important;
    z-index: 5 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-finance-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(99px, 12.5dvh, 116px)
      6.5%
      max(8px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: clamp(8px, 1.15dvh, 12px) !important;
    overflow: hidden !important;
  }

  .mobile-finance-heading {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-finance-heading > p,
  .mobile-finance-index {
    margin: 0 !important;
    color: #c27808 !important;
    font-size: clamp(8px, min(2.5vw, 1.2dvh), 11px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }

  .mobile-finance-heading > i {
    display: block !important;
    width: clamp(36px, 10vw, 48px) !important;
    height: 3px !important;
    margin: clamp(6px, 0.85dvh, 9px) 0 !important;
    background: #d49516 !important;
  }

  .mobile-finance-heading h2 {
    max-width: 10.5ch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #071126 !important;
    font-size: clamp(30px, min(9.2vw, 4.55dvh), 41px) !important;
    font-weight: 900 !important;
    line-height: 0.94 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  .mobile-finance-heading > span {
    display: block !important;
    max-width: 35ch !important;
    margin-top: clamp(7px, 1dvh, 10px) !important;
    color: #263247 !important;
    font-size: clamp(9px, min(2.65vw, 1.3dvh), 12px) !important;
    line-height: 1.4 !important;
  }

  .mobile-finance-workflow {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: clamp(6px, 0.85dvh, 9px) !important;
  }

  .mobile-finance-workflow > input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .mobile-finance-tabs {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    border: 1px solid #d8dde4 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  .mobile-finance-tabs label {
    box-sizing: border-box !important;
    min-width: 0 !important;
    height: clamp(48px, 6.8dvh, 58px) !important;
    margin: 0 !important;
    padding: clamp(5px, 0.75dvh, 7px) 3px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 3px !important;
    border: 0 !important;
    border-right: 1px solid #d8dde4 !important;
    color: #071126 !important;
    background: #ffffff !important;
    cursor: pointer !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  .mobile-finance-tabs label:last-child {
    border-right: 0 !important;
  }

  .mobile-finance-tabs label b {
    color: inherit !important;
    font-size: clamp(17px, min(5vw, 2.4dvh), 22px) !important;
    font-weight: 400 !important;
    line-height: 0.8 !important;
  }

  .mobile-finance-tabs label span {
    color: inherit !important;
    font-size: clamp(7px, min(2.15vw, 1.05dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  #mobileFinanceMortgage:focus-visible ~ .mobile-finance-tabs label[for="mobileFinanceMortgage"],
  #mobileFinanceInfonavit:focus-visible ~ .mobile-finance-tabs label[for="mobileFinanceInfonavit"],
  #mobileFinanceCash:focus-visible ~ .mobile-finance-tabs label[for="mobileFinanceCash"] {
    outline: 2px solid #d49516 !important;
    outline-offset: -3px !important;
  }

  #mobileFinanceMortgage:checked ~ .mobile-finance-tabs label[for="mobileFinanceMortgage"],
  #mobileFinanceInfonavit:checked ~ .mobile-finance-tabs label[for="mobileFinanceInfonavit"],
  #mobileFinanceCash:checked ~ .mobile-finance-tabs label[for="mobileFinanceCash"] {
    color: #ffffff !important;
    background: #071a39 !important;
    text-decoration: none !important;
  }

  .mobile-finance-panels {
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .mobile-finance-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
    border: 0 !important;
    background: #ffffff !important;
  }

  #mobileFinanceMortgage:checked ~ .mobile-finance-panels .mobile-finance-panel--mortgage,
  #mobileFinanceInfonavit:checked ~ .mobile-finance-panels .mobile-finance-panel--infonavit,
  #mobileFinanceCash:checked ~ .mobile-finance-panels .mobile-finance-panel--cash {
    display: grid !important;
    animation: mobileFinanceReveal 240ms ease both !important;
  }

  .mobile-finance-panel > header {
    box-sizing: border-box !important;
    position: relative !important;
    margin: 0 !important;
    padding: clamp(9px, 1.25dvh, 12px) clamp(10px, 3vw, 15px) !important;
    border: 0 !important;
    background: linear-gradient(120deg, #f7f2e8, #fbfaf7) !important;
  }

  .mobile-finance-panel > header > span {
    color: #bd7205 !important;
    font-size: clamp(7px, min(2.1vw, 1dvh), 9px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
  }

  .mobile-finance-panel > header h3 {
    max-width: 22ch !important;
    margin: clamp(3px, 0.45dvh, 5px) 0 !important;
    color: #071126 !important;
    font-size: clamp(14px, min(4.1vw, 1.9dvh), 18px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .mobile-finance-panel > header p {
    max-width: 34ch !important;
    margin: 0 !important;
    color: #3a4555 !important;
    font-size: clamp(7px, min(2.15vw, 1.02dvh), 9px) !important;
    line-height: 1.25 !important;
  }

  .mobile-finance-panel > header a {
    position: absolute !important;
    right: clamp(9px, 2.7vw, 13px) !important;
    bottom: clamp(8px, 1.1dvh, 11px) !important;
    color: #071126 !important;
    font-size: clamp(6px, min(1.9vw, 0.9dvh), 8px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
  }

  .mobile-finance-panel ol {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
    list-style: none !important;
  }

  .mobile-finance-panel li {
    box-sizing: border-box !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: clamp(3px, 0.55dvh, 6px) clamp(6px, 1.7vw, 9px) !important;
    display: grid !important;
    grid-template-columns: clamp(27px, 7.5vw, 34px) clamp(74px, 22vw, 97px) minmax(0, 1fr) 8px !important;
    align-items: center !important;
    gap: clamp(3px, 1vw, 6px) !important;
    border-bottom: 1px solid #dfe3e8 !important;
  }

  .mobile-finance-panel li > b {
    color: #c47707 !important;
    font-size: clamp(9px, min(2.75vw, 1.3dvh), 12px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .mobile-finance-panel li > strong {
    color: #071126 !important;
    font-size: clamp(8px, min(2.4vw, 1.15dvh), 10px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  .mobile-finance-panel li > span {
    color: #475266 !important;
    font-size: clamp(6px, min(1.85vw, 0.86dvh), 8px) !important;
    line-height: 1.2 !important;
  }

  .mobile-finance-panel li > i {
    color: #081327 !important;
    font-size: clamp(14px, 4vw, 18px) !important;
    font-style: normal !important;
    line-height: 1 !important;
  }

  @keyframes mobileFinanceReveal {
    from { opacity: 0; transform: translateX(4%); }
    to { opacity: 1; transform: translateX(0); }
  }

  /* 07 / NOM-247 móvil. */
  .mobile-nom247-section {
    color: #ffffff !important;
    background:
      radial-gradient(circle at 79% 70%, rgba(67, 36, 130, 0.58), transparent 43%),
      radial-gradient(circle at 84% 19%, rgba(18, 157, 207, 0.62), transparent 42%),
      linear-gradient(135deg, #032f40 0%, #075b77 46%, #174b89 78%, #25215f 100%) !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-nom247-nav {
    position: absolute !important;
    z-index: 5 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-nom247-section::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: clamp(72px, 10dvh, 92px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.19) !important;
    background: rgba(2, 25, 36, 0.42) !important;
  }

  .mobile-nom247-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding:
      clamp(104px, 13dvh, 122px)
      7.5%
      max(12px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: clamp(11px, 1.6dvh, 17px) !important;
    overflow: hidden !important;
  }

  .mobile-nom247-copy {
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-nom247-copy h2 {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(31px, min(9.5vw, 4.8dvh), 43px) !important;
    font-weight: 900 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  .mobile-nom247-copy h2 span {
    color: #f2ae1d !important;
  }

  .mobile-nom247-copy > i {
    display: block !important;
    width: clamp(39px, 11.5vw, 54px) !important;
    height: 3px !important;
    margin: clamp(9px, 1.25dvh, 13px) 0 !important;
    background: #f0ac1c !important;
  }

  .mobile-nom247-copy p {
    max-width: 33ch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(11px, min(3.25vw, 1.62dvh), 15px) !important;
    line-height: 1.4 !important;
  }

  .mobile-nom247-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(7px, 1dvh, 10px) !important;
  }

  .mobile-nom247-actions a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(43px, 6.2dvh, 54px) !important;
    margin: 0 !important;
    padding: 0 clamp(14px, 4vw, 22px) !important;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) 28px !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 3px !important;
    color: #07101a !important;
    background: linear-gradient(90deg, #e5a21d, #efbd39) !important;
    text-decoration: none !important;
  }

  .mobile-nom247-actions a strong {
    grid-column: 2 !important;
    color: inherit !important;
    font-size: clamp(10px, min(3vw, 1.45dvh), 13px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-nom247-actions a span {
    color: inherit !important;
    font-size: clamp(18px, 5vw, 23px) !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .mobile-nom247-actions .mobile-nom247-read {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.88) !important;
    background: rgba(3, 47, 67, 0.34) !important;
  }

  .mobile-nom247-actions .mobile-nom247-read strong {
    grid-column: 1 / 3 !important;
  }

  .mobile-nom247-visual {
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
  }

  .mobile-nom247-disc {
    position: absolute !important;
    z-index: 0 !important;
    top: 7% !important;
    left: 50% !important;
    width: min(62vw, 270px) !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    background: rgba(1, 20, 36, 0.78) !important;
    transform: translateX(-50%) !important;
  }

  .mobile-nom247-book {
    position: relative !important;
    z-index: 1 !important;
    width: min(82vw, 350px) !important;
    height: min(100%, 300px) !important;
    min-height: 150px !important;
  }

  .mobile-nom247-cover,
  .mobile-nom247-page {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 6% !important;
    width: 47% !important;
    height: 89% !important;
    box-shadow: 0 12px 25px rgba(1, 8, 21, 0.24) !important;
  }

  .mobile-nom247-cover {
    z-index: 2 !important;
    left: 8% !important;
    padding: 16% 8% 8% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: clamp(6px, 1dvh, 10px) !important;
    overflow: hidden !important;
    color: #efb127 !important;
    background:
      radial-gradient(circle at 1px 1px, rgba(83, 128, 169, 0.35) 1px, transparent 1.3px) 0 0 / 8px 8px,
      linear-gradient(145deg, #082a50, #041932) !important;
    transform: rotate(-2deg) !important;
  }

  .mobile-nom247-cover strong {
    color: #efb127 !important;
    font-size: clamp(11px, min(3.4vw, 1.65dvh), 15px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
  }

  .mobile-nom247-cover span {
    color: #efb127 !important;
    font-size: clamp(8px, min(2.45vw, 1.18dvh), 11px) !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    text-transform: uppercase !important;
  }

  .mobile-nom247-cover img {
    position: absolute !important;
    right: 18% !important;
    bottom: 5% !important;
    width: 53% !important;
    height: auto !important;
    opacity: 0.12 !important;
  }

  .mobile-nom247-page {
    z-index: 3 !important;
    right: 7% !important;
    padding: 23% 12% 10% !important;
    background: linear-gradient(90deg, #f3f4f5, #ffffff 16%, #f9fafb) !important;
    transform: rotate(1.5deg) !important;
  }

  .mobile-nom247-page span {
    display: block !important;
    height: 3px !important;
    margin: 0 0 7% !important;
    background: #b8c0ca !important;
  }

  .mobile-nom247-page span:nth-child(2) { width: 82% !important; }
  .mobile-nom247-page span:nth-child(3) { width: 91% !important; }
  .mobile-nom247-page span:nth-child(4) { width: 74% !important; }

  .mobile-nom247-page i {
    position: absolute !important;
    right: 12% !important;
    bottom: 10% !important;
    left: 12% !important;
    height: 24% !important;
    border: 1px solid #bdc7d2 !important;
    background:
      linear-gradient(90deg, transparent 32%, #bdc7d2 32%, #bdc7d2 33%, transparent 33%, transparent 66%, #bdc7d2 66%, #bdc7d2 67%, transparent 67%),
      linear-gradient(0deg, transparent 48%, #bdc7d2 48%, #bdc7d2 51%, transparent 51%) !important;
  }

  .mobile-nom247-page-back {
    z-index: 1 !important;
    right: 4% !important;
    background: #ffffff !important;
    transform: rotate(4deg) !important;
  }

  /* 01 / Hero móvil */
  .mobile-hero-section {
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(4, 12, 11, 0.76) 0%, rgba(4, 12, 11, 0.48) 48%, rgba(4, 12, 11, 0.16) 100%),
      linear-gradient(0deg, rgba(4, 12, 11, 0.38) 0%, transparent 45%),
      url("../imagenes/movil/fondos/asesoria.png") center / cover no-repeat !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  .mobile-hero-nav {
    position: absolute !important;
    z-index: 3 !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    right: 7% !important;
    left: 7% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .mobile-hero-logo {
    display: block !important;
    width: clamp(63px, 16.5vw, 78px) !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .mobile-hero-menu {
    box-sizing: border-box !important;
    width: clamp(55px, 15.5vw, 82px) !important;
    height: clamp(42px, 12vw, 58px) !important;
    margin: 6px 0 0 !important;
    padding: 7px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  .mobile-hero-menu span {
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    margin: 0 !important;
    border: 0 !important;
    background: #ffffff !important;
  }

  .mobile-hero-content {
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding:
      clamp(104px, 14dvh, 142px)
      6.5%
      max(9px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: clamp(16px, 2.35dvh, 25px) !important;
  }

  .mobile-hero-copy {
    width: 100% !important;
    max-width: 580px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-hero-eyebrow {
    max-width: 32ch !important;
    margin: 0 0 clamp(7px, 1.1dvh, 11px) !important;
    padding: 0 0 0 clamp(38px, 10vw, 58px) !important;
    position: relative !important;
    color: #efad28 !important;
    font-size: clamp(10px, min(2.8vw, 1.65dvh), 14px) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.13em !important;
    text-transform: uppercase !important;
  }

  .mobile-hero-eyebrow::before {
    content: "" !important;
    position: absolute !important;
    top: 0.62em !important;
    left: 0 !important;
    width: clamp(27px, 7vw, 42px) !important;
    height: 2px !important;
    background: #efad28 !important;
  }

  .mobile-hero-copy h1 {
    max-width: 11.5ch !important;
    margin: 0 0 clamp(8px, 1.25dvh, 13px) !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(29px, min(10.2vw, 5.8dvh), 50px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
    text-transform: uppercase !important;
  }

  .mobile-hero-lead {
    max-width: 31ch !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: clamp(13px, min(4.1vw, 2.25dvh), 18px) !important;
    font-weight: 400 !important;
    line-height: 1.34 !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.48) !important;
  }

  .mobile-hero-search {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 610px !important;
    margin: 0 !important;
    padding: clamp(12px, 1.7dvh, 17px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(7px, 1dvh, 10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.28) !important;
    transform: none !important;
  }

  .mobile-search-field {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(42px, 5.4dvh, 49px) !important;
    margin: 0 !important;
    padding: 0 clamp(12px, 3.2vw, 17px) !important;
    display: grid !important;
    grid-template-columns: clamp(19px, 5vw, 23px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(9px, 2.4vw, 13px) !important;
    border: 1px solid #dde3e9 !important;
    border-radius: 12px !important;
    background: #fbfcfd !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  }

  .mobile-search-field:focus-within {
    border-color: #dea021 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(222, 160, 33, 0.14) !important;
  }

  .mobile-search-icon {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center !important;
  }

  .mobile-search-icon img {
    display: block !important;
    width: clamp(17px, 4.5vw, 21px) !important;
    height: clamp(17px, 4.5vw, 21px) !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .mobile-search-field select,
  .mobile-search-field input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    color: #4b5563 !important;
    background: transparent !important;
    box-shadow: none !important;
    font: 500 clamp(12px, 3.35vw, 15px) / 1.1 Arial, Helvetica, sans-serif !important;
  }

  .mobile-search-field input::placeholder {
    color: #707782 !important;
    opacity: 1 !important;
  }

  .mobile-search-submit {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(48px, 6.2dvh, 56px) !important;
    margin: 0 !important;
    padding: 0 clamp(14px, 4vw, 24px) !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    background: linear-gradient(90deg, #dfa020, #efb42f) !important;
    box-shadow: 0 9px 20px rgba(191, 125, 0, 0.25) !important;
    font-size: clamp(12px, 3.35vw, 15px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .mobile-search-submit:active {
    background: #cf8d0d !important;
  }

  /* Parallax exclusivo de las cuatro primeras pantallas móviles.
     Las capas visuales permanecen ancladas al viewport y el contenido
     continúa avanzando con el desplazamiento natural del documento. */
  .mobile-hero-section,
  .mobile-advisor-section,
  .mobile-investment-section,
  .mobile-catalog-section {
    background-attachment: fixed, fixed, fixed !important;
    background-repeat: no-repeat, no-repeat, no-repeat !important;
  }

  /* Desde la quinta pantalla (mapa) se recupera el desplazamiento normal. */
  .mobile-map-section,
  .mobile-map-section ~ .mobile-color-section {
    background-attachment: scroll !important;
  }

  /* Ritmo común de las pantallas editoriales 02, 03 y 04.
     Asesor y catálogo conservan sus funciones, pero el contenido queda
     centrado verticalmente y avanza en una sola secuencia compacta. */
  .mobile-advisor-section .mobile-advisor-content {
    padding:
      max(34px, 5.2dvh)
      6%
      max(16px, 2.8dvh, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: clamp(6px, 0.9dvh, 10px) !important;
  }

  .mobile-advisor-section .mobile-advisor-intro,
  .mobile-advisor-section .mobile-advisor-identity,
  .mobile-advisor-section .mobile-advisor-facts,
  .mobile-advisor-section .mobile-advisor-certifications,
  .mobile-advisor-section .mobile-advisor-action {
    flex: 0 0 auto !important;
  }

  .mobile-advisor-section .mobile-advisor-certifications {
    min-height: auto !important;
    justify-content: flex-start !important;
  }

  .mobile-advisor-section .mobile-advisor-certifications h4 {
    margin-bottom: clamp(4px, 0.55dvh, 6px) !important;
  }

  .mobile-advisor-section .mobile-advisor-action {
    margin-top: clamp(2px, 0.35dvh, 4px) !important;
  }

  .mobile-catalog-section .mobile-catalog-content {
    padding:
      max(38px, 5.8dvh)
      5%
      max(10px, 1.8dvh, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: clamp(4px, 0.65dvh, 7px) !important;
  }

  .mobile-catalog-section .mobile-catalog-intro,
  .mobile-catalog-section .mobile-catalog-filters,
  .mobile-catalog-section .mobile-catalog-inventory,
  .mobile-catalog-section .mobile-catalog-detail {
    flex: 0 0 auto !important;
  }

  .mobile-catalog-section .mobile-catalog-controls {
    margin-top: clamp(5px, 0.7dvh, 8px) !important;
  }

  .mobile-catalog-section .mobile-catalog-filters {
    padding: clamp(5px, 0.7dvh, 7px) !important;
  }

  .mobile-catalog-section .mobile-catalog-inventory {
    width: 100% !important;
    align-self: auto !important;
  }

  .mobile-catalog-section .mobile-catalog-list {
    height: clamp(140px, 22dvh, 190px) !important;
  }

  /* Sin cabeceras falsas entre pantallas: se elimina la franja oscura que
     quedó después de convertir la navegación móvil en una sola barra. */
  .mobile-map-section,
  .mobile-purchase-section {
    background: #ffffff !important;
  }

  .mobile-capture-section::before,
  .mobile-finance-section::before,
  .mobile-nom247-section::before {
    display: none !important;
  }

  .mobile-advisor-section .mobile-advisor-content,
  .mobile-investment-section .mobile-investment-content,
  .mobile-catalog-section .mobile-catalog-content,
  .mobile-map-section .mobile-map-content,
  .mobile-purchase-section .mobile-purchase-content,
  .mobile-finance-section .mobile-finance-content,
  .mobile-nom247-section .mobile-nom247-content,
  .mobile-capture-section .mobile-capture-content,
  .mobile-dashboard-section .mobile-dashboard-content,
  .mobile-advance-section .mobile-advance-content {
    padding-top: max(14px, 2.2dvh, env(safe-area-inset-top)) !important;
  }

  .mobile-footer-section .mobile-footer-hero {
    padding-top: max(14px, 2.2dvh, env(safe-area-inset-top)) !important;
    align-items: center !important;
  }

  .mobile-footer-section .mobile-footer-location {
    top: max(14px, 2.2dvh, env(safe-area-inset-top)) !important;
  }

  @media (max-height: 820px) {
    .mobile-footer-hero {
      padding-top: 81px !important;
      padding-bottom: 8px !important;
    }

    .mobile-footer-location {
      top: 70px !important;
    }

    .mobile-footer-hero h2 {
      font-size: clamp(25px, min(7.7vw, 3.55dvh), 29px) !important;
    }

    .mobile-footer-hero > div > i {
      margin: 4px 0 !important;
    }

    .mobile-footer-hero > div > p {
      margin-top: 4px !important;
      font-size: clamp(7px, min(2.15vw, 0.95dvh), 8px) !important;
      line-height: 1.22 !important;
    }

    .mobile-footer-hero nav {
      margin-top: 5px !important;
      gap: 4px !important;
    }

    .mobile-footer-hero nav a {
      height: 27px !important;
    }

    .mobile-footer-bottom {
      padding-top: 8px !important;
      padding-bottom: 5px !important;
      gap: 5px !important;
    }

    .mobile-footer-compliance button {
      min-height: 49px !important;
    }

    .mobile-footer-compliance button:last-child {
      min-height: 36px !important;
    }

    .mobile-advance-content {
      padding-top: 81px !important;
      padding-bottom: 5px !important;
      gap: 7px !important;
    }

    .mobile-advance-heading h2 {
      font-size: clamp(34px, min(10.3vw, 4.8dvh), 39px) !important;
    }

    .mobile-advance-heading > i {
      margin: 5px 0 !important;
    }

    .mobile-advance-heading > span {
      font-size: clamp(8px, min(2.45vw, 1.12dvh), 9px) !important;
      line-height: 1.25 !important;
    }

    .mobile-advance-options {
      gap: 5px !important;
    }

    .mobile-advance-card > span {
      padding-top: 6px !important;
      padding-bottom: 6px !important;
    }

    .mobile-dashboard-content {
      padding-top: 81px !important;
      padding-bottom: 5px !important;
      gap: 5px !important;
    }

    .mobile-dashboard-heading h2 {
      font-size: clamp(25px, min(7.7vw, 3.7dvh), 30px) !important;
    }

    .mobile-dashboard-heading > i {
      margin: 3px 0 !important;
    }

    .mobile-dashboard-heading > strong {
      margin-top: 4px !important;
      font-size: clamp(7px, min(2.15vw, 0.98dvh), 8px) !important;
      line-height: 1.25 !important;
    }

    .mobile-dashboard-benefits li {
      grid-template-columns: 22px minmax(0, 1fr) !important;
    }

    .mobile-dashboard-benefits li > b {
      width: 22px !important;
    }

    .mobile-capture-content {
      padding-top: 81px !important;
      padding-bottom: 5px !important;
      gap: 5px !important;
    }

    .mobile-capture-heading h2 {
      font-size: clamp(26px, min(8vw, 3.9dvh), 32px) !important;
    }

    .mobile-capture-heading > i {
      margin: 3px 0 !important;
    }

    .mobile-capture-heading > span {
      margin-top: 3px !important;
      font-size: clamp(7px, min(2.15vw, 1dvh), 8px) !important;
      line-height: 1.2 !important;
    }

    .mobile-capture-main-fields input {
      height: 25px !important;
    }

    .mobile-capture-steps > header {
      min-height: 25px !important;
    }

    .mobile-capture-submit {
      height: 36px !important;
    }

    .mobile-finance-content {
      padding-top: 81px !important;
      padding-bottom: 5px !important;
      gap: 6px !important;
    }

    .mobile-finance-heading h2 {
      font-size: clamp(27px, min(8.2vw, 4dvh), 33px) !important;
    }

    .mobile-finance-heading > i {
      margin: 4px 0 !important;
    }

    .mobile-finance-heading > span {
      margin-top: 5px !important;
      font-size: clamp(8px, min(2.35vw, 1.1dvh), 9px) !important;
      line-height: 1.25 !important;
    }

    .mobile-finance-workflow {
      gap: 5px !important;
    }

    .mobile-finance-tabs label {
      height: 43px !important;
    }

    .mobile-finance-panel > header {
      padding-top: 7px !important;
      padding-bottom: 7px !important;
    }

    .mobile-nom247-content {
      padding-top: 82px !important;
      padding-bottom: 6px !important;
      gap: 8px !important;
    }

    .mobile-nom247-copy h2 {
      font-size: clamp(28px, min(8.7vw, 4.25dvh), 35px) !important;
    }

    .mobile-nom247-copy > i {
      margin: 6px 0 !important;
    }

    .mobile-nom247-copy p {
      font-size: clamp(9px, min(2.7vw, 1.3dvh), 11px) !important;
      line-height: 1.3 !important;
    }

    .mobile-nom247-actions {
      gap: 6px !important;
    }

    .mobile-nom247-actions a {
      height: 37px !important;
    }

    .mobile-purchase-content {
      padding-top: 82px !important;
      padding-bottom: 6px !important;
      gap: 7px !important;
    }

    .mobile-purchase-heading h2 {
      font-size: clamp(27px, min(7.8vw, 4.1dvh), 33px) !important;
    }

    .mobile-purchase-heading i {
      margin: 5px 0 !important;
    }

    .mobile-purchase-heading p {
      font-size: clamp(8px, min(2.45vw, 1.2dvh), 10px) !important;
      line-height: 1.3 !important;
    }

    .mobile-purchase-list {
      gap: 5px !important;
    }

    .mobile-purchase-card-copy {
      padding-top: 6px !important;
      padding-bottom: 6px !important;
    }

    .mobile-catalog-content {
      padding-top: 84px !important;
      padding-bottom: 6px !important;
      gap: 4px !important;
    }

    .mobile-catalog-intro h2 {
      font-size: clamp(27px, min(8.4vw, 4.45dvh), 36px) !important;
    }

    .mobile-catalog-intro > span {
      font-size: clamp(8px, min(2.45vw, 1.28dvh), 10px) !important;
      line-height: 1.3 !important;
    }

    .mobile-catalog-controls strong,
    .mobile-catalog-controls button {
      height: 27px !important;
    }

    .mobile-catalog-filters {
      padding: 5px !important;
    }

    .mobile-catalog-filters input,
    .mobile-catalog-filters select {
      height: 24px !important;
    }

    .mobile-catalog-property {
      min-height: clamp(50px, 7.2dvh, 58px) !important;
    }

    .mobile-catalog-detail {
      height: 39px !important;
    }

    .mobile-investment-content {
      padding-top: 86px !important;
      padding-right: 6.5% !important;
      padding-bottom: 14px !important;
      padding-left: 6.5% !important;
      gap: 7px !important;
    }

    .mobile-investment-content h2 {
      font-size: clamp(32px, min(10.5vw, 5.8dvh), 47px) !important;
    }

    .mobile-investment-copy {
      font-size: clamp(11px, min(3.3vw, 1.8dvh), 15px) !important;
      line-height: 1.34 !important;
    }

    .mobile-investment-action {
      height: 40px !important;
      margin-top: 8px !important;
    }

    .mobile-advisor-content {
      padding-top: 20px !important;
      padding-bottom: 10px !important;
      gap: 7px !important;
    }

    .mobile-advisor-intro h2 {
      font-size: clamp(31px, min(9.2vw, 4.9dvh), 39px) !important;
    }

    .mobile-advisor-intro > span {
      font-size: clamp(10px, min(3.1vw, 1.75dvh), 14px) !important;
    }

    .mobile-advisor-cert-preview {
      width: clamp(24px, 3.8dvh, 31px) !important;
      height: clamp(24px, 3.8dvh, 31px) !important;
    }

    .mobile-advisor-action {
      height: 42px !important;
    }

    .mobile-hero-content {
      padding-top: 96px !important;
      padding-bottom: 7px !important;
      gap: 12px !important;
    }

    .mobile-hero-logo {
      width: 63px !important;
    }

    .mobile-hero-menu {
      width: 50px !important;
      height: 42px !important;
    }

    .mobile-hero-eyebrow {
      margin-bottom: 6px !important;
      font-size: 10px !important;
    }

    .mobile-hero-copy h1 {
      margin-bottom: 6px !important;
      font-size: clamp(28px, min(9vw, 5.35dvh), 41px) !important;
    }

    .mobile-hero-lead {
      font-size: clamp(12px, min(3.6vw, 2.15dvh), 16px) !important;
      line-height: 1.28 !important;
    }

    .mobile-hero-search {
      padding: 10px !important;
      gap: 7px !important;
    }

    .mobile-search-field {
      height: 40px !important;
    }

    .mobile-search-submit {
      height: 46px !important;
    }
  }

  @media (max-height: 640px) {
    .mobile-footer-hero {
      padding-top: 56px !important;
      padding-right: 6% !important;
      padding-bottom: 5px !important;
      padding-left: 6% !important;
    }

    .mobile-footer-location {
      top: 48px !important;
      right: 6% !important;
      font-size: 4px !important;
    }

    .mobile-footer-hero small {
      font-size: 5px !important;
    }

    .mobile-footer-hero > div > i {
      width: 24px !important;
      margin: 2px 0 !important;
    }

    .mobile-footer-hero h2 {
      font-size: 20px !important;
    }

    .mobile-footer-hero > div > p {
      margin-top: 2px !important;
      font-size: 5px !important;
      line-height: 1.15 !important;
    }

    .mobile-footer-hero nav {
      width: 170px !important;
      margin-top: 3px !important;
      gap: 3px !important;
    }

    .mobile-footer-hero nav a {
      height: 21px !important;
      font-size: 5px !important;
    }

    .mobile-footer-bottom {
      padding: 5px 4.5% 3px !important;
      gap: 3px !important;
    }

    .mobile-footer-columns {
      gap: 4px !important;
    }

    .mobile-footer-columns section {
      gap: 2px !important;
    }

    .mobile-footer-columns section > b {
      font-size: 10px !important;
    }

    .mobile-footer-columns section > strong,
    .mobile-footer-columns a,
    .mobile-footer-columns span {
      font-size: 4px !important;
    }

    .mobile-footer-compliance {
      gap: 3px !important;
    }

    .mobile-footer-compliance button {
      min-height: 39px !important;
      padding: 4px 22px 4px 5px !important;
    }

    .mobile-footer-compliance button:last-child {
      min-height: 29px !important;
    }

    .mobile-footer-compliance button > span,
    .mobile-footer-compliance button > strong {
      font-size: 4px !important;
    }

    .mobile-footer-compliance button > i {
      right: 5px !important;
      width: 17px !important;
      font-size: 10px !important;
    }

    .mobile-footer-legal {
      padding-top: 3px !important;
      gap: 3px !important;
    }

    .mobile-footer-legal nav {
      gap: 3px !important;
    }

    .mobile-footer-legal > span,
    .mobile-footer-legal button {
      font-size: 3px !important;
    }

    .mobile-advance-content {
      padding-top: 56px !important;
      padding-right: 4.5% !important;
      padding-bottom: 3px !important;
      padding-left: 4.5% !important;
      gap: 4px !important;
    }

    .mobile-advance-heading > p {
      margin-bottom: 2px !important;
      font-size: 6px !important;
    }

    .mobile-advance-heading h2 {
      font-size: 27px !important;
    }

    .mobile-advance-heading > i {
      width: 25px !important;
      margin: 3px 0 !important;
    }

    .mobile-advance-heading > span {
      font-size: 6px !important;
      line-height: 1.15 !important;
    }

    .mobile-advance-options {
      gap: 3px !important;
    }

    .mobile-advance-card {
      grid-template-columns: 42% minmax(0, 1fr) 12px !important;
    }

    .mobile-advance-card > span {
      padding: 4px 5px !important;
      gap: 2px !important;
    }

    .mobile-advance-card small,
    .mobile-advance-card p {
      font-size: 5px !important;
    }

    .mobile-advance-card strong {
      font-size: 9px !important;
    }

    .mobile-dashboard-content {
      padding-top: 56px !important;
      padding-right: 4.5% !important;
      padding-bottom: 3px !important;
      padding-left: 4.5% !important;
      gap: 3px !important;
    }

    .mobile-dashboard-heading > p {
      font-size: 6px !important;
    }

    .mobile-dashboard-heading > i {
      width: 24px !important;
      margin: 2px 0 !important;
    }

    .mobile-dashboard-heading h2 {
      font-size: 20px !important;
    }

    .mobile-dashboard-heading > strong {
      margin-top: 2px !important;
      font-size: 5px !important;
      line-height: 1.15 !important;
    }

    .mobile-dashboard-benefits li {
      grid-template-columns: 17px minmax(0, 1fr) !important;
      gap: 2px !important;
    }

    .mobile-dashboard-benefits li > b {
      width: 17px !important;
      font-size: 8px !important;
    }

    .mobile-dashboard-benefits strong,
    .mobile-dashboard-benefits small {
      font-size: 4px !important;
    }

    .mobile-dashboard-demo {
      padding-bottom: 28px !important;
    }

    .mobile-dashboard-actions {
      height: 28px !important;
    }

    .mobile-dashboard-actions a {
      font-size: 5px !important;
    }

    .mobile-capture-content {
      padding-top: 56px !important;
      padding-right: 5% !important;
      padding-bottom: 3px !important;
      padding-left: 5% !important;
      gap: 3px !important;
    }

    .mobile-capture-heading > p,
    .mobile-capture-main-fields label > span,
    .mobile-capture-steps > header strong,
    .mobile-capture-steps > header span {
      font-size: 5px !important;
    }

    .mobile-capture-heading > i {
      width: 28px !important;
      height: 2px !important;
      margin: 2px 0 !important;
    }

    .mobile-capture-heading h2 {
      font-size: 21px !important;
    }

    .mobile-capture-heading > span {
      margin-top: 2px !important;
      font-size: 5px !important;
      line-height: 1.15 !important;
    }

    .mobile-capture-main-fields {
      gap: 2px !important;
    }

    .mobile-capture-main-fields input {
      height: 19px !important;
      padding: 0 6px !important;
      font-size: 6px !important;
    }

    .mobile-capture-steps > header {
      min-height: 20px !important;
      padding: 0 6px !important;
    }

    .mobile-capture-step-list {
      padding: 0 6px !important;
    }

    .mobile-capture-step-button {
      grid-template-columns: 25px minmax(0, 1fr) 7px !important;
      gap: 4px !important;
      padding: 2px 0 !important;
    }

    .mobile-capture-step-button > b {
      width: 24px !important;
      font-size: 6px !important;
    }

    .mobile-capture-step-button strong,
    .mobile-capture-step-button small {
      font-size: 5px !important;
    }

    .mobile-capture-submit {
      height: 30px !important;
    }

    .mobile-capture-submit strong {
      font-size: 7px !important;
    }

    .mobile-finance-content {
      padding-top: 57px !important;
      padding-right: 5% !important;
      padding-bottom: 3px !important;
      padding-left: 5% !important;
      gap: 3px !important;
    }

    .mobile-finance-heading > p,
    .mobile-finance-index {
      font-size: 6px !important;
    }

    .mobile-finance-heading > i {
      width: 28px !important;
      height: 2px !important;
      margin: 2px 0 !important;
    }

    .mobile-finance-heading h2 {
      font-size: 22px !important;
    }

    .mobile-finance-heading > span {
      margin-top: 2px !important;
      font-size: 6px !important;
      line-height: 1.15 !important;
    }

    .mobile-finance-workflow {
      gap: 3px !important;
    }

    .mobile-finance-tabs label {
      height: 34px !important;
      padding: 2px !important;
      gap: 1px !important;
    }

    .mobile-finance-tabs label b {
      font-size: 13px !important;
    }

    .mobile-finance-tabs label span {
      font-size: 6px !important;
    }

    .mobile-finance-panel > header {
      padding: 4px 7px !important;
    }

    .mobile-finance-panel > header > span,
    .mobile-finance-panel > header p,
    .mobile-finance-panel > header a,
    .mobile-finance-panel li > span {
      font-size: 5px !important;
    }

    .mobile-finance-panel > header h3 {
      margin: 2px 0 !important;
      font-size: 11px !important;
    }

    .mobile-finance-panel li {
      padding: 2px 4px !important;
      grid-template-columns: 23px 62px minmax(0, 1fr) 6px !important;
      gap: 2px !important;
    }

    .mobile-finance-panel li > b,
    .mobile-finance-panel li > strong {
      font-size: 6px !important;
    }

    .mobile-nom247-content {
      padding-top: 58px !important;
      padding-right: 6% !important;
      padding-bottom: 4px !important;
      padding-left: 6% !important;
      gap: 4px !important;
    }

    .mobile-nom247-copy h2 {
      font-size: 25px !important;
      line-height: 0.93 !important;
    }

    .mobile-nom247-copy > i {
      width: 30px !important;
      height: 2px !important;
      margin: 4px 0 !important;
    }

    .mobile-nom247-copy p {
      font-size: 7px !important;
      line-height: 1.2 !important;
    }

    .mobile-nom247-actions {
      gap: 4px !important;
    }

    .mobile-nom247-actions a {
      height: 31px !important;
    }

    .mobile-nom247-actions a strong {
      font-size: 8px !important;
    }

    .mobile-nom247-book {
      min-height: 120px !important;
    }

    .mobile-purchase-content {
      padding-top: 59px !important;
      padding-right: 5% !important;
      padding-bottom: 4px !important;
      padding-left: 5% !important;
      gap: 4px !important;
    }

    .mobile-purchase-heading h2 {
      font-size: 23px !important;
    }

    .mobile-purchase-heading i {
      width: 30px !important;
      height: 2px !important;
      margin: 3px 0 !important;
    }

    .mobile-purchase-heading p {
      font-size: 7px !important;
      line-height: 1.2 !important;
    }

    .mobile-purchase-list {
      gap: 3px !important;
    }

    .mobile-purchase-card-copy {
      padding: 4px 6px !important;
      gap: 1px !important;
    }

    .mobile-purchase-card-copy small,
    .mobile-purchase-card-detail small,
    .mobile-purchase-card-copy p,
    .mobile-purchase-card-detail p,
    .mobile-purchase-card-detail em,
    .mobile-purchase-card-copy > span {
      font-size: 6px !important;
    }

    .mobile-purchase-card-copy h3,
    .mobile-purchase-card-detail h3 {
      font-size: 10px !important;
    }

    .mobile-purchase-card-detail {
      padding: 5px 26px 4px 7px !important;
    }

    .mobile-catalog-content {
      padding-top: 60px !important;
      padding-right: 4% !important;
      padding-bottom: 4px !important;
      padding-left: 4% !important;
      gap: 3px !important;
    }

    .mobile-catalog-intro > p {
      margin-bottom: 3px !important;
      font-size: 7px !important;
    }

    .mobile-catalog-intro h2 {
      margin-bottom: 3px !important;
      font-size: 24px !important;
    }

    .mobile-catalog-intro > span {
      font-size: 7px !important;
      line-height: 1.2 !important;
    }

    .mobile-catalog-controls {
      margin-top: 4px !important;
    }

    .mobile-catalog-controls strong,
    .mobile-catalog-controls button {
      height: 22px !important;
    }

    .mobile-catalog-filters {
      padding: 3px !important;
      gap: 3px !important;
    }

    .mobile-catalog-filters label {
      gap: 2px !important;
    }

    .mobile-catalog-filters input,
    .mobile-catalog-filters select {
      height: 20px !important;
      font-size: 7px !important;
    }

    .mobile-catalog-filters > button {
      height: 18px !important;
    }

    .mobile-catalog-property {
      min-height: 44px !important;
      grid-template-columns: 42px minmax(0, 1fr) 48px !important;
      padding: 3px 0 !important;
    }

    .mobile-catalog-property strong {
      font-size: 8px !important;
    }

    .mobile-catalog-property small,
    .mobile-catalog-property > span > b {
      font-size: 6px !important;
    }

    .mobile-catalog-property-detail {
      min-height: 27px !important;
      font-size: 6px !important;
    }

    .mobile-catalog-detail {
      height: 32px !important;
    }

    .mobile-catalog-detail strong {
      font-size: 8px !important;
    }

    .mobile-investment-content {
      padding-top: 68px !important;
      padding-right: 5.5% !important;
      padding-bottom: 8px !important;
      padding-left: 5.5% !important;
      gap: 4px !important;
    }

    .mobile-investment-kicker {
      padding-top: 16px !important;
      font-size: 8px !important;
    }

    .mobile-investment-factors {
      margin-top: 3px !important;
      font-size: 8px !important;
    }

    .mobile-investment-content h2 {
      margin-top: 3px !important;
      font-size: clamp(27px, min(8.6vw, 4.8dvh), 31px) !important;
    }

    .mobile-investment-copy {
      margin-top: 3px !important;
      font-size: 9px !important;
      line-height: 1.25 !important;
    }

    .mobile-investment-action {
      height: 34px !important;
      margin-top: 6px !important;
    }

    .mobile-investment-action strong {
      font-size: 9px !important;
    }

    .mobile-advisor-content {
      padding-top: 10px !important;
      padding-right: 5.5% !important;
      padding-left: 5.5% !important;
      padding-bottom: 6px !important;
      gap: 4px !important;
    }

    .mobile-advisor-intro > p {
      margin-bottom: 3px !important;
      font-size: 8px !important;
    }

    .mobile-advisor-intro h2 {
      margin-bottom: 3px !important;
      font-size: 27px !important;
    }

    .mobile-advisor-intro > span {
      font-size: 9px !important;
      line-height: 1.2 !important;
    }

    .mobile-advisor-identity h3 {
      font-size: 20px !important;
    }

    .mobile-advisor-identity small,
    .mobile-advisor-identity strong,
    .mobile-advisor-facts dt,
    .mobile-advisor-facts dd {
      font-size: 7px !important;
    }

    .mobile-advisor-certifications h4 {
      margin-bottom: 3px !important;
      font-size: 9px !important;
    }

    .mobile-advisor-cert-preview {
      width: 20px !important;
      height: 20px !important;
    }

    .mobile-advisor-cert-grid strong {
      font-size: 7px !important;
    }

    .mobile-advisor-cert-grid small {
      font-size: 6px !important;
    }

    .mobile-advisor-action {
      height: 36px !important;
    }

    .mobile-hero-content {
      padding-top: 76px !important;
      padding-right: 5.5% !important;
      padding-left: 5.5% !important;
      padding-bottom: 5px !important;
      gap: 8px !important;
    }

    .mobile-hero-logo {
      width: 54px !important;
    }

    .mobile-hero-menu {
      width: 42px !important;
      height: 36px !important;
    }

    .mobile-hero-eyebrow {
      margin-bottom: 4px !important;
      font-size: 8px !important;
    }

    .mobile-hero-copy h1 {
      margin-bottom: 4px !important;
      font-size: clamp(24px, min(8.4vw, 5.1dvh), 32px) !important;
    }

    .mobile-hero-lead {
      font-size: 11px !important;
      line-height: 1.22 !important;
    }

    .mobile-hero-search {
      padding: 8px !important;
      gap: 5px !important;
    }

    .mobile-search-field {
      height: 34px !important;
    }

    .mobile-search-field select,
    .mobile-search-field input {
      font-size: 10px !important;
    }

    .mobile-search-submit {
      height: 40px !important;
      font-size: 11px !important;
    }
  }
}
