.gallery-modal{position:fixed;inset:0;z-index:300;background:var(--modal-overlay-strong);display:none;overflow-y:auto;padding:5rem 1.5rem 3rem}.gallery-modal.open{display:block}.gallery-modal-close{position:fixed;top:1.3rem;right:1.5rem;z-index:301;width:44px;height:44px;border-radius:50%;background:var(--icon-btn-bg);border:1px solid var(--card-border-strong);color:var(--paper);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out)}.gallery-modal-close:active{transform:scale(.9)}.gallery-modal-grid{max-width:1200px;margin:0 auto;columns:3 260px;column-gap:1rem}.gallery-modal-grid img{width:100%;border-radius:8px;margin-bottom:1rem;break-inside:avoid;cursor:zoom-in}.gallery-lightbox{position:fixed;inset:0;z-index:320;display:none;align-items:center;justify-content:center;background:var(--modal-overlay-backdrop);padding:1.5rem}.gallery-lightbox.open{display:flex}.gallery-lightbox-img{max-width:min(1100px,92vw);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px var(--shadow-black-60)}.gallery-lightbox-close{position:fixed;top:1.3rem;right:1.5rem;z-index:321;width:44px;height:44px;border-radius:50%;background:var(--icon-btn-bg);border:1px solid var(--card-border-strong);color:var(--paper);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out)}.gallery-lightbox-close:active{transform:scale(.9)}.gallery-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:321;width:48px;height:48px;border-radius:50%;background:var(--icon-btn-bg);border:1px solid var(--card-border-strong);color:var(--paper);font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out)}.gallery-lightbox-nav:active{transform:translateY(-50%) scale(.9)}.gallery-lightbox-prev{left:1.2rem}.gallery-lightbox-next{right:1.2rem}@media (hover:hover) and (pointer:fine){.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{border-color:var(--gold);color:var(--gold)}}@media (max-width:640px){.gallery-lightbox-nav{width:40px;height:40px;font-size:1.3rem}.gallery-lightbox-prev{left:.5rem}.gallery-lightbox-next{right:.5rem}}.quote-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--modal-overlay);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity 280ms var(--ease-out),visibility 0s linear 280ms}.quote-modal.open{opacity:1;visibility:visible;transition:opacity 280ms var(--ease-out),visibility 0s linear 0s}.quote-modal-backdrop{position:absolute;inset:0}.quote-modal-card{position:relative;z-index:1;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;background:var(--ink);color:var(--paper);border-radius:10px;padding:2.4rem 2rem 2.2rem;border:1px solid var(--quote-card-border);box-shadow:0 30px 70px var(--shadow-black-50);transform:translateY(14px) scale(.98);transition:transform 320ms var(--ease-out);scrollbar-width:thin;scrollbar-color:var(--quote-card-border) transparent}.quote-modal-card::-webkit-scrollbar{width:6px}.quote-modal-card::-webkit-scrollbar-track{background:0 0}.quote-modal-card::-webkit-scrollbar-thumb{background:var(--quote-card-border);border-radius:3px}.quote-modal-card::-webkit-scrollbar-thumb:hover{background:var(--gold)}.quote-modal.open .quote-modal-card{transform:translateY(0) scale(1)}.quote-modal-close{position:absolute;top:1rem;right:1rem;z-index:2;width:36px;height:36px;border-radius:50%;cursor:pointer;background:var(--icon-btn-bg);border:1px solid var(--icon-btn-border-soft);color:var(--paper);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out)}.quote-modal-close:active{transform:scale(.9)}.quote-modal-card h3{font-family:var(--heading-serif);font-weight:600;font-size:1.25rem;margin-top:.5rem;line-height:1.3}.quote-modal-card p{margin-top:.6rem;font-size:.84rem;color:var(--text-dim)}.quote-service-tag{display:inline-block;margin-top:.9rem!important;background:var(--tag-gold-bg);border:1px solid var(--header-divider);color:var(--gold)!important;font-size:.76rem;font-weight:600;padding:.4rem .75rem;border-radius:20px}.quote-service-tag[hidden]{display:none}.quote-modal-card .contact-form{margin-top:1.4rem}.quote-modal-card textarea{width:100%;background:var(--input-bg);border:1px solid var(--card-border);border-radius:3px;padding:.65rem .8rem;color:var(--paper);font-size:.82rem;outline:0;resize:vertical;font-family:inherit;line-height:1.5;transition:border-color 150ms ease,background-color 150ms ease}.quote-modal-card textarea:focus{border-color:var(--gold);background:var(--input-bg-focus)}.quote-modal-card textarea::placeholder{color:var(--footer-p)}body.modal-open{overflow:hidden}.mesonero-resultado{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:.55rem}.mesonero-row{display:flex;justify-content:space-between;gap:1rem;font-size:.84rem}.mesonero-row .k{color:var(--footer-p);flex-shrink:0}.mesonero-row .v{text-align:right;color:var(--paper);font-weight:500}.mesonero-equipo{margin-top:.4rem;font-size:.84rem}.mesonero-equipo .k{color:var(--footer-p);display:block;margin-bottom:.4rem}.mesonero-equipo ul{display:flex;flex-direction:column;gap:.3rem}.mesonero-equipo li{color:var(--paper);font-weight:500}.mesonero-equipo li span{color:var(--footer-p);font-weight:400}.mesonero-error{margin-top:1.2rem;padding:.8rem 1rem;border-radius:6px;background:var(--danger-bg-soft);border:1px solid var(--danger-border-soft);color:var(--danger-text);font-size:.82rem;line-height:1.5}.mesonero-llegar{font-size:.72rem;color:var(--gold)}.mesonero-notas{margin-top:.9rem;padding:.8rem 1rem;border-radius:6px;background:var(--overlay-card-soft);border:1px solid var(--card-border);font-size:.82rem;line-height:1.5;color:var(--paper)}.mesonero-notas .k{display:block;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem}