@import url("https://use.typekit.net/qvq3lab.css");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: soleil, sans-serif; 
  color: #1f1f1f;
  background: #ffffff;
}

/* =========================================
CONTENIDO INTERIOR / ESTILOS GENERALES
========================================= */

.container{
  max-width: 1124px;
  width: 100%;
  margin: 0 auto;
}

.nowrap{
	white-space:nowrap;
}

.section-content{
  padding-top: 110px;
  padding-right: 20px;
  padding-bottom: 70px;
  padding-left: 20px;
}

.section-header{
  margin-bottom: 34px;
}

.section-title{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 46px;
  line-height: 1.2;
  font-weight: 400;
  color: #ef5a2e;
}

.section-meta{
  margin-top: 10px;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 300;
  color: #7f9aa6;
}

.section-layout{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.section-aside{
  width: 33%;
}

.section-main{
  width: 63%;
}

.section-photo{
  position: relative;
  width: 100%;
  overflow: hidden;
}

.section-photo img{
  display: block;
  width: 100%;
  height: auto;
}

.section-photo-caption{
  position: absolute;
  left: 0;
	right: 0;
	margin: 0 auto;
  bottom: 25px;
  width: 60%;
  font-family: soleil, sans-serif;
  color: #ffffff;
}

.section-photo-caption strong{
  display: block;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
}

.section-photo-caption span{
  display: block;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 400;
}

.section-text p{
  margin: 0 0 22px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 300;
  color: #1f1f1f;
}

.aside-highlight{
  margin-top: 28px;
	margin-bottom: 28px;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  color: #4f7d8f;
}

.signature-block{
  margin-top: 28px;
}

.signature-image{
  max-width: 170px;
  margin-bottom: 14px;
}

.signature-image img{
  display: block;
  width: 100%;
  height: auto;
}

.signature-name{
  font-family: soleil, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: #ef5a2e;
}

.signature-role{
  margin-top: 4px;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.35;
  font-style: italic;
  font-weight: 300;
  color: #4f7d8f;
}

.signature-date{
  margin-top: 10px;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 300;
  color: #1f1f1f;
}

/* =========================================
COLUMNAS GENERALES REUTILIZABLES
========================================= */

.content-cols-2{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.content-cols-2 > *{
  width: calc(50% - 14px);
}

.content-cols-3{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.content-cols-3 > *{
  width: calc(33.333% - 18.7px);
}


/* HEADER FIJO */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  border-bottom: 1px solid #d9d9d9;
  z-index: 9999;
}

.header-inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
  min-height: 75px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.logo {
  flex: 0 0 auto;
  text-decoration: none;
  color: #111111;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1.1;
}
.logo img{
  max-width: 80px;
}

/* NAV DESKTOP */
.main-nav {
  flex: 1 1 auto;
}

.menu {
  list-style: none;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0;
}

.menu a.active{
	color:#1c3f52;
	font-weight:600;
	background: #f4f4f4;
}


.menu-item {
  position: relative;
  display: flex;
  align-items: stretch;
}

.menu-item > a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-align: center;
  text-decoration: none;
  color: #567482;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.25;
  padding: 14px 12px;
  min-height: 75px;
  max-width: 170px;
  transition: background 0.3s ease, color 0.3s ease;
  word-break: normal;
}

.menu-item.has-submenu > a {
  gap: 0px;
}

.menu-text {
  display: block;
}

.menu-arrow {
  display: block;
  width: 10px;
  height: 10px;
  position: relative;
}

.menu-arrow::before {
  content: "▾";
  display: block;
  font-size: 9px;
  line-height: 1;
  color: #4d6675;
  text-align: center;
}

/* Cuando el submenu está muy a la derecha, abrirlo hacia la izquierda */
.menu-item:last-child > .submenu,
.menu-item:nth-last-child(2) > .submenu {
  left: auto;
  right: 0;
}

.menu-item > a:hover {
  background: #f4f4f4;
  color: #000000;
}

/* SUBMENÚ DESKTOP */
.submenu {
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 280px;
  max-width: 340px;
  background: #ffffff;
  border: 1px solid #dddddd;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  display: none;
  z-index: 1000;
}

.submenu li {
  border-bottom: 1px solid #eeeeee;
}

.submenu li:last-child {
  border-bottom: none;
}

.submenu a {
  display: block;
  text-decoration: none;
  color: #567482;
  font-size: 11px;
  line-height: 1.35;
  padding: 14px 18px;
  transition: background 0.3s ease;
}

.submenu a:hover {
  background: #f7f7f7;
}

/* Mostrar submenú en desktop con hover */
.menu-item.has-submenu:hover > .submenu {
  display: block;
}

/* BOTÓN HAMBURGUESA */
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  flex: 0 0 auto;
  padding: 0;
}

.menu-toggle span {
  position: absolute;
  left: 10px;
  width: 26px;
  height: 2px;
  background: #ef5a2e;
  transition: transform 0.35s ease, opacity 0.25s ease, top 0.35s ease;
}

.menu-toggle span:nth-child(1) {
  top: 14px;
}

.menu-toggle span:nth-child(2) {
  top: 22px;
}

.menu-toggle span:nth-child(3) {
  top: 30px;
}

/* Animación a X */
.menu-toggle.active span:nth-child(1) {
  top: 22px;
  transform: rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  top: 22px;
  transform: rotate(-45deg);
}

/* Espacio por header fijo */
.page-content {
  padding-top: 120px;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.page-content section {
  padding: 40px 0;
}

.page-content h1 {
  font-size: 32px;
  margin-bottom: 20px;
}

.page-content p {
  font-size: 16px;
  line-height: 1.6;
}


/* =========================================
PORTADA / HERO
========================================= */

.hero-cover{
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #ece5de;
  font-family: soleil, sans-serif;
}

/* Fondo principal */

.hero-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-bg img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Tarjetas flotantes */

.hero-card{
  position: absolute;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
  z-index: 2;
}

.hero-card img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Posiciones desktop */

.hero-card-1{
  top: 9%;
  left: 0;
  width: 25%;
  height: 25%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.hero-card-2{
  top: 38%;
  left: 0%;
  width: 20%;
  height: 20%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.hero-card-3{
  top: 9%;
  right: 18%;
  width: 20%;
  height: 20%;
}

.hero-card-4{
  top: 12%;
  right: 0;
  width: 16%;
  height: 28%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.hero-card-5{
  top: 44%;
  right: 2%;
  width: 15%;
  height: 22%;
}

.hero-card-6{
  left: 0;
  bottom: 16%;
  width: 15%;
  height: 22%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

/* Contenido */

.hero-content{
  position: relative;
  z-index: 4;
  width: 100%;
  min-height: 100vh;
}

/* Bloque de textos */

.hero-title-wrap{
  position: absolute;
  left: 23%;
  bottom: 10%;
  width: 56%;
}

.hero-title{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 7.6vw;
  line-height: 0.98;
  font-weight: 800;
  color: #ffffff;
	text-shadow: 0px 0px 11px rgba(99,65,48,0.7);
}
.hero-title .char{
  display: inline-block;
  vertical-align: top;
  transform-origin: 50% 100%;
  will-change: transform, opacity;
}

.hero-subtitle{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 5.2vw;
  line-height: 1;
  font-weight: 700;
  color: #d2232a;
  letter-spacing: -0.03em;
}

.hero-kicker{
  margin: 22px 0 0 0;
  font-family: soleil, sans-serif;
  font-size: 1.3vw;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 1px;
  color: #585653;
	text-align: center;
}

/* Logo */

.hero-brand{
  position: absolute;
  right: 3%;
  bottom: 10%;
  width: 16%;
  max-width: 250px;
}

.hero-brand img{
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
CARTA A LOS ACCIONISTAS
========================================= */

.section-letter{
  background: #ffffff;
}

.letter-aside{
  padding-top: 6px;
}

.letter-photo{
  background: #f3f3f3;
}

.letter-main{
  padding-top: 0;
}

/* =========================================
ANIMACIONES / CARTA A LOS ACCIONISTAS
========================================= */

.section-title-mask{
  display: block;
  overflow: hidden;
}

.js-letter-title,
.js-letter-meta,
.js-photo-caption,
.js-letter-highlight,
.js-letter-signature,
.js-letter-paragraph{
  will-change: transform, opacity;
}

.js-photo-reveal{
  overflow: hidden;
}

.js-photo-image{
  will-change: transform, opacity;
  transform-origin: center center;
}

/* =========================================
SOBRE GRUPO LAMOSA
ESTILOS ESPECFICOS
========================================= */

.section-about-lamosa{
  background: #ffffff;
}

/* -----------------------------------------
PANEL INTRODUCTORIO
----------------------------------------- */

.about-intro-panel{
  	background: #F7F3ED;
	background: -webkit-linear-gradient(0deg, rgba(247, 243, 237, 1) 0%, rgba(247, 243, 237, 1) 9%, rgba(255, 255, 255, 1) 100%);
	background: -moz-linear-gradient(0deg, rgba(247, 243, 237, 1) 0%, rgba(247, 243, 237, 1) 9%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(0deg, rgba(247, 243, 237, 1) 0%, rgba(247, 243, 237, 1) 9%, rgba(255, 255, 255, 1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#F7F3ED", endColorstr="#FFFFFF", GradientType=0);
  /*border-radius: 0 0 18px 18px;*/
  padding: 34px 34px 30px 34px;
}

.about-intro-cols{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.about-intro-col{
  width: 47.5%;
}

.about-intro-col p{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  color: #1f1f1f;
}

.about-intro-col p:last-child{
  margin-bottom: 0;
}

/* -----------------------------------------
TARJETAS / MISIÓN - VISIÓN - VALORES
----------------------------------------- */

.about-cards{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  margin-top: 0;
  padding-top: 22px;
}

.about-card{
  width: 31.5%;
  background: #ffffff;
  padding: 26px 24px 24px 24px;
  border-top: 3px solid #ef5a2e;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.about-card-title{
  margin: 0 0 12px 0;
  font-family: soleil, sans-serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
  color: #ef5a2e;
}

.about-card p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  color: #1f1f1f;
}

.about-card-values-text{
  font-weight: 600 !important;
  color: #78909b !important;
	font-size: 17px !important;
}
.about-card-values-text span{
	color:#87162e;
}

/* -----------------------------------------
BLOQUE DESTACADO / IDENTIDAD
----------------------------------------- */

.about-identity{
  margin-top: 34px;
  background: #5f8596;
  padding: 28px 30px;
  text-align: center;
}

.about-identity p{
  margin: 0 auto;
	width: 100%;
	max-width: 750px;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 300;
  color: #ffffff;
}

/* -----------------------------------------
IMAGEN INFERIOR
----------------------------------------- */

.about-image{
  width: 100%;
  overflow: hidden;
}

.about-image img{
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
ANIMACIONES / SOBRE GRUPO LAMOSA
========================================= */

.section-title-mask{
  display: block;
  overflow: hidden;
}

.js-about-title,
.js-about-meta,
.js-about-intro-col,
.js-about-card,
.js-about-identity{
  will-change: transform, opacity;
}

.js-about-image-reveal{
  overflow: hidden;
  will-change: clip-path;
}

.js-about-image{
  will-change: transform, opacity;
  transform-origin: center center;
}

/* =========================================
PRESENCIA Y NEGOCIOS
ESTILOS ESPECÍFICOS
========================================= */

.section-presence-business{
  background: #ffffff;
}

/* =========================================
PRESENCIA Y NEGOCIOS / BLOQUE 2
========================================= */

.presence-layout{
  margin-top: 30px;
}

/* banda introductoria */

.presence-intro-band{
  background:#5f8596;
  padding:22px 28px;
  max-width:720px;
	width: 100%;
}

.presence-intro-band p{
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1.5;
	font-weight: 300;
}

/* layout principal */

.presence-content{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-top:0px;
}

/* =========================================
MAPA PRESENCIA
========================================= */
.presence-map{width: 50%;}

.presence-map-stage{
  position:relative;
  width:100%;
}

.map-layer{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:auto;
}

.map-bg{
  position:relative;
}

.indicadores{
	position:absolute;
	bottom:0;
	left:10px;
}

.indicadores tr td{
	color:#567482;
	font-weight: 300;
	font-size: 12px;
	line-height: 1.1;
}
.indicadores span{
	display: block;
	width: 7px;
	height: 7px;
	margin: 2px 5px 0 0;
	border-radius: 50%;
}
.indicadores table tr td:first-child{
	vertical-align:top;
}
.indicadores table tr:first-child td:first-child span{background: #b83b40;}
.indicadores table tr:nth-child(2) td:first-child span{background: #cf6130;}
.indicadores table tr:nth-child(3) td:first-child span{background: #fbb62f;}
.indicadores table tr:nth-child(4) td:first-child span{background: #564c8a;}

/* =========================================
ANIMACIONES / PRESENCIA Y NEGOCIOS
SOPORTE MAPA Y TABS
========================================= */

.presence-map-stage{
  position: relative;
}

.map-layer{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.map-bg{
  position: relative;
}

.map-bg,
.map-points,
.map-labels,
.map-focus,
.presence-intro-band,
.presence-business-tabs,
.presence-tabs-nav,
.presence-panel{
  will-change: transform, opacity;
}

/* =========================================
PRESENCIA Y NEGOCIOS
TABS / ESTILOS ESPECÍFICOS DEL CONTENIDO
========================================= */

.presence-business-tabs{
  width: 42%;
}

/* -----------------------------------------
ÁREA DE CONTENIDO DEL PANEL
----------------------------------------- */

.presence-tabs-content{
  width: 50%;
}

.presence-panel{
  min-height: 100%;
}

.presence-panel-header{
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d7d7d7;
}

.presence-panel-title{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
  text-transform: uppercase;
}

/* Colores por negocio */
.presence-panel-revestimientos .presence-panel-title{
  color: #d2232a;
}

.presence-panel-adhesivos .presence-panel-title{
  color: #ef5a2e;
}

.presence-panel-aislantes .presence-panel-title{
  color: #fbb62f;
}

/* -----------------------------------------
INTRO DEL PANEL
----------------------------------------- */

.presence-panel-intro{
  margin-bottom: 22px;
}

.presence-panel-intro p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  color: #1f1f1f;
  text-align: center;
}

/* -----------------------------------------
CUERPO DEL PANEL
----------------------------------------- */

.presence-panel-body{
  width: 100%;
}

.presence-panel-group{
  margin-bottom: 18px;
}

.presence-panel-group:last-child{
  margin-bottom: 0;
}

.presence-group-title{
  position: relative;
  margin: 0 0 8px 0;
  padding-left: 22px;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
}

.presence-group-title::before{
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
}

/* Color bullets por negocio */
.presence-panel-revestimientos .presence-group-title{
  color: #d2232a;
}

.presence-panel-revestimientos .presence-group-title::before{
  background: #d2232a;
}

.presence-panel-adhesivos .presence-group-title{
  color: #ef5a2e;
}

.presence-panel-adhesivos .presence-group-title::before{
  background: #ef5a2e;
}

.presence-panel-aislantes .presence-group-title{
  color: #fbb62f;
}

.presence-panel-aislantes .presence-group-title::before{
  background: #fbb62f;
}

.presence-panel-group p{
  margin: 0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 300;
  color: #1f1f1f;
}

.presence-panel-group p:last-child{
  margin-bottom: 0;
}

.presence-strong-data{
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700 !important;
  color: #1f1f1f;
}

/* -----------------------------------------
VENTAS
----------------------------------------- */

.presence-sales{
  margin-top: 30px;
}

.presence-sales-title{
  margin-bottom: 12px;
  font-family: soleil, sans-serif;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 400;
  color: #5f8596;
  text-transform: uppercase;
}

.presence-sales-chart img{
  display: block;
  width: 100%;
  max-width: 310px;
  height: auto;
}

/* -----------------------------------------
AJUSTES VISUALES DE NAVEGACIÓN EN ESTA SECCIÓN
Estos sobreescriben el look base de tabs.css
----------------------------------------- */

.presence-tabs-nav{
  margin-bottom: 18px;
}

.presence-tabs-nav .tab-btn{
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* =========================================
HITOS DE GRUPO LAMOSA
TIMELINE HORIZONTAL CON FLECHAS
========================================= */

.section-milestones{
  background: linear-gradient(180deg, #eef2f4 0%, #dbe3e7 100%);
}

/* -----------------------------------------
ENCABEZADO
----------------------------------------- */

.milestones-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.milestones-header-left{
  width: 38%;
}

.milestones-header-right{
  width: 56%;
  padding-top: 8px;
}

.milestones-intro{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 400;
  color: #5f8596;
  text-align: right;
}

/* -----------------------------------------
SLIDER WRAP
----------------------------------------- */

.milestones-slider{
  position: relative;
  margin-top: 42px;
}

.milestones-viewport{
  overflow: hidden;
  width: 100%;
}

.milestones-track{
  position: relative;
  display: flex;
  align-items: flex-start;
  min-width: max-content;
  padding: 34px 0 24px 0;
  transition: transform 0.5s ease;
}

.milestones-horizontal-line{
	display: none;
  position: absolute;
  top: 204px;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(95, 133, 150, 0.28);
}

/* -----------------------------------------
FADES LATERALES
AJUSTADOS AL ALTO DEL BLOQUE DE HITOS
----------------------------------------- */

.milestones-fade{
  position: absolute;
  top: 34px;
  height: 340px;
  width: 56px;
  z-index: 4;
  pointer-events: none;
}

.milestones-fade-left{
  left: 0;
  background: linear-gradient(90deg, #e7edf0 0%, rgba(231, 237, 240, 0) 100%);
}

.milestones-fade-right{
  right: 0;
  background: linear-gradient(270deg, #e7edf0 0%, rgba(231, 237, 240, 0) 100%);
}

/* -----------------------------------------
FLECHAS DEL SLIDER
----------------------------------------- */

.milestones-arrow{
  position: absolute;
  top: 204px;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: none;
  border-radius: 50%;
  background: rgba(95, 133, 150, 0.92);
  cursor: pointer;
  z-index: 6;
  transition: background 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

.milestones-arrow:hover{
  background: rgba(79, 111, 125, 0.95);
}

.milestones-arrow:disabled{
  opacity: 0.35;
  cursor: default;
}

.milestones-arrow-prev{
  left: -18px;
}

.milestones-arrow-next{
  right: -18px;
}

.milestones-arrow span{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.milestones-arrow-prev span{
  transform: translate(-35%, -50%) rotate(-135deg);
}

.milestones-arrow-next span{
  transform: translate(-65%, -50%) rotate(45deg);
}

/* -----------------------------------------
CARD
----------------------------------------- */

.milestone-horizontal-card{
  position: relative;
  width: 260px;
  margin-right: 28px;
  flex: 0 0 auto;
  z-index: 2;
}

.milestone-horizontal-card-last{
  margin-right: 0;
}

.milestone-horizontal-inner{
  background: rgba(255, 255, 255, 0.20);
  border: 4px solid #ffffff;
  min-height: 340px;
  padding: 18px 18px 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* -----------------------------------------
AÑO
----------------------------------------- */

.milestone-horizontal-year{
  margin-bottom: 12px;
  font-family: soleil, sans-serif;
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
  color: #4f4c8b;
  text-align: center;
}

/* -----------------------------------------
TEXTO
----------------------------------------- */

.milestone-horizontal-text{
  margin-bottom: 18px;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.38;
  font-weight: 300;
  color: #1f1f1f;
  text-align: center;
}

/* -----------------------------------------
IMAGEN / LOGO
----------------------------------------- */

.milestone-horizontal-media{
  width: 100%;
  margin-top: auto;
}

.milestone-horizontal-media img{
  display: block;
  width: 100%;
  height: auto;
}

/* -----------------------------------------
FLECHA ENTRE CARDS
AL CENTRO DEL CUADRO
----------------------------------------- */

.milestone-arrow{
  position: absolute;
  top: 150px;
  right: -25px;
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 20px solid rgba(255, 255, 255, 0.95);
  z-index: 3;
}

/* =========================================
ANIMACIONES / HITOS DE GRUPO LAMOSA
========================================= */

.section-title-mask{
  display: block;
  overflow: hidden;
}

.js-milestones-title,
.js-milestones-meta,
.js-milestones-intro,
.js-milestone-card,
.js-milestones-arrow{
  will-change: transform, opacity;
}

.js-milestones-line{
  transform-origin: left center;
  will-change: transform, opacity;
}


/* =========================================================
   PRIORIDADES ESTRATÉGICAS
========================================================= */

.strategic-priorities{
  position: relative;
  background: #ffffff;
}

.strategic-priorities__header{
  margin-bottom: 34px;
}

/* Mask del título para animación */
.section-title-mask{
  display: block;
  overflow: hidden;
}

/* =========================
   INTRO
========================= */

.strategic-priorities__intro{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 42px;
}

.strategic-priorities__intro-col{
  width: 48%;
}

.strategic-priorities__lead,
.strategic-priorities__highlight{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.5;
}

.strategic-priorities__lead{
  font-weight: 300;
  color: #567482;
}

.strategic-priorities__highlight{
  font-weight: 700;
  color: #567482;
}

/* =========================
   GRID GENERAL
========================= */

.strategic-priorities__grid{
  display: flex;
  flex-direction: column;
  gap: 56px;
}

/* =========================
   BLOQUES
========================= */

.priority-block{
  position: relative;
}

.priority-block__header{
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.priority-block__number{
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: soleil, sans-serif;
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.priority-block__heading{
  flex: 1 1 auto;
  padding-top: 6px;
}

.priority-block__title{
  margin: 0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: #d2232a;
}

.priority-block__description{
  max-width: 760px;
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
}

/* =========================
   TEMAS DE COLOR
========================= */

.priority-block--cyan .priority-block__number{
  background: #85c4c9;
}

.priority-block--sage .priority-block__number{
  background: #bcccb3;
}

.priority-block--lavender .priority-block__number{
  background: #8a85ae;
}

.priority-block--sand .priority-block__number{
  background: #e3d7c2;
}

/* =========================
   CARDS
========================= */

.priority-block__cards{
  display: grid;
  gap: 5px;
}

.priority-block__cards--2{
  grid-template-columns: repeat(2, 2fr);
}

.priority-block__cards--3{
  grid-template-columns: repeat(3, 1fr);
}

.priority-block__cards--4{
  grid-template-columns: repeat(4, 1fr);
}

.priority-card{
  min-height: 100%;
  padding: 24px 18px 22px 18px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.8);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.priority-card:last-child{
  border-right: none;
}

.priority-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.priority-card__title{
  max-width: 220px;
  margin: 0 auto 14px auto;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #000000;
}

.priority-card__icon{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  margin-bottom: 14px;
}

.priority-card__icon img{
  display: block;
  max-width: 86px;
  max-height: 86px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.priority-card__text{
  max-width: 250px;
  margin: 0 auto;
  font-family: soleil, sans-serif;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
}

.priority-card__text strong{
  font-weight: 700;
}

/* Fondos */
.priority-card--cyan{
background: rgba(133, 196, 201, 0.39);
background: -webkit-linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#85C4C963", endColorstr="#FFFFFF", GradientType=0);
}

.priority-card--sage{
  background: #BCCCB3;
background: -webkit-linear-gradient(0deg, rgba(188, 204, 179, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(188, 204, 179, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(188, 204, 179, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#BCCCB3", endColorstr="#FFFFFF", GradientType=0);
}

.priority-card--lavender{
background: rgba(79, 92, 214, 3.04);
background: -webkit-linear-gradient(0deg, rgba(79, 92, 214, 0.24) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(79, 92, 214, 0.24) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(79, 92, 214, 0.24) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4F5CD6", endColorstr="#FFFFFF", GradientType=0);
}

.priority-card--sand{
  background: #FBB62F;
background: -webkit-linear-gradient(0deg, rgba(251, 182, 47, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(251, 182, 47, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(251, 182, 47, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FBB62F", endColorstr="#FFFFFF", GradientType=0);
}

/* =========================================================
   DESEMPEÑO FINANCIERO
========================================================= */

.financial-performance .section-content{
	padding-bottom:30px !important;
}

.financial-performance{
  position: relative;
  background: #ffffff;
}

.financial-performance__header{
  margin-bottom: 34px;
}

.section-title-mask{
  display: block;
  overflow: hidden;
}

/* =========================
   LAYOUTS INTERNOS
========================= */

.financial-performance__layout{
  margin-bottom: 70px;
}

.financial-performance__layout:last-child{
  margin-bottom: 0;
}

.financial-performance__aside--gradient{
  padding: 34px 32px 36px 32px;
  background: #567482;
background: -webkit-linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(173, 188, 194, 0.1) 55%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(173, 188, 194, 0.1) 55%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(173, 188, 194, 0.1) 55%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#567482", endColorstr="#FFFFFF", GradientType=0);
}

.financial-performance__highlight-block{
  margin-top: 26px;
}

.financial-performance__subheading{
  margin: 0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
  color: #d2232a;
}

.financial-performance__highlight-block p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
}

/* =========================
   TABLA
========================= */

.financial-table-wrap{
  width: 100%;
}

.financial-table__head{
  margin-bottom: 10px;
}

.financial-table__title{
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #ef5a2e;
  text-transform: uppercase;
}

.financial-table__subtitle{
  margin-top: 2px;
  font-family: soleil, sans-serif;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 300;
  color: #1f1f1f;
}

.financial-table-scroll{
  width: 100%;
}

.financial-table{
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  background: linear-gradient(180deg, #f4f1ec 0%, #ece8e2 100%);
}

.financial-table sup{
	font-size:10px;
}

.financial-table th,
.financial-table td{
  padding: 7px 10px;
  border-bottom: 1px solid #7a97a3;
  font-family: soleil, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  color: #1f1f1f;
  transition: background 0.25s ease, color 0.25s ease;
	text-align: center;
	font-weight: 300;
}

.financial-table thead th{
  font-weight: 700;
  text-align: center;
  color: #1c3f52;
  border-bottom: 2px solid #7a97a3;
	background: #ffffff;
}

.financial-table thead th:first-child{
  text-align: left;
background: #ffffff;
	border-bottom: 0;
	border-top: 0;
}

.financial-table td:first-child{
  width: 38%;
  font-weight: 400;
	background: #ffffff;
	text-align: left;
}
.financial-table .financial-table__section-row td{
  font-weight: 700;
}

.financial-table .is-current{
  background: #fee9c1;
  font-weight: 400;
}

.financial-table th.is-current{
  font-weight: 700;
}

.financial-table__section-row td{
  padding-top: 10px;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #000000;
}

/* Hover fuerte y elegante */
.financial-table tbody tr:not(.financial-table__section-row):hover td{
  background: #355f70;
  color: #ffffff;
}

.financial-table tbody tr:not(.financial-table__section-row):hover td.is-current{
  background: #ef5a2e;
  color: #ffffff;
}

.financial-table__notes{
  margin-top: 12px;
}

.financial-table__notes p{
  margin: 0 0 2px 0;
  font-family: soleil, sans-serif;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 300;
  color: #1f1f1f;
}

/* =========================================================
   DESEMPEÑO FINANCIERO / BLOQUE 2 Y 3
========================================================= */

/* =========================
   BLOQUE DE GRÁFICAS
========================= */

.financial-charts-section{
  margin-bottom: 70px;
}

.financial-charts-scroll{
  width: 100%;
  overflow: visible;
  padding-bottom: 0;
}

.financial-charts-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
}

.chart-card{
  width: calc(16.666% - 14px);
  min-width: 0;
}

.chart-card__head{
  min-height: 52px;
  margin-bottom: 10px;
  text-align: center;
}

.chart-card__title{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 700;
  color: #2f6678;
}

.chart-card__unit{
  display: block;
  margin-top: 3px;
  font-family: soleil, sans-serif;
  font-size: 11px;
  line-height: 1.15;
  font-weight: 300;
  color: #4f7d8f;
}

/* Caja degradada igual para todas */
.chart-card__box{
  padding: 35px 12px 14px 12px;
  background: #FFFFFF;
background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(227, 215, 194, 0.3) 100%);
background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(227, 215, 194, 0.3) 100%);
background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(227, 215, 194, 0.3) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#E3D7C2", GradientType=0);
}

.chart-card__plot{
  position: relative;
  height: 280px;
	max-width: 250px;
  margin: 0 auto;
}

.chart-card__bars{
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 14px;
  padding-top: 30px;
  padding-bottom: 26px;
}

.chart-bar{
  position: relative;
  width: calc(20% - 12px);
  height: 100%;
}

.chart-bar__fill{
  position: absolute;
  left: 0;
  bottom: 26px;
  width: 100%;
  height: 0;
  min-height: 0;
  transform-origin: bottom center;
}

.chart-bar__value{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: soleil, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  color: #314550;
  opacity: 0;
  pointer-events: none;
}

.chart-bar__year{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  font-family: soleil, sans-serif;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  color: #5f7d8a;
}

.chart-bar--current .chart-bar__year{
  color: #ef5a2e;
}
.chart-bar--current .chart-bar__value{
	font-weight:700;
}

/* Colores de barras */
.chart-bar__fill--peach-light{ background: #efcfb1; }
.chart-bar__fill--peach-strong{ background: #ef9a58; }

.chart-bar__fill--yellow-light{ background: #eadfae; }
.chart-bar__fill--yellow-strong{ background: #e9ce57; }

.chart-bar__fill--salmon-light{ background: #e7b39a; }
.chart-bar__fill--salmon-strong{ background: #dd6d3c; }

.chart-bar__fill--rose-light{ background: #dda5a5; }
.chart-bar__fill--rose-strong{ background: #c83f48; }

.chart-bar__fill--mauve-light{ background: #c9a8a3; }
.chart-bar__fill--mauve-strong{ background: #9b4b43; }
.chart-bar__fill--mauve-negative{ background: #b27777; }

.chart-bar__fill--blue-light{ background: #afbdc3; }
.chart-bar__fill--blue-strong{ background: #5b7480; }

/* =========================
   GRÁFICA MIXTA / NEGATIVO
========================= */

.chart-card__plot--mixed{
  height: 280px;
}

.chart-card__bars--mixed{
  padding-top: 28px;
  padding-bottom: 26px;
}

.chart-card__bars--mixed::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 44px;
  height: 1px;
  background: rgba(79, 68, 68, 0.18);
}

.chart-card__bars--mixed .chart-bar__fill{
  bottom: 44px;
}

.chart-card__bars--mixed .chart-bar--negative .chart-bar__fill{
  bottom: auto;
  top: calc(100% - 44px);
  min-height: 8px;
  transform-origin: top center;
}

/*.chart-card__bars--mixed .chart-bar--negative .chart-bar__value{
  color: #8b3f3f;
}*/
/* =========================
   BLOQUE FINAL / ANÁLISIS
========================= */

.financial-performance__layout--analysis{
  margin-bottom: 0;
}

.financial-performance__analysis-main{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.financial-performance__image{
  width: 100%;
  flex: 0 0 36%;
  overflow: hidden;
	margin-top: 30px;max-width: 350px;
}

.financial-performance__image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.financial-performance__analysis-copy{
  width: calc(95% - 28px);
}

.financial-performance__analysis-text{
  width: 100%;
}

.financial-performance__analysis-text--full{
  max-width: 100%;
}

.financial-performance__analysis-title{
  margin: 0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  color: #d2232a;
}

.financial-performance__analysis-text p{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
}

/* =========================
   DASHBOARD
========================= */

.financial-dashboard{
  background: #4a7a89;
  padding: 22px 18px 22px 18px;
  color: #ffffff;
}

.financial-dashboard__inner{
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.financial-dashboard__module{
  width: 100%;
  position: relative;
}

.financial-dashboard__module--debt{
  padding-top: 6px;
}

.financial-dashboard__mini-chart--debt{
  position: relative;
}

.financial-dashboard__overlay-line{
  position: absolute;
  top: 88px;
  left: 0;
	right: 0;
	margin: 0 auto;
  width: 95%;
  z-index: 4;
  pointer-events: none;
}

.financial-dashboard__overlay-line img{
  display: block;
  width: 100%;
  height: auto;
}

.financial-dashboard__overlay-line img{
  display: block;
  width: 100%;
  height: auto;
}

/* Mini charts */
.financial-dashboard__mini-chart{
  position: relative;
  height: 180px;
}

.financial-dashboard__mini-chart--debt{
  margin-top: 0;
}

.financial-dashboard__mini-chart--short{
  height: 168px;
}

.mini-bars{
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  padding-top: 36px;
  padding-bottom: 20px;
}

.mini-bar{
  position: relative;
  flex: 1 1 auto;
  height: 100%;
}

.mini-bar__fill{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  width: 64%;
  height: 0;
  max-height: calc(100% - 34px);
  min-height: 0;
  transform-origin: bottom center;
}

.mini-bar__value{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: soleil, sans-serif;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
  opacity: 0;
  pointer-events: none;
}

.mini-bar__year{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  font-family: soleil, sans-serif;
  font-size: 9px;
  line-height: 1;
  font-weight: 700;
  color: rgba(255,255,255,0.95);
}

/* Colores */
.mini-bars--debt .mini-bar__fill{
  background: #d9745d;
}

.mini-bars--debt .mini-bar--current .mini-bar__fill{
  background: #ff6b2d;
}

.mini-bars--profile .mini-bar__fill{
  background: #d9745d;
}

.mini-bars--profile .mini-bar--current .mini-bar__fill{
  background: #ff6b2d;
}

/* Títulos más cerca */
.financial-dashboard__caption{
  margin-top: 8px;
  text-align: center;
}

.financial-dashboard__caption h4{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 700;
  color: #ffffff;
}

.financial-dashboard__caption span{
  display: block;
  margin-top: 3px;
  font-family: soleil, sans-serif;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 300;
  color: #ffffff;
}

/* =========================================
SECCIÓN / DESEMPEÑO OPERATIVO
========================================= */

.section-operativo.section-content{
	padding-top:30px !important;
}

.section-operativo{
  background: #ffffff;
}

.operativo-block{
  margin-bottom: 70px;
}

.operativo-block:last-child{
  margin-bottom: 0;
}

.operativo-layout{
  align-items: flex-start;
}

/* =========================
COLUMNA VISUAL
========================= */

.operativo-side{
  width: 30%;
}

.operativo-kpi{
  background: #4f7d8f;
  padding: 20px 18px 22px 18px;
  text-align: center;
  color: #ffffff;
}

.operativo-kpi-label{
  font-family: soleil, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  color: #ffffff;
}

.operativo-kpi-growth{
  margin-top: 8px;
  font-family: soleil, sans-serif;
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.operativo-kpi-chart{
  margin: 18px auto 16px auto;
  max-width: 124px;
}

.operativo-kpi-bars{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 20px;
  height: 190px;
}

.operativo-kpi-bar{
  position: relative;
  width: 22px;
  padding-top: 26px;
  padding-bottom: 22px;
}

.operativo-kpi-fill{
  position: absolute;
  left: 0;
  bottom: 22px;
  width: 100%;
}

.operativo-kpi-bar--prev .operativo-kpi-fill{
  height: 118px;
  background: #d7775e;
}

.operativo-kpi-bar--current .operativo-kpi-fill{
  height: 142px;
  background: #ff6b2d;
}

.operativo-kpi-value{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: soleil, sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.operativo-kpi-bar--prev .operativo-kpi-value{
  bottom: 145px;
}

.operativo-kpi-bar--current .operativo-kpi-value{
  bottom: 169px;
}

.operativo-kpi-year{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  color: #ffffff;
}

.operativo-kpi-caption strong{
  display: block;
  font-family: soleil, sans-serif;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 700;
  color: #ffffff;
}

.operativo-kpi-caption span{
  display: block;
  margin-top: 4px;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 300;
  color: #ffffff;
}

/* =========================
IMÁGENES
========================= */

.operativo-image{
  margin-top: 18px;
}

.operativo-image img{
  display: block;
  width: 100%;
  height: auto;
}

.operativo-image--stack{
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* =========================
COLUMNA DE TEXTO
========================= */

.operativo-main{
  width: 66%;
}

.operativo-title{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 700;
  color: #d2232a;
}

.operativo-text{
  max-width: 100%;
}

.operativo-text p{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  color: #1f1f1f;
}

.operativo-image-item{
  position: relative;
  overflow: hidden;
}

.operativo-image-item img{
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1.08);
  will-change: transform;
}

/* =========================================
SECCIÓN / GOBIERNO CORPORATIVO
========================================= */

.section-gobierno{
  background: #ffffff;
}

/* =========================
BLOQUE 1 / INTRO
========================= */

/* =========================
BLOQUE 1 / INTRO
========================= */

/* =========================
BLOQUE 1 / INTRO
========================= */

.gobierno-intro{
  margin-bottom: 64px;
}

.gobierno-intro-cols{
  align-items: flex-start;
  justify-content: space-between;
  gap: 34px;
}

.gobierno-intro-col{
  width: calc(50% - 17px);
}

.gobierno-subtitle{
  margin: 0 0 2px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  color: #d2232a;
}

.gobierno-submeta{
  margin: 0 0 10px 0 !important;
  font-family: soleil, sans-serif;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 300 !important;
  color: #7f9aa6 !important;
}

.gobierno-mini-title{
  margin: 0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #1f1f1f;
}

.gobierno-highlight{
  margin-bottom: 38px;
  padding-top: 2px;
}

.gobierno-highlight p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  color: #4f7d8f;
	text-align: right;
}

.gobierno-highlight strong{
  color: #4f7d8f;
  font-weight: 700;
}

.gobierno-notes-grid{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin-top: 18px;
}

.gobierno-notes-col{
  width: calc(50% - 14px);
}

.gobierno-note-title{
  margin: 0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #1f1f1f;
}

.gobierno-notes-col p,
.gobierno-committees p{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  color: #1f1f1f;
}

.gobierno-bullets{
  margin: 2px 0 0 18px;
  padding: 0;
}

.gobierno-bullets li{
  margin: 0 0 16px 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
  color: #1f1f1f;
}

.gobierno-bullets li:last-child{
  margin-bottom: 0;
}

.gobierno-footnote{
  margin-top: 24px !important;
  font-family: soleil, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-style: italic !important;
  font-weight: 300 !important;
  color: #4f7d8f !important;
}

.section-text em{
  font-style: italic;
}

.section-text sup{
  font-size: 10px;
  line-height: 1;
}

/* =========================
BLOQUE 2 / TABLA
========================= */

.gobierno-table-block{
  margin-bottom: 56px;
}

.gobierno-table-title{
  margin: 0 0 20px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 700;
  color: #d2232a;
}

.gobierno-table-wrap{
  width: 100%;
}

.gobierno-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.gobierno-table th,
.gobierno-table td{
  border: 1px solid rgba(20, 20, 20, 0.78);
  padding: 6px 6px;
  vertical-align: middle;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.15;
  color: #1f1f1f;
  
}
.gobierno-table .gray-celda td{background: #f9f7f3;}

.gobierno-table th{
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.05;
  color: #1f1f1f;
  padding-top: 8px;
  padding-bottom: 8px;
}

.gobierno-table th:nth-child(5), .gobierno-table th:nth-child(6){
	color:#567482;
}

.gobierno-table .gray-celda td:nth-child(5), .gobierno-table .gray-celda td:nth-child(6){
	background:#ffffff;
}

.gobierno-table th:first-child{
  text-align: left;
}

.gobierno-table th span{
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.1;
  font-weight: 300;
  color: #6b97a7;
}

.gobierno-table td strong{
  display: block;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 700;
  color: #564c8a;
}

.gobierno-table td span{
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.15;
  font-weight: 300;
  color: #2f7f96;
}

.gobierno-table td:nth-child(1){
  text-align: left;
}

.gobierno-table td:nth-child(2),
.gobierno-table td:nth-child(3),
.gobierno-table td:nth-child(4),
.gobierno-table td:nth-child(5),
.gobierno-table td:nth-child(6){
  text-align: center;
  color: #2f7f96;
}

.gobierno-table td.is-marked{
  background: #eda38d !important;
}

.gobierno-table td.is-president{
  background: #eda38d !important;
  color: #1f1f1f;
  font-weight: 400;
}

/* anchos de columnas */
.gobierno-table th:nth-child(1),
.gobierno-table td:nth-child(1){
  width: 38%;
}

.gobierno-table th:nth-child(2),
.gobierno-table td:nth-child(2){
  width: 18.5%;
}

.gobierno-table th:nth-child(3),
.gobierno-table td:nth-child(3){
  width: 10%;
}

.gobierno-table th:nth-child(4),
.gobierno-table td:nth-child(4){
  width: 14%;
}

.gobierno-table th:nth-child(5),
.gobierno-table td:nth-child(5){
  width: 9.5%;
}

.gobierno-table th:nth-child(6),
.gobierno-table td:nth-child(6){
  width: 10%;
}

/* =========================================
HOVER / TABLA GOBIERNO CORPORATIVO
MISMO EFECTO QUE DESEMPEÑO FINANCIERO
========================================= */

.gobierno-table tbody tr{
  transition: background 0.25s ease, color 0.25s ease;
}

.gobierno-table tbody tr td{
  transition: background 0.25s ease, color 0.25s ease;
}

.gobierno-table tbody tr:hover td{
  background: #355f70 !important;
  color: #ffffff;
}

/* mantener visibles los nombres y cargos en hover */
.gobierno-table tbody tr:hover td strong,
.gobierno-table tbody tr:hover td span{
  color: #ffffff;
}

/* celdas marcadas conservan acento naranja en hover */
.gobierno-table tbody tr:hover td.is-marked,
.gobierno-table tbody tr:hover td.is-president{
  background: #ef5a2e !important;
  color: #ffffff;
}

.gobierno-table tbody tr:hover td.is-president{
  font-weight: 700;
}

/* =========================
BLOQUE 3 / COMITÉS
========================= */

.gobierno-committees{
  margin-bottom: 0;
}

/* =========================================
ANIMACIONES / GOBIERNO CORPORATIVO
========================================= */

.js-gobierno-title,
.js-gobierno-meta,
.js-gobierno-intro-col,
.js-gobierno-copy-left,
.js-gobierno-copy-right,
.js-gobierno-highlight,
.js-gobierno-footnote,
.js-gobierno-table-title,
.js-gobierno-table-wrap,
.js-gobierno-table-head,
.js-gobierno-committee-col{
  will-change: transform, opacity;
}

/* =========================================
EQUIPO DIRECTIVO
========================================= */

.section-equipo-directivo{
  background: #ffffff;
  overflow: hidden;
}

.equipo-directivo-header{
  margin-bottom: 12px;
}

/* =========================
ESCENARIO
========================= */

.equipo-directivo-stage{
  position: relative;
  width: 100%;
  padding-top: 26px;
  overflow: hidden;
}

.equipo-directivo-stage::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 290px;
  background: #f3f1ec;
  z-index: 1;
}

.equipo-directivo-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 290px;
  z-index: 2;
  overflow: hidden;
}

.equipo-directivo-bg img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.equipo-directivo-overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 290px;
  z-index: 3;
  background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.05) 28%, rgba(255,255,255,0) 100%);
}

.equipo-directivo-grid{
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  align-items: start;
}

/* =========================
CARD
========================= */

.equipo-directivo-card{
  position: relative;
  display: flex;
  flex-direction: column;
}

.equipo-directivo-figure{
  height: 269px;
  display: flex;
  align-items: end;
  justify-content: center;
  margin-bottom: -5px;
}

.equipo-directivo-figure img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,0.14));
}

.equipo-directivo-info{
  background: #ffffff;
  padding-top: 0;
	position: relative;
}

.equipo-directivo-bar{
  width: 100%;
  height: 10px;
  margin-bottom: 12px;
}

.color-1 .equipo-directivo-bar{ background: #87162e; }
.color-1 .equipo-directivo-name{ color: #87162e; }
.color-2 .equipo-directivo-bar{ background: #ef5a2e; }
.color-2 .equipo-directivo-name{ color: #ef5a2e; }
.color-3 .equipo-directivo-bar{ background: #cf6130; }
.color-3 .equipo-directivo-name{ color: #cf6130; }
.color-4 .equipo-directivo-bar{ background: #fbb62f; }
.color-4 .equipo-directivo-name{ color: #fbb62f; }
.color-5 .equipo-directivo-bar{ background: #567482; }
.color-5 .equipo-directivo-name{ color: #567482; }

.equipo-directivo-name{
  margin: 0 0 3px 0;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.15;
  font-weight: 700;
  color: #ef5a2e;
}

.equipo-directivo-role{
  margin: 0 0 3px 0;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
  color: #1f1f1f;
}

.equipo-directivo-years{
  margin: 0 0 12px 0;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-style: italic;
  font-weight: 300;
  color: #4f7d8f;
}

.equipo-directivo-bio{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.34;
  font-weight: 300;
  color: #567482;
}

/* =========================
CIERRE
========================= */

.equipo-directivo-closing{
  width: 100%;
  max-width: 1050px;
  margin: 34px auto 0 auto;
  text-align: center;
}

.equipo-directivo-closing p{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 300;
  color: #5f8596;
}

.equipo-directivo-closing p span{
  font-weight: 700;
}

/* =========================
HOVER
========================= */

.equipo-directivo-card{
  transition: transform 0.28s ease;
}

.equipo-directivo-figure img{
  transition: transform 0.35s ease, filter 0.35s ease;
}

.equipo-directivo-card:hover{
  transform: translateY(-3px);
}

.equipo-directivo-card:hover .equipo-directivo-figure img{
  transform: translateY(-3px);
  filter: drop-shadow(0 18px 28px rgba(0,0,0,0.16));
}

/* =========================
ANIMACIONES
========================= */

.js-equipo-title,
.js-equipo-stage,
.js-equipo-card,
.js-equipo-closing{
  will-change: transform, opacity;
}

/* =========================================
SECCIÓN CUMPLIMIENTO
========================================= */

.section-cumplimiento{
  background:#fff;
}

/* HEADER */
.cumplimiento-header{
  margin-bottom:40px;
}

/* =========================
INTRO
========================= */

.cumplimiento-intro{
  display:flex;
  gap:40px;
  margin-bottom:24px;
}

.cumplimiento-intro-col{
  width:50%;
}

.cumplimiento-highlight p{
  font-size:20px;
  font-weight:700;
  color:#4f7d8f;
  margin-bottom:12px;
}

.cumplimiento-bullets{
  margin-left:20px;
	margin-bottom: 30px;
}

.cumplimiento-bullets li{
  margin-bottom:14px;
  font-weight:700;
	font-size: 15px;
}

/* =========================
CARDS
========================= */

.cumplimiento-cards-top{
  display:flex;
  gap:8px;
  margin-bottom:8px;
}

.cumplimiento-card{
  border:1px solid #7B7B7B;
  transition:all .3s ease;
}

.cumplimiento-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,0.08);
}

.cumplimiento-card-inner{
  padding:18px;
}

/* COLORES PDF */
.cumplimiento-card--ethics{
  background:#f2f5f0;
	width: 40%;
}

.cumplimiento-card--transparency{
  background:#e6f1f4;
	width: 60%;
}

.cumplimiento-card--corruption{
  background:#f7f3ed;
}

.cumplimiento-card-title{
  font-size:20px;
  font-weight:700;
  color:#db4f54;
  margin-bottom:10px;
}

/* LISTAS */
.cumplimiento-policy-list,
.cumplimiento-contact-list{
  margin-left:18px;
	
}

.cumplimiento-policy-list li{
  font-weight:700;
  margin-bottom:6px;
	font-size: 15px;
}

.cumplimiento-contact-list li{
  margin-bottom:6px;
}

/* LINKS */
.cumplimiento-card a{
  color:#5c66c4;
  text-decoration:underline;
}

/* =========================
GRID FINAL (CLAVE)
========================= */

.cumplimiento-corruption-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:28px 32px;
}

/* tercer bloque abajo */
.cumplimiento-corruption-grid > :nth-child(3){
  grid-column: span 2;
  max-width:700px;
}

.cumplimiento-card{
  will-change: transform, box-shadow;
}


/* =========================================
RIESGOS INTRO FINAL
========================================= */

.section-riesgos-intro{
  background:#fff;
}
.section-riesgos-intro.section-content{
  padding-bottom: 30px; /* ajusta entre 30–50 según cómo lo veas */
}

.riesgos-intro-header{
  margin-bottom:34px;
}

/* Layout */
.riesgos-intro-layout{
  display:flex;
  align-items:flex-start;
  gap:32px;
	justify-content: space-between;
}

/* TEXTO */
.riesgos-intro-copy{
  width:38%;
  padding-top:0;
}

.riesgos-intro-copy p{
  font-size:15px;
  line-height:1.45;
  margin-bottom:22px;
}

/* VISUAL */
.riesgos-intro-visual{
  position:relative;
  width:58%;
  min-height:460px;
}

/* 🔥 PLASTA AL 100% Y ALINEADA */
.riesgos-intro-panel{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:320px;

  /* DEGRADADO MÁS FIEL AL PDF */
  background: #FFFFFF;
background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#F3EBDC", GradientType=0);
}

/* IMAGEN MÁS CHICA Y MÁS ABAJO */
.riesgos-intro-image{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;

  width:80%; /* 👈 como pediste */

  box-shadow:0 18px 40px rgba(0,0,0,0.10);
  transition:all .3s ease;
}

.riesgos-intro-image img{
  width:100%;
  display:block;
}

/* HOVER */
.riesgos-intro-image:hover{
  transform:translateX(-50%) translateY(-4px);
  box-shadow:0 26px 50px rgba(0,0,0,0.14);
}

/* =========================================
SECCIÓN / GESTIÓN INTEGRAL DE RIESGOS
TABLAS DE PRINCIPALES RIESGOS
========================================= */

.section-riesgos-tablas{
  background: #ffffff;
}

.section-riesgos-tablas.section-content{
  padding-top: 0px; /* ajusta entre 30–50 según cómo lo veas */
}

.riesgos-table-title{
  margin: 0 0 12px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 700;
  color: #ef5a2e;
}

.riesgos-table-wrap{
  width: 100%;
  margin-bottom: 0;
}

.riesgos-table-wrap--second{
  margin-top: 0;
}

.riesgos-table{
  width: 100%;
  border-collapse: collapse;
  /*table-layout: fixed;*/
}

/* Columnas */
.riesgos-col-riesgo{
  width: 12%;
}

.riesgos-col-descripcion{
  width: 41%;
}

.riesgos-col-gestion{
  width: 47%;
}

/* Head */
.riesgos-table thead th{
  padding: 9px 12px;
  border-top: 2px solid #3c3c3c;
  border-bottom: 1px solid #3c3c3c;
  border-right: 1px solid #3c3c3c;
  background: #ffffff;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 700;
  color: #000000;
  text-align: center;
}

.riesgos-table thead th:last-child{
  border-right: none;
}

.riesgos-table thead th.riesgos-col-riesgo{
  background: #b83b40;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.05;
}

/* Categorías */
.riesgos-category td{
  padding: 8px 12px;
  border-bottom: 1px solid #ffffff;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}

.riesgos-category--financial td{
  background: #ea8050;
	color: #ffffff !important;
	font-weight: 700 !important;
}

.riesgos-category--strategic td{
  background: #9dd0d4;
	color: #ffffff !important;
	font-weight: 700 !important;
}

.riesgos-category--operative td{
  background: #9f4458;
	color: #ffffff !important;
	font-weight: 700 !important;
}

.riesgos-category--regulatory td{
  background: #78909b;
	color: #ffffff !important;
	font-weight: 700 !important;
}

/* Celdas */
.riesgos-table tbody td{
  padding: 12px 12px;
  border-bottom: 1px solid #3c3c3c;
  border-right: 1px solid #3c3c3c;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.32;
  font-weight: 300;
  color: #1f1f1f;
}

.riesgos-table tbody td:last-child{
  border-right: none;
}

/* Primera columna */
.riesgos-cell-risk{
  font-weight: 700 !important;
  color: #ffffff !important;
  vertical-align: middle !important;
  text-align: left;
}

.riesgos-cell-risk--financial{
  background: #ea8050 !important;
}

.riesgos-cell-risk--strategic{
  background: #9dd0d4 !important;
}

.riesgos-cell-risk--operative{
  background: #9f4458 !important;
}

.riesgos-cell-risk--regulatory{
  background: #78909b !important;
}

/* Hover */
.riesgos-table tbody tr:not(.riesgos-category):hover td{
  background: #f2f2f2;
}

.riesgos-table tbody tr:not(.riesgos-category):hover td.riesgos-cell-risk--financial{
  background: #cf6130 !important;
}

.riesgos-table tbody tr:not(.riesgos-category):hover td.riesgos-cell-risk--strategic{
  background: #85c4c9 !important;
}

.riesgos-table tbody tr:not(.riesgos-category):hover td.riesgos-cell-risk--operative{
  background: #87162e !important;
}

.riesgos-table tbody tr:not(.riesgos-category):hover td.riesgos-cell-risk--regulatory{
  background: #567482 !important;
}

/* =========================================
SECCIÓN RIESGOS FINAL
========================================= */

.section-riesgos-final.section-content{
  padding-top: 0px; /* ajusta entre 30–50 según cómo lo veas */
}

.riesgos-final-grid{
  display:flex;
  gap:40px;
  align-items:flex-start;
}

/* IZQUIERDA */
.riesgos-final-left{
  width:40%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* IMAGEN ABAJO */
.riesgos-final-image{
  margin-top:30px;
}

.riesgos-final-image img{
  width:100%;
  height:auto;
  display:block;
}

/* DERECHA (PLASTA CON DEGRADADO) */
.riesgos-final-right{
  width:60%;
  padding:30px;

  background: #FFFFFF;
background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(243, 235, 220, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF", endColorstr="#F3EBDC", GradientType=0);
}

/* SUBTÍTULO */
.riesgos-subtitle{
  font-size:20px;
  font-weight:700;
  color:#db4f54;
  margin-bottom:16px;
}

/* MINI TITULOS IZQUIERDA */
.riesgos-mini-title{
  font-size:15px;
  font-weight:700;
  color:#87162e;
  margin-top:18px;
  margin-bottom:6px;
}

.riesgos-mini-title2{
  font-size:15px;
  font-weight:700;
  color:#564c8a;
}

/* COLUMNAS INTERNAS */
.riesgos-columns{
  display:block;
  grid-template-columns:1fr 1fr;
  gap:30px;
  margin:20px 0;
}

/* TEXTO BASE */
.section-text p{
  font-size:15px;
  line-height:1.6;
}

/* =========================================
SOPORTE ANIMACIONES / RIESGOS
========================================= */

.riesgos-intro-copy,
.riesgos-intro-panel,
.riesgos-intro-image,
.riesgos-table-title,
.riesgos-table-wrap,
.riesgos-final-left,
.riesgos-final-right,
.riesgos-final-image,
.riesgos-subtitle,
.riesgos-columns{
  will-change: transform, opacity;
}


/* =========================================
/* =========================================
SECCIN CIBERSEGURIDAD
========================================= */

.section-ciberseguridad{
  background:#fff;
}

/* INTRO */
.ciber-intro{
  display:flex;
  gap:40px;
  margin-bottom:40px;
}

.ciber-col{
  width:50%;
}

/* TITULOS */
.ciber-subtitle{
  margin: 0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height: 1.1;
  font-weight:700;
  color:#db4f54;
}

.ciber-col .section-text p + .ciber-subtitle{
  margin-top:18px;
}

/* IMAGEN FULL */
.ciber-image-full{
  margin-top:20px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.08);
  transition:transform .3s ease, box-shadow .3s ease;
}

.ciber-image-full img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}

.ciber-image-full:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(0,0,0,0.10);
}

/* BLOQUE DESTACADO */
.ciber-highlight{
  background: #85C4C9;
background: -webkit-linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(133, 196, 201, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#85C4C9", endColorstr="#FFFFFF", GradientType=0);
  padding:30px;
  margin-top:40px;
}

/* INTRO DEL BLOQUE */
.ciber-highlight-intro{
  margin-bottom:20px !important;
}

/* COLUMNAS */
.ciber-highlight-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}

.ciber-highlight-cols strong{
	font-weight:700;
}

/* =========================================
SOPORTE ANIMACIONES / CIBERSEGURIDAD
========================================= */

.ciber-col,
.ciber-image-full,
.ciber-highlight{
  will-change: transform, opacity;
}


/* =========================================
SECCIN / INNOVACIN, EFICIENCIA Y NEGOCIO RESPONSABLE
========================================= */

.section-innovacion{
  background:#ffffff;
}

.innovacion-header{
  margin-bottom:34px;
}

.innovacion-block{
  margin-bottom:30px;
}

.innovacion-block:last-child{
  margin-bottom:0;
}

/* =========================================
TIPOGRAFA
========================================= */

.innovacion-subtitle{
  margin:0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.1;
  font-weight:700;
  color:#db4f54;
}

.innovacion-mini-title{
  margin:0 0 12px 0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.1;
  font-weight:700;
  color:#db4f54;
}

.innovacion-highlight-text{
  margin:0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.5;
  font-weight:700;
  color:#567482;
}

.innovacion-submeta {
  margin: 0 0 10px 0 !important;
  font-family: soleil, sans-serif;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 300 !important;
  color: #7f9aa6 !important;
}

/* =========================================
IMGENES / ESTNDAR
========================================= */

.innovacion-hero-image,
.kaizen-card,
.innovacion-gallery-item,
.innovacion-digital-visual-main,
.innovacion-digital-mini,
.innovacion-split-image{
  box-shadow:0 16px 34px rgba(0,0,0,0.08);
  transition:transform .3s ease, box-shadow .3s ease;
}

.innovacion-hero-image:hover,
.kaizen-card:hover,
.innovacion-gallery-item:hover,
.innovacion-digital-visual-main:hover,
.innovacion-digital-mini:hover,
.innovacion-split-image:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(0,0,0,0.10);
}

.innovacion-hero-image img,
.innovacion-gallery-item img,
.innovacion-digital-visual-main img,
.innovacion-digital-mini img,
.innovacion-split-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* =========================================
PGINA 24 / HERO
========================================= */

.innovacion-hero-top{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
}

.innovacion-hero-image{
  width:45%;
  overflow:hidden;
}

.innovacion-diamond-panel{
  width:55%;
  background: #D6BE8A;
background: -webkit-linear-gradient(90deg, rgba(214, 190, 138, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(90deg, rgba(214, 190, 138, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(90deg, rgba(214, 190, 138, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#D6BE8A", endColorstr="#FFFFFF", GradientType=1);
  padding:34px 18px 28px 24px;
}

.innovacion-diamond-stage{
  position:relative;
  width:100%;
  min-height:320px;
}

.innovacion-diamond-item{
  position:absolute;
  width:110px;
  height:110px;

}

.innovacion-diamond{
  width:100%;
  height:100%;
  transform:rotate(45deg);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 20px rgba(0,0,0,0.06);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}

.innovacion-diamond span{
  display:block;
  width:80%;
  transform:rotate(-45deg);
  font-family: soleil, sans-serif;
  font-size:13px;
  line-height:1.12;
  font-weight:700;
  text-align:center;
  color:#ffffff;
}

.innovacion-diamond-color-1{ background:#e5ab74; }
.innovacion-diamond-color-2{ background:#f8e791; }
.innovacion-diamond-color-2 span{ color:#545454; }
.innovacion-diamond-color-3{ background:#c1673d; }
.innovacion-diamond-color-4{ background:#aa4444; }
.innovacion-diamond-color-5{ background:#773d3a; }
.innovacion-diamond-color-6{ background:#5d7380; }
.innovacion-diamond-color-7{ background:#cd8156; }
.innovacion-diamond-color-8{ background:#d2232a; }

.innovacion-diamond-num{
  position:absolute;
  z-index:3;
  font-family: soleil, sans-serif;
  font-size:15px;
  line-height:1;
  font-weight:500;
  color:#6e7e86;
}

.innovacion-diamond-item-1{ top:50px; left:-50px; }
.innovacion-diamond-item-1 .innovacion-diamond-num{ top:-40px; left:0; right: 0; margin:0 auto; text-align: center; }

.innovacion-diamond-item-2{ bottom:50px; left:30px; }
.innovacion-diamond-item-2 .innovacion-diamond-num{ bottom:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-3{ top:50px; left:110px;}
.innovacion-diamond-item-3 .innovacion-diamond-num{ top:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-4{ bottom:50px; left:190px; }
.innovacion-diamond-item-4 .innovacion-diamond-num{ bottom:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-5{ top:50px; left:270px;}
.innovacion-diamond-item-5 .innovacion-diamond-num{ top:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-6{ bottom:50px; left:350px;}
.innovacion-diamond-item-6 .innovacion-diamond-num{ bottom:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-7{ top:50px; left:430px;}
.innovacion-diamond-item-7 .innovacion-diamond-num{ top:-40px; left:0; right: 0; margin:0 auto;  text-align: center;}

.innovacion-diamond-item-8{ bottom:50px; left:510px;}
.innovacion-diamond-item-8 .innovacion-diamond-num{ bottom:-40px; left:0; right: 0; margin:0 auto;;  text-align: center;}

.innovacion-hero-bottom{
  margin-top:28px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:36px;
}

.innovacion-highlight-col{
  width:28%;
	text-align: right;
}

.innovacion-copy-col{
  width:68%;
}

/* =========================================
PGINA 25 / KAIZEN
========================================= */

.innovacion-kaizen-intro-full{
  width:100%;
  margin-bottom:26px;
}

.innovacion-kaizen-intro-full .section-text{
  max-width:760px;
}

.innovacion-kaizen-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

.kaizen-col-label{
  margin:0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size:18px;
  line-height:1.1;
  font-weight:700;
  color:#8a8a8a;
  text-transform:uppercase;
}

.kaizen-col-label.adhesives{
	color: #ef5a2e;
}
.kaizen-col-label.tiles{
	color: #87162e;
}

.kaizen-card{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
	min-height: 300px;
}

.kaizen-col .kaizen-card:last-child{
  margin-bottom:0;
}

.kaizen-card-red{
  background: #87162E;
background: -webkit-linear-gradient(0deg, rgba(135, 22, 46, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -moz-linear-gradient(0deg, rgba(135, 22, 46, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: linear-gradient(0deg, rgba(135, 22, 46, 1) 0%, rgba(255, 255, 255, 0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#87162E", endColorstr="#FFFFFF", GradientType=0);
}

.kaizen-card-orange{
  background: #CF6130;
background: -webkit-linear-gradient(0deg, rgba(207, 97, 48, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: -moz-linear-gradient(0deg, rgba(207, 97, 48, 1) 0%, rgba(255, 255, 255, 0) 100%);
background: linear-gradient(0deg, rgba(207, 97, 48, 1) 0%, rgba(255, 255, 255, 0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#CF6130", endColorstr="#FFFFFF", GradientType=0);
}

.kaizen-card-medal-wrap{
  position:absolute;
  top:10px;
  left:12px;
  z-index:4;
}

.kaizen-card-medal{
  display:block;
  width:76px;
  height:auto;
}

.kaizen-card-people{
  position:relative;
  height:190px;
  overflow:hidden;
}

.kaizen-card-people img{
  position:absolute;
  right:20px;
  top:20px;
  width:70%;
	max-width: 400px;
  height:auto;
  max-height:100%;
  display:block;
}

.kaizen-card-people img.perdura{
	margin-top:50px;
}

.kaizen-card-body{
  padding:18px 18px 20px;
}

.kaizen-card-body h3{
  margin:0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.05;
  font-weight:700;
  color:#ffffff;
	text-align: right
}

.kaizen-card-body p{
  margin:0;
  font-family: soleil, sans-serif;
  font-size:15px;
  line-height:1.4;
  font-weight:300;
  color:#ffffff;
	text-align: right;
}

.innovacion-kaizen-bottom{
  margin-top:26px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
}

.innovacion-kaizen-bottom-copy{
  width:50%;
}

.innovacion-kaizen-bottom-highlight{
  width:50%;
	text-align: right;
}

/* =========================================
PGINA 26 / RECONOCIMIENTOS
========================================= */

.innovacion-recon-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
}

.innovacion-recon-copy{
  width:50%;
  background: #E3D7C2;
background: -webkit-linear-gradient(0deg, rgba(227, 215, 194, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(227, 215, 194, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(227, 215, 194, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#E3D7C2", endColorstr="#FFFFFF", GradientType=0);
  padding:26px 24px;
}

.innovacion-recon-copy .innovacion-highlight-text{
	margin-bottom: 25px;
	text-align: right;
}

.innovacion-recon-gallery{
  width:50%;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:16px;
	padding-top: 204px;
}

.innovacion-gallery-item{
  overflow:hidden;
}

.innovacion-gallery-item img{
  height:220px;
}

.innovacion-recon-bottom{
  margin-top:30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.innovacion-recon-stat{
  text-align:right;
}

/* =========================================
PGINA 27 / DIGITAL 52-48
========================================= */

.innovacion-block-digital{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
}

.innovacion-digital-left{
  width:52%;
}

.innovacion-digital-right{
  width:48%;
}

.innovacion-digital-visual-main{
  position:relative;
  overflow:hidden;
}

.innovacion-digital-visual-main img{
  height:auto;
}

.innovacion-digital-label-main{
  position:absolute;
  left:14px;
  top:14px;
}

.innovacion-digital-visual-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.innovacion-digital-mini{
  position:relative;
  overflow:hidden;
}

.innovacion-digital-mini img{
  height:180px;
}

.innovacion-digital-label{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:8px 12px;
  background:rgba(255,255,255,0.92);
  font-family: soleil, sans-serif;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  color:#1f1f1f;
}

.innovacion-digital-highlight{
  margin-top:20px;
  margin-bottom:20px;
}

/* =========================================
PGINA 28 / BLOQUES ALTERNADOS
========================================= */

.innovacion-split-item{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:34px;
  margin-bottom:44px;
}

.innovacion-split-item:last-child{
  margin-bottom:0;
}

.innovacion-split-copy{
  width:55%;
}

.innovacion-split-image{
  width:45%;
  overflow:hidden;
}

.innovacion-split-image img{
  min-height:420px;
}

.innovacion-split-item-reverse .innovacion-split-image{
  order:1;
}

.innovacion-split-item-reverse .innovacion-split-copy{
  order:2;
}

/* =========================================
PGINA 29 / SUPPLY 65-35
========================================= */

.innovacion-supply-grid{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
	flex-wrap: wrap;
}

.innovacion-supply-left{
  width:63%;
}

.innovacion-supply-right{
  width:33%;
}

.innovacion-supply-highlight{
  margin-bottom:34px;
}

/*.innovacion-supply-highlight:last-child{
  margin-bottom:0;
}*/

/* =========================================
SECCIN / ENFOQUE AL CLIENTE Y PORTAFOLIO SOSTENIBLE
========================================= */

.section-enfoque-cliente{
  background:#ffffff;
}

.enfoque-cliente-header{
  margin-bottom:34px;
}

/* =========================
LAYOUT PRINCIPAL
========================= */

.enfoque-cliente-layout{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:34px;
}

.enfoque-cliente-copy{
  width:56%;
}

.enfoque-cliente-media{
  width:44%;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* =========================
IMGENES
========================= */

.enfoque-cliente-image{
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.08);
  transition:transform .3s ease, box-shadow .3s ease;
}

.enfoque-cliente-image:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(0,0,0,0.10);
}

.enfoque-cliente-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* alturas base para darle ritmo editorial */
.enfoque-cliente-image-1 img{
  min-height:220px;
}

.enfoque-cliente-image-2 img{
  min-height:220px;
}

.enfoque-cliente-image-3 img{
  min-height:220px;
}

/* =========================
SOPORTE PARA ANIMACIONES
========================= */

.enfoque-cliente-copy,
.enfoque-cliente-image{
  will-change:transform, opacity;
}



/* =========================================
SECCIN / IMPULSO AL TALENTO / PGINA 31
========================================= */

.section-talento{
  background:#ffffff;
}

.talento-header{
  margin-bottom:34px;
}

/* =========================
TTULOS
========================= */

.talento-subtitle{
  margin:0 0 10px 0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.1;
  font-weight:700;
  color:#d2232a;
}

.talento-submeta{
  margin:0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:400;
  color:#7f9aa6;
}

/* =========================
BLOQUES
========================= */

.talento-block{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:34px;
}

.talento-block-intro{
  margin-bottom:0;
}

.talento-block-development{
  margin-top:0;
}

/* =========================
COLUMNAS
========================= */

.talento-copy-main{
  width:56%;
}

.talento-aside-top{
  width:40%;
}

.talento-copy-secondary{
  width:56%;
}

.talento-media-column{
  width:38%;
}

/* =========================
HIGHLIGHTS
========================= */

.talento-highlight{
  margin:0;
  font-family: soleil, sans-serif;
  font-size:20px;
  line-height:1.45;
  font-weight:700;
  color:#6c8794;
	text-align: right;
}

.talento-highlight-wrap{
  margin-top:60px;
}

/* =========================
IMAGEN
========================= */

.talento-image{
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.08);
  transition:transform .3s ease, box-shadow .3s ease;
	background: #567482;
background: -webkit-linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(86, 116, 130, 0.3) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#567482", endColorstr="#FFFFFF", GradientType=0);
}

.talento-image:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px rgba(0,0,0,0.10);
}

.talento-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* =========================
SOPORTE PARA ANIMACIONES
========================= */

.talento-copy-main,
.talento-aside-top,
.talento-copy-secondary,
.talento-image,
.talento-highlight-wrap{
  will-change:transform, opacity;
}

/* =========================================
PGINA 32 / PROGRAMAS
========================================= */

.talento-block-programas{
  display:flex;
  justify-content:space-between;
  gap:34px;
  margin-top:48px;
}

/* COLUMNAS */
.talento-programas-left{ width:62%; }
.talento-programas-right{ width:34%; }

/* SUBTTULOS ROJOS (como PDF) */
.talento-subtitle-programas{
  color:#d2232a;
  margin-bottom:12px;
}

/* =========================
TABLAS (ESTILO PDF)
========================= */

.talento-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:28px;
}

.talento-table th,
.talento-table td{
  border:1px solid #d6d6d6;
  text-align:center;
}

.talento-table th{
  padding:10px;
  font-size:14px;
  font-weight:600;
  color:#fff;
}

.talento-table td{
  padding:14px;
  font-size:13px;
  line-height:1.3;
  color:#333;
	font-weight: 300;
}

/* COLORES ENCABEZADOS */
.th-leadership{ background:#5b4b95; }
.th-mentorias{ background:#ff6126; }
.th-coaching{ background:#547f91; }

.th-rookies{ background:#f4b000; }
.th-potenciales{ background:#6bc1d2; }
.th-mujeres{ background:#b21c2b; }

.th-tecnica-alto{ background:#5b4b95; }
.th-tecnica-mx{ background:#ff6126; }
.th-equipos{ background:#547f91; }

/* =========================
DERECHA
========================= */

.talento-programas-text{
  margin-bottom:24px;
	margin-top: 30px;
}

/* IMAGEN (SIN DEGRADADO, SOLO SOMBRA) */
.talento-image-programas{
  margin:60px 0 24px 0;
  box-shadow:0 18px 35px rgba(0,0,0,0.15);
  transition:all .3s ease;
}

.talento-image-programas:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 45px rgba(0,0,0,0.2);
}

.talento-image-programas img{
  display:block;
  width:100%;
  height:auto;
}

/* HIGHLIGHT */
.talento-highlight-programas .talento-highlight{
	margin-top: 90px;
  color:#5f8596;
}

/* =========================================
PGINA 33 / CLIMA LABORAL Y BIENESTAR
========================================= */

.talento-block-clima{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:34px;
  margin-top:56px;
}

.talento-clima-media{
  width:36%;
}

.talento-clima-copy{
  width:60%;
}

.talento-image-clima-main{
  margin:0 0 14px 0;
}

.talento-clima-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
	flex-direction: column;
  gap:0;
}

.talento-highlight-box{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:28px 24px;
  min-height:200px;
  background:#dfe8ec;
}

.talento-highlight-box .talento-highlight{
  margin-bottom:0;
  text-align:center;
}

.talento-image-clima-secondary{
  width:70%;
  margin:0;
}

.talento-image-clima-main,
.talento-image-clima-secondary{
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.talento-image-clima-main:hover,
.talento-image-clima-secondary:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.talento-image-clima-main img,
.talento-image-clima-secondary img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.talento-clima-copy .talento-subtitle{
  margin-bottom:4px;
}

.talento-clima-copy .talento-submeta{
  margin-bottom:18px;
}

.talento-clima-text-columns{
  display:block;
}

.talento-clima-text-columns p{
  margin-bottom:16px;
}

.talento-clima-text-columns p:last-child{
  margin-bottom:0;
}

/* =========================================
PGINA 34 / DIVERSIDAD E INCLUSIN
========================================= */

.talento-block-diversidad{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
  margin-top:56px;
}

.talento-diversidad-copy{
  width:58%;
}

.talento-diversidad-media{
  width:34%;
}

.talento-diversidad-copy .talento-subtitle{
  margin-bottom:4px;
}

.talento-diversidad-copy .talento-submeta{
  margin-bottom:18px;
}

.talento-diversidad-copy .section-text p{
  margin-bottom:16px;
}

.talento-diversidad-copy .section-text p:last-child{
  margin-bottom:0;
}

/* HIGHLIGHT */
.talento-diversidad-highlight{
  margin:55px 0 90px 0;
}

.talento-diversidad-highlight .talento-highlight{
  margin-bottom:0;
}

/* IMAGEN MS VERTICAL */
.talento-image-diversidad{
  width:100%;
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.talento-image-diversidad:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.talento-image-diversidad img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center;
}

/* =========================================
PGINA 35 / SALUD Y SEGURIDAD OCUPACIONAL
========================================= */

.seguridad-page{
  width:100%;
  margin-top:56px;
}

/* =========================
HEADER
========================= */

.seguridad-head{
  margin-bottom:22px;
}

.seguridad-head .talento-subtitle{
  margin-bottom:4px;
}

.seguridad-head .talento-submeta{
  max-width:820px;
}

/* =========================
TEXTO SUPERIOR
========================= */

.seguridad-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:34px;
  margin-bottom:34px;
}

.seguridad-top-col{
  width:48%;
}

.seguridad-top-col .section-text p:last-child{
  margin-bottom:0;
}

/* =========================
INFOGRAFA
========================= */

.seguridad-modelo{
  width:100%;
  margin-bottom:16px;
	background: #E3D7C2;
background: -webkit-linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#E3D7C2", endColorstr="#FFFFFF", GradientType=0);
}

.seguridad-modelo-title{
  margin:0 0 18px 0;
  font-family:soleil, sans-serif;
  font-size:32px;
  line-height:1.1;
  font-weight:700;
  color:#000000;
  text-align:center;
}

.seguridad-modelo-steps{
  display:flex;
  align-items:stretch;
  width:100%;
  position:relative;
}

.seguridad-step{
  position:relative;
  width:25%;
  min-height:165px;
  margin-left:-18px;
  overflow:hidden;
}

.seguridad-step:first-child{
  margin-left:0;
}

/* forma: izquierdo recto / derecho flecha */
.seguridad-step{
  position:relative;
  width:25%;
  min-height:165px;
  margin-left:-10px;
  overflow:visible;
}

.seguridad-step:first-child{
  margin-left:0;
}

/* CUERPO */
.seguridad-step-inner{
  position:relative;
  z-index:2;
  height:100%;
  padding:20px 18px 18px 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:center;
  box-sizing:border-box;
}

/* PUNTA */
.seguridad-step::after{
  content:"";
  position:absolute;
  top:0;
  right:-28px;
  width:28px;
  height:100%;

  clip-path:polygon(0 0, 100% 50%, 0 100%);
  z-index:3;
}

/* QUITAR PUNTA EN LA LTIMA */
/*.seguridad-step:last-child::after{
  display:none;
}*/

.seguridad-step-0{ z-index:4; }
.seguridad-step-1{ z-index:3; }
.seguridad-step-2{ z-index:2; }
.seguridad-step-3{ z-index:1; }

.seguridad-step-inner{
  position:relative;
  z-index:2;
  height:100%;
  padding:20px 18px 18px 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:right;
  box-sizing:border-box;
}

.seguridad-step-top{
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  gap:8px;
}

.seguridad-step-etapa{
  font-family:soleil, sans-serif;
  font-size:14px;
  line-height:1;
  font-weight:700;
  color:#111111;
}

.seguridad-step-numero{
  font-family:soleil, sans-serif;
  font-size:56px;
  line-height:.9;
  font-weight:700;
  color:#ffffff;
}

.seguridad-step-heading{
  margin:0;
  font-family:soleil, sans-serif;
  font-size:17px;
  line-height:1.18;
  font-weight:700;
  color:#ffffff;
}

/* Gradientes */
.seguridad-step-0{
  z-index:4;
  background: #FBB62F;
background: -webkit-linear-gradient(260deg, rgba(251, 182, 47, 1) 16%, rgba(251, 182, 47, 0.2) 100%);
background: -moz-linear-gradient(260deg, rgba(251, 182, 47, 1) 16%, rgba(251, 182, 47, 0.2) 100%);
background: linear-gradient(260deg, rgba(251, 182, 47, 1) 16%, rgba(251, 182, 47, 0.2) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FBB62F", endColorstr="#FBB62F", GradientType=0);
}

.seguridad-step-0::after{
	background: #fbb62f;
}

.seguridad-step-1{
  z-index:3;
  background: #EF5A2E;
background: -webkit-linear-gradient(260deg, rgba(239, 90, 46, 1) 16%, rgba(239, 90, 46, 0.2) 100%);
background: -moz-linear-gradient(260deg, rgba(239, 90, 46, 1) 16%, rgba(239, 90, 46, 0.2) 100%);
background: linear-gradient(260deg, rgba(239, 90, 46, 1) 16%, rgba(239, 90, 46, 0.2) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EF5A2E", endColorstr="#EF5A2E", GradientType=0);
}

.seguridad-step-1::after{
  background:#ef5a2e;
}

.seguridad-step-2{
  z-index:2;
  background: #D2232A;
background: -webkit-linear-gradient(260deg, rgba(210, 35, 42, 1) 16%, rgba(210, 35, 42, 0.2) 100%);
background: -moz-linear-gradient(260deg, rgba(210, 35, 42, 1) 16%, rgba(210, 35, 42, 0.2) 100%);
background: linear-gradient(260deg, rgba(210, 35, 42, 1) 16%, rgba(210, 35, 42, 0.2) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#D2232A", endColorstr="#D2232A", GradientType=0);
}
.seguridad-step-2::after{
  background:#d2232a;
}

.seguridad-step-3{
  z-index:1;
  background: #87162E;
background: -webkit-linear-gradient(260deg, rgba(135, 22, 46, 1) 16%, rgba(135, 22, 46, 0.2) 100%);
background: -moz-linear-gradient(260deg, rgba(135, 22, 46, 1) 16%, rgba(135, 22, 46, 0.2) 100%);
background: linear-gradient(260deg, rgba(135, 22, 46, 1) 16%, rgba(135, 22, 46, 0.2) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#87162E", endColorstr="#87162E", GradientType=0);
}
.seguridad-step-3::after{
  background:#87162e;
}

/* =========================
DESCRIPCIONES
========================= */

.seguridad-modelo-descs{
  display:flex;
  align-items:stretch;
  width:100%;
}

.seguridad-modelo-desc{
  width:25%;
  padding:20px 18px 18px 26px;
  box-sizing:border-box;
	margin-left: -10px;
}
.seguridad-modelo-desc:first-child{
	margin-left: 0;
}

.seguridad-modelo-desc p{
  margin:0;
  font-family:soleil, sans-serif;
  font-size:15px;
  line-height:1.3;
  font-weight:300;
  color:#1f1f1f;
  text-align:right;
}

/* =========================
FRANJA INFERIOR
========================= */

.seguridad-bottom{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  width:100%;
}

.seguridad-bottom-box{
  padding:20px 22px;
  box-sizing:border-box;
}

.seguridad-bottom-intro{
  width:28%;
  background:#dce7ec;
}

.seguridad-bottom-bullets{
  width:44%;
  background:#96adb8;
}

.seguridad-bottom-close{
  width:28%;
  background:#dce7ec;
}

.seguridad-bottom-intro p,
.seguridad-bottom-close p{
  margin:0;
  font-family:soleil, sans-serif;
  font-size:15px;
  line-height:1.35;
  font-weight:300;
  color:#1f1f1f;
}

.seguridad-bottom-list{
  margin:0;
  padding-left:18px;
  column-count:2;
  column-gap:28px;
}

.seguridad-bottom-list li{
  margin:0 0 8px 0;
  break-inside:avoid;
  font-family:soleil, sans-serif;
  font-size:15px;
  line-height:1.3;
  font-weight:700;
  color:#ffffff;
}

.seguridad-bottom-list li:last-child{
  margin-bottom:0;
}

/* =========================================
PGINA 36 / COMUNIDADES
========================================= */

.talento-comunidad{
  margin-top:56px;
}

.talento-comunidad-inner{
  display:flex;
  justify-content:space-between;
  align-items:stretch; 
  gap:40px;
}

/* TEXTO */
.talento-comunidad-copy{
  width:56%;
}

.talento-comunidad-copy .talento-subtitle{
  margin-bottom:4px;
}

.talento-comunidad-copy .talento-submeta{
  margin-bottom:18px;
}

.talento-comunidad-copy .section-text p:last-child{
  margin-bottom:0;
}

/* IMAGEN */
.talento-comunidad-media{
  width:40%;
  display:flex;
}

.talento-comunidad-image{
  width:100%;
  height:100%; 
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.talento-comunidad-image:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.talento-comunidad-image img{
  width:100%;
  height:100%; 
  object-fit:cover; 
  display:block;
}

/* =========================================
PGINA 37 / GESTIN AMBIENTAL Y ESTRATEGIA CLIMTICA
========================================= */

.ambiental-page{
  margin-top:56px;
}

.ambiental-layout{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
}

.ambiental-media{
  width:44%;
}

.ambiental-copy{
  width:52%;
}

.ambiental-image{
  margin:0 0 22px 0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.ambiental-image:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.ambiental-image img{
  display:block;
  width:100%;
  height:auto;
}

/* Highlight con el mismo sistema visual */
.ambiental-highlight-wrap{
  margin-top:60px;
}

.ambiental-highlight-wrap .talento-highlight{
  margin-bottom:0;
  text-align:right;
}

.ambiental-text p:last-child{
  margin-bottom:0;
}

.ambiental-badge-block{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin:24px 0;
  padding:18px 0;
  border-top:1px solid #d9d9d9;
  border-bottom:1px solid #d9d9d9;
}

.ambiental-badge-logo{
  width:120px;
  flex-shrink:0;
}

.ambiental-badge-logo img{
  display:block;
  width:100%;
  height:auto;
}

.ambiental-badge-copy{
  flex:1;
}

.ambiental-badge-copy p{
  margin:0;
  font-family:soleil, sans-serif;
  font-size:16px;
  line-height:1.45;
  font-weight:300;
  color:#1f1f1f;
}

/* =========================================
PGINA 38 / CONSUMO Y EFICIENCIA ENERGTICA
========================================= */

.ambiental-page-energia{
  margin-top: 56px;
}

.ambiental-energia-layout{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
}

.ambiental-energia-copy{
  width:58%;
}

.ambiental-energia-media{
  width:38%;
  display:flex;
	height: 650px;
}

.ambiental-energia-image{
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.ambiental-energia-image:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.ambiental-energia-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.ambiental-page-energia .ambiental-subtitle{
  margin:28px 0 4px 0;
  font-family:soleil, sans-serif;
  font-size:20px;
  line-height:1.08;
  font-weight:700;
  color:#ef5a2e;
}

.ambiental-page-energia .ambiental-submeta{
  margin:0 0 14px 0;
  font-family:soleil, sans-serif;
  font-size:12px;
  line-height:1.35;
  font-weight:400;
  color:#6f8c99;
}

.ambiental-page-energia .section-text p:last-child{
  margin-bottom:0;
}

/* =========================================
PGINA 39 / ECONOMA CIRCULAR
========================================= */

.ambiental-page-circular{
  margin-top:56px;
}

.ambiental-circular-layout{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
}

.ambiental-circular-media{
  width:34%;
}

.ambiental-circular-copy{
  width:62%;
}

.ambiental-circular-image{
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.ambiental-circular-image:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.ambiental-circular-image img{
  display:block;
  width:100%;
  height:700px;
  object-fit:cover;
  object-position:center;
}

.ambiental-page-circular .ambiental-subtitle{
  margin:0 0 4px 0;
  font-family:soleil, sans-serif;
  font-size:20px;
  line-height:1.08;
  font-weight:700;
  color:#ef5a2e;
}

.ambiental-page-circular .ambiental-submeta{
  margin:0 0 14px 0;
  font-family:soleil, sans-serif;
  font-size:12px;
  line-height:1.35;
  font-weight:400;
  color:#6f8c99;
}

.ambiental-page-circular .section-text{
  margin-bottom:26px;
}

.ambiental-page-circular .section-text:last-child{
  margin-bottom:0;
}

.ambiental-page-circular .section-text p:last-child{
  margin-bottom:0;
}

.ambiental-image,
.ambiental-image img,
.ambiental-energia-image,
.ambiental-energia-image img,
.ambiental-circular-image,
.ambiental-circular-image img,
.talento-highlight,
.ambiental-badge-block{
  will-change: transform, opacity, clip-path;
}


/* =========================================
SECCIN / ACERCA DE ESTE INFORME
========================================= */

.section-acerca .section-header{
  margin-bottom: 56px;
}

/* =========================
PGINA 40
========================= */

.acerca-page{
  margin-top: 56px;
}

.acerca-page:first-of-type{
  margin-top: 0;
}

.acerca-intro-layout{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.acerca-intro-media{
  width: 46%;
}

.acerca-intro-copy{
  width: 51%;
}

.acerca-intro-image{
  margin: 0;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,0.10);
  transition: transform .3s ease, box-shadow .3s ease;
}

.acerca-intro-image:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.14);
}

.acerca-intro-image img{
  display: block;
  width: 100%;
  height: auto;
}

.acerca-intro-copy .section-text p:last-child{
  margin-bottom: 0;
}

/* =========================
PGINA 41
========================= */

.acerca-subtitle-full{
  margin: 0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.08;
  font-weight: 700;
  color: #d2232a;
}

.acerca-marcos-intro{
  margin-bottom: 28px;
}

.acerca-marcos-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.acerca-marco-card{
  width: calc(33.333% - 16px);
  min-height: 280px;
  padding: 26px 24px;
  box-sizing: border-box;
  border-radius: 0;
  background: #E3D7C2;
background: -webkit-linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: -moz-linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
background: linear-gradient(0deg, rgba(227, 215, 194, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#E3D7C2", endColorstr="#FFFFFF", GradientType=0);
  box-shadow: 0 14px 28px rgba(0,0,0,0.06);
	text-align: center;
}

.acerca-marco-logo{
  height: 54px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
	justify-content: center;
}

.acerca-marco-logo .ifsr{max-height: 40px;}

.acerca-marco-logo img{
  display: block;
  max-width: 100%;
  max-height: 54px;
  width: auto;
  height: auto;
}

.acerca-marco-title{
  margin: 0 0 12px 0;
  font-family: soleil, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: #1f1f1f;
}
.acerca-marco-title span{
	font-weight: 300;
}

.acerca-marco-copy p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  color: #78909b;
}

/* =========================
PGINA 42
========================= */

.acerca-cierre-layout{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.acerca-cierre-media{
  width: 26%;
}

.acerca-cierre-content{
  width: 70%;
}

.acerca-cierre-image{
  margin: 0;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,0.10);
  transition: transform .3s ease, box-shadow .3s ease;
}

.acerca-cierre-image:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.14);
}

.acerca-cierre-image img{
  display: block;
  width: 100%;
  height: auto;
}

.acerca-top-copy{
  margin-bottom: 34px;
}

.acerca-top-title{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.08;
  font-weight: 700;
  color: #d2232a;
}

.acerca-top-columns{
  display: flex;
  justify-content: space-between;
  gap: 28px;
}

.acerca-top-columns > div{
  width: 48%;
}

.acerca-top-columns .section-text p:last-child{
  margin-bottom: 0;
}

.acerca-bottom-grid{
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.acerca-info-panel{
  padding: 28px 26px;
  box-sizing: border-box;
}

.acerca-info-panel--wide{
  width: 62%;
  background: linear-gradient(180deg, rgba(219,236,240,0.85) 0%, rgba(240,246,247,0.95) 100%);
}

.acerca-info-panel--contact{
  width: 34%;
  background: linear-gradient(180deg, rgba(239,240,234,0.9) 0%, rgba(247,247,243,0.95) 100%);
}

.acerca-info-panel--contact .section-text p{
	text-align:center;
}

.acerca-panel-title{
  margin: 0 0 18px 0;
  font-family: soleil, sans-serif;
  font-size: 20px;
  line-height: 1.08;
  font-weight: 700;
  color: #d2232a;
  text-align: center;
}

.acerca-panel-intro{
  margin-bottom: 22px;
  text-align: center;
}

.acerca-identifiers{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 24px;
}

.acerca-identifier-card{
  width: 32%;
  padding: 18px 14px;
  box-sizing: border-box;
  background: rgba(255,255,255,0.4);
}

.acerca-identifier-card h4{
  margin: 0 0 8px 0;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #1f1f1f;
  text-align: center;
}

.acerca-identifier-card p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 300;
  color: #1f1f1f;
  text-align: center;
}

.acerca-panel-columns{
  display: block;
  justify-content: space-between;
  gap: 20px;
}

.acerca-panel-columns p{
	text-align:center;
}

.acerca-panel-columns > div{
  width: 100%;
}

.acerca-panel-columns .section-text p:last-child{
  margin-bottom: 0;
}

.acerca-contact-list{
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.acerca-contact-item{
  text-align: center;
}

.acerca-contact-label{
  display: block;
  margin-bottom: 6px;
  font-family: soleil, sans-serif;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  color: #1f1f1f;
}

.acerca-contact-item p{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
  text-decoration: none;
	text-align: center;
}

.acerca-contact-item a{
  margin: 0;
  font-family: soleil, sans-serif;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 300;
  color: #1f1f1f;
  text-decoration: none;
	text-align: center;
}

.acerca-contact-item a:hover{
  text-decoration: underline;
}

/* =========================================
SECCIN / CONTACTO FINAL
========================================= */

.contacto-final-page{
  margin-top: 56px;
}

.contacto-final-layout{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:0;
}

.contacto-final-media{
  width:46%;
}

.contacto-final-copy{
  width:54%;
  padding:48px 54px 46px 54px;
  box-sizing:border-box;
  background-color:#f5f3ee;
  background-image:url("../img/contacto-final/contacto-final-textura.png");
  background-repeat:repeat;
  background-size:cover;
}

/* =========================
IMAGEN
========================= */

.contacto-final-image{
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(0,0,0,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.contacto-final-image:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,0.14);
}

.contacto-final-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
	object-position:left center;
}

/* =========================
TEXTO
========================= */

.contacto-final-group{
  margin-bottom:34px;
}

.contacto-final-group:last-of-type{
  margin-bottom:40px;
}

.contacto-final-label{
  margin:0 0 6px 0;
  font-family:soleil, sans-serif;
  font-size:22px;
  line-height:1.15;
  font-style:italic;
  font-weight:400;
  color:#567482;
}

.contacto-final-name{
  margin:0 0 2px 0;
  font-family:soleil, sans-serif;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
  color:#87162e;
}

.contacto-final-info, .contacto-final-info a{
  margin:0 0 4px 0;
  font-family:soleil, sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:300;
  color:#27485b;
  text-decoration: none;
}
.contacto-final-info a:hover{
	color: #000000;
}

.contacto-final-info:last-child{
  margin-bottom:0;
}

.contacto-final-company{
  margin:0 0 6px 0;
  font-family:soleil, sans-serif;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:#87162e;
  letter-spacing:.02em;
}

/* =========================
PARTE INFERIOR
========================= */

.contacto-final-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-top:26px;
}

.contacto-final-web a{
  font-family:soleil, sans-serif;
  font-size:21px;
  line-height:1.1;
  font-weight:300;
  color:#1f1f1f;
  text-decoration:none;
}

.contacto-final-web a span{
  color:#87162e;
  font-weight:700;
}

.contacto-final-web a:hover{
  text-decoration:none;
}

.contacto-final-logo{
  width:110px;
  flex-shrink:0;
}

.contacto-final-logo img{
  display:block;
  width:100%;
  height:auto;
}


/* =========================================
FOOTER
========================================= */

.site-footer{
  background:#f5f5f5;
  border-top:1px solid #e0e0e0;
  font-family: soleil, sans-serif;
}

/* CONTENEDOR */

.footer-container{
  max-width:1400px;
  margin:0 auto;
  padding:60px 40px;

  display:flex;
  align-items:flex-start;
  gap:60px;
}

/* LOGO */

.footer-logo{
  flex:0 0 200px;
}

.footer-logo img{
  width:160px;
  height:auto;
}

/* LINKS */

.footer-links{
  flex:1;
  display:flex;
  gap:50px;justify-content: space-around;
}

/* COLUMNAS */

.footer-col{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* LINKS */

.footer-col a{
  text-decoration:none;
  color:#567482;
  font-size:12px;
  line-height:1.4;
  font-family: soleil, sans-serif;

  transition:color .35s ease;
}

.footer-col a:hover{
  color:#2f4754;
}


/* =========================================
SUBFOOTER
========================================= */

.subfooter{
  border-top:1px solid #e0e0e0;
  padding:18px;
  text-align:center;
  font-size:13px;
  color:#7a8b94;
  font-family: soleil, sans-serif;
}

/* =====================================
FOOTER ACTIONS
===================================== */

.footer-actions{

  max-width:1400px;
  margin:0 auto;

  padding:25px 40px;

  display:flex;
  gap:40px;
  align-items:center;

  border-bottom:1px solid #e0e0e0;

  font-family: soleil, sans-serif;
}

.footer-actions a{

  text-decoration:none;
  color:#567482;
  font-size:12px;
  padding:6px 12px;
  border:1px solid #86A0AC;
  border-radius:3px;
  transition:color .35s ease;
}


.footer-actions a:hover{
  background:#567482;
  color:white;
}

/* =========================================
INDICADOR DE PROGRESO DE LECTURA
========================================= */

.reading-progress{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(0,0,0,0.06);
  z-index: 10000;
  pointer-events: none;
}

.reading-progress-bar{
  width: 0;
  height: 100%;
  background: #567482;
  transition: width 0.08s linear;
}

/* =========================================
PRELOADER
========================================= */

body.is-loading{
  overflow: hidden;
}

#preloader{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #ffffff;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.preloader-inner{
  width: 100%;
  max-width: 320px;
  padding: 0 24px;
  text-align: center;
}

.preloader-logo{
  margin-bottom: 24px;
}

.preloader-logo img{
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* Barra */
.preloader-line{
  width: 100%;
  height: 3px;
  background: rgba(86, 116, 130, 0.15);
  overflow: hidden;
  border-radius: 20px;
}

.preloader-line-fill{
  width: 0;
  height: 100%;
  background: #567482;
  border-radius: 20px;
}



