/*
 * LA RATONERA — AJUSTES RESPONSIVE
 * --------------------------------------------------
 * Esta hoja se carga después de los estilos originales.
 * Todas las reglas están limitadas a tablet y móvil para
 * conservar intacta la composición de escritorio.
 */

/* ==================================================
   TABLET Y PANTALLAS INTERMEDIAS — HASTA 1024 PX
================================================== */

@media (max-width:1024px){

	html,
	body{
		max-width:100%;
		overflow-x:hidden;
	}

	img{
		max-width:100%;
	}

	/* ---------- Encabezado común ---------- */

	header{
		background:transparent;
		transition:background-color .3s ease;
	}

	header.scrolled{
		background:var(--red);
	}

	header nav{
		width:100%;
		max-width:none;
		padding:12px clamp(24px,4vw,40px);
		gap:24px;
		box-sizing:border-box;
	}

	header .menu{
		min-width:0;
		gap:clamp(18px,3vw,28px);
	}

	header .menu li a{
		font-size:14px;
		white-space:nowrap;
	}

	/* ---------- Footer común ---------- */

	.site-footer{
		height:auto;
		min-height:390px;
		overflow:visible;
	}

	.footer-container{
		height:auto;
		min-height:390px;
		padding:50px 36px 28px;
	}

	.footer-main{
		grid-template-columns:150px 150px minmax(0,1fr);
		column-gap:32px;
	}

	.footer-contact{
		min-width:0;
		max-width:390px;
	}

	.footer-column a{
		letter-spacing:3px;
	}

	.footer-bottom{
		position:static;
		margin:55px auto 0;
		transform:none;
	}

	/* ---------- Hero del home ---------- */

	.hero-home{
		height:960px;
		min-height:0;
	}

	.hero-home .hero-bg,
	.hero-home .hero-overlay{
		height:100%;
	}

	.hero-home .hero-content{
		left:clamp(36px,6vw,64px);
		bottom:455px;
		width:min(640px,calc(100% - 72px));
	}

	.hero-home .hero-title-main{
		font-size:clamp(52px,8vw,66px);
		line-height:.88;
	}

	.hero-home .hero-title-sub{
		font-size:clamp(28px,4.6vw,38px);
		line-height:1;
	}

	.hero-home .hero-content p{
		max-width:500px;
		font-size:clamp(16px,2.2vw,18px);
	}

	.hero-home .services-grid{
		top:auto;
		bottom:44px;
		width:calc(100% - 72px);
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:18px;
	}

	.hero-home .service{
		min-height:166px;
		padding:22px 24px;
	}

	.hero-home .service-icon{
		width:54px;
		height:54px;
		margin-bottom:4px;
	}

	.hero-home .service h3{
		margin:10px 0 7px;
	}

	.hero-home .service p{
		font-size:13px;
		line-height:1.3;
	}

	/* ---------- Home: carrusel ---------- */

	.home-carousel{
		padding-bottom:36px;
	}

	.home-carousel-container{
		height:auto;
		aspect-ratio:1366 / 600;
	}

	.home-carousel-slide img,
	.home-carousel-slide a img{
		object-fit:contain;
		background:var(--blue);
	}

	.home-carousel-dots{
		bottom:12px;
	}

	/* ---------- Home: artículos ---------- */

	.home-articles{
		padding:50px clamp(36px,5vw,56px);
	}

	.home-article{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:clamp(32px,5vw,54px);
		padding:34px 0 58px;
	}

	.home-article-reverse .home-article-image{
		order:2;
	}

	.home-article-reverse .home-article-content{
		order:1;
	}

	.home-article-image{
		height:auto;
		aspect-ratio:575 / 425;
	}

	.home-article-content{
		max-width:none;
	}

	.home-article-category{
		margin:0 0 6px;
		font-size:12px;
		line-height:17px;
	}

	.home-article-title{
		margin-bottom:12px;
		font-size:clamp(28px,3.8vw,34px);
		line-height:1.08;
	}

	.home-article-subtitle{
		font-size:16px;
		line-height:1.3;
	}

	.home-article-content-line{
		margin-bottom:18px;
	}

	.home-article-text{
		margin-bottom:18px;
		font-size:14px;
		line-height:1.48;
	}

	/* ---------- Home: secciones inferiores ---------- */

	.home-help{
		height:auto;
		min-height:620px;
		padding:60px clamp(36px,5vw,56px);
	}

	.home-help-container{
		grid-template-columns:minmax(210px,.85fr) minmax(0,1.2fr);
		gap:clamp(44px,7vw,80px);
		transform:none;
	}

	.home-help-list{
		gap:18px;
	}

	.home-beliefs{
		height:auto;
		min-height:0;
		padding:74px clamp(36px,5vw,56px);
	}

	.home-beliefs-pillars{
		grid-template-columns:1fr 72px 1fr 72px 1fr;
		gap:0;
	}

	.home-beliefs-line{
		width:72px;
	}

	.home-experience{
		padding:0 clamp(36px,5vw,56px);
	}

	.home-experience-content{
		grid-column:7 / 13;
	}

	.home-contact{
		padding:72px clamp(36px,5vw,56px);
	}

	.home-contact-container{
		column-gap:28px;
	}

	.home-contact-form-wrapper{
		grid-column:1 / 7;
	}

	.home-contact-visual{
		height:300px;
		grid-column:7 / 13;
	}

	/* ---------- Servicios ---------- */

	.services-hero{
		height:680px;
		min-height:0;
		padding:0 40px;
		background-size:cover;
	}

	.services-hero-container{
		padding-bottom:76px;
	}

	.services-hero-title-small{
		font-size:clamp(34px,5vw,44px);
		line-height:1.06;
	}

	.services-hero-title-large{
		font-size:clamp(52px,7vw,68px);
		line-height:1;
	}

	.branding-service,
	.business-service,
	.finance-service,
	.commercial-service{
		height:440px;
	}

	.branding-service-container,
	.business-service-container,
	.finance-service-container,
	.commercial-service-container,
	.branding-service-image,
	.business-service-image,
	.finance-service-image,
	.commercial-service-image{
		height:440px;
	}

	.branding-service-card,
	.finance-service-card{
		left:40px;
		width:min(56%,520px);
		min-height:0;
		padding:30px 34px;
	}

	.business-service-card,
	.commercial-service-card{
		right:40px;
		width:min(56%,500px);
		min-height:0;
		height:auto;
		padding:30px 34px;
	}

	.branding-service-card .service-title,
	.business-service-card .service-title,
	.finance-service-card .service-title,
	.commercial-service-card .service-title{
		font-size:clamp(36px,5vw,44px);
		line-height:1;
	}

	.services-query{
		padding:0 40px;
	}

	/* ---------- Nosotros ---------- */

	.about-hero,
	.about-statement,
	.about-story,
	.about-value,
	.about-cta{
		padding-left:40px;
		padding-right:40px;
	}

	.about-story-text-three-trigger{
		right:0;
	}

	.about-value-title-block{
		grid-column:1 / 6;
	}

	.about-value-content{
		grid-column:7 / 13;
	}

	.about-value-line{
		width:calc(100% + 40px);
		margin-left:-40px;
	}

	/* ---------- Contacto ---------- */

	.contact-page{
		padding-left:40px;
		padding-right:40px;
	}

	.contact-page-container{
		padding-top:135px;
	}

	.contact-phone-number{
		font-size:clamp(29px,4vw,34px);
		letter-spacing:4px;
	}

	/* ---------- Artículos: base tablet ---------- */

	.article-hero,
	.risk-hero,
	.optimism-hero,
	.finance-hero,
	.commercial-hero{
		height:560px;
		padding-left:40px;
		padding-right:40px;
		background-size:cover;
		background-position:center;
	}

	.finance-hero-container,
	.commercial-hero-container{
		transform:none;
	}

	.optimism-hero-content,
	.commercial-hero-content{
		min-width:0;
	}

	.commercial-hero-title{
		width:100%;
		max-width:100%;
	}

	.consumer-experience-list,
	.commercial-models-list{
		width:100%;
		margin-left:0;
		margin-right:0;
	}

	.consumer-experience-list > p{
		margin-left:0;
	}

	.commercial-leadership-prompt{
		width:100%;
		margin-left:0;
		grid-template-columns:100px minmax(0,1fr);
	}

	.optimism-principle-title,
	.optimism-principle:first-child .optimism-principle-title,
	.optimism-principle:nth-child(1) .optimism-principle-title,
	.optimism-principle:nth-child(2) .optimism-principle-title,
	.optimism-principle:nth-child(3) .optimism-principle-title,
	.optimism-principle:nth-child(4) .optimism-principle-title{
		width:100%;
		max-width:100%;
	}

	.finance-performance-title{
		width:100%;
		min-width:0;
	}

	.risk-economy-title{
		width:100%;
		max-width:100%;
		margin-left:0;
	}

	.article-hero-title-main,
	.risk-hero-title-main,
	.optimism-hero-title-main,
	.finance-hero-title-main,
	.commercial-hero-title-top{
		font-size:clamp(45px,6vw,56px);
		line-height:1.05;
	}

	.finance-hero-line{
		width:min(650px,100%);
	}

	.article-hero,
	.article-overview,
	.article-introduction,
	.article-priorities,
	.article-b2b,
	.article-costs,
	.article-decisions,
	.article-review,
	.article-closing,
	.risk-hero,
	.risk-overview,
	.risk-external,
	.risk-economy,
	.risk-direction,
	.risk-closing,
	.optimism-hero,
	.optimism-meta-section,
	.optimism-overview,
	.optimism-principles,
	.optimism-closing,
	.finance-hero,
	.finance-overview,
	.finance-resilience,
	.finance-ai,
	.finance-performance,
	.finance-capital,
	.commercial-hero,
	.commercial-overview,
	.consumer-experience,
	.commercial-models,
	.channel-management,
	.commercial-areas,
	.commercial-leadership{
		padding-left:40px;
		padding-right:40px;
	}

	.article-meta,
	.risk-meta,
	.optimism-meta,
	.finance-meta,
	.commercial-meta{
		padding-left:40px;
		padding-right:40px;
	}
}


/* ==================================================
   CELULARES Y TABLETS PEQUEÑAS — HASTA 700 PX
================================================== */

@media (max-width:700px){

	/* ---------- Encabezado común ---------- */

	header{
		background:transparent;
	}

	header.scrolled{
		background:var(--red);
	}

	header nav{
		min-height:88px;
		padding:11px 14px 10px;
		flex-direction:column;
		justify-content:center;
		gap:10px;
	}

	header .logo{
		justify-content:center;
	}

	header .logo img{
		height:21px;
	}

	header .menu{
		width:100%;
		margin:0;
		padding:0;
		justify-content:center;
		gap:clamp(9px,3vw,18px);
	}

	header .menu li a{
		font-size:clamp(10px,2.8vw,12px);
		line-height:1;
	}

	/* ---------- Footer común ---------- */

	.site-footer{
		min-height:0;
	}

	.footer-container{
		min-height:0;
		padding:46px 22px 28px;
	}

	.footer-main{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:38px 24px;
	}

	.footer-contact{
		width:100%;
		max-width:none;
		grid-column:1 / -1;
		justify-self:stretch;
	}

	.footer-column h4{
		margin-bottom:16px;
		letter-spacing:3px;
	}

	.footer-column ul{
		gap:14px;
	}

	.footer-column a{
		letter-spacing:2.4px;
		line-height:1.25;
	}

	.footer-contact-item{
		line-height:1.25;
		overflow-wrap:anywhere;
	}

	.footer-bottom{
		margin-top:42px;
	}

	.footer-logo img{
		height:28px;
	}

	/* ---------- Hero del home ---------- */

	.hero-home{
		--home-hero-visual:clamp(560px,150vw,660px);

		height:auto;
		min-height:clamp(1350px,318vw,1400px);
		background:var(--blue);
	}

	.hero-home .hero-bg,
	.hero-home .hero-overlay{
		height:var(--home-hero-visual);
	}

	.hero-home .hero-bg img{
		object-position:58% center;
	}

	.hero-home .hero-overlay{
		background:linear-gradient(
			to top,
			var(--blue) 0%,
			rgba(29,49,85,.86) 17%,
			rgba(29,49,85,.35) 43%,
			rgba(29,49,85,0) 72%
		);
	}

	.hero-home .hero-content{
		top:clamp(330px,86vw,390px);
		bottom:auto;
		left:20px;
		width:calc(100% - 40px);
		max-width:430px;
	}

	.hero-home h1{
		margin-bottom:14px;
	}

	.hero-home .hero-title-main{
		font-size:clamp(44px,13vw,58px);
		line-height:.88;
	}

	.hero-home .hero-title-sub{
		margin-top:7px;
		font-size:clamp(24px,7.2vw,31px);
		line-height:.98;
	}

	.hero-home .hero-content p{
		max-width:370px;
		font-size:clamp(15px,4vw,17px);
		line-height:1.28;
	}

	.hero-home .services-grid{
		top:calc(var(--home-hero-visual) + 22px);
		bottom:auto;
		width:calc(100% - 32px);
		grid-template-columns:1fr;
		gap:14px;
	}

	.hero-home .service{
		min-height:0;
		padding:20px 18px 22px;
	}

	.hero-home .service-icon{
		width:48px;
		height:48px;
		margin:0 auto 4px;
	}

	.hero-home .service h3{
		margin:8px 0 6px;
		font-size:14px;
		text-align:left;
	}

	.hero-home .service p{
		font-size:13px;
		line-height:1.28;
	}

	.hero-divider{
		height:24px;
	}

	/* ---------- Home: carrusel ---------- */

	.home-carousel{
		padding-bottom:24px;
	}

	.home-carousel-container{
		height:clamp(280px,80vw,360px);
		aspect-ratio:auto;
	}

	.home-carousel-slide img,
	.home-carousel-slide a img{
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center;
	}

	.home-carousel-dots{
		bottom:7px;
		gap:8px;
	}

	.home-carousel-dot{
		width:8px;
		height:8px;
	}

	/* ---------- Home: artículos ---------- */

	.home-articles{
		padding:34px 20px 42px;
	}

	.home-article{
		grid-template-columns:1fr;
		gap:22px;
		padding:28px 0 44px;
	}

	.home-article-reverse .home-article-image{
		order:1;
	}

	.home-article-reverse .home-article-content{
		order:2;
	}

	.home-article-image{
		height:auto;
		aspect-ratio:16 / 9;
	}

	.home-article-content{
		max-width:none;
	}

	.home-article-category{
		margin:0 0 7px;
		font-size:11px;
		line-height:1.25;
		letter-spacing:1.4px;
	}

	.home-article-title{
		margin:0 0 10px;
		font-size:clamp(27px,8vw,34px);
		line-height:1.08;
		overflow-wrap:break-word;
	}

	.home-article-subtitle{
		margin-bottom:8px;
		font-size:clamp(15px,4.4vw,18px);
		line-height:1.32;
	}

	.home-article-content-line{
		margin-bottom:16px;
	}

	.home-article-text{
		max-width:none;
		margin-bottom:17px;
		font-size:15px;
		line-height:1.5;
	}

	/* ---------- Home: a quiénes ayudamos ---------- */

	.home-help{
		min-height:0;
		padding:54px 20px 58px;
		background-position:center;
	}

	.home-help-container{
		grid-template-columns:1fr;
		gap:30px;
	}

	.home-help-title{
		margin-bottom:12px;
		font-size:clamp(28px,8vw,34px);
		line-height:1;
	}

	.home-help-description{
		max-width:420px;
		font-size:14px;
		line-height:1.45;
	}

	.home-help-list{
		gap:13px;
	}

	.home-help-list li{
		padding-left:22px;
		font-size:13px;
		line-height:1.4;
	}

	/* ---------- Home: creencias ---------- */

	.home-beliefs{
		padding:58px 20px 64px;
	}

	.home-beliefs-title{
		font-size:clamp(27px,8vw,32px);
		line-height:1.08;
	}

	.home-beliefs-pillars{
		margin-top:38px;
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:25px;
	}

	.home-beliefs-item{
		max-width:300px;
	}

	.home-beliefs-line{
		width:88px;
		height:1px;
		margin:0;
	}

	.home-beliefs-number{
		font-size:46px;
		line-height:1;
	}

	/* ---------- Home: experiencia ---------- */

	.home-experience{
		height:auto;
		min-height:390px;
		padding:58px 20px;
		background:var(--red);
	}

	.home-experience::before{
		background-size:auto 100%;
		background-position:center;
	}

	.home-experience-container{
		display:flex;
		align-items:center;
	}

	.home-experience-content{
		width:min(78%,360px);
		margin-left:auto;
		text-align:right;
	}

	.home-experience-title{
		font-size:clamp(30px,8vw,36px);
		line-height:1;
	}

	.home-experience-text{
		font-size:14px;
		line-height:1.5;
	}

	/* ---------- Home: contacto ---------- */

	.home-contact{
		padding:58px 20px 46px;
	}

	.home-contact-container{
		display:grid;
		grid-template-columns:1fr;
		row-gap:32px;
	}

	.home-contact-form-wrapper,
	.home-contact-visual{
		grid-column:1;
	}

	.home-contact-form-wrapper{
		max-width:none;
	}

	.home-contact-row{
		grid-template-columns:1fr;
		gap:10px;
	}

	.home-contact-field,
	.home-contact-button{
		min-height:40px;
	}

	.home-contact-message{
		height:128px;
	}

	.home-contact-visual{
		height:clamp(185px,50vw,225px);
		background-size:auto 100%;
		background-position:center;
	}

	/* ---------- Servicios ---------- */

	.services-hero{
		height:clamp(540px,135vw,640px);
		min-height:0;
		padding:0 20px;
		background-size:cover;
	}

	.services-hero-container{
		padding-top:88px;
		padding-bottom:58px;
	}

	.services-hero-title-small{
		font-size:clamp(24px,7vw,31px);
		line-height:1.08;
	}

	.services-hero-title-large{
		font-size:clamp(36px,10vw,46px);
		line-height:1;
	}

	.branding-service,
	.business-service,
	.finance-service,
	.commercial-service{
		width:100%;
		height:auto;
		margin:24px 0 0;
		overflow:visible;
	}

	.branding-service-container,
	.business-service-container,
	.finance-service-container,
	.commercial-service-container{
		height:auto;
		display:flex;
		flex-direction:column;
	}

	.branding-service-image,
	.business-service-image,
	.finance-service-image,
	.commercial-service-image{
		position:relative;
		inset:auto;
		width:100%;
		height:clamp(210px,58vw,280px);
		flex:0 0 auto;
		background-size:cover;
		background-position:center;
	}

	.branding-service-card,
	.business-service-card,
	.finance-service-card,
	.commercial-service-card{
		position:relative;
		inset:auto;
		width:100%;
		min-height:0;
		height:auto;
		padding:31px 22px 38px;
		transform:none;
	}

	.branding-service-card,
	.finance-service-card{
		align-items:flex-start;
		text-align:left;
	}

	.business-service-card,
	.commercial-service-card{
		align-items:flex-end;
		text-align:right;
	}

	.branding-service-card .service-title,
	.business-service-card .service-title,
	.finance-service-card .service-title,
	.commercial-service-card .service-title{
		margin-bottom:14px;
		font-size:clamp(31px,9vw,39px);
		line-height:1;
		overflow-wrap:break-word;
	}

	.branding-service-card .service-text,
	.business-service-card .service-text,
	.finance-service-card .service-text,
	.commercial-service-card .service-text{
		margin-bottom:18px;
		font-size:15px;
		line-height:1.5;
	}

	.services-query{
		height:136px;
		padding:0 20px;
	}

	.service-anchor{
		scroll-margin-top:96px;
	}

	/* ---------- Nosotros ---------- */

	.about-hero{
		height:220px;
		padding:88px 20px 0;
		background-size:cover;
	}

	.about-hero-title{
		font-size:clamp(38px,11vw,48px);
		line-height:1;
	}

	.about-statement{
		height:auto;
		min-height:0;
		padding:58px 20px 64px;
	}

	.about-statement-title{
		font-size:clamp(34px,9vw,42px);
		line-height:1.05;
		overflow-wrap:break-word;
	}

	.about-story{
		height:auto;
		padding:64px 20px;
	}

	.about-story-container{
		height:auto;
		display:flex;
		flex-direction:column;
		gap:42px;
	}

	.about-story-quote,
	.about-story-text-one-trigger,
	.about-story-text-two-mask,
	.about-story-text-three-trigger{
		position:static;
		width:100%;
		transform:none;
	}

	.about-story-quote{
		font-size:clamp(34px,9vw,40px);
		line-height:1.05;
	}

	.about-story-text-one,
	.about-story-text-two,
	.about-story-text-three{
		width:100%;
		max-width:440px;
		text-align:left;
	}

	.about-value{
		height:auto;
		min-height:0;
		padding:64px 20px;
	}

	.about-value-container{
		height:auto;
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		gap:44px;
	}

	.about-value-title{
		font-size:clamp(39px,11vw,48px);
		line-height:1;
	}

	.about-value-line{
		width:calc(100% + 20px);
		margin-left:-20px;
	}

	.about-value-content{
		width:100%;
	}

	.about-cta{
		height:auto;
		min-height:210px;
		padding:48px 20px;
	}

	.about-cta-title{
		font-size:clamp(25px,7vw,32px);
		line-height:1.12;
	}

	/* ---------- Contacto ---------- */

	.contact-page{
		height:auto;
		min-height:100svh;
		padding:120px 20px 66px;
	}

	.contact-page-container{
		height:auto;
		padding-top:0;
	}

	.contact-page-title{
		margin-bottom:38px;
		font-size:16px;
		line-height:1.25;
		letter-spacing:4px;
	}

	.contact-page-layout{
		display:flex;
		flex-direction:column;
		gap:48px;
	}

	.contact-form-wrapper,
	.contact-information{
		width:100%;
	}

	.contact-form-row{
		grid-template-columns:1fr;
		gap:12px;
	}

	.contact-field,
	.contact-submit{
		min-height:42px;
	}

	.contact-message{
		height:132px;
	}

	.contact-phone{
		align-items:center;
	}

	.contact-phone-number{
		min-width:0;
		font-size:clamp(24px,7.4vw,31px);
		line-height:1.1;
		letter-spacing:2px;
		overflow-wrap:anywhere;
	}

	/* ---------- Casos ---------- */

	.cases-pending{
		min-height:100svh;
		padding:150px 20px 76px;
	}

	.cases-pending-container{
		transform:none;
	}

	.cases-pending h1{
		font-size:clamp(39px,12vw,58px);
		line-height:1;
		overflow-wrap:break-word;
	}

	.cases-pending-text{
		margin-top:22px;
	}

	.cases-pending-button{
		margin-top:26px;
	}

	.cases-pending-word{
		font-size:clamp(110px,38vw,180px);
	}

	/* ---------- Artículos: héroes ---------- */

	.article-hero,
	.risk-hero,
	.optimism-hero,
	.finance-hero,
	.commercial-hero{
		height:clamp(490px,125vw,560px);
		min-height:0;
		padding-left:20px;
		padding-right:20px;
		background-size:cover;
		background-position:center;
	}

	.article-hero-container,
	.risk-hero-container,
	.optimism-hero-container,
	.finance-hero-container,
	.commercial-hero-container{
		height:100%;
		padding-top:105px;
		padding-bottom:38px;
		transform:none;
		box-sizing:border-box;
	}

	.article-hero-container,
	.risk-hero-container,
	.finance-hero-container{
		align-items:center;
		justify-content:center;
	}

	.optimism-hero-container,
	.commercial-hero-container{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		justify-content:center;
	}

	.optimism-hero-content,
	.commercial-hero-content,
	.commercial-hero-title{
		width:100%;
		max-width:100%;
	}

	.article-hero-title-top,
	.risk-hero-title-top,
	.optimism-hero-title-top,
	.finance-hero-title-top{
		font-size:clamp(22px,6.7vw,29px);
		line-height:1.08;
	}

	.article-hero-title-main,
	.risk-hero-title-main,
	.optimism-hero-title-main,
	.finance-hero-title-main,
	.commercial-hero-title-top{
		font-size:clamp(34px,10vw,44px);
		line-height:1.04;
		white-space:normal;
		overflow-wrap:break-word;
	}

	.commercial-hero-title-main{
		font-size:clamp(23px,6.8vw,30px);
		line-height:1.1;
		white-space:normal;
	}

	.article-hero-title-main{
		gap:clamp(7px,2.4vw,12px);
	}

	.article-hero-title{
		width:100%;
	}

	.article-hero-title-main::before,
	.article-hero-title-main::after{
		width:clamp(22px,8vw,40px);
		height:2px;
		flex:0 1 40px;
	}

	.article-hero-subtitle,
	.risk-hero-subtitle,
	.optimism-hero-subtitle,
	.finance-hero-subtitle,
	.commercial-hero-subtitle{
		max-width:100%;
		margin-top:18px;
		font-size:clamp(10px,2.9vw,12px);
		line-height:1.55;
		letter-spacing:clamp(2px,.8vw,3px);
		overflow-wrap:break-word;
	}

	.article-hero-subtitle br,
	.risk-hero-subtitle br,
	.optimism-hero-subtitle br,
	.finance-hero-subtitle br,
	.commercial-hero-subtitle br{
		display:none;
	}

	.finance-hero-line{
		width:100%;
		max-width:360px;
	}

	.risk-socials,
	.optimism-socials,
	.finance-hero .article-socials,
	.commercial-hero .article-socials{
		margin-top:28px;
		margin-bottom:0;
	}

	/* ---------- Artículos: contenido fluido ---------- */

	.article-overview,
	.article-introduction,
	.article-priorities,
	.article-b2b,
	.article-costs,
	.article-decisions,
	.article-review,
	.article-closing,
	.risk-overview,
	.risk-external,
	.risk-economy,
	.risk-direction,
	.risk-closing,
	.optimism-meta-section,
	.optimism-overview,
	.optimism-principles,
	.optimism-closing,
	.finance-overview,
	.finance-resilience,
	.finance-ai,
	.finance-performance,
	.finance-capital,
	.commercial-overview,
	.consumer-experience,
	.commercial-models,
	.channel-management,
	.commercial-areas,
	.commercial-leadership{
		height:auto;
		min-height:0;
		padding-left:20px;
		padding-right:20px;
	}

	.article-overview,
	.risk-overview,
	.optimism-overview,
	.finance-overview,
	.commercial-overview{
		padding-top:52px;
		padding-bottom:60px;
	}

	.article-introduction,
	.article-priorities,
	.article-b2b,
	.article-costs,
	.article-decisions,
	.article-review,
	.risk-external,
	.risk-economy,
	.risk-direction,
	.optimism-principle,
	.finance-resilience,
	.finance-ai,
	.finance-performance,
	.finance-capital,
	.consumer-experience,
	.commercial-models,
	.channel-management,
	.commercial-areas,
	.commercial-leadership{
		padding-top:62px;
		padding-bottom:62px;
	}

	.article-closing,
	.risk-closing,
	.optimism-closing{
		padding-top:68px;
		padding-bottom:68px;
	}

	.article-meta,
	.risk-meta,
	.optimism-meta,
	.finance-meta,
	.commercial-meta{
		padding-left:0;
		padding-right:0;
	}

	.article-priorities-container,
	.article-decisions-container,
	.article-review-container,
	.risk-overview-grid,
	.risk-economy-container,
	.optimism-principles-container,
	.finance-performance-container,
	.finance-capital-container,
	.commercial-overview-grid{
		height:auto;
	}

	.article-costs-grid,
	.article-related-grid,
	.risk-related-grid,
	.optimism-related-grid,
	.finance-resilience-cards,
	.finance-ai-points,
	.commercial-areas-grid,
	.channel-management-grid{
		grid-template-columns:1fr;
	}

	.risk-economy-images{
		height:clamp(280px,82vw,350px);
	}

	.risk-economy-title{
		margin-left:0;
	}

	.optimism-principle-content,
	.optimism-principle-title,
	.optimism-principle:first-child .optimism-principle-title,
	.optimism-principle:nth-child(1) .optimism-principle-title,
	.optimism-principle:nth-child(2) .optimism-principle-title,
	.optimism-principle:nth-child(3) .optimism-principle-title,
	.optimism-principle:nth-child(4) .optimism-principle-title{
		width:100%;
		max-width:100%;
	}

	.optimism-principle:nth-child(1) .optimism-principle-content,
	.optimism-principle:nth-child(2) .optimism-principle-content,
	.optimism-principle:nth-child(3) .optimism-principle-content,
	.optimism-principle:nth-child(4) .optimism-principle-content{
		transform:none;
	}

	.optimism-principle-copy,
	.optimism-principle:nth-child(1) .optimism-principle-copy,
	.optimism-principle:nth-child(2) .optimism-principle-copy,
	.optimism-principle:nth-child(3) .optimism-principle-copy,
	.optimism-principle:nth-child(4) .optimism-principle-copy{
		width:100%;
		max-width:100%;
	}

	.finance-performance-title{
		width:100%;
		min-width:0;
	}

	.commercial-leadership-prompt{
		width:100%;
		margin-left:0;
		grid-template-columns:70px minmax(0,1fr);
	}

	.risk-economy-image-one,
	.risk-economy-image-two{
		background-size:cover;
		background-position:center;
	}

	.finance-image-band{
		height:clamp(145px,42vw,190px);
		background-size:cover;
		background-position:center;
	}

	.article-related,
	.risk-related,
	.optimism-related{
		margin-top:52px;
	}

	.article-related-card,
	.risk-related-card,
	.optimism-related-card{
		height:104px;
		background-size:cover;
		background-position:center;
	}

	.article-b2b-conclusion strong{
		font-size:clamp(29px,8.5vw,36px);
		line-height:1.08;
		overflow-wrap:anywhere;
	}

	.article-share-menu{
		right:50%;
		transform:translateX(50%);
	}

	.article-share-menu::before{
		right:50%;
		margin-right:-6px;
	}

	.article-page :is(h1,h2,h3,p),
	.risk-article-page :is(h1,h2,h3,p),
	.optimism-article-page :is(h1,h2,h3,p),
	.finance-article-page :is(h1,h2,h3,p),
	.commercial-article-page :is(h1,h2,h3,p){
		max-width:100%;
		overflow-wrap:break-word;
	}
}


/* ==================================================
   CELULARES COMPACTOS — HASTA 440 PX
================================================== */

@media (max-width:440px){

	.home-experience-content{
		width:84%;
	}

	.footer-modal-dialog{
		padding:32px 20px 24px;
	}

	.services-hero-title{
		width:100%;
	}

	.contact-detail-item{
		align-items:flex-start;
	}

	.article-meta,
	.risk-meta,
	.optimism-meta,
	.finance-meta,
	.commercial-meta{
		gap:12px;
	}

	.article-meta-item,
	.risk-meta-item,
	.optimism-meta-item,
	.finance-meta-item,
	.commercial-meta-item{
		min-width:0;
		font-size:11px;
		overflow-wrap:anywhere;
	}
}


/* ==================================================
   CELULARES MUY ESTRECHOS — HASTA 360 PX
================================================== */

@media (max-width:360px){

	header nav{
		padding-left:10px;
		padding-right:10px;
	}

	header .menu{
		gap:7px;
	}

	header .menu li a{
		font-size:9.5px;
	}

	.hero-home{
		--home-hero-visual:540px;
	}

	.hero-home .hero-content{
		top:310px;
	}

	.hero-home .services-grid{
		width:calc(100% - 24px);
	}

	.home-articles,
	.home-help,
	.home-beliefs,
	.home-experience,
	.home-contact{
		padding-left:16px;
		padding-right:16px;
	}

	.footer-main{
		grid-template-columns:1fr;
	}

	.footer-contact{
		grid-column:1;
	}
}


/* ==================================================
   AJUSTE FINO DE LOS CINCO ARTÍCULOS
   Mantiene intacta la composición desde 1025 px
================================================== */

@media (max-width:1024px){

	/* Las imágenes horizontales deben cubrir la sección completa.
	   El color rojo evita que aparezca el fondo gris si una imagen tarda. */
	.article-hero,
	.article-introduction,
	.article-priorities,
	.article-b2b,
	.article-decisions,
	.article-review,
	.risk-hero,
	.risk-external,
	.risk-economy,
	.risk-direction,
	.optimism-hero,
	.optimism-overview,
	.optimism-principles,
	.finance-hero,
	.finance-resilience,
	.finance-performance,
	.finance-image-band,
	.commercial-hero,
	.consumer-experience,
	.commercial-models,
	.channel-management,
	.commercial-areas,
	.commercial-leadership{
		background-color:var(--red);
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
	}

	/* Títulos largos: escala intermedia para tablet. */
	.article-priorities-title,
	.article-decisions-title,
	.article-review-title,
	.risk-external-title,
	.risk-economy-title,
	.risk-direction-title,
	.optimism-principle-title,
	.finance-resilience-title,
	.finance-ai-title,
	.finance-performance-title,
	.finance-capital-title,
	.consumer-experience-title,
	.commercial-models-title,
	.channel-management-title,
	.commercial-areas-title,
	.commercial-leadership-title{
		max-width:100%;
		overflow-wrap:normal;
		word-break:normal;
	}

	.commercial-areas-title span,
	.commercial-models-title span,
	.consumer-experience-title span{
		max-width:100%;
	}
}


@media (max-width:700px){

	/* ---------- Base común de lectura ---------- */

	.article-page,
	.risk-article-page,
	.optimism-article-page,
	.finance-article-page,
	.commercial-article-page{
		background:var(--red);
	}

	.article-page :is(h1,h2,h3),
	.risk-article-page :is(h1,h2,h3),
	.optimism-article-page :is(h1,h2,h3),
	.finance-article-page :is(h1,h2,h3),
	.commercial-article-page :is(h1,h2,h3){
		hyphens:none;
		word-break:normal;
		overflow-wrap:normal;
	}

	.article-overview-container,
	.article-introduction-container,
	.article-priorities-container,
	.article-b2b-container,
	.article-costs-container,
	.article-decisions-container,
	.article-review-container,
	.article-closing-container,
	.risk-overview-container,
	.risk-external-container,
	.risk-economy-container,
	.risk-direction-container,
	.risk-closing-container,
	.optimism-meta-container,
	.optimism-overview-container,
	.optimism-principles-container,
	.optimism-closing-container,
	.finance-overview-container,
	.finance-resilience-container,
	.finance-ai-container,
	.finance-performance-container,
	.finance-capital-container,
	.article-closing-container,
	.commercial-overview-container,
	.consumer-experience-container,
	.commercial-models-container,
	.channel-management-container,
	.commercial-areas-container,
	.commercial-leadership-container{
		height:auto;
		min-height:0;
	}

	/* ---------- Artículo 01 ---------- */

	.article-statistics{
		grid-template-columns:1fr;
		gap:34px;
	}

	.article-priorities-container,
	.article-costs-heading,
	.article-decisions-container{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
	}

	.article-priorities-container{
		gap:38px;
	}

	.article-priorities-title,
	.article-decisions-title,
	.article-review-title{
		font-size:clamp(28px,8.2vw,37px);
		line-height:1.08;
	}

	.article-priorities-title{
		margin:0;
	}

	.article-decisions-title{
		margin:0 0 34px;
	}

	.article-priorities-copy{
		width:min(92%,520px);
		margin:0 0 0 auto;
		align-self:flex-end;
		text-align:right;
	}

	.article-b2b-heading h2{
		font-size:clamp(58px,18vw,72px);
		line-height:.95;
	}

	.article-b2b-heading h3{
		font-size:clamp(20px,6vw,25px);
		line-height:1.12;
	}

	.article-costs-heading{
		gap:30px;
	}

	.article-costs-heading h2{
		font-size:clamp(29px,8.4vw,38px);
		line-height:1.08;
	}

	.article-decisions-copy{
		width:min(94%,560px);
		margin-top:0;
	}

	.article-decisions-copy + .article-decisions-copy{
		margin-top:30px;
	}

	.article-decisions-copy-right{
		margin-left:auto;
		text-align:right;
	}

	.article-review-container{
		display:flex;
		flex-direction:column-reverse;
		align-items:flex-start;
		gap:38px;
	}

	.article-review-title{
		width:min(94%,520px);
		margin:0 0 0 auto;
		align-self:flex-end;
		text-align:right;
	}

	/* ---------- Artículo 02 ---------- */

	.risk-overview-grid,
	.risk-economy-container{
		display:flex;
		flex-direction:column;
	}

	.risk-overview-grid{
		gap:44px;
	}

	.risk-statistics{
		width:100%;
	}

	.risk-external-title,
	.risk-economy-title,
	.risk-direction-title{
		font-size:clamp(28px,8vw,36px);
		line-height:1.1;
	}

	.risk-economy-container{
		gap:42px;
	}

	.risk-economy-images{
		position:relative;
		width:100%;
		height:clamp(280px,82vw,350px);
	}

	.risk-economy-image-one{
		top:0;
		left:0;
		width:84%;
		height:64%;
	}

	.risk-economy-image-two{
		left:16%;
		bottom:0;
		width:84%;
		height:62%;
	}

	.risk-economy-content{
		position:static;
		width:100%;
		margin-left:auto;
		transform:none;
		text-align:right;
	}

	.risk-economy-copy{
		margin-left:auto;
	}

	/* ---------- Artículo 03 ---------- */

	.optimism-statistics{
		grid-template-columns:1fr;
		gap:34px;
	}

	.optimism-principles-container{
		display:flex;
		flex-direction:column;
		gap:0;
	}

	.optimism-principle{
		display:flex;
		align-items:center;
		min-height:0;
		padding:58px 0;
		transform:none;
	}

	.optimism-principle-content,
	.optimism-principle:nth-child(1) .optimism-principle-content,
	.optimism-principle:nth-child(2) .optimism-principle-content,
	.optimism-principle:nth-child(3) .optimism-principle-content,
	.optimism-principle:nth-child(4) .optimism-principle-content{
		width:min(94%,620px);
		max-width:620px;
		transform:none;
	}

	.optimism-principle-title,
	.optimism-principle:nth-child(1) .optimism-principle-title,
	.optimism-principle:nth-child(2) .optimism-principle-title,
	.optimism-principle:nth-child(3) .optimism-principle-title,
	.optimism-principle:nth-child(4) .optimism-principle-title{
		width:100%;
		max-width:100%;
		font-size:clamp(26px,7.7vw,34px);
		line-height:1.1;
	}

	.optimism-principle-copy,
	.optimism-principle:nth-child(1) .optimism-principle-copy,
	.optimism-principle:nth-child(2) .optimism-principle-copy,
	.optimism-principle:nth-child(3) .optimism-principle-copy,
	.optimism-principle:nth-child(4) .optimism-principle-copy{
		width:100%;
		max-width:100%;
		margin-top:32px;
	}

	.optimism-principle-left .optimism-principle-content{
		margin-right:auto;
		text-align:left;
	}

	.optimism-principle-right .optimism-principle-content{
		margin-left:auto;
		text-align:right;
	}

	/* ---------- Artículo 04 ---------- */

	.finance-statistics{
		grid-template-columns:1fr;
		gap:30px;
	}

	.finance-resilience-heading,
	.finance-ai-bottom,
	.finance-performance-container,
	.finance-capital-container{
		display:flex;
		flex-direction:column;
	}

	.finance-resilience-heading{
		gap:30px;
	}

	.finance-resilience-intro{
		width:min(92%,520px);
		margin-left:auto;
		text-align:right;
	}

	.finance-resilience-title,
	.finance-ai-title,
	.finance-performance-title,
	.finance-capital-title{
		font-size:clamp(27px,8vw,35px);
		line-height:1.1;
	}

	.finance-ai-title{
		margin:0;
	}

	.finance-ai-title span{
		font-size:clamp(20px,6vw,26px);
		line-height:1.15;
	}

	.finance-resilience-concept{
		grid-template-columns:1fr;
		gap:16px;
	}

	.finance-ai-points,
	.finance-resilience-cards{
		grid-template-columns:1fr;
	}

	.finance-ai-bottom{
		gap:42px;
	}

	.finance-ai-quote{
		width:min(94%,470px);
		margin-left:auto;
	}

	.finance-ai-quote p{
		font-size:clamp(24px,7.3vw,31px);
		line-height:1.1;
	}

	.finance-performance-container{
		gap:42px;
	}

	.finance-performance-title{
		min-width:0;
	}

	.finance-performance-list{
		width:min(94%,520px);
		margin-left:auto;
		padding-top:0;
		text-align:right;
	}

	.finance-performance-list li{
		grid-template-columns:1fr 30px;
		text-align:right;
	}

	.finance-performance-list li .finance-performance-icon{
		grid-column:2;
		grid-row:1;
	}

	.finance-performance-closing{
		margin-top:8px;
	}

	.finance-capital-title{
		order:1;
		width:min(94%,520px);
		margin:0 0 0 auto;
		text-align:right;
	}

	.finance-capital-copy{
		order:2;
		margin:38px 0 0;
		padding:0;
	}

	.finance-capital-prompt{
		order:3;
		margin-top:34px;
	}

	.finance-capital-points{
		order:4;
		margin-top:18px;
	}

	.finance-capital-closing{
		order:5;
		margin-top:46px;
	}

	/* ---------- Artículo 05 ---------- */

	.commercial-hero-title-top{
		font-size:clamp(27px,8.5vw,38px);
		line-height:1.08;
	}

	.commercial-hero-title-main{
		font-size:clamp(20px,6.2vw,28px);
		line-height:1.12;
	}

	.commercial-overview-grid,
	.consumer-experience-bottom,
	.commercial-models-content,
	.commercial-leadership-main{
		display:flex;
		flex-direction:column;
	}

	.commercial-overview-grid{
		gap:42px;
	}

	.commercial-statistics{
		width:100%;
	}

	.consumer-experience-title,
	.commercial-models-title,
	.channel-management-title,
	.commercial-areas-title,
	.commercial-leadership-title{
		font-size:clamp(26px,7.8vw,34px);
		line-height:1.1;
	}

	.consumer-experience-title span,
	.commercial-models-title span,
	.commercial-areas-title span,
	.channel-management-subtitle{
		font-size:clamp(21px,6.5vw,28px);
		line-height:1.14;
	}

	.consumer-experience-bottom,
	.commercial-models-content{
		gap:38px;
	}

	.consumer-experience-list,
	.commercial-models-list{
		width:100%;
		margin-left:0;
		margin-right:0;
	}

	.consumer-experience-copy{
		width:min(92%,420px);
		max-width:420px;
		margin:0 0 0 auto;
		text-align:right;
	}

	.commercial-models-list{
		text-align:right;
	}

	.commercial-models-point{
		grid-template-columns:1fr 12px;
		padding-right:0;
	}

	.commercial-models-point span{
		grid-column:2;
		grid-row:1;
	}

	.commercial-models-point p{
		grid-column:1;
		grid-row:1;
		text-align:right;
	}

	.channel-management-heading{
		display:block;
	}

	.channel-management-title-row{
		display:block;
	}

	.channel-management-title-line{
		display:none;
	}

	.channel-management-grid,
	.commercial-areas-grid{
		grid-template-columns:1fr;
	}

	.commercial-areas-grid{
		gap:18px;
	}

	.commercial-area-card{
		min-height:0;
		height:auto;
		padding:24px 22px;
	}

	.commercial-leadership-main{
		gap:38px;
	}

	.commercial-leadership-prompt{
		width:100%;
		margin-left:0;
		grid-template-columns:70px 1fr;
	}

	.commercial-leadership-list{
		width:min(92%,420px);
		margin-left:auto;
		align-items:stretch;
	}

	.commercial-leadership-point{
		grid-template-columns:1fr 64px;
	}

	.commercial-leadership-point span{
		grid-column:2;
		grid-row:1;
	}

	.commercial-leadership-point strong{
		grid-column:1;
		grid-row:1;
		font-size:clamp(21px,6.4vw,27px);
		line-height:1.25;
		text-align:right;
	}
}


@media (max-width:390px){

	.article-hero,
	.risk-hero,
	.optimism-hero,
	.finance-hero,
	.commercial-hero{
		height:clamp(470px,145vw,530px);
	}

	.article-hero-title-main,
	.risk-hero-title-main,
	.optimism-hero-title-main,
	.finance-hero-title-main{
		font-size:clamp(31px,9.5vw,38px);
	}

	.commercial-statistic{
		grid-template-columns:42px 78px 1fr;
		column-gap:10px;
	}

	.commercial-statistic strong{
		font-size:36px;
		line-height:1;
	}

	.commercial-statistic p{
		font-size:13px;
		line-height:1.35;
	}

	.finance-capital-point,
	.consumer-experience-point{
		grid-template-columns:48px 1fr;
		column-gap:14px;
	}
}
