html{scroll-behavior:smooth;scroll-padding-top:95px}body{min-height:100vh;overflow-x:hidden}[hidden]{display:none!important}button,a,input,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #bc63ba;outline-offset:4px}.jjg-skip{position:absolute;top:-100px;z-index:9999;padding:12px;background:white}.jjg-skip:focus{top:0}.jjg-carousel{position:relative;max-width:1600px;margin:auto}.jjg-slide img{width:100%;height:auto;display:block}.jjg-banner-link{position:absolute;bottom:22px;right:22px}.jjg-carousel-controls{position:absolute;top:45%;width:100%;display:flex;justify-content:space-between;pointer-events:none}.jjg-carousel-controls button{pointer-events:auto;background:#272030b3;color:white;border:0;padding:8px 18px;font-size:30px}.jjg-work{padding:50px 24px;max-width:1500px;margin:auto}.jjg-work h1{font-size:36px}.jjg-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:28px 0}.jjg-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.jjg-gallery article{min-width:0}.jjg-photo{display:block;background:#fff;color:#222;border:1px solid #eee;border-radius:6px;overflow:hidden}.jjg-photo img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .2s}.jjg-photo:hover img{transform:scale(1.025)}.jjg-photo span{display:block;padding:10px;font-size:13px;min-height:46px}.jjg-contact{max-width:720px;padding:48px 20px}.jjg-contact label{margin-top:15px;display:block}.jjg-contact button{margin-top:20px}.jjg-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#jjg-lightbox{border:0;border-radius:10px;width:min(94vw,1100px);max-height:92vh;padding:20px}#jjg-lightbox::backdrop{background:#16121aeb}#jjg-lightbox .jjg-lightbox-view .jjg-zoom-stage>img{display:block;max-height:65vh;max-width:100%;margin:auto}#jjg-lightbox button{padding:8px 16px;margin:5px;border:1px solid #aaa;border-radius:5px;background:#fff}#jjg-lightbox [data-close]{display:block;margin-left:auto}#jjg-lightbox h2{font-size:20px}#jjg-lightbox p{white-space:pre-line}.jjg-top{position:fixed;right:20px;bottom:20px;background:#652e80;color:white;padding:10px 16px;border-radius:50%;z-index:20}#ubicacion iframe{width:100%;max-width:100%}#myFooter img{max-width:100%;height:auto}.navbar-brand img{max-width:100%}button.hamburger{background:transparent;border:0}.navbar-header .hamburger{cursor:pointer}#about h2,#ubicacion h2{font-size:36px}@media(max-width:1000px){.jjg-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.jjg-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.jjg-photo img{height:180px}.jjg-work{padding:30px 12px}.navbar-collapse.in{display:block}.jjg-filters .btn{font-size:12px;white-space:normal}#myFooter .row>div{padding-bottom:15px}}@media(max-width:430px){.jjg-photo img{height:145px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.jjg-photo img{transition:none}}

.jjg-whatsapp{position:fixed;right:20px;bottom:20px;z-index:1050;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:32px;background:#128c49;color:#fff;font:600 16px/1.3 system-ui,sans-serif;box-shadow:0 3px 12px #0003}.jjg-whatsapp:hover,.jjg-whatsapp:focus{background:#086d37;color:#fff;text-decoration:none}.jjg-whatsapp .fa{font-size:29px}.jjg-top{bottom:92px;z-index:1040}#jjg-map{height:420px;width:100%;z-index:0}.jjg-map-section{max-width:1400px;margin:0 auto 35px;padding:0 20px}.jjg-map-address{padding:12px 0;font-size:14px}#jjg-map-status{padding:12px;background:#fff3cd}@media(max-width:600px){.jjg-whatsapp{right:16px;bottom:16px;padding:13px}.jjg-whatsapp span{display:none}.jjg-top{right:17px;bottom:88px}#jjg-map{height:340px}.jjg-map-section{padding:0 12px}}

/* Visor de galeria: imagen completa sobre fondo oscuro. */
body.jjg-lightbox-open{overflow:hidden}
#jjg-lightbox{position:fixed;inset:0;margin:auto;width:min(96vw,1400px);max-width:96vw;height:auto;max-height:96vh;max-height:96dvh;padding:48px 64px 18px;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;overflow:auto;text-align:center}
#jjg-lightbox::backdrop{background:rgba(8,8,12,.96)}
#jjg-lightbox .jjg-lightbox-view .jjg-zoom-stage>img{width:auto;height:auto;max-width:100%;max-height:calc(96vh - 210px);max-height:calc(96dvh - 210px);object-fit:contain;margin:0 auto}
#jjg-lightbox h2{color:#fff;font-size:18px;line-height:1.4;margin:16px 0 6px}
#jjg-lightbox p{color:#ccc;font-size:13px;line-height:1.5;margin:0 auto 8px;max-width:900px}
#jjg-lightbox .jjg-project-link{color:#e2b8f1;text-decoration:underline}
#jjg-lightbox button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer}
#jjg-lightbox button:hover{background:#ffffff30}
#jjg-lightbox [data-close]{position:absolute;top:0;right:0;font-size:0}
#jjg-lightbox [data-close]::before{content:'×';font:32px/1 Arial,sans-serif}
#jjg-lightbox [data-prev],#jjg-lightbox [data-next]{position:absolute;top:45%;transform:translateY(-50%);font-size:0}
#jjg-lightbox [data-prev]{left:4px}#jjg-lightbox [data-next]{right:4px}
#jjg-lightbox [data-prev]::before{content:'‹';font:40px/1 Arial,sans-serif}
#jjg-lightbox [data-next]::before{content:'›';font:40px/1 Arial,sans-serif}
@media(max-width:600px){#jjg-lightbox{padding:48px 4px 68px;width:96vw}#jjg-lightbox .jjg-lightbox-view .jjg-zoom-stage>img{max-height:calc(96vh - 260px);max-height:calc(96dvh - 260px)}#jjg-lightbox [data-prev],#jjg-lightbox [data-next]{top:auto;bottom:6px;transform:none}#jjg-lightbox [data-prev]{left:calc(50% - 54px)}#jjg-lightbox [data-next]{right:calc(50% - 54px)}#jjg-lightbox h2{font-size:16px}}

/* Desktop lightbox fullscreen controls. */
#jjg-lightbox [data-fullscreen]{position:absolute;top:0;right:56px;min-height:44px;padding:0 16px;border-radius:22px;font-size:13px}
#jjg-lightbox .jjg-lightbox-view:fullscreen{display:block;position:fixed;inset:0;overflow:hidden;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;box-sizing:border-box;background:#08080c;padding:56px 64px 18px}
#jjg-lightbox.jjg-fullscreen .jjg-lightbox-view .jjg-zoom-stage>img{width:100%;height:calc(100vh - 80px);height:calc(100dvh - 80px);max-height:none;object-fit:contain}
#jjg-lightbox.jjg-fullscreen h2,#jjg-lightbox.jjg-fullscreen p,#jjg-lightbox.jjg-fullscreen .jjg-project-link{display:none}
#jjg-lightbox.jjg-fullscreen [data-close],#jjg-lightbox.jjg-fullscreen [data-fullscreen]{top:6px}
@media(max-width:767px){#jjg-lightbox [data-fullscreen]{display:none}}

#jjg-lightbox .jjg-lightbox-view{display:contents}
#jjg-lightbox .jjg-zoom-stage{display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;width:100%;position:relative;isolation:isolate}
#jjg-lightbox .jjg-zoom-stage>img{flex-shrink:0;transform-origin:center;user-select:none;-webkit-user-select:none;will-change:transform}
#jjg-lightbox button{z-index:2}

/* A definite viewport makes 1x the whole photograph, never its native size. */
#jjg-lightbox .jjg-zoom-stage{height:calc(96vh - 210px);height:calc(96dvh - 210px);min-width:0;min-height:80px}
#jjg-lightbox .jjg-lightbox-view .jjg-zoom-stage>img,
#jjg-lightbox .jjg-zoom-stage>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;margin:0;flex:0 0 auto}
#jjg-lightbox.jjg-fullscreen .jjg-zoom-stage{height:calc(100vh - 80px);height:calc(100dvh - 80px)}
#jjg-lightbox.jjg-fullscreen .jjg-lightbox-view .jjg-zoom-stage>img{height:100%;max-height:100%}
@media(max-width:600px){#jjg-lightbox .jjg-zoom-stage{height:calc(96vh - 260px);height:calc(96dvh - 260px)}}
