/* =========================================================
   Pampa y Mar · capa propia sobre la plantilla Rentgo
   Colores tomados del logo: naranjo, mar, cielo y arena.
   ========================================================= */

:root{
	--primary-color: #0A1F2E;
	--secondary-color: #FFFFFF;
	--bg-color: #FBF4EA;
	--text-color: #3E4D5A;
	--accent-color: #FF5600;
	--divider-color: #0A1F2E1A;
	--dark-divider-color: #FFFFFF1F;
	--mar: #0078B6;
	--cielo: #A1DAF0;
	--arena: #F8CB96;
	--arena-oscura: #F4AD77;
	--duna: #614429;
	--naranjo-claro: #FF7A33;
}

body{ background-color: var(--bg-color); }
::selection{ background: var(--accent-color); color: #fff; }

/* Botones con texto blanco sobre naranjo */
.btn-default.btn-highlighted{ color: #fff; }
.btn-default.btn-highlighted:hover{ color: var(--primary-color); }

/* Logo en el encabezado */
.navbar-brand img{ width: 210px; height: auto; }
.footer-logo img{ width: 230px; height: auto; }

/* Íconos propios */
.ico{ width: 28px; height: 28px; display: inline-block; flex: none; }
.ico--chico{ width: 20px; height: 20px; }
.icon-box .ico{ position: relative; z-index: 1; }

.about-us-body-item .icon-box,
.why-choose-item .icon-box,
.core-features-item .icon-box,
.service-item .icon-box{
	position: relative;
	width: 64px; height: 64px;
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #FF56001A;
	color: var(--accent-color);
	transition: background-color .4s, color .4s, transform .4s;
}
.about-us-body-item .icon-box .ico,
.why-choose-item .icon-box .ico,
.core-features-item .icon-box .ico,
.service-item .icon-box .ico{ width: 30px; height: 30px; }
.service-item:hover .icon-box,
.why-choose-item:hover .icon-box{ background: var(--accent-color); color: #fff; transform: rotate(-8deg); }

.about-contact-box .icon-box{ color: var(--primary-color); }
.about-contact-box .icon-box .ico{ width: 22px; height: 22px; transition: color .4s; }
.about-contact-box:hover .icon-box .ico{ color: #fff; }
.dark-section .about-contact-box .icon-box{ background: var(--white-color); }

/* =========================================================
   PORTADA: paisaje animado + van
   ========================================================= */
.hero.hero-pym{
	min-height: max(960px, 100vh);
	padding: 175px 0 0;
	display: flex;
	flex-direction: column;
	align-content: initial;
	background: #05121c;
	isolation: isolate;
}
.hero.hero-pym::before{
	background: linear-gradient(180deg, rgba(4,14,22,.82) 0%, rgba(4,14,22,.45) 38%, rgba(4,14,22,0) 58%);
	opacity: 1;
	z-index: 1;
}
.hero-pym .hero-content .section-title h1{ font-size: clamp(40px, 5vw, 68px); }
.hero-pym .hero-content{ max-width: 960px; }
.hero-pym .section-title p{ font-size: 18px; }
.hero-pym__contenido{ z-index: 3; }

.escena{ position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.escena__cielo{
	position: absolute; inset: 0;
	background: linear-gradient(180deg, #05121c 0%, #0a2a43 26%, #1b5378 44%, #8f5a5c 56%, #e27845 62%, #ffae63 66%, #ffd08e 69%);
}
.escena__estrellas{
	position: absolute; inset: 0 0 50% 0;
	background-image:
		radial-gradient(1.5px 1.5px at 20px 30px, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 80px 120px, #fff 50%, transparent 51%),
		radial-gradient(1.2px 1.2px at 150px 60px, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 230px 160px, #fff 50%, transparent 51%),
		radial-gradient(1.4px 1.4px at 290px 20px, #fff 50%, transparent 51%);
	background-size: 320px 220px;
	opacity: .55;
	animation: titilar 4s ease-in-out infinite alternate;
	-webkit-mask-image: linear-gradient(180deg, #000 30%, transparent);
	mask-image: linear-gradient(180deg, #000 30%, transparent);
}
.escena__sol{
	position: absolute;
	left: 18%;
	bottom: 400px;
	width: 300px; height: 300px;
	margin: 0 0 -150px -150px;
	border-radius: 50%;
	background: radial-gradient(circle, #fff1c9 0 22%, #ffc477 25%, rgba(255,150,70,.45) 40%, rgba(255,120,60,0) 68%);
	animation: latir 6s ease-in-out infinite alternate;
}

.capa{ position: absolute; left: 0; width: 100%; overflow: hidden; pointer-events: none; }
.capa__pista{ display: flex; width: 200%; height: 100%; animation: desliza var(--dur, 60s) linear infinite; will-change: transform; }
.capa__pista svg{ flex: none; width: 50%; height: 100%; display: block; }

.capa--nubes{ bottom: 430px; height: 120px; --dur: 180s; opacity: .9; }
.capa--mar{ bottom: 385px; height: 64px; --dur: 70s; }
.capa--lejos{ bottom: 290px; height: 210px; --dur: 90s; }
.capa--cerca{ bottom: 212px; height: 190px; --dur: 26s; }
.capa--suelo{ bottom: 0; height: 152px; --dur: 3.6s; }

.escena__carretera{
	position: absolute; left: 0; right: 0;
	bottom: 150px; height: 66px;
	background: #2a2d31;
	border-top: 5px solid #5a5f66;
	border-bottom: 4px solid #1a1c1f;
}
.escena__lineas{
	position: absolute; left: 0; right: 0; top: 50%;
	height: 5px; margin-top: -2px;
	background: repeating-linear-gradient(90deg, #f6e7c8 0 64px, transparent 64px 128px);
	animation: lineas .42s linear infinite;
}

/* La van */
.hero-van-pista{
	position: absolute;
	left: 50%;
	bottom: 158px;
	width: clamp(300px, 33vw, 500px);
	z-index: 2;
	transform: translateX(-50%);
	animation: vaiven 11s ease-in-out infinite;
}
.van{ display: block; width: 100%; height: auto; overflow: visible; }
.van__cuerpo{ animation: bache .42s ease-in-out infinite alternate; }
.van__rueda{ animation: giro .5s linear infinite; }
.van__haz{ animation: haz 2.4s ease-in-out infinite alternate; }
.van__polvo circle{
	fill: #e3b07a;
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	animation: polvo 1.3s linear infinite;
}
.van__polvo circle:nth-child(2){ animation-delay: .26s; }
.van__polvo circle:nth-child(3){ animation-delay: .52s; }
.van__polvo circle:nth-child(4){ animation-delay: .78s; }
.van__polvo circle:nth-child(5){ animation-delay: 1.04s; }

/* Barra de datos (reemplaza el formulario de la plantilla) */
.hero-datos-contenedor{ position: relative; z-index: 3; margin-top: auto; padding-bottom: 26px; }
.hero-datos{
	display: flex;
	align-items: center;
	gap: 30px;
	background: rgba(8, 24, 36, .74);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 20px;
	padding: 22px 28px;
}
.hero-datos__titulo h2{ font-size: 22px; color: #fff; line-height: 1.2; max-width: 200px; margin: 0; }
.hero-datos__lista{
	flex: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 0; padding: 0; list-style: none;
}
.hero-datos__lista li{
	display: flex; align-items: center; gap: 12px;
	padding-left: 18px;
	border-left: 1px solid rgba(255,255,255,.14);
}
.hero-datos__lista .ico{ width: 34px; height: 34px; color: var(--accent-color); }
.hero-datos__lista strong{ display: block; color: #fff; font-family: var(--accent-font); font-size: 22px; line-height: 1.1; }
.hero-datos__lista span{ display: block; color: #c9d4dc; font-size: 14px; line-height: 1.3; }
.hero-datos__llamar{
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--accent-color); color: #fff;
	font-weight: 600; white-space: nowrap;
	padding: 14px 22px; border-radius: 100px;
	transition: background-color .3s, transform .3s;
}
.hero-datos__llamar .ico{ width: 20px; height: 20px; }
.hero-datos__llamar:hover{ background: #fff; color: var(--primary-color); transform: translateY(-2px); }

@keyframes desliza{ to{ transform: translateX(-50%); } }
@keyframes lineas{ to{ background-position: -128px 0; } }
@keyframes giro{ to{ transform: rotate(360deg); } }
@keyframes bache{ to{ transform: translateY(-2.5px); } }
@keyframes vaiven{
	0%, 100%{ transform: translateX(-58%); }
	50%{ transform: translateX(-42%); }
}
@keyframes haz{ from{ opacity: .55; } to{ opacity: .9; } }
@keyframes polvo{
	0%{ opacity: .55; transform: translate(0, 0) scale(.35); }
	100%{ opacity: 0; transform: translate(-150px, -34px) scale(1.9); }
}
@keyframes titilar{ from{ opacity: .3; } to{ opacity: .65; } }
@keyframes latir{ from{ transform: scale(1); } to{ transform: scale(1.06); } }

/* =========================================================
   CLIENTES
   ========================================================= */
.clientes-pym{ padding: 70px 0 10px; }
.clientes-pym__titulo{ text-align: center; font-family: var(--accent-font); font-weight: 600; color: var(--primary-color); margin-bottom: 26px; }
.clientes-pym__marquesina{
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.clientes-pym__pista{ display: flex; gap: 24px; width: max-content; animation: desliza 38s linear infinite; }
.clientes-pym__marquesina:hover .clientes-pym__pista{ animation-play-state: paused; }
.clientes-pym__logo{
	flex: none;
	width: 190px; height: 96px;
	background: #fff;
	border-radius: 16px;
	display: flex; align-items: center; justify-content: center;
	padding: 14px 22px;
}
.clientes-pym__logo img{ max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
.clientes-pym__logo:hover img{ filter: none; opacity: 1; }
.clientes-pym__nombre{ font-family: var(--accent-font); font-size: 20px; font-weight: 700; letter-spacing: .04em; color: #8a97a2; }

/* =========================================================
   NOSOTROS
   ========================================================= */
.about-us-image figure img{ aspect-ratio: 1 / 1.02; object-fit: cover; }
.anios-box{
	max-width: 320px;
	background-color: rgba(255, 86, 0, .92);
	align-items: center;
	gap: 16px;
	padding: 18px 24px;
}
.anios-box__numero{ font-family: var(--accent-font); font-size: 68px; font-weight: 700; line-height: 1; color: #fff; display: flex; }
.anios-box__texto p{ color: #fff; font-weight: 600; margin: 0; line-height: 1.35; }

/* =========================================================
   SERVICIOS
   ========================================================= */
.our-services .service-item{ min-height: 520px; padding: 34px 30px; }
.our-services .service-item-content h2{ font-size: 22px; line-height: 1.25; }
.servicio-puntos{ list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 8px; }
.servicio-puntos li{ display: flex; align-items: center; gap: 8px; font-weight: 500; color: var(--primary-color); }
.servicio-puntos .ico{ width: 18px; height: 18px; color: var(--accent-color); }
.section-footer-text p a{ color: var(--accent-color); font-weight: 600; }

/* =========================================================
   POR QUÉ ELEGIRNOS
   ========================================================= */
.razones-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 34px 30px; }
.razones-grid .why-choose-item{ display: grid; gap: 16px; align-content: start; }
.razones-grid .why-choose-item-content h3{ font-size: 20px; }
.why-choose-counter-no h2{ color: var(--accent-color); }
.why-choose-image img{ object-fit: cover; }

/* =========================================================
   RECORRIDO
   ========================================================= */
.intro-video-box.recorrido-pym{ padding: 110px 0 100px; margin-bottom: 0; }
.recorrido-pym .intro-video-content{ margin-bottom: 60px; }
.recorrido-pym .section-title p{ max-width: 820px; margin-left: auto; margin-right: auto; }
.perfil__lienzo{ position: relative; height: clamp(200px, 26vw, 360px); }
.perfil__svg{ display: block; width: 100%; height: 100%; overflow: visible; }
.perfil__ruta{ fill: none; stroke: rgba(255,255,255,.28); stroke-width: 3; stroke-dasharray: 8 8; vector-effect: non-scaling-stroke; }
.perfil__avance{ fill: none; stroke: var(--accent-color); stroke-width: 5; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1 2; stroke-dashoffset: calc(1 - var(--avance, 1)); }
.perfil__punto{
	position: absolute; left: var(--x); top: var(--y);
	width: 16px; height: 16px; margin: -8px 0 0 -8px;
	background: #fff; border: 4px solid var(--accent-color); border-radius: 50%;
	z-index: 2;
}
.perfil__van{
	position: absolute; left: 0; top: 0;
	width: clamp(80px, 9vw, 130px);
	transform-origin: 50% 92%;
	z-index: 3;
	will-change: transform;
}
.perfil__van .van__haz, .perfil__van .van__polvo{ display: none; }
.perfil__paradas{
	list-style: none; margin: 30px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px;
}
.perfil__paradas li{ display: grid; gap: 4px; color: #c9d4dc; font-size: 15px; line-height: 1.45; }
.perfil__paradas strong{ color: #fff; font-family: var(--accent-font); font-size: 20px; }
.perfil__altura{ color: var(--accent-color); font-weight: 700; }
.perfil__nota{ margin-top: 24px; color: #8fa2b0; font-size: 14px; }

/* =========================================================
   FLOTA + COTIZADOR
   ========================================================= */
.fleets-item-content h2 sub{ font-size: 16px; }
.fleets-amenity-item-list .ico{ color: var(--accent-color); margin-right: 8px; vertical-align: -4px; }
.fleets-item.no-recomendado{ opacity: .55; }

.cotizador{
	margin-top: 50px;
	display: flex; flex-wrap: wrap; align-items: center; gap: 24px 36px;
	background: #fff;
	border-radius: 20px;
	padding: 30px 34px;
}
.cotizador__intro{ flex: 1 1 220px; }
.cotizador__intro h3{ font-size: 26px; margin-bottom: 6px; }
.cotizador__intro p{ margin: 0; }
.cotizador__control{ display: flex; align-items: stretch; background: var(--bg-color); border-radius: 100px; padding: 6px; }
.cotizador__btn{
	width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: var(--primary-color); color: #fff; font-size: 24px; line-height: 1;
	transition: background-color .25s, transform .15s;
}
.cotizador__btn:hover{ background: var(--accent-color); }
.cotizador__btn:active{ transform: scale(.92); }
.cotizador__control input{
	width: 86px; border: 0; background: transparent; text-align: center;
	font-family: var(--accent-font); font-size: 28px; font-weight: 700; color: var(--primary-color);
	-moz-appearance: textfield;
}
.cotizador__control input::-webkit-inner-spin-button, .cotizador__control input::-webkit-outer-spin-button{ -webkit-appearance: none; margin: 0; }
.cotizador__control input:focus{ outline: none; }
.cotizador__resultado{ flex: 1 1 260px; }
.cotizador__resultado p{ margin: 8px 0 0; color: var(--primary-color); }
.cotizador__resultado strong{ color: var(--accent-color); }
.cotizador__vans{ display: flex; flex-wrap: wrap; gap: 6px; min-height: 30px; align-items: flex-end; }
.cotizador__vans .van-ico{ display: inline-flex; animation: aparecer .35s ease-out both; }
.cotizador__vans .grande .ico{ width: 38px; height: 38px; color: var(--accent-color); }
.cotizador__vans .chica .ico{ width: 28px; height: 28px; color: var(--mar); }
@keyframes aparecer{ from{ opacity: 0; transform: translateY(8px) scale(.8); } }

/* =========================================================
   CIFRAS
   ========================================================= */
.cifras-pym{
	max-width: 1820px;
	margin: 0 auto;
	border-radius: 20px;
	padding: 80px 0;
}
.cifra{ text-align: center; padding: 10px; }
.cifra h2{ color: var(--accent-color); font-size: clamp(44px, 5vw, 72px); line-height: 1; margin-bottom: 10px; }
.cifra p{ color: #c9d4dc; margin: 0; }

/* =========================================================
   CÓMO TRABAJAMOS
   ========================================================= */
.our-core-features{ margin-top: 100px; }
.pasos-pym{ list-style: none; padding: 0; margin: 0; }
.pasos-pym .icon-box{ flex: none; }
.paso-n{
	position: absolute; top: -4px; right: -6px;
	width: 24px; height: 24px; border-radius: 50%;
	background: var(--primary-color); color: #fff;
	font-size: 13px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.core-features-image img{ object-fit: cover; }

/* =========================================================
   LLAMADO
   ========================================================= */
.cta-box.cta-pym{
	background-image: none;
	background-color: var(--primary-color);
	padding: 120px 0 200px;
	margin-top: 100px;
}
.cta-box.cta-pym::before{ display: none; }
.cta-pym::after{
	content: '';
	position: absolute; left: 0; right: 0; bottom: 0; height: 110px;
	background:
		linear-gradient(#2a2d31, #2a2d31) 0 22px / 100% 56px no-repeat,
		linear-gradient(#5a5f66, #5a5f66) 0 17px / 100% 5px no-repeat,
		linear-gradient(180deg, #d79c5e 0, #b47b4e 100%);
	z-index: 0;
}
.cta-pym .container{ z-index: 2; position: relative; }
.cta-pym__van{
	position: absolute;
	bottom: 34px;
	left: 0;
	width: clamp(220px, 26vw, 380px);
	z-index: 1;
	animation: cruzar 14s linear infinite;
}
@keyframes cruzar{
	from{ transform: translateX(-110%); }
	to{ transform: translateX(calc(100vw + 10%)); }
}
.cta-pym .section-title h2{ color: #fff; }

/* =========================================================
   CONTACTO
   ========================================================= */
.contacto-pym{ padding: 100px 0; }
.contacto-info{ display: grid; gap: 14px; height: 100%; align-content: start; }
.contacto-info__item{
	display: flex; align-items: center; gap: 16px;
	background: #fff; border-radius: 16px;
	padding: 18px 20px;
	transition: transform .3s, box-shadow .3s;
}
a.contacto-info__item:hover{ transform: translateY(-3px); box-shadow: 0 12px 28px rgba(10,31,46,.08); }
.contacto-info__item .icon-box{
	flex: none; width: 52px; height: 52px; border-radius: 50%;
	background: #FF56001A; color: var(--accent-color);
	display: flex; align-items: center; justify-content: center; font-size: 24px;
}
.contacto-info__item .ico{ width: 24px; height: 24px; }
.contacto-info__item small{ display: block; color: var(--text-color); font-size: 14px; }
.contacto-info__item strong{ display: block; color: var(--primary-color); font-family: var(--accent-font); font-size: 18px; line-height: 1.3; word-break: break-word; }

.solicitud{ background: #fff; border-radius: 20px; padding: 34px; }
.solicitud .campo label{ display: block; font-weight: 600; color: var(--primary-color); margin-bottom: 8px; font-size: 15px; }
.solicitud .opcional{ font-weight: 400; color: #8a97a2; }
.solicitud .form-control{
	min-height: 52px;
	background-color: var(--bg-color);
	border: 1px solid transparent;
	border-radius: 12px;
	padding: 12px 16px;
	color: var(--primary-color);
	box-shadow: none;
}
.solicitud .form-control:focus{ border-color: var(--accent-color); background-color: #fff; box-shadow: 0 0 0 4px #FF56001F; }
.solicitud .form-control[aria-invalid="true"]{ border-color: #d9362b; }
.solicitud textarea.form-control{ min-height: 120px; }
.campo-error{ display: block; color: #d9362b; font-size: 14px; font-weight: 600; margin-top: 6px; }
.solicitud__estado{ border-radius: 12px; padding: 14px 18px; font-weight: 600; margin-bottom: 20px; }
.solicitud__estado.es-ok{ background: #e3f5e6; color: #1d6b2d; }
.solicitud__estado.es-error{ background: #fde6e3; color: #9b2218; }
.solicitud button[aria-busy="true"]{ opacity: .7; cursor: progress; }
.trampa{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mapa-pym{ margin-top: 60px; border-radius: 20px; overflow: hidden; height: 420px; background: #e6ddd0; }
.mapa-pym iframe{ width: 100%; height: 100%; border: 0; filter: grayscale(.4) sepia(.15); }

/* Pie */
.footer-contacto ul li{ color: #c9d4dc; }
.footer-social-links .subir{ color: #fff; font-weight: 600; }
.footer-social-links .subir:hover{ color: var(--accent-color); }

/* WhatsApp flotante */
.wa-flotante{
	position: fixed; right: 22px; bottom: 22px; z-index: 99;
	width: 58px; height: 58px; border-radius: 50%;
	background: #25D366; color: #fff; font-size: 30px;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 24px rgba(0,0,0,.25);
	transition: transform .3s;
}
.wa-flotante:hover{ transform: scale(1.08); color: #fff; }

/* Precarga */
#loading-icon img{ width: 56px; height: 56px; }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width: 1199px){
	.hero-datos{ flex-wrap: wrap; }
	.hero-datos__titulo{ flex: 1 1 100%; }
	.hero-datos__titulo h2{ max-width: none; }
	.hero-datos__lista{ flex: 1 1 auto; }
	.razones-grid{ margin-bottom: 40px; }
}
@media (max-width: 991px){
	.hero.hero-pym{ padding-top: 140px; min-height: 0; }
	.hero-pym .hero-content{ margin-bottom: 360px; }
	.hero-van-pista{ bottom: 220px; width: min(420px, 78vw); }
	.capa--suelo{ height: 214px; }
	.escena__carretera{ bottom: 212px; }
	.capa--cerca{ bottom: 274px; }
	.capa--lejos{ bottom: 350px; }
	.capa--mar{ bottom: 440px; }
	.escena__sol{ bottom: 460px; }
	.hero-datos__lista{ grid-template-columns: repeat(2, 1fr); }
	.hero-datos__llamar{ flex: 1 1 100%; justify-content: center; }
	.perfil__paradas{ grid-template-columns: repeat(3, 1fr); }
	.our-services .service-item{ min-height: 0; }
}
@media (max-width: 767px){
	.hero-pym .hero-content{ margin-bottom: 300px; }
	.hero-van-pista{ width: min(340px, 82vw); bottom: 300px; }
	.capa--suelo{ height: 292px; }
	.escena__carretera{ bottom: 290px; height: 56px; }
	.capa--cerca{ bottom: 340px; height: 150px; }
	.capa--lejos{ bottom: 400px; height: 170px; }
	.capa--mar{ bottom: 480px; height: 50px; }
	.escena__sol{ bottom: 500px; width: 220px; height: 220px; margin: 0 0 -110px -110px; }
	.hero-datos{ padding: 18px; gap: 16px; }
	.hero-datos__titulo h2{ font-size: 19px; }
	.hero-datos__lista{ gap: 14px 10px; }
	.hero-datos__lista li{ padding-left: 0; border-left: 0; gap: 8px; }
	.hero-datos__lista .ico{ width: 26px; height: 26px; }
	.hero-datos__lista strong{ font-size: 18px; }
	.hero-datos__lista span{ font-size: 13px; }
	.clientes-pym__logo{ width: 150px; height: 80px; }
	.razones-grid{ grid-template-columns: 1fr; }
	.perfil__paradas{ grid-template-columns: 1fr 1fr; }
	.perfil__paradas li:last-child{ grid-column: 1 / -1; }
	.cotizador{ padding: 24px; }
	.cotizador .btn-default{ width: 100%; justify-content: center; }
	.cifras-pym{ padding: 50px 0; margin: 0 10px; }
	.cifra p{ font-size: 14px; }
	.solicitud{ padding: 22px; }
	.mapa-pym{ height: 300px; }
	.cta-box.cta-pym{ padding-bottom: 170px; }
}

@media (prefers-reduced-motion: reduce){
	.capa__pista, .escena__lineas, .escena__estrellas, .escena__sol,
	.hero-van-pista, .van__cuerpo, .van__rueda, .van__haz, .van__polvo circle,
	.clientes-pym__pista, .cta-pym__van{ animation: none !important; }
	.cta-pym__van{ transform: translateX(60vw); }
}

/* Pausa de animaciones cuando la portada no está a la vista */
.hero-pym.pausado *, .cta-pym.pausado *{ animation-play-state: paused !important; }

/* Ajustes tras revisión */
.razones-grid .why-choose-item{ width: auto; }
.about-us .about-contact-box-content p{ color: var(--text-color); }
.about-us .about-contact-box-content h3,
.about-us .about-contact-box-content h3 a{ color: var(--primary-color); }
.about-us .about-contact-box .icon-box{ background: #fff; }
.about-us .about-contact-box:hover .icon-box .ico{ color: #fff; }

/* =========================================================
   Portada a todo el ancho (sin marco)
   ========================================================= */
header.main-header{ top: 0; left: 0; right: 0; }
header.main-header .header-sticky.active{ left: 0; right: 0; border-radius: 0; }
.hero.hero-pym{ margin: 0; border-radius: 0; }

/* Insignia de aniversario (rosetón) */
.sello{ display: block; width: 100%; height: auto; overflow: visible; }
.sello__compacto{ display: none; }
.sello--compacto .sello__completo{ display: none; }
.sello--compacto .sello__compacto{ display: inline; }
.sello__anillo{ animation: giro 60s linear infinite; }
.sello__brillo{ animation: selloBrillo 7s ease-in-out infinite; }
@keyframes selloBrillo{
	0%, 62%{ transform: skewX(-18deg) translateX(0); }
	100%{ transform: skewX(-18deg) translateX(520px); }
}
.hero-sello{
	position: absolute;
	top: auto;
	bottom: calc(var(--suelo, 150px) + 40px);
	right: max(28px, 4vw);
	width: clamp(220px, 17vw, 272px);
	z-index: 3;
	filter: drop-shadow(0 14px 28px rgba(0,0,0,.4));
	animation: flotar 6s ease-in-out infinite;
	transform-origin: 50% 20%;
}
@keyframes flotar{ 50%{ transform: translateY(-8px) rotate(-2deg); } }
.about-us-image-box{ position: relative; }
.nosotros-sello{
	position: absolute;
	top: -34px; right: -26px;
	width: 140px;
	z-index: 3;
	filter: drop-shadow(0 10px 20px rgba(10,31,46,.25));
}
@media (max-width: 1299px){
	.hero-sello{ top: 108px; bottom: auto; width: 132px; right: 18px; }
	.hero-sello .sello__completo, .hero-sello .sello__fino{ display: none; }
	.hero-sello .sello__compacto{ display: inline; }
}
@media (max-width: 767px){
	.hero.hero-pym{ padding-top: 104px; }
	.hero-sello{ position: relative; top: auto; right: auto; bottom: auto; width: 104px; margin: 0 auto 14px; animation: none; }
	.nosotros-sello{ width: 100px; top: -22px; right: -6px; }
}

/* Contacto: el ítem de WhatsApp es un botón */
button.contacto-info__item{ width: 100%; border: 0; text-align: left; cursor: pointer; font: inherit; }
button.contacto-info__item:hover{ transform: translateY(-3px); box-shadow: 0 12px 28px rgba(10,31,46,.08); }
button.contacto-info__item .icon-box{ background: #25D3661F; color: #1da851; }

/* Pie: créditos */
.footer-social-links .creditos{ margin: 0; color: #c9d4dc; }
.footer-social-links .creditos a{ color: #fff; font-weight: 600; }
.footer-social-links .creditos a:hover{ color: var(--accent-color); }

/* =========================================================
   Widget de atención diurna / nocturna
   ========================================================= */
.atencion{
	--at-fondo: #FBF4EA;
	--at-burbuja: #FFFFFF;
	--at-texto: #0A1F2E;
	--at-suave: #5b6b78;
	--at-tarjeta: #FFFFFF;
	--at-borde: rgba(10,31,46,.08);
	position: fixed; right: 20px; bottom: 20px; z-index: 300;
	font-family: var(--default-font);
	color: var(--at-texto);
}
.atencion[data-turno="nocturno"]{
	--at-fondo: #0c1f2e;
	--at-burbuja: #16324a;
	--at-texto: #EAF2F7;
	--at-suave: #9fb3c2;
	--at-tarjeta: #12293c;
	--at-borde: rgba(255,255,255,.08);
}
.atencion [hidden]{ display: none !important; }

/* Botón flotante */
.atencion__boton{
	display: flex; align-items: center; gap: 12px;
	border: 0; cursor: pointer;
	background: #fff; color: var(--primary-color);
	padding: 8px 8px 8px 10px;
	border-radius: 100px;
	box-shadow: 0 14px 34px rgba(10,31,46,.25);
	transition: transform .3s, box-shadow .3s;
	margin-left: auto;
}
.atencion__boton:hover{ transform: translateY(-3px); box-shadow: 0 18px 40px rgba(10,31,46,.3); }
.atencion__caras{ display: flex; }
.atencion__caras img{ width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; margin-left: -12px; }
.atencion__caras img:first-child{ margin-left: 0; }
.atencion__boton-texto{ display: grid; text-align: left; line-height: 1.15; }
.atencion__boton-texto small{ font-size: 12px; color: #1da851; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.atencion__boton-texto small::before{ content: ''; width: 8px; height: 8px; border-radius: 50%; background: #25D366; box-shadow: 0 0 0 0 rgba(37,211,102,.6); animation: latido 2s infinite; }
.atencion__boton-texto strong{ font-family: var(--accent-font); font-size: 16px; }
.atencion__boton-wa{
	width: 48px; height: 48px; border-radius: 50%;
	background: #25D366; color: #fff; font-size: 26px;
	display: flex; align-items: center; justify-content: center;
}
.atencion.abierto .atencion__boton-wa i::before{ content: '\f00d'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 20px; }
@keyframes latido{ 70%{ box-shadow: 0 0 0 8px rgba(37,211,102,0); } 100%{ box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

/* Aviso */
.atencion__aviso{
	position: absolute; right: 0; bottom: 74px;
	width: 260px;
	background: #fff; color: var(--primary-color);
	border-radius: 16px 16px 4px 16px;
	padding: 14px 34px 14px 16px;
	box-shadow: 0 14px 34px rgba(10,31,46,.22);
	animation: subir .45s cubic-bezier(.2,.8,.2,1);
}
.atencion__aviso p{ margin: 0; font-size: 15px; line-height: 1.4; }
.atencion__aviso-cerrar{ position: absolute; top: 6px; right: 8px; border: 0; background: none; font-size: 20px; line-height: 1; color: #8a97a2; cursor: pointer; }

/* Panel */
.atencion__panel{
	position: absolute; right: 0; bottom: 74px;
	width: 390px;
	max-height: min(680px, calc(100vh - 110px));
	display: flex; flex-direction: column;
	background: var(--at-fondo);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(5,18,28,.38);
	animation: subir .4s cubic-bezier(.2,.8,.2,1);
	transition: background-color .5s;
}
@keyframes subir{ from{ opacity: 0; transform: translateY(16px) scale(.97); } }

.atencion__cabeza{
	position: relative;
	display: flex; align-items: center; gap: 14px;
	padding: 20px 20px 18px;
	color: #fff;
	background: linear-gradient(135deg, #0078B6 0%, #2f9fd4 55%, #ffb46b 100%);
	transition: background .6s;
	overflow: hidden;
}
.atencion[data-turno="nocturno"] .atencion__cabeza{ background: linear-gradient(135deg, #04101a 0%, #0A1F2E 50%, #1d3d5e 100%); }
.atencion__titulos h2{ color: #fff; font-size: 20px; margin: 0; line-height: 1.2; }
.atencion__saludo{ margin: 0; font-size: 13px; opacity: .9; font-weight: 600; }
.atencion__estado{ margin: 4px 0 0; font-size: 13px; display: flex; align-items: center; gap: 6px; opacity: .95; }
.atencion__estado .punto{ width: 8px; height: 8px; border-radius: 50%; background: #3dfc86; animation: latido 2s infinite; }
.atencion__cerrar{ margin-left: auto; align-self: flex-start; border: 0; background: rgba(255,255,255,.18); color: #fff; width: 32px; height: 32px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; }
.atencion__cerrar:hover{ background: rgba(255,255,255,.3); }

/* Sol y luna */
.atencion__astro{ position: relative; flex: none; width: 52px; height: 52px; }
.atencion__astro .sol, .atencion__astro .luna{ position: absolute; inset: 6px; border-radius: 50%; transition: transform .7s cubic-bezier(.5,0,.2,1.3), opacity .5s; }
.atencion__astro .sol{ background: #FFD36B; box-shadow: 0 0 0 6px rgba(255,211,107,.3), 0 0 26px 8px rgba(255,200,90,.55); animation: girarLento 18s linear infinite; }
.atencion__astro .luna{ background: transparent; box-shadow: inset -11px 4px 0 0 #F4E9C8; transform: translateY(40px) rotate(-30deg); opacity: 0; }
.atencion__astro .estrellas{
	position: absolute; inset: -20px -120px -20px -20px; opacity: 0; transition: opacity .6s; pointer-events: none;
	background-image: radial-gradient(1.5px 1.5px at 30px 20px, #fff 50%, transparent 51%), radial-gradient(1px 1px at 120px 50px, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 190px 14px, #fff 50%, transparent 51%), radial-gradient(1px 1px at 250px 70px, #fff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 80px 80px, #fff 50%, transparent 51%);
	animation: titilar 3s ease-in-out infinite alternate;
}
.atencion[data-turno="nocturno"] .atencion__astro .sol{ transform: translateY(40px); opacity: 0; }
.atencion[data-turno="nocturno"] .atencion__astro .luna{ transform: none; opacity: 1; }
.atencion[data-turno="nocturno"] .atencion__astro .estrellas{ opacity: .8; }
@keyframes girarLento{ to{ transform: rotate(360deg); } }

/* Interruptor de turnos */
.atencion__switch{
	position: relative;
	display: grid; grid-template-columns: 1fr 1fr;
	margin: 14px 16px 0;
	padding: 4px;
	border-radius: 14px;
	background: var(--at-borde);
}
.atencion__switch button{
	position: relative; z-index: 1;
	border: 0; background: none; cursor: pointer;
	padding: 8px 6px;
	color: var(--at-suave);
	font-weight: 700; font-size: 14px; line-height: 1.2;
	display: grid; justify-items: center; gap: 2px;
	transition: color .3s;
}
.atencion__switch button small{ font-weight: 500; font-size: 11px; opacity: .8; }
.atencion__switch button[aria-pressed="true"]{ color: var(--at-texto); }
.atencion__switch-fondo{
	position: absolute; top: 4px; bottom: 4px; left: 4px;
	width: calc(50% - 4px);
	border-radius: 10px;
	background: var(--at-tarjeta);
	box-shadow: 0 4px 12px rgba(10,31,46,.12);
	transition: transform .45s cubic-bezier(.5,0,.2,1.2), background-color .5s;
}
.atencion[data-turno="nocturno"] .atencion__switch-fondo{ transform: translateX(100%); }
.icono-diurno::before{ content: '\f185'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: #ffb000; margin-right: 6px; }
.icono-nocturno::before{ content: '\f186'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: #8fb8ff; margin-right: 6px; }
.atencion__vista{ margin: 8px 18px 0; font-size: 12.5px; color: var(--at-suave); }
.atencion__vista button{ border: 0; background: none; padding: 0; color: var(--accent-color); font-weight: 700; cursor: pointer; text-decoration: underline; }

/* Chat */
.atencion__chat{
	display: flex; flex-direction: column; gap: 8px;
	padding: 14px 16px 6px;
	min-height: 70px;
	overflow-y: auto;
}
.atencion__msj{
	max-width: 85%;
	padding: 10px 14px;
	font-size: 14.5px; line-height: 1.45;
	border-radius: 16px 16px 16px 4px;
	background: var(--at-burbuja);
	color: var(--at-texto);
	box-shadow: 0 2px 6px rgba(10,31,46,.06);
	animation: subir .3s ease-out;
}
.atencion__msj--cliente{ align-self: flex-end; background: var(--accent-color); color: #fff; border-radius: 16px 16px 4px 16px; }
.atencion__msj--sistema{ align-self: center; background: none; box-shadow: none; font-size: 12.5px; color: var(--at-suave); padding: 2px; text-align: center; }
.atencion__escribiendo{ display: flex; gap: 4px; padding: 14px; }
.atencion__escribiendo span{ width: 7px; height: 7px; border-radius: 50%; background: var(--at-suave); animation: punto 1s infinite ease-in-out; }
.atencion__escribiendo span:nth-child(2){ animation-delay: .15s; }
.atencion__escribiendo span:nth-child(3){ animation-delay: .3s; }
@keyframes punto{ 0%, 80%, 100%{ transform: translateY(0); opacity: .4; } 40%{ transform: translateY(-5px); opacity: 1; } }

/* Temas */
.atencion__temas{ display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 16px 10px; }
.atencion__temas button{
	border: 1.5px solid var(--accent-color);
	background: transparent; color: var(--accent-color);
	border-radius: 100px; padding: 6px 12px;
	font-size: 13px; font-weight: 600; cursor: pointer;
	transition: background-color .25s, color .25s;
}
.atencion[data-turno="nocturno"] .atencion__temas button{ color: #FF8A4C; border-color: #FF8A4C; }
.atencion__temas button:hover, .atencion__temas button.activo{ background: var(--accent-color); color: #fff !important; }

/* Agentes */
.atencion__equipo{ display: grid; gap: 10px; padding: 4px 16px 6px; animation: subir .4s ease-out; }
.agente{
	display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; align-items: center;
	background: var(--at-tarjeta);
	border: 1px solid var(--at-borde);
	border-radius: 16px;
	padding: 12px;
	transition: background-color .5s;
}
.agente__foto{ position: relative; width: 56px; height: 56px; }
.agente__foto img{ width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.agente__punto{ position: absolute; right: 1px; bottom: 2px; width: 13px; height: 13px; border-radius: 50%; background: #25D366; border: 2px solid var(--at-tarjeta); }
.agente__datos strong{ display: block; font-family: var(--accent-font); font-size: 16px; color: var(--at-texto); }
.agente__datos span{ font-size: 13px; color: var(--at-suave); }
.agente__acciones{ grid-column: 1 / -1; display: flex; gap: 8px; }
.agente__wa{
	flex: 1;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: #25D366; color: #fff;
	border-radius: 100px; padding: 9px 14px;
	font-weight: 700; font-size: 14px;
	transition: background-color .25s, transform .2s;
}
.agente__wa i{ font-size: 18px; }
.agente__wa:hover{ background: #1ebe5b; color: #fff; transform: translateY(-1px); }
.agente__wa.pulso{ animation: pulsoWa 1.2s ease-out 2; }
@keyframes pulsoWa{ 0%{ box-shadow: 0 0 0 0 rgba(37,211,102,.7); } 100%{ box-shadow: 0 0 0 14px rgba(37,211,102,0); } }
.agente__ico{
	width: 40px; height: 40px; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--at-borde);
	color: var(--at-texto);
	transition: background-color .25s, color .25s;
}
.agente__ico .ico{ width: 18px; height: 18px; }
.agente__ico:hover{ background: var(--accent-color); border-color: var(--accent-color); color: #fff; }

.atencion__pie{ margin: 0; padding: 10px 16px 14px; font-size: 11.5px; color: var(--at-suave); text-align: center; }

@media (max-width: 575px){
	.atencion{ right: 12px; bottom: 12px; }
	.atencion__boton-texto{ display: none; }
	.atencion__boton{ padding: 6px; gap: 8px; }
	.atencion__caras img{ width: 36px; height: 36px; }
	.atencion__panel, .atencion__aviso{ position: fixed; left: 10px; right: 10px; bottom: 76px; width: auto; }
	.atencion__panel{ max-height: calc(100vh - 96px); }
}
@media (prefers-reduced-motion: reduce){
	.sello__anillo, .sello__brillo, .sello__cintas, .hero-sello, .atencion__astro .sol, .atencion__astro .estrellas,
	.atencion__boton-texto small::before, .atencion__estado .punto{ animation: none !important; }
}
.cotizador__vans .mediana .ico{ width: 33px; height: 33px; color: var(--primary-color); }
.why-choose-image-box-1 .why-choose-image img{ object-position: 72% center; }
@media (max-width: 767px){
	.anios-box{ max-width: 230px; padding: 12px 16px; gap: 10px; }
	.anios-box__numero{ font-size: 46px; }
	.anios-box__texto p{ font-size: 14px; }
}

/* =========================================================
   Menú móvil a pantalla completa
   ========================================================= */
.menu-movil-btn{ display: none; }
@media (max-width: 991px){
	.navbar-toggle, .responsive-menu{ display: none !important; }
	.menu-movil-btn{
		display: inline-flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 6px;
		width: 48px; height: 48px; padding: 0 12px;
		border: 1px solid rgba(255,255,255,.18); border-radius: 50%;
		background: rgba(255,255,255,.06);
		cursor: pointer; margin-left: auto;
		transition: background-color .3s, border-color .3s;
	}
	.menu-movil-btn span{ display: block; height: 2px; border-radius: 2px; background: #fff; transition: width .3s; }
	.menu-movil-btn span:nth-child(1){ width: 22px; }
	.menu-movil-btn span:nth-child(2){ width: 15px; background: var(--accent-color); }
	.menu-movil-btn span:nth-child(3){ width: 22px; }
	.menu-movil-btn:hover span:nth-child(2){ width: 22px; }
	.menu-movil-btn:hover{ border-color: var(--accent-color); }
}

.menu-movil{
	position: fixed; inset: 0; z-index: 400;
	display: flex; flex-direction: column;
	padding: 18px 22px 26px;
	color: #fff;
	background:
		radial-gradient(120% 60% at 100% 0%, rgba(255,86,0,.22), transparent 60%),
		radial-gradient(90% 50% at 0% 40%, rgba(0,120,182,.25), transparent 60%),
		#071825;
	overflow-y: auto;
	clip-path: circle(0 at calc(100% - 46px) 46px);
	transition: clip-path .6s cubic-bezier(.7,0,.2,1);
}
.menu-movil.abierto{ clip-path: circle(150% at calc(100% - 46px) 46px); }
.menu-movil[hidden]{ display: none; }
.menu-movil__fondo{ position: absolute; left: 0; right: 0; bottom: 0; height: 130px; pointer-events: none; opacity: .32; }
.menu-movil__fondo svg{ width: 100%; height: 100%; display: block; }

.menu-movil__cabeza{ position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 52px; }
.menu-movil__cabeza img{ width: 170px; height: auto; }
.menu-movil__cerrar{
	position: relative; width: 48px; height: 48px; border-radius: 50%;
	border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); cursor: pointer;
	transition: transform .4s, border-color .3s;
}
.menu-movil__cerrar:hover{ transform: rotate(90deg); border-color: var(--accent-color); }
.menu-movil__cerrar span{ position: absolute; left: 13px; right: 13px; top: 50%; height: 2px; background: #fff; border-radius: 2px; }
.menu-movil__cerrar span:first-child{ transform: rotate(45deg); }
.menu-movil__cerrar span:last-child{ transform: rotate(-45deg); }

.menu-movil__nav{ position: relative; margin: 28px 0 22px; display: grid; }
.menu-movil__nav a{
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255,255,255,.09);
	color: #fff;
	opacity: 0; transform: translateY(18px);
	transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1), color .25s;
	transition-delay: calc(.18s + var(--i) * .06s);
}
.menu-movil.abierto .menu-movil__nav a{ opacity: 1; transform: none; }
.menu-movil__txt{ display: grid; gap: 2px; }
.menu-movil__txt strong{ font-family: var(--accent-font); font-size: 30px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
.menu-movil__txt small{ font-size: 13px; color: #8fa6b6; letter-spacing: .01em; }
.menu-movil__flecha{
	flex: none; width: 40px; height: 40px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.14); font-size: 18px;
	transition: background-color .3s, border-color .3s, transform .3s;
}
.menu-movil__nav a:hover, .menu-movil__nav a.actual{ color: #fff; }
.menu-movil__nav a:hover strong, .menu-movil__nav a.actual strong{ color: var(--accent-color); }
.menu-movil__nav a:hover .menu-movil__flecha, .menu-movil__nav a.actual .menu-movil__flecha{ background: var(--accent-color); border-color: var(--accent-color); transform: translateX(3px); }

.menu-movil__pie{
	position: relative; margin-top: auto; display: grid; gap: 18px;
	opacity: 0; transform: translateY(14px);
	transition: opacity .5s ease .55s, transform .5s ease .55s;
}
.menu-movil.abierto .menu-movil__pie{ opacity: 1; transform: none; }
.menu-movil__cta{ justify-content: center; width: 100%; }
.menu-movil__contacto{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.menu-movil__contacto a, .menu-movil__contacto button{
	display: flex; align-items: center; gap: 10px;
	padding: 12px; border-radius: 14px;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
	color: #fff; text-align: left; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.25; cursor: pointer;
}
.menu-movil__contacto small{ display: block; font-size: 11.5px; font-weight: 500; color: #8fa6b6; }
.menu-movil__contacto .ico{ width: 22px; height: 22px; color: var(--accent-color); }
.menu-movil__contacto i{ font-size: 22px; color: #25D366; }
.menu-movil__marca{ display: flex; align-items: center; gap: 14px; }
.menu-movil__sello{ width: 64px; flex: none; }
.menu-movil__marca p{ margin: 0; font-size: 13px; color: #8fa6b6; line-height: 1.5; }
body.menu-abierto{ overflow: hidden; }
body.menu-abierto .atencion{ display: none; }

@media (max-width: 380px){
	.menu-movil__txt strong{ font-size: 26px; }
	.menu-movil__contacto{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce){
	.menu-movil, .menu-movil__nav a, .menu-movil__pie{ transition: none; }
}

/* =========================================================
   Portada en tablets: el paisaje se apoya sobre la barra de datos,
   sea cual sea su alto (lo mide pym.js en --datos-h).
   ========================================================= */
.hero-pym{
	--suelo-min: 150px;
	--suelo: max(var(--suelo-min), var(--datos-h, 0px));
	--k-van: 8px; --k-cerca: 62px; --k-lejos: 140px; --k-mar: 235px; --k-sol: 250px; --k-nubes: 280px;
}
.hero-pym .capa--suelo{ height: calc(var(--suelo) + 2px); }
.hero-pym .escena__carretera{ bottom: var(--suelo); }
.hero-pym .hero-van-pista{ bottom: calc(var(--suelo) + var(--k-van)); }
.hero-pym .capa--cerca{ bottom: calc(var(--suelo) + var(--k-cerca)); }
.hero-pym .capa--lejos{ bottom: calc(var(--suelo) + var(--k-lejos)); }
.hero-pym .capa--mar{ bottom: calc(var(--suelo) + var(--k-mar)); }
.hero-pym .escena__sol{ bottom: calc(var(--suelo) + var(--k-sol)); }
.hero-pym .capa--nubes{ bottom: calc(var(--suelo) + var(--k-nubes)); }
@media (max-width: 991px){
	.hero-pym{ --suelo-min: 212px; --k-van: 8px; --k-cerca: 62px; --k-lejos: 138px; --k-mar: 228px; --k-sol: 248px; --k-nubes: 270px; }
}
@media (max-width: 767px){
	.hero-pym{ --suelo-min: 290px; --k-van: 10px; --k-cerca: 50px; --k-lejos: 110px; --k-mar: 190px; --k-sol: 210px; --k-nubes: 230px; }
}
/* Tablets: espacio de cielo suficiente para ver la van y el sello sin tapar el título */
@media (min-width: 768px) and (max-width: 1299px){
	.hero-pym .hero-content{ max-width: calc(100% - 260px); }
	.hero-pym .hero-content{ margin-bottom: 380px; }
	.hero-van-pista{ width: clamp(360px, 46vw, 500px); }
}
@media (min-width: 992px) and (max-width: 1299px){
	.hero.hero-pym{ min-height: 0; }
}
@media (min-width: 992px) and (max-width: 1299px) and (orientation: landscape){
	.hero-pym .hero-content{ margin-bottom: 300px; }
}

/* =========================================================
   Ajustes: contador 24/7 en escritorio
   ========================================================= */
@media (min-width: 992px){
	.why-choose-counter-box{ flex-wrap: nowrap; gap: 16px; padding: 26px 24px; }
	.why-choose-counter-no{ width: auto; flex: none; }
	.why-choose-counter-no h2{ white-space: nowrap; font-size: clamp(40px, 3.3vw, 52px); }
	.why-choose-counter-content{ width: auto; flex: 1; min-width: 0; }
}

/* =========================================================
   Widget: encabezado fijo y cuerpo desplazable
   ========================================================= */
.atencion__panel{ max-height: min(680px, calc(100vh - 110px)); max-height: min(680px, calc(100dvh - 110px)); }
.atencion__cabeza, .atencion__switch, .atencion__vista{ flex: none; }
.atencion__cuerpo{ flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.atencion__chat{ overflow: visible; }
.atencion__asa, .atencion__velo{ display: none; }

/* Celular: hoja que sube desde abajo */
@media (max-width: 575px){
	.atencion__velo{
		position: fixed; inset: 0; z-index: -1;
		background: rgba(5,18,28,.5);
		animation: velo .3s ease-out;
	}
	.atencion.abierto .atencion__velo{ display: block; }
	@keyframes velo{ from{ opacity: 0; } }

	.atencion__panel{
		position: fixed; left: 0; right: 0; bottom: 0; top: auto;
		width: auto;
		max-height: 88vh; max-height: 88dvh;
		border-radius: 22px 22px 0 0;
		padding-bottom: env(safe-area-inset-bottom);
		animation: hoja .38s cubic-bezier(.2,.8,.2,1);
		transition: transform .25s ease;
	}
	@keyframes hoja{ from{ transform: translateY(100%); } }
	body.atencion-abierta{ overflow: hidden; }
	body.atencion-abierta .atencion__boton, body.atencion-abierta .atencion__aviso{ display: none; }

	.atencion__asa{ display: block; position: absolute; top: 7px; left: 50%; width: 42px; height: 5px; margin-left: -21px; border-radius: 3px; background: rgba(255,255,255,.55); }
	.atencion__cabeza{ padding: 20px 16px 14px; gap: 12px; touch-action: none; }
	.atencion__astro{ width: 42px; height: 42px; }
	.atencion__titulos h2{ font-size: 18px; }
	.atencion__saludo, .atencion__estado{ font-size: 12.5px; }

	.atencion__switch{ margin: 10px 12px 0; }
	.atencion__switch button{ padding: 6px 4px; font-size: 13.5px; }
	.atencion__vista{ margin: 6px 14px 0; }

	.atencion__chat{ padding: 10px 14px 4px; min-height: 0; }
	.atencion__msj{ font-size: 14px; padding: 9px 13px; }

	.atencion__temas{
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
		padding: 6px 14px 10px; scroll-padding: 14px;
	}
	.atencion__temas::-webkit-scrollbar{ display: none; }
	.atencion__temas button{ flex: none; white-space: nowrap; }

	.atencion__equipo{ padding: 0 12px 4px; gap: 8px; }
	.agente{ grid-template-columns: auto 1fr auto; gap: 10px; padding: 10px; }
	.agente__foto{ width: 46px; height: 46px; }
	.agente__datos{ min-width: 0; }
	.agente__datos strong{ font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.agente__datos span{ display: block; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.agente__acciones{ grid-column: auto; gap: 6px; }
	.agente__wa{ flex: none; width: 42px; height: 42px; padding: 0; }
	.agente__wa span{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.agente__wa i{ font-size: 21px; }
	.agente__ico{ width: 38px; height: 38px; }

	.atencion__pie{ padding: 8px 14px 12px; font-size: 11px; }
}
@media (max-width: 380px){
	.agente{ gap: 8px; padding: 9px; }
	.agente__foto{ width: 42px; height: 42px; }
	.agente__acciones{ gap: 4px; }
	.agente__wa{ width: 38px; height: 38px; }
	.agente__ico{ width: 34px; height: 34px; }
}

/* =========================================================
   Vitrina de la flota
   ========================================================= */
.vitrina{ display: grid; grid-template-columns: 330px 1fr; gap: 24px; }
.vitrina__lista{ display: grid; gap: 10px; align-content: start; }
.vitrina__tab{
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 18px;
	text-align: left; cursor: pointer;
	padding: 20px 22px; border: 0; border-radius: 18px;
	background: #fff; color: var(--primary-color);
	transition: background-color .4s, color .4s, transform .3s;
}
.vitrina__tab:hover{ transform: translateX(4px); }
.vitrina__tab-n{ font-family: var(--accent-font); font-size: 15px; font-weight: 700; color: #a3afb8; transition: color .4s; }
.vitrina__tab-txt strong{ display: block; font-family: var(--accent-font); font-size: 22px; line-height: 1.15; }
.vitrina__tab-txt small{ display: block; font-size: 13.5px; color: var(--text-color); margin-top: 2px; transition: color .4s; }
.vitrina__tab[aria-selected="true"]{ background: var(--primary-color); color: #fff; }
.vitrina__tab[aria-selected="true"] .vitrina__tab-n{ color: var(--accent-color); }
.vitrina__tab[aria-selected="true"] .vitrina__tab-txt small{ color: #a9bac6; }
.vitrina__tab-barra{ position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.08); }
.vitrina__tab-barra span{ display: block; height: 100%; background: var(--accent-color); transform: scaleX(0); transform-origin: left; }
.vitrina__tab[aria-selected="true"] .vitrina__tab-barra span{ transform: scaleX(1); }
.vitrina__tab.corriendo .vitrina__tab-barra span{ animation: llenar 6s linear forwards; }
@keyframes llenar{ from{ transform: scaleX(0); } to{ transform: scaleX(1); } }

.vitrina__escenario{ position: relative; min-height: 580px; border-radius: 24px; overflow: hidden; background: var(--primary-color); isolation: isolate; }
.vitrina__foto{ position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.08); transition: opacity .9s ease, transform 7s ease-out; }
.vitrina__foto.activa{ opacity: 1; transform: scale(1); }
.vitrina__foto img{ width: 100%; height: 100%; object-fit: cover; }
.vitrina__escenario::after{ content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(5,18,28,.35) 0%, rgba(5,18,28,0) 28%, rgba(5,18,28,.25) 50%, rgba(5,18,28,.92) 100%); }
.vitrina__plazas{ position: absolute; top: 22px; right: 30px; z-index: 2; color: #fff; text-align: right; font-family: var(--accent-font); font-weight: 700; font-size: 96px; line-height: .9; letter-spacing: -.04em; text-shadow: 0 6px 24px rgba(0,0,0,.35); }
.vitrina__plazas small{ display: block; font-size: 15px; font-weight: 600; letter-spacing: .02em; color: var(--arena); margin-top: 6px; }
.vitrina__panel{ position: absolute; left: 34px; right: 34px; bottom: 32px; z-index: 2; color: #fff; max-width: 600px; animation: subir .6s cubic-bezier(.2,.8,.2,1); }
.vitrina__tipo{ margin: 0 0 4px; color: var(--accent-color); font-weight: 700; font-size: 15px; }
.vitrina__panel h3{ color: #fff; font-size: clamp(28px, 3vw, 38px); margin-bottom: 10px; }
.vitrina__uso{ color: #d5dee5; margin-bottom: 16px; line-height: 1.55; }
.vitrina__asientos{ display: flex; flex-wrap: wrap; gap: 5px; max-width: 330px; margin-bottom: 16px; }
.vitrina__asientos span{ width: 14px; height: 16px; border-radius: 4px 4px 3px 3px; background: rgba(255,255,255,.16); animation: sentar .35s ease-out forwards; animation-delay: calc(.25s + var(--k) * 45ms); }
@keyframes sentar{ to{ background: var(--accent-color); transform: translateY(-2px); } }
.vitrina__ideal{ list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.vitrina__ideal li{ display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; color: #fff; }
.vitrina__ideal .ico{ width: 18px; height: 18px; color: var(--accent-color); }

@media (max-width: 1199px){ .vitrina{ grid-template-columns: 270px 1fr; } }
@media (max-width: 991px){
	.vitrina{ grid-template-columns: 1fr; }
	.vitrina__lista{ display: flex; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
	.vitrina__lista::-webkit-scrollbar{ display: none; }
	.vitrina__tab{ flex: none; min-width: 210px; padding: 14px 18px; }
	.vitrina__tab:hover{ transform: none; }
	.vitrina__tab-txt strong{ font-size: 19px; }
}
@media (max-width: 575px){
	.vitrina__escenario{ min-height: 600px; }
	.vitrina__panel{ left: 20px; right: 20px; bottom: 22px; }
	.vitrina__plazas{ font-size: 64px; top: 16px; right: 20px; }
	.vitrina__tab{ min-width: 180px; }
	.vitrina__panel .btn-default{ width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce){
	.vitrina__foto{ transition: opacity .3s; transform: none; }
	.vitrina__asientos span{ animation: none; background: var(--accent-color); }
}

/* =========================================================
   Avatares animados del widget
   ========================================================= */
.avatar{ display: block; width: 100%; height: 100%; clip-path: circle(50%); overflow: hidden; }
.av-cabeza{ transform-origin: 60px 86px; animation: cabecear 5.5s ease-in-out infinite; }
.av-ojos{ transform-origin: 60px 54px; animation: parpadeo 4.6s infinite; }
.av-cejas{ transition: transform .3s; }
.av-boca{ opacity: 0; transform-origin: 60px 68px; }
.av-sonrisa{ transition: opacity .2s; }
.av-mic{ animation: brilloMic 2.4s ease-in-out infinite; }
.av-mano{ transform: translateY(42px); transform-origin: 94px 108px; transition: transform .35s cubic-bezier(.3,1.4,.5,1); }
.avatar.hablando .av-boca{ opacity: 1; animation: hablar .16s ease-in-out infinite alternate; }
.avatar.hablando .av-sonrisa{ opacity: 0; }
.agente__foto:hover .av-cejas, .avatar.saludando .av-cejas{ transform: translateY(-2px); }
.agente__foto:hover .av-mano, .avatar.saludando .av-mano{ transform: none; }
.avatar.saludando .av-mano{ animation: saludar .32s ease-in-out .3s 4 alternate; }
.atencion__boton:hover .av-mano{ transform: none; }
@keyframes cabecear{ 0%, 100%{ transform: rotate(0); } 30%{ transform: rotate(-3deg); } 70%{ transform: rotate(2.5deg); } }
@keyframes parpadeo{ 0%, 44%, 50%, 100%{ transform: scaleY(1); } 47%{ transform: scaleY(.08); } }
@keyframes hablar{ from{ transform: scaleY(.25); } to{ transform: scaleY(1.05); } }
@keyframes brilloMic{ 50%{ opacity: .45; } }
@keyframes saludar{ from{ transform: rotate(-14deg); } to{ transform: rotate(14deg); } }

.agente__foto{ position: relative; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 50%; transition: transform .3s; }
.agente__foto:hover{ transform: scale(1.06); }
.agente__foto:focus-visible{ outline: 3px solid var(--accent-color); outline-offset: 3px; }
.atencion__caras .avatar{ width: 42px; height: 42px; flex: none; }
.atencion__caras .avatar + .avatar{ margin-left: -12px; }
@media (max-width: 575px){ .atencion__caras .avatar{ width: 38px; height: 38px; } }
@media (prefers-reduced-motion: reduce){
	.av-cabeza, .av-ojos, .av-mic, .avatar.hablando .av-boca, .avatar.saludando .av-mano{ animation: none !important; }
}

/* =========================================================
   Formulario: validación en vivo y envío animado
   ========================================================= */
.solicitud{ position: relative; overflow: hidden; }
.campo-ayuda{ display: block; font-size: 12.5px; color: #8a97a2; margin-top: 6px; }
.campo-contador{ text-align: right; }
.campo.es-valido .form-control:not(select):not(textarea){
	border-color: #2fbf71;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232fbf71' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px;
}
.campo.es-valido textarea.form-control{ border-color: #2fbf71; }
.campo.es-invalido .form-control{ border-color: #d9362b; background-color: #fff6f5; }
.campo.es-invalido .campo-ayuda{ display: none; }
.solicitud.sacudir{ animation: sacudir .45s ease; }
@keyframes sacudir{ 20%{ transform: translateX(-9px); } 40%{ transform: translateX(8px); } 60%{ transform: translateX(-5px); } 80%{ transform: translateX(4px); } }

.solicitud__pie{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.solicitud__nota{ margin: 0; font-size: 14px; color: #8a97a2; }
.solicitud__privacidad{ flex-basis: 100%; margin: 4px 0 0; font-size: 12.5px; line-height: 1.55; color: #8a97a2; }
.solicitud__privacidad a{ color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.solicitud__spinner{ display: none; width: 18px; height: 18px; margin-left: 10px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.45); border-top-color: #fff; animation: giro .7s linear infinite; }
.solicitud.enviando .solicitud__spinner{ display: inline-block; }
.solicitud.enviando > .row{ opacity: .55; pointer-events: none; transition: opacity .3s; }
.solicitud__progreso{ position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--accent-color); transform: scaleX(0); transform-origin: left; }
.solicitud.enviando .solicitud__progreso{ animation: progreso 1.1s ease-in-out infinite; }
@keyframes progreso{ 0%{ transform: scaleX(0); transform-origin: left; } 50%{ transform: scaleX(1); transform-origin: left; } 51%{ transform-origin: right; } 100%{ transform: scaleX(0); transform-origin: right; } }

.solicitud.enviada > .row, .solicitud.enviada > .solicitud__estado{ visibility: hidden; }
.solicitud__exito{
	position: absolute; inset: 0; z-index: 5;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	text-align: center; padding: 34px;
	background: #fff; border-radius: 20px;
	animation: aparecerExito .5s cubic-bezier(.2,.8,.2,1);
}
.solicitud__exito[hidden]{ display: none; }
.solicitud__exito:focus{ outline: none; }
@keyframes aparecerExito{ from{ opacity: 0; transform: scale(.96); } }
.exito__check{ width: 92px; height: 92px; margin-bottom: 14px; }
.exito__check circle{ fill: #25D3661A; stroke: #25D366; stroke-width: 4; stroke-dasharray: 214; stroke-dashoffset: 214; animation: dibujar .7s ease-out forwards; }
.exito__check path{ fill: none; stroke: #1da851; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 50; stroke-dashoffset: 50; animation: dibujar .45s ease-out .55s forwards; }
@keyframes dibujar{ to{ stroke-dashoffset: 0; } }
.solicitud__exito h3{ font-size: clamp(26px, 3vw, 34px); margin-bottom: 8px; }
.solicitud__exito p{ max-width: 460px; margin: 0 auto 10px; }
.exito__ref{ background: var(--bg-color); border-radius: 100px; padding: 8px 18px; font-size: 14.5px; }
.exito__ref strong{ font-family: var(--accent-font); color: var(--accent-color); letter-spacing: .04em; }
.exito__ruta{ position: relative; width: 100%; max-width: 440px; height: 62px; margin: 8px auto 22px; border-bottom: 3px dashed #e3d8c8; overflow: hidden; }
.exito__van{ position: absolute; bottom: -3px; left: -140px; width: 130px; animation: llegar 2.4s cubic-bezier(.3,.6,.2,1) .5s forwards; }
.exito__van .van__haz{ display: none; }
@keyframes llegar{ to{ left: calc(50% - 65px); } }
.exito__acciones{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (prefers-reduced-motion: reduce){
	.exito__check circle, .exito__check path{ animation: none; stroke-dashoffset: 0; }
	.exito__van{ animation: none; left: calc(50% - 65px); }
	.solicitud.sacudir{ animation: none; }
}
.solicitud.enviando > .row{ opacity: 1; pointer-events: none; }
.solicitud.enviando .campo{ opacity: .55; transition: opacity .3s; }
.vitrina__nota{ margin-top: 6px; padding: 20px 22px; border-radius: 18px; background: #FF56001A; color: var(--primary-color); display: grid; gap: 8px; }
.vitrina__nota .ico{ width: 30px; height: 30px; color: var(--accent-color); }
.vitrina__nota p{ margin: 0; font-size: 15px; line-height: 1.5; }
.vitrina__nota-link{ color: var(--accent-color); font-weight: 700; }
.vitrina__nota-link:hover{ color: var(--primary-color); }
@media (max-width: 991px){ .vitrina__nota{ display: none; } }
@media (min-width: 576px){ .agente__foto{ width: 62px; height: 62px; } }

/* =========================================================
   Botones: texto blanco sobre naranjo
   ========================================================= */
.btn-default{ color: #fff; }
.btn-default:hover{ color: #fff; }

/* =========================================================
   Servicios: encabezado ilustrado y texto blanco al pasar el mouse
   ========================================================= */
.service-item-content h2, .service-item-content p, .servicio-puntos li, .service-item-btn .readmore-btn{ transition: color .4s; }
.service-item:hover .service-item-content h2,
.service-item:hover .service-item-content p,
.service-item:hover .servicio-puntos li,
.service-item:hover .servicio-puntos .ico,
.service-item:hover .readmore-btn{ color: #fff; }
.service-item:hover .service-item-btn{ border-top-color: rgba(255,255,255,.35); }
.service-item:hover .readmore-btn::after, .service-item:hover .readmore-btn::before{ filter: brightness(0) invert(1); }
.our-services.pausado *{ animation-play-state: paused !important; }

/* =========================================================
   Preguntas frecuentes: pregunta abierta en naranjo con texto blanco
   ========================================================= */
.faq-accordion .accordion-item .accordion-button:not(.collapsed){ color: #fff; }
.faq-accordion .accordion-button:not(.collapsed)::after{ color: #fff; }
.faq-accordion .accordion-item .accordion-body{ border-top-color: rgba(255,255,255,.25); }
.faq-accordion .accordion-item .accordion-body p{ color: #fff; }
.our-services .service-item{ justify-content: flex-start; gap: 0; min-height: 0; }
.our-services .service-item-body{ flex: 1; display: flex; flex-direction: column; }
.our-services .service-item-btn{ margin-top: auto; padding-top: 24px; }
.our-services .service-item-content{ margin-bottom: 26px; }

/* =========================================================
   Servicios: ícono animado (reemplaza la ilustración)
   ========================================================= */
.our-services .service-item{ padding-top: 34px; }
.our-services .service-item .servicio-icono{
	width: 76px; height: 76px; margin-bottom: 26px;
	border-radius: 22px; background: #FF56001A; color: var(--accent-color);
	transform: none;
	transition: background-color .4s, color .4s, border-radius .4s;
}
.service-item:hover .servicio-icono{ background: #fff; color: var(--accent-color); transform: none; border-radius: 50%; }
.ic-servicio{ width: 40px; height: 40px; overflow: visible; }

/* Trazo que se dibuja al entrar en pantalla */
.ic-servicio [pathLength]{ stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.1s cubic-bezier(.6,0,.2,1); transition-delay: var(--d, 0s); }
.servicio-icono.dibujado .ic-servicio [pathLength]{ stroke-dashoffset: 0; }

/* Micro-movimientos al pasar el mouse */
.ic-haz{ opacity: 0; transition: opacity .3s; }
.service-item:hover .ic-haz{ animation: icHaz 1s ease-in-out infinite alternate; }
@keyframes icHaz{ from{ opacity: .12; } to{ opacity: .38; } }
.ic-lampara{ transition: fill .3s; }
.service-item:hover .ic-lampara{ fill: currentColor; }

.ic-maletin{ transform-box: fill-box; transform-origin: center bottom; }
.service-item:hover .ic-maletin{ animation: icLevantar .6s cubic-bezier(.3,1.5,.5,1); }
@keyframes icLevantar{ 40%{ transform: translateY(-3px) rotate(-4deg); } 70%{ transform: translateY(0) rotate(2deg); } }

.ic-estela{ opacity: 0; }
.service-item:hover .ic-avion{ animation: icVolar 1.1s cubic-bezier(.5,0,.3,1); }
.service-item:hover .ic-estela{ animation: icEstela 1.1s ease-out; }
@keyframes icVolar{ 45%{ transform: translate(14px, -14px); opacity: 0; } 46%{ transform: translate(-14px, 14px); opacity: 0; } 100%{ transform: none; opacity: 1; } }
@keyframes icEstela{ 0%, 50%{ opacity: 0; } 70%{ opacity: .7; } 100%{ opacity: 0; } }

.ic-anillas{ transform-box: fill-box; transform-origin: center bottom; }
.service-item:hover .ic-anillas{ animation: icAnillas .5s ease-in-out 2 alternate; }
@keyframes icAnillas{ to{ transform: translateY(-1.5px); } }
.service-item:hover .ic-check{ animation: icCheck .6s ease-out; }
@keyframes icCheck{ from{ stroke-dashoffset: 1; } to{ stroke-dashoffset: 0; } }

@media (prefers-reduced-motion: reduce){
	.ic-servicio [pathLength]{ stroke-dashoffset: 0; transition: none; }
	.service-item:hover .ic-haz, .service-item:hover .ic-maletin, .service-item:hover .ic-avion,
	.service-item:hover .ic-estela, .service-item:hover .ic-anillas, .service-item:hover .ic-check{ animation: none; }
}

/* =========================================================
   Servicios: tarjetas oscuras con foto fundida (bento)
   ========================================================= */
.servicios-grid{
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	grid-template-areas: "faena ejecutivo aeropuerto" "faena eventos eventos";
	gap: 24px;
}
.servicio-card--faena{ grid-area: faena; }
.servicio-card--ejecutivo{ grid-area: ejecutivo; }
.servicio-card--aeropuerto{ grid-area: aeropuerto; }
.servicio-card--eventos{ grid-area: eventos; }

.servicio-card{
	--fondo: #0A1F2E;
	position: relative;
	display: flex; flex-direction: column;
	min-height: 520px;
	border-radius: 24px;
	overflow: hidden;
	background: var(--fondo);
	color: #c9d4dc;
	isolation: isolate;
	box-shadow: 0 18px 40px rgba(10,31,46,.14);
	transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s;
}
.servicio-card:hover{ transform: translateY(-6px); box-shadow: 0 28px 60px rgba(10,31,46,.25); }

.servicio-card__foto{ position: relative; margin: 0; height: 250px; flex: none; overflow: hidden; z-index: 0; }
.servicio-card__foto img{ width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.servicio-card:hover .servicio-card__foto img{ transform: scale(1.08); }
.servicio-card__foto::after{
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(10,31,46,0) 35%, rgba(10,31,46,.55) 70%, var(--fondo) 100%);
	transition: opacity .6s;
}
.servicio-card__foto::before{
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(10,31,46,.35), rgba(10,31,46,0) 30%);
}

.servicio-card__cuerpo{ position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; padding: 0 30px 28px; margin-top: -54px; }
.servicio-card__cabeza{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.servicio-card__icono{
	width: 64px; height: 64px; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: rgba(10,31,46,.55);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border: 1.5px solid rgba(255,86,0,.85);
	transition: background-color .4s, transform .4s;
}
.servicio-card__icono .ic-servicio{ width: 32px; height: 32px; }
.servicio-card .ic-servicio [pathLength]{ stroke-dashoffset: 0; transition: none; }
.servicio-card:hover .servicio-card__icono{ background: var(--accent-color); transform: rotate(-6deg); }
.servicio-card__sello{
	font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
	color: #fff; padding: 6px 12px; border-radius: 100px;
	background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	white-space: nowrap;
}
.servicio-card--faena .servicio-card__sello{ background: var(--accent-color); border-color: var(--accent-color); }
.servicio-card h3{ color: #fff; font-size: 22px; line-height: 1.25; margin: 0 0 12px; }
.servicio-card__linea{ display: block; width: 28px; height: 3px; border-radius: 3px; background: var(--accent-color); margin-bottom: 14px; transition: width .5s cubic-bezier(.2,.8,.2,1); }
.servicio-card:hover .servicio-card__linea{ width: 72px; }
.servicio-card p{ color: #b8c6d1; font-size: 15.5px; line-height: 1.6; margin: 0 0 16px; }
.servicio-card .servicio-puntos{ margin: 0 0 22px; }
.servicio-card .servicio-puntos li{ color: #fff; font-size: 14.5px; }
.servicio-card .servicio-puntos .ico{ color: var(--accent-color); }
.servicio-card__btn{
	margin-top: auto; align-self: flex-start;
	display: inline-flex; align-items: center; gap: 10px;
	color: #fff; font-weight: 700;
	padding: 10px 0; border-top: 1px solid rgba(255,255,255,.14); width: 100%;
}
.servicio-card__btn span{ display: inline-flex; width: 30px; height: 30px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(255,255,255,.1); transition: transform .4s, background-color .4s; }
.servicio-card:hover .servicio-card__btn span{ transform: translateX(6px); background: var(--accent-color); }
.servicio-card__btn:hover{ color: var(--arena); }

/* Faena destacada: tarjeta alta, foto grande */
.servicio-card--faena{ min-height: 640px; }
.servicio-card--faena .servicio-card__foto{ height: auto; flex: 1 1 auto; min-height: 340px; }
.servicio-card--faena .servicio-card__cuerpo{ flex: none; padding: 0 36px 34px; margin-top: -120px; }
.servicio-card--faena h3{ font-size: clamp(26px, 2.4vw, 34px); }
.servicio-card--faena p{ font-size: 16.5px; max-width: 520px; }
.servicio-card--faena .servicio-card__icono{ width: 74px; height: 74px; }
.servicio-card--faena .servicio-card__icono .ic-servicio{ width: 38px; height: 38px; }

/* Eventos: tarjeta horizontal, la foto se funde hacia la derecha */
.servicio-card--eventos{ min-height: 0; flex-direction: row; }
.servicio-card--eventos .servicio-card__foto{ position: absolute; inset: 0 40% 0 0; height: auto; }
.servicio-card--eventos .servicio-card__foto::after{ background: linear-gradient(90deg, rgba(10,31,46,0) 40%, rgba(10,31,46,.6) 75%, var(--fondo) 100%); }
.servicio-card--eventos .servicio-card__cuerpo{ margin: 0 0 0 auto; width: 54%; padding: 30px 30px 26px 10px; }

/* Gestos de íconos al pasar el mouse sobre la tarjeta */
.servicio-card:hover .ic-haz{ animation: icHaz 1s ease-in-out infinite alternate; }
.servicio-card:hover .ic-lampara{ fill: currentColor; }
.servicio-card:hover .ic-maletin{ animation: icLevantar .6s cubic-bezier(.3,1.5,.5,1); }
.servicio-card:hover .ic-avion{ animation: icVolar 1.1s cubic-bezier(.5,0,.3,1); }
.servicio-card:hover .ic-estela{ animation: icEstela 1.1s ease-out; }
.servicio-card:hover .ic-anillas{ animation: icAnillas .5s ease-in-out 2 alternate; }
.servicio-card:hover .ic-check{ animation: icCheck .6s ease-out; }

@media (max-width: 1199px){
	.servicios-grid{ grid-template-columns: 1fr 1fr; grid-template-areas: "faena faena" "ejecutivo aeropuerto" "eventos eventos"; }
	.servicio-card--faena{ min-height: 460px; flex-direction: row; }
	.servicio-card--faena .servicio-card__foto{ position: absolute; inset: 0 38% 0 0; min-height: 0; }
	.servicio-card--faena .servicio-card__foto::after{ background: linear-gradient(90deg, rgba(10,31,46,0) 40%, rgba(10,31,46,.6) 75%, var(--fondo) 100%); }
	.servicio-card--faena .servicio-card__cuerpo{ margin: 0 0 0 auto; width: 52%; padding: 34px 32px 30px 8px; justify-content: center; }
}
@media (max-width: 767px){
	.servicios-grid{ grid-template-columns: 1fr; grid-template-areas: "faena" "ejecutivo" "aeropuerto" "eventos"; gap: 18px; }
	.servicio-card, .servicio-card--faena, .servicio-card--eventos{ flex-direction: column; min-height: 0; }
	.servicio-card--faena .servicio-card__foto, .servicio-card--eventos .servicio-card__foto{ position: relative; inset: auto; height: 260px; min-height: 0; flex: none; }
	.servicio-card--faena .servicio-card__foto::after, .servicio-card--eventos .servicio-card__foto::after{ background: linear-gradient(180deg, rgba(10,31,46,0) 35%, rgba(10,31,46,.55) 70%, var(--fondo) 100%); }
	.servicio-card--faena .servicio-card__cuerpo, .servicio-card--eventos .servicio-card__cuerpo{ width: auto; margin: -54px 0 0; padding: 0 22px 22px; }
	.servicio-card__cuerpo{ padding: 0 22px 22px; }
	.servicio-card--faena .servicio-card__foto{ height: 300px; }
}
@media (prefers-reduced-motion: reduce){
	.servicio-card, .servicio-card__foto img{ transition: none; }
	.servicio-card:hover .servicio-card__foto img{ transform: none; }
}
.servicio-card--eventos .servicio-card__cuerpo{ flex: 0 0 auto; }
@media (max-width: 1199px){ .servicio-card--faena .servicio-card__cuerpo{ flex: 0 0 auto; } }
@media (max-width: 767px){ .servicio-card--faena .servicio-card__cuerpo, .servicio-card--eventos .servicio-card__cuerpo{ flex: 1 1 auto; } }

/* =========================================================
   Flota: "garaje" de paneles que se expanden y encienden luces
   ========================================================= */
.garaje{ display: flex; gap: 12px; height: 620px; }
.garaje__panel{
	position: relative; flex: 1 1 0; min-width: 0;
	border-radius: 22px; overflow: hidden; cursor: pointer;
	background: #07121b;
	transition: flex-grow .8s cubic-bezier(.65,0,.25,1), box-shadow .6s;
	outline: none;
}
.garaje__panel.activo{ flex-grow: 4.6; cursor: default; }
.garaje__panel:focus-visible{ box-shadow: 0 0 0 3px var(--accent-color); }
.garaje__panel.encendido{ box-shadow: 0 30px 70px rgba(5,18,28,.45), 0 0 0 1px rgba(255,255,255,.06); }

.garaje__fotos, .garaje__img{ position: absolute; inset: 0; }
.garaje__img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; transform: scale(1.04); transition: transform 1.4s cubic-bezier(.2,.8,.2,1), filter .8s; }
.garaje__panel:not(.activo) .garaje__img{ filter: brightness(.55) saturate(.8); }
.garaje__panel:not(.activo):hover .garaje__img{ filter: brightness(.8); }
.garaje__panel.activo .garaje__img{ transform: scale(1); }
.garaje__img--on{ opacity: 0; transition: opacity .5s ease, transform 1.4s cubic-bezier(.2,.8,.2,1); }
.garaje__panel.encendido .garaje__img--on{ animation: encender 1.1s ease-out forwards; }
@keyframes encender{ 0%{ opacity: 0; } 10%{ opacity: .85; } 18%{ opacity: .15; } 28%{ opacity: .95; } 36%{ opacity: .6; } 55%, 100%{ opacity: 1; } }

.garaje__panel::after{
	content: ''; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(5,14,22,.35) 0%, rgba(5,14,22,0) 22%, rgba(5,14,22,0) 48%, rgba(5,14,22,.82) 78%, rgba(5,14,22,.96) 100%);
}

/* Panel cerrado: tira con el nombre vertical */
.garaje__tira{
	position: absolute; inset: 0; z-index: 2;
	display: flex; flex-direction: column; align-items: center; justify-content: space-between;
	padding: 24px 0 26px; color: #fff;
	transition: opacity .35s;
}
.garaje__panel.activo .garaje__tira{ opacity: 0; pointer-events: none; }
.garaje__n{ font-family: var(--accent-font); font-weight: 700; font-size: 14px; color: var(--accent-color); }
.garaje__vertical{ writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--accent-font); font-size: 26px; font-weight: 700; letter-spacing: .04em; }
.garaje__plazas-mini{ font-family: var(--accent-font); font-weight: 700; font-size: 18px; }
.garaje__plazas-mini small{ font-size: 11px; color: #a9bac6; font-weight: 600; }

/* Panel abierto: información */
.garaje__info{
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	padding: 0 36px 32px; color: #fff;
	opacity: 0; transform: translateY(18px);
	transition: opacity .4s ease, transform .5s ease;
	pointer-events: none;
}
.garaje__panel.activo .garaje__info{ opacity: 1; transform: none; transition-delay: .35s; pointer-events: auto; }
.garaje__plazas{ position: absolute; right: 34px; bottom: 30px; text-align: right; font-family: var(--accent-font); line-height: .85; }
.garaje__plazas span{ display: block; font-size: 96px; font-weight: 700; letter-spacing: -.04em; color: #fff; }
.garaje__plazas small{ display: block; margin-top: 8px; font-size: 14px; font-weight: 600; color: var(--arena); }
.garaje__tipo{ margin: 0 0 4px; color: var(--accent-color); font-weight: 700; font-size: 14.5px; }
.garaje__info h3{ color: #fff; font-size: clamp(26px, 2.6vw, 36px); margin: 0 0 8px; }
.garaje__uso{ color: #c4d1db; max-width: 520px; margin: 0 0 14px; line-height: 1.55; }
.garaje__ideal{ list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 6px 18px; max-width: 560px; }
.garaje__ideal li{ display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.garaje__ideal .ico{ width: 17px; height: 17px; color: var(--accent-color); }

.garaje__nota{ display: flex; align-items: center; justify-content: center; gap: 10px; margin: 26px 0 0; color: var(--text-color); text-align: center; }
.garaje__nota .ico{ width: 24px; height: 24px; color: var(--accent-color); flex: none; }
.garaje__nota a{ color: var(--accent-color); font-weight: 700; }

@media (max-width: 1199px){
	.garaje{ height: 560px; }
	.garaje__plazas span{ font-size: 72px; }
	.garaje__info{ padding: 0 26px 26px; }
	.garaje__uso{ max-width: 420px; }
}
@media (max-width: 991px){
	.garaje{ flex-direction: column; height: auto; }
	.garaje__panel{ flex: none; height: 96px; transition: height .7s cubic-bezier(.65,0,.25,1), box-shadow .6s; }
	.garaje__panel.activo{ height: 560px; }
	.garaje__tira{ flex-direction: row; padding: 0 24px; }
	.garaje__vertical{ writing-mode: horizontal-tb; transform: none; font-size: 22px; flex: 1; margin-left: 16px; }
	.garaje__img{ object-position: 50% 45%; }
	.garaje__plazas{ bottom: auto; top: 22px; }
}
@media (max-width: 575px){
	.garaje__panel.activo{ height: 600px; }
	.garaje__info{ padding: 0 20px 22px; }
	.garaje__plazas span{ font-size: 60px; }
	.garaje__info .btn-default{ width: 100%; text-align: center; }
	.garaje__img{ object-position: 40% 40%; }
	.garaje__nota{ flex-direction: column; }
}
@media (prefers-reduced-motion: reduce){
	.garaje__panel, .garaje__img, .garaje__info{ transition: none; }
	.garaje__panel.encendido .garaje__img--on{ animation: none; opacity: 1; }
}
.garaje{ height: 560px; }
.garaje__panel.activo{ flex-grow: 7; }
.garaje__img{ object-position: 50% 42%; }
.garaje__plazas{ bottom: auto; top: 26px; }
.garaje__uso{ max-width: 460px; font-size: 15px; }
.garaje__panel::after{ background: linear-gradient(180deg, rgba(5,14,22,.45) 0%, rgba(5,14,22,0) 20%, rgba(5,14,22,0) 55%, rgba(5,14,22,.85) 82%, rgba(5,14,22,.97) 100%); }
@media (max-width: 1199px){ .garaje{ height: 520px; } }
@media (max-width: 991px){ .garaje{ height: auto; } .garaje__panel.activo{ height: 540px; } }
@media (max-width: 575px){ .garaje__panel.activo{ height: 560px; } .garaje__img{ object-position: 38% 30%; } .garaje__panel.activo .garaje__img{ height: 62%; } .garaje__uso{ display: none; } }
/* Panel abierto: foto arriba, franja de información abajo */
.garaje{ height: 600px; }
.garaje__panel.activo .garaje__fotos{ bottom: 168px; }
.garaje__panel.activo .garaje__fotos::after{ content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 45%; background: linear-gradient(180deg, rgba(7,18,27,0), #07121b); }
.garaje__panel.activo::after{ background: linear-gradient(180deg, rgba(5,14,22,.4) 0%, rgba(5,14,22,0) 18%); }
.garaje__panel.activo .garaje__img{ object-position: 50% 50%; }
.garaje__plazas{ position: absolute; z-index: 3; right: 30px; top: 22px; bottom: auto; opacity: 0; transition: opacity .4s; }
.garaje__panel.activo .garaje__plazas{ opacity: 1; transition-delay: .35s; }
.garaje__plazas span{ font-size: 84px; text-shadow: 0 6px 24px rgba(0,0,0,.4); }
.garaje__info{ display: grid; grid-template-columns: 1.1fr 1fr; gap: 10px 36px; align-items: end; padding: 0 34px 30px; }
.garaje__uso{ margin: 0; }
.garaje__ideal{ flex-direction: column; gap: 6px; margin: 0 0 16px; }
.garaje__info-b{ justify-self: end; }
@media (max-width: 1199px){
	.garaje{ height: 580px; }
	.garaje__panel.activo .garaje__fotos{ bottom: 190px; }
	.garaje__info{ grid-template-columns: 1fr; gap: 12px; }
	.garaje__info-b{ justify-self: start; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
	.garaje__ideal{ flex-direction: row; margin: 0; }
	.garaje__uso{ display: none; }
}
@media (max-width: 991px){
	.garaje{ height: auto; }
	.garaje__panel.activo{ height: 560px; }
	.garaje__panel.activo .garaje__fotos{ bottom: 200px; }
	.garaje__plazas{ top: 18px; right: 22px; }
	.garaje__plazas span{ font-size: 60px; }
}
@media (max-width: 575px){
	.garaje__panel.activo .garaje__img{ height: 100%; object-position: 42% 50%; }
	.garaje__panel.activo{ height: 540px; }
	.garaje__panel.activo .garaje__fotos{ bottom: 230px; }
	.garaje__info-b{ display: block; width: 100%; }
	.garaje__ideal{ flex-direction: column; margin-bottom: 14px; }
}

/* Cambio de luces al abrir un vehículo */
.garaje__panel.activo .garaje__img--off{ filter: brightness(.62) saturate(.9); transition: filter .6s ease; }
.garaje__panel.encendido .garaje__img--off{ filter: brightness(.62) saturate(.9); }
.garaje__panel.encendido .garaje__img--on{ animation: cambioLuces 1.8s ease-out forwards; }
@keyframes cambioLuces{
	0%{ opacity: 0; }
	10%{ opacity: 1; }
	18%{ opacity: .05; }
	28%{ opacity: 1; }
	36%{ opacity: .1; }
	50%, 100%{ opacity: 1; }
}
.garaje__fotos::before{
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0;
	background:
		radial-gradient(ellipse 22% 16% at 14% 44%, rgba(235,245,255,.55), transparent 70%),
		radial-gradient(ellipse 18% 13% at 34% 42%, rgba(235,245,255,.45), transparent 70%),
		radial-gradient(ellipse 60% 18% at 30% 92%, rgba(220,235,255,.18), transparent 70%);
	mix-blend-mode: screen;
}
.garaje__panel.encendido .garaje__fotos::before{ animation: destello 1.8s ease-out forwards; }
@keyframes destello{
	0%{ opacity: 0; } 10%{ opacity: 1; } 18%{ opacity: 0; } 28%{ opacity: 1; } 36%{ opacity: 0; } 50%{ opacity: .9; } 100%{ opacity: .35; }
}

/* Pasajeros: placa de vidrio */
.garaje__plazas{
	top: 20px; right: 20px;
	padding: 12px 18px 12px;
	border-radius: 18px;
	background: rgba(7,18,27,.55);
	border: 1px solid rgba(255,255,255,.14);
	-webkit-backdrop-filter: blur(12px) saturate(140%); backdrop-filter: blur(12px) saturate(140%);
	box-shadow: 0 10px 30px rgba(0,0,0,.35);
	text-align: center;
}
.garaje__plazas span{ font-size: 56px; text-shadow: none; line-height: .9; }
.garaje__plazas small{ margin-top: 6px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--arena); }
@media (max-width: 991px){ .garaje__plazas{ top: 14px; right: 14px; padding: 10px 14px; } .garaje__plazas span{ font-size: 44px; } }
@media (prefers-reduced-motion: reduce){ .garaje__panel.encendido .garaje__fotos::before{ animation: none; opacity: .35; } }

/* =========================================================
   Cómo trabajamos: lista numerada con líneas
   ========================================================= */
.pasos-lista{ list-style: none; padding: 0; margin: 34px 0 0; border-top: 1px solid var(--divider-color); }
.paso{ position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 26px; padding: 28px 40px 28px 0; border-bottom: 1px solid var(--divider-color); transition: background-color .4s; }
.paso__n{ width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--bg-color); border-radius: 10px; font-family: var(--accent-font); font-weight: 600; font-size: 15px; color: var(--primary-color); transition: background-color .4s, color .4s; }
.paso__txt h3{ display: flex; align-items: center; gap: 12px; font-size: clamp(22px, 2vw, 28px); margin: 6px 0 10px; color: var(--primary-color); }
.paso__ico{ width: 26px; height: 26px; color: var(--accent-color); flex: none; }
.paso__txt p{ margin: 0; color: var(--text-color); max-width: 560px; line-height: 1.6; }
.paso__esquina{ position: absolute; top: 18px; right: 0; width: 18px; height: 18px; border-top: 3px solid var(--accent-color); border-right: 3px solid var(--accent-color); transition: transform .4s; }
.paso:hover .paso__n{ background: var(--accent-color); color: #fff; }
.paso:hover .paso__esquina{ transform: translate(3px, -3px); }
.our-core-features .core-features-content{ align-content: center; }
@media (max-width: 767px){
	.paso{ grid-template-columns: 40px 1fr; gap: 16px; padding: 22px 26px 22px 0; }
	.paso__n{ width: 40px; height: 40px; font-size: 13px; }
	.paso__txt h3{ font-size: 20px; margin-top: 2px; }
	.paso__ico{ width: 22px; height: 22px; }
}

/* =========================================================
   Hablemos hoy: texto a la izquierda, acciones grandes a la derecha
   ========================================================= */
.cta-pym__grid{ display: grid; grid-template-columns: 1.15fr 1fr; gap: 60px; align-items: center; }
.cta-pym__puntos{ list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; }
.cta-pym__puntos li{ display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 500; }
.cta-pym__puntos .ico{ width: 20px; height: 20px; color: var(--accent-color); }
.cta-pym__acciones{ display: grid; gap: 14px; }
.cta-accion{
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px;
	width: 100%; padding: 18px 22px; border-radius: 18px; text-align: left; cursor: pointer;
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #fff; font: inherit;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transition: background-color .35s, border-color .35s, transform .35s;
}
.cta-accion:hover{ background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.25); transform: translateX(4px); color: #fff; }
.cta-accion__ico{ width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--primary-color); font-size: 26px; }
.cta-accion__ico .ico{ width: 24px; height: 24px; }
.cta-accion__txt small{ display: block; color: #a9bac6; font-size: 13px; margin-bottom: 2px; }
.cta-accion__txt strong{ display: block; font-family: var(--accent-font); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.2; }
.cta-accion__flecha{ font-size: 22px; opacity: .6; transition: transform .35s, opacity .35s; }
.cta-accion:hover .cta-accion__flecha{ transform: translateX(4px); opacity: 1; }
.cta-accion--principal{ background: var(--accent-color); border-color: var(--accent-color); }
.cta-accion--principal:hover{ background: var(--naranjo-claro); border-color: var(--naranjo-claro); }
.cta-accion--principal .cta-accion__ico{ color: var(--accent-color); }
.cta-accion--principal .cta-accion__txt small{ color: rgba(255,255,255,.85); }
.cta-accion--principal .cta-accion__flecha{ opacity: 1; }
.cta-accion--wa .cta-accion__ico{ background: #25D366; color: #fff; }
@media (max-width: 991px){
	.cta-pym__grid{ grid-template-columns: 1fr; gap: 34px; }
	.cta-pym .section-title{ text-align: left; }
}
@media (max-width: 575px){
	.cta-accion{ padding: 14px 16px; gap: 14px; }
	.cta-accion__ico{ width: 46px; height: 46px; font-size: 22px; }
}

/* Botón blanco del hero: texto oscuro; al pasar el mouse, naranjo con texto blanco */
.btn-default.btn-white{ color: var(--primary-color); }
.btn-default.btn-white:hover{ color: #fff; }

/* Por qué preferirnos: respetar la proporción de la plantilla aunque la imagen traiga width/height */
.why-choose-image-box-1 .why-choose-image figure img{ height: auto; object-position: 36% 50%; }

/* Insignia: tamaños */
.sello--compacto .sello__fino{ display: none; }
.hero-sello{ width: clamp(220px, 17vw, 268px); }
@media (max-width: 1299px){ .hero-sello{ width: 124px; } }
@media (max-width: 767px){ .hero-sello{ width: 98px; } }
.nosotros-sello{ width: 132px; }
@media (max-width: 767px){ .nosotros-sello{ width: 96px; } }
/* Cintas: leve vaivén */
.hero-sello .sello__cintas{ transform-origin: 160px 210px; transform-box: view-box; animation: cintas 6s ease-in-out infinite; }
@keyframes cintas{ 50%{ transform: rotate(1.2deg); } }

/* Destellos que titilan */
.sello__destello{ transform-box: view-box; animation: titilar 3.6s ease-in-out infinite; }
@keyframes titilar{ 0%, 100%{ opacity: .15; transform: scale(.55) rotate(0deg); } 45%{ opacity: 1; transform: scale(1) rotate(45deg); } }
@media (prefers-reduced-motion: reduce){ .sello__destello{ animation: none; opacity: .8; } }

