<style>
/* ===== Critical CSS — TextilCort ===== */

/* Reset esencial */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: 'Questrial', Arial, sans-serif;
  font-weight:400;
  line-height:1.6;
}

/* Evitar saltos por fonts */
body.loading * {
  transition: none !important;
  animation: none !important;
}

/* Box model */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Contenedor principal centrado en desktop */
body.contenedor, .contenedor {
  width: 100%;
}
@media (min-width:1280px){
  .contenedor {
    max-width:1280px;
    margin:0 auto;
  }
}

/* Cabecera (estructura + espacio reservado) */
.container-cabecera{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:0;
  min-height:550px;
}
@media (max-width:767.98px){
  .container-cabecera{min-height:500px;}
}

.row-cabecera{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  width:100%;
  max-width:1280px;
  margin:0 auto;
}

/* Títulos de cabecera */
.titulo-cabecera{
  font-family:'corporativa','Trebuchet MS',sans-serif;
  font-size:2em;
  line-height:1.1;
  color:#fff;
}
.texto-cabecera{
  font-family:'questrial',sans-serif;
  font-size:1.4em;
  line-height:1.1;
  color:#fff;
}
@media (max-width:767.98px){
  .titulo-cabecera,.texto-cabecera{text-align:center;padding:0;margin:0;}
}

/* Banner wrapper */
.contenedor-banner{
  width:100%;
  position:relative;
  overflow:hidden;
  aspect-ratio:1536/550;
  background:#f4f4f4;
}

/* Banner image */
.foto-banner{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  aspect-ratio:1536/550;
}

/* Mobile banner */
@media (max-width:767px){
  .contenedor-banner{aspect-ratio:800/500;}
  .foto-banner{aspect-ratio:800/500;}
}

/* Titular principal */
.titulo-pagina h1{
  font-family:'corporativa','Trebuchet MS',sans-serif;
  line-height:1.15;
}

/* Subtítulo + texto sección inicial */
.titulo-pagina p{
  min-height:3.5em; /* evita salto por carga de fuente */
  line-height:1.4;
}
</style>
