/* Ajustes del HTML independiente. El diseño original se conserva en los CSS locales. */
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
}
.whatsapp-contact {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #25d366;
	color: white !important;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px #0002;
	z-index: 10001;
}
.whatsapp-contact:hover {
	background: #20be5a;
}
.cookie-settings {
	position: fixed;
	bottom: 0;
	right: 20px;
	z-index: 99;
	background: #f4f4f4;
	color: #333;
	border: 1px solid #ddd;
	border-radius: 8px 8px 0 0;
	padding: 8px 16px;
	font-size: 12px;
}
#cmplz-cookiebanner-container.show-preferences .cmplz-categories {
	display: block !important;
}
#cmplz-cookiebanner-container.show-preferences .cmplz-save-preferences {
	display: block !important;
}
#cmplz-cookiebanner-container.show-preferences .cmplz-view-preferences {
	display: none !important;
}
[hidden] {
	display: none !important;
}
.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
}
.elementor-location-header .elementor-sticky {
	position: relative !important;
	top: auto !important;
	width: 100% !important;
}
.form-trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.form-status {
	width: 100%;
	padding: 12px;
	border: 1px solid #777;
	color: #111;
	background: #fff;
}
.e-n-menu-content > .e-con {
	display: none;
}
.e-n-menu-item.menu-open > .e-n-menu-content > .e-con {
	display: flex;
}
.e-n-menu-content {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	top: var(--header-height, 156px) !important;
	z-index: 101;
	background: white;
}
.e-n-menu-item.menu-open .e-n-menu-dropdown-icon-opened {
	display: flex;
}
.e-n-menu-item.menu-open .e-n-menu-dropdown-icon-closed {
	display: none;
}
.e-n-menu-dropdown-icon-opened {
	display: none;
}
.e-n-menu-wrapper {
	--stretch-width: 100vw;
	--stretch-left: 0px;
}
.e-n-menu-title button {
	cursor: pointer;
}
.e-n-accordion-item {
	overflow: hidden;
}
.e-n-accordion-item-title {
	cursor: pointer;
}
.e-n-accordion-item summary {
	list-style: none;
}
.e-n-accordion-item summary::-webkit-details-marker {
	display: none;
}
.elementor-widget-image img {
	transition:
		filter 0.6s ease-in-out,
		transform 0.6s ease-in-out;
}
.bg-grow-effect::before {
	transition:
		transform 0.6s ease-in-out,
		filter 0.6s ease-in-out !important;
}
@media (max-width: 1024px) {
	.e-n-menu-wrapper {
		display: none !important;
		position: fixed !important;
		top: var(--header-height, 106px) !important;
		left: 0 !important;
		right: 0 !important;
		transform: none !important;
		background: #fff;
		padding: 16px 20px;
		max-height: calc(100dvh - var(--header-height, 106px));
		overflow: auto;
		width: 100vw !important;
	}
	.e-n-menu.menu-open .e-n-menu-wrapper {
		display: block !important;
	}
	.e-n-menu-heading {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.e-n-menu-heading > .e-n-menu-item {
		display: block !important;
		width: 100% !important;
	}
	.e-n-menu-content {
		position: static !important;
		top: auto !important;
		width: 100% !important;
	}
	.e-n-menu-toggle {
		display: flex !important;
	}
	.e-n-menu .e-close {
		display: none;
	}
	.e-n-menu.menu-open .e-close {
		display: block;
	}
	.e-n-menu.menu-open .e-open {
		display: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}
/* Cabecera compacta y pestaña de consentimiento discreta. */
.elementor-location-header .elementor-element-141d87a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.elementor-location-header .elementor-element-141d87a > .e-con-inner {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
.elementor-location-header .elementor-element-ad6c253,
.elementor-location-header .elementor-element-5590837 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-self: center;
}
.elementor-location-header .elementor-element-999f559 img {
    width: 260px !important;
    max-width: 100%;
    height: auto;
}
.cookie-settings {
    transform: translateY(calc(100% - 6px));
    transition: transform .25s ease;
}
.cookie-settings:hover,
.cookie-settings:focus-visible {
    transform: translateY(0);
}
@media (max-width: 767px) {
    .elementor-location-header .elementor-element-141d87a > .e-con-inner {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
    .elementor-location-header .elementor-element-999f559 img {
        width: 210px !important;
    }
}
@media (hover: none) {
    .cookie-settings { transform: translateY(calc(100% - 20px)); }
    .cookie-settings:focus-visible { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .cookie-settings { transition: none; }
}
/* Página Para quién: contenido editorial y enlaces por tipo de cliente. */
.audiences-page{font-family:Inter,Arial,sans-serif;color:#111;line-height:1.65}
.audiences-wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.audiences-intro{background:#f4f4f4;padding:34px 0 46px}
.audiences-breadcrumb{font-size:13px;color:#666;margin-bottom:42px}
.audiences-page a{color:inherit}
.audiences-lead{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.audiences-label{text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.audiences-page h1{font-size:clamp(36px,4vw,58px);line-height:1.12;font-weight:600;letter-spacing:-.035em;margin:0 0 26px}
.audiences-lead p:not(.audiences-label){color:#555;font-size:17px}
.audiences-photo{width:100%;height:390px;object-fit:cover;filter:grayscale(1);transition:filter .6s ease}
.audiences-photo:hover{filter:grayscale(0)}
.audiences-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.audiences-nav a{border:1px solid #ccc;padding:9px 14px;font-size:13px;text-decoration:none;background:white}
.audiences-nav a:hover{background:#111;color:white;border-color:#111}
.audiences-profiles{padding-top:24px;padding-bottom:24px}
.audiences-profile{display:grid;grid-template-columns:1fr 1.5fr;gap:72px;padding:58px 0;border-bottom:1px solid #ddd;scroll-margin-top:calc(var(--header-height,104px) + 24px)}
.audiences-profile:last-child{border-bottom:0}
.audiences-number{font-size:13px;color:#777}
.audiences-profile h2{font-size:32px;line-height:1.2;font-weight:600;margin:12px 0}
.audiences-profile h3{font-size:21px;line-height:1.35;font-weight:600;margin:0 0 18px}
.audiences-profile-copy p{color:#555}
.audiences-services{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px}
.audiences-services a{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.audiences-contact{background:#f4f4f4;padding:70px 0;text-align:center}
.audiences-contact h2{font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.2}
.audiences-contact p{max-width:720px;margin:20px auto 30px;color:#555}
.audiences-button{display:inline-block;background:#111;color:white!important;padding:16px 25px;text-decoration:none}
.audiences-home-link{color:inherit!important;text-decoration:none}
.audiences-home-link:hover,.audiences-home-link:focus-visible{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1025px) and (max-width:1399px){.elementor-location-header .e-n-menu-title-container{padding-inline:10px!important}.elementor-location-header .e-n-menu-title-text{font-size:14px}}
@media(max-width:767px){.audiences-lead,.audiences-profile{grid-template-columns:1fr;gap:24px}.audiences-photo{height:260px}.audiences-profile{padding:38px 0}.audiences-intro{padding-top:24px}.audiences-breadcrumb{margin-bottom:24px}.audiences-profile h2{font-size:28px}.audiences-contact{padding:48px 0}}
@media(prefers-reduced-motion:reduce){.audiences-photo{transition:none}}
.contact-privacy-notice {
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 20px;
}
.contact-privacy-notice a { text-decoration: underline; }

/* Portada: espacio para el nuevo titular y su explicación. */
.elementor-8 .elementor-element.elementor-element-84eede2 {
    --container-widget-width: min(100%, 1050px);
    width: min(100%, 1050px) !important;
    max-width: 1050px !important;
}
.elementor-8 .elementor-element-afa6c26 {
    max-width: 1120px;
}
.elementor-8 .elementor-element-3821726 .home-savings-explanation {
    max-width: 1080px;
    margin-top: 26px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6;
    color: #fff;
}
@media (max-width: 767px) {
    .elementor-8 .elementor-element-3821726 .home-savings-explanation {
        font-size: 17px;
        margin-top: 20px;
    }
}
