/* Navbar compartido: réplica del navbar del index principal */
.site-header,
.site-header * { box-sizing: border-box; }

.site-header {
  --nav-serif: "Cormorant Garamond", Georgia, serif;
  --nav-sans: "Manrope", Arial, sans-serif;
  --nav-ease: cubic-bezier(0.2, 0.75, 0.25, 1);
  --nav-terracotta: #a55e49;
  --nav-terracotta-dark: #844532;
  position: absolute;
  z-index: 1000;
  inset: 0 0 auto;
  display: grid;
  height: 104px;
  grid-template-columns: minmax(340px, 1.7fr) minmax(500px, 3fr) minmax(150px, .9fr);
  align-items: center;
  padding: 0 30px 0 44px;
  background: transparent;
  color: #fff;
  font-family: var(--nav-sans);
  line-height: 1.2;
  transition: height 220ms var(--nav-ease), background-color 220ms var(--nav-ease), box-shadow 220ms var(--nav-ease);
}

/* Igual que el index principal: arriba del todo el fondo es transparente.
   Al hacer scroll, .is-scrolled activa el fondo oscuro/sticky. */
.site-header.site-header--inner {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.site-header.is-scrolled {
  position: fixed;
  height: 86px;
  grid-template-columns: minmax(320px,1.6fr) minmax(500px,3fr) minmax(145px,.85fr);
  padding-top: 2px;
  padding-bottom: 2px;
  background: rgba(25,24,21,.96);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}

.site-header.site-header--inner.is-scrolled {
  background: rgba(25,24,21,.96);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}

.site-header a { color: inherit; text-decoration: none; }

.site-header .brand {
  position: relative;
  display: grid;
  width: max-content;
  min-height: 82px;
  padding-left: 68px;
  align-content: center;
  row-gap: 4px;
  color: #fff;
  text-decoration: none;
}

.site-header .brand__branch {
  position: absolute;
  top: -35px;
  left: -17px;
  width: 105px;
  height: 132px;
  max-width: none;
  object-fit: contain;
  object-position: 64% center;
  opacity: .94;
  transform: rotate(-29deg);
}

.site-header .brand__top { display: flex; align-items: flex-start; gap: 16px; }
.site-header .brand__main { font-family: var(--nav-serif); font-size: 32px; font-weight: 500; line-height: .82; letter-spacing: -.03em; }
.site-header .brand__side { align-self: center; max-width: 170px; font-family: var(--nav-serif); font-size: 15.68px; font-weight: 500; line-height: .94; letter-spacing: -.03em; }
.site-header .brand__bottom { display: block; font-size: 7.68px; font-weight: 700; letter-spacing: .24em; line-height: 1.2; text-transform: uppercase; }

.site-header.is-scrolled .brand { min-height: 74px; padding-left: 62px; row-gap: 3px; }
.site-header.is-scrolled .brand__branch { top: -24px; left: -16px; width: 92px; height: 112px; object-position: 62% center; }
.site-header.is-scrolled .brand__top { gap: 12px; }
.site-header.is-scrolled .brand__main { font-size: 26.88px; line-height: .83; }
.site-header.is-scrolled .brand__side { max-width: 145px; font-size: 13.12px; line-height: .95; }
.site-header.is-scrolled .brand__bottom { font-size: 6.4px; letter-spacing: .18em; }

.site-header .desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px,1.8vw,30px);
  font-size: 12px;
  font-weight: 600;
}
.site-header .desktop-nav a { position: relative; padding: 14px 0; white-space: nowrap; }
.site-header .desktop-nav a::after { position:absolute; right:0; bottom:7px; left:0; height:1px; background:currentColor; content:""; transform:scaleX(0); transform-origin:right; transition:transform 220ms var(--nav-ease); }
.site-header .desktop-nav a:hover::after,
.site-header .desktop-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }

.site-header .header-cta,
.global-mobile-menu .global-mobile-cta {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 13px 28px;
  border: 1px solid transparent;
  border-radius: 0;
  background: var(--nav-terracotta);
  color: #fff;
  font-family: var(--nav-sans);
  font-size: 13.76px;
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: background-color 220ms var(--nav-ease), transform 220ms var(--nav-ease);
}
.site-header .header-cta { justify-self: end; min-width: 152px; }
.site-header .header-cta:hover,
.global-mobile-menu .global-mobile-cta:hover { background: var(--nav-terracotta-dark); transform: translateY(-2px); }

.site-header .menu-toggle,
.site-header .mobile-whatsapp,
.global-mobile-menu { display: none; }

.site-header .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:1240px) {
  .site-header { grid-template-columns:minmax(290px,1.45fr) 3fr minmax(130px,.75fr); padding-left:24px; }
  .site-header .brand { padding-left:56px; row-gap:3px; }
  .site-header .brand__top { gap:12px; }
  .site-header .brand__main { font-size:26.88px; }
  .site-header .brand__side { max-width:132px; font-size:12.48px; }
  .site-header .brand__bottom { font-size:6.4px; letter-spacing:.18em; }
  .site-header .desktop-nav { gap:14px; font-size:10.72px; }
}

@media (max-width:980px) {
  body.global-menu-open { overflow:hidden !important; }
  .site-header,
  .site-header.is-scrolled,
  .site-header.site-header--inner {
    position: fixed;
    display: grid;
    height: 82px;
    grid-template-columns: 1fr auto auto;
    padding: 0 16px 0 18px;
    background: rgba(24,23,20,.94);
    box-shadow: none;
    backdrop-filter: blur(10px);
  }
  .site-header .brand { min-height:68px; max-width:248px; padding-left:46px; row-gap:2px; }
  .site-header .brand__branch,
  .site-header.is-scrolled .brand__branch { top:-12px; left:-18px; width:66px; height:82px; }
  .site-header .brand__top,
  .site-header.is-scrolled .brand__top { gap:8px; }
  .site-header .brand__main,
  .site-header.is-scrolled .brand__main { font-size:20.8px; line-height:.84; }
  .site-header .brand__side,
  .site-header.is-scrolled .brand__side { max-width:88px; margin-top:2px; font-size:8.96px; line-height:1; }
  .site-header .brand__bottom,
  .site-header.is-scrolled .brand__bottom { font-size:4.96px; letter-spacing:.12em; line-height:1.15; }
  .site-header .desktop-nav,
  .site-header .header-cta { display:none; }
  .site-header .mobile-whatsapp,
  .site-header .menu-toggle { display:grid; width:46px; height:46px; place-items:center; border:0; padding:0; background:transparent; color:#fff; }
  .site-header .mobile-whatsapp { margin-right:5px; color:#65d58f; }
  .site-header .mobile-whatsapp svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .site-header .menu-toggle { position:relative; cursor:pointer; }
  .site-header .menu-toggle span:not(.sr-only) { position:absolute; left:10px; width:26px; height:1px; background:currentColor; transition:transform 220ms var(--nav-ease),top 220ms var(--nav-ease); }
  .site-header .menu-toggle span:first-child { top:17px; }
  .site-header .menu-toggle span:nth-child(2) { top:28px; }
  .site-header .menu-toggle[aria-expanded="true"] span:first-child { top:23px; transform:rotate(45deg); }
  .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) { top:23px; transform:rotate(-45deg); }

  .global-mobile-menu {
    position: fixed;
    z-index: 995;
    inset: 82px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 24px;
    background: rgba(30,29,26,.985);
    color:#fff;
    font-family:var(--nav-sans);
  }
  .global-mobile-menu[hidden] { display:none; }
  .global-mobile-menu > a:not(.global-mobile-cta) { display:grid; min-height:48px; place-items:center; color:#fff; font-family:var(--nav-serif); font-size:26.4px; font-weight:500; text-decoration:none; }
  .global-mobile-menu .global-mobile-cta { width:min(300px,100%); margin-top:18px; }
}

@media (max-width:700px) {
  .site-header,
  .site-header.is-scrolled,
  .site-header.site-header--inner { height:78px; }
  .site-header .brand { max-width:228px; }
  .site-header .brand__main,
  .site-header.is-scrolled .brand__main { font-size:18.24px; }
  .site-header .brand__side,
  .site-header.is-scrolled .brand__side { max-width:80px; font-size:7.68px; }
  .site-header .brand__bottom,
  .site-header.is-scrolled .brand__bottom { font-size:4.32px; letter-spacing:.11em; }
  .global-mobile-menu { inset-block-start:78px; }
}


/* V30: homologación tipográfica absoluta con el navbar del Inicio.
   Se usan px para que páginas que escalan html/root no alteren el navbar. */
.site-header,
.site-header .desktop-nav,
.site-header .desktop-nav a,
.site-header .header-cta,
.site-header .brand__bottom,
.site-header .menu-toggle,
.site-header .mobile-whatsapp,
.global-mobile-menu,
.global-mobile-menu .global-mobile-cta {
  font-family: "Manrope", Arial, sans-serif;
}
.site-header .brand__main,
.site-header .brand__side,
.global-mobile-menu > a:not(.global-mobile-cta) {
  font-family: "Cormorant Garamond", Georgia, serif;
}
@media (min-width: 1241px) {
  .site-header .desktop-nav,
  .site-header .desktop-nav a { font-size: 12px; font-weight: 600; line-height: 1.2; }
  .site-header .header-cta { font-size: 13.76px; font-weight: 700; line-height: 1; }
  .site-header .brand__main { font-size: 32px; font-weight: 500; line-height: .82; }
  .site-header .brand__side { font-size: 15.68px; font-weight: 500; line-height: .94; }
  .site-header .brand__bottom { font-size: 7.68px; font-weight: 700; line-height: 1.2; }
  .site-header.is-scrolled .brand__main { font-size: 26.88px; line-height: .83; }
  .site-header.is-scrolled .brand__side { font-size: 13.12px; line-height: .95; }
  .site-header.is-scrolled .brand__bottom { font-size: 6.4px; }
}
@media (min-width: 981px) and (max-width: 1240px) {
  .site-header .desktop-nav,
  .site-header .desktop-nav a { font-size: 10.72px; font-weight: 600; line-height: 1.2; }
  .site-header .header-cta { font-size: 13.76px; font-weight: 700; line-height: 1; }
  .site-header .brand__main { font-size: 26.88px; font-weight: 500; line-height: .82; }
  .site-header .brand__side { font-size: 12.48px; font-weight: 500; line-height: .94; }
  .site-header .brand__bottom { font-size: 6.4px; font-weight: 700; line-height: 1.2; }
  .site-header.is-scrolled .brand__main { font-size: 26.88px; line-height: .83; }
  .site-header.is-scrolled .brand__side { font-size: 13.12px; line-height: .95; }
  .site-header.is-scrolled .brand__bottom { font-size: 6.4px; }
}
@media (max-width: 980px) {
  .site-header .brand__main,
  .site-header.is-scrolled .brand__main { font-size: 20.8px; font-weight: 500; line-height: .84; }
  .site-header .brand__side,
  .site-header.is-scrolled .brand__side { font-size: 8.96px; font-weight: 500; line-height: 1; }
  .site-header .brand__bottom,
  .site-header.is-scrolled .brand__bottom { font-size: 4.96px; font-weight: 700; line-height: 1.15; }
  .global-mobile-menu > a:not(.global-mobile-cta) { font-size: 26.4px; font-weight: 500; }
  .global-mobile-menu .global-mobile-cta { font-size: 13.76px; font-weight: 700; }
}
@media (max-width: 700px) {
  .site-header .brand__main,
  .site-header.is-scrolled .brand__main { font-size: 18.24px; }
  .site-header .brand__side,
  .site-header.is-scrolled .brand__side { font-size: 7.68px; }
  .site-header .brand__bottom,
  .site-header.is-scrolled .brand__bottom { font-size: 4.32px; }
}
