.bm-home{
  --bm-home-blue: #123d97;
  --bm-home-blue-deep: #09265f;
  --bm-home-blue-soft: #3f73d9;
  --bm-home-orange: #ff7b13;
  --bm-home-orange-deep: #e95700;
  --bm-home-gold: #ffd18b;
  --bm-home-white: rgba(255,255,255,.94);
  --bm-home-stroke: rgba(255,255,255,.22);
  --bm-home-shadow: 0 22px 48px rgba(4,16,43,.28);
  --bm-home-shadow-soft: 0 14px 32px rgba(7,21,52,.18);
  --bm-home-blur: blur(16px);
  --bm-home-ui: "Trebuchet MS", "Segoe UI", sans-serif;
  --bm-home-display: "Trebuchet MS", "Gill Sans", sans-serif;
  --bm-home-shell-width: calc(100% - 14px);
  color: #fff;
  font-family: var(--bm-home-ui);
}

/* Home property infinite strip */
@media (min-width: 801px){
  .bm-home-property-strip{
    width: 100%;
    max-width: none;
    margin: clamp(10px, 1.6vh, 18px) auto 0;
    padding: clamp(8px, .9vw, 14px);
    border: 1px solid rgba(109, 231, 255, .62);
    border-radius: clamp(22px, 2vw, 30px);
    background:
      linear-gradient(115deg, rgba(4, 19, 48, .9), rgba(4, 35, 70, .74) 42%, rgba(255, 123, 19, .28)),
      radial-gradient(circle at 14% 30%, rgba(91, 222, 255, .32), transparent 32%),
      rgba(3, 16, 39, .88);
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, .18) inset,
      0 0 22px rgba(77, 218, 255, .45),
      0 18px 34px rgba(0, 0, 0, .28);
    overflow: hidden;
    position: relative;
  }

  .bm-home-property-strip::before{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
      linear-gradient(90deg, rgba(96, 232, 255, .28), transparent 16%, transparent 84%, rgba(255, 145, 34, .28)),
      linear-gradient(180deg, rgba(255, 255, 255, .15), transparent 44%);
  }

  .bm-home-property-strip__head{
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 clamp(4px, .55vw, 10px) clamp(7px, .8vw, 10px);
    color: #ffffff;
  }

  .bm-home-property-strip__head span{
    display: block;
    margin-bottom: 2px;
    font-size: clamp(9px, .72vw, 11px);
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    color: #7df1ff;
  }

  .bm-home-property-strip__head strong{
    display: block;
    font-size: clamp(14px, 1.2vw, 20px);
    line-height: 1.05;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .38);
  }

  .bm-home-property-strip__head a{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 clamp(12px, 1.1vw, 18px);
    border-radius: 999px;
    color: #07224b;
    background: linear-gradient(180deg, #ffe0a1, #ff961e);
    font-size: clamp(11px, .85vw, 13px);
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(255, 119, 12, .28);
  }

  .bm-home-property-strip__ticker{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(6px, .7vw, 10px);
  }

  .bm-home-property-strip__viewport{
    min-width: 0;
    overflow: hidden;
    border-radius: clamp(16px, 1.4vw, 22px);
  }

  .bm-home-property-strip__track{
    display: flex;
    align-items: stretch;
    gap: clamp(10px, 1vw, 16px);
    will-change: transform;
  }

  .bm-home-property-card{
    flex: 0 0 clamp(230px, 20vw, 320px);
    min-height: clamp(92px, 10vh, 112px);
    display: grid;
    grid-template-columns: clamp(92px, 8.5vw, 122px) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid rgba(141, 236, 255, .48);
    border-radius: clamp(16px, 1.35vw, 20px);
    color: #ffffff;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(5, 28, 68, .98), rgba(8, 63, 105, .82));
    box-shadow: 0 10px 22px rgba(0, 0, 0, .26);
  }

  .bm-home-property-card__media{
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: rgba(5, 24, 56, .86);
  }

  .bm-home-property-card__media img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .28s ease;
  }

  .bm-home-property-card:hover .bm-home-property-card__media img,
  .bm-home-property-card:focus-visible .bm-home-property-card__media img{
    transform: scale(1.08);
  }

  .bm-home-property-card__badge{
    position: absolute;
    left: 8px;
    top: 8px;
    max-width: calc(100% - 16px);
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(180deg, rgba(33, 139, 255, .92), rgba(9, 74, 164, .94));
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-property-card__body{
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: clamp(10px, .9vw, 13px);
    background: linear-gradient(180deg, rgba(5, 20, 49, .94), rgba(4, 35, 75, .92));
  }

  .bm-home-property-card__body strong{
    min-width: 0;
    color: #ffffff;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 950;
    line-height: 1.08;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 2px 6px rgba(0, 0, 0, .4);
  }

  .bm-home-property-card__body small{
    color: rgba(222, 244, 255, .88);
    font-size: clamp(10px, .78vw, 12px);
    font-weight: 800;
    line-height: 1.18;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .bm-home-property-strip__arrow{
    width: clamp(30px, 2.7vw, 40px);
    height: clamp(48px, 5.5vh, 60px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(135, 238, 255, .58);
    border-radius: 16px;
    color: #ffffff;
    background:
      linear-gradient(180deg, rgba(16, 98, 174, .88), rgba(4, 25, 64, .92)),
      rgba(4, 28, 70, .9);
    box-shadow: 0 0 14px rgba(90, 225, 255, .32);
    cursor: pointer;
  }

  .bm-home-property-strip__arrow span{
    display: block;
    margin-top: -2px;
    font-size: clamp(24px, 2.1vw, 34px);
    font-weight: 900;
    line-height: 1;
  }

  .bm-home-property-strip__arrow:hover,
  .bm-home-property-strip__arrow:focus-visible{
    border-color: rgba(255, 180, 58, .78);
    background: linear-gradient(180deg, #ff9d21, #f26a00);
    outline: none;
  }
}

@media (min-width: 801px) and (max-width: 1100px){
  .bm-home-property-strip{
    margin-top: 10px;
    padding: 8px;
  }

  .bm-home-property-card{
    flex-basis: clamp(205px, 24vw, 260px);
    grid-template-columns: clamp(78px, 9vw, 98px) minmax(0, 1fr);
  }

  .bm-home-property-strip__head strong{
    font-size: clamp(13px, 1.4vw, 17px);
  }
}

body.home{
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100svh;
}

body.home.admin-bar{
  min-height: calc(100svh - 32px);
}

body.home .bm-header{
  padding: 0;
  margin-top: -6px;
}

body.home .bm-header-inner,
body.home .bm-footer .bm-wrap,
.bm-home-screen{
  box-sizing: border-box;
  max-width: 100%;
}

body.home .bm-header-inner{
  width: var(--bm-home-shell-width);
  margin: 0 auto;
  padding: 10px 14px 12px;
  border-radius: 22px;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.home .bm-header-inner::before,
body.home .bm-header-inner::after{
  display: none;
}

body.home .bm-brand{
  width: clamp(260px, 26vw, 420px);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  position: relative;
  z-index: 20;
  margin-bottom: -46px;
  flex: 0 0 auto;
}

body.home .bm-brand img,
body.home .bm-brand .custom-logo{
  height: auto;
  width: 100%;
  display: block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
}

body.home .bm-home-header-actions{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, .8vw, 14px);
  flex: 0 1 auto;
  min-width: 0;
}

body.home .bm-home-header-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 clamp(16px, 1.35vw, 24px);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: clamp(1rem, 1.05vw, 1.18rem);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 14px 28px rgba(3,12,36,.24);
  text-shadow: 0 1px 2px rgba(0,0,0,.22);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

body.home .bm-home-header-action:hover,
body.home .bm-home-header-action:focus-visible{
  transform: translateY(-1px);
  filter: brightness(1.08) saturate(1.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 0 0 1px rgba(255,255,255,.2),
    0 18px 34px rgba(3,12,36,.3);
}

body.home .bm-home-header-action--ad{
  background: linear-gradient(135deg, #ff8a1b 0%, #ff5f13 58%, #ffae31 100%);
}

body.home .bm-home-header-action--question{
  background: linear-gradient(135deg, rgba(18,86,202,.98), rgba(5,37,104,.96));
}

@media (max-width: 1180px){
  body.home .bm-home-header-actions{
    gap: 8px;
  }

  body.home .bm-home-header-action{
    min-height: 38px;
    padding-inline: 14px;
    font-size: clamp(.9rem, 1.2vw, 1rem);
  }
}

@media (max-width: 820px){
  body.home .bm-home-header-actions{
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }

  body.home .bm-home-header-action{
    flex: 1 1 150px;
    max-width: 220px;
  }
}

body.home .bm-menu{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: clamp(8px, .9vw, 12px);
}

body.home .bm-menu a{
  width: auto;
  padding: 7px clamp(12px, 1vw, 16px);
  font-size: clamp(.88rem, .96vw, 1rem);
  white-space: nowrap;
  background: linear-gradient(135deg, rgba(17,73,179,.96), rgba(255,129,16,.94));
}

body.home .bm-footer{
  margin-top: -18px;
  padding: 0 0 4px;
}

body.home .bm-footer .bm-wrap{
  width: var(--bm-home-shell-width);
  padding: 8px 12px;
  border-radius: 18px;
}

body.home .bm-footer-grid{
  grid-template-columns: 1.35fr .9fr .9fr;
  gap: 10px;
  align-items: center;
}

body.home .bm-footer h3,
body.home .bm-footer h4{
  font-size: .99rem;
}

body.home .bm-footer p,
body.home .bm-footer li,
body.home .bm-footer a{
  font-size: .8rem;
  line-height: 1.15;
}

body.home .bm-footer ul{
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
}

body.home .bm-footer-links ul{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 10px;
}

main.bm-home{
  min-height: 0;
  padding: 0 0 2px;
}

.bm-home-screen{
  width: var(--bm-home-shell-width);
  margin: 0 auto;
  min-height: var(--bm-home-available-height, calc(100svh - 190px));
}

.bm-home-desktop{
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(8px, 1vh, 12px);
  width: auto;
  height: var(--bm-home-available-height, calc(100svh - 190px));
  min-height: 0;
}

.bm-home-mobile{
  display: none;
}

.bm-home-search{
  width: 100%;
  justify-self: stretch;
  align-self: start;
  margin: -6px 0 0 0;
  padding: 8px;
  border-radius: 22px;
  border: 1px solid var(--bm-home-stroke);
  background:
    linear-gradient(135deg, rgba(15,57,134,.9), rgba(255,125,18,.88)),
    rgba(255,255,255,.08);
  box-shadow: var(--bm-home-shadow);
  backdrop-filter: var(--bm-home-blur);
  -webkit-backdrop-filter: var(--bm-home-blur);
}

.bm-home-search__grid{
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)) minmax(90px, 104px);
  gap: 5px;
  align-items: end;
}

.bm-home-field{
  position: relative;
  min-width: 0;
}

.bm-home-field span{
  position: absolute;
  align-items: end;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.bm-home-field select{
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(233,239,252,.92));
  color: #153571;
  font-size: .88rem;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.bm-home-field select:focus{
  box-shadow: 0 0 0 4px rgba(255,176,82,.22);
}

.bm-home-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 14px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 900;
  font-size: .88rem;
  letter-spacing: .01em;
  max-width: 100%;
  box-sizing: border-box;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.bm-home-button:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.bm-home-button--search,
.bm-home-button--solid{
  color: #fff;
  background: linear-gradient(135deg, #ff8b22, #f05b00);
  box-shadow: 0 16px 34px rgba(121,38,0,.28);
}

.bm-home-button--ghost{
  color: #fff;
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.12);
  box-shadow: 0 10px 24px rgba(5,14,40,.15);
}

.bm-home-button--wide{
  width: 100%;
}

.bm-home-featured{
  width: min(1040px, 84vw);
  justify-self: center;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: center;
  gap: 10px;
}

.bm-home-feature-card{
  min-width: 0;
}

.bm-home-feature-card__link{
  display: block;
  height: 100%;
  min-height: 98px;
  padding: 4px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.2);
  text-decoration: none;
  color: #fff;
  background: linear-gradient(160deg, rgba(9,38,95,.7), rgba(52,108,206,.5));
  box-shadow: var(--bm-home-shadow-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.bm-home-feature-carousel__slide[hidden]{
  display: none !important;
}

.bm-home-feature-card__media{
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255,255,255,.16);
  min-height: 90px;
  height: 90px;
}

.bm-home-feature-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: rgba(226,234,249,.15);
}

.bm-home-feature-card__shade{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,30,76,.04), rgba(6,17,45,.72));
}

.bm-home-feature-card__body{
  position: absolute;
  left: 10px;
  right: 70px;
  bottom: 8px;
  z-index: 2;
  display: grid;
  gap: 3px;
  min-width: 0;
}

.bm-home-feature-card__label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 900;
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.bm-home-feature-card h2{
  margin: 0;
  font-family: var(--bm-home-display);
  font-size: clamp(.84rem, .94vw, 1rem);
  line-height: 1.02;
  color: #fff;
  text-shadow: 0 4px 12px rgba(0,0,0,.35);
}

.bm-home-feature-card p{
  margin: 0;
  font-size: .6rem;
  line-height: 1.16;
  color: rgba(255,255,255,.84);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bm-home-feature-card__cta{
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  color: #16336d;
  background: linear-gradient(180deg, #ffd18b, #ffb24d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.bm-home-feature-card--empresa .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(17,59,146,.75), rgba(84,142,237,.46));
}

.bm-home-feature-card--servicio .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(21,77,161,.78), rgba(255,135,24,.5));
}

.bm-home-feature-card--material .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(19,67,128,.76), rgba(51,142,166,.45));
}

.bm-home-feature-card--vehiculo_maquinaria .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(27,67,108,.8), rgba(114,143,173,.48));
}

.bm-home-feature-card--herramienta .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(109,67,19,.82), rgba(244,168,73,.48));
}

.bm-home-feature-card--propiedad .bm-home-feature-card__link{
  background: linear-gradient(160deg, rgba(24,58,133,.74), rgba(255,152,78,.46));
}

.bm-home-feature-card--side .bm-home-feature-card__link{
  min-height: 156px;
  padding: 6px;
  border-radius: 22px;
}

.bm-home-feature-card--side .bm-home-feature-card__media{
  min-height: 142px;
  height: 142px;
  background: linear-gradient(180deg, rgba(231,238,250,.22), rgba(64,89,144,.18));
}

.bm-home-feature-card--side .bm-home-feature-card__body{
  left: 12px;
  right: 74px;
  bottom: 12px;
  gap: 4px;
}

.bm-home-feature-card--side .bm-home-feature-card__label{
  font-size: .56rem;
}

.bm-home-feature-card--side h2{
  font-size: .96rem;
  line-height: 1.04;
}

.bm-home-feature-card--side p{
  font-size: .62rem;
  line-height: 1.18;
  -webkit-line-clamp: 3;
}

.bm-home-feature-card--side .bm-home-feature-card__cta{
  right: 12px;
  bottom: 12px;
}

.bm-home-stage{
  display: grid;
  grid-template-columns: clamp(168px, 15vw, 196px) minmax(0, 1fr) clamp(168px, 15vw, 196px);
  gap: clamp(8px, 1vw, 14px);
  align-items: stretch;
  min-height: 0;
  height: 100%;
  padding: 0 8px;
  margin-top: -16px;
}

.bm-home-stage__side{
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 10px;
  align-content: start;
  min-height: 0;
  height: 100%;
  padding: 10px 8px 8px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(11,43,106,.18), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: var(--bm-home-shadow-soft);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.bm-home-stage__mascot{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding-top: 0;
}

.bm-home-stage__mascot img{
  height: clamp(118px, 14vw, 178px);
  width: auto;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 16px 26px rgba(3,15,44,.24));
  animation: bm-home-float 5s ease-in-out infinite;
}

.bm-home-stage__mascot--left{
  justify-content: flex-start;
}

.bm-home-stage__mascot--right{
  justify-content: flex-end;
}

.bm-home-stage__mascot--right img{
  animation-delay: -.7s;
}

.bm-home-stage__cta{
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(60px, 4.8vw, 88px);
  gap: clamp(6px, .7vw, 10px);
  align-items: end;
  height: clamp(112px, 11vw, 150px);
  padding: clamp(8px, .9vw, 12px);
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: var(--bm-home-shadow-soft);
  box-sizing: border-box;
}

.bm-home-stage__cta--subscribe{
  background: linear-gradient(180deg, rgba(255,133,24,.88), rgba(188,76,0,.82));
}

.bm-home-stage__cta--promo{
  background: linear-gradient(180deg, rgba(28,88,188,.9), rgba(10,52,127,.84));
}

.bm-home-stage__cta-copy{
  display: grid;
  align-content: space-between;
  gap: clamp(4px, .5vw, 8px);
  min-width: 0;
  height: 100%;
}

.bm-home-stage__cta-title{
  font-family: var(--bm-home-display);
  font-size: clamp(.76rem, .88vw, .94rem);
  line-height: 1.04;
  color: #fff;
}

.bm-home-stage__cta-text{
  font-size: clamp(.56rem, .62vw, .68rem);
  line-height: 1.16;
  color: rgba(255,255,255,.88);
}

.bm-home-stage__cta-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bm-home-stage__cta .bm-home-button{
  min-height: clamp(28px, 2.1vw, 34px);
  padding: 0 clamp(10px, .9vw, 14px);
  font-size: clamp(.64rem, .68vw, .74rem);
}

.bm-home-stage__cta .bm-home-stage__mascot{
  justify-content: center;
  align-self: end;
}

.bm-home-stage__cta .bm-home-stage__mascot img{
  height: clamp(72px, 6.8vw, 110px);
}

.bm-home-scene-shell{
  position: relative;
  min-height: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 6px;
}

.bm-home-scene-frame{
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.bm-home-scene{
  position: relative;
  top: -52px;
  width: 1080px;
  height: 520px;
  flex: none;
  transform-origin: center center;
  transform: translateZ(0) scale(var(--bm-scene-scale, 1));
}

.bm-home-scene__rail{
  position: static;
  z-index: 2;
  width: 100%;
  display: grid;
  align-content: start;
  gap: 14px;
}

.bm-home-scene__map{
  position: absolute;
  left: 26px;
  top: -50px;
  width: 1020px;
  height: 520px;
  filter: drop-shadow(0 26px 38px rgba(3,15,44,.26));
}

.bm-home-scene__center-glow{
  position: absolute;
  left: 372px;
  top: 120px;
  width: 236px;
  height: 124px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255,204,128,.82), rgba(255,133,24,.38) 42%, rgba(255,133,24,0) 70%);
  filter: blur(10px);
}

.bm-home-scene__lines{
  position: absolute;
  top: -60px;
 
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
  transform: translateY(-70px);
}

.bm-home-scene__lines path{
  fill: none;
  stroke: rgba(146, 231, 255, .94);
  stroke-width: 4;
  stroke-linecap: round;
  filter: url(#bmSceneGlow);
}

.bm-home-scene__hub{
  position: absolute;
  left: 441px;
  top: 50px;
  z-index: 3;
  width: 294px;
}

.bm-home-scene__hub img{
  width: 100%;
  filter: drop-shadow(0 18px 30px rgba(3,15,44,.32));
}

.bm-home-scene__icon{
  --bm-home-icon-scale: 1.18;
  --bm-home-icon-scale-hover: 1.24;
  position: absolute;
  z-index: 4;
  display: block;
  transition: transform .2s ease, filter .2s ease;
  transform: scale(var(--bm-home-icon-scale));
  transform-origin: center center;
}

.bm-home-scene__icon img{
  width: 200%;
  display: block;
  filter: drop-shadow(0 28px 36px rgba(3,15,44,.38));
}

.bm-home-scene__icon:hover{
  transform: translateY(-6px) scale(var(--bm-home-icon-scale-hover));
}

.bm-home-scene__icon--empresas{
  left: 58px;
  top: 12px;
  width: 160px;
}

.bm-home-scene__icon--servicios{
  right: 58px;
  top: 10px;
  width: 164px;
}

.bm-home-scene__icon--materiales-superior{
  left: 8px;
  top: 138px;
  width: 176px;
}

.bm-home-scene__icon--vehiculos-maquinaria{
  right: 4px;
  top: 142px;
  width: 176px;
}

.bm-home-scene__icon--propiedades{
  left: 88px;
  top: 280px;
  width: 196px;
}

.bm-home-scene__icon--empleos{
  left: 220px;
  top: 382px;
  width: 162px;
}

.bm-home-scene__icon--herramientas{
  right: 178px;
  top: 382px;
  width: 174px;
}

.bm-home-scene__icon--consultas{
  right: 94px;
  top: 286px;
  width: 188px;
}

.bm-home-desktop-actions{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: -42px;
}

.bm-home-desktop-panel{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 10px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: var(--bm-home-shadow-soft);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.bm-home-desktop-panel--account{
  background: linear-gradient(180deg, rgba(255,125,18,.9), rgba(190,79,0,.82));
}

.bm-home-desktop-panel--promo{
  background: linear-gradient(180deg, rgba(32,92,191,.9), rgba(10,52,127,.82));
}

.bm-home-desktop-panel__copy{
  display: grid;
  gap: 6px;
  min-width: 0;
}

.bm-home-desktop-panel__copy strong{
  font-family: var(--bm-home-display);
  font-size: .96rem;
  line-height: 1.06;
  color: #fff;
}

.bm-home-desktop-panel__copy span{
  font-size: .72rem;
  line-height: 1.22;
  color: rgba(255,255,255,.88);
}

.bm-home-desktop-panel__actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.bm-home-desktop-panel__actions--single{
  flex-wrap: nowrap;
}

.bm-home-desktop-panel .bm-home-button{
  min-height: 36px;
  font-size: .76rem;
}

.bm-home-desktop-panel--account .bm-home-button--ghost{
  background: rgba(255,255,255,.88);
  color: #1b3d7a;
  border-color: rgba(255,255,255,.42);
}

.bm-home-mobile__logo img{
  width: min(82vw, 260px);
  margin: 0 auto;
}

.bm-home-mobile__intro{
  text-align: center;
}

.bm-home-mobile__intro h1{
  margin: 0 0 6px;
  font-family: var(--bm-home-display);
  font-size: clamp(1.7rem, 6vw, 2.05rem);
  line-height: 1.02;
  color: #fff;
}

.bm-home-mobile__intro p{
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: .94rem;
  line-height: 1.34;
}

.bm-home-mobile__search,
.bm-home-mobile-card,
.bm-home-mobile__recent-card{
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.16);
  box-shadow: var(--bm-home-shadow-soft);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.bm-home-mobile__search{
  padding: 12px;
}

.bm-home-mobile__search-grid{
  display: grid;
  gap: 10px;
}

.bm-home-mobile__field-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bm-home-mobile__field span{
  display: none;
}

.bm-home-mobile__field select{
  height: 46px;
  border-radius: 16px;
  font-size: .95rem;
  font-weight: 700;
  color: #143570;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(237,241,251,.92));
}

.bm-home-mobile__account{
  margin-top: -2px;
}

.bm-home-mobile__mascots{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
}

.bm-home-mobile__mascots img{
  width: clamp(110px, 28vw, 150px);
  filter: drop-shadow(0 16px 22px rgba(4,16,43,.22));
}

.bm-home-mobile__featured{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bm-home-mobile-card{
  padding: 10px;
}

.bm-home-mobile-card__link{
  display: grid;
  gap: 10px;
  color: #fff;
  text-decoration: none;
}

.bm-home-mobile-card__head{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: .78rem;
  font-weight: 900;
}

.bm-home-mobile-card__head strong{
  padding: 4px 8px;
  border-radius: 999px;
  color: #153571;
  background: var(--bm-home-gold);
}

.bm-home-mobile-card__body{
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 10px;
}

.bm-home-mobile-card__body img{
  width: 100%;
  height: 84px;
  object-fit: cover;
  border-radius: 16px;
}

.bm-home-mobile-card__body h2{
  margin: 0 0 4px;
  font-size: 1rem;
  color: #fff;
}

.bm-home-mobile-card__body p{
  margin: 0 0 8px;
  font-size: .76rem;
  line-height: 1.24;
  color: rgba(255,255,255,.82);
}

.bm-home-mobile-card__body span{
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 14px;
  color: #153571;
  background: linear-gradient(180deg, #ffd18b, #ffb24d);
  font-size: .76rem;
  font-weight: 900;
}

.bm-home-mobile__categories{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bm-home-mobile__category{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  padding: 10px 14px;
  border-radius: 18px;
  color: #fff;
  text-decoration: none;
  font-family: var(--bm-home-display);
  font-size: 1rem;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: var(--bm-home-shadow-soft);
}

.bm-home-mobile__category--empresa{
  background: linear-gradient(135deg, rgba(27,86,197,.96), rgba(16,57,133,.86));
}

.bm-home-mobile__category--servicio{
  background: linear-gradient(135deg, rgba(255,123,19,.98), rgba(214,84,0,.86));
}

.bm-home-mobile__category--material{
  background: linear-gradient(135deg, rgba(51,136,129,.94), rgba(20,75,93,.82));
}

.bm-home-mobile__category--vehiculo-maquinaria{
  background: linear-gradient(135deg, rgba(36,82,128,.96), rgba(22,48,86,.84));
}

.bm-home-mobile__category--herramienta{
  background: linear-gradient(135deg, rgba(198,115,29,.98), rgba(122,66,7,.86));
}

.bm-home-mobile__category--propiedad{
  background: linear-gradient(135deg, rgba(73,129,183,.96), rgba(32,81,132,.84));
}

.bm-home-mobile__extra-links{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bm-home-mobile__extra-links a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 800;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
}

.bm-home-mobile__recent{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bm-home-mobile__recent-card{
  padding: 12px;
}

.bm-home-mobile__recent-card--consultas{
  background:
    linear-gradient(180deg, rgba(18,61,151,.56), rgba(9,38,95,.44)),
    rgba(255,255,255,.12);
  border-color: rgba(152,190,255,.26);
}

.bm-home-mobile__recent-card--empleos{
  background:
    linear-gradient(180deg, rgba(255,123,19,.56), rgba(214,84,0,.42)),
    rgba(255,255,255,.12);
  border-color: rgba(255,214,170,.26);
}

.bm-home-mobile__recent-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.bm-home-mobile__recent-head h2{
  margin: 0;
  font-size: 1rem;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
}

.bm-home-mobile__recent-head a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-size: .76rem;
  font-weight: 800;
}

.bm-home-mobile__recent-list{
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.bm-home-mobile__recent-item{
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 16px;
  text-decoration: none;
  color: #fff;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.bm-home-mobile__recent-card--consultas .bm-home-mobile__recent-item{
  background: rgba(222,234,255,.14);
}

.bm-home-mobile__recent-card--empleos .bm-home-mobile__recent-item{
  background: rgba(255,235,220,.14);
}

.bm-home-mobile__recent-item strong{
  font-size: .84rem;
  line-height: 1.2;
  text-shadow: 0 1px 2px rgba(0,0,0,.16);
}

.bm-home-mobile__recent-item span{
  font-size: .72rem;
  color: rgba(255,255,255,.88);
}

.bm-home-mobile__recent-empty{
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 16px;
  color: #fff;
  background: rgba(255,235,220,.12);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.bm-home-mobile__recent-empty strong{
  font-size: .84rem;
  line-height: 1.2;
}

.bm-home-mobile__recent-empty span{
  font-size: .72rem;
  color: rgba(255,255,255,.86);
}

.bm-home-mobile__recent-card .bm-home-button--ghost{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.22);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.bm-home-mobile__tagline{
  margin: 0;
  text-align: center;
  font-size: .9rem;
  color: rgba(255,255,255,.82);
}

@keyframes bm-home-float{
  0%,
  100%{
    transform: translateY(0);
  }

  50%{
    transform: translateY(-8px);
  }
}

@keyframes bm-home-pulse{
  0%,
  100%{
    opacity: .72;
    transform: scale(1);
  }

  50%{
    opacity: 1;
    transform: scale(1.05);
  }
}

@media (max-width: 1280px){
  .bm-home-search{
    width: 100%;
    margin-top: -6px;
  }

  .bm-home-stage{
    grid-template-columns: clamp(160px, 15vw, 186px) minmax(0, 1fr) clamp(160px, 15vw, 186px);
    gap: 10px;
    margin-top: -12px;
  }

  .bm-home-stage__side{
    gap: 9px;
    padding: 10px 8px 8px;
  }

  .bm-home-scene{
    top: -40px;
  }

  .bm-home-stage__mascot img{
    height: clamp(72px, 8vw, 98px);
    width: auto;
  }

  .bm-home-stage__cta{
    grid-template-columns: minmax(0, 1fr) 74px;
    height: 122px;
    padding: 10px;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 84px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 146px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 132px;
    height: 132px;
  }

  .bm-home-desktop-panel{
    padding: 10px 12px;
  }
}

/* Home side ads premium split layout final */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: clamp(164px, 11.2vw, 214px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    overflow: hidden;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link::after{
    content: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: 100%;
    min-height: clamp(164px, 11.2vw, 214px);
    border-radius: 22px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media img{
    object-fit: cover;
  }

  .bm-home-feature-card--side .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 54%, rgba(4, 15, 38, .9) 55%, rgba(4, 15, 38, .96) 100%);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    min-width: 0;
    gap: 3px;
    padding: 10px 58px 11px 12px;
    border-top: 1px solid rgba(135, 229, 255, .36);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0 0 18px 18px;
    background:
      linear-gradient(180deg, rgba(10, 38, 91, .94), rgba(3, 12, 33, .98)),
      linear-gradient(90deg, rgba(90, 215, 255, .14), rgba(255, 151, 35, .12));
    box-shadow:
      0 -10px 22px rgba(2, 10, 30, .26),
      inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    align-self: flex-start;
    min-height: 16px;
    padding: 3px 8px;
    border: 1px solid rgba(135, 229, 255, .52);
    background: linear-gradient(180deg, rgba(28, 92, 188, .94), rgba(9, 42, 101, .96));
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 0 10px rgba(86, 218, 255, .26);
  }

  .bm-home-feature-card--side h2{
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.16vw, 17px);
    font-weight: 900;
    line-height: 1.02;
    text-shadow:
      0 2px 0 rgba(0,0,0,.24),
      0 7px 14px rgba(0,0,0,.52);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side p{
    display: block;
    max-width: 100%;
    margin: 0;
    color: rgba(238, 249, 255, .96);
    font-size: 10.35px;
    font-weight: 700;
    line-height: 1.05;
    text-shadow: 0 2px 7px rgba(0,0,0,.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    right: 11px;
    top: 12px;
    bottom: auto;
    width: auto;
    min-width: 34px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid rgba(255, 216, 124, .48);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(7, 26, 66, .56), rgba(3, 12, 33, .72));
    color: #ffd26f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow:
      0 0 5px rgba(255, 191, 75, .88),
      0 0 12px rgba(255, 122, 0, .55),
      0 1px 2px rgba(0,0,0,.7);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1) inset,
      0 0 11px rgba(255, 177, 76, .26);
    animation: bm-home-card-cta-flicker 2.6s ease-in-out infinite;
  }
}

/* Home side ads uniform sizing absolute final */
@media (min-width: 801px){
  body.home{
    --bm-home-side-card-height: clamp(156px, 22.8vh, 190px);
  }

  .bm-home-feature-card--side,
  .bm-home-feature-card--side .bm-home-feature-carousel__slides,
  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: var(--bm-home-side-card-height) !important;
    min-height: var(--bm-home-side-card-height) !important;
    max-height: var(--bm-home-side-card-height) !important;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    width: 100%;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    min-height: 78px;
    max-height: 78px;
  }
}

/* Home side ads uniform sizing final */
@media (min-width: 801px){
  body.home{
    --bm-home-side-card-height: clamp(156px, 22.8vh, 190px);
  }

  .bm-home-feature-card--side,
  .bm-home-feature-card--side .bm-home-feature-carousel__slides,
  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: var(--bm-home-side-card-height) !important;
    min-height: var(--bm-home-side-card-height) !important;
    max-height: var(--bm-home-side-card-height) !important;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    width: 100%;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    min-height: 78px;
    max-height: 78px;
  }
}

/* Home side ads premium split layout */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: clamp(164px, 11.2vw, 214px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    overflow: hidden;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link::after{
    content: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: 100%;
    min-height: clamp(164px, 11.2vw, 214px);
    border-radius: 22px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media img{
    object-fit: cover;
  }

  .bm-home-feature-card--side .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 54%, rgba(4, 15, 38, .9) 55%, rgba(4, 15, 38, .96) 100%);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    min-width: 0;
    gap: 3px;
    padding: 10px 58px 11px 12px;
    border-top: 1px solid rgba(135, 229, 255, .36);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0 0 18px 18px;
    background:
      linear-gradient(180deg, rgba(10, 38, 91, .94), rgba(3, 12, 33, .98)),
      linear-gradient(90deg, rgba(90, 215, 255, .14), rgba(255, 151, 35, .12));
    box-shadow:
      0 -10px 22px rgba(2, 10, 30, .26),
      inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    align-self: flex-start;
    min-height: 16px;
    padding: 3px 8px;
    border: 1px solid rgba(135, 229, 255, .52);
    background: linear-gradient(180deg, rgba(28, 92, 188, .94), rgba(9, 42, 101, .96));
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 0 10px rgba(86, 218, 255, .26);
  }

  .bm-home-feature-card--side h2{
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.16vw, 17px);
    font-weight: 900;
    line-height: 1.02;
    text-shadow:
      0 2px 0 rgba(0,0,0,.24),
      0 7px 14px rgba(0,0,0,.52);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side p{
    display: block;
    max-width: 100%;
    margin: 0;
    color: rgba(238, 249, 255, .96);
    font-size: 10.35px;
    font-weight: 700;
    line-height: 1.05;
    text-shadow: 0 2px 7px rgba(0,0,0,.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    right: 11px;
    top: 12px;
    bottom: auto;
    width: auto;
    min-width: 34px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid rgba(255, 216, 124, .48);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(7, 26, 66, .56), rgba(3, 12, 33, .72));
    color: #ffd26f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow:
      0 0 5px rgba(255, 191, 75, .88),
      0 0 12px rgba(255, 122, 0, .55),
      0 1px 2px rgba(0,0,0,.7);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1) inset,
      0 0 11px rgba(255, 177, 76, .26);
    animation: bm-home-card-cta-flicker 2.6s ease-in-out infinite;
  }
}

@media (min-width: 1500px) and (min-height: 840px){
  .bm-home{
    --bm-home-shell-width: calc(100% - 24px);
  }

  .bm-home-stage{
    grid-template-columns: clamp(182px, 13.8vw, 224px) minmax(0, 1fr) clamp(182px, 13.8vw, 224px);
    gap: clamp(12px, 1vw, 18px);
    margin-top: -6px;
  }

  .bm-home-stage__side{
    gap: 12px;
    padding: 12px 10px 10px;
  }

  .bm-home-stage__cta{
    height: clamp(124px, 10vw, 158px);
  }

  .bm-home-scene{
    top: -12px;
  }
}

@media (min-width: 801px) and (max-width: 1120px){
  .bm-home{
    --bm-home-shell-width: calc(100% - 12px);
  }

  body.home .bm-brand{
    width: clamp(220px, 28vw, 340px);
    margin-bottom: -34px;
  }

  body.home .bm-menu{
    gap: 7px;
  }

  body.home .bm-menu a{
    padding: 6px 11px;
    font-size: .82rem;
  }

  .bm-home-search{
    margin-top: -4px;
    padding: 7px;
  }

  .bm-home-search__grid{
    grid-template-columns: minmax(0, 1.15fr) repeat(3, minmax(0, 1fr)) 88px;
    gap: 4px;
  }

  .bm-home-field select{
    height: 38px;
    font-size: .82rem;
  }

  .bm-home-stage{
    grid-template-columns: 156px minmax(0, 1fr) 156px;
    gap: 8px;
    margin-top: -8px;
  }

  .bm-home-stage__side{
    gap: 8px;
    padding: 8px 6px 6px;
    border-radius: 22px;
  }

  .bm-home-stage__mascot img{
    height: 72px;
  }

  .bm-home-stage__cta{
    grid-template-columns: minmax(0, 1fr) 58px;
    height: 102px;
    gap: 6px;
    padding: 7px;
  }

  .bm-home-stage__cta-title{
    font-size: .72rem;
  }

  .bm-home-stage__cta-text{
    display: none;
  }

  .bm-home-stage__cta .bm-home-button{
    min-height: 28px;
    padding: 0 10px;
    font-size: .66rem;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 60px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 112px;
    padding: 5px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 98px;
    height: 98px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    right: 62px;
    bottom: 10px;
  }

  .bm-home-feature-card--side h2{
    font-size: .8rem;
  }

  .bm-home-feature-card--side p{
    display: none;
  }

  .bm-home-scene{
    top: -28px;
  }
}

@media (max-width: 940px){
  .bm-home-search__grid{
    grid-template-columns: minmax(0, 1.15fr) repeat(3, minmax(0, 1fr)) 88px;
    gap: 4px;
  }

  .bm-home-field select{
    height: 38px;
    font-size: .8rem;
  }

  .bm-home-stage{
    grid-template-columns: 154px minmax(0, 1fr) 154px;
    gap: 8px;
    margin-top: -8px;
  }

  .bm-home-stage__side{
    gap: 8px;
    padding: 8px 6px;
    border-radius: 22px;
  }

  .bm-home-scene{
    top: -26px;
  }

  .bm-home-stage__mascot img{
    height: 74px;
    width: auto;
  }

  .bm-home-stage__cta{
    grid-template-columns: minmax(0, 1fr) 58px;
    height: 104px;
    gap: 6px;
    padding: 8px;
  }

  .bm-home-stage__cta-title{
    font-size: .72rem;
  }

  .bm-home-stage__cta-text{
    display: none;
  }

  .bm-home-stage__cta .bm-home-button{
    min-height: 28px;
    padding: 0 10px;
    font-size: .66rem;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 62px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 112px;
    padding: 5px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 98px;
    height: 98px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    right: 64px;
  }

  .bm-home-feature-card--side h2{
    font-size: .8rem;
  }

  .bm-home-feature-card--side p{
    display: none;
  }
}

@media (min-width: 801px) and (max-height: 720px){
  .bm-home{
    --bm-home-shell-width: calc(100% - 10px);
  }

  body.home .bm-brand{
    width: clamp(200px, 24vw, 300px);
    margin-bottom: -26px;
  }

  body.home .bm-menu{
    gap: 6px;
  }

  body.home .bm-menu a{
    padding: 5px 10px;
    font-size: .76rem;
  }

  .bm-home-desktop{
    gap: 4px;
  }

  .bm-home-search{
    margin-top: -2px;
    padding: 6px;
  }

  .bm-home-search__grid{
    grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(0, 1fr)) 82px;
    gap: 4px;
  }

  .bm-home-field select{
    height: 36px;
    font-size: .78rem;
  }

  .bm-home-stage{
    grid-template-columns: 142px minmax(0, 1fr) 142px;
    gap: 7px;
    margin-top: -2px;
  }

  .bm-home-stage__side{
    gap: 7px;
    padding: 7px 5px 5px;
    border-radius: 20px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 102px;
    padding: 4px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 90px;
    height: 90px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    right: 58px;
    bottom: 9px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    font-size: .5rem;
  }

  .bm-home-feature-card--side h2{
    font-size: .74rem;
  }

  .bm-home-feature-card--side p{
    display: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    padding: 5px 10px;
    font-size: .66rem;
  }

  .bm-home-stage__mascot img{
    height: 60px;
  }

  .bm-home-stage__cta{
    grid-template-columns: minmax(0, 1fr) 52px;
    height: 84px;
    gap: 5px;
    padding: 6px;
    border-radius: 18px;
  }

  .bm-home-stage__cta-title{
    font-size: .68rem;
  }

  .bm-home-stage__cta-text{
    display: none;
  }

  .bm-home-stage__cta .bm-home-button{
    min-height: 26px;
    padding: 0 9px;
    font-size: .62rem;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 48px;
  }

  .bm-home-scene{
    top: -18px;
    width: 980px;
    height: 470px;
  }

  .bm-home-scene__map{
    left: 16px;
    top: -8px;
    width: 930px;
    height: 470px;
  }

  .bm-home-scene__lines{
    top: -16px;
    transform: translateY(-18px);
  }

  .bm-home-scene__hub{
    left: 398px;
    top: 104px;
    width: 250px;
  }

  .bm-home-scene__center-glow{
    left: 340px;
    top: 156px;
    width: 188px;
    height: 102px;
  }

  body.home .bm-footer{
    margin-top: -6px;
  }

  body.home .bm-footer .bm-wrap{
    padding: 5px 8px;
  }

  body.home .bm-footer h3,
  body.home .bm-footer h4,
  body.home .bm-footer p,
  body.home .bm-footer li,
  body.home .bm-footer a{
    font-size: .62rem;
  }
}

@media (min-width: 1180px) and (max-height: 860px){
  body.home .bm-header{
    padding-top: 0;
  }

  body.home .bm-header-inner{
    padding: 4px 12px;
  }

  main.bm-home{
    padding-top: 0;
    padding-bottom: 2px;
  }

  .bm-home-desktop{
    gap: 4px;
  }

  .bm-home-search{
    width: 100%;
    margin-top: -6px;
    padding: 7px;
  }

  .bm-home-search__grid{
    gap: 5px;
  }

  .bm-home-field span,
  .bm-home-feature-card p,
  .bm-home-desktop-panel__copy span{
    font-size: .62rem;
  }

  .bm-home-field select{
    height: 38px;
  }

  .bm-home-stage{
    grid-template-columns: minmax(184px, 15vw) minmax(0, 1fr) minmax(184px, 15vw);
    gap: 10px;
    margin-top: -16px;
  }

  .bm-home-stage__side{
    gap: 10px;
    padding: 8px 6px 6px;
  }

  .bm-home-scene{
    top: -54px;
  }

  .bm-home-stage__mascot img{
    height: 92px;
    width: auto;
  }

 .bm-home-stage__cta{
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(70px, 5vw, 92px);
  gap: clamp(6px, .7vw, 10px);
  align-items: end;
  width: 100%;
  height: clamp(124px, 11vw, 158px);
  padding: clamp(8px, .9vw, 12px);
  border-radius: clamp(18px, 1.3vw, 24px);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: var(--bm-home-shadow-soft);
  box-sizing: border-box;
}

.bm-home-stage__cta--subscribe{
  background: linear-gradient(180deg, rgba(255,133,24,.88), rgba(188,76,0,.82));
}

.bm-home-stage__cta--promo{
  background: linear-gradient(180deg, rgba(28,88,188,.9), rgba(10,52,127,.84));
}

.bm-home-stage__cta-copy{
  display: grid;
  align-content: space-between;
  gap: clamp(4px, .5vw, 8px);
  min-width: 0;
  height: 100%;
}

.bm-home-stage__cta-title{
  font-family: var(--bm-home-display);
  font-size: clamp(.74rem, .9vw, .96rem);
  line-height: 1.04;
  color: #fff;
}

.bm-home-stage__cta-text{
  font-size: clamp(.56rem, .66vw, .7rem);
  line-height: 1.18;
  color: rgba(255,255,255,.88);
}

.bm-home-stage__cta-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bm-home-stage__cta .bm-home-button{
  min-height: clamp(28px, 2.2vw, 34px);
  padding: 0 clamp(10px, .9vw, 14px);
  font-size: clamp(.64rem, .72vw, .76rem);
}

.bm-home-stage__cta .bm-home-stage__mascot{
  justify-content: center;
  align-self: end;
}

.bm-home-stage__cta .bm-home-stage__mascot img{
  height: clamp(72px, 7.2vw, 110px);
  width: auto;
}


  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 120px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 108px;
    height: 108px;
  }

  .bm-home-desktop-panel{
    min-height: 58px;
    padding: 8px 12px;
  }

  body.home .bm-footer{
    margin-top: -16px;
  }

  body.home .bm-footer .bm-wrap{
    padding: 6px 10px;
  }

  body.home .bm-footer h3,
  body.home .bm-footer h4,
  body.home .bm-footer p,
  body.home .bm-footer li,
  body.home .bm-footer a{
    font-size: .66rem;
  }

  .bm-home-feature-card p{
    display: none;
  }
}

@media (min-width: 1180px) and (max-height: 760px){
  .bm-home-stage{
    grid-template-columns: minmax(156px, 14vw) minmax(0, 1fr) minmax(156px, 14vw);
  }

  .bm-home-stage__side{
    gap: 8px;
    padding: 6px 5px 5px;
  }

  .bm-home-scene{
    top: -12px;
  }

  .bm-home-stage__mascot img{
    height: 76px;
    width: auto;
  }

  .bm-home-stage__cta{
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 7px;
  }

  .bm-home-stage__cta-title{
    font-size: .76rem;
  }

  .bm-home-stage__cta-text{
    display: none;
  }

  .bm-home-stage__cta .bm-home-button{
    min-height: 30px;
    font-size: .68rem;
  }

  .bm-home-stage__cta .bm-home-stage__mascot{
    justify-content: flex-end;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 70px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 104px;
    padding: 4px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 92px;
    height: 92px;
  }

  .bm-home-desktop-panel__copy span{
    display: none;
  }

  .bm-home-desktop-panel{
    min-height: 54px;
    padding: 8px 10px;
  }

  .bm-home-desktop-panel .bm-home-button{
    min-height: 34px;
    font-size: .7rem;
  }

  body.home .bm-footer .bm-wrap{
    padding: 5px 8px;
  }

  body.home .bm-footer h3,
  body.home .bm-footer h4,
  body.home .bm-footer p,
  body.home .bm-footer li,
  body.home .bm-footer a{
    font-size: .62rem;
  }

  .bm-home-feature-card__label{
    font-size: .54rem;
  }

  .bm-home-feature-card h2{
    font-size: .78rem;
  }

  .bm-home-feature-card p{
    display: none;
  }
}

@media (prefers-reduced-motion: reduce){
  .bm-home-stage__mascot img{
    animation: none;
  }

  .bm-home-button,
  .bm-home-scene__icon{
    transition: none;
  }
}

@media (max-width: 800px){
  body.home{
    display: block;
    min-height: auto;
  }

  body.home .bm-header{
    padding-top: 10px;
  }

  body.home .bm-header-inner{
    width: min(430px, calc(100% - 20px));
    padding: 10px 12px;
    border-radius: 22px;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
  }

  body.home .bm-menu{
    justify-content: center;
  }

  body.home .bm-menu a{
    padding: 8px 11px;
    font-size: .74rem;
  }

  body.home .bm-footer{
    margin-top: 0;
    padding: 4px 0 18px;
  }

  body.home .bm-footer .bm-wrap{
    width: min(430px, calc(100% - 20px));
    padding: 16px;
  }

  body.home .bm-footer-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.home .bm-footer ul{
    display: grid;
    gap: 8px;
  }

  body.home .bm-footer-links ul{
    grid-template-columns: 1fr;
  }

  .bm-home-screen{
    width: min(430px, calc(100% - 20px));
    min-height: 0;
  }

  .bm-home-desktop{
    display: none;
  }

  .bm-home-mobile{
    display: grid;
    gap: 12px;
    padding: 8px 0 10px;
  }
}

@media (max-width: 420px){
  .bm-home-mobile__featured,
  .bm-home-mobile__recent{
    grid-template-columns: 1fr;
  }

  .bm-home-mobile__field-row{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   AJUSTES FINALES RESPONSIVE HOME
   Esta capa pisa los overrides heredados que estaban
   causando huecos, solapes y footer cortado.
========================================================= */
body.home{
  --bm-home-shell-width: calc(100% - 28px);
}

body.home .bm-footer{
  margin-top: 6px;
  padding: 0 0 10px;
}

body.home .bm-footer .bm-wrap{
  padding: 8px 12px;
}

body.home .bm-footer h3,
body.home .bm-footer h4{
  font-size: .9rem;
}

body.home .bm-footer p,
body.home .bm-footer li,
body.home .bm-footer a{
  font-size: .72rem;
  line-height: 1.1;
}

.bm-home-screen{
  width: var(--bm-home-shell-width);
  min-height: auto;
}

.bm-home-desktop{
  grid-template-rows: auto auto;
  gap: 12px;
  height: auto;
  min-height: 0;
}

.bm-home-search{
  margin-top: 0;
}

.bm-home-stage{
  grid-template-columns: clamp(184px, 14.5vw, 236px) minmax(0, 1fr) clamp(184px, 14.5vw, 236px);
  gap: clamp(10px, 1vw, 18px);
  align-items: stretch;
  min-height: clamp(440px, 56vh, 700px);
  height: auto;
  padding: 0 6px;
  margin-top: 0;
}

.bm-home-stage__side{
  grid-template-rows: auto auto;
  align-content: start;
  min-height: clamp(440px, 56vh, 700px);
  height: auto;
  gap: 10px;
}

.bm-home-scene-shell,
.bm-home-scene-frame{
  min-height: clamp(440px, 56vh, 700px);
  height: auto;
  align-items: center;
}

.bm-home-scene{
  top: -8px;
}

.bm-home-stage__cta{
  height: auto;
  min-height: 120px;
}

@media (min-width: 1500px){
  body.home{
    --bm-home-shell-width: calc(100% - 48px);
  }

  .bm-home-stage{
    grid-template-columns: clamp(210px, 14vw, 274px) minmax(0, 1fr) clamp(210px, 14vw, 274px);
    min-height: clamp(520px, 58vh, 760px);
  }

  .bm-home-stage__side,
  .bm-home-scene-shell,
  .bm-home-scene-frame{
    min-height: clamp(520px, 58vh, 760px);
  }

  .bm-home-scene{
    top: 0;
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home{
    --bm-home-shell-width: calc(100% - 16px);
  }

  body.home .bm-header-inner{
    width: var(--bm-home-shell-width);
  }

  .bm-home-search{
    padding: 7px;
  }

  .bm-home-search__grid{
    grid-template-columns: minmax(0, 1.08fr) repeat(3, minmax(0, 1fr)) 92px;
    gap: 6px;
  }

  .bm-home-field select{
    height: 38px;
    font-size: .8rem;
  }

  .bm-home-stage{
    grid-template-columns: 150px minmax(0, 1fr) 150px;
    min-height: 420px;
    gap: 8px;
  }

  .bm-home-stage__side,
  .bm-home-scene-shell,
  .bm-home-scene-frame{
    min-height: 420px;
  }

  .bm-home-stage__side{
    padding: 8px 6px 6px;
    border-radius: 22px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: 118px;
    padding: 5px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    min-height: 106px;
    height: 106px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    right: 62px;
    bottom: 9px;
  }

  .bm-home-feature-card--side h2{
    font-size: .78rem;
  }

  .bm-home-feature-card--side p{
    display: none;
  }

  .bm-home-stage__cta{
    grid-template-columns: minmax(0, 1fr) 56px;
    min-height: 96px;
    gap: 6px;
    padding: 8px;
  }

  .bm-home-stage__cta-title{
    font-size: .72rem;
  }

  .bm-home-stage__cta-text{
    display: none;
  }

  .bm-home-stage__cta .bm-home-button{
    min-height: 28px;
    padding: 0 10px;
    font-size: .64rem;
  }

  .bm-home-stage__cta .bm-home-stage__mascot img{
    height: 62px;
  }

  .bm-home-scene{
    top: -6px;
  }

  body.home .bm-footer{
    margin-top: 4px;
    padding-bottom: 8px;
  }

  body.home .bm-footer .bm-wrap{
    padding: 6px 10px;
  }
}

@media (max-width: 899px){
  body.home .bm-nav{
    width: auto;
  }

  body.home .bm-nav .bm-menu{
    display: none;
    position: absolute;
    right: 0;
    left: auto;
    top: calc(100% + 10px);
    width: min(320px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    padding: 12px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(10,40,90,.92), rgba(255,120,0,.34));
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 18px 50px rgba(0,0,0,.35);
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: stretch;
    gap: 10px;
    z-index: 120;
  }

  body.home .bm-nav.is-open .bm-menu{
    display: flex;
  }

  body.home .bm-menu li{
    width: 100%;
  }

  body.home .bm-menu a{
    width: 100%;
    justify-content: center;
    white-space: normal;
  }
}

@media (max-width: 800px){
  body.home .bm-header{
    padding-top: 8px;
  }

  body.home .bm-header-inner{
    width: calc(100% - 20px);
    padding: 8px 12px;
    border-radius: 18px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  body.home .bm-brand{
    width: clamp(180px, 48vw, 240px);
    margin-bottom: 0;
  }

  body.home .bm-nav{
    width: auto;
  }

  body.home .bm-nav .bm-menu{
    display: none;
    right: 0;
    left: auto;
    top: calc(100% + 10px);
    width: min(320px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    justify-content: stretch;
    gap: 10px;
  }

  body.home .bm-nav.is-open .bm-menu{
    display: flex;
  }

  body.home .bm-menu li{
    width: 100%;
  }

  body.home .bm-menu a{
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  body.home{
    --bm-home-shell-width: calc(100% - 20px);
  }

  .bm-home-screen{
    width: var(--bm-home-shell-width);
  }

  .bm-home-mobile{
    gap: 12px;
    padding: 8px 0 14px;
  }

  .bm-home-mobile__logo{
    display: none;
  }

  .bm-home-mobile__intro h1{
    font-size: clamp(1.55rem, 8.6vw, 2rem);
  }

  .bm-home-mobile__intro p{
    font-size: .88rem;
    line-height: 1.25;
  }

  .bm-home-mobile__search{
    padding: 12px;
  }

  .bm-home-mobile__account{
    width: 100%;
  }

  .bm-home-mobile__account .bm-home-button{
    width: 100%;
    max-width: 100%;
  }

  body.home .bm-footer{
    margin-top: 4px;
    padding: 4px 0 18px;
  }
}

/* =========================================================
   CARRUSELES PRO + MAPA MÓVIL
========================================================= */
.bm-home-feature-card--carousel,
.bm-home-mobile-card--carousel{
  position: relative;
}

.bm-home-feature-carousel__slides,
.bm-home-mobile-card__slides{
  position: relative;
}

.bm-home-feature-carousel__slide[hidden],
.bm-home-mobile-card__slide[hidden]{
  display: none !important;
}

.bm-home-mobile__map-band{
  display: grid;
  grid-template-columns: clamp(64px, 20vw, 92px) minmax(0, 1fr) clamp(64px, 20vw, 92px);
  gap: 10px;
  align-items: end;
}

.bm-home-mobile__map-mascot{
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.bm-home-mobile__map-mascot img{
  width: clamp(68px, 20vw, 96px);
  height: auto;
  filter: drop-shadow(0 16px 22px rgba(4,16,43,.22));
}

.bm-home-mobile__map-only{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
}

.bm-home-mobile__map-only img{
  width: min(100%, 360px);
  height: auto;
  display: block;
  filter: drop-shadow(0 18px 28px rgba(4,16,43,.18));
}

.bm-home-mobile__pro-groups{
  display: grid;
  gap: 10px;
}

.bm-home-mobile__pro-row{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bm-home-mobile-card--carousel{
  padding: 10px;
}

.bm-home-mobile-card__slide{
  display: grid;
  gap: 8px;
  color: #fff;
  text-decoration: none;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__head{
  font-size: .72rem;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__head strong{
  min-width: 42px;
  text-align: center;
  font-size: .68rem;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__body{
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__body img{
  height: 90px;
  object-fit: cover;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__body h2{
  font-size: .92rem;
  line-height: 1.1;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__body p{
  margin-bottom: 6px;
  font-size: .72rem;
  line-height: 1.18;
}

.bm-home-mobile-card--carousel .bm-home-mobile-card__body span{
  padding: 7px 12px;
  font-size: .72rem;
}

@media (max-width: 480px){
  .bm-home-mobile__map-band{
    grid-template-columns: 58px minmax(0, 1fr) 58px;
    gap: 8px;
  }

  .bm-home-mobile__map-mascot img{
    width: 58px;
  }

  .bm-home-mobile__map-only img{
    width: min(100%, 250px);
  }

  .bm-home-mobile__pro-row{
    gap: 8px;
  }

  .bm-home-mobile-card--carousel{
    padding: 8px;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body{
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 7px;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body img{
    height: 78px;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body h2{
    font-size: .82rem;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body p{
    font-size: .66rem;
  }
}

/* =========================================================
   ESTABILIZACION FINAL HOME
   Conserva la apariencia lograda, pero evita que
   la escena y los frames se estiren o dejen aire muerto.
========================================================= */
body.home{
  display: block;
  min-height: 0;
  --bm-home-side-width: var(--bm-frame-rail-width);
  --bm-home-scene-width: 980px;
  --bm-home-scene-height: 560px;
  --bm-home-scene-top: -4px;
  --bm-home-map-left: 12px;
  --bm-home-map-top: 0px;
  --bm-home-map-width: 956px;
  --bm-home-map-height: 535px;
  --bm-home-lines-top: -18px;
  --bm-home-lines-shift: -20px;
  --bm-home-glow-left: 395px;
  --bm-home-glow-top: 154px;
  --bm-home-glow-width: 190px;
  --bm-home-glow-height: 104px;
  --bm-home-hub-left: 366px;
  --bm-home-hub-top: 102px;
  --bm-home-hub-width: 248px;
  --bm-home-icon-empresas-left: 54px;
  --bm-home-icon-empresas-top: 10px;
  --bm-home-icon-empresas-width: 154px;
  --bm-home-icon-servicios-right: 56px;
  --bm-home-icon-servicios-top: 8px;
  --bm-home-icon-servicios-width: 158px;
  --bm-home-icon-materiales-left: 8px;
  --bm-home-icon-materiales-top: 138px;
  --bm-home-icon-materiales-width: 170px;
  --bm-home-icon-vehiculos-right: 12px;
  --bm-home-icon-vehiculos-top: 144px;
  --bm-home-icon-vehiculos-width: 180px;
  --bm-home-icon-propiedades-left: 52px;
  --bm-home-icon-propiedades-top: 282px;
  --bm-home-icon-propiedades-width: 180px;
  --bm-home-icon-empleos-left: 322px;
  --bm-home-icon-empleos-top: 426px;
  --bm-home-icon-empleos-width: 164px;
  --bm-home-icon-herramientas-right: 258px;
  --bm-home-icon-herramientas-top: 426px;
  --bm-home-icon-herramientas-width: 164px;
  --bm-home-icon-consultas-right: 58px;
  --bm-home-icon-consultas-top: 282px;
  --bm-home-icon-consultas-width: 168px;
}

body.home.admin-bar{
  min-height: 0;
}

main.bm-home{
  padding: 0 0 clamp(10px, .9vw, 16px);
}

body.home .bm-header{
  margin-top: 0;
  padding-top: 6px;
}

body.home .bm-header-inner,
.bm-home-screen,
body.home .bm-footer .bm-wrap{
  width: var(--bm-home-shell-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 12;
}

.bm-home-screen{
  position: relative;
  min-height: 0;
  padding: clamp(10px, .9vw, 14px);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(10,38,95,.28), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 54px rgba(4,16,43,.22);
}

.bm-home-desktop{
  align-content: start;
  min-height: 0;
  height: auto;
  gap: clamp(10px, .9vw, 14px);
}

.bm-home-stage{
  grid-template-columns: var(--bm-home-side-width) minmax(0, 1fr) var(--bm-home-side-width);
  gap: var(--bm-frame-shell-gap);
  align-items: start;
  min-height: auto;
  height: auto;
  margin-top: 0;
  padding-bottom: clamp(6px, .6vw, 10px);
}

.bm-home-stage__side{
  align-self: start;
  min-height: 0;
  height: auto;
  gap: clamp(10px, .9vw, 14px);
  padding: clamp(12px, 1vw, 16px) clamp(10px, .9vw, 14px) clamp(10px, .9vw, 14px);
  overflow: visible;
}

.bm-home-scene-shell,
.bm-home-scene-frame{
  align-self: start;
  width: 100%;
  min-height: clamp(360px, 34vw, var(--bm-home-scene-height));
  height: auto;
  align-items: stretch;
  padding-top: 0;
  position: relative;
}

.bm-home-scene-frame{
  aspect-ratio: 980 / 560;
}

.bm-home-scene{
  position: absolute;
  left: 50%;
  top: var(--bm-home-scene-top);
  width: var(--bm-home-scene-width);
  height: var(--bm-home-scene-height);
  transform-origin: top center;
  transform: translateX(-50%) translateZ(0) scale(var(--bm-scene-scale, 1));
}

.bm-home-scene__map{
  left: var(--bm-home-map-left);
  top: var(--bm-home-map-top);
  width: var(--bm-home-map-width);
  height: var(--bm-home-map-height);
}

.bm-home-scene__rail{
  gap: clamp(12px, .95vw, 18px);
}

.bm-home-feature-card--side .bm-home-feature-card__link{
  min-height: clamp(164px, 11.2vw, 214px);
  padding: clamp(6px, .55vw, 8px);
  border-radius: 24px;
}

.bm-home-feature-card--side .bm-home-feature-card__media{
  min-height: clamp(150px, 10.3vw, 196px);
  height: clamp(150px, 10.3vw, 196px);
}

.bm-home-feature-card--side .bm-home-feature-card__body{
  left: clamp(12px, .95vw, 16px);
  right: clamp(74px, 5.1vw, 96px);
  bottom: clamp(12px, .95vw, 16px);
  gap: 4px;
}

.bm-home-feature-card--side .bm-home-feature-card__label{
  font-size: clamp(.56rem, .52vw, .66rem);
}

.bm-home-feature-card--side h2{
  font-size: clamp(.92rem, .84vw, 1.08rem);
}

.bm-home-feature-card--side p{
  font-size: clamp(.62rem, .56vw, .72rem);
  line-height: 1.18;
}

.bm-home-feature-card--side .bm-home-feature-card__cta{
  right: clamp(12px, .95vw, 16px);
  bottom: clamp(12px, .95vw, 16px);
  min-height: clamp(30px, 2vw, 36px);
  padding: 0 clamp(10px, .8vw, 14px);
  font-size: clamp(.64rem, .72vw, .76rem);
}

.bm-home-stage__cta{
  position: relative;
  grid-template-columns: 1fr;
  gap: clamp(8px, .75vw, 12px);
  min-height: clamp(124px, 10vw, 164px);
  height: auto;
  padding: clamp(10px, .95vw, 14px);
  overflow: visible;
}

.bm-home-stage__cta-copy{
  position: relative;
  z-index: 1;
}

.bm-home-stage__cta .bm-home-button{
  min-height: clamp(28px, 2.2vw, 34px);
  padding: 0 clamp(10px, .9vw, 14px);
  font-size: clamp(.64rem, .72vw, .76rem);
}

.bm-home-stage__cta .bm-home-stage__mascot{
  position: absolute;
  top: auto;
  bottom: -86px;
  z-index: 3;
  pointer-events: none;
  align-self: auto;
}

.bm-home-stage__cta .bm-home-stage__mascot img{
  height: clamp(156px, 11.8vw, 228px);
  width: auto;
  transform-origin: center bottom;
}

.bm-home-stage__side--left .bm-home-stage__cta .bm-home-stage__mascot{
  right: -82px;
}

.bm-home-stage__side--right .bm-home-stage__cta .bm-home-stage__mascot{
  left: -82px;
}

.bm-home-stage__side--right .bm-home-stage__cta-copy{
  text-align: right;
  justify-items: end;
}

.bm-home-stage__side--right .bm-home-stage__cta-actions{
  justify-content: flex-end;
}

.bm-home-stage__side .bm-home-stage__mascot--left{
  justify-content: flex-end;
}

.bm-home-stage__side .bm-home-stage__mascot--right{
  justify-content: flex-start;
}

.bm-home-scene__lines{
  top: var(--bm-home-lines-top);
  transform: translateY(var(--bm-home-lines-shift));
}

.bm-home-scene__center-glow{
  left: var(--bm-home-glow-left);
  top: var(--bm-home-glow-top);
  width: var(--bm-home-glow-width);
  height: var(--bm-home-glow-height);
}

.bm-home-scene__hub{
  left: var(--bm-home-hub-left);
  top: var(--bm-home-hub-top);
  width: var(--bm-home-hub-width);
}

.bm-home-scene__icon--empresas{
  left: var(--bm-home-icon-empresas-left);
  top: var(--bm-home-icon-empresas-top);
  width: var(--bm-home-icon-empresas-width);
}

.bm-home-scene__icon--servicios{
  right: var(--bm-home-icon-servicios-right);
  top: var(--bm-home-icon-servicios-top);
  width: var(--bm-home-icon-servicios-width);
}

.bm-home-scene__icon--materiales-superior{
  left: var(--bm-home-icon-materiales-left);
  top: var(--bm-home-icon-materiales-top);
  width: var(--bm-home-icon-materiales-width);
}

.bm-home-scene__icon--vehiculos-maquinaria{
  right: var(--bm-home-icon-vehiculos-right);
  top: var(--bm-home-icon-vehiculos-top);
  width: var(--bm-home-icon-vehiculos-width);
}

.bm-home-scene__icon--propiedades{
  left: var(--bm-home-icon-propiedades-left);
  top: var(--bm-home-icon-propiedades-top);
  width: var(--bm-home-icon-propiedades-width);
}

.bm-home-scene__icon--empleos{
  left: var(--bm-home-icon-empleos-left);
  top: var(--bm-home-icon-empleos-top);
  width: var(--bm-home-icon-empleos-width);
}

.bm-home-scene__icon--herramientas{
  right: var(--bm-home-icon-herramientas-right);
  top: var(--bm-home-icon-herramientas-top);
  width: var(--bm-home-icon-herramientas-width);
}

.bm-home-scene__icon--consultas{
  right: var(--bm-home-icon-consultas-right);
  top: var(--bm-home-icon-consultas-top);
  width: var(--bm-home-icon-consultas-width);
}

.bm-home-scene__icon--propiedades img,
.bm-home-scene__icon--consultas img{
  width: 168%;
}

.bm-home-scene__icon--empleos img,
.bm-home-scene__icon--herramientas img{
  width: 164%;
}

.bm-home-scene__icon--empresas,
.bm-home-scene__icon--servicios,
.bm-home-scene__icon--materiales-superior,
.bm-home-scene__icon--vehiculos-maquinaria{
  --bm-home-icon-scale: 1.24;
  --bm-home-icon-scale-hover: 1.3;
}

.bm-home-scene__icon--propiedades,
.bm-home-scene__icon--consultas{
  --bm-home-icon-scale: 1.18;
  --bm-home-icon-scale-hover: 1.24;
}

.bm-home-scene__icon--empleos,
.bm-home-scene__icon--herramientas{
  --bm-home-icon-scale: 1.2;
  --bm-home-icon-scale-hover: 1.26;
}

body.home .bm-footer{
  margin-top: clamp(8px, .8vw, 14px);
  padding: 0 0 14px;
}

body.home .bm-footer .bm-wrap{
  margin: 0 auto;
  padding: 10px 14px;
  border-radius: 24px;
}

@media (min-width: 1500px){
  body.home{
    --bm-home-shell-width: calc(100% - 40px);
    --bm-home-side-width: var(--bm-frame-rail-width);
    --bm-home-scene-top: -6px;
  }

  .bm-home-stage{
    grid-template-columns: var(--bm-home-side-width) minmax(0, 1fr) var(--bm-home-side-width);
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home{
    --bm-home-scene-top: -8px;
  }

  .bm-home-stage{
    align-items: start;
  }
}

/* -------------------------------------------------------------------------- */
/* Home splash refresh                                                         */
/* -------------------------------------------------------------------------- */

.bm-home-splash{
  position: relative;
  width: min(var(--bm-home-shell-width), calc(100% - 20px));
  margin: 0 auto clamp(12px, 1vw, 18px);
  display: grid;
  gap: clamp(12px, 1vw, 18px);
}

.bm-home-splash__ribbon{
  display: flex;
  justify-content: center;
}

.bm-home-splash__ribbon-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 152, 52, .68);
  background:
    linear-gradient(180deg, rgba(20, 54, 112, .96), rgba(8, 25, 60, .94));
  box-shadow:
    0 18px 38px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .12);
  color: #f9fbff;
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

.bm-home-splash__ribbon-pill::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffb359, #ff7a00);
  box-shadow: 0 0 0 5px rgba(255, 122, 0, .16);
}

.bm-home-splash__iconbar{
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: clamp(8px, .8vw, 14px);
  padding: clamp(14px, 1.2vw, 18px);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(10, 36, 80, .98), rgba(5, 20, 49, .96));
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow:
    0 30px 60px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.bm-home-splash__iconbar::after{
  content: "";
  position: absolute;
  left: clamp(24px, 3vw, 44px);
  right: clamp(24px, 3vw, 44px);
  bottom: 8px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255, 122, 0, .1), rgba(255, 166, 79, .92), rgba(255, 122, 0, .12));
}

.bm-home-splash__iconlink{
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 4px 4px 10px;
  text-decoration: none;
  color: #f3f7ff;
  transition: transform .22s ease, filter .22s ease;
}

.bm-home-splash__iconlink:hover,
.bm-home-splash__iconlink:focus-visible{
  transform: translateY(-4px);
  filter: brightness(1.08);
}

.bm-home-splash__iconorb{
  width: clamp(74px, 5.8vw, 94px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 147, 41, .82);
  background:
    radial-gradient(circle at 30% 25%, rgba(44, 95, 183, .92), rgba(9, 30, 69, .98));
  box-shadow:
    0 12px 28px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .18);
}

.bm-home-splash__iconorb img{
  max-width: 86%;
  max-height: 86%;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .28));
}

.bm-home-splash__iconorb span{
  color: #fff;
  font-weight: 900;
  letter-spacing: .08em;
}

.bm-home-splash__iconlabel{
  max-width: 12ch;
  color: #f4f7ff;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: .03em;
  text-align: center;
  text-transform: uppercase;
}

.bm-home-splash__panel{
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 2.4vw, 38px);
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, .12);
  background:
    linear-gradient(135deg, rgba(8, 30, 72, .94), rgba(6, 20, 53, .92) 32%, rgba(18, 42, 90, .88) 54%, rgba(171, 90, 19, .26) 80%, rgba(255, 141, 44, .2) 100%);
  box-shadow:
    0 34px 70px rgba(0, 0, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

.bm-home-splash__panel::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 24%, rgba(255, 141, 44, .22), transparent 28%),
    radial-gradient(circle at 20% 72%, rgba(42, 112, 255, .18), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, .03), transparent 30%);
  pointer-events: none;
}

.bm-home-splash__panel-glow{
  position: absolute;
  right: -12%;
  top: -22%;
  width: 42%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 158, 74, .28), rgba(255, 158, 74, 0));
  filter: blur(10px);
  pointer-events: none;
}

.bm-home-splash__hero{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: clamp(20px, 2vw, 30px);
  align-items: end;
  margin-bottom: clamp(24px, 2vw, 30px);
}

.bm-home-splash__copy{
  display: grid;
  align-content: start;
  gap: 14px;
  max-width: 600px;
}

.bm-home-splash__eyebrow{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff8a17, #da5f00);
  box-shadow: 0 10px 24px rgba(255, 122, 0, .22);
  color: #fff7ef;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bm-home-splash__hello{
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-size: 1rem;
  font-weight: 700;
}

.bm-home-splash__copy h1{
  margin: 0;
  max-width: 9ch;
  color: #ffffff;
  font-size: clamp(2.8rem, 4.6vw, 4.8rem);
  line-height: .94;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.bm-home-splash__copy p{
  margin: 0;
  max-width: 58ch;
  color: rgba(240, 246, 255, .82);
  font-size: 1.02rem;
  line-height: 1.62;
}

.bm-home-splash__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 4px;
}

.bm-home-splash__button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 20px;
  border-radius: 18px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 800;
  font-size: .98rem;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.bm-home-splash__button:hover,
.bm-home-splash__button:focus-visible{
  transform: translateY(-2px);
}

.bm-home-splash__button--primary{
  background: linear-gradient(180deg, #ff9d27, #ff6900);
  box-shadow: 0 16px 28px rgba(255, 122, 0, .26);
  color: #fff;
}

.bm-home-splash__button--ghost{
  border-color: rgba(255, 255, 255, .16);
  background: rgba(6, 28, 73, .44);
  color: #f4f8ff;
}

.bm-home-splash__stage{
  position: relative;
  min-height: 320px;
  display: grid;
  align-items: end;
}

.bm-home-splash__stage::before{
  content: "";
  position: absolute;
  inset: auto 3% 4% 3%;
  height: 62%;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255, 190, 123, .1), rgba(255, 123, 0, .08)),
    radial-gradient(circle at 50% 0%, rgba(255, 165, 79, .3), transparent 62%);
  border: 1px solid rgba(255, 166, 79, .18);
  backdrop-filter: blur(5px);
}

.bm-home-splash__brandmark{
  position: absolute;
  right: 4%;
  top: -2%;
  width: clamp(94px, 9vw, 144px);
  opacity: .18;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .2));
}

.bm-home-splash__brandmark--logo{
  width: clamp(120px, 11vw, 172px);
}

.bm-home-splash__mascots{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 18px);
  align-items: end;
}

.bm-home-splash__mascot{
  position: relative;
  display: grid;
  justify-items: center;
  margin: 0;
}

.bm-home-splash__mascot img{
  width: 100%;
  max-height: 332px;
  object-fit: contain;
  filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .28));
}

.bm-home-splash__mascot figcaption{
  position: absolute;
  top: 14%;
  padding: 10px 16px;
  border-radius: 18px;
  background: rgba(6, 36, 87, .88);
  border: 1px solid rgba(255, 150, 54, .42);
  box-shadow: 0 16px 26px rgba(0, 0, 0, .22);
  color: #ffe6d1;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.bm-home-splash__mascot--buscalim figcaption{
  right: 2%;
}

.bm-home-splash__mascot--lupita figcaption{
  left: 4%;
}

.bm-home-splash__search{
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 30px;
  border: 1px solid rgba(255, 153, 48, .54);
  background:
    linear-gradient(180deg, rgba(20, 56, 118, .46), rgba(11, 31, 72, .72));
  box-shadow:
    0 22px 42px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .12);
}

.bm-home-splash__search-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(4, minmax(0, .86fr)) minmax(140px, .52fr);
  gap: 12px;
  align-items: stretch;
}

.bm-home-splash__field{
  display: grid;
  gap: 8px;
}

.bm-home-splash__field span{
  color: rgba(240, 246, 255, .88);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bm-home-splash__field input,
.bm-home-splash__field select{
  width: 100%;
  min-height: 64px;
  padding: 0 18px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .96);
  color: #14325f;
  font-size: .98rem;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

.bm-home-splash__field input::placeholder{
  color: #6e84a8;
}

.bm-home-splash__field select:disabled{
  background: rgba(242, 245, 250, .82);
  color: #7d8fae;
}

.bm-home-splash__submit{
  align-self: end;
  min-height: 64px;
  border: 0;
  border-radius: 20px;
  background: linear-gradient(180deg, #ff9a20, #ff6a00);
  box-shadow: 0 18px 30px rgba(255, 122, 0, .28);
  color: #fff;
  font-size: 1.06rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .22s ease, filter .22s ease;
}

.bm-home-splash__submit:hover,
.bm-home-splash__submit:focus-visible{
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.bm-home-splash__quick{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
}

.bm-home-splash__quick-label{
  color: rgba(255, 240, 226, .92);
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.bm-home-splash__quick-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bm-home-splash__quick-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(4, 28, 72, .4);
  text-decoration: none;
  color: rgba(243, 247, 255, .96);
  font-size: .84rem;
  font-weight: 700;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.bm-home-splash__quick-link:hover,
.bm-home-splash__quick-link:focus-visible{
  transform: translateY(-2px);
  background: rgba(12, 49, 112, .56);
  border-color: rgba(255, 160, 67, .38);
}

.bm-home-splash__quick-link img{
  width: 20px;
  height: 20px;
  object-fit: contain;
}

@media (max-width: 1320px){
  .bm-home-splash__iconbar{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .bm-home-splash__hero{
    grid-template-columns: minmax(0, 1fr);
  }

  .bm-home-splash__copy{
    max-width: none;
  }

  .bm-home-splash__stage{
    min-height: 260px;
  }

  .bm-home-splash__mascot img{
    max-height: 280px;
  }

  .bm-home-splash__search-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bm-home-splash__submit{
    min-height: 58px;
  }
}

@media (max-width: 980px){
  .bm-home-splash__ribbon-pill{
    width: 100%;
  }

  .bm-home-splash__iconbar{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bm-home-splash__panel{
    padding: 20px;
  }

  .bm-home-splash__copy h1{
    max-width: none;
    font-size: clamp(2.2rem, 7.2vw, 3.4rem);
  }

  .bm-home-splash__mascots{
    gap: 2px;
  }

  .bm-home-splash__mascot figcaption{
    top: 8%;
    font-size: .8rem;
  }

  .bm-home-splash__search-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px){
  .bm-home-splash{
    display: none;
  }
}

/* -------------------------------------------------------------------------- */
/* Home splash reference pass                                                 */
/* -------------------------------------------------------------------------- */

body.home .bm-home-splash{
  width: min(1340px, calc(100% - 28px));
  margin: 10px auto 14px;
}

body.home .bm-home-splash__panel{
  padding: 18px 18px 14px;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.14);
  background-image:
    linear-gradient(90deg, rgba(6, 26, 70, .94) 0%, rgba(6, 26, 70, .86) 32%, rgba(6, 26, 70, .55) 56%, rgba(255, 132, 36, .24) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    url("../img/home-skyline-bg.webp");
  background-size: cover;
  background-position: center;
  box-shadow: 0 34px 64px rgba(0,0,0,.26);
}

body.home .bm-home-splash__panel::before{
  background:
    radial-gradient(circle at 78% 24%, rgba(255, 141, 44, .18), transparent 24%),
    radial-gradient(circle at 10% 38%, rgba(62, 150, 255, .16), transparent 18%);
}

body.home .bm-home-splash__panel::after{
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,138,32,0), rgba(255,174,97,.94), rgba(255,138,32,0));
}

body.home .bm-home-splash__hero{
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: 12px;
  margin-bottom: 12px;
}

body.home .bm-home-splash__copy{
  gap: 10px;
  padding: 18px 12px 0 12px;
}

body.home .bm-home-splash__eyebrow{
  min-height: 34px;
  padding: 0 16px;
  font-size: .76rem;
}

body.home .bm-home-splash__hello{
  color: rgba(255,255,255,.94);
  font-size: 1rem;
}

body.home .bm-home-splash__copy h1{
  max-width: 9.2ch;
  display: grid;
  gap: 2px;
  font-size: clamp(2.9rem, 4.7vw, 4.95rem);
  line-height: .92;
}

body.home .bm-home-splash__copy h1 span{
  color: #ffffff;
}

body.home .bm-home-splash__copy h1 em{
  font-style: normal;
  color: #ff8f1f;
  text-shadow: 0 10px 24px rgba(255,143,31,.22);
}

body.home .bm-home-splash__copy p{
  max-width: 38ch;
  font-size: .98rem;
}

body.home .bm-home-splash__actions{
  display: none;
}

body.home .bm-home-splash__stage{
  min-height: 300px;
}

body.home .bm-home-splash__stage::before{
  inset: auto 2% 6% 2%;
  height: 72%;
  border-radius: 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(9, 40, 94, .28), rgba(255, 146, 55, .14));
}

body.home .bm-home-splash__brandmark{
  top: -8%;
  right: 6%;
  width: clamp(82px, 7vw, 118px);
  opacity: .24;
}

body.home .bm-home-splash__mascots{
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

body.home .bm-home-splash__mascot img{
  max-height: 364px;
}

body.home .bm-home-splash__mascot figcaption{
  top: 20%;
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 42, 96, .92);
  color: #ff9f2b;
  font-size: .92rem;
}

body.home .bm-home-splash__mascot--buscalim{
  transform: translateX(14px);
}

body.home .bm-home-splash__mascot--lupita{
  transform: translateX(-10px);
}

body.home .bm-home-splash__mascot--buscalim figcaption{
  right: 12%;
}

body.home .bm-home-splash__mascot--lupita figcaption{
  left: 10%;
}

body.home .bm-home-splash__search{
  padding: 12px;
  border-radius: 28px;
  border: 2px solid rgba(255, 146, 43, .7);
  background:
    linear-gradient(180deg, rgba(9,35,84,.82), rgba(11, 31, 72, .88));
  box-shadow:
    0 22px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.12);
}

body.home .bm-home-splash__search-grid{
  grid-template-columns: minmax(0, 1.2fr) repeat(4, minmax(0, .86fr)) minmax(170px, .56fr);
  gap: 10px;
}

body.home .bm-home-splash__field{
  position: relative;
  gap: 6px;
}

body.home .bm-home-splash__field span{
  padding-left: 6px;
  font-size: .72rem;
}

body.home .bm-home-splash__field--keyword::before{
  content: "";
  position: absolute;
  left: 18px;
  bottom: 22px;
  width: 18px;
  height: 18px;
  border: 3px solid #0f376d;
  border-radius: 50%;
  z-index: 2;
}

body.home .bm-home-splash__field--keyword::after{
  content: "";
  position: absolute;
  left: 33px;
  bottom: 15px;
  width: 9px;
  height: 3px;
  border-radius: 999px;
  background: #0f376d;
  transform: rotate(45deg);
  z-index: 2;
}

body.home .bm-home-splash__field input,
body.home .bm-home-splash__field select{
  min-height: 62px;
  border-radius: 16px;
  font-size: .94rem;
}

body.home .bm-home-splash__field--keyword input{
  padding-left: 56px;
}

body.home .bm-home-splash__submit{
  min-height: 62px;
  border-radius: 18px;
  font-size: 1rem;
}

body.home .bm-home-splash__quick{
  justify-content: flex-start;
  gap: 14px;
  padding: 14px 6px 0;
}

body.home .bm-home-splash__quick-label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffe3c4;
}

body.home .bm-home-splash__quick-label::before{
  content: "";
  width: 10px;
  height: 16px;
  background: linear-gradient(180deg, #ffbf63, #ff7a00);
  clip-path: polygon(50% 0, 72% 32%, 55% 32%, 84% 100%, 28% 48%, 46% 48%);
}

body.home .bm-home-splash__quick-links{
  gap: 8px;
}

body.home .bm-home-splash__quick-link{
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(8, 33, 77, .72);
}

body.home .bm-home-splash__quick-link img{
  width: 16px;
  height: 16px;
}

@media (max-width: 1320px){
  body.home .bm-home-splash__hero{
    grid-template-columns: 1fr;
  }

  body.home .bm-home-splash__copy{
    padding-top: 8px;
  }
}

/* -------------------------------------------------------------------------- */
/* Home splash final pass                                                     */
/* -------------------------------------------------------------------------- */

body.home .bm-home-splash{
  width: calc(100% - 8px);
  margin-top: 4px;
}

body.home .bm-home-splash__panel{
  padding: 20px 20px 16px;
  border-radius: 30px;
}

body.home .bm-home-splash__hero{
  grid-template-columns: minmax(340px, .86fr) minmax(0, 1.14fr);
  gap: 20px;
  align-items: center;
}

body.home .bm-home-splash__copy{
  padding: 10px 12px 0 16px;
}

body.home .bm-home-splash__copy h1{
  max-width: 8.6ch;
  font-size: clamp(3rem, 4.9vw, 5.35rem);
}

body.home .bm-home-splash__copy p{
  max-width: 34ch;
}

body.home .bm-home-splash__stage{
  min-height: 330px;
}

body.home .bm-home-splash__brandmark{
  width: clamp(88px, 6vw, 110px);
  top: -2%;
  right: 8%;
}

body.home .bm-home-splash__mascots{
  align-items: end;
}

body.home .bm-home-splash__mascot{
  padding-bottom: 48px;
}

body.home .bm-home-splash__mascot img{
  max-height: 388px;
}

body.home .bm-home-splash__mascot figcaption{
  top: auto;
  bottom: 10px;
  min-height: 42px;
  padding: 0 16px;
  font-size: .88rem;
  line-height: 1.1;
  white-space: nowrap;
}

body.home .bm-home-splash__mascot--buscalim figcaption{
  right: 18%;
}

body.home .bm-home-splash__mascot--lupita figcaption{
  left: 18%;
}

body.home .bm-home-splash__search{
  margin-top: 4px;
  padding: 12px;
}

body.home .bm-home-splash__search-grid{
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .92fr) minmax(0, .92fr) minmax(0, .96fr) minmax(170px, .54fr);
  gap: 12px;
}

body.home .bm-home-splash__field input,
body.home .bm-home-splash__field select{
  min-height: 66px;
}

body.home .bm-home-splash__submit{
  min-height: 66px;
}

body.home .bm-home-splash__quick{
  display: none;
}

@media (max-width: 1280px){
  body.home .bm-home-splash{
    width: calc(100% - 8px);
  }

  body.home .bm-home-splash__hero{
    grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
    gap: 14px;
  }

  body.home .bm-home-splash__copy h1{
    font-size: clamp(2.7rem, 4.4vw, 4.6rem);
  }

  body.home .bm-home-splash__mascot img{
    max-height: 332px;
  }

  body.home .bm-home-splash__mascot figcaption{
    bottom: 8px;
    font-size: .82rem;
  }

  body.home .bm-home-splash__search-grid{
    grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, .9fr)) minmax(150px, .54fr);
    gap: 10px;
  }
}

/* -------------------------------------------------------------------------- */
/* Home full width pass                                                       */
/* -------------------------------------------------------------------------- */
body.home,
.bm-home{
  --bm-home-shell-width: calc(100% - 8px);
}

body.home .bm-header-inner,
.bm-home-screen,
body.home .bm-home-splash{
  width: var(--bm-home-shell-width) !important;
  max-width: none !important;
}

body.home .bm-footer .bm-wrap{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.bm-home-stage{
  width: 100%;
  max-width: none;
}

/* -------------------------------------------------------------------------- */
/* Mobile home refresh                                                        */
/* -------------------------------------------------------------------------- */
@media (max-width: 800px){
  body.home{
    --bm-home-shell-width: calc(100% - 14px);
  }

  body.home .bm-header{
    display: none;
  }

  .bm-home-screen{
    width: min(100%, 480px) !important;
  }

  .bm-home-mobile{
    gap: 14px;
    padding: 6px 0 18px;
  }

  .bm-home-mobile__shell{
    position: relative;
    display: grid;
    gap: 12px;
    padding: 10px;
    border-radius: 30px;
    background:
      radial-gradient(circle at top right, rgba(255,126,18,.3), transparent 30%),
      linear-gradient(180deg, rgba(8,24,61,.98), rgba(9,31,77,.96) 48%, rgba(13,30,70,.98));
    border: 1px solid rgba(255,177,84,.3);
    box-shadow: 0 24px 46px rgba(2,10,29,.4), inset 0 1px 0 rgba(255,255,255,.08);
    overflow: visible;
  }

  .bm-home-mobile__topbar{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }

  .bm-home-mobile__brand{
    display: block;
    width: min(180px, 46vw);
  }

  .bm-home-mobile__brand img{
    width: 100%;
    display: block;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.25));
  }

  .bm-home-mobile__actions{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }

  .bm-home-mobile__action{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    min-width: 42px;
    padding: 0 12px;
    border-radius: 16px;
    text-decoration: none;
    color: #ffffff;
    border: 1px solid rgba(255,180,90,.2);
    background:
      linear-gradient(180deg, rgba(17,54,126,.94), rgba(7,24,61,.98)),
      rgba(9,27,69,.98);
    box-shadow: 0 12px 24px rgba(4,14,38,.24), inset 0 1px 0 rgba(255,255,255,.08);
  }

  .bm-home-mobile__action svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
  }

  .bm-home-mobile__action--publish{
    gap: 6px;
    min-width: auto;
    padding: 0 14px;
    color: #ffffff;
    background: linear-gradient(135deg, #ff9a1c, #ff5d10 58%, #ff9a1c);
    border-color: rgba(255,218,166,.28);
  }

  .bm-home-mobile__action--publish span{
    display: block;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .01em;
  }

  .bm-home-mobile__menu{
    position: relative;
  }

  .bm-home-mobile__menu summary{
    list-style: none;
    cursor: pointer;
  }

  .bm-home-mobile__menu summary::-webkit-details-marker{
    display: none;
  }

  .bm-home-mobile__menu-panel{
    position: absolute;
    top: calc(100% + 8px);
    right: -10px;
    z-index: 10;
    display: grid;
    gap: 8px;
    width: min(220px, 64vw);
    padding: 12px;
    border-radius: 20px;
    background:
      radial-gradient(circle at top right, rgba(255,126,18,.18), transparent 34%),
      linear-gradient(180deg, rgba(11,35,86,.98), rgba(6,21,54,.99));
    border: 1px solid rgba(255,177,84,.24);
    box-shadow: 0 22px 38px rgba(3,12,34,.42);
  }

  .bm-home-mobile__menu:not([open]) .bm-home-mobile__menu-panel{
    display: none;
  }

  .bm-home-mobile__menu-panel a{
    display: block;
    padding: 10px 12px;
    border-radius: 14px;
    color: #eef4ff;
    text-decoration: none;
    font-size: .88rem;
    font-weight: 800;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
  }

  .bm-home-mobile__ribbon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    color: #edf4ff;
    font-size: .72rem;
    font-weight: 800;
    text-align: center;
    background: linear-gradient(180deg, rgba(13,48,113,.9), rgba(8,25,64,.96));
    border: 1px solid rgba(255,176,82,.2);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  }

  .bm-home-mobile__ribbon span{
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffbe5a, #ff7f1e);
    box-shadow: 0 0 0 4px rgba(255,157,45,.12);
  }

  .bm-home-mobile__ribbon strong{
    color: #ff9f2f;
  }

  .bm-home-mobile__hero-card{
    position: relative;
    display: grid;
    gap: 12px;
    padding: 14px 12px 12px;
    border-radius: 28px;
    background:
      radial-gradient(circle at top right, rgba(255,124,18,.18), transparent 26%),
      linear-gradient(180deg, rgba(12,33,78,.98), rgba(8,23,58,.98));
    border: 1px solid rgba(255,177,84,.26);
    box-shadow: 0 20px 38px rgba(2,10,29,.34), inset 0 1px 0 rgba(255,255,255,.06);
    overflow: hidden;
  }

  .bm-home-mobile__hero-card::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%),
      radial-gradient(circle at 22% 24%, rgba(77,132,228,.22), transparent 30%);
    pointer-events: none;
  }

  .bm-home-mobile__hero-top{
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
  }

  .bm-home-mobile__copy{
    max-width: 220px;
  }

  .bm-home-mobile__eyebrow{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff7eb;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: linear-gradient(135deg, rgba(255,142,34,.95), rgba(225,92,0,.92));
  }

  .bm-home-mobile__copy h1{
    margin: 10px 0 0;
    font-family: var(--bm-home-display);
    font-size: clamp(2.25rem, 11vw, 3.15rem);
    line-height: .9;
    color: #ffffff;
    text-shadow: 0 10px 20px rgba(0,0,0,.24);
  }

  .bm-home-mobile__copy h1 span{
    display: block;
    margin-top: 4px;
    color: #ff9a1c;
  }

  .bm-home-mobile__hero-stage{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 6px;
    margin-top: -8px;
  }

  .bm-home-mobile__mascot-card{
    display: grid;
    justify-items: center;
    align-items: end;
    gap: 0;
  }

  .bm-home-mobile__mascot-card img{
    width: 100%;
    max-width: 142px;
    height: auto;
    filter: drop-shadow(0 16px 24px rgba(0,0,0,.28));
  }

  .bm-home-mobile__mascot-card figcaption{
    margin-top: -10px;
    padding: 7px 12px;
    border-radius: 14px;
    color: #fff6ea;
    font-size: .72rem;
    font-weight: 900;
    background: linear-gradient(180deg, rgba(24,70,150,.96), rgba(9,29,73,.98));
    border: 1px solid rgba(255,176,82,.2);
    box-shadow: 0 12px 18px rgba(3,12,34,.2);
  }

  .bm-home-mobile__search{
    position: relative;
    z-index: 1;
    padding: 12px;
    border-radius: 24px;
    border: 1px solid rgba(255,177,84,.3);
    background:
      linear-gradient(180deg, rgba(8,25,63,.98), rgba(9,28,69,.98)),
      rgba(8,25,63,.98);
    box-shadow:
      0 0 0 2px rgba(255,122,18,.12),
      0 18px 34px rgba(2,10,29,.34),
      inset 0 1px 0 rgba(255,255,255,.06);
  }

  .bm-home-mobile__search-grid{
    display: grid;
    gap: 10px;
  }

  .bm-home-mobile__field{
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 10px;
    min-height: 72px;
    padding: 10px 14px;
    border-radius: 18px;
    border: 1px solid rgba(203,214,235,.52);
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,251,.96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  }

  .bm-home-mobile__field:focus-within{
    border-color: rgba(255,145,40,.74);
    box-shadow: 0 0 0 4px rgba(255,165,58,.16);
  }

  .bm-home-mobile__field span{
    display: block;
  }

  .bm-home-mobile__field .bm-home-mobile__field-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(180deg, rgba(19,73,171,.98), rgba(8,33,89,.96));
    box-shadow: 0 10px 18px rgba(7,22,52,.18);
  }

  .bm-home-mobile__field .bm-home-mobile__field-icon svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .bm-home-mobile__field .bm-home-mobile__field-copy{
    display: grid;
    gap: 1px;
    grid-column: 2;
    grid-row: 1;
  }

  .bm-home-mobile__field .bm-home-mobile__field-copy strong{
    display: block;
    color: #16366f;
    font-size: .95rem;
    font-weight: 900;
  }

  .bm-home-mobile__field .bm-home-mobile__field-copy small{
    display: block;
    color: #6b7ea3;
    font-size: .72rem;
    line-height: 1.2;
  }

  .bm-home-mobile__field select{
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    min-height: 24px;
    margin: 0;
    padding: 0 22px 0 0;
    border: 0;
    border-radius: 0;
    color: #16366f;
    font-size: .88rem;
    font-weight: 800;
    background:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2314366f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") right center / 12px 8px no-repeat;
    appearance: none;
    box-shadow: none;
  }

  .bm-home-mobile__field select:focus{
    outline: none;
    box-shadow: none;
  }

  .bm-home-mobile__search-button{
    gap: 8px;
    min-height: 56px;
    border-radius: 18px;
    font-size: 1rem;
    letter-spacing: .03em;
    box-shadow: 0 18px 28px rgba(121,38,0,.28);
  }

  .bm-home-mobile__search-button svg{
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .bm-home-mobile__account{
    margin-top: 2px;
  }

  .bm-home-mobile__account .bm-home-button{
    min-height: 48px;
    border-radius: 16px;
  }

  .bm-home-mobile__categories{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .bm-home-mobile__category{
    min-height: 72px;
    border-radius: 18px;
    box-shadow: 0 16px 28px rgba(4,16,43,.18);
  }

  .bm-home-mobile__pro-groups,
  .bm-home-mobile__recent{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .bm-home-mobile-card,
  .bm-home-mobile__recent-card{
    border-radius: 22px;
    border: 1px solid rgba(255,177,84,.22);
    background:
      radial-gradient(circle at top right, rgba(255,126,18,.16), transparent 34%),
      linear-gradient(180deg, rgba(14,43,101,.88), rgba(7,23,58,.96));
    box-shadow: 0 18px 32px rgba(2,10,29,.24);
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body{
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 10px;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body img{
    height: 102px;
    border-radius: 18px;
  }

  .bm-home-mobile__recent-card .bm-home-button--ghost{
    background: rgba(255,255,255,.08);
  }

  .bm-home-mobile__extra-links{
    justify-content: center;
  }

  .bm-home-mobile__extra-links a{
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
  }
}

@media (max-width: 480px){
  .bm-home-screen{
    width: calc(100% - 10px) !important;
  }

  .bm-home-mobile__shell{
    padding: 9px;
    border-radius: 26px;
  }

  .bm-home-mobile__topbar{
    gap: 8px;
  }

  .bm-home-mobile__brand{
    width: min(156px, 42vw);
  }

  .bm-home-mobile__actions{
    gap: 6px;
  }

  .bm-home-mobile__action{
    min-height: 40px;
    min-width: 40px;
    padding: 0 10px;
    border-radius: 14px;
  }

  .bm-home-mobile__action--publish{
    padding: 0 12px;
  }

  .bm-home-mobile__action--publish span{
    font-size: .72rem;
  }

  .bm-home-mobile__ribbon{
    font-size: .68rem;
    line-height: 1.15;
  }

  .bm-home-mobile__copy{
    max-width: 176px;
  }

  .bm-home-mobile__copy h1{
    font-size: clamp(2rem, 10.4vw, 2.8rem);
  }

  .bm-home-mobile__hero-stage{
    gap: 2px;
  }

  .bm-home-mobile__mascot-card img{
    max-width: 124px;
  }

  .bm-home-mobile__mascot-card figcaption{
    font-size: .68rem;
    padding: 7px 10px;
  }

  .bm-home-mobile__field{
    min-height: 68px;
    padding: 10px 12px;
  }

  .bm-home-mobile__field .bm-home-mobile__field-copy strong{
    font-size: .9rem;
  }

  .bm-home-mobile__field .bm-home-mobile__field-copy small,
  .bm-home-mobile__field select{
    font-size: .76rem;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body{
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body img{
    height: 92px;
  }
}

@media (max-width: 800px){
  .bm-home-mobile__topbar{
    grid-template-columns: minmax(108px, .72fr) minmax(0, 1fr);
    align-items: start;
  }

  .bm-home-mobile__brand{
    width: min(154px, 38vw);
    align-self: center;
  }

  .bm-home-mobile__actions{
    min-width: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }

  .bm-home-mobile__action{
    min-height: 38px;
    min-width: 38px;
    padding: 0 10px;
  }

  .bm-home-mobile__action--publish,
  .bm-home-mobile__action--question{
    gap: 5px;
    min-width: 0;
    padding: 0 11px;
    font-size: .78rem;
    font-weight: 900;
  }

  .bm-home-mobile__action--question{
    background: linear-gradient(135deg, rgba(19,88,204,.98), rgba(5,38,106,.98));
    border-color: rgba(121,184,255,.28);
  }

  .bm-home-mobile__action--question span{
    display: block;
    font-size: .78rem;
    font-weight: 900;
  }

  .bm-home-mobile__pro-groups{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .bm-home-mobile-card--spotlight{
    display: block !important;
  }
}

@media (min-width: 560px) and (max-width: 800px){
  .bm-home-mobile__pro-groups{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body{
    grid-template-columns: 1fr;
  }

  .bm-home-mobile-card--carousel .bm-home-mobile-card__body img{
    height: 118px;
  }
}

@media (max-width: 390px){
  .bm-home-mobile__topbar{
    grid-template-columns: 1fr;
  }

  .bm-home-mobile__brand{
    width: min(170px, 58vw);
    margin: 0 auto;
  }

  .bm-home-mobile__actions{
    justify-content: center;
  }
}

/* Home focus: map and PRO side ads first */
@media (min-width: 801px){
  body.home .bm-header-inner{
    align-items: center;
    min-height: clamp(82px, 8vw, 118px);
    padding: 8px 16px;
  }

  body.home .bm-brand{
    width: clamp(240px, 24vw, 380px);
    margin-bottom: 0;
  }

  body.home .bm-header-navshell{
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  body.home .bm-header-meta{
    width: 100%;
    justify-content: flex-end;
  }

  body.home .bm-header-kicker{
    display: none;
  }

  .bm-home-screen{
    min-height: 0;
  }

  .bm-home-desktop{
    display: block;
    height: auto;
    min-height: 0;
  }

  .bm-home-stage{
    min-height: clamp(560px, calc(100svh - 178px), 900px);
    height: auto;
    padding-top: clamp(8px, 1vh, 14px);
  }

  .bm-home-stage__side,
  .bm-home-scene-shell,
  .bm-home-scene-frame{
    min-height: clamp(560px, calc(100svh - 178px), 900px);
    height: auto;
  }
}
/* Home brand focus */
@media (min-width: 801px){
  body.home .bm-header-inner{
    min-height: clamp(118px, 11vw, 168px);
    padding: clamp(8px, 1vw, 14px) clamp(18px, 2vw, 34px);
  }

  body.home .bm-brand{
    width: clamp(340px, 32vw, 560px);
    transform: translateY(8px);
    z-index: 30;
  }

  body.home .bm-brand img,
  body.home .bm-brand .custom-logo{
    filter: drop-shadow(0 16px 24px rgba(0,0,0,.34));
  }

  body.home .bm-header-navshell{
    min-width: 220px;
  }

  .bm-home-stage{
    min-height: clamp(540px, calc(100svh - 214px), 880px);
  }

  .bm-home-stage__side,
  .bm-home-scene-shell,
  .bm-home-scene-frame{
    min-height: clamp(540px, calc(100svh - 214px), 880px);
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home .bm-brand{
    width: clamp(260px, 30vw, 360px);
    transform: translateY(4px);
  }

  body.home .bm-header-inner{
    min-height: clamp(96px, 10vw, 126px);
  }
}
/* Home map button tuning */
@media (min-width: 801px){
  body.home{
    --bm-home-icon-empresas-left: 74px;
    --bm-home-icon-empresas-top: 26px;
    --bm-home-icon-empresas-width: 172px;
    --bm-home-icon-servicios-right: 76px;
    --bm-home-icon-servicios-top: 24px;
    --bm-home-icon-servicios-width: 176px;
    --bm-home-icon-materiales-left: 28px;
    --bm-home-icon-materiales-top: 158px;
    --bm-home-icon-materiales-width: 190px;
    --bm-home-icon-vehiculos-right: 30px;
    --bm-home-icon-vehiculos-top: 160px;
    --bm-home-icon-vehiculos-width: 198px;
    --bm-home-icon-propiedades-left: 92px;
    --bm-home-icon-propiedades-top: 306px;
    --bm-home-icon-propiedades-width: 198px;
    --bm-home-icon-consultas-right: 92px;
    --bm-home-icon-consultas-top: 306px;
    --bm-home-icon-consultas-width: 196px;
    --bm-home-icon-empleos-left: 292px;
    --bm-home-icon-empleos-top: 432px;
    --bm-home-icon-empleos-width: 184px;
    --bm-home-icon-herramientas-right: 292px;
    --bm-home-icon-herramientas-top: 432px;
    --bm-home-icon-herramientas-width: 184px;
  }

  .bm-home-scene__icon{
    --bm-home-icon-scale: 1.16;
    --bm-home-icon-scale-hover: 1.23;
  }

  .bm-home-scene__icon img{
    width: 188%;
  }

  .bm-home-scene__icon--empresas,
  .bm-home-scene__icon--servicios,
  .bm-home-scene__icon--materiales-superior,
  .bm-home-scene__icon--vehiculos-maquinaria{
    --bm-home-icon-scale: 1.18;
    --bm-home-icon-scale-hover: 1.25;
  }

  .bm-home-scene__icon--propiedades img,
  .bm-home-scene__icon--consultas img,
  .bm-home-scene__icon--empleos img,
  .bm-home-scene__icon--herramientas img{
    width: 176%;
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home{
    --bm-home-icon-empresas-left: 92px;
    --bm-home-icon-servicios-right: 92px;
    --bm-home-icon-materiales-left: 48px;
    --bm-home-icon-vehiculos-right: 48px;
    --bm-home-icon-propiedades-left: 104px;
    --bm-home-icon-consultas-right: 104px;
    --bm-home-icon-empleos-left: 306px;
    --bm-home-icon-herramientas-right: 306px;
  }

  .bm-home-scene__icon{
    --bm-home-icon-scale: 1.08;
    --bm-home-icon-scale-hover: 1.14;
  }
}
/* Home map button emphasis */
@media (min-width: 801px){
  body.home{
    --bm-home-hub-left: 342px;
    --bm-home-hub-top: 82px;
    --bm-home-hub-width: 300px;
    --bm-home-icon-empresas-width: 188px;
    --bm-home-icon-servicios-width: 192px;
    --bm-home-icon-materiales-width: 206px;
    --bm-home-icon-vehiculos-width: 214px;
    --bm-home-icon-propiedades-width: 214px;
    --bm-home-icon-consultas-width: 212px;
    --bm-home-icon-empleos-left: 284px;
    --bm-home-icon-empleos-top: 398px;
    --bm-home-icon-empleos-width: 202px;
    --bm-home-icon-herramientas-right: 284px;
    --bm-home-icon-herramientas-top: 398px;
    --bm-home-icon-herramientas-width: 202px;
  }

  .bm-home-scene__hub img{
    filter: drop-shadow(0 28px 34px rgba(3,15,44,.34));
  }

  .bm-home-scene__icon{
    --bm-home-icon-scale: 1.22;
    --bm-home-icon-scale-hover: 1.29;
  }

  .bm-home-scene__icon--empresas,
  .bm-home-scene__icon--servicios,
  .bm-home-scene__icon--materiales-superior,
  .bm-home-scene__icon--vehiculos-maquinaria{
    --bm-home-icon-scale: 1.24;
    --bm-home-icon-scale-hover: 1.32;
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home{
    --bm-home-hub-left: 356px;
    --bm-home-hub-top: 92px;
    --bm-home-hub-width: 270px;
    --bm-home-icon-empleos-top: 406px;
    --bm-home-icon-herramientas-top: 406px;
  }

  .bm-home-scene__icon{
    --bm-home-icon-scale: 1.12;
    --bm-home-icon-scale-hover: 1.18;
  }
}

/* Home mascot scene layer */
@media (min-width: 801px){
  .bm-home-stage{
    position: relative;
    overflow: visible;
    isolation: isolate;
  }

  .bm-home-stage__side{
    position: relative;
    z-index: 6;
  }

  .bm-home-scene-shell{
    position: relative;
    z-index: 5;
  }

  .bm-home-scene__hub{
    z-index: 8;
  }

  .bm-home-scene__icon{
    z-index: 9;
  }

  .bm-home-stage__mascot-layer{
    position: absolute;
    inset: 0;
    z-index: 4;
    overflow: visible;
    pointer-events: none;
  }

  .bm-home-stage__scene-mascot{
    position: absolute;
    display: block;
    width: auto;
    height: clamp(210px, 18vw, 318px);
    object-fit: contain;
    transform-origin: 50% 100%;
    filter:
      drop-shadow(0 20px 20px rgba(2, 10, 30, .28))
      drop-shadow(0 0 16px rgba(255, 255, 255, .32));
    animation: bm-home-mascot-float 5.6s ease-in-out infinite;
  }

  .bm-home-stage__scene-mascot--lupita{
    left: clamp(156px, 13vw, 246px);
    bottom: clamp(6px, 1.1vw, 24px);
    transform: rotate(-3deg);
  }

  .bm-home-stage__scene-mascot--buscalin{
    right: clamp(154px, 13vw, 246px);
    bottom: clamp(10px, 1.3vw, 28px);
    transform: rotate(3deg);
    animation-delay: -.9s;
  }

  @keyframes bm-home-mascot-float{
    0%, 100%{
      translate: 0 0;
    }

    50%{
      translate: 0 -10px;
    }
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  .bm-home-stage__scene-mascot{
    height: clamp(154px, 15.5vw, 224px);
  }

  .bm-home-stage__scene-mascot--lupita{
    left: clamp(108px, 11vw, 150px);
    bottom: -4px;
  }

  .bm-home-stage__scene-mascot--buscalin{
    right: clamp(108px, 11vw, 150px);
    bottom: 0;
  }
}

/* Home paid side ads neon emphasis */
@media (min-width: 801px){
  .bm-home-stage__side{
    --bm-home-side-neon: rgba(63, 205, 255, .92);
    --bm-home-side-neon-soft: rgba(52, 151, 255, .52);
    --bm-home-side-neon-warm: rgba(255, 139, 28, .46);
  }

  .bm-home-stage__side::before{
    content: "";
    position: absolute;
    inset: 8px 3px;
    z-index: -1;
    border-radius: 28px;
    border: 1px solid rgba(78, 213, 255, .5);
    background: transparent;
    opacity: .95;
    filter: none;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.08) inset,
      0 0 8px rgba(78, 213, 255, .54),
      0 0 18px rgba(32, 148, 255, .32);
    animation: bm-home-paid-ad-line 3.8s ease-in-out infinite;
    pointer-events: none;
  }

  .bm-home-stage__side::after{
    content: "";
    position: absolute;
    inset: 5px 2px;
    z-index: 0;
    border-radius: 28px;
    border: 1px solid rgba(96, 218, 255, .34);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.08) inset,
      0 0 9px rgba(68, 209, 255, .32);
    pointer-events: none;
  }

  .bm-home-scene__rail,
  .bm-home-feature-card--side{
    position: relative;
    z-index: 1;
  }

  .bm-home-feature-card--side{
    overflow: visible;
    filter:
      drop-shadow(0 0 5px rgba(66, 211, 255, .28))
      drop-shadow(0 16px 24px rgba(2, 10, 30, .3));
  }

  .bm-home-feature-card--side::before{
    content: "";
    position: absolute;
    inset: -5px;
    z-index: -1;
    border-radius: 25px;
    border: 2px solid rgba(79, 218, 255, .78);
    background:
      linear-gradient(90deg, rgba(79, 218, 255, .95), rgba(255, 151, 34, .86)) border-box;
    opacity: .92;
    filter: none;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.12) inset,
      0 0 8px rgba(79, 218, 255, .64),
      0 0 16px rgba(39, 145, 255, .34);
    pointer-events: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link{
    border: 1px solid rgba(130, 232, 255, .74);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1) inset,
      0 0 8px rgba(71, 215, 255, .45),
      0 0 14px rgba(31, 130, 255, .24),
      0 18px 30px rgba(2, 10, 30, .32);
  }

  .bm-home-feature-card--side .bm-home-feature-card__link::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background:
      linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(139, 232, 255, .26) 42%, rgba(255,255,255,0) 58%),
      radial-gradient(circle at 78% 18%, rgba(255, 165, 64, .22), transparent 28%);
    mix-blend-mode: screen;
    opacity: .85;
    pointer-events: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link::after{
    content: "";
    position: absolute;
    inset: 9px;
    z-index: 2;
    border-radius: 17px;
    border: 1px solid rgba(128, 232, 255, .58);
    box-shadow:
      0 0 6px rgba(98, 224, 255, .46),
      inset 0 0 8px rgba(98, 224, 255, .18);
    pointer-events: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    box-shadow:
      0 0 0 3px rgba(70, 214, 255, .18),
      0 0 22px rgba(70, 214, 255, .38),
      inset 0 1px 0 rgba(255,255,255,.55);
  }

  .bm-home-stage__side--right::before{
    animation-delay: -1.15s;
  }

  @keyframes bm-home-paid-ad-line{
    0%, 100%{
      opacity: .72;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.08) inset,
        0 0 7px rgba(78, 213, 255, .48),
        0 0 14px rgba(32, 148, 255, .28);
    }

    50%{
      opacity: 1;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.12) inset,
        0 0 11px rgba(78, 213, 255, .72),
        0 0 21px rgba(32, 148, 255, .42);
    }
  }
}

/* Home single-card readability test */
@media (min-width: 801px){
  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__link{
    min-height: clamp(164px, 11.2vw, 214px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    overflow: hidden;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__link::after{
    content: none;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__media{
    height: 100%;
    min-height: clamp(164px, 11.2vw, 214px);
    border-radius: 22px;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__media img{
    object-fit: cover;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 54%, rgba(4, 15, 38, .9) 55%, rgba(4, 15, 38, .96) 100%);
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__body{
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    min-width: 0;
    gap: 3px;
    padding: 10px 58px 11px 12px;
    border-top: 1px solid rgba(135, 229, 255, .36);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0 0 18px 18px;
    background:
      linear-gradient(180deg, rgba(10, 38, 91, .94), rgba(3, 12, 33, .98)),
      linear-gradient(90deg, rgba(90, 215, 255, .14), rgba(255, 151, 35, .12));
    box-shadow:
      0 -10px 22px rgba(2, 10, 30, .26),
      inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: none;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__label{
    align-self: flex-start;
    min-height: 16px;
    padding: 3px 8px;
    border: 1px solid rgba(135, 229, 255, .52);
    background: linear-gradient(180deg, rgba(28, 92, 188, .94), rgba(9, 42, 101, .96));
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 0 10px rgba(86, 218, 255, .26);
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child h2{
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.16vw, 17px);
    font-weight: 900;
    line-height: 1.02;
    text-shadow:
      0 2px 0 rgba(0,0,0,.24),
      0 7px 14px rgba(0,0,0,.52);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child p{
    display: block;
    max-width: 100%;
    margin: 0;
    color: rgba(238, 249, 255, .96);
    font-size: 10.35px;
    font-weight: 700;
    line-height: 1.05;
    text-shadow: 0 2px 7px rgba(0,0,0,.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-stage__side--left .bm-home-feature-card--side:first-child .bm-home-feature-card__cta{
    right: 11px;
    top: 12px;
    bottom: auto;
    width: auto;
    min-width: 34px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid rgba(255, 216, 124, .48);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(7, 26, 66, .56), rgba(3, 12, 33, .72));
    color: #ffd26f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow:
      0 0 5px rgba(255, 191, 75, .88),
      0 0 12px rgba(255, 122, 0, .55),
      0 1px 2px rgba(0,0,0,.7);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1) inset,
      0 0 11px rgba(255, 177, 76, .26);
    animation: bm-home-card-cta-flicker 2.6s ease-in-out infinite;
  }

  @keyframes bm-home-card-cta-flicker{
    0%, 100%{
      color: #ffd26f;
      opacity: .88;
      text-shadow:
        0 0 5px rgba(255, 191, 75, .78),
        0 0 12px rgba(255, 122, 0, .45),
        0 1px 2px rgba(0,0,0,.7);
    }

    42%{
      color: #fff3b8;
      opacity: 1;
      text-shadow:
        0 0 6px rgba(255, 244, 184, .92),
        0 0 15px rgba(255, 177, 58, .78),
        0 0 24px rgba(255, 103, 0, .56),
        0 1px 2px rgba(0,0,0,.72);
    }

    48%{
      opacity: .62;
    }

    54%{
      opacity: 1;
    }
  }
}

/* Home side ads premium split layout absolute final */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__link{
    min-height: clamp(164px, 11.2vw, 214px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    overflow: hidden;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link::after{
    content: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: 100%;
    min-height: clamp(164px, 11.2vw, 214px);
    border-radius: 22px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__media img{
    object-fit: cover;
  }

  .bm-home-feature-card--side .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 54%, rgba(4, 15, 38, .9) 55%, rgba(4, 15, 38, .96) 100%);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    min-width: 0;
    gap: 3px;
    padding: 10px 58px 11px 12px;
    border-top: 1px solid rgba(135, 229, 255, .36);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0 0 18px 18px;
    background:
      linear-gradient(180deg, rgba(10, 38, 91, .94), rgba(3, 12, 33, .98)),
      linear-gradient(90deg, rgba(90, 215, 255, .14), rgba(255, 151, 35, .12));
    box-shadow:
      0 -10px 22px rgba(2, 10, 30, .26),
      inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: none;
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    align-self: flex-start;
    min-height: 16px;
    padding: 3px 8px;
    border: 1px solid rgba(135, 229, 255, .52);
    background: linear-gradient(180deg, rgba(28, 92, 188, .94), rgba(9, 42, 101, .96));
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    box-shadow: 0 0 10px rgba(86, 218, 255, .26);
  }

  .bm-home-feature-card--side h2{
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.16vw, 17px);
    font-weight: 900;
    line-height: 1.02;
    text-shadow:
      0 2px 0 rgba(0,0,0,.24),
      0 7px 14px rgba(0,0,0,.52);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side p{
    display: block;
    max-width: 100%;
    margin: 0;
    color: rgba(238, 249, 255, .96);
    font-size: 10.35px;
    font-weight: 700;
    line-height: 1.05;
    text-shadow: 0 2px 7px rgba(0,0,0,.62);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    right: 11px;
    top: 12px;
    bottom: auto;
    width: auto;
    min-width: 34px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid rgba(255, 216, 124, .48);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(7, 26, 66, .56), rgba(3, 12, 33, .72));
    color: #ffd26f;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow:
      0 0 5px rgba(255, 191, 75, .88),
      0 0 12px rgba(255, 122, 0, .55),
      0 1px 2px rgba(0,0,0,.7);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.1) inset,
      0 0 11px rgba(255, 177, 76, .26);
    animation: bm-home-card-cta-flicker 2.6s ease-in-out infinite;
  }
}

/* Home side ads uniform sizing true final */
@media (min-width: 801px){
  body.home{
    --bm-home-side-card-height: clamp(156px, 22.8vh, 190px);
  }

  .bm-home-feature-card--side,
  .bm-home-feature-card--side .bm-home-feature-carousel__slides,
  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: var(--bm-home-side-card-height) !important;
    min-height: var(--bm-home-side-card-height) !important;
    max-height: var(--bm-home-side-card-height) !important;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    width: 100%;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    min-height: 78px;
    max-height: 78px;
  }
}

/* Home side ads compact info row true final */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__label{
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 4;
    margin: 0;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(62px, .72fr);
    align-items: end;
    column-gap: 8px;
    min-height: 58px;
    max-height: 58px;
    padding: 12px 12px 11px;
  }

  .bm-home-feature-card--side h2,
  .bm-home-feature-card--side p{
    align-self: end;
  }

  .bm-home-feature-card--side h2{
    font-size: clamp(14px, 1.08vw, 16px);
  }

  .bm-home-feature-card--side p{
    font-size: 9.6px;
    text-align: right;
  }

  .bm-home-feature-card--side .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 64%, rgba(4, 15, 38, .9) 65%, rgba(4, 15, 38, .96) 100%);
  }
}

/* Home side ads compact row correction true final */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__body{
    box-sizing: border-box;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    padding: 9px 12px 10px;
    grid-template-columns: minmax(0, 1fr) minmax(58px, .68fr);
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    top: -9px;
    left: 12px;
  }

  .bm-home-feature-card--side h2{
    font-size: clamp(13.5px, 1.04vw, 15.5px);
  }

  .bm-home-feature-card--side p{
    font-size: 9.2px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__shade{
    background:
      linear-gradient(180deg, rgba(4, 15, 38, 0) 0%, rgba(4, 15, 38, 0) 70%, rgba(4, 15, 38, .9) 71%, rgba(4, 15, 38, .96) 100%);
  }
}

/* Home side ads responsive tuning true final */
@media (min-width: 801px){
  body.home{
    --bm-home-side-card-height: clamp(154px, 22.8vh, 190px);
    --bm-home-side-info-height: clamp(54px, 7.8vh, 62px);
    --bm-home-side-label-top: calc(var(--bm-home-side-card-height) - var(--bm-home-side-info-height) - 9px);
    --bm-home-side-card-radius: clamp(18px, 1.7vw, 22px);
  }

  .bm-home-feature-card--side,
  .bm-home-feature-card--side .bm-home-feature-carousel__slides,
  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: var(--bm-home-side-card-height) !important;
    min-height: var(--bm-home-side-card-height) !important;
    max-height: var(--bm-home-side-card-height) !important;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    border-radius: var(--bm-home-side-card-radius);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    height: var(--bm-home-side-info-height) !important;
    min-height: var(--bm-home-side-info-height) !important;
    max-height: var(--bm-home-side-info-height) !important;
    grid-template-columns: minmax(0, 1fr) minmax(48px, .58fr);
    gap: clamp(5px, .65vw, 8px);
    padding: clamp(7px, .8vh, 9px) clamp(9px, .85vw, 12px) clamp(8px, .9vh, 10px);
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    top: var(--bm-home-side-label-top);
    left: clamp(9px, .85vw, 12px);
    min-height: clamp(14px, 1.8vh, 16px);
    padding: 3px clamp(6px, .65vw, 8px);
    font-size: clamp(7.8px, .72vw, 9px);
  }

  .bm-home-feature-card--side h2{
    font-size: clamp(12.4px, 1.04vw, 15.5px);
  }

  .bm-home-feature-card--side p{
    font-size: clamp(8px, .72vw, 9.2px);
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    top: clamp(8px, 1.5vh, 12px);
    right: clamp(8px, .85vw, 11px);
    height: clamp(21px, 3.2vh, 24px);
    min-width: clamp(30px, 3.4vw, 34px);
    padding: 0 clamp(6px, .65vw, 8px);
    font-size: clamp(9.2px, .82vw, 11px);
  }
}

@media (min-width: 801px) and (max-width: 1100px){
  body.home{
    --bm-home-side-card-height: clamp(150px, 22vh, 176px);
    --bm-home-side-info-height: 54px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    grid-template-columns: minmax(0, 1fr) minmax(42px, .5fr);
  }

  .bm-home-feature-card--side p{
    max-width: 52px;
  }
}

@media (min-width: 801px) and (max-width: 940px){
  body.home{
    --bm-home-side-card-height: clamp(146px, 21.5vh, 162px);
    --bm-home-side-info-height: 52px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    grid-template-columns: minmax(0, 1fr) minmax(36px, .42fr);
    padding-left: 9px;
    padding-right: 9px;
  }

  .bm-home-feature-card--side p{
    max-width: 42px;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    max-width: 58px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Home side ads responsive divider correction true final */
@media (min-width: 801px){
  .bm-home-feature-card--side .bm-home-feature-card__label{
    top: -9px !important;
  }

  .bm-home-feature-card--side h2{
    font-size: clamp(12.4px, 1.04vw, 15.5px) !important;
  }

  .bm-home-feature-card--side p{
    font-size: clamp(8px, .72vw, 9.2px) !important;
  }
}

/* Home side ads frame-adaptive sizing true final */
@media (min-width: 801px){
  body.home{
    --bm-home-side-gap: clamp(8px, 1.15vh, 14px);
    --bm-home-side-info-ratio: .34;
  }

  .bm-home-stage__side{
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    align-content: stretch;
    min-height: clamp(500px, calc(100svh - 214px), 880px);
    height: clamp(500px, calc(100svh - 214px), 880px);
  }

  .bm-home-scene__rail{
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    align-content: stretch;
    gap: var(--bm-home-side-gap);
  }

  .bm-home-feature-card--side,
  .bm-home-feature-card--side .bm-home-feature-carousel__slides,
  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .bm-home-feature-card--side{
    min-height: 0;
  }

  .bm-home-feature-card--side .bm-home-feature-card__link,
  .bm-home-feature-card--side .bm-home-feature-card__media{
    width: 100%;
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    height: clamp(48px, calc(100% * var(--bm-home-side-info-ratio)), 62px) !important;
    min-height: 48px !important;
    max-height: 62px !important;
    grid-template-columns: minmax(0, 1fr) minmax(42px, .5fr);
    gap: clamp(5px, .65vw, 8px);
    padding: clamp(7px, .75vh, 10px) clamp(9px, .85vw, 12px) clamp(8px, .85vh, 10px);
  }

  .bm-home-feature-card--side .bm-home-feature-card__label{
    top: -9px !important;
    left: clamp(9px, .85vw, 12px);
    font-size: clamp(7.6px, .7vw, 9px);
  }

  .bm-home-feature-card--side h2{
    font-size: clamp(12px, 1vw, 15.5px) !important;
  }

  .bm-home-feature-card--side p{
    max-width: clamp(40px, 35%, 66px);
    font-size: clamp(7.8px, .7vw, 9.2px) !important;
  }

  .bm-home-feature-card--side .bm-home-feature-card__cta{
    top: clamp(8px, 1.35vh, 12px);
    right: clamp(8px, .85vw, 11px);
    height: clamp(20px, 3vh, 24px);
    min-width: clamp(30px, 3.2vw, 34px);
    max-width: clamp(48px, 5.4vw, 72px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(8.8px, .78vw, 11px);
  }
}

@media (min-width: 801px) and (max-width: 1100px){
  .bm-home-stage__side{
    min-height: clamp(470px, calc(100svh - 188px), 760px);
    height: clamp(470px, calc(100svh - 188px), 760px);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    grid-template-columns: minmax(0, 1fr) minmax(34px, .42fr);
  }
}

@media (min-width: 801px) and (max-width: 940px){
  .bm-home-stage__side{
    min-height: clamp(440px, calc(100svh - 174px), 700px);
    height: clamp(440px, calc(100svh - 174px), 700px);
  }

  .bm-home-scene__rail{
    gap: clamp(7px, 1vh, 10px);
  }

  .bm-home-feature-card--side .bm-home-feature-card__body{
    height: clamp(46px, calc(100% * .33), 56px) !important;
    min-height: 46px !important;
    max-height: 56px !important;
    grid-template-columns: minmax(0, 1fr) minmax(30px, .38fr);
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* Home footer single-row final layout */
@media (min-width: 901px){
  body.home .bm-footer{
    margin-top: 10px !important;
    padding: 0 0 8px !important;
  }

  body.home .bm-footer .bm-wrap{
    width: var(--bm-home-shell-width) !important;
    max-width: none !important;
    padding: clamp(14px, 1.2vw, 18px) clamp(16px, 1.8vw, 26px) !important;
    border-radius: 18px !important;
  }

  body.home .bm-footer-grid{
    display: grid !important;
    grid-template-columns:
      minmax(150px, .78fr)
      minmax(390px, 1.8fr)
      minmax(175px, .86fr)
      minmax(285px, 1.22fr) !important;
    align-items: start !important;
    gap: clamp(14px, 1.7vw, 24px) !important;
  }

  body.home .bm-footer h3,
  body.home .bm-footer h4{
    margin: 0 0 9px !important;
    font-size: clamp(18px, 1.2vw, 21px) !important;
    line-height: 1.05 !important;
  }

  body.home .bm-footer p,
  body.home .bm-footer li,
  body.home .bm-footer a{
    font-size: clamp(14px, .94vw, 16px) !important;
    line-height: 1.22 !important;
  }

  body.home .bm-footer ul{
    display: grid !important;
    gap: 7px !important;
  }

  body.home .bm-footer-links ul{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px 14px !important;
  }

  body.home .bm-footer-support p + p{
    margin-top: 7px !important;
  }
}

@media (min-width: 901px) and (max-width: 1120px){
  body.home .bm-footer-grid{
    grid-template-columns:
      minmax(120px, .72fr)
      minmax(320px, 1.55fr)
      minmax(145px, .82fr)
      minmax(230px, 1.1fr) !important;
    gap: 12px !important;
  }

  body.home .bm-footer p,
  body.home .bm-footer li,
  body.home .bm-footer a{
    font-size: 13px !important;
  }
}

/* Home responsive stage consistency final */
@media (min-width: 801px){
  body.home{
    --bm-home-stage-gap: clamp(10px, 1vw, 18px);
    --bm-home-rail-width: clamp(190px, 16.8vw, 322px);
    --bm-home-stage-height: clamp(520px, calc(100svh - var(--bm-header-height, 168px) - 178px), 760px);
    --bm-home-mascot-height: clamp(180px, min(18vw, 34vh), 318px);
  }

  .bm-home-stage{
    grid-template-columns: var(--bm-home-rail-width) minmax(0, 1fr) var(--bm-home-rail-width) !important;
    gap: var(--bm-home-stage-gap) !important;
    align-items: stretch !important;
    min-height: var(--bm-home-stage-height) !important;
    height: var(--bm-home-stage-height) !important;
    overflow: visible !important;
    isolation: isolate;
  }

  .bm-home-stage__side,
  .bm-home-scene-shell,
  .bm-home-scene-frame{
    min-height: 0 !important;
    height: 100% !important;
  }

  .bm-home-stage__side{
    z-index: 5 !important;
  }

  .bm-home-scene-shell{
    z-index: 6 !important;
  }

  .bm-home-stage__mascot-layer{
    z-index: 12 !important;
    overflow: visible !important;
  }

  .bm-home-stage__scene-mascot{
    width: auto !important;
    height: var(--bm-home-mascot-height) !important;
    aspect-ratio: 0.72 / 1;
    max-width: calc(var(--bm-home-rail-width) * .88);
    object-fit: contain;
    z-index: 12 !important;
  }

  .bm-home-stage__scene-mascot--lupita{
    left: calc(var(--bm-home-rail-width) + var(--bm-home-stage-gap) + clamp(8px, 1vw, 24px)) !important;
    bottom: clamp(14px, 2.2vh, 28px) !important;
  }

  .bm-home-stage__scene-mascot--buscalin{
    right: calc(var(--bm-home-rail-width) + var(--bm-home-stage-gap) + clamp(8px, 1vw, 24px)) !important;
    bottom: clamp(16px, 2.4vh, 30px) !important;
  }

  .bm-home-scene{
    max-width: 100% !important;
    max-height: 100% !important;
  }

  .bm-home-feature-card--side h2,
  .bm-home-feature-card--side p,
  .bm-home-property-card__body strong,
  .bm-home-property-card__body small{
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  body.home{
    --bm-home-rail-width: clamp(172px, 18.5vw, 220px);
    --bm-home-stage-height: clamp(500px, calc(100svh - var(--bm-header-height, 150px) - 154px), 650px);
    --bm-home-mascot-height: clamp(150px, min(16vw, 28vh), 218px);
  }

  .bm-home-stage__scene-mascot--lupita{
    left: calc(var(--bm-home-rail-width) + var(--bm-home-stage-gap) + 4px) !important;
  }

  .bm-home-stage__scene-mascot--buscalin{
    right: calc(var(--bm-home-rail-width) + var(--bm-home-stage-gap) + 4px) !important;
  }
}

@media (min-width: 1500px){
  body.home{
    --bm-home-rail-width: clamp(260px, 16.8vw, 330px);
    --bm-home-stage-height: clamp(560px, calc(100svh - var(--bm-header-height, 180px) - 178px), 780px);
  }
}

/* Home mascot explicit dimensions final */
@media (min-width: 801px){
  .bm-home-stage__scene-mascot{
    width: clamp(118px, min(13vw, 25vh), 230px) !important;
    height: var(--bm-home-mascot-height) !important;
  }

  .bm-home-stage__scene-mascot--buscalin{
    width: clamp(108px, min(12vw, 23vh), 210px) !important;
  }
}

@media (min-width: 801px) and (max-width: 1180px){
  .bm-home-stage__scene-mascot{
    width: clamp(92px, min(11vw, 21vh), 150px) !important;
  }

  .bm-home-stage__scene-mascot--buscalin{
    width: clamp(86px, min(10vw, 20vh), 142px) !important;
  }
}

/* Home scene alignment correction final */
@media (min-width: 801px){
  body.home{
    --bm-home-scene-width: 980px;
    --bm-home-scene-height: 560px;
    --bm-home-map-left: 0px;
    --bm-home-map-top: 0px;
    --bm-home-map-width: 980px;
    --bm-home-map-height: 560px;
    --bm-home-lines-top: 0px;
    --bm-home-lines-shift: 0px;
  }

  .bm-home-scene{
    width: 980px !important;
    height: 560px !important;
    top: 0 !important;
    transform-origin: center center !important;
  }

  .bm-home-scene__map{
    left: 0 !important;
    top: 0 !important;
    width: 980px !important;
    height: 560px !important;
    object-fit: contain;
  }

  .bm-home-scene__lines{
    left: 0 !important;
    top: 0 !important;
    width: 980px !important;
    height: 560px !important;
    transform: none !important;
  }
}

/* Home scene plane equal sizing final */
@media (min-width: 801px){
  .bm-home-scene{
    width: 980px !important;
    height: 560px !important;
    max-width: none !important;
    max-height: none !important;
  }

  .bm-home-scene__map,
  .bm-home-scene__lines{
    width: 980px !important;
    height: 560px !important;
    max-width: none !important;
    max-height: none !important;
  }
}

/* Home map crop without moving connection plane */
@media (min-width: 801px){
  .bm-home-scene__map{
    left: 12px !important;
    top: 0 !important;
    width: 956px !important;
    height: 535px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
  }
}

/* Home map bitmap lower crop final */
@media (min-width: 801px){
  .bm-home-scene__map{
    left: 0 !important;
    top: 0 !important;
    width: 980px !important;
    height: 560px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    clip-path: inset(0 0 82px 0);
  }
}
