*{box-sizing:border-box;margin:0;padding:0}body{background:#f9eee7;font-family:Raleway,sans-serif}a{text-decoration:none}.navbar-custom{background:transparent;left:0;min-height:60px;padding-bottom:6px;padding-top:6px;position:absolute;top:0;width:100%;z-index:10}.navbar-brand img{height:auto;max-width:180px;padding-left:25px}.navbar-nav{gap:8px}.navbar-nav .nav-link{color:#fff!important;font-size:13px;font-weight:500;padding:6px 10px!important;transition:.3s}.navbar-nav .nav-link:hover{color:#2bc6f5!important}.navbar-toggler{background:transparent!important;border:none;box-shadow:none!important;padding:4px 8px}.navbar-toggler:focus{box-shadow:none!important;outline:none}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-custom .navbar-collapse.collapsing,.navbar-custom .navbar-collapse.show{background-color:#5d3a8f;border-radius:0 0 1pc 1pc;box-shadow:0 9pt 24px rgba(0,0,0,.25);left:0;margin-bottom:60px;padding:1pc 20px 20px;position:absolute;right:0;top:100%;z-index:1050}.navbar-custom .navbar-collapse.collapsing .navbar-nav,.navbar-custom .navbar-collapse.show .navbar-nav{margin:0!important}.navbar-custom .navbar-collapse.collapsing .nav-item,.navbar-custom .navbar-collapse.show .nav-item{border-bottom:1px solid hsla(0,0%,100%,.12)}.navbar-custom .navbar-collapse.collapsing .nav-item:last-child,.navbar-custom .navbar-collapse.show .nav-item:last-child{border-bottom:none}.hero-reconstruye{background:linear-gradient(135deg,#4c2d91,#6a3fb8);color:#fff;padding:60px 20px 70px;text-align:center}.hero-reconstruye h1{font-size:2.6rem;font-weight:800;margin-bottom:9pt}.hero-reconstruye p{font-size:1.05rem;margin:0 auto;max-width:650px;opacity:.9}.seccion-casas{background-color:#2b1f5c;min-height:80vh;overflow:hidden;padding:75pt 10px 40px;position:relative}.seccion-casas:before{background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.2)),url(/assets/img/fondo.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;content:"";inset:0;position:absolute}.seccion-casas>*{position:relative;z-index:1}.casas-header{align-items:center;display:flex;margin-bottom:35px;min-height:46px;position:relative}.casas-header h2{color:#fff;font-weight:700;left:50%;margin:0;max-width:90%;position:absolute;text-align:center;text-shadow:1px 1px 4px rgba(0,0,0,.7);transform:translateX(-50%);width:max-content}.casas-donar{align-items:center;background:#25d366;border-radius:30px;box-shadow:0 4px 9pt rgba(0,0,0,.2);color:#fff;display:inline-flex;font-size:.85rem;font-weight:700;gap:8px;padding:10px 20px;transition:.3s;white-space:nowrap}.casas-donar:hover{background:#1eb857;color:#fff}.casas-donar i{font-size:1.15rem}.casa-card{background:#fff;border-left:4px solid transparent;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.1);height:100%;overflow:hidden;transition:transform .2s}.casa-card:hover{transform:translateY(-4px)}.casa-card.rojo{border-left-color:#e12626}.casa-card.amarillo{border-left-color:#e0a800}.casa-card.verde{border-left-color:#2e9e44}.casa-imagen{background:#ece3f7;padding:14px 0;text-align:center}.casa-imagen svg{height:3pc;width:3pc}.casa-imagen.con-foto{height:110px;padding:0;position:relative}.casa-imagen.con-foto img{display:block;height:100%;object-fit:cover;width:100%}.casa-contador{align-items:center;background:rgba(0,0,0,.55);border-radius:20px;color:#fff;display:inline-flex;font-size:.6rem;font-weight:600;gap:4px;padding:2px 7px;position:absolute;right:6px;top:6px}.casa-info{padding:10px 9pt 9pt}.casa-info .nombre{color:#333;font-size:.85rem;font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.casa-info .direccion{color:#666;display:-webkit-box;font-size:.72rem;-webkit-line-clamp:2;line-clamp:2;margin-bottom:8px;overflow:hidden;-webkit-box-orient:vertical}.estado-fila{align-items:center;display:flex;gap:8px;margin-bottom:8px}.semaforo{background:#2b2b2b;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:4px}.semaforo .luz{border-radius:50%;height:8px;opacity:.25;width:8px}.semaforo .luz-rojo{background:#e12626}.semaforo .luz-amarillo{background:#e0a800}.semaforo .luz-verde{background:#2e9e44}.semaforo.amarillo .luz-amarillo,.semaforo.rojo .luz-rojo,.semaforo.verde .luz-verde{box-shadow:0 0 6px currentColor;opacity:1}.estado-texto{font-size:.7rem;font-weight:700}.estado-texto.rojo{color:#c81f1f}.estado-texto.amarillo{color:#b5860a}.estado-texto.verde{color:#227a35}.ingeniero{align-items:center;border-top:1px dashed #eee;color:#999;display:flex;font-size:.68rem;gap:5px;padding-top:6px}.ingeniero i{color:#a48cd6;font-size:.8rem}footer{background:#4c2d91;color:#fff}.footer-top{align-items:center;display:flex;flex-wrap:wrap;gap:1pc;justify-content:space-between;margin:0 auto;max-width:975pt;padding:14px 20px}.footer-logo img{display:block;height:auto;margin-top:8px;max-width:10pc;width:100%}@media (max-width:480px){.footer-logo img{max-width:110px}}.footer-nav ul{list-style:none;margin:0;padding:0}.footer-nav ul li{margin-bottom:4px}.footer-nav ul li a{color:#fff;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .3s ease}.footer-nav ul li a:hover{color:#4dc3e8}.footer-cta{text-align:center}.footer-cta p{font-size:.8rem;font-weight:600;margin:0 0 8px}.footer-cta-btn{background:#4dc3e8;border-radius:4px;color:#fff;display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:1px;padding:7px 18px;text-transform:uppercase;transition:background .3s ease}.footer-cta-btn:hover{background:#35a8d0;color:#fff}.footer-contact-social{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.footer-contact p{align-items:center;display:flex;font-size:.78rem;gap:6px;margin:2px 0}.footer-social{display:flex;gap:8px}.footer-social a{align-items:center;background:hsla(0,0%,100%,.15);border-radius:50%;color:#fff;display:inline-flex;font-size:.9rem;height:30px;justify-content:center;transition:background .3s ease,color .3s ease;width:30px}.footer-social a.social-facebook{background:#3e5597}.footer-social a.social-instagram,.footer-social a.social-twitter{background:#2b2731}.footer-social a.social-tiktok{background:#686c7f}.footer-social a.social-whatsapp{background:#25d366}.footer-social a.social-whatsapp:hover{background:#1eb857}.footer-bottom{background:rgba(0,0,0,.15);padding:8px 20px;text-align:center}.footer-bottom p{font-size:11px;margin:0;opacity:.85}@media (max-width:900px){.footer-top{flex-direction:column;text-align:center}.footer-contact-social,.footer-top{align-items:center}}.ver-detalles{background:none;border:none;color:#5c3795;cursor:pointer;display:block;font-size:.72rem;font-weight:700;margin-top:8px;text-align:center;width:100%}.ver-detalles:hover{color:#38268e;text-decoration:underline}.modal-casa .modal-content{border:none;border-radius:14px;overflow:hidden}.modal-casa .modal-header{align-items:flex-start;background:linear-gradient(90deg,#4c2d91,#6a3fb8);border:none;color:#fff;flex-direction:column;padding:20px 50px 14px 24px;position:relative}.modal-casa .btn-close{filter:invert(1);position:absolute;right:18px;top:1pc}#modalNombre{font-size:1.3rem;font-weight:800;margin-bottom:2px;text-shadow:1px 1px 4px rgba(0,0,0,.4)}#modalDireccion{align-items:center;display:flex;font-size:.8rem;gap:6px;opacity:.9}.modal-casa .modal-header.rojo{background:linear-gradient(90deg,#a81c1c,#e12626)}.modal-casa .modal-header.amarillo{background:linear-gradient(90deg,#9c7208,#e0a800)}.modal-casa .modal-header.verde{background:linear-gradient(90deg,#1d6b2c,#2e9e44)}.modal-estado-badge{align-items:center;background:hsla(0,0%,100%,.18);border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:.03em;margin-top:10px;padding:4px 9pt;text-transform:uppercase}#modalFaltantes{border-left:4px solid transparent;padding-left:9pt;transition:border-color .2s}#modalFaltantes.rojo{border-left-color:#e12626}#modalFaltantes.amarillo{border-left-color:#e0a800}#modalFaltantes.verde{border-left-color:#2e9e44}.galeria-viewport{background:#1c1c1c;height:360px;overflow:hidden;position:relative}.galeria-zoom,.imagen-casa-modal{height:100%;width:100%}.imagen-casa-modal{display:block;object-fit:cover}.galeria-flecha{align-items:center;background:hsla(0,0%,100%,.15);border:none;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:38px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:.2s;width:38px;z-index:2}.galeria-flecha:hover{background:hsla(0,0%,100%,.35)}.flecha-izq{left:9pt}.flecha-der{right:9pt}.galeria-dots{bottom:10px;display:flex;gap:6px;justify-content:center;left:0;position:absolute;right:0;z-index:2}.galeria-dots span{background:hsla(0,0%,100%,.4);border-radius:50%;cursor:pointer;height:8px;width:8px}.galeria-dots span.activo{background:#fff}.galeria-etiqueta{background:rgba(0,0,0,.5);border-radius:20px;color:#fff;font-size:.7rem;left:9pt;padding:4px 10px;position:absolute;top:9pt;z-index:2}.modal-resumen{padding:20px 24px 24px}.modal-resumen p{color:#444;font-size:.9rem;line-height:1.6;margin-bottom:14px}.modal-resumen h6{color:#4e2d91;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.modal-resumen h6+p+h6{margin-top:18px}.chip-falta{background:#fdecec;border:1px solid #f3c9c9;border-radius:20px;color:#c81f1f;margin:0 6px 8px 0}.chip-falta,.chip-ok{align-items:center;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 9pt}.chip-ok{background:#e9f7ec;border:1px solid #c8e9d0;border-radius:20px;color:#227a35}@media (max-width:768px){.seccion-casas{transition:padding-top .3s ease}.seccion-casas,.seccion-casas.menu-abierto{padding-top:360px}.casas-header{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:25px;min-height:auto}.casas-header h2{font-size:1.4rem;left:auto;max-width:none;position:static;transform:none;width:auto}.casas-donar{align-self:flex-start}}@media (max-width:576px){.hero-reconstruye{padding:40px 1pc 50px}.hero-reconstruye h1{font-size:1.8rem}.hero-reconstruye p{font-size:.95rem}.seccion-casas{padding-bottom:30px;padding-left:8px;padding-right:8px}.casas-header h2{font-size:1.3rem}.casas-donar{font-size:.78rem;padding:8px 1pc}.galeria-viewport{height:220px}.modal-casa .modal-header{padding:1pc 40px 9pt 1pc}#modalNombre{font-size:1.1rem}.modal-resumen{padding:14px 1pc 18px}}@media (max-width:400px){.navbar-brand img{max-width:130px;padding-left:15px}.hero-reconstruye h1{font-size:1.5rem}.galeria-viewport{height:180px}}