.pagina {
  min-height: 70svh;
  padding: calc(var(--encabezado-alto) + var(--space-5)) var(--margen) var(--space-6);
  background: var(--color-obsidiana);
  color: var(--color-cantera);
}
.pagina > * { max-width: 44rem; }
.pagina .pagina__etiqueta { color: var(--color-piedra); }
.pagina__titulo {
  margin-top: var(--space-2);
  max-width: 14em;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-40);
  line-height: 1.08;
  text-wrap: balance;
}
@media (min-width: 768px) { .pagina__titulo { font-size: var(--text-64); } }
@media (min-width: 1200px) { .pagina__titulo { font-size: var(--text-72); } }

.pagina:is(.pagina--legal, .pagina--talento) .pagina__fecha { margin-top: var(--space-3); font-size: var(--text-16); color: var(--color-piedra); }
.pagina:is(.pagina--legal, .pagina--talento) h2 {
  margin-top: var(--space-5);
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-24);
  line-height: 1.2;
  text-wrap: balance;
}
.pagina:is(.pagina--legal, .pagina--talento) h3 { margin-top: var(--space-4); font-family: var(--font-serif); font-weight: 400; font-size: var(--text-20); line-height: 1.25; }
.pagina:is(.pagina--legal, .pagina--talento) p, .pagina:is(.pagina--legal, .pagina--talento) li { font-size: var(--text-18); line-height: 1.6; color: var(--color-cantera-clara); text-wrap: pretty; }
.pagina:is(.pagina--legal, .pagina--talento) h1 + p, .pagina:is(.pagina--legal, .pagina--talento) h2 + p, .pagina:is(.pagina--legal, .pagina--talento) h3 + p,
.pagina:is(.pagina--legal, .pagina--talento) h2 + ul, .pagina:is(.pagina--legal, .pagina--talento) h2 + ol { margin-top: var(--space-2); }
.pagina:is(.pagina--legal, .pagina--talento) p + p, .pagina:is(.pagina--legal, .pagina--talento) ul + p, .pagina:is(.pagina--legal, .pagina--talento) ol + p { margin-top: var(--space-2); }
.pagina:is(.pagina--legal, .pagina--talento) p + ul, .pagina:is(.pagina--legal, .pagina--talento) p + ol { margin-top: var(--space-1); }
.pagina:is(.pagina--legal, .pagina--talento) ul, .pagina:is(.pagina--legal, .pagina--talento) ol { padding-left: 1.25em; }
.pagina:is(.pagina--legal, .pagina--talento) ul { list-style: square; }
.pagina:is(.pagina--legal, .pagina--talento) li + li { margin-top: var(--space-1); }
.pagina:is(.pagina--legal, .pagina--talento) li::marker { color: var(--color-piedra); }
@media (min-width: 768px) { .pagina:is(.pagina--legal, .pagina--talento) h2 { font-size: var(--text-28); } }
.pagina:is(.pagina--legal, .pagina--talento) strong { font-weight: 600; color: var(--color-cantera); }
.pagina--talento .pagina__titulo + p { margin-top: var(--space-3); }
.pagina__boton { margin-top: var(--space-4); }
@media (max-width: 767px) { .pagina__boton { width: 100%; justify-content: center; padding-inline: var(--space-1); white-space: nowrap; } }

.contacto__titulo {
  margin-top: var(--space-2);
  max-width: 12em;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-48);
  line-height: 1.05;
  text-wrap: balance;
}
@media (min-width: 768px) { .contacto__titulo { font-size: var(--text-72); } }
@media (min-width: 1200px) { .contacto__titulo { font-size: var(--text-96); } }
.contacto__texto { margin-top: var(--space-3); font-size: var(--text-20); line-height: 1.4; color: var(--color-cantera-clara); }
.contacto__selector { margin-top: var(--space-4); justify-content: flex-start; }
.contacto__boton { margin-top: var(--space-4); }
@media (max-width: 767px) { .contacto__boton { width: 100%; justify-content: center; padding-inline: var(--space-1); white-space: nowrap; } }
.contacto__debajo { margin-top: var(--space-3); max-width: 32em; font-size: var(--text-16); line-height: 1.5; color: var(--color-piedra); text-wrap: pretty; }
.contacto .aviso-simplificado { margin-top: var(--space-3); }
.contacto__datos { margin-top: var(--space-4); font-size: var(--text-18); line-height: 1.6; }
.contacto__datos a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 767px) { .contacto__dato { display: block; } .contacto__sep { display: none; } }
.contacto__horario { font-size: var(--text-16); color: var(--color-piedra); }

.selector { display: flex; flex-wrap: wrap; gap: var(--space-1); max-width: 44em; }
.selector[hidden] { display: none; }
.js .contacto__selector[data-selector][hidden] { display: flex; }
.selector__opcion {
  min-height: 44px;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-cantera);
  background: transparent;
  color: var(--color-cantera);
  font-family: var(--font-sans);
  font-size: var(--text-16);
  line-height: 1.2;
  cursor: pointer;
  transition: background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);
}
.selector__opcion[aria-pressed="true"] { background: var(--color-cantera); color: var(--color-obsidiana); }

.donde, .datos { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-superficie-2); }
.donde__titulo, .datos__titulo {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: var(--text-40);
  line-height: 1.08;
}
@media (min-width: 768px) { .donde__titulo, .datos__titulo { font-size: var(--text-56); } }
.donde__frase { margin-top: var(--space-3); max-width: 32em; font-size: var(--text-20); line-height: 1.45; color: var(--color-cantera-clara); text-wrap: pretty; }
.donde .mapa-hidalgo { width: 100%; max-width: 560px; height: auto; margin-top: var(--space-4); }
.donde__leyenda { margin-top: var(--space-3); list-style: none; display: grid; gap: var(--space-1); }
.donde__region { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-18); }
.donde__region .etiqueta { color: var(--color-piedra); }
.donde__region::before {
  content: "";
  flex: none;
  width: 1.1em;
  height: 1.1em;
  border: 1px solid var(--color-cantera);
}
.donde__region--opera:nth-child(1)::before { background: color-mix(in srgb, var(--color-cantera) 90%, var(--color-obsidiana)); }
.donde__region--opera:nth-child(2)::before { background: color-mix(in srgb, var(--color-cantera) 55%, var(--color-obsidiana)); }
.donde__region--opera:nth-child(3)::before { background: color-mix(in srgb, var(--color-cantera) 30%, var(--color-obsidiana)); }
.donde__region--expansion::before { background: repeating-linear-gradient(45deg, var(--color-cantera) 0 1.5px, transparent 1.5px 5px); }
.donde__direccion { margin-top: var(--space-4); font-style: normal; font-size: var(--text-18); line-height: 1.5; }
.donde__llegar { margin-top: var(--space-3); }
.donde__fuente { margin-top: var(--space-4); max-width: 40em; font-size: var(--text-16); line-height: 1.5; color: var(--color-piedra); }

.datos__plegable { margin-top: var(--space-3); }
.datos__resumen {
  display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; cursor: pointer; list-style: none;
  font-size: var(--text-16); font-weight: 500; letter-spacing: var(--espaciado-mayusculas); text-transform: uppercase; color: var(--color-cantera);
}
.datos__resumen::-webkit-details-marker { display: none; }
.datos__resumen::after { content: "+" / ""; flex: none; font-size: var(--text-28); line-height: 1; transition: rotate var(--motion-base) var(--ease-out); }
.datos__plegable[open] .datos__resumen::after { rotate: 45deg; }
.datos__ficha { margin-top: var(--space-4); display: grid; gap: var(--space-1) var(--space-4); }
.datos__ficha dt { margin-top: var(--space-2); font-size: var(--text-16); font-weight: 500; letter-spacing: var(--espaciado-mayusculas); text-transform: uppercase; color: var(--color-piedra); }
.datos__ficha dd { font-size: var(--text-18); line-height: 1.5; color: var(--color-cantera-clara); overflow-wrap: anywhere; }
.datos__ficha dd a { font-size: var(--text-16); }
@media (min-width: 768px) {
  .datos__ficha { grid-template-columns: minmax(0, 14em) minmax(0, 1fr); align-items: baseline; }
  .datos__ficha dt { margin-top: 0; }
}
.datos__subtitulo { margin-top: var(--space-5); font-family: var(--font-serif); font-weight: 400; font-size: var(--text-28); line-height: 1.2; }
.datos__casos { margin-top: var(--space-3); list-style: none; display: grid; gap: var(--space-3); }
.datos__casos li { font-size: var(--text-18); line-height: 1.55; color: var(--color-cantera-clara); }
.datos__casos strong { font-weight: 600; color: var(--color-cantera); }
.datos__fecha { margin-top: var(--space-4); font-size: var(--text-16); color: var(--color-piedra); }

.pagina--404 { display: grid; align-content: center; min-height: 80svh; }
.pagina--404 p { margin-top: var(--space-4); font-size: var(--text-20); }
.pagina--404 a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 767px) {
  .donde__region { flex-wrap: wrap; }
  .donde__region .etiqueta { flex-basis: 100%; padding-left: calc(1.1em + var(--space-2)); }
}
@media (min-width: 768px) {
  .donde__region .etiqueta { white-space: nowrap; }
}

.donde__region--oficina::before { width: 0.7em; height: 0.7em; margin: 0.2em; border-radius: 50%; border-width: 2px; border-color: var(--color-obsidiana); outline: 1px solid var(--color-cantera); background: var(--color-cantera); }

body:has(main.pagina--404) [data-compartir] { display: none; }
