.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);
}

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: linear-gradient(90deg, rgba(10,38,95,.72), rgba(18,61,151,.44) 52%, rgba(255,123,19,.54));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 38px rgba(5,14,40,.22);
}

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-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;
}

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-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-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;
  }
}

@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;
  }

  .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.png");
  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: 0;
    z-index: 10;
    display: grid;
    gap: 8px;
    width: min(280px, 78vw);
    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;
  }
}
