@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500;600;700&display=swap');

:root{--blue:#00b4d5;--heading:#6ec1e4;--yellow:#e4e21f;--gray:#54595f;--soft:#e9ecef;--text:#333;--font:'Roboto Slab',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:#fff;color:#646464;font-family:var(--font);font-size:15px;line-height:1.5}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;z-index:50;left:12px;top:-60px;padding:10px 14px;background:#fff;color:#333}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:30;background:#f2f2f2;box-shadow:0 4px 12px #0002}.navbar{height:59px;max-width:1400px;padding:0 22px;margin:auto;display:flex;align-items:center;justify-content:space-between}.header-logo{width:95px;height:42px;display:flex;align-items:center;flex:none}.header-logo img{width:95px;height:40px;object-fit:contain}.main-nav{height:100%;display:flex;align-items:center;gap:0;margin-left:auto;margin-right:32px}.main-nav>a{height:100%;padding:0 12px;display:flex;align-items:center;text-decoration:none;color:#222;font-family:var(--font);font-size:14px;font-weight:500}.main-nav>a:hover{color:var(--blue)}.login-link{padding:8px 13px;border:1px solid #ccc;border-radius:3px;color:#444;text-decoration:none;font-size:12px;white-space:nowrap}.login-link:hover{color:var(--blue);border-color:var(--blue)}.menu-toggle{display:none}
.intro{width:min(1140px,calc(100% - 32px));min-height:750px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.intro-photo{display:flex;align-items:center;justify-content:center;min-width:0}.intro-photo img{width:min(100%,690px);height:auto;object-fit:contain}.intro-message{padding:30px 12px 35px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.intro-logo{width:62%;height:auto;object-fit:contain;margin:0 0 28px;transform:translateY(5px)}.intro-copy{width:100%;margin-top:auto;padding-bottom:13px;color:var(--blue);font-size:20px;line-height:1.48}.intro-copy p{margin:0 0 18px}.intro-copy p:last-child{margin-bottom:0}
.embedded-section,.gallery-section{width:100%}.sales-section,.gallery-section{background:var(--soft)}.section-inner{max-width:1200px;width:calc(100% - 40px);margin:0 auto}.embedded-section .section-inner{padding:30px 0 34px}.section-title{margin:0 0 30px;text-align:center;text-transform:uppercase;color:var(--heading);font-family:var(--font);font-size:2.2rem;line-height:1.25;font-weight:700;letter-spacing:1px}.flip-grid{display:grid;gap:20px}.sales-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.flip-card{height:330px;perspective:1000px;background:transparent;outline:none}.flip-inner{position:relative;width:100%;height:100%;text-align:center;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,.2,.2,1)}.flip-card:hover .flip-inner,.flip-card:focus .flip-inner,.flip-card.is-flipped .flip-inner{transform:rotateX(180deg)}.flip-front,.flip-back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 20px;border-radius:12px;box-shadow:0 6px 18px #0002;backface-visibility:hidden;-webkit-backface-visibility:hidden}.icon-wrapper{width:80px;height:80px;margin-bottom:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff40}.icon-wrapper svg{width:45px;height:45px;display:block}.flip-front h3,.flip-back h3{margin:0;font-size:1.2rem;line-height:1.25;font-weight:700;text-transform:uppercase}.flip-back{transform:rotateX(-180deg)}.flip-back h3{margin-bottom:12px}.flip-back p{max-width:100%;font-size:.9rem;line-height:1.45;margin:0 0 15px;color:#f8f9fa}.card-button{display:inline-block;padding:8px 18px;border-radius:20px;background:#fff;color:var(--gray);text-decoration:none;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.card-button:hover{background:var(--blue);color:white}.sales-grid .flip-front{background:var(--yellow);color:#333}.sales-grid .icon-wrapper{background:#00000019}.sales-grid .flip-back{background:var(--gray);color:#fff}.sales-grid .flip-back p{text-align:left;font-size:.95rem;line-height:1.5}.sales-grid .card-button{padding:8px 20px;font-size:.9rem;color:#333}.sales-grid .card-button:hover{background:var(--yellow);color:#333}.service-grid .flip-front{background:var(--heading);color:white}.service-grid .flip-back{background:var(--gray);color:white}.service-grid .flip-back p{font-size:.9rem;line-height:1.4}.service-grid .card-button{color:var(--gray)}
.gallery-section{padding:26px 0 30px}.gallery-section .section-inner{max-width:1200px}.gallery-section .section-title{margin-bottom:22px}.logo-gallery{display:grid;align-items:center;justify-items:stretch;gap:12px}.client-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}.logo-gallery img{width:100%;height:115px;object-fit:contain;padding:10px 12px;border-radius:6px}.alliance-section{padding-top:20px;padding-bottom:24px}.alliance-gallery{grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center}.alliance-gallery img{grid-column:span 1;height:95px}.alliance-gallery img:first-child{grid-column:2}.location-section{padding:25px 20px 32px}.location-section .section-title{margin-bottom:22px}.map-link{display:flex;align-items:center;justify-content:center;gap:16px;margin:0;text-align:center;color:#636363;font-size:28px;font-weight:700}.map-link>span{font-size:38px}.map-link a{color:#636363;text-decoration:underline;text-decoration-color:#b6b6b6;text-underline-offset:4px}.map-link a:hover{color:var(--blue)}
.site-footer{background:var(--gray);color:#f7f7f7}.footer-main{max-width:1400px;min-height:245px;margin:auto;padding:30px 32px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.footer-brand{text-align:center}.footer-brand img{width:250px;height:139px;object-fit:contain;margin:0 auto 5px}.footer-brand p{margin:0;font-size:14px;font-weight:700}.footer-contact h2{margin:0 0 19px;font-size:25px;font-weight:700;color:#fff}.footer-contact p{margin:10px 0;color:#f6f6f6;font-size:14px}.footer-contact a{color:#71c7e7;text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-bottom{min-height:47px;padding:12px max(20px,calc((100% - 1340px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px;background:#4a4f54;color:#ddd;font-size:12px}.footer-bottom a{text-decoration:none;color:#fff}
@media(max-width:991px){.navbar{height:57px}.menu-toggle{display:flex;width:40px;height:40px;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;cursor:pointer}.menu-toggle span{width:19px;height:2px;background:#888}.main-nav{display:none;position:absolute;top:57px;left:0;right:0;height:auto;margin:0;padding:8px 18px 15px;background:#f2f2f2;box-shadow:0 6px 10px #0002;align-items:stretch;flex-direction:column}.main-nav.is-open{display:flex}.main-nav>a{width:100%;min-height:42px;padding:0 10px;justify-content:space-between}.login-link{margin-left:9px}.intro{min-height:auto;padding:42px 0 35px;grid-template-columns:1fr}.intro-photo img{width:min(100%,690px)}.intro-message{padding:0 12px}.intro-logo{width:min(64%,430px);margin:18px auto 10px}.intro-copy{margin-top:0;padding:0 10px;font-size:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.navbar{padding:0 14px}.header-logo,.header-logo img{width:88px}.login-link{font-size:11px;padding:7px 9px}.intro{width:100%;padding:24px 0 25px}.intro-photo{padding:0 8px}.intro-photo img{width:100%}.intro-message{padding:0 23px}.intro-logo{width:75%;margin:8px auto 8px}.intro-copy{font-size:18px;line-height:1.45;padding:0}.intro-copy p{margin-bottom:15px}.section-inner{width:calc(100% - 28px)}.embedded-section .section-inner{padding:22px 0 26px}.section-title{font-size:1.8rem;margin-bottom:24px}.sales-grid,.service-grid{grid-template-columns:1fr;gap:18px}.flip-card{height:320px}.gallery-section{padding:22px 0}.client-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.logo-gallery img{height:82px;padding:8px}.alliance-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.alliance-gallery img:first-child{grid-column:auto}.alliance-gallery img{height:82px}.location-section{padding:21px 16px 26px}.map-link{font-size:21px;gap:10px}.map-link>span{font-size:30px}.footer-main{grid-template-columns:1fr;gap:14px;padding:24px 22px 30px}.footer-brand img{width:200px;height:112px}.footer-brand p{font-size:12px}.footer-contact{text-align:center}.footer-contact h2{font-size:21px;margin-bottom:15px}.footer-contact p{font-size:12px}.footer-bottom{padding:12px 16px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.cookie-bar{position:fixed;z-index:60;left:0;right:0;bottom:0;min-height:190px;padding:30px max(30px,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;box-shadow:0 -6px 24px #0002;color:#777;font-size:14px}.cookie-bar[hidden]{display:none}.cookie-bar p{margin:0;max-width:700px}.cookie-bar p a{display:block;width:max-content;color:#087c9b}.cookie-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cookie-actions button{padding:8px 13px;border:1px solid #8ab9c7;border-radius:20px;background:#fff;color:#548091;font:inherit;font-size:12px;cursor:pointer}.cookie-actions button:hover{background:#eff8fa}.footer-bottom span a{text-decoration:none;color:#fff}
@media(max-width:991px){.client-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.client-gallery img:last-child{grid-column:2}}
@media(max-width:620px){.footer-bottom{padding:12px 16px;font-size:10px;flex-direction:column;align-items:flex-start}.cookie-bar{min-height:190px;padding:22px 20px;display:block;font-size:12px}.cookie-actions{margin-top:16px;justify-content:flex-end}.cookie-actions button{font-size:11px}}

/* Alineación del encabezado y de la portada según las capturas originales */
@media(min-width:992px){.navbar{position:relative;max-width:none;padding-left:12px;padding-right:12px}.main-nav{position:absolute;left:50%;top:0;transform:translateX(-50%);margin:0}.login-link{padding:9px 18px;font-size:15px}.intro-photo img{transform:translateY(-75px)}.intro-message{padding-left:22px;padding-right:22px}.intro-logo{transform:translateY(15px)}.intro-copy{width:100%;max-width:500px;align-self:flex-start;transform:translateY(-75px)}}
@media(max-width:991px){.main-nav{transform:none}}
.custom-svg-icon{width:45px;height:45px;display:block}.icon-wrapper i{font-size:2.2rem;color:#fff}.sales-grid .icon-wrapper i{color:#333}
.map-link i{font-size:52px;color:#636363}.site-footer{background:#6c757d}.footer-main{min-height:340px}.footer-brand img{width:420px;height:auto}.footer-brand p{font-size:17px}.footer-contact h2{font-size:30px}.footer-contact p{display:flex;align-items:center;gap:10px;font-size:15px}.footer-contact p i{width:28px;flex:none;color:#fff;font-size:26px;text-align:center}.footer-contact p a{line-height:1.55}.footer-bottom{min-height:185px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:27px;padding:36px 12px;background:#f1f1f1;color:#555;font-size:15px}.footer-bottom a{color:#00a8d1;text-decoration:none}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:992px){.location-section{padding-bottom:65px}.location-section .section-title{margin-bottom:55px}.footer-contact{align-self:start;margin-top:28px}}
@media(max-width:991px){.footer-main{min-height:300px}.footer-brand img{width:min(420px,80%)}.footer-contact{max-width:540px;margin:auto}}
@media(max-width:620px){.map-link i{font-size:38px}.footer-main{min-height:auto}.footer-brand img{width:min(260px,80%)}.footer-brand p{font-size:12px}.footer-contact p{justify-content:center}.footer-contact p a{max-width:calc(100% - 38px);text-align:left}.footer-bottom{min-height:auto;gap:17px;padding:22px 14px;font-size:12px}}
@media(min-width:992px){.intro{width:min(1400px,calc(100% - 32px))}.intro-photo img{transform:none}.intro-logo{transform:translateY(63px)}.intro-copy{max-width:640px;transform:translateY(-112px)}}
