:root { --navy: #123b6d; --navy-deep: #082b52; --blue: #3f8ff3; --blue-dark: #1d67bc; --sky: #dcecff; --ice: #edf5fd; --mist: #f6f9fc; --line: #d4e2f0; --ink: #11345d; --muted: #5b718d; --whatsapp: #148a56; --white: #ffffff; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--white); color: var(--ink); font-family: "Outfit", sans-serif; -webkit-font-smoothing: antialiased; } a { color: inherit; text-decoration: none; } img { display: block; max-width: 100%; } .container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; } .section { padding: 110px 0; } .site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); border-bottom: 1px solid rgba(18, 51, 95, .08); backdrop-filter: blur(14px); } .nav-wrap { min-height: 84px; display: flex; align-items: center; gap: 52px; } .brand { width: 150px; flex: 0 0 auto; } .desktop-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; } .desktop-nav a { font-size: 14px; font-weight: 650; color: #283f60; transition: color .2s; } .desktop-nav a:hover { color: var(--blue-dark); } .nav-actions { display: flex; align-items: center; gap: 14px; } .country-picker { position: relative; } .country-picker summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 7px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; font-size: 13px; font-weight: 650; } .country-picker summary::-webkit-details-marker { display: none; } .country-picker summary::after { content: "⌄"; color: var(--muted); } .country-menu { position: absolute; top: calc(100% + 10px); right: 0; background: white; border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(14, 43, 81, .12); border-radius: 14px; padding: 8px; width: 160px; } .country-menu a { display: block; padding: 9px 10px; border-radius: 8px; font-size: 13px; } .country-menu a:hover { background: var(--ice); } .button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 54px; padding: 0 24px; background: var(--blue); color: white; border-radius: 13px; font-size: 15px; font-weight: 750; box-shadow: 0 10px 26px rgba(63, 143, 245, .22); transition: transform .2s, background .2s; } .button:hover { transform: translateY(-2px); background: var(--blue-dark); } .button-small { min-height: 44px; padding: 0 20px; font-size: 14px; border-radius: 11px; } .mobile-menu { display: none; } .nav-wrap { gap: 18px; } .brand { width: 136px; } .desktop-nav { gap: 15px; } .services-picker { position: relative; } .desktop-nav p { display: flex; align-items: center; gap: 15px; margin: 0; } .desktop-nav a { white-space: nowrap; font-size: 12.5px; } .nav-actions .button-small { padding: 0 16px; white-space: nowrap; font-size: 12.5px; }

/* ---- Acceso al portal del agente ----
   Va en contorno, no relleno: "Quiero ser agente" sigue siendo la llamada
   principal. Son dos publicos distintos y no deben competir. */
.mb-portal-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  padding: 0 15px; border: 1px solid var(--line); border-radius: 11px;
  color: var(--navy); font-size: 12.5px; font-weight: 750; white-space: nowrap;
  transition: border-color .2s, background .2s, color .2s; }
.mb-portal-link:hover { border-color: var(--blue); background: var(--ice); color: var(--blue-dark); }
.mb-candado { width: 14px; height: 14px; flex: 0 0 auto; fill: currentColor; } .services-picker > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 6px; color: #283f60; font-size: 12.5px; font-weight: 650; } .services-picker > summary::-webkit-details-marker { display: none; } .services-picker > summary::after { content: "⌄"; color: var(--muted); font-size: 12px; } .services-menu { position: absolute; z-index: 70; top: calc(100% + 26px); left: 50%; transform: translateX(-43%); width: 790px; display: grid; grid-template-columns: 1fr 1.35fr 1fr .9fr; gap: 10px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 22px 50px rgba(14,43,81,.16); } .services-menu > div { min-width: 0; padding: 4px 10px 8px; } .services-menu a { display: block; padding: 7px 8px; border-radius: 8px; color: var(--muted); font-size: 12px; font-weight: 600; } .services-menu a:hover { background: var(--ice); color: var(--blue-dark); } .services-menu .menu-heading { margin-bottom: 5px; color: var(--navy); font-size: 13px; font-weight: 800; } .partner-logos a { display: flex; align-items: center; justify-content: center; min-width: 0; transition: transform .2s, opacity .2s; } .partner-logos a:hover { transform: translateY(-2px); opacity: .82; } @media (max-width: 980px) { .mobile-services summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 6px; color: var(--ink); font-size: 17px; font-weight: 700; border-bottom: 1px solid var(--mist); } .mobile-services summary::-webkit-details-marker { display: none; } .mobile-services summary::after { content: "+"; flex: 0 0 auto; color: var(--blue-dark); font-size: 18px; line-height: 1; } .mobile-services .mobile-sub-link { padding-left: 28px; color: var(--muted); font-size: 14.5px; font-weight: 650; } .mobile-services[open] summary::after { content: "−"; } .mobile-services > div { margin: 0 8px 6px; padding: 2px 0 2px 10px; border-left: 2px solid var(--sky); } .mobile-services > div a { display: flex; align-items: center; min-height: 48px; padding: 10px 12px; color: var(--muted); font-size: 15px; border-bottom: 0; } .mobile-menu nav .mobile-agent-link { margin-top: auto; justify-content: center; min-height: 54px; background: var(--blue); color: white; border-radius: 12px; border-bottom: 0; font-size: 16px; }
  .mobile-menu nav .mb-portal-movil { margin-top: 10px; gap: 10px; background: var(--white);
    color: var(--navy); border: 1px solid var(--line); }
  .mobile-menu nav .mb-portal-movil .mb-candado { width: 16px; height: 16px; } } @media (max-width: 680px) { .partner-logos a:last-child { grid-column: 1 / -1; } } @media (max-width: 980px) { .menu-toggle-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } .mobile-menu > label { display: flex; flex-direction: column; gap: 5px; width: 42px; padding: 10px; cursor: pointer; } .mobile-menu > label span { height: 2px; background: var(--navy); border-radius: 2px; transition: transform .22s ease, opacity .16s ease; }
  .menu-toggle-input:checked ~ label span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle-input:checked ~ label span:nth-child(2) { opacity: 0; }
  .menu-toggle-input:checked ~ label span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-header { position: relative; z-index: 70; background: var(--white); }
  body:has(.menu-toggle-input:checked) { overflow: hidden; }
  /* La cabecera lleva backdrop-filter, y eso la convierte en el contenedor de
     referencia de sus hijos position:fixed: el panel rellenaba la cabecera en
     lugar de la pantalla. Se desactiva mientras el menu esta abierto. */
  body:has(.menu-toggle-input:checked) .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  /* El panel es hermano del logo y del boton dentro de la cabecera, asi que
     con z-index los taparia. Se los sube por encima. */
  .site-header .brand, .mobile-menu > label { position: relative; z-index: 80; }
  /* El boton flotante de WhatsApp (z-index 80) estorba con el menu abierto. */
  /* Con el menu abierto no debe quedar ningun boton flotante encima.
     Las clases son las que el propio script de seguimiento del sitio enumera
     como "floating", asi que cubren los plugins que se usan aqui. */
  body:has(.menu-toggle-input:checked) .whatsapp-float,
  body:has(.menu-toggle-input:checked) .mb-floating-whatsapp,
  body:has(.menu-toggle-input:checked) .mb-wa-float,
  body:has(.menu-toggle-input:checked) .joinchat,
  body:has(.menu-toggle-input:checked) .ht-ctc,
  body:has(.menu-toggle-input:checked) .ht-ctc-chat,
  body:has(.menu-toggle-input:checked) .mb-mobile-wa-bar { display: none !important; } .menu-toggle-input:not(:checked) ~ nav { display: none; } .menu-toggle-input:checked ~ nav { display: flex; } } .hero { overflow: hidden; padding: 70px 0 86px; background: radial-gradient(circle at 82% 16%, rgba(63,143,243,.18), transparent 30%), linear-gradient(125deg, #f4f8fc 0%, #eaf3fc 58%, #f9fbfd 100%); } .hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 70px; align-items: center; } .hero-copy { padding: 36px 0 14px; } .eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--blue-dark); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } .eyebrow span { width: 28px; height: 2px; background: currentColor; } h1, h2, h3, p { margin-top: 0; } h1 { max-width: 660px; margin-bottom: 26px; color: var(--navy-deep); font-size: clamp(54px, 5.1vw, 76px); line-height: .99; letter-spacing: -.045em; font-weight: 760; } h1 em { color: var(--blue); font-style: normal; } .hero-text { max-width: 590px; margin-bottom: 30px; color: var(--muted); font-size: 19px; line-height: 1.65; } .hero-actions { display: flex; align-items: center; gap: 28px; } .text-link { display: inline-flex; align-items: center; gap: 11px; color: var(--navy); font-size: 14px; font-weight: 750; } .text-link span { color: var(--blue); } .trust-points { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 36px; color: #506784; font-size: 12px; font-weight: 650; } .trust-points span::before { content: "✓"; display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 7px; background: #dcecff; color: var(--blue-dark); border-radius: 50%; font-size: 10px; } .hero-visual { position: relative; min-height: 575px; } .hero-image { position: absolute; inset: 0 0 28px 35px; background: linear-gradient(180deg, transparent 54%, rgba(5,30,58,.23)), url("https://mileniumbrokers.com/wp-content/uploads/2026/08/home-hero-milenium-2026.webp") center/cover; border-radius: 44% 16px 16px 16px; box-shadow: 0 28px 60px rgba(22, 62, 104, .18); } .experience-card { position: absolute; top: 36px; left: -22px; display: flex; align-items: center; gap: 13px; background: white; padding: 16px 19px; border-radius: 15px; box-shadow: 0 18px 42px rgba(17,55,99,.16); } .experience-card strong { color: var(--blue); font-size: 31px; line-height: 1; } .experience-card span { color: var(--ink); font-size: 11px; line-height: 1.4; font-weight: 700; } .support-card { position: absolute; right: -28px; bottom: 0; width: 285px; display: flex; gap: 13px; align-items: center; padding: 17px; background: rgba(255,255,255,.96); border-radius: 15px; box-shadow: 0 18px 46px rgba(17,55,99,.18); color: var(--muted); font-size: 11px; line-height: 1.5; } .support-card strong { color: var(--ink); display: block; font-size: 12px; } .support-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: var(--navy); color: white; font-size: 11px; font-weight: 800; } .partner-strip { padding: 27px 0; background: #f8fbff; border-top: 1px solid rgba(18,59,109,.05); border-bottom: 1px solid var(--line); } .partner-inner { display: flex; align-items: center; gap: 45px; } .partner-inner > p { width: 230px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; } .partner-logos { flex: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 24px; } .partner-logos span { display: flex; align-items: center; justify-content: center; min-width: 0; } .partner-logos a { min-width: 0; } .partner-logos img { width: auto; height: 42px; max-width: 160px; object-fit: contain; } .section-heading { margin-bottom: 50px; } .split-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; } .split-heading > p { max-width: 430px; margin-bottom: 8px; color: var(--muted); font-size: 16px; line-height: 1.65; } h2 { margin-bottom: 0; color: var(--navy-deep); font-size: clamp(38px, 4vw, 56px); line-height: 1.08; letter-spacing: -.035em; } .service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .service-card { overflow: hidden; min-width: 0; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 14px 34px rgba(19, 52, 91, .06); transition: transform .25s, box-shadow .25s; } .service-card:hover { transform: translateY(-6px); box-shadow: 0 24px 44px rgba(19, 52, 91, .12); } .service-image { position: relative; height: 240px; background-position: center; background-size: cover; } .service-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,34,66,.04), rgba(8,34,66,.18)); } .service-image > span { position: absolute; z-index: 2; top: 18px; left: 18px; display: grid; place-items: center; width: 42px; height: 42px; background: rgba(255,255,255,.94); border-radius: 11px; color: var(--navy); font-size: 12px; font-weight: 800; } .service-body { padding: 27px; } .service-body > p { margin-bottom: 11px; color: var(--blue-dark); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; } .service-body h3 { margin-bottom: 24px; color: var(--navy-deep); font-size: 23px; line-height: 1.18; letter-spacing: -.02em; } .service-footer { display: flex; align-items: end; gap: 18px; } .service-footer > span { flex: 1; color: var(--muted); font-size: 13px; line-height: 1.55; } .service-footer a { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--blue-dark); font-size: 18px; } .method { color: white; background: linear-gradient(135deg, #082b52 0%, #123f73 62%, #185391 100%); } .method-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: center; } .eyebrow-light { color: #77b4ff; } .method h2 { color: white; font-size: clamp(38px, 4vw, 53px); } .method-intro > p:not(.eyebrow) { margin: 25px 0 30px; color: #b9c9dc; font-size: 16px; line-height: 1.7; } .button-light { background: white; color: var(--navy); box-shadow: none; } .button-light:hover { background: #e9f3ff; color: var(--navy); } .steps { list-style: none; margin: 0; padding: 0; } .steps li { display: grid; grid-template-columns: 55px 1fr; gap: 22px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.13); } .steps li:first-child { border-top: 1px solid rgba(255,255,255,.13); } .steps > li > span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #77b4ff; font-size: 12px; font-weight: 800; } .steps h3 { margin: 2px 0 7px; color: white; font-size: 20px; } .steps p { margin: 0; color: #aebfd2; font-size: 14px; line-height: 1.55; } .why { background: var(--mist); } .why-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 85px; align-items: center; } .why-photo { position: relative; min-height: 590px; background: url("https://mileniumbrokers.com/wp-content/uploads/2026/08/home-por-que-milenium-2026.webp") center/cover; border-radius: 18px 18px 120px 18px; } .photo-note { position: absolute; right: -35px; bottom: 35px; display: flex; flex-direction: column; width: 285px; padding: 24px; background: white; border-left: 4px solid var(--blue); box-shadow: 0 18px 42px rgba(17,55,99,.15); } .photo-note strong { margin-bottom: 5px; color: var(--navy); font-size: 14px; } .photo-note span { color: var(--muted); font-size: 12px; line-height: 1.5; } .why-copy > p:not(.eyebrow) { margin: 27px 0; color: var(--muted); font-size: 16px; line-height: 1.7; } .why-copy ul { list-style: none; margin: 0; padding: 0; } .why-copy li { display: flex; align-items: center; gap: 16px; padding: 17px 0; border-top: 1px solid var(--line); color: #314b6e; font-size: 14px; font-weight: 650; } .why-copy li span { color: var(--blue-dark); font-size: 11px; font-weight: 850; } .centered { text-align: center; } .centered .eyebrow { justify-content: center; } .testimonial-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } blockquote { margin: 0; padding: 35px; background: var(--ice); border-radius: 18px; } .stars { margin-bottom: 20px; color: #f4a83b; letter-spacing: .16em; font-size: 13px; } blockquote > p { min-height: 108px; margin-bottom: 25px; color: #294564; font-family: inherit; font-size: 18px; font-weight: 500; line-height: 1.65; } blockquote footer { display: flex; align-items: center; gap: 12px; } blockquote footer > span { display: grid; place-items: center; width: 42px; height: 42px; background: var(--navy); border-radius: 50%; color: white; font-weight: 800; } blockquote footer strong, blockquote footer small { display: block; } blockquote footer strong { font-size: 13px; } blockquote footer small { margin-top: 3px; color: var(--muted); font-size: 11px; } blockquote footer cite { font-style: normal; } .testimonial-disclaimer { margin: 18px 0 0; color: var(--muted); font-size: 12px; text-align: center; } .resources { background: var(--mist); } .compact { align-items: center; } .compact .eyebrow { margin-bottom: 14px; } .compact h2 { font-size: clamp(34px, 3.5vw, 48px); } .article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } .article-grid article { overflow: hidden; display: flex; flex-direction: column; min-height: 340px; padding: 0 0 28px; background: white; border: 1px solid var(--line); border-radius: 16px; transition: transform .2s, box-shadow .2s; } .article-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(19,52,91,.10); } .article-image { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--ice); } .article-grid article > span { margin: 22px 28px 16px; color: var(--blue-dark); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; } .article-grid h3 { margin: 0 28px 24px; color: var(--navy); font-size: 20px; line-height: 1.4; } .article-grid a { margin: auto 28px 0; color: var(--navy); font-size: 13px; font-weight: 800; } .article-grid article.no-image { padding-top: 28px; } .article-grid a span { color: var(--blue); margin-left: 8px; } .final-cta { padding: 80px 0; background: linear-gradient(125deg, #123b6d 0%, #1f65b2 58%, #3f8ff3 100%); color: white; } .final-cta-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 100px; align-items: center; } .final-cta h2 { color: white; } .final-cta-inner > div:last-child > p { color: #e5f1ff; font-size: 16px; line-height: 1.65; } .button-whatsapp { background: white; color: var(--navy); box-shadow: 0 12px 30px rgba(5,29,57,.18); } .button-whatsapp:hover { background: #effff6; color: #0e7045; } /* Segundo boton sobre el cierre azul: alli .button-light y .button-whatsapp son los dos blancos y no se distinguen entre si. Este va en hueco. */ .final-cta .button-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);box-shadow:none} .final-cta .button-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff} .whatsapp-float { position: fixed; z-index: 80; right: 24px; bottom: 24px; display: grid; place-items: center; width: 58px; height: 58px; background: var(--whatsapp); border: 3px solid white; border-radius: 50%; box-shadow: 0 12px 28px rgba(14,86,55,.28); transition: transform .2s, background .2s; } .whatsapp-float:hover { transform: translateY(-3px) scale(1.03); background: #0f7548; } .whatsapp-float svg { width: 29px; height: 29px; fill: white; } .footer { padding: 68px 0 24px; background: #f7f9fc; } .footer-grid { display: grid; grid-template-columns: 1.4fr .75fr .75fr .85fr; gap: 44px; } .footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; } .footer-grid img { width: 155px; margin-bottom: 8px; } .footer-grid p { max-width: 370px; color: var(--muted); font-size: 13px; line-height: 1.65; } .footer-grid strong { margin-bottom: 10px; color: var(--navy); font-size: 13px; } .footer-grid a { color: var(--muted); font-size: 13px; } .footer-grid .social-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy); font-weight: 700; } .footer-grid .social-link svg { width: 18px; height: 18px; flex: 0 0 auto; fill: #0a66c2; } .footer-grid .social-link:hover { color: #0a66c2; } .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); color: #8492a5; font-size: 11px; } @media (max-width: 980px) { .desktop-nav, .nav-actions { display: none; } .nav-wrap { min-height: 74px; justify-content: space-between; } .mobile-menu { display: block; position: relative; }    .mobile-menu nav { position: fixed; inset: 0; z-index: 60; width: auto; display: flex; flex-direction: column; gap: 2px; padding: 92px 22px calc(28px + env(safe-area-inset-bottom, 0px)); background: var(--white); overflow-y: auto; overscroll-behavior: contain; } .mobile-menu nav a { display: flex; align-items: center; min-height: 52px; padding: 12px 6px; font-size: 17px; font-weight: 700; border-bottom: 1px solid var(--mist); } .hero-grid, .method-grid, .why-grid { grid-template-columns: 1fr; } .hero-grid { gap: 45px; } .hero-visual { min-height: 520px; } .service-grid, .article-grid { grid-template-columns: 1fr 1fr; } .service-card:last-child, .article-grid article:last-child { grid-column: 1 / -1; } .method-grid { gap: 55px; } .why-grid { gap: 50px; } .why-photo { min-height: 500px; } .final-cta-inner { gap: 50px; } } @media (max-width: 680px) { .container { width: min(100% - 32px, 560px); } .section { padding: 78px 0; } .brand { width: 140px; } .hero { padding: 45px 0 62px; } .hero-copy { padding: 10px 0 0; text-align: center; } .eyebrow { justify-content: center; font-size: 10px; } h1 { font-size: clamp(43px, 13vw, 61px); line-height: 1.02; } .hero-text { font-size: 16px; line-height: 1.6; } .hero-actions { flex-direction: column; gap: 19px; } .hero-actions .button { width: 100%; } .trust-points { flex-direction: column; align-items: center; margin-top: 28px; } .hero-grid { gap: 0; } .hero-visual { display: none; } .experience-card { top: 18px; left: -5px; padding: 13px; } .support-card { right: 7px; bottom: 0; width: 260px; } .partner-inner { display: block; } .partner-inner > p { width: auto; margin-bottom: 22px; text-align: center; } .partner-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 22px; } .partner-logos span:last-child { grid-column: 1 / -1; } .partner-logos img { height: 38px; max-width: 145px; } .split-heading { display: block; text-align: center; } .split-heading .eyebrow { justify-content: center; } .split-heading > p { margin: 20px auto 0; font-size: 14px; } h2 { font-size: 38px; } .service-grid, .article-grid, .testimonial-grid, .final-cta-inner, .footer-grid { grid-template-columns: 1fr; } .services { padding-top: 62px; padding-bottom: 62px; } .services .section-heading { margin-bottom: 26px; } .services .split-heading > p { display: none; } .services .service-grid { grid-template-columns: 1fr; gap: 8px; } .services .service-image, .services .service-body > p, .services .service-footer > span { display: none; } .services .service-card { border-radius: 13px; box-shadow: 0 6px 16px rgba(19,52,91,.05); } .services .service-card:hover { transform: none; } .services .service-body { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px 15px; } .services .service-body h3 { margin: 0; font-size: 15px; line-height: 1.2; text-align: left; } .services .service-footer { display: block; } .services .service-footer a { width: 32px; height: 32px; } .service-card:last-child, .article-grid article:last-child { grid-column: auto; } .service-image { height: 225px; } .method-intro { text-align: center; } .method-intro .eyebrow { justify-content: center; } .method-intro h2 { font-size: 38px; } .why-photo { min-height: 410px; border-radius: 16px 16px 80px 16px; } .photo-note { right: 12px; bottom: 20px; width: 250px; } .why-copy { text-align: center; } .why-copy .eyebrow { justify-content: center; } .why-copy li { text-align: left; } blockquote > p { min-height: 0; font-size: 18px; } .article-grid article { display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: auto auto 1fr; min-height: 126px; padding: 0; } .article-grid .article-image { grid-column: 1; grid-row: 1 / 4; width: 104px; height: 100%; min-height: 126px; aspect-ratio: auto; } .article-grid article > span { grid-column: 2; margin: 15px 16px 5px; font-size: 9px; } .article-grid h3 { grid-column: 2; margin: 0 16px 8px; font-size: 15px; line-height: 1.3; } .article-grid a { grid-column: 2; margin: 0 16px 15px; font-size: 11px; } .article-grid article.no-image { grid-template-columns: 1fr; padding-top: 0; } .article-grid article.no-image > span, .article-grid article.no-image h3, .article-grid article.no-image a { grid-column: 1; } .compact .text-link { margin-top: 22px; } .final-cta { text-align: center; } .final-cta .eyebrow { justify-content: center; } .final-cta-inner { gap: 26px; } .footer-grid { gap: 35px; } .footer-bottom { flex-direction: column; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } } .newsletter-section { padding: 82px 0; background: linear-gradient(135deg, var(--navy-deep), var(--navy)); color: var(--white); } .newsletter-inner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); gap: 64px; align-items: center; } .newsletter-copy h2 { margin: 12px 0 14px; color: var(--white); font-size: clamp(34px, 4vw, 52px); line-height: 1.08; } .newsletter-copy > p:last-child { max-width: 580px; margin: 0; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.7; } .newsletter-box { padding: 28px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 22px 54px rgba(3,27,53,.22); } .newsletter-box .elementor-form-fields-wrapper { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; } .newsletter-box .elementor-field-group { width: auto !important; margin: 0 !important; padding: 0 !important; } .newsletter-box input[type=email] { width: 100%; min-height: 58px; padding: 0 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; background: var(--white); color: var(--ink); font-family: inherit; font-size: 15px; outline: none; } .newsletter-box input[type=email]:focus { border-color: var(--sky); box-shadow: 0 0 0 4px rgba(220,236,255,.16); } .newsletter-box button { min-height: 58px; padding: 0 24px; border: 0; border-radius: 12px; background: var(--blue); color: var(--white); font-family: inherit; font-size: 15px; font-weight: 750; cursor: pointer; transition: background .2s, transform .2s; } .newsletter-box button:hover { background: var(--blue-dark); transform: translateY(-1px); } .newsletter-box .elementor-message { margin: 12px 0 0; color: var(--white); font-size: 14px; } @media (max-width: 980px) { .newsletter-inner { grid-template-columns: 1fr; gap: 30px; text-align: center; } .newsletter-copy .eyebrow { justify-content: center; } .newsletter-copy > p:last-child { margin: 0 auto; } } @media (max-width: 680px) { .newsletter-section { padding: 56px 0; } .newsletter-copy h2 { font-size: 34px; } .newsletter-copy > p:last-child { font-size: 15px; } .newsletter-box { padding: 16px; } .newsletter-box .elementor-form-fields-wrapper { grid-template-columns: 1fr; } .newsletter-box button { width: 100%; } }
.proof-strip{padding:0;background:#fff;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{min-height:126px;padding:29px 26px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.proof-item:first-child{border-left:0}.proof-item strong{display:block;color:var(--navy);font-size:clamp(29px,3vw,41px);line-height:1;letter-spacing:-.035em}.proof-item span{display:block;margin-top:9px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.support-icon{width:48px;height:48px;border-radius:50%;background:#eaf3fd;color:var(--blue-dark);border:1px solid #cfe1f3;font-size:0}.support-icon svg{width:23px;height:23px}.testimonial-grid{display:grid;grid-template-columns:repeat(5,minmax(300px,1fr));gap:18px;overflow-x:auto;padding:2px 2px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b8cee5 transparent}.testimonial-grid blockquote{scroll-snap-align:start;min-height:100%}.testimonial-grid blockquote p{font-size:14px;line-height:1.72}.advisory-note{margin-top:20px;padding:18px 20px;border-left:3px solid var(--blue);background:var(--ice);color:var(--muted);font-size:14px;line-height:1.7}.resources .article-grid article{min-height:230px}@media(max-width:980px){.proof-grid{grid-template-columns:1fr 1fr}.proof-item:nth-child(3){border-left:0;border-top:1px solid var(--line)}.proof-item:nth-child(4){border-top:1px solid var(--line)}}@media(max-width:680px){.proof-item{min-height:105px;padding:22px 17px}.proof-item strong{font-size:29px}.proof-item span{font-size:11px}.testimonial-grid{grid-template-columns:repeat(5,calc(100vw - 72px))}.support-icon{width:44px;height:44px}}

/* ---- Componentes de paginas de producto ---- */
.mb-tabla-caja{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:26px 0;
  border:1px solid var(--line);border-radius:16px;background:var(--white);}
.mb-tabla{width:100%;min-width:460px;border-collapse:collapse;font-size:15px;}
.mb-tabla thead th{background:var(--navy);color:var(--white);text-align:left;
  padding:14px 18px;font-weight:700;font-size:13px;letter-spacing:.04em;
  text-transform:uppercase;}
.mb-tabla td{padding:13px 18px;border-bottom:1px solid var(--line);color:var(--ink);}
.mb-tabla tbody tr:nth-child(odd){background:var(--mist);}
.mb-tabla tbody tr:last-child td{border-bottom:0;}
.mb-tabla td:first-child{font-weight:650;color:var(--navy);}
.mb-nota{color:var(--muted);font-size:14px;line-height:1.7;margin:10px 0 0;}
.mb-lista{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:14px;}
.mb-lista li{position:relative;padding-left:30px;color:var(--ink);line-height:1.7;}
.mb-lista li:before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;
  border-radius:50%;background:var(--sky);border:2px solid var(--blue);}
.mb-prosa{color:var(--muted);font-size:17px;line-height:1.8;}
.mb-prosa strong{color:var(--navy);}
.mb-dato-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:18px;margin-top:34px;}
.mb-dato{background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:26px 24px;box-shadow:0 14px 34px rgba(19,52,91,.06);}
.mb-dato strong{display:block;color:var(--navy);font-size:26px;line-height:1.15;
  margin-bottom:8px;}
.mb-dato span{color:var(--muted);font-size:14px;line-height:1.6;}
.mb-marca{display:block;height:44px;width:auto;margin:0 0 20px;}
.mb-aseg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.mb-aseg{background:var(--white);border:1px solid var(--line);border-radius:18px;
  padding:34px 30px;box-shadow:0 14px 34px rgba(19,52,91,.06);display:flex;
  flex-direction:column;gap:15px;transition:transform .25s,box-shadow .25s;}
.mb-aseg:hover{transform:translateY(-6px);box-shadow:0 24px 44px rgba(19,52,91,.12);}
.mb-aseg-logo{height:36px;width:auto;align-self:flex-start;}
.mb-aseg h3{margin:0;color:var(--navy-deep);font-size:22px;line-height:1.2;letter-spacing:-.02em;}
.mb-aseg p{margin:0;flex:1;color:var(--muted);font-size:14.5px;line-height:1.65;}
.mb-aseg-enl{display:inline-flex;align-items:center;gap:10px;color:var(--navy);
  font-size:14px;font-weight:750;}
.mb-logo-badge{position:absolute;z-index:3;left:18px;bottom:18px;background:var(--white);
  border-radius:12px;padding:9px 14px;box-shadow:0 8px 22px rgba(19,52,91,.14);
  display:flex;align-items:center;}
.mb-logo-badge img{height:26px;width:auto;display:block;}
@media(max-width:720px){.mb-tabla{font-size:14px;}.mb-marca{height:36px;}}
/* En movil la imagen del hero se come 420px de alto sin aportar nada. */
@media(max-width:680px){
  .hero-visual{display:none!important;}
  .hero{padding:34px 0 48px;}
  .hero-copy{padding:0;}
}

/* ---- Componentes del hub de viajes ---- */
.mb-quote{padding:38px 0;background:#fff;position:relative;z-index:3}.mb-quote-card{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:center;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 46px rgba(19,52,91,.09)}.mb-quote-copy h2{font-size:30px;line-height:1.15}.mb-quote-copy p{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.mb-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mb-field{display:flex;flex-direction:column;gap:7px;min-width:0}.mb-field-wide{grid-column:1/-1}.mb-field label{color:var(--navy);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mb-field input,.mb-field select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:#fbfdff;color:var(--ink);font:inherit;font-size:13px;outline:none}.mb-field input:focus,.mb-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(63,143,243,.12)}.mb-trip-date.is-hidden{display:none}.mb-quote-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:3px}.mb-quote-submit small{color:var(--muted);font-size:11px;line-height:1.45}.mb-quote-submit .button{border:0;cursor:pointer;white-space:nowrap}.mb-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.mb-choice{display:flex;flex-direction:column;min-height:230px;padding:25px;border:1px solid var(--line);border-radius:17px;background:#fff}.mb-choice b{display:grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border-radius:11px;background:var(--ice);color:var(--blue-dark);font-size:12px}.mb-choice h3{margin:0 0 10px;color:var(--navy);font-size:19px}.mb-choice p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.mb-choice a{margin-top:auto;padding-top:18px;color:var(--navy);font-size:12px;font-weight:800}.mb-process{background:var(--navy-deep);color:#fff}.mb-process h2{color:#fff}.mb-process .section-heading>p:last-child{max-width:650px;margin:18px 0 0;color:#b7c9dc;line-height:1.7}.mb-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.14)}.mb-process-step{padding:30px;background:#0d355f}.mb-process-step span{color:#7db9ff;font-size:11px;font-weight:850}.mb-process-step h3{margin:15px 0 9px;color:#fff;font-size:19px}.mb-process-step p{margin:0;color:#b7c9dc;font-size:13px;line-height:1.65}.mb-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mb-faq-item{padding:25px 26px;border:1px solid var(--line);border-radius:16px;background:#fff}.mb-faq-item h3{margin:0 0 10px;color:var(--navy);font-size:17px;line-height:1.35}.mb-faq-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.68}.mb-inline-cta{margin-top:34px;padding:24px 26px;border-left:4px solid var(--blue);border-radius:0 14px 14px 0;background:var(--ice);color:var(--muted);font-size:14px;line-height:1.65}.mb-inline-cta strong{color:var(--navy)}
@media(max-width:980px){.mb-quote-card{grid-template-columns:1fr}.mb-choice-grid{grid-template-columns:1fr 1fr}.mb-process-grid{grid-template-columns:1fr}.mb-faq-grid{grid-template-columns:1fr}}
@media(max-width:680px){.mb-field-wide{grid-column:auto}.mb-quote{padding:20px 0 34px}.mb-quote-card{gap:24px;padding:22px}.mb-quote-copy{text-align:center}.mb-quote-copy h2{font-size:27px}.mb-quote-form{grid-template-columns:1fr}.mb-quote-submit{display:block}.mb-quote-submit small{display:block;margin-bottom:14px;text-align:center}.mb-quote-submit .button{width:100%}.mb-choice-grid{grid-template-columns:1fr}.mb-choice{min-height:0}.mb-faq-item{padding:22px}.mb-process-step{padding:25px}}

/* ---- Rejillas que se ajustan al numero de tarjetas ----
   Sin esto, 6 tarjetas caen en una fila de 5 y dejan un hueco.
   ":nth-child(N):last-child" = el elemento N es el ultimo, o sea que hay
   exactamente N. Solo en escritorio: en movil ya colapsan a 1 o 2 columnas. */
@media (min-width: 981px) {
  .mb-dato-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}
  .mb-dato-grid:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}
  .mb-dato-grid:has(> :nth-child(8):last-child){grid-template-columns:repeat(4,1fr)}
  .mb-dato-grid:has(> :nth-child(9):last-child){grid-template-columns:repeat(3,1fr)}

  .mb-process-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  .mb-process-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
  .mb-process-grid:has(> :nth-child(5):last-child){grid-template-columns:repeat(5,1fr)}

  .mb-choice-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  .mb-choice-grid:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
  .mb-aseg-grid:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
  .mb-aseg-grid:has(> :first-child:last-child){grid-template-columns:minmax(0,430px)}
  .mb-aseg-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  .mb-choice-grid:has(> :nth-child(5):last-child){grid-template-columns:repeat(5,1fr)}

  .mb-aseg-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  .mb-aseg-grid:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}

  /* Un numero impar de preguntas deja la ultima a media fila: que ocupe todo */
  .mb-faq-grid > :nth-child(odd):last-child{grid-column:1 / -1}
}

/* ---- Carrusel de testimonios: se desplaza, pero no lo parecia ----
   Cinco tarjetas de 300px en un contenedor de 1180 se salen a proposito.
   Sin barra visible ni degradado, la ultima parece cortada por error. */
.testimonials .container{position:relative}
.testimonial-grid{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.testimonial-grid::-webkit-scrollbar{height:7px}
.testimonial-grid::-webkit-scrollbar-track{background:transparent}
.testimonial-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.testimonial-grid::-webkit-scrollbar-thumb:hover{background:var(--sky)}
.testimonials .container::after{content:"";position:absolute;top:0;right:0;bottom:34px;
  width:64px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),var(--white))}
@media(max-width:680px){.testimonials .container::after{display:none}}

/* ---- Hueco muerto bajo la cabecera ----
   Entre el fin del menu y el primer texto habia 122px: 70 de padding del hero
   mas 36 del bloque de texto. Se reduce a 46 para que el titular entre de una. */
.hero{padding-top:30px}
.hero-copy{padding-top:0}

/* ---- Parrafos vacios de wpautop ----
   WordPress autoformatea el contenido y cuela un <p></p> vacio al principio
   de <main>. Mide 0px de alto pero su margen empuja el hero 16px abajo. */
main > p:empty,
.hero + p:empty,
section + p:empty{display:none!important;margin:0!important}

/* ================= Testimonios en video =================
   Portada propia + boton de play: el reproductor de YouTube solo se carga
   cuando el visitante pulsa. Siete videos incrustados de golpe traerian
   cerca de 5 MB de scripts que casi nadie llega a usar.
   Formato apaisado 16:9: uno destacado arriba y seis en cuadricula.
   Las portadas de 4:3 (hqdefault) encajan solas con object-fit:cover,
   que recorta justo las bandas negras. */
.mb-vtest{display:grid;gap:26px}
.mb-vtest-destacado{max-width:760px;margin:0 auto;width:100%}
.mb-vtest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:980px){.mb-vtest-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:680px){.mb-vtest-grid{grid-template-columns:1fr}}

.mb-vtest-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:0;border:0;
  background:none;text-align:left;cursor:pointer;font:inherit;color:inherit;
  -webkit-tap-highlight-color:transparent}
.mb-vtest-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:14px;
  overflow:hidden;background:var(--ice);border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(18,59,109,.10);
  transition:transform .18s ease,box-shadow .18s ease}
.mb-vtest-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mb-vtest-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mb-vtest-card:hover .mb-vtest-thumb{transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(18,59,109,.18)}
.mb-vtest-card:focus-visible{outline:none}
.mb-vtest-card:focus-visible .mb-vtest-thumb{outline:2px solid var(--blue);outline-offset:3px}

.mb-vtest-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(8,43,82,.28);
  transition:transform .18s ease,background .18s ease}
.mb-vtest-play svg{width:22px;height:22px;fill:var(--navy);margin-left:3px}
.mb-vtest-card:hover .mb-vtest-play{transform:translate(-50%,-50%) scale(1.08);background:var(--white)}
@media(max-width:680px){.mb-vtest-play{width:52px;height:52px}}

/* La duracion va a la vista: son videos largos y el visitante decide con el dato delante. */
.mb-vtest-dur{position:absolute;right:9px;bottom:9px;padding:2px 7px;border-radius:6px;
  background:rgba(8,43,82,.82);color:var(--white);font-size:11.5px;font-weight:650}

.mb-vtest-meta{display:block;padding:0 2px}
.mb-vtest-meta strong{display:block;color:var(--navy);font-size:15px;font-weight:750;line-height:1.35}
.mb-vtest-meta small{display:block;margin-top:2px;color:var(--muted);font-size:13px;line-height:1.45}
.mb-vtest-destacado .mb-vtest-meta strong{font-size:17px}

.mb-vtest-card.is-playing{cursor:default}
.mb-vtest-card.is-playing .mb-vtest-thumb{transform:none;box-shadow:0 12px 26px rgba(18,59,109,.18)}

.mb-vtest-nota{margin:6px auto 0;max-width:760px;text-align:center;
  color:var(--muted);font-size:12.5px;line-height:1.6}

@media (prefers-reduced-motion: reduce){
  .mb-vtest-thumb,.mb-vtest-play{transition:none}
  .mb-vtest-card:hover .mb-vtest-thumb{transform:none}
  .mb-vtest-card:hover .mb-vtest-play{transform:translate(-50%,-50%)}
}

/* Cabecera centrada de la pagina de testimonios: h1, .hero-text y .mb-marca
   tienen ancho maximo propio, asi que text-align:center no basta para
   centrarlos: hay que devolverles los margenes automaticos. */
.centered h1,.centered .hero-text,.centered .mb-marca{margin-left:auto;margin-right:auto}

/* Boton secundario. .button-light es blanco sobre azul oscuro y se pierde
   sobre los fondos claros; este lleva borde en vez de relleno. */
.button-outline{background:transparent;color:var(--navy);border:1.5px solid var(--line);
  box-shadow:none}
.button-outline:hover{background:var(--white);border-color:var(--blue);color:var(--blue-dark)}

.mb-vtest-mas,.mb-cta-bajo{margin-top:34px;text-align:center}
/* .mb-cta-bajo: llamada a la accion debajo de una rejilla, cuando las
   tarjetas dejan de apuntar a WhatsApp para apuntar a contenido. */

/* País activo en el selector de la cabecera. Lo marca el script de la 3514
   leyendo el prefijo de la URL (/ec/, /cl/...). Perú es el caso por defecto. */
.country-menu a[aria-current]{background:var(--ice);color:var(--navy);font-weight:750}
.country-menu a[aria-current]::after{content:"✓";float:right;color:var(--blue-dark)}

/* Franja de compañías con cuatro logos (Ecuador va sin BMI). El diseño asumía cinco: a la derecha quedaba una columna vacía, y en móvil la regla de centrar el último estiraba el cuarto a lo ancho. */
@media (min-width: 681px){.partner-logos:has(> a:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width: 680px){.partner-logos:has(> a:nth-child(4):last-child) a:last-child{grid-column:auto}}
@media (min-width: 681px){.partner-logos:has(> a:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Lista de enlaces internos al pie de la portada de país: existe para que Google descubra el árbol sin depender del JavaScript de la rejilla. */
.mb-mapa-ec{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.mb-mapa-ec > p{margin:0 0 14px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.mb-mapa-ec ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px}
.mb-mapa-ec a{color:var(--ink);font-weight:650;text-decoration:none;border-bottom:1px solid transparent}
.mb-mapa-ec a:hover{color:var(--blue-dark);border-bottom-color:var(--blue-dark)}
@media (max-width:680px){.mb-mapa-ec ul{grid-template-columns:1fr}}
/* `.mb-dato strong` es el titular de la tarjeta (bloque, 26px). Dentro de la descripción tiene que seguir siendo texto corrido. */
.mb-dato span strong{display:inline;font-size:inherit;line-height:inherit;color:inherit;margin:0;font-weight:750}

/* Formularios: la base (.mb-quote-form, .mb-field) ya existía; faltaban textarea, casilla, caja y mensajes de estado. */
.mb-form-caja{margin-top:32px;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 14px 34px rgba(19,52,91,.06)}
.mb-form-caja [hidden]{display:none!important}
.mb-field textarea{width:100%;min-height:104px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fbfdff;color:var(--ink);font:inherit;font-size:13px;line-height:1.6;resize:vertical}
.mb-field textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(63,143,243,.12)}
.mb-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.55}
.mb-check input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--blue)}
.mb-check a{color:var(--blue-dark);text-decoration:underline}
.mb-form-enviar{grid-column:1/-1;margin-top:6px}
.mb-form-enviar button{width:100%;min-height:54px;border:0;border-radius:12px;background:var(--blue);color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer;box-shadow:0 12px 26px rgba(63,143,243,.24);transition:transform .2s,background .2s}
.mb-form-enviar button:hover{transform:translateY(-2px);background:var(--blue-dark)}
.mb-form-enviar button[disabled]{opacity:.6;cursor:default;transform:none}
.mb-form-ok{padding:26px;border-radius:14px;background:var(--ice);color:var(--navy)}
.mb-form-ok h3{margin:0 0 8px;font-size:20px}
.mb-form-ok p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.mb-form-error{margin:14px 0 0;padding:12px 14px;border-radius:11px;background:#fdecec;color:#a12626;font-size:13px;line-height:1.55}
@media (max-width:680px){.mb-form-caja{padding:22px}}
/* Campo de teléfono con código de país delante. El desplegable se estrecha para que el número siga teniendo sitio en móvil. */
.mb-tel{display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px}
.mb-tel select{min-width:0;padding:0 8px;font-size:13px}
@media (max-width:400px){.mb-tel{grid-template-columns:96px minmax(0,1fr)}}
/* wpautop mete <p> vacíos alrededor de los bloques de un formulario. Miden 0 de alto pero arrastran margen y descuadran la fila. */
.mb-form-caja p:empty,.mb-quote-form p:empty{display:none;margin:0}
/* La insignia de la tarjeta admite icono además de texto. 20 px dentro de la caja de 38 deja aire suficiente. */
.mb-choice b svg{width:20px;height:20px;display:block}
/* Landing de agentes (3760): tiene formulario propio, así que la barra flotante de WhatsApp sobra y además tapa contenido en móvil. */
body.page-id-3760 .mb-mobile-wa-bar{display:none!important}
body.page-id-3760.mb-mobile-wa-bar-active{padding-bottom:0!important}

/* Un parrafo de cierre despues de una rejilla se pegaba al borde de las tarjetas: las rejillas traen margen arriba pero no abajo, y .mb-prosa no trae ninguno. Se le da el mismo aire (34 px) que hay por encima de la rejilla. */
.mb-dato-grid + .mb-prosa,
.mb-choice-grid + .mb-prosa,
.mb-faq-grid + .mb-prosa,
.mb-aseg-grid + .mb-prosa,
.mb-tabla-caja + .mb-prosa,
.mb-dato-grid + .mb-lista,
.mb-choice-grid + .mb-lista{margin-top:34px}
/* Y al reves: una rejilla que sigue a otra rejilla tampoco tenia separacion propia. */
.mb-dato-grid + .mb-dato-grid,
.mb-choice-grid + .mb-dato-grid{margin-top:18px}