
/* STELLAH + CO / V13 IMAGE-LED PROJECTS */
.project-media-carousel{position:relative;background:#241910;isolation:isolate}
.carousel-viewport{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;gap:0;touch-action:pan-x pan-y}
.carousel-viewport::-webkit-scrollbar{display:none}
.carousel-tile{flex:0 0 25%;min-width:0;height:clamp(255px,27vw,435px);border:0;padding:0;overflow:hidden;cursor:zoom-in;scroll-snap-align:start;background:#c3a98d;position:relative}
.carousel-tile img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .4s ease}
.carousel-tile:hover img{transform:scale(1.035)}
.carousel-tile:focus-visible{outline:4px solid #79243e;outline-offset:-4px;z-index:5}
.carousel-accessories{position:absolute;bottom:16px;right:clamp(22px,4vw,66px);display:flex;align-items:center;gap:12px;z-index:3;background:rgba(36,25,19,.87);padding:8px 12px;color:#f8eee1}
.carousel-accessories .carousel-count{font:500 11px Jost,Arial,sans-serif;letter-spacing:.12em}
.carousel-accessories button{font:500 10px Jost,Arial,sans-serif;letter-spacing:.12em;color:inherit;background:transparent;border:none;padding:7px 9px;cursor:pointer;text-transform:uppercase}
.carousel-accessories button:hover{color:#e1b7bf}
.project-gallery-cta{border-left:1px solid #f9eee055!important;margin-left:2px;padding-left:18px!important}
.folio-content{background:#eee6d6}
.folio-grid{grid-template-columns:minmax(0,1.48fr) minmax(260px,.72fr);column-gap:clamp(50px,9vw,180px)}
.folio-title{font-weight:700;letter-spacing:-.055em;text-wrap:balance}
.folio-description{max-width:690px}.folio-description p{orphans:3;widows:3;text-wrap:pretty}
.folio-subtitle{color:#7c283b}.folio-info{padding-top:clamp(35px,7vw,105px)}
@media(max-width:900px){.carousel-tile{flex-basis:50%;height:clamp(230px,42vw,380px)}.folio-grid{grid-template-columns:1fr;gap:40px}.folio-info{padding-top:0}}
@media(max-width:560px){.carousel-tile{flex-basis:80%;height:clamp(280px,80vw,440px)}.carousel-accessories{bottom:9px;right:9px;padding:5px;gap:2px}.carousel-accessories button{font-size:10px}.folio-content{padding-top:40px}.folio-grid{gap:32px}.folio-title{font-size:clamp(50px,11vw,77px)}}
@media(prefers-reduced-motion:reduce){.carousel-viewport,.carousel-tile img{scroll-behavior:auto;transition:none}}
/* Preserve the approved Casa de Reunión lightbox vocabulary across every project */
.gallery-dialog{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#211812;color:#f9f5ed;overscroll-behavior:contain;color-scheme:dark}
.gallery-dialog::backdrop{background:rgba(18,13,10,.88)}
.gallery-dialog .viewer{height:100%;display:flex;flex-direction:column;padding:clamp(14px,2vw,28px) clamp(12px,3vw,44px) clamp(11px,1.5vw,20px);gap:14px}
.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:0 0 auto}
.viewer-heading{display:flex;align-items:baseline;gap:clamp(14px,2vw,35px);min-width:0}
.viewer-project{font:600 clamp(19px,2vw,28px)/1.2 'Playfair Display',Georgia,serif;white-space:nowrap}
.viewer-count{color:#c6b6a8;font:400 12px Jost,Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}
.viewer-close{background:none;border:0;color:inherit;font:500 12px Jost,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:9px 2px 9px 14px;white-space:nowrap}
.viewer-close span{font-size:25px;line-height:0;margin-left:8px;vertical-align:-2px}
.viewer-stage{display:grid;grid-template-columns:minmax(34px,5vw) minmax(0,1fr) minmax(34px,5vw);gap:clamp(4px,1.6vw,26px);align-items:center;flex:1 1 auto;min-height:0;max-width:1600px;width:100%;margin:0 auto}
.viewer-photo{height:100%;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:0}
.viewer-photo img{max-width:100%;max-height:calc(100% - 35px);height:auto;width:auto;object-fit:contain;min-height:0;box-shadow:0 3px 35px #08050240}
.viewer-caption{text-align:center;max-width:68ch;flex:0 0 16px;font:300 11px Jost,Arial,sans-serif;letter-spacing:.04em;color:#d0c3b5;text-wrap:balance}
.viewer-arrow{justify-self:center;background:none;border:1px solid #ffffff5b;border-radius:50%;width:clamp(36px,3.5vw,48px);height:clamp(36px,3.5vw,48px);color:#fff;font:400 18px Jost,Arial,sans-serif;cursor:pointer;transition:background .2s}
.viewer-arrow:hover,.viewer-arrow:focus-visible{background:#ffffff33}
.viewer-thumbnails{display:flex;gap:7px;overflow-x:auto;padding:5px 0 7px;scrollbar-width:thin;justify-content:flex-start;max-width:1450px;width:100%;margin:0 auto;flex:0 0 auto;scroll-behavior:smooth}
.gallery-thumb{padding:0;background:none;border:2px solid transparent;cursor:pointer;flex:0 0 auto;opacity:.52;width:66px;height:53px;transition:opacity .2s}
.gallery-thumb[aria-current="true"]{border-color:#f6e8d7;opacity:1}
.gallery-thumb:hover{opacity:1}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-dialog button:focus-visible{outline:2px solid #edd3b4;outline-offset:3px}
@media(max-width:600px){.gallery-dialog .viewer{padding:14px 9px 11px;gap:10px}.viewer-bar{padding-inline:7px}.viewer-heading{gap:9px}.viewer-project{font-size:18px}.viewer-count{font-size:10px}.viewer-close{font-size:10px}.viewer-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:3px}.viewer-arrow{width:30px;height:30px;font-size:15px}.viewer-caption{font-size:10px}.gallery-thumb{width:54px;height:49px}}

/* V29 · captions removed on every project lightbox; full height remains available to photography. */
.viewer-caption{display:none!important}
.viewer-photo img{max-height:100%!important}
