.gallery-modal{width:min(1050px,94vw);max-height:94dvh;padding:0;border:1px solid #363636;border-radius:16px;background:#101112;color:#fff;overflow:auto;box-shadow:0 30px 100px #0009}
.gallery-modal::backdrop{background:#000c;backdrop-filter:blur(6px)}
.gallery-modal .gallery-header{display:flex;position:static;height:auto;min-height:0;padding:22px 26px;gap:20px;justify-content:space-between;align-items:center;background:#101112;color:white}
.gallery-eyebrow{font-size:11px;color:#ff642b;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.gallery-header h2{font-size:clamp(20px,2.5vw,28px);margin:6px 0 0;line-height:1.2}
.gallery-close{width:40px;height:40px;flex:none;border:1px solid #555;border-radius:50%;background:#212325;color:white;font-size:27px;cursor:pointer}
.gallery-stage{position:relative;background:#080808;min-height:200px;touch-action:pan-y}
.gallery-main{display:block;width:100%;height:clamp(230px,52dvh,540px);object-fit:contain}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;display:grid;place-items:center;border:1px solid #ffffff38;border-radius:8px;background:#101112c9;color:#fff;font-size:35px;cursor:pointer;transition:background .2s}
.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-prev:hover,.gallery-next:hover{background:#e94b14}
.gallery-count{position:absolute;bottom:12px;right:16px;background:#000c;padding:5px 13px;border-radius:20px;font-size:12px}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(var(--gallery-items,6),minmax(0,1fr));gap:10px;padding:18px 26px}
.gallery-thumb{padding:0;border:2px solid transparent;border-radius:7px;background:#242424;overflow:hidden;cursor:pointer;opacity:.65;transition:opacity .2s,border-color .2s}
.gallery-thumb img{display:block;width:100%;height:70px;object-fit:cover}.gallery-thumb[aria-pressed="true"]{border-color:#ff642b;opacity:1}.gallery-thumb:hover{opacity:1}
.gallery-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:0 26px 22px}.gallery-footer p{max-width:570px;font-size:12px;line-height:1.5;color:#bcbcbc;margin:0}.gallery-quote{background:#f45118;color:white;border:0;padding:14px 22px;border-radius:5px;font-weight:600;white-space:nowrap;cursor:pointer}
.gallery-modal button:focus-visible{outline:3px solid #ff986d;outline-offset:3px}
@media(max-width:600px){.gallery-modal .gallery-header{padding:17px}.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 16px;gap:6px}.gallery-thumb img{height:52px}.gallery-footer{padding:4px 16px 20px;flex-direction:column;align-items:stretch;gap:12px}.gallery-quote{width:100%}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-prev,.gallery-next{width:38px;height:46px}}
@media(prefers-reduced-motion:reduce){.gallery-modal *{transition:none!important}}

/* Integración final directa: funciona también al abrir index.html sin servidor. */
html,body{overflow-x:clip}
.premium-resolve{background-image:url('../assets/cliente/resolvemos/resolvemos.jpg')!important;background-position:center!important}
.contact-photo{background-image:linear-gradient(90deg,#090909 0%,rgba(9,9,9,.65) 7%,transparent 32%),url('../assets/cliente/contacto/equipo-migsa.jpg')!important;background-position:left center,center!important}
.mock-projects .project-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:none!important}
.mock-projects .project-grid-six article{height:285px!important;min-width:0!important}
.mock-projects .project-grid-six article:nth-child(1){background-image:url('../assets/cliente/proyectos/01-arquimedes-polanco/portada.jpg')!important}
.mock-projects .project-grid-six article:nth-child(2){background-image:url('../assets/cliente/proyectos/02-bilu-bosque-real/portada.jpg')!important}
.mock-projects .project-grid-six article:nth-child(3){background-image:url('../assets/cliente/proyectos/03-cofre-de-perote/portada.jpg')!important}
.mock-projects .project-grid-six article:nth-child(4){background-image:url('../assets/cliente/proyectos/04-live-aqua-residences/portada.jpg')!important}
.mock-projects .project-grid-six article:nth-child(5){background-image:url('../assets/cliente/proyectos/05-uplace-periferico/portada.jpg')!important}
.mock-projects .project-grid-six article:nth-child(6){background-image:url('../assets/cliente/proyectos/06-vistahermosa/portada.jpg')!important}
.mock-projects .project-grid button{width:max-content!important;margin-top:9px!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;cursor:pointer}
.mock-projects .project-grid button:hover{color:#f45118!important}.mock-projects .project-grid button:focus-visible{outline:3px solid #ff7a42;outline-offset:5px}
.mock-equipment .equip-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.mock-equipment .equip-grid-five article:nth-child(1){background-image:url('../assets/cliente/capacidad/taludes.jpg')!important}
.mock-equipment .equip-grid-five article:nth-child(2){background-image:url('../assets/cliente/capacidad/excavaciones.jpg')!important}
.mock-equipment .equip-grid-five article:nth-child(3){background-image:url('../assets/cliente/capacidad/cimentaciones.jpg')!important}
.mock-equipment .equip-grid-five article:nth-child(4){background-image:url('../assets/cliente/capacidad/personal.jpg')!important}
.mock-equipment .equip-grid-five article:nth-child(5){background-image:url('../assets/cliente/capacidad/transporte.jpg')!important}
.clients-carousel{height:160px!important;padding:22px 4.2% 18px!important;background:#0b0b0b!important}
.clients-carousel h2{margin:0 0 15px!important}.logo-viewport{max-width:1240px!important}
.client-logo{height:68px!important;padding:8px 24px!important;filter:none!important;opacity:.86!important}
.client-logo img{display:block!important;width:100%!important;height:52px!important;object-fit:contain!important;background:transparent!important;padding:0!important}
.client-logo:hover{opacity:1!important;transform:scale(1.04)!important}
.site-footer{display:block!important;padding:32px 4% 14px!important;background:#050505!important;color:#aaa!important;font-size:13px!important}
.footer-main{display:grid!important;grid-template-columns:1.15fr 1fr .7fr 1.45fr!important;gap:38px!important;max-width:1500px!important;margin:auto!important;align-items:start!important}
.footer-main>div>b{display:block!important;margin-bottom:10px!important;color:#f45118!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.05em!important}
.footer-about{display:block!important}.footer-about .footer-brand{margin-bottom:15px!important}.footer-about p{margin:0!important;max-width:280px!important;line-height:1.5!important}
.footer-services a,.footer-links a,.footer-contact>a{display:block!important;margin:5px 0!important;color:#bbb!important;text-decoration:none!important;line-height:1.35!important}
.footer-services a:hover,.footer-links a:hover,.footer-contact>a:hover,.footer-social a:hover{color:#f45118!important}.footer-contact>span{display:block!important;margin-top:7px!important;color:#888!important}
.footer-social{display:flex!important;gap:10px!important;margin-top:13px!important}.footer-social a{width:34px!important;height:34px!important;border:1px solid #555!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#fff!important;text-decoration:none!important;font-size:0!important}
.footer-social a::before{display:none!important}.footer-social svg{width:17px!important;height:17px!important;display:block!important;fill:none!important;stroke:#fff!important;stroke-width:1.8!important}.footer-social svg .fill{fill:#fff!important;stroke:none!important}
.footer-bottom{max-width:1500px!important;margin:22px auto 0!important;padding-top:13px!important;border-top:1px solid #222!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;font-size:11px!important}
.vyta-credit{position:static!important;transform:none!important;border:0!important;background:transparent!important;padding:0!important;color:#aaa!important;font-family:Outfit,Arial,sans-serif!important;font-size:11px!important;box-shadow:none!important}.vyta-credit *{font-family:Outfit,Arial,sans-serif!important}.vyta-credit:hover{transform:none!important;box-shadow:none!important;color:#fff!important}
.modal-art>small a{color:#ddd;text-decoration:none}.modal-art>small a:hover{color:#f45118}
@media(max-width:1050px){.mock-projects .project-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mock-equipment .equip-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-main{grid-template-columns:1fr 1fr!important;gap:28px!important}}
@media(max-width:600px){.mock-projects .project-grid-six,.mock-equipment .equip-grid-five{grid-template-columns:1fr!important}.mock-projects .project-grid-six article{height:300px!important}.footer-main{grid-template-columns:1fr!important;gap:24px!important}.footer-bottom{align-items:flex-start!important;flex-direction:column!important}.clients-carousel{height:150px!important}.client-logo{padding:7px 14px!important}.client-logo img{height:48px!important}}
.form-status.is-success{color:#20a85b!important;font-weight:600}.lead-form button:disabled{cursor:wait;opacity:.65}
