/* Shared site tree: quiet editorial lists, native disclosures and real links. */
.site-chevron { display: inline-block; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); flex-shrink: 0; transition: transform .2s; }
details[open] > summary .site-chevron { transform: rotate(225deg); }
.site-disclosure > summary { display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.site-disclosure > summary::-webkit-details-marker,
.mobile-nav summary::-webkit-details-marker,
.site-map summary::-webkit-details-marker { display: none; }
.header:has(.site-disclosure[open]) { transform: none; background: var(--ivory); color: var(--graphite); }
.header:has(.site-disclosure[open]) .brand__img--light { opacity: 0; }
.header:has(.site-disclosure[open]) .brand__img--dark { opacity: 1; }
.header:has(.site-disclosure[open]) .btn--cta { background: var(--cacao); color: var(--ivory); }
.header:has(.site-disclosure[open]) :focus-visible { outline-color: var(--cacao); }
.site-menu { position: absolute; top: 100%; left: 0; right: 0; max-height: calc(100dvh - var(--header-h)); overflow-y: auto; padding: 28px var(--gutter) 36px; background: var(--ivory); color: var(--graphite); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); box-shadow: 0 20px 30px #1c191714; }
.site-menu__top { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: 22px; margin-bottom: 24px; border-bottom: 1px solid var(--hair); }
.site-menu__top p { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--sage); }
.site-menu__top > a { font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.site-menu__columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5vw; }
.site-menu__group + .site-menu__group { border-left: 1px solid var(--hair); padding-left: 3vw; }
.site-menu__group h3 { font-size: 22px; line-height: 1.2; font-weight: 500; margin-bottom: 18px; }
.site-menu__group a { display: block; width: fit-content; padding: 7px 0; font-size: 16px; font-weight: 400; line-height: 1.4; }
.site-menu a:hover, .site-menu a[aria-current], .mobile-nav a[aria-current] { color: var(--cacao); text-decoration: underline; text-underline-offset: 5px; }
.site-menu--resources .site-menu__columns { grid-template-columns: 1fr; }
.site-menu--resources ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 5vw; }
.mobile-nav > summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 10px 0; font-size: clamp(30px, 6vw, 56px); font-weight: 400; line-height: 1.15; border-bottom: 1px solid var(--hair-dark); cursor: pointer; list-style: none; }
.mobile-nav > summary .site-chevron { width: 11px; height: 11px; margin-right: 4px; }
.mobile-nav__content { padding: 16px 0 22px 16px; }
.mobile-nav__group > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0; font-size: 19px; font-weight: 500; line-height: 1.3; list-style: none; cursor: pointer; }
.overlay__list .mobile-nav a { font-size: 16px; line-height: 1.4; font-weight: 300; min-height: 44px; padding: 10px 0; border: 0; }
.mobile-nav__group ul { padding: 0 0 14px 12px; border-left: 1px solid var(--hair-dark); }
.overlay__list .mobile-nav .mobile-nav__overview { margin-top: 12px; color: var(--greige); text-decoration: underline; text-underline-offset: 5px; }
/* Seis grupos: tres por fila en escritorio (dos filas completas, sin huérfanos). */
.site-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 18px 0; border-bottom: 1px solid #657068; }
.site-map summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; font-size: 14px; font-weight: 500; cursor: pointer; list-style: none; }
.site-map ul { padding: 8px 0 14px; }
.site-map a { display: block; font-size: 13px; line-height: 1.5; padding: 7px 0; }
.site-map a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.panel__list li[id] { scroll-margin-top: calc(var(--header-h) + 32px); }
.panel__list li:target { color: white; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 1100px) {
  .site-map { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
}
@media (max-width: 700px) {
  .site-map { grid-template-columns: 1fr; gap: 0; }
  .site-map__group + .site-map__group { border-top: 1px solid #657068; }
  .site-map summary { min-height: 54px; font-size: 16px; }
  .site-map a { min-height: 44px; font-size: 15px; padding-block: 10px; }
}
@media (prefers-reduced-motion: reduce) { .site-chevron { transition: none; } }

/* The mobile menu is the only active surface while its overlay is open. */
body.menu-open #gustavo-chat,
body.menu-open .gseal { display: none; }

/* 13-oct-2026 · Pie: tres columnas iguales (consulta, contacto, solicitar información),
   el blog como enlace directo con el mismo aspecto que los desplegables, y la última fila
   fuera del botón flotante del chat. */
.closing__details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.site-map .site-map__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 0; font-size: 14px; font-weight: 500; line-height: 1.5; }
.site-map .site-map__link::after { content: "→" / ""; font-size: 15px; font-weight: 400; }
.closing__bottom { padding-right: 200px; }
@media (max-width: 1099px) {
  .closing__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .site-map .site-map__link { min-height: 54px; font-size: 16px; border-top: 1px solid #657068; }
  .closing__bottom { padding-right: 0; }
  .closing__legal { padding-right: 76px; }
}
@media (max-width: 480px) {
  /* Una columna: el correo cabe entero sin partirse a mitad de palabra. */
  .closing__details { grid-template-columns: 1fr; }
  .home-refined .closing__details { overflow-wrap: normal; }
}
