/* Hoja única de esta página: tipografía heredada de la cabecera global.
   Paleta y superficies alineadas con Documentación / Transparencia / Aplicativos. */
#qs_pagina {
    --qs-verde-oscuro: #1B5E20;
    --qs-verde-medio: #2E7D32;
    --qs-verde-fondo: #EEF6E8;
    --qs-verde-suave: #F1F8E9;
    --qs-borde: #C8E6C9;
    --qs-naranja: #FF9800;
    --qs-texto-oscuro: #173523;
    --qs-texto-medio: #52675a;
    --qs-degradado: linear-gradient(115deg,#164e31,#24784d 58%,#23877e);
    --qs-sombra-suave: 0 6px 18px rgba(0, 0, 0, .08);
    --qs-sombra-media: 0 14px 34px rgba(0, 0, 0, .12);
    --qs-width: 1180px;
    color: var(--qs-texto-oscuro);
    background: #fff;
    overflow: hidden;
}
#qs_pagina *, #qs_pagina *::before, #qs_pagina *::after { box-sizing: border-box; }
#qs_pagina :is(h1,h2,h3,p) { margin: 0; }
#qs_pagina a { color: inherit; text-decoration: none; }
/* Sin pictogramas decorativos ni caracteres que dependan de fuentes de iconos. */
#qs_pagina i { display: none; }
.qs_contenedor { width: min(var(--qs-width), calc(100% - 40px)); margin-inline: auto; }

/* Cabecera con paisaje */
.qs_intro { padding-bottom: 48px; }
.qs_intro_cabecera {
    position: relative;
    isolation: isolate;
    min-height: 440px;
    padding-block: 64px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
}
.qs_intro_cabecera::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 auto 0 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: linear-gradient(90deg,#123f17 25%,rgba(18,63,23,.94) 43%,rgba(27,94,32,.55) 68%,rgba(27,94,32,.15)),
        url("/static/webapp/images/inicio/imagen_hero_fondo.f06cb4e0ab76.png") right center / cover no-repeat;
}
.qs_etiqueta {
    display: inline-block;
    margin-bottom: 22px;
    padding: 0;
    color: #d3e5d6;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.qs_intro h1 { max-width: 650px; font-size: clamp(38px,4.3vw,60px); font-weight: 900; line-height: 1.07; letter-spacing: -1.4px; text-wrap: balance; color: #fff; }
.qs_intro h1 span { display: block; width: fit-content; margin-top: 14px; padding-bottom: .08em; font-size: .62em; font-weight: 800; color: #9BE07F; letter-spacing: -.5px; }
/* Títulos en degradado; el color sólido queda como respaldo */
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .qs_intro h1 { background: linear-gradient(110deg,#fff 20%,#d2f3d9 65%,#89d9cc); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .qs_intro h1 span { color: #d3e5d6; -webkit-text-fill-color: #d3e5d6; font-weight: 500; }
    .qs_historia h2,.qs_seccion_cabecera h2,.qs_ubicacion h2 { background: var(--qs-degradado); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
}
.qs_intro_cabecera > p { max-width: 540px; margin-top: 22px!important; color: rgba(255,255,255,.92); font-size: 16px; line-height: 1.75; }
.qs_intro_acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.qs_boton { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 15px 22px; border: 1px solid transparent; border-radius: 12px; font-size: 15px; font-weight: 750; line-height: 1.3; text-align: center; }
#qs_pagina .qs_boton_primario { background: linear-gradient(110deg,#dbf3bd,#9edfc9); color: #123c2b; }
#qs_pagina .qs_boton_secundario { background: #ffffff0d; border-color: #ffffff60; color: #fff; }

/* Resumen: debajo de la cabecera, sin invadirla */
.qs_resumen { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 40px; }
.qs_resumen:empty { display: none; }
.qs_resumen article { padding: 22px 24px; border: 1px solid var(--qs-borde); border-radius: 18px; background: #fff; box-shadow: var(--qs-sombra-media); }
.qs_resumen strong { display: block; color: var(--qs-verde-oscuro); font-size: 21px; font-weight: 900; letter-spacing: -.3px; }
.qs_resumen span { display: block; margin-top: 6px; color: var(--qs-texto-medio); font-size: 14px; line-height: 1.55; }

.qs_publicidad { width: min(var(--qs-width),calc(100% - 40px)); margin: 0 auto 48px; }
.qs_publicidad .inicio_bloque-publicidad { padding: 0!important; }

/* Encabezados de bloque: título, texto y subrayado naranja como en Documentación */
.qs_sobretitulo, .qs_card_indice, .qs_cierre > div > span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.5;
    text-transform: uppercase;
}
.qs_sobretitulo { margin-bottom: 8px; color: var(--qs-verde-medio); }
.qs_historia h2, .qs_seccion_cabecera h2 { color: var(--qs-verde-oscuro); font-size: clamp(26px,3vw,38px); font-weight: 900; line-height: 1.15; letter-spacing: -.6px; text-wrap: balance; }
.qs_historia h2::after, .qs_seccion_cabecera h2::after { content: ""; display: block; width: 96px; height: 3px; margin-top: 22px; border-radius: 2px; background: linear-gradient(90deg,#eea43d,#71b7a2); }
.qs_historia_texto p, .qs_seccion_cabecera > p { color: var(--qs-texto-medio); font-size: 15.5px; line-height: 1.7; }

/* Secciones abiertas sobre el fondo blanco de la página. */
.qs_historia, .qs_valores {
    margin-bottom: 48px;
    padding-block: 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* Historia: árbol cronológico alterno con tarjetas */
#qs_historia { scroll-margin-top: 110px; }
.qs_historia_texto { max-width: 760px; padding-bottom: 22px; margin-bottom: 32px; }
.qs_historia_texto p { margin-top: 16px!important; }
.qs_historia_texto > a { display: inline-block; margin-top: 16px; color: var(--qs-verde-medio); font-size: 14px; font-weight: 800; border-bottom: 2px solid var(--qs-borde); padding-bottom: 3px; }
.qs_arbol { position: relative; padding-block: 6px; }
.qs_arbol::before { content: ""; position: absolute; inset: 0 auto 0 50%; width: 2px; border-radius: 999px; background: linear-gradient(180deg,#d8e9df,#24784d 35%,#23877e 75%,#e9f3ee); transform: translateX(-50%); }
.qs_arbol article { position: relative; display: grid; grid-template-columns: 1fr 96px 1fr; align-items: start; margin-bottom: 28px; }
.qs_arbol article:last-child { margin-bottom: 0; }
.qs_arbol time { grid-area: 1/2; z-index: 1; display: grid; place-items: center; width: 68px; height: 58px; margin: 14px auto 0; border: 4px solid #fff; border-radius: 16px; background: var(--qs-degradado); color: #fff; font-size: 15px; font-weight: 800; }
.qs_arbol article > div { grid-area: 1/1; padding: 22px 24px; border: 0; border-radius: 0; background: transparent; text-align: right; }
.qs_arbol article:nth-child(even) > div { grid-column: 3; text-align: left; }
.qs_arbol article:first-child > div { border-radius: 14px; background: linear-gradient(110deg,#fff,#f0f7ee); }
.qs_arbol article:last-child > div { border-radius: 14px; background: linear-gradient(110deg,#fff,#edf7f5); }
.qs_arbol h3 { color: var(--qs-texto-oscuro); font-size: 19px; font-weight: 900; line-height: 1.3; }
.qs_arbol p { margin-top: 8px!important; color: var(--qs-texto-medio); font-size: 14px; line-height: 1.7; }

/* Ubicación: una sola composición; el mapa permanece sin tarjeta propia. */
.qs_ubicacion {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0,1.02fr) minmax(380px,.98fr);
    gap: clamp(32px,5vw,68px);
    align-items: center;
    margin-bottom: 64px;
    padding: clamp(34px,5vw,58px);
    border: 1px solid #d9eadb;
    border-radius: 24px;
    background: linear-gradient(125deg,#fbfdf9 0%,#f2f8ed 52%,#eaf6f1 100%);
    box-shadow: 0 18px 46px rgba(23,53,35,.08);
    overflow: hidden;
}
.qs_ubicacion::before { content: ""; position: absolute; z-index: -1; width: 360px; height: 360px; right: -100px; top: -120px; border-radius: 50%; background: radial-gradient(circle,rgba(35,135,126,.13),rgba(35,135,126,0) 70%); }
.qs_ubicacion::after { content: ""; position: absolute; z-index: -1; width: 260px; height: 260px; left: -130px; bottom: -150px; border-radius: 50%; background: radial-gradient(circle,rgba(255,152,0,.10),rgba(255,152,0,0) 72%); }
.qs_ubicacion_texto { max-width: 560px; }
.qs_ubicacion h2 { max-width: 620px; color: var(--qs-verde-oscuro); font-size: clamp(29px,3.2vw,43px); font-weight: 900; line-height: 1.12; letter-spacing: -.8px; text-wrap: balance; }
.qs_ubicacion h2::after { content: ""; display: block; width: 112px; height: 4px; margin-top: 22px; border-radius: 999px; background: linear-gradient(90deg,var(--qs-naranja),#71b7a2); }
.qs_ubicacion_texto > p { max-width: 56ch; margin-top: 22px!important; color: var(--qs-texto-medio); font-size: 16px; line-height: 1.75; }
.qs_ubicacion_leyenda { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.qs_ubicacion_leyenda li { display: flex; align-items: center; gap: 14px; min-height: 112px; padding: 18px; border: 1px solid rgba(46,125,50,.14); border-radius: 14px; background: rgba(255,255,255,.88); box-shadow: 0 8px 22px rgba(23,53,35,.06); }
.qs_ubicacion_icono { flex: 0 0 52px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#1b5e20,#2f8150); box-shadow: 0 8px 18px rgba(27,94,32,.20); }
.qs_ubicacion_icono_region { color: #174f34; background: linear-gradient(145deg,#dff1d4,#a9d5c5); box-shadow: 0 8px 18px rgba(35,135,126,.15); }
#qs_pagina .qs_ubicacion_icono i { display: block; color: currentColor; font-size: 25px; line-height: 1; }
.qs_ubicacion_dato { min-width: 0; }
.qs_ubicacion_leyenda strong { display: block; color: var(--qs-texto-oscuro); font-size: 15px; font-weight: 900; line-height: 1.35; }
.qs_ubicacion_leyenda small { display: block; margin-top: 4px; color: var(--qs-texto-medio); font-size: 12.5px; line-height: 1.45; }
.qs_mapa { position: relative; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.qs_mapa img { position: relative; z-index: 1; display: block; width: 100%; max-width: 520px; height: auto; margin-inline: auto; filter: drop-shadow(0 16px 18px rgba(23,53,35,.12)); }
.qs_mapa_pais { fill: #C5E1A5; stroke: #fff; stroke-width: 3; stroke-linejoin: round; }
.qs_mapa_cobertura { fill: #81C784; stroke: #fff; stroke-width: 3; stroke-linejoin: round; }
.qs_mapa_sede { fill: var(--qs-verde-oscuro); stroke: #fff; stroke-width: 3; stroke-linejoin: round; }
.qs_mapa_etiqueta { fill: var(--qs-texto-oscuro); font-size: 15px; font-weight: 900; letter-spacing: .06em; text-anchor: middle; }
.qs_mapa_etiqueta_sede { fill: #fff; font-size: 18px; }
.qs_mapa_etiqueta_tenue { fill: var(--qs-texto-medio); font-size: 22px; opacity: .55; }
.qs_mapa_punto { fill: var(--qs-naranja); stroke: #fff; stroke-width: 3; }
.qs_mapa_pulso { fill: rgba(255,152,0,.3); transform-box: fill-box; transform-origin: center; animation: qs_pulso 2.2s ease-out infinite; }
.qs_mapa_ciudad { fill: #fff; font-size: 16px; font-weight: 900; paint-order: stroke; stroke: var(--qs-verde-oscuro); stroke-width: 4px; }
@keyframes qs_pulso { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.8); opacity: 0; } }

/* Misión y visión */
.qs_proposito { margin-bottom: 64px; }
.qs_seccion_cabecera { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: end; }
.qs_proposito_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 36px; }
.qs_proposito_card { padding: 32px; border: 0; border-radius: 18px; background: linear-gradient(130deg,#f0f7ec,#edf7f5); box-shadow: none; }
.qs_card_indice { color: var(--qs-verde-medio); }
.qs_proposito_card h3 { max-width: 460px; margin-top: 18px!important; color: var(--qs-verde-oscuro); font-size: clamp(24px,2.3vw,30px); font-weight: 800; line-height: 1.25; letter-spacing: -.4px; text-wrap: balance; }
.qs_proposito_card p { max-width: 52ch; margin-top: 20px!important; color: var(--qs-texto-medio); font-size: 16px; line-height: 1.8; }
#qs_pagina .qs_proposito_card_verde { background: var(--qs-degradado); }
#qs_pagina .qs_proposito_card_verde h3 { color: #fff; }
#qs_pagina .qs_proposito_card_verde .qs_card_indice { color: #bde0cd; }
#qs_pagina .qs_proposito_card_verde p { color: #e1eee6; }

/* Valores */
.qs_valores .qs_seccion_cabecera { grid-template-columns: 1fr; gap: 20px; max-width: 760px; }
.qs_valores .qs_seccion_cabecera h2::after { content: none; }
.qs_valores .qs_seccion_cabecera > p { max-width: 65ch; font-size: 16px; line-height: 1.8; }
.qs_valores_grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 64px; margin-top: 44px; }
.qs_valor { display: grid; grid-template-columns: 40px minmax(0,1fr); column-gap: 18px; align-content: start; padding: 22px; border-left: 3px solid #6aaf98; border-radius: 0 12px 12px 0; background: linear-gradient(110deg,#f0f7ee,#f1f9f8 65%,#fff); }
.qs_valor > span { grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; align-self: start; height: 40px; color: #fff; background: var(--qs-degradado); border-radius: 10px; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.qs_valor h3 { grid-column: 2; color: var(--qs-texto-oscuro); font-size: 21px; font-weight: 800; line-height: 1.35; }
.qs_valor p { grid-column: 2; max-width: 45ch; margin-top: 10px!important; color: var(--qs-texto-medio); font-size: 15px; line-height: 1.8; }

/* Cierre */
.qs_cierre { display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 32px; margin-bottom: 64px; padding: 36px; border-radius: 18px; background: radial-gradient(ellipse at top right,#398e7955,transparent 70%),linear-gradient(145deg,#173e2c,#1c6151); color: #fff; }
.qs_cierre p { margin-top: 16px!important; color: #d5e8dd; font-size: 15px; line-height: 1.7; }
.qs_cierre > div > span { color: #DCEDC8; }
.qs_cierre h2 { margin-top: 10px!important; font-size: clamp(22px,2.6vw,32px); font-weight: 900; line-height: 1.25; letter-spacing: -.4px; }
.qs_cierre_acciones { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.qs_cierre_acciones a { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 22px; border: 1px solid #ffffff60; border-radius: 12px; font-size: 14px; font-weight: 750; }
.qs_cierre_acciones a:first-child { background: linear-gradient(110deg,#dbf3bd,#9edfc9); border-color: transparent; color: #123c2b; }

/* Foco e interacción */
#qs_pagina a:focus-visible { outline: 3px solid var(--qs-verde-medio); outline-offset: 4px; }
#qs_pagina :is(.qs_intro,.qs_cierre) a:focus-visible { outline-color: #fff; }
@media(hover:hover) {
    #qs_pagina .qs_boton:hover { text-decoration: underline; text-underline-offset: 4px; }
    .qs_historia_texto > a:hover { border-color: var(--qs-verde-medio); }
    .qs_cierre_acciones a:hover { background: rgba(255,255,255,.14); color: #fff; }
    .qs_cierre_acciones a:first-child:hover { background: var(--qs-verde-suave); color: var(--qs-verde-oscuro); }
}
@media(prefers-reduced-motion: reduce) { #qs_pagina * { transition: none!important; animation: none!important; } }

@media(max-width:900px) {
    .qs_valores_grid { grid-template-columns: repeat(2,1fr); }
    .qs_seccion_cabecera { gap: 24px; }
    .qs_cierre, .qs_ubicacion { grid-template-columns: 1fr; }
    .qs_ubicacion_texto { max-width: 720px; }
    .qs_mapa img { max-width: 500px; }
    .qs_cierre_acciones { justify-content: flex-start; }
}
@media(max-width:680px) {
    .qs_contenedor, .qs_publicidad { width: calc(100% - 32px); }
    .qs_intro_cabecera { min-height: 0; padding-block: 44px; }
    .qs_intro_cabecera::before { background: linear-gradient(90deg,rgba(18,63,23,.97),rgba(27,94,32,.82)),url("/static/webapp/images/inicio/imagen_hero_fondo.f06cb4e0ab76.png") center/cover; }
    .qs_intro_acciones { width: 100%; }
    .qs_boton { flex: 1 1 180px; }
    .qs_resumen { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
    .qs_intro { padding-bottom: 32px; }
    .qs_publicidad, .qs_historia, .qs_valores, .qs_proposito, .qs_ubicacion { margin-bottom: 32px; }
    .qs_historia, .qs_valores { padding-block: 22px; }
    .qs_ubicacion { gap: 24px; padding: 28px 22px; border-radius: 18px; }
    .qs_ubicacion h2 br { display: none; }
    .qs_ubicacion_leyenda { grid-template-columns: 1fr; }
    .qs_mapa { padding: 0; }
    .qs_arbol::before { left: 29px; }
    .qs_arbol article { grid-template-columns: 58px minmax(0,1fr); gap: 12px; margin-bottom: 18px; }
    .qs_arbol time { grid-column: 1; width: 56px; height: 56px; margin-top: 10px; font-size: 13px; }
    .qs_arbol article > div, .qs_arbol article:nth-child(even) > div { grid-column: 2; text-align: left; padding: 18px 16px; }
    .qs_seccion_cabecera, .qs_proposito_grid { grid-template-columns: 1fr; gap: 16px; }
    .qs_proposito_grid { gap: 32px; margin-top: 28px; }
    .qs_proposito_card { padding: 24px; }
    .qs_valores_grid { gap: 28px; margin-top: 32px; }
    .qs_valores_grid { grid-template-columns: 1fr; }
    .qs_cierre { gap: 20px; padding: 24px 18px; margin-bottom: 40px; }
    .qs_cierre_acciones a { flex: 1 1 180px; justify-content: center; }
}
