/* =========================================================
   Stable public header v3 — identical geometry on every page/view
   ========================================================= */
html{scrollbar-gutter:stable}
:root body header.publicHeader.publicHeader.publicHeader{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  box-sizing:border-box!important;
  height:82px!important;
  min-height:82px!important;
  padding:8px 0!important;
  margin:0!important;
  background:#f4f7fb!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header{
  box-sizing:border-box!important;
  width:min(1180px,86%)!important;
  height:66px!important;
  min-height:66px!important;
  margin:0 auto!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  background:#fff!important;
  border:1px solid #e1eaf2!important;
  border-radius:12px!important;
  box-shadow:0 5px 18px rgba(14,52,88,.08)!important;
}
:root body header.publicHeader.publicHeader.publicHeader .brand{
  width:248px!important;
  min-width:248px!important;
  height:58px!important;
  flex:0 0 248px!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
}
:root body header.publicHeader.publicHeader.publicHeader .brandExactLogo{
  display:block!important;
  width:242px!important;
  height:58px!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header nav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:1px!important;
  min-width:0!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header nav a:not(.whatsapp){
  flex:none!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
  border-radius:9px!important;
  border:0!important;
  color:#102e4d!important;
  background:transparent!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transition:none!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header nav a.iv-active:not(.whatsapp){
  background:#eaf4ff!important;
  color:#0a5ea9!important;
  box-shadow:inset 0 -2px 0 #0878c8!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header nav .whatsapp{
  flex:none!important;
  min-height:42px!important;
  margin-left:9px!important;
  padding:0 17px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:0!important;
  border-radius:9px!important;
  background:#20b84b!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:0 7px 18px rgba(32,184,75,.16)!important;
  transition:none!important;
}
:root body header.publicHeader.publicHeader.publicHeader .header nav .whatsapp:hover{background:#17a842!important}
:root body header.publicHeader.publicHeader.publicHeader .menu{margin-left:auto!important}

/* Prevent older page-specific header rules from changing geometry. */
body.iv-home-redesign :root body header.publicHeader.publicHeader.publicHeader,
body.iv-home-redesign :root body header.publicHeader.publicHeader.publicHeader .header,
body.iv-home-redesign :root body header.publicHeader.publicHeader.publicHeader .brand,
body.iv-home-redesign :root body header.publicHeader.publicHeader.publicHeader .brandExactLogo,
body.iv-home-redesign :root body header.publicHeader.publicHeader.publicHeader .header nav{
  transition:none!important;
}

/* Keep page content rhythm consistent under the same 82px chrome. */
body.iv-view-mode main,
.lp main,
.guidesMain,
.propertyPage,
.valMain{
  scroll-margin-top:82px!important;
}

@media(max-width:1100px){
  :root body header.publicHeader.publicHeader.publicHeader .header{width:92%!important}
  :root body header.publicHeader.publicHeader.publicHeader .brand{
    width:214px!important;
    min-width:214px!important;
    flex-basis:214px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .brandExactLogo{
    width:208px!important;
    height:54px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header nav a:not(.whatsapp){
    padding:0 7px!important;
    font-size:11.5px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header nav .whatsapp{
    margin-left:6px!important;
    padding:0 12px!important;
    font-size:12px!important;
  }
}
@media(max-width:850px){
  :root body header.publicHeader.publicHeader.publicHeader{
    height:70px!important;
    min-height:70px!important;
    padding:4px 0!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header{
    width:94%!important;
    height:62px!important;
    min-height:62px!important;
    padding:0 10px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .brand{
    width:188px!important;
    min-width:188px!important;
    flex-basis:188px!important;
    height:52px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .brandExactLogo{
    width:182px!important;
    height:50px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header nav{display:none!important}
  :root body header.publicHeader.publicHeader.publicHeader .header nav.open{
    display:flex!important;
    position:absolute!important;
    top:66px!important;
    left:3%!important;
    right:3%!important;
    padding:12px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
    background:#fff!important;
    border:1px solid #dfe8f1!important;
    border-radius:0 0 12px 12px!important;
    box-shadow:0 12px 28px rgba(14,52,88,.12)!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header nav.open a:not(.whatsapp){
    justify-content:flex-start!important;
    min-height:42px!important;
  }
  :root body header.publicHeader.publicHeader.publicHeader .header nav.open .whatsapp{
    margin-left:0!important;
    align-self:flex-start!important;
  }
}

/* Shared header owns its geometry independently of page styles. */
:root body header.publicHeader.publicHeader.publicHeader{font-family:Arial,sans-serif;line-height:normal}
:root body header.publicHeader.publicHeader.publicHeader .header{justify-content:space-between!important;position:relative!important}
:root body header.publicHeader.publicHeader.publicHeader .brand .brandExactLogo{width:242px!important;height:58px!important;object-fit:contain!important;border-radius:0!important}
:root body header.publicHeader.publicHeader.publicHeader #nav{flex:1!important;width:auto!important}
:root body header.publicHeader.publicHeader.publicHeader #nav a{box-sizing:border-box!important;height:38px!important;letter-spacing:normal!important;margin-top:0!important;margin-bottom:0!important}
:root body header.publicHeader.publicHeader.publicHeader #nav a.whatsapp{height:42px!important}
:root body header.publicHeader.publicHeader.publicHeader .waIcon,
:root body header.publicHeader.publicHeader.publicHeader .waIcon svg{display:block!important;width:20px!important;height:20px!important}
:root body header.publicHeader.publicHeader.publicHeader .menu{display:none!important}
:root body header.publicHeader.publicHeader.publicHeader #nav a:focus-visible{outline:2px solid #0878c8!important;outline-offset:3px}
@media(max-width:1100px){
:root body header.publicHeader.publicHeader.publicHeader .brand .brandExactLogo{width:208px!important;height:54px!important}
}
@media(min-width:851px) and (max-width:1000px){
:root body header.publicHeader.publicHeader.publicHeader .header{gap:8px!important;width:96%!important}
:root body header.publicHeader.publicHeader.publicHeader .brand{width:190px!important;min-width:190px!important;flex-basis:190px!important}
:root body header.publicHeader.publicHeader.publicHeader .brand .brandExactLogo{width:184px!important}
:root body header.publicHeader.publicHeader.publicHeader #nav a:not(.whatsapp){padding:0 6px!important;font-size:11px!important}
}
@media(max-width:850px){
:root body header.publicHeader.publicHeader.publicHeader .brand .brandExactLogo{width:182px!important;height:50px!important}
:root body header.publicHeader.publicHeader.publicHeader .menu{display:block!important;border:1px solid #dfe8f1;border-radius:8px;background:#fff;color:#102e4d;min-width:42px;min-height:42px;font-size:22px;cursor:pointer}
:root body header.publicHeader.publicHeader.publicHeader #nav.open{top:61px!important;left:0!important;right:0!important;max-height:calc(100dvh - 78px);overflow-y:auto}
:root body header.publicHeader.publicHeader.publicHeader #nav.open a{width:100%!important;min-height:42px!important;height:42px!important}
:root body header.publicHeader.publicHeader.publicHeader #nav.open a.whatsapp{width:auto!important}
}
