:root{--pink:#d5008d;--gray:#8c8c8c;--text:#474747}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--gray);font:15px/1.35 'Trebuchet MS',Helvetica,sans-serif}a{color:inherit}a:hover{color:var(--pink)}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:4px}[hidden]{display:none!important}
.site{max-width:1000px;margin:auto;padding:0 20px 30px}header{padding:10px 20px}.logo{display:block;width:224px;max-width:100%;height:auto;margin:auto}
nav ul{display:flex;justify-content:center;gap:15px;list-style:none;padding:0;margin:14px 0 25px}nav a{display:block;padding:0 20px 6px;text-decoration:none;color:var(--text);font-size:17.6px;border-bottom:1px solid var(--text)}nav a[aria-current]{border-bottom:3px solid #000;padding-bottom:4px}nav a:hover{color:var(--gray)}
.banner{position:relative;border:10px solid #fff;box-shadow:0 2px 3px #0005;margin:5px 0 20px}.banner>img{display:block;width:100%;height:auto;aspect-ratio:940/207;object-fit:cover}.carousel{position:relative}.carousel-controls{display:flex;justify-content:center;gap:5px;padding:6px;position:absolute;bottom:0;right:0;opacity:0;transition:opacity .15s}.carousel:hover .carousel-controls,.carousel:focus-within .carousel-controls{opacity:1}.carousel-controls button{border:1px solid #ddd;background:white;color:var(--text);border-radius:2px;min-width:36px;min-height:36px}
.layout{padding:0 15px 20px}.with-sidebar{display:grid;grid-template-columns:minmax(0,27.5fr) minmax(0,63fr);gap:9.5%}.with-sidebar main{grid-column:2;grid-row:1}.with-sidebar aside{grid-column:1;grid-row:1}main{min-width:0}h1{color:var(--text);font-size:28.8px;font-weight:400;line-height:1.35;margin:22px 0 26px}h2{font-size:28px;font-weight:400;line-height:1.35;margin:22px 0}p{margin:0}main img{max-width:100%;height:auto}main a[href^="mailto:"],main a[href^="tel:"]{color:var(--pink)}main li{margin:0}main ul{padding-left:20px;margin:15px 0}
.columns{display:flex;gap:20px;align-items:flex-start;margin:25px 0}.columns>div{flex:1;min-width:0}.columns>.column-small{flex:0 0 32%}.page-servicios-1 .columns{margin-top:30px}.page-servicios-1 .columns img{margin-top:24px}.page-tecnología-1 .columns{margin-top:26px}.page-tecnología-1 .columns p{margin:0}.page-contactar .columns{margin-top:0}.page-contactar h1{margin-bottom:26px}.page-contactar .columns>div:first-child p:nth-of-type(2){margin-top:18px}.page-contactar .columns>div:first-child p:nth-of-type(5),.page-contactar .columns>div:first-child p:nth-of-type(7){margin-top:16px}.page-contactar .columns img{display:block;width:450px;max-width:100%;height:auto}
aside{padding:10px 24px 25px;background:var(--gray);color:white;align-self:start}aside h2{margin:24px 0 55px}.testimonials{text-align:center;min-height:500px;padding-bottom:26px}.testimonials>img{display:block;max-width:100%;width:auto;height:auto;margin:auto}.testimonials .carousel-controls{left:0;right:0;padding:0}
.video{margin:48px 0 24px}.video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}table{border-collapse:collapse;width:100%;font-size:13px;overflow-wrap:anywhere}td,th{border:1px solid #ddd;padding:8px;vertical-align:top}.page-aviso-legal main p,.page-política-de-privacidad main p,.page-política-de-cookies main p{margin:12px 0}
footer{background:#a1a1a1;padding:20px;color:#222;font:13px/1.35 'Trebuchet MS',Helvetica,sans-serif}footer p{margin:0}footer button{padding:0;border:0;background:none;color:inherit;text-decoration:underline}.skip{position:absolute;left:-10000px}.skip:focus{left:15px;top:10px;background:white;padding:10px;z-index:20}.mobile-contact,.mobile-menu-bar{display:none}
@media(max-width:767px){.site{padding:0 10px 74px}.mobile-menu-bar{display:block;background:var(--gray);min-height:53px;color:#222}.menu-toggle{display:none;width:53px;height:53px;border:0;background:none;color:#222;font-size:27px}.menu-ready .menu-toggle{display:block}header{padding:15px 0}.logo{margin:auto}nav ul{display:block;margin:0 0 15px;background:#8c8c8c}nav a{padding:12px 20px;border-bottom:1px solid #aaa;font-size:17px}nav a[aria-current]{padding:12px 20px;border-bottom:1px solid #aaa;background:#777;color:#fff}.menu-ready nav{display:none;position:absolute;top:53px;left:0;right:0;z-index:10}.menu-ready nav.menu-open{display:block}.banner{border-width:5px;margin:5px 0 22px}.layout{padding:0 15px 20px}.with-sidebar{display:block;padding:0}.with-sidebar main{padding:0 15px}.with-sidebar aside{margin-top:22px;padding:12px 24px 25px}aside h2{margin:22px 0 55px}.testimonials{max-width:240px;margin:auto}h1{font-size:28.8px;margin:22px 0 26px}.columns{flex-direction:column;gap:22px}.columns>.column-small{flex:auto}.columns>div{width:100%}.columns img{display:block;margin:auto;max-width:100%;height:auto}.page-contactar .columns img{width:450px}.page-servicios-1 .columns img{max-height:340px;width:auto;margin:0 auto}.carousel-controls{position:static;opacity:1;padding:4px;transition:none}.banner .carousel-controls{position:absolute;opacity:0}.banner:focus-within .carousel-controls,.banner:hover .carousel-controls{opacity:1}.testimonials .carousel-controls{margin-top:16px}.testimonials{padding-bottom:0}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:flex;background:white;border-top:1px solid #ddd;z-index:5}.mobile-contact a{flex:1;padding:14px 4px;text-align:center;text-decoration:none;color:var(--pink);font-size:14px}td,th{padding:4px}footer{padding:20px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{nav,.mobile-menu-bar,.carousel-controls,footer button,.mobile-contact,{display:none!important}.site{max-width:none;padding:0}.banner{box-shadow:none}.with-sidebar{display:block}a{color:inherit}.video{min-height:0}aside{break-inside:avoid}}


/* La cabecera rota automáticamente sin mostrar controles, como la original. */
.banner .carousel-controls{display:none!important}

/* Las dos imágenes comparten espacio durante el desplazamiento horizontal. */
.banner{display:grid;overflow:hidden}
.banner>img{grid-area:1 / 1;min-width:0}

/* Alinear el inicio del contenido de portada con la posición de la web original. */
@media(min-width:768px){.page-inicio main h1{margin-top:2px}}

/* Centrar la frase de presentación sobre el título de Servicios. */
.page-servicios-1 main a[href="imagenes/cache_3321002.png"]{display:block;text-align:center}
.page-servicios-1 main a[href="imagenes/cache_3321002.png"] img{display:block;margin-inline:auto}

/* Centrar la frase de presentación sobre el título de Tecnología. */
.page-tecnología-1 main a[href="imagenes/cache_3321018.png"]{display:block;text-align:center}
.page-tecnología-1 main a[href="imagenes/cache_3321018.png"] img{display:block;margin-inline:auto}

/* Sangría de la lista de equipamiento, como en la página original. */
.page-tecnología-1 main ul{padding-left:40px}

/* Mapa ampliado sobre la página de contacto. */
body.map-open{overflow:hidden}
.map-dialog{border:0;padding:10px 10px 44px;background:#fff;width:920px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;box-shadow:0 4px 24px #0005}
.map-dialog::backdrop{background:rgba(0,0,0,.7)}
.map-dialog>img{display:block;width:100%;height:auto;max-height:calc(100dvh - 100px);object-fit:contain}
.map-close{position:absolute;right:10px;bottom:7px;width:30px;height:30px;border:2px solid #ddd;border-radius:50%;background:#474747;color:white;font:24px/24px Arial,sans-serif;padding:0;text-align:center}

/* Secuencia de apertura y cierre inspirada en el visor original. */
@keyframes map-background-in{from{background:transparent}to{background:rgba(0,0,0,.7)}}
@keyframes map-background-out{from{background:rgba(0,0,0,.7)}to{background:transparent}}
@keyframes map-expand{0%{clip-path:inset(calc(50% - 50px) calc(50% - 100px))}50%{clip-path:inset(0 calc(50% - 100px))}100%{clip-path:inset(0)}}
@keyframes map-fade-in{from{opacity:0}to{opacity:1}}
@keyframes map-fade-out{from{opacity:1}to{opacity:0}}
@keyframes map-button-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes map-button-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
.map-opening::backdrop{animation:map-background-in 250ms ease both}
.map-dialog.map-opening{animation:map-fade-in 1ms 250ms both,map-expand 500ms 250ms ease-in-out both}
.map-opening>img{animation:map-fade-in 250ms 750ms ease both}
.map-opening .map-close{animation:map-button-in 250ms 1000ms ease both}
.map-closing .map-close{animation:map-button-out 250ms ease both}
.map-closing>img{animation:map-fade-out 250ms 250ms ease both}
.map-dialog.map-closing{animation:map-fade-out 250ms 500ms ease both}
.map-closing::backdrop{animation:map-background-out 250ms 750ms ease both}
@media(prefers-reduced-motion:reduce){.map-dialog,.map-dialog>img,.map-dialog .map-close,.map-dialog::backdrop{animation:none!important}}
