/* Ajustes exclusivos de Inicio. Los textos y borradores del editor se conservan. */
main .service-card{border-radius:22px;overflow:hidden}main .card-image{border-radius:22px 22px 0 0}main .photo-label,main .placeholder,main .logo-cell,main .purpose article,main .difference-grid article{border-radius:20px}main img:not(.hero-bg):not(.vego-slide){border-radius:20px}main .insurance-grid{border:0;gap:16px}main .insurance-grid .logo-cell{border:1px solid var(--line)}main .client-track .logo-cell{border-radius:20px}main .purpose article{padding:34px;background:#fff;border:1px solid var(--line)}main .difference-grid article{padding:28px;background:#fff;border:1px solid var(--line)}main .btn{border-radius:12px}
/* Fotografía de fondo que ocupa la sección completa. */
main .about{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;min-height:820px;padding:70px 7%;overflow:hidden;align-items:center;margin-bottom:70px}
main .about-photo{position:absolute;inset:0;z-index:-2;padding:0;transform:none!important;opacity:1!important}
main .about-photo>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:65% 40%;border-radius:0!important}
main .about:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0003,transparent 70%);pointer-events:none}
main .about-copy{grid-column:1;position:relative;padding:38px;background:rgba(25,27,31,.95);border:1px solid #ffffff22;border-radius:28px;box-shadow:0 20px 70px #0003;color:#fff;backdrop-filter:blur(8px)}
main .about-copy h2{font-size:clamp(36px,3.3vw,54px);color:#fff}main .about-copy h2 em{color:#ff5c62}main .about-copy p,main .about-copy .lead{color:#f0f0f2}main .about-copy .eyebrow{color:#ff777c}main .about-copy .text-link{color:#fff}
main .about-photo .photo-label{left:auto;right:5%;bottom:38px;width:auto;max-width:36%;padding:20px 28px;border-radius:20px;background:rgba(206,25,34,.94)}
/* Jerarquía centrada en misión, visión, servicios y alianzas. */
main .purpose article>.eyebrow{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(28px,3vw,44px)!important;font-weight:600;letter-spacing:.025em;text-align:center!important;line-height:1.15;margin-bottom:24px}
main .purpose h3{text-align:center!important;font-size:clamp(25px,2.4vw,36px)!important}
main .services .section-heading,main .partners .section-heading{max-width:none;width:100%;text-align:center!important}
main .services .section-heading>.eyebrow{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(29px,3.4vw,46px)!important;letter-spacing:.035em;text-align:center!important;line-height:1.15}
main .services .section-heading h2,main .partners .section-heading h2{font-size:clamp(44px,5vw,74px)!important;text-align:center!important}
main .services .section-heading p,main .partners .section-heading p{margin-left:auto;margin-right:auto}
main .client-heading{position:relative;display:block;text-align:center!important;padding:0 100px}
main .client-heading h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(34px,4vw,58px)!important;line-height:1.12;text-align:center!important;max-width:none!important;margin:0 auto}
main .client-heading>div{position:absolute;right:0;top:50%;transform:translateY(-50%)}main .client-heading button{border-radius:50%}
/* Tres fotografías, fundido y controles accesibles. */
.hero.vego-slideshow>.hero-bg{position:absolute;inset:0;opacity:0}.vego-slides{position:absolute;inset:0;pointer-events:none}.vego-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 55%;opacity:0;transition:opacity 1.2s ease;border-radius:0!important}.vego-slide.is-active{opacity:1}.vego-slide[data-photo=duo]{object-position:center 50%}.vego-controls{position:absolute;right:7%;bottom:90px;display:flex;align-items:center;gap:10px;z-index:5;padding:9px 13px;background:#15171bb3;border:1px solid #ffffff35;border-radius:30px}.vego-dot{height:10px;width:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.vego-dot[aria-current=true]{background:#fff}.vego-pause{margin-left:5px;background:none;border:0;border-left:1px solid #ffffff40;color:#fff;font:600 11px Manrope,Arial,sans-serif;padding:4px 2px 4px 12px;cursor:pointer}.vego-controls button:focus-visible{outline:2px solid white;outline-offset:4px}.cms-editing .vego-slides,.cms-editing .vego-controls{display:none}.cms-editing .hero.vego-slideshow>.hero-bg{opacity:1}
@media(max-width:1050px){main .about{grid-template-columns:1.1fr 1fr;gap:3%;padding:55px 5%;min-height:850px}main .about-copy{padding:28px}main .purpose article{padding:28px}}
@media(max-width:700px){main .about{display:block;min-height:0;padding:340px 6% 32px;margin-bottom:45px}main .about-photo>img{object-position:68% top}main .about-copy{padding:26px 22px;border-radius:22px}main .about-photo .photo-label{display:none}main .about-copy h2{font-size:39px}main .purpose article{padding:26px 22px}main .client-heading{padding:0}.client-heading>div{position:static!important;transform:none!important;justify-content:center;margin-top:20px}.vego-controls{bottom:70px;right:7%}.vego-slide{object-position:62% center}}
@media(prefers-reduced-motion:reduce){.vego-slide{transition:none}}
/* Portada: unión suave con el encabezado y control compacto. */
header{border-bottom:0}
main .hero::before{content:'';position:absolute;top:0;left:0;right:0;height:52px;background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,.65) 25%,rgba(255,255,255,.18) 65%,rgba(255,255,255,0) 100%);z-index:4;pointer-events:none}
.vego-controls{transform:scale(.5);transform-origin:right center}
/* Tres conceptos con iconos rojos, como la referencia. */
main .intro-strip{display:block;padding:35px 7%;background:#101018;border:0}
main .intro-strip>span,main .intro-strip>p{display:none!important}
.vego-service-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:1050px;margin:0 auto;text-align:center}
.vego-summary-item{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff}
main .vego-summary-item img{width:64px;height:64px;border-radius:0;object-fit:contain}
.vego-summary-item>span{font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
/* Numeración circular de las tarjetas de áreas/servicios. */
main .card-number{width:34px;height:34px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;background:#17191cd9}
/* Gris mate y opaco en el pie de Inicio. */
footer{background:#a4a6a9;color:#191a1c}footer p,footer .footer-bottom{color:#25272b}footer .footer-bottom{border-color:#74777c}
@media(max-width:700px){main .hero::before{height:35px}main .intro-strip{padding:28px 6%}.vego-service-summary{gap:12px}main .vego-summary-item img{width:46px;height:46px}.vego-summary-item{gap:12px}.vego-summary-item>span{font-size:10px;letter-spacing:.02em}}
/* Iconos de reproducción, manteniendo el tamaño compacto del control. */
.vego-pause{width:36px;height:28px;display:flex;align-items:center;justify-content:center;padding:4px 2px 4px 10px}
.vego-pause-icon{display:block;width:14px;height:16px;border-left:5px solid currentColor;border-right:5px solid currentColor}
.vego-play-icon{display:block;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid currentColor;margin-left:3px}
/* Difuminado sutil entre las secciones claras y oscuras. */
main .services.dark{position:relative}
main .services.dark::before,main .services.dark::after{content:'';position:absolute;left:0;right:0;height:36px;pointer-events:none;z-index:1}
main .services.dark::before{top:0;background:linear-gradient(to bottom,var(--paper),rgba(246,245,242,.3) 35%,transparent)}
main .services.dark::after{bottom:0;background:linear-gradient(to top,var(--paper),rgba(246,245,242,.3) 35%,transparent)}
main .difference .section-heading{max-width:none;width:100%;text-align:center!important}
main .difference .section-heading h2,main .difference .section-heading .eyebrow{text-align:center!important}
main .difference .section-heading p{margin-left:auto;margin-right:auto}
main .client-track{scrollbar-width:none;-ms-overflow-style:none}
main .client-track::-webkit-scrollbar{display:none;width:0;height:0}
main .card-number{display:none!important}
/* Mapa correspondiente al enlace de ubicación proporcionado. */
main .vego-location{background:var(--paper);padding-top:65px}
main .vego-location .section-heading{max-width:none;text-align:center;margin-bottom:32px}
main .vego-location .section-heading p{margin-left:auto;margin-right:auto}
.vego-map{overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#e7e7e7}
.vego-map iframe{display:block;width:100%;height:460px;border:0}
.vego-map-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:26px}
.vego-map-actions .text-link{margin-top:0}
.cms-editing .vego-map iframe{pointer-events:none}
@media(max-width:700px){main .services.dark::before,main .services.dark::after{height:24px}.vego-map iframe{height:350px}.vego-map-actions{flex-direction:column;gap:12px}}

main .partners>.vego-location{padding:65px 0 0;background:transparent}

/* Recorta únicamente el desplazamiento animado fuera de pantalla. */
main{overflow-x:clip}
/* Ajustes de texto solicitados; se conservan los bloques y su movimiento. */
main .about-copy h2,main .purpose article,main .purpose article p{text-align:center!important}
main .purpose h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(28px,3vw,44px)!important;margin-bottom:24px}
main .difference-grid article:empty{min-height:210px}
main .vego-location .vego-location-title{color:var(--red)}
/* Mismo rojo que el botón «Abrir en Google Maps» (.red). */
main .cta-banner{gap:40px;background:var(--red)}
main .cta-banner h2{max-width:740px;margin:0;font-size:clamp(32px,3.5vw,54px)}
main .cta-banner>img{width:clamp(200px,26vw,340px);height:auto;object-fit:contain;border-radius:0!important;flex-shrink:0}
@media(max-width:700px){main .cta-banner{align-items:center;text-align:center}main .difference-grid article:empty{min-height:180px}}
/* Encabezados y pie de Inicio actualizados. */
main .services .section-heading>.eyebrow{font-size:clamp(34px,4vw,54px)!important}
footer{background:#17191c;color:#fff}
footer p,footer .footer-bottom{color:#e2e3e5}
footer .footer-bottom{border-color:#ffffff26}
footer .brand{width:190px;padding:12px;background:#fff;border-radius:14px}
footer .brand img{width:100%;height:auto;object-fit:contain}
/* Alineación de los textos señalados en Inicio. */
main .difference-grid article h3,main .difference-grid article p,
main .about-photo .photo-label,main .about-photo .photo-label span,
main .about-photo .photo-label strong{text-align:center!important}
/* Ajustes señalados en encabezado, ubicación y pie. */
footer .footer-top p{color:#fff}
header>.brand{margin-left:24px}
@media(max-width:700px){header>.brand{margin-left:10px}}
/* Degradados continuos: los extremos coinciden con ambos fondos. */
main .hero::before{height:var(--section-fade);background:linear-gradient(to bottom,#fff 0%,rgba(255,255,255,0) 100%)}
main .services.dark{padding-top:calc(var(--section-fade) + 40px);padding-bottom:calc(var(--section-fade) + 40px)}
main .services.dark::before,main .services.dark::after{height:var(--section-fade)}
main .services.dark::before{background:linear-gradient(to bottom,var(--paper) 0%,#17191c 100%)}
main .services.dark::after{background:linear-gradient(to bottom,#17191c 0%,var(--paper) 100%)}
/* Versión negra del logo blanco, conservando su transparencia. */
main .client-track img[src$="ftr.webp"]{filter:brightness(0)}
main .vego-map-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:10px}
main .vego-map-actions>a img{width:25px;height:28px;object-fit:contain;border-radius:0!important}
main .service-card:nth-child(n){grid-column:span 2}
main .hojalateria-card-image{display:grid;place-items:center;background:#292c31}
main .hojalateria-card-image img{width:150px;height:120px;object-fit:contain}
@media(max-width:700px){main .service-card:nth-child(n){grid-column:auto}}

.hero-bottom{align-items:center;gap:16px}
.hero-bottom .contact-social{flex-shrink:0;color:#fff}
.hero-bottom :is(.social-pending,.social-link){display:grid;width:36px;height:36px;padding:8px;border-radius:10px}
.hero-bottom :is(.social-pending,.social-link) img{width:20px;height:20px}
@media(max-width:700px){.hero-bottom{flex-wrap:wrap;gap:8px;padding-top:12px;bottom:16px}.hero-bottom>span{width:100%}.hero-bottom .contact-social{gap:12px}.hero-bottom .contact-social>span{font-size:13px}.hero .vego-controls{bottom:116px}}

/* Ajustes exclusivos para celular. */
@media(max-width:700px){
 main .hero-content{left:6%;width:88%;text-align:center}
 main .hero-content>p{margin-left:auto;margin-right:auto}
 main .hero-content .actions{align-items:center}
 main .hero-content>.eyebrow{font-size:8px;letter-spacing:.09em}
 main .hero-bottom{left:6%;right:6%;justify-content:center;text-align:center}
 main .hero-bottom>span{font-size:8px;letter-spacing:.06em}
 main .hero-bottom .contact-social{justify-content:center;width:100%}
 main .about-copy{background:linear-gradient(135deg,rgba(30,34,39,.38),rgba(30,34,39,.2));-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.45);box-shadow:inset 0 1px 0 #ffffff60,0 12px 38px #0003;color:#fff}
 main .about-copy p,main .about-copy .lead,main .about-copy h2{color:#fff;text-shadow:0 1px 5px #000b}
}

/* Portada: retirar el acceso solicitado a servicios. */
main .hero .actions>a.btn.red{display:none}
