/* Cabecera 772 y pie 1780. Solo fuentes y recursos locales. */
@font-face { font-family: 'Hanken Grotesk'; src: url('../fonts/hanken-grotesk/static/HankenGrotesk-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Roboto; src: url('../fonts/roboto/static/Roboto-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Roboto; src: url('../fonts/roboto/static/Roboto-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: Roboto; src: url('../fonts/roboto/static/Roboto-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
:root { --principal: #f77900; --secundario: #5b5a5b; --texto: #7a7a7a; --fondo: #fff; --fondo-pie: #f4eee9; }
.insignia-publica { margin: 0; background: var(--fondo); color: var(--texto); font-family: Roboto, sans-serif; font-size: 16px; }
.insignia-publica *, .insignia-publica *::before, .insignia-publica *::after { box-sizing: border-box; }
.insignia-publica img { max-width: 100%; height: auto; }
.insignia-publica a { color: inherit; text-decoration: none; }
.insignia-publica a:focus-visible, .insignia-publica button:focus-visible { outline: 2px solid var(--principal); outline-offset: 4px; }
.saltar-contenido { position: absolute; top: 0; left: 16px; transform: translateY(-150%); z-index: 100; padding: 12px; background: white; }
.saltar-contenido:focus { transform: none; }
.cabecera { position: relative; background: var(--fondo); min-height: 60px; }
.cabecera__interior { display: flex; align-items: center; min-height: 60px; padding-inline: clamp(20px, 3vw, 50px); gap: 24px; }
.cabecera__marca { width: 33.3333%; text-align: center; flex-shrink: 0; }
.cabecera__marca a { display: block; }
.cabecera__marca img { width: 42%; max-height: 36px; object-fit: contain; vertical-align: middle; }
.navegacion { flex: 1; min-width: 0; font: 600 16px/1.4 'Hanken Grotesk', sans-serif; text-transform: uppercase; }
.navegacion__lista { list-style: none; display: flex; justify-content: flex-end; align-items: center; gap: clamp(20px, 3vw, 48px); min-height: 60px; margin: 0; padding: 0; color: var(--secundario); }
.navegacion__lista a, .navegacion__pendiente { display: block; }
.navegacion__lista > li { flex-shrink: 0; white-space: nowrap; }
.navegacion__lista a:hover { color: var(--principal); }
.navegacion__boton { font: inherit; color: var(--secundario); background: transparent; border: 0; cursor: pointer; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 6px; }
.navegacion__boton .ph { font-size: 26px; }
.navegacion__boton[hidden] { display: none; }
.pie { font-family: Roboto, sans-serif; }
.pie__principal { padding: 25px 50px; background: var(--fondo-pie); }
.pie__fila { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,.85fr); gap: clamp(24px, 3vw, 48px); align-items: start; }
.pie__fila > * { min-width: 0; }
.pie__marca img { width: 90%; max-width: 240px; display: block; }
.pie__frase { margin: 14px 0 0; color: #5b5a5b; font: 400 clamp(12px, 1vw, 14px)/1.5 'Hanken Grotesk', sans-serif; }
.pie__contacto { list-style: none; padding: 0; margin: 0; color: var(--secundario); font: 400 12px/1.4 Roboto, sans-serif; }
.pie__contacto li { display: flex; align-items: center; gap: 5px; margin-bottom: 10px; overflow-wrap: anywhere; }
.pie__contacto .ph { font-size: 20px; flex-shrink: 0; }
.pie h2 { margin: 0; font: 600 16px/1.4 'Hanken Grotesk', sans-serif; text-transform: uppercase; }
.pie__mapa ul { list-style: none; margin: 5px 0 0; padding: 0; font: 400 14px/1.4 Roboto, sans-serif; }
.pie__mapa li { display: flex; align-items: center; gap: 5px; margin-bottom: 5px; }
.pie__mapa .ph { font-size: 18px; flex-shrink: 0; }
.pie__cotizacion img { display: block; width: 107px; margin-top: 15px; }
.pie__legal { min-height: 40px; display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: center; padding: 10px 20px; background: var(--principal); color: #dbd9cc; font: 600 14px/1.4 'Hanken Grotesk', sans-serif; }
.pie__firma { display: block; width: min(78px, 50%); line-height: 0; }
.pie__firma img { display: block; width: 100%; }
.pie__legal a:focus-visible, .volver-arriba:focus-visible { outline-color: var(--secundario); }
.volver-arriba { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 20; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 4px; background: var(--principal); color: white; cursor: pointer; font-size: 24px; box-shadow: 0 2px 8px rgb(0 0 0 / 15%); }
.volver-arriba[hidden] { display: none; }
@media (max-width: 1024px) {
    .pie__principal { padding: 25px; }
    .pie h2, .pie__mapa ul { font-size: 12px; }
    .pie__cotizacion img { max-width: 90%; }
}
@media (max-width: 1024px) {
    .cabecera__interior { flex-wrap: wrap; gap: 0; }
    .cabecera__marca { width: 80%; text-align: left; }
    .cabecera__marca img { width: min(61.5%, 220px); }
    .navegacion { flex: 0 0 100%; }
    .navegacion.is-enhanced { flex: 0 0 20%; }
    .navegacion__lista { flex-direction: column; align-items: flex-start; gap: 10px; padding: 15px 25px; }
    .navegacion.is-enhanced .navegacion__boton:not([hidden]) { display: flex; margin-left: auto; }
    .navegacion__boton span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .navegacion.is-enhanced .navegacion__lista { display: none; }
    .navegacion.is-enhanced.is-open .navegacion__lista { display: flex; position: absolute; top: 100%; right: 0; z-index: 30; background: var(--fondo); width: 100%; padding: 25px; box-shadow: 0 6px 8px rgb(0 0 0 / 10%); }
}
@media (max-width: 767px) {
    .pie__fila { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
    .pie__marca, .pie__contacto { grid-column: 1/-1; }
    .pie__marca { text-align: center; }
    .pie__marca img { width: 75%; margin: 0 auto; }
    .pie__contacto .ph { font-size: 24px; }
}
@media (max-width: 340px) {
    .pie__fila { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .pie__cotizacion img { max-width: 100%; }
}

/* Contenedor existente de Home compartido con las páginas institucionales. */
.home__contenedor { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 50px; }
/* Altura fotográfica de referencia: Home; no incluye cabecera ni títulos. */
.quienes__cabecera, .comprar__hero, .hero-institucional { width: 100%; max-width: none; height: clamp(300px, 40vw, 560px); min-height: 0; }
.navegacion__lista a[aria-current="page"], .pie__mapa a[aria-current="page"] { color: var(--principal); }
@media (max-width: 767px) {
    .home__contenedor { padding-inline: 25px; }
    .quienes__cabecera, .comprar__hero, .hero-institucional { height: clamp(240px, 65vw, 300px); }
}

/* Continuación compacta del título superpuesto, sin cambiar la altura del hero. */
@media (max-width: 767px) {
    .comprar__titulo > .entrada-suave--arriba, .financiaciones__titulo > .entrada-suave--arriba { margin-top: -20px; }
}

/* Mismo padding lateral que el encabezado de Home, fuera del contenedor centrado. */
.encabezado-institucional { padding-inline: 50px; }
@media (max-width: 767px) {
    .encabezado-institucional { padding-inline: 25px; }
}

/* Entradas reutilizables: el estado base siempre conserva el texto visible. */
@keyframes entrada-suave {
    from { opacity: 0; transform: translateY(var(--entrada-desplazamiento, 24px)); }
    to { opacity: 1; transform: translateY(0); }
}
.entrada-suave--abajo { --entrada-desplazamiento: 24px; }
.entrada-suave--arriba { --entrada-desplazamiento: -24px; }
.hero-titulo__primero { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
    .entrada-suave { animation: entrada-suave 1100ms cubic-bezier(.22,.61,.36,1) backwards; }
}
