:root{
	--azul-oscuro:#0A2A4F;
	--verde-azulado:#1CA6A6;
	--menu-bg:#ececec;
	--gris:#808080;
	--bg:#ffffff;
	--text:#17202a;
	--max-width:1100px;
	--nav-height:64px;

	/* Espaciado estandarizado */
	--space-xxs:4px;
	--space-xs:8px;
	--space-sm:12px;
	--space-md:16px;
	--space-lg:24px;
	--space-xl:48px;
}
/* Reset ligero */
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
body{display:flex;flex-direction:column;min-height:100vh}

/* Ritmo tipográfico global */
a{color:var(--azul-oscuro);text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-md) 0}
p{margin:0 0 var(--space-md) 0}
/* Justificar texto de párrafos y elementos de lista dentro del contenedor principal */
.container p, .container li{ text-align:justify }
a{color:var(--azul-oscuro);text-decoration:none}
a{color:var(--azul-oscuro);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:calc(100% - 32px);max-width:var(--max-width);margin:0 auto;padding:var(--space-lg)}

main{flex:1}

/* Nav */
.site-nav{background:var(--menu-bg);color:var(--text)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;color:var(--text)}
.brand-info{display:flex;flex-direction:column}
.brand-text{font-weight:700;font-size:1.125rem;line-height:1.1}
.brand-slogan{font-size:0.9rem;color:var(--gris);line-height:1;margin-top:2px}
.brand img{width:64px;height:64px;object-fit:contain}
.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.nav-links a{color:var(--text);padding:14px 6px;display:inline-block;font-weight:700;position:relative;transition:color .18s ease, transform .18s ease}
.nav-links a::after{content:'';position:absolute;left:8px;right:8px;bottom:8px;height:2px;background:var(--azul-oscuro);transform:scaleX(0);transform-origin:left center;transition:transform .18s ease}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--azul-oscuro);transform:translateY(-2px)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-toggle{display:none;background:transparent;border:0;color:var(--text);font-size:20px;font-weight:700}

/* Small icons used in nav and contact lines */
.nav-icon{width:20px;height:20px;vertical-align:middle;margin-right:8px;display:inline-block;object-fit:contain}
.contact-icon{width:20px;height:20px;vertical-align:middle;margin-right:8px;display:inline-block;object-fit:contain}

/* Contact actions (WhatsApp / Email / Tel) */
.contact-actions{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.contact-action{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #eef4f4;color:var(--text);text-decoration:none;box-shadow:0 2px 8px rgba(10,42,79,0.03);transition:transform .12s ease,box-shadow .12s ease}
.contact-action:hover,.contact-action:focus{transform:translateY(-3px);box-shadow:0 12px 28px rgba(10,42,79,0.06)}
.contact-action .contact-icon{width:24px;height:24px}
@media(min-width:720px){.contact-actions{flex-direction:row}}

/* Hero */
.hero{background:rgba(28,166,166,0.03);padding:var(--space-xl) 0}
.hero .lead{color:var(--gris);margin-top:var(--space-xs)}

.btn{display:inline-block;padding:10px 16px;border-radius:8px;border:1px solid transparent;text-decoration:none}
.btn.primary{background:var(--verde-azulado);color:#fff}
.btn.ghost{background:transparent;border-color:var(--verde-azulado);color:var(--azul-oscuro);margin-left:var(--space-xs)}

/* Grid services */
.grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}
.services article{background:#fff;border:1px solid #f0f0f0;padding:var(--space-md);border-radius:8px;display:flex;gap:12px;align-items:flex-start}

/* Product list with left icons (used by pages/productos.html) */
.product-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.product-list li{display:grid;grid-template-columns:56px 1fr;border-radius:10px;padding:12px;align-items:center;gap:14px;background:#fff;border:1px solid #f1f5f6;transition:transform .14s ease,box-shadow .14s ease}
.product-list li:not(:last-child){box-shadow:0 1px 0 rgba(10,42,79,0.02)}
.product-list li:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(10,42,79,0.06)}
.product-icon{width:56px;height:56px;flex:0 0 56px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:transparent;border:0;color:var(--verde-azulado);font-size:24px;line-height:1}
.product-content{display:flex;flex-direction:column}
.product-title{font-weight:700;display:block}
.product-desc{color:var(--gris);font-size:0.95rem;margin-top:6px}

@media(max-width:719px){
 	.product-list li{grid-template-columns:48px 1fr;padding:10px}
 	.product-icon{width:48px;height:48px;border-radius:8px;font-size:22px}
 	.product-desc{font-size:0.95rem}
}

@media(min-width:1080px){
 	.product-list{gap:16px}
 	.product-list li{grid-template-columns:72px 1fr;padding:14px}
 	.product-icon{width:72px;height:72px;border-radius:12px;font-size:28px}
 	.product-desc{font-size:1rem}
}

/* Design enhancements: headings, section spacing and CTA */
main.container h1{font-size:1.9rem;text-align:center;margin-bottom:18px;color:var(--azul-oscuro);letter-spacing:-0.6px}
@media(min-width:1080px){main.container h1{font-size:2.4rem}}

section{margin-bottom:28px;padding:6px 0}
section h2{display:flex;align-items:center;gap:12px;font-size:1.2rem;color:var(--azul-oscuro);margin-bottom:12px}
section h2::before{content:'';display:inline-block;width:36px;height:6px;background:var(--verde-azulado);border-radius:6px}

.product-title{font-size:1.05rem;color:var(--azul-oscuro)}
.product-desc{color:#55636a}

.product-cta{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:8px;background:var(--azul-oscuro);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(10,42,79,0.06);transition:transform .12s ease,box-shadow .12s ease}
.product-cta:hover,.product-cta:focus{transform:translateY(-3px);box-shadow:0 18px 36px rgba(10,42,79,0.08)}

/* Reduce card intensity on very small screens */
@media(max-width:420px){
	.product-list li{padding:8px;grid-template-columns:40px 1fr}
	.product-icon{width:36px;height:36px}
	main.container h1{font-size:1.5rem}
}

.service-icon{width:56px;height:56px;flex:0 0 56px;object-fit:contain;margin-top:var(--space-xxs)}
.service-content{display:flex;flex-direction:column}
.services h2{margin:0 0 var(--space-xxs) 0}

.about{margin-top:var(--space-lg)}

/* Advantages section below the slider */
.advantages{padding:var(--space-lg) 0;background:transparent}
.advantages h2{margin:0 0 var(--space-sm) 0;font-size:1.25rem}
.advantages p{color:var(--gris);margin-bottom:var(--space-md)}
.advantages-list{display:grid;grid-template-columns:1fr;gap:var(--space-sm);list-style:disc;padding-left:1.25rem;margin:0}
@media(min-width:720px){.advantages-list{grid-template-columns:repeat(2,1fr)}}

/* Footer */
.site-footer{background:#f8f9fb;color:var(--text);padding:24px 0;border-top:1px solid #e6e6e6}
.footer-grid{display:grid;grid-template-columns:1fr;gap:16px}
.footer-meta{margin-top:var(--space-sm);color:var(--gris);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}

.footer-brand{display:flex;align-items:center;gap:10px}
.footer-brand img{width:40px;height:40px;object-fit:contain}
.footer-brand .brand-text{font-weight:700;font-size:0.95rem}

/* Animación sutil para el logo (menú y footer) */
@keyframes floatLogo{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(-0.6deg)}100%{transform:translateY(0) rotate(0deg)}}

.brand img,.footer-brand img{animation:floatLogo 6.5s ease-in-out infinite;will-change:transform;transition:transform .18s ease}
.brand img:hover,.brand img:focus,.footer-brand img:hover,.footer-brand img:focus{transform:translateY(-3px) scale(1.02)}

/* Preferencia de movimiento reducida: desactivar animación del logo */
@media (prefers-reduced-motion: reduce){
	.brand img,.footer-brand img{animation:none !important;transition-duration:0.001ms !important}
}

/* Footer social */
.footer-social{display:flex;align-items:center;gap:10px}
.footer-social-link{color:var(--azul-oscuro);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease}
.footer-social-link:hover,.footer-social-link:focus{color:var(--verde-azulado)}
.footer-social img{width:28px;height:28px;display:block}

.whatsapp-fab img{width:56px;height:56px;display:block}

/* CNSF logo in footer: compact and aligned */
.cnsf-regulated{display:flex;align-items:center;gap:10px;margin-left:var(--space-sm)}
.cnsf-regulated a{display:inline-flex;align-items:center;gap:8px;color:var(--gris);text-decoration:none}
.cnsf-logo{width:40px;height:auto;max-height:36px;object-fit:contain;display:block}

@media(max-width:719px){
	.cnsf-logo{width:28px;max-height:28px}
	.footer-meta{flex-direction:column;align-items:flex-start;gap:8px}
	.cnsf-regulated{margin-left:0}
}

/* WhatsApp FAB */
.whatsapp-fab{position:fixed;right:var(--space-lg);bottom:var(--space-lg);background:transparent;padding:var(--space-xs);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:0;box-shadow:none;text-decoration:none}
.whatsapp-fab .wa-icon{display:block}

/* Responsive */
@media(min-width:720px){
	.grid{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:repeat(4,1fr)}
	.nav-toggle{display:none}
	.footer-brand img{width:48px;height:48px}
}

@media(min-width:1080px){
	.brand img{width:80px;height:80px}
	.brand-text{font-size:1.5rem}
	.footer-brand img{width:56px;height:56px}
}
@media(max-width:719px){
	.nav-inner{position:relative;z-index:20;height:64px}
	/* Full-screen sliding panel starting below the nav bar so logo remains visible */
	.nav-links{
		position:fixed;
		top:64px; /* kept for older browsers */
		top:var(--nav-height,64px);
		right:0;
		left:0;
		bottom:0;
		width:100%;
		height:calc(100vh - var(--nav-height,64px));
		transform:translateX(100%);
		transition:transform .32s ease;
		background:var(--menu-bg); /* match desktop menu background */
		padding:24px 20px;
		border-radius:0;
		flex-direction:column;
		display:flex;
		gap:12px;
		z-index:15;
		overflow:auto;
	}
	.nav-links.show{transform:translateX(0)}
	.nav-toggle{display:inline-block}
}

/* Make nav sticky/fixed on small screens so logo and menu button stay visible */
@media(max-width:719px){
	.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--menu-bg);backdrop-filter:blur(4px);border-bottom:1px solid #e9e9ef}
	.nav-inner{height:var(--nav-height);align-items:center}
	body{padding-top:var(--nav-height)}
	/* ensure the toggle and brand remain visible */
	.brand img{width:40px;height:40px}
	.brand-text{font-size:1rem}
	#nav-toggle{position:relative;z-index:70}
}

@media(max-width:719px){
	.services article{display:block}
	.service-icon{width:40px;height:40px;flex:none;margin-bottom:var(--space-sm)}
}

/* Accessibility focus */
a:focus{outline:3px solid rgba(28,166,166,0.28);outline-offset:3px}

/* Slider de banners */
.banner-slider{position:relative;overflow:hidden;border-radius:8px;min-height:420px;background:#f5f5f5}
.banner-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;display:flex;align-items:center;justify-content:center}
.banner-slider .slide.active{opacity:1;position:relative}
.banner-slider .slide img{width:100%;height:auto;max-height:520px;object-fit:contain;display:block}
.slider-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;display:flex;gap:8px;z-index:10}
.slider-dots .dot{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,0.45);border:0;padding:0;cursor:pointer}
.slider-dots .dot.active{background:#fff}
.slider-dots .dot:focus{outline:3px solid rgba(255,255,255,0.22);outline-offset:4px}

@media(min-width:720px){
	.banner-slider{min-height:720px}
	.banner-slider .slide img{max-height:720px}
}

/* Utilidades */
.is-hidden{display:none !important}

/* CNSF footer: icon at left, text at right, aligned */
.cnsf-row{display:flex;align-items:center;justify-content:center;padding:0.5rem 0}
.cnsf-link{display:inline-flex;flex-direction:column;align-items:center;gap:0.25rem;color:inherit;text-decoration:none}
.cnsf-link .cnsf-logo{width:36px;height:auto;display:block}
/* Make CNSF caption match footer meta styling */
.cnsf-link span{color:var(--gris);font-size:0.85rem;line-height:1;text-align:center}

/* Subtle animation for CNSF logo: only on hover */
.cnsf-logo{
	will-change:transform;
	transform-origin:center;
	transition:transform .28s ease;
}
@keyframes cnsfHover{
	0%{transform:translateY(0) scale(1)}
	40%{transform:translateY(-6px) scale(1.04)}
	100%{transform:translateY(0) scale(1)}
}
.cnsf-link:hover .cnsf-logo,
.cnsf-link:focus .cnsf-logo{
	animation: cnsfHover 600ms ease-in-out forwards;
}
@media (prefers-reduced-motion: reduce){
	.cnsf-logo{animation:none !important;transition:none !important}
}

/* Footer legal column styles */
.footer-legal{display:flex;flex-direction:column}
.footer-legal-list{list-style:none;margin:0;padding:0}
.footer-legal-list li{margin:var(--space-xs) 0}
.footer-legal-list a{color:var(--azul-oscuro)}
/* Center footer meta (copyright) */
.footer-meta{text-align:center;padding:0.5rem 0;display:flex;justify-content:center;align-items:center}

/* Responsive tuning overrides (late in file to take precedence) */
/* Banner/hero sizes */
.hero{padding:var(--space-md) 0}
.banner-slider{min-height:320px}
@media(min-width:720px){
	.banner-slider{min-height:480px}
}
@media(min-width:1080px){
	.banner-slider{min-height:520px}
	.banner-slider .slide img{max-height:520px}
}

/* Advantages spacing */
.advantages{padding:var(--space-md) 0}
.advantages h2{font-size:1.25rem;margin-bottom:var(--space-sm)}
.advantages p{margin-bottom:var(--space-md)}

/* Services grid responsiveness */
@media(min-width:720px){
	.grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1080px){
	.grid{grid-template-columns:repeat(3,1fr)}
	.services article{align-items:center}
}

/* Footer layout: 1 col mobile, 3 cols tablet, 4 cols desktop */
@media(min-width:720px){
	.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:18px}
}
@media(min-width:1080px){
	.footer-grid{grid-template-columns:repeat(4,1fr);gap:20px}
}

/* Footer typography and spacing */
.site-footer h4{margin:0 0 var(--space-sm);font-size:0.95rem}
.footer-contact p,.footer-legal-list li{margin:var(--space-xs) 0}

/* Small-screen adjustments */
@media(max-width:719px){
	.container{padding:var(--space-md)}
	.footer-grid{gap:12px}
	.footer-meta{font-size:0.85rem}
	.whatsapp-fab{right:var(--space-sm);bottom:var(--space-sm)}
	.whatsapp-fab img{width:48px;height:48px}
	/* Ocultar el logo en el footer en vista móvil */
		.footer-brand img{display:none}
		/* Ocultar también el texto de la marca en móvil */
		.footer-brand .brand-text{display:none}
}

/* Slightly reduce footer brand spacing on very small screens */
@media(max-width:420px){
	.footer-brand{gap:var(--space-xs)}
	.footer-brand .brand-text{font-size:0.9rem}
}

/* Improve link hit area in footer */
.footer-legal-list a, .footer-contact a{display:inline-block;padding:4px 2px}

/* Resaltar enlace de Carta de Presentación en el footer (solo color y negrita) */
.presentacion-link{color:#0A2A4F;font-weight:700;display:inline-block;padding:0 2px;text-decoration:none;transition:color .12s ease,transform .12s ease}
.presentacion-link:hover,.presentacion-link:focus{color:var(--azul-oscuro);transform:translateY(-1px)}
.presentacion-link:focus{outline:3px solid rgba(28,166,166,0.18);outline-offset:4px}

/* Animaciones sutiles para footer y enlaces */
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.site-footer{opacity:0;transform:translateY(8px);animation:fadeInUp .56s ease forwards .12s}

.footer-social-link{transition:transform .18s ease,box-shadow .18s ease}
.footer-social-link:hover,.footer-social-link:focus{transform:translateY(-4px) scale(1.03)}

.presentacion-link{transition:color .12s ease,transform .12s ease,text-shadow .12s ease}
.presentacion-link:hover,.presentacion-link:focus{text-shadow:0 1px 0 rgba(0,0,0,0.04);transform:translateY(-1px)}

/* Respetar preferencias de reducción de movimiento */
@media (prefers-reduced-motion: reduce){
	*{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}
}

/* Subtle WhatsApp FAB animation */
@keyframes wa-pulse {
	0%{transform:translateY(0)}
	50%{transform:translateY(-6px)}
	100%{transform:translateY(0)}
}
.whatsapp-fab{will-change:transform;background:transparent}
.whatsapp-fab .wa-icon{transition:transform .18s ease,box-shadow .18s ease;background:transparent;border-radius:999px;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}
/* gentle periodic pulse (translate only to avoid scaling artifacts) */
.whatsapp-fab .wa-icon{animation:wa-pulse 6.5s ease-in-out infinite}
.whatsapp-fab:hover .wa-icon,.whatsapp-fab:focus .wa-icon{transform:translateY(-4px);box-shadow:0 10px 20px rgba(10,42,79,0.12)}

@media (prefers-reduced-motion: reduce){
	.whatsapp-fab .wa-icon{animation:none !important;transition:none !important}
}

/* --- Mejoras específicas para la página Nosotros --- */
.values-block,.methodology-block{display:flex;flex-direction:column;gap:16px;margin-bottom:var(--space-lg);align-items:stretch}
.values-figure,.methodology-figure{max-width:420px;margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #f0f0f0;box-shadow:0 6px 18px rgba(10,42,79,0.06)}
.values-figure img,.methodology-figure img{display:block;width:100%;height:auto;object-fit:cover}
.values-figure figcaption,.methodology-figure figcaption{font-size:0.95rem;color:var(--gris);padding:10px 12px;text-align:center}
.values-list{margin:0;padding-left:1.1rem}
.values-list li{margin:8px 0}
.methodology-steps{margin:0;padding-left:1.25rem;list-style:disc}

.faq-section{margin-top:var(--space-lg);padding:18px;border-radius:10px;background:transparent;border:1px solid #f1f5f6}
.faq-list details{background:#fff;border-radius:8px;padding:12px 14px;margin-bottom:10px;border:1px solid #eef4f4}
.faq-list summary{cursor:pointer;font-weight:700;padding:0;list-style:none}
.faq-list details[open]{box-shadow:0 8px 18px rgba(10,42,79,0.06)}
.faq-list p{margin:8px 0 0 0;color:var(--gris)}
.article-meta{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--menu-bg);font-size:.85rem;color:var(--gris);text-align:right}

@media(min-width:820px){
	/* Desktop: imágenes a la izquierda, texto a la derecha */
	.values-block{flex-direction:row;align-items:center;gap:28px}
	.values-figure{flex:0 0 340px;order:0;margin:0}
	.values-list{flex:1;order:1;padding-left:18px}

	.methodology-block{flex-direction:row;align-items:center;gap:28px}
	.methodology-figure{flex:0 0 340px;order:0;margin:0}
	.methodology-steps{flex:1;order:1;padding-left:18px}

	/* Asegurar altura visual consistente y centrar contenido textual */
	.values-figure img,.methodology-figure img{height:100%;max-height:260px;object-fit:cover}
	.values-list,.methodology-steps{align-self:center}
}

/* Mejoras generales de responsive y espaciado */
@media (max-width:819px){
	.container{padding:var(--space-md)}
	.values-block,.methodology-block{flex-direction:column;gap:14px}
	.values-figure,.methodology-figure{width:100%;max-width:100%;max-height:none;margin:0}
	.values-figure img,.methodology-figure img{max-height:360px;object-fit:cover}
	.values-list,.methodology-steps{padding-left:1rem}
	.faq-section{padding:12px}
	.faq-list details{padding:10px}
	.whatsapp-fab{right:var(--space-sm);bottom:var(--space-sm)}
}

@media (min-width:820px){
	.container{padding:var(--space-lg)}
	.values-figure,.methodology-figure{width:360px;max-width:360px}
	.values-figure img,.methodology-figure img{height:220px;object-fit:cover}
	.values-list li,.methodology-steps li{margin-bottom:10px}
	.faq-list details{padding:12px 14px}
}

/* Mejoras de accesibilidad y micro-interacciones */
.faq-list details{transition:box-shadow .18s ease,transform .12s ease}
.faq-list summary{outline-offset:6px}
.values-list,.methodology-steps{line-height:1.5}

/* --- Animaciones sutiles aplicadas al hacer scroll --- */
.animate-on-scroll{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}
.animate-on-scroll.in-view{opacity:1;transform:none}

.values-figure,.methodology-figure{transition:transform .28s ease,box-shadow .28s ease}
.values-figure:hover,.methodology-figure:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 30px rgba(10,42,79,0.08)}

/* Apply a gentle reveal to headings */
h1, h2{transition:transform .36s ease,opacity .36s ease}
.animate-heading{opacity:0;transform:translateY(6px)}
.animate-heading.in-view{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
	.animate-on-scroll,.values-figure,.methodology-figure,h1,h2{transition:none !important;animation:none !important;transform:none !important;opacity:1 !important}
}

/* ---- Estilos específicos para la Carta de Presentación (pages/presentacion.html) ---- */
.letter{
	background:#ffffff;
	border:1px solid #eef4f6;
	padding:28px 22px;
	border-radius:12px;
	box-shadow:0 8px 20px rgba(10,42,79,0.04);
	max-width:880px;
	margin:18px auto;
	line-height:1.7;
}
.letter header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:18px}
.page-logo{width:120px;height:auto;display:block}
.letter h1{margin-top:6px;margin-bottom:6px;font-size:1.75rem;color:var(--azul-oscuro)}
.letter .date{color:var(--gris);align-self:flex-start;margin-bottom:12px}
.letter p{color:var(--text);font-size:1rem}
.signature-block{margin:12px 0}
.signature-img{max-width:240px;height:auto;display:block}
.letter-footer{margin-top:18px;color:var(--gris);font-size:0.95rem;text-align:left}

@media(max-width:719px){
	.letter{padding:18px 14px;margin:12px}
	.page-logo{width:84px}
	.letter h1{font-size:1.4rem}
	.signature-img{max-width:180px}
}

@page { size: Letter; margin: 1in }

@media print{
	/* Hide interactive and navigation UI for print */
	.site-nav,.whatsapp-fab,#menu-placeholder,#footer-placeholder, .site-footer{display:none !important}

	/* Ensure the printed canvas matches Carta (Letter) dimensions and readable typography */
	html,body{width:8.5in;height:11in;background:#fff;color:#000}
	body{padding:0;margin:0}

	/* Use more compact container to fit within 1in margins */
	.container{max-width:6.5in;width:100%;padding:0;margin:0 auto}

	/* Present the letter as a clean printable document */
	.letter{box-shadow:none;border:1px solid #ddd;padding:0.6in;border-radius:0;background:transparent;max-width:100%;margin:0}
	.letter header{align-items:flex-start}
	.page-logo{width:110px}
	.letter h1{font-size:18pt;margin-top:6px;margin-bottom:6px}
	.letter p{font-size:11pt;color:#111}

	/* Signature sizing for print */
	.signature-img{max-width:220px;height:auto;display:block}

	/* Avoid breaking the letter across pages when possible */
	.letter{page-break-inside:avoid;orphans:3;widows:3}
	img{page-break-inside:avoid}

	/* Ensure links are visible in print */
	a[href]:after{content:" (" attr(href) ")";font-size:90%;color:#000}

	/* Remove shadows and UI accents */
	*{box-shadow:none !important}
}

/* ---- Fin estilos carta ---- */




