/* Moraira.info site shell v1
   Generated editorial compatibility is scoped to bodies without data-site-shell.
   Single active header/navigation layer. Page-specific files must not style .site-header. */
:root{
  --mi-shell-max:1120px;
  --mi-header-height:64px;
  --mi-page-start-desktop:44px;
  --mi-page-start-mobile:28px;
}
html{scroll-padding-top:calc(var(--mi-header-height) + 18px)}

/* Cleo must overlay the sticky site header when its dialog is open. */
:is(body[data-site-shell="v1"], body:not([data-site-shell])) #assistantPanel{
  z-index:120;
}

:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header{
  position:sticky;
  top:0;
  z-index:80;
  width:100%;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(15,31,47,.10);
  box-shadow:0 1px 0 rgba(15,31,47,.02);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .container.nav{
  width:min(calc(100% - 36px),var(--mi-shell-max));
  min-height:var(--mi-header-height);
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  grid-template-areas:"brand navigation assistant language";
  align-items:center;
  gap:22px;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand{
  grid-area:brand;
  display:inline-flex;
  align-items:center;
  min-width:0;
  color:#0f1f2f;
  text-decoration:none;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand img{
  display:block;
  width:144px;
  height:auto;
  max-width:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks{
  grid-area:navigation;
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  position:static;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link){
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:2px 0;
  color:#132233;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:14px;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:#0783b7;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .16s ease;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:hover,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:focus-visible,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a[aria-current="page"]{
  color:#071522;
  text-decoration:none;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:hover::after,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:focus-visible::after,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a[aria-current="page"]::after{
  transform:scaleX(1);
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .cta-row{
  grid-area:assistant;
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .lang-select{
  font:inherit;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn{
  min-height:40px;
  padding:9px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#132233;
  background:#fff;
  border:1px solid rgba(15,31,47,.12);
  border-radius:999px;
  box-shadow:0 7px 20px rgba(15,31,47,.05);
  font-size:13px;
  font-weight:750;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn:hover,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn:focus-visible{
  border-color:rgba(0,106,159,.30);
  background:#fafdff;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .lang-select-wrap{
  grid-area:language;
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .lang-select{
  min-width:102px;
  min-height:38px;
  padding:7px 32px 7px 12px;
  color:#132233;
  background-color:#fff;
  border:1px solid rgba(15,31,47,.12);
  border-radius:10px;
  box-shadow:0 5px 16px rgba(15,31,47,.035);
  font-size:12px;
  line-height:1.2;
  cursor:pointer;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle{
  grid-area:toggle;
  display:none;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:40px;
  padding:8px 13px;
  color:#132233;
  background:#fff;
  border:1px solid rgba(15,31,47,.12);
  border-radius:999px;
  box-shadow:none;
  font-size:13px;
  font-weight:750;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle__icon{font-size:15px;line-height:1}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-assistant-link,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-business-link{display:none}

:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header :where(a,button,select):focus-visible{
  outline:3px solid rgba(0,106,159,.22);
  outline-offset:3px;
}

/* Shared vertical start for the five primary section landing pages. */
:is(body[data-site-shell="v1"], body:not([data-site-shell])) main.site-main--section{
  padding-block-start:var(--mi-page-start-desktop)!important;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) main.site-main--section > .container:first-child{
  padding-block-start:0!important;
  margin-block-start:0!important;
}
:is(body[data-site-shell="v1"], body:not([data-site-shell])) main.site-main--section > .container:first-child :is(h1,.page-title):first-child,
:is(body[data-site-shell="v1"], body:not([data-site-shell])) main.site-main--section > .container:first-child section:first-child > h1:first-child{
  margin-block-start:0!important;
}

@media (max-width:1040px) and (min-width:861px){
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .container.nav{gap:14px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks{gap:16px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link){font-size:13px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand img{width:132px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn{padding-inline:12px}
}

@media (max-width:860px){
  :root{--mi-header-height:64px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .container.nav{
    width:min(calc(100% - 20px),var(--mi-shell-max));
    min-height:var(--mi-header-height);
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand assistant toggle";
    gap:8px;
    position:relative;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand{min-width:0}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand img{
    width:min(150px,40vw);
    max-height:40px;
    object-fit:contain;
    object-position:left center;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .cta-row{justify-self:end}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn{
    min-height:40px;
    max-width:104px;
    padding:8px 13px;
    font-size:13px;
    white-space:normal;
    text-align:center;
    line-height:1.08;
    box-shadow:none;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle{
    display:inline-flex;
    justify-self:end;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle[aria-expanded="true"]{
    color:#005d8b;
    background:#edf8fc;
    border-color:rgba(0,106,159,.24);
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks{
    display:none;
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:90;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
    max-height:calc(100vh - var(--mi-header-height) - 28px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:12px;
    background:rgba(255,255,255,.985);
    border:1px solid rgba(15,31,47,.12);
    border-radius:16px;
    box-shadow:0 20px 48px rgba(15,31,47,.14);
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks.is-open,
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks.open{display:flex}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link){
    width:100%;
    min-height:44px;
    padding:11px 12px;
    justify-content:flex-start;
    border-radius:10px;
    font-size:15px;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link)::after{display:none}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link):hover,
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a:not(.menu-business-link):focus-visible,
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a[aria-current="page"]{
    background:#f0f7fa;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > a[aria-current="page"]{
    color:#005d8b;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .container.nav > .lang-select-wrap{display:none;}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks > .lang-select-wrap{display:flex;}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks .lang-select-wrap{
    width:100%;
    padding-top:10px;
    margin-top:4px;
    border-top:1px solid rgba(15,31,47,.09);
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .navlinks .lang-select{
    width:100%;
    min-height:44px;
    font-size:14px;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-assistant-link,
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-business-link{
    width:100%;
    min-height:44px;
    padding:11px 14px;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-assistant-link{
    display:none;
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .menu-business-link{
    display:inline-flex;
    color:#006a9f;
    background:#edf8fc;
    border:1px solid rgba(0,106,159,.20);
  }
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) main.site-main--section{
    padding-block-start:var(--mi-page-start-mobile)!important;
  }
}

@media (max-width:390px){
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .container.nav{width:calc(100% - 14px);gap:6px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .brand img{width:min(138px,38vw)}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header #openAssistantBtn{max-width:90px;padding-inline:9px;font-size:12px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle{padding-inline:10px;font-size:12px}
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .nav-toggle__icon{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  :is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header *{scroll-behavior:auto!important;transition:none!important}
}

:is(body[data-site-shell="v1"], body:not([data-site-shell])) .site-header .sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
