:root{
  --ch-blue:#2b3e5c;
  --ch-blue-dark:#1f2d44;
  --ch-accent:#778c43;
  --ch-accent-dark:#65783a;
  --ch-bg:#f3f3f5;
  --ch-text:#1f2230;
  --ch-text-soft:#6a7080;
  --ch-white:#ffffff;
  --ch-shadow:0 12px 28px rgba(0,0,0,.08);
  --ch-container:1320px;
}

.ch-inmo-body{
  background:var(--ch-bg);
}

.ch-inmo-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:var(--ch-bg);
  border-bottom:1px solid rgba(31,34,48,.05);
  transform:translateY(0);
  transition:transform .35s ease, box-shadow .25s ease;
}

.ch-inmo-header.is-hidden{
  transform:translateY(-110%);
}

.ch-inmo-header.is-scrolled{
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.ch-inmo-header__inner{
  width:min(var(--ch-container), calc(100% - 40px));
  margin:0 auto;
  min-height:122px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:52px;
}

/* LOGO */
.ch-inmo-header__brand{
  flex:0 0 360px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:100%;
  min-width:0;
}

.ch-inmo-header__logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
  line-height:0;
  height:auto;
  overflow:visible;
  padding:0;
  max-width:100%;
}

.ch-inmo-header__logo{
  display:block;
  width:clamp(360px, 26vw, 520px);
  max-width:100%;
  height:auto;
  max-height:160px;
  object-fit:contain;
  transform:translateX(-90px) scale(1.5);
  transform-origin:left center;
}

/* NAV */
.ch-inmo-header__nav{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  min-width:0;
}

.ch-inmo-header__menu{
  display:flex;
  align-items:center;
  gap:34px;
  list-style:none;
  margin:0;
  padding:0;
}

.ch-inmo-header__item{
  position:relative;
  flex:0 0 auto;
}

.ch-inmo-header__item > a,
.ch-inmo-header__submenu-toggle{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  padding:0;
  margin:0;

  font-family:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.02em;
  color:var(--ch-text-soft);
  text-decoration:none;
  text-transform:none;

  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:0;
  white-space:nowrap;
}
.ch-inmo-header__submenu-toggle{
  min-height:auto;
  text-align:left;
}

.ch-inmo-header__item > a{
  min-height:auto;
}

.ch-inmo-header__item > a:hover,
.ch-inmo-header__submenu-toggle:hover,
.ch-inmo-header__item > a:focus,
.ch-inmo-header__submenu-toggle:focus,
.ch-inmo-header__item > a:active,
.ch-inmo-header__submenu-toggle:active{
  color:var(--ch-text);
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}

.ch-inmo-header button,
.ch-inmo-header button:hover,
.ch-inmo-header button:focus,
.ch-inmo-header button:active{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
}

.ch-inmo-header__caret{
  width:8px;
  height:8px;
  border-right:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  display:inline-block;
}

/* SUBMENU */
.ch-inmo-header__submenu{
  position:absolute;
  top:calc(100% + 18px);
  left:0;
  min-width:240px;
  padding:12px 0;
  margin:0;
  list-style:none;
  background:#fff;
  border-radius:16px;
  box-shadow:var(--ch-shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
  z-index:1001;
}

.ch-inmo-header__submenu li{
  margin:0;
}

.ch-inmo-header__submenu a{
  display:block;
  padding:12px 18px;
  color:var(--ch-text);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  background:transparent;
}

.ch-inmo-header__submenu a:hover{
  background:rgba(43,62,92,.05);
  color:var(--ch-blue);
}

.ch-inmo-header__item--has-submenu:hover .ch-inmo-header__submenu,
.ch-inmo-header__item--has-submenu.is-open .ch-inmo-header__submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* CTAS */
.ch-inmo-header__ctas{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.ch-inmo-header__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.25s ease;
  white-space:nowrap;
}

/* CTA FINANCIACIÓN */
.ch-inmo-header__btn--secondary{
  border:1.5px solid var(--ch-accent);
  background:var(--ch-accent);
  color:var(--ch-white);
}

.ch-inmo-header__btn--secondary:hover{
  background:var(--ch-accent-dark);
  border-color:var(--ch-accent-dark);
  color:var(--ch-white);
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(119,140,67,.24);
}

/* CTA CONTACTO */
.ch-inmo-header__btn--primary{
  border:1.5px solid var(--ch-blue);
  background:transparent;
  color:var(--ch-blue);
}

.ch-inmo-header__btn--primary:hover{
  background:rgba(43,62,92,.06);
  color:var(--ch-blue);
  transform:translateY(-1px);
}

/* TOGGLE */
.ch-inmo-header__toggle{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  justify-self:end;
  flex:0 0 auto;
}

.ch-inmo-header__toggle span{
  display:block;
  width:24px;
  height:2px;
  margin:5px auto;
  background:var(--ch-text);
  border-radius:2px;
}

@media (max-width:1280px){
  .ch-inmo-header__inner{
    gap:36px;
    min-height:114px;
  }

  .ch-inmo-header__brand{
    flex:0 0 420px;
  }

  .ch-inmo-header__logo{
    width:clamp(300px, 24vw, 420px);
    max-height:128px;
  }

  .ch-inmo-header__menu{
    gap:24px;
  }

  .ch-inmo-header__btn{
    padding:0 18px;
    font-size:13px;
  }
}

@media (max-width:1100px){
  .ch-inmo-header__inner{
    min-height:96px;
    display:grid;
    grid-template-columns:auto auto;
    align-items:center;
    gap:20px;
  }

  .ch-inmo-header__brand{
    flex:0 0 auto;
  }

  .ch-inmo-header__logo{
    width:240px;
    max-height:72px;
  }

  .ch-inmo-header__toggle{
    display:block;
  }

  .ch-inmo-header__nav{
    display:none;
    grid-column:1 / -1;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    padding:0 0 22px;
  }

  .ch-inmo-header__nav.is-open{
    display:flex;
  }

  .ch-inmo-header__menu{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }

  .ch-inmo-header__item{
    width:100%;
  }

  .ch-inmo-header__submenu-toggle{
    width:100%;
    justify-content:space-between;
  }

  .ch-inmo-header__submenu{
    position:static;
    min-width:0;
    width:100%;
    margin-top:12px;
    box-shadow:none;
    border-radius:12px;
    background:#fff;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
  }

  .ch-inmo-header__item--has-submenu.is-open .ch-inmo-header__submenu{
    display:block;
  }

  .ch-inmo-header__ctas{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .ch-inmo-header__btn{
    width:100%;
  }
}

@media (max-width:767px){
  .ch-inmo-header__inner{
    width:min(var(--ch-container), calc(100% - 20px));
    min-height:84px;
  }

  .ch-inmo-header__logo{
    width:200px;
    max-height:60px;
  }
}