/* SLIDER · BAND · GALLERY — components used by the Rifra elastics page */
.slider{position:relative;overflow:hidden;background:var(--ink);border-bottom:1px solid var(--rule)}
.slider .track{position:relative;height:clamp(420px,54vw,620px)}
.slider .slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease}
.slider .slide.is-on{opacity:1;visibility:visible}
.slider .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slider .inner{position:absolute;inset:0;display:flex;align-items:flex-end;padding:0 6vw 8vh;background:linear-gradient(90deg,rgba(10,10,10,.78) 0%,rgba(10,10,10,.5) 45%,rgba(10,10,10,.12) 75%)}
.slider .cap{max-width:46ch;color:var(--paper)}
.slider .eyebrow-s{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(245,241,234,.62);margin-bottom:14px}
.slider .cap :is(h1,h2){font-family:'Italiana',serif;font-weight:400;font-size:clamp(30px,4.4vw,58px);line-height:1.06;letter-spacing:.01em;margin:0 0 14px;color:var(--paper)}
.slider .cap :is(h1,h2) em{font-family:'Cormorant Garamond',serif;font-style:italic}
.slider .cap p{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.6;color:rgba(245,241,234,.78);margin:0;max-width:52ch}
.slider .dots{position:absolute;left:6vw;bottom:3.4vh;display:flex;gap:10px;z-index:4}
.slider .dots button{width:26px;height:2px;border:0;padding:0;cursor:pointer;background:rgba(245,241,234,.3);transition:background .3s}
.slider .dots button[aria-current="true"]{background:var(--gold-bright,#c9a227)}
@media(max-width:760px){.slider .inner{padding:0 24px 12vh;background:linear-gradient(0deg,rgba(10,10,10,.86) 0%,rgba(10,10,10,.5) 55%,rgba(10,10,10,.15) 100%)}.slider .dots{left:24px}}

.band{position:relative;overflow:hidden;background:var(--ink);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band>img{display:block;width:100%;height:clamp(240px,28vw,380px);object-fit:cover}
.band .band-cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(10,10,10,.8) 0%,rgba(10,10,10,.55) 45%,rgba(10,10,10,.1) 80%)}
.band .band-cap h3,.band .band-cap .band-h{font-family:'Italiana',serif;font-weight:400;font-size:clamp(24px,3.2vw,42px);line-height:1.1;color:var(--paper);margin:0 0 12px;max-width:20ch}
.band .band-cap h3 em,.band .band-cap .band-h em{font-family:'Cormorant Garamond',serif;font-style:italic}
.band .band-cap p{font-family:'Inter',sans-serif;font-weight:300;font-size:14px;line-height:1.65;color:rgba(245,241,234,.75);margin:0;max-width:56ch}

/* GALLERY — asymmetric tiling mosaic. 4-col module (big 2x2 + 2 small + 1 wide) x4
   = 16 tiles over 8 equal rows, no holes, no letterboxing. */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(8,1fr);grid-auto-flow:row dense;gap:12px;margin-top:28px;aspect-ratio:1/2}
.gal .g{position:relative;display:block;width:100%;height:100%;padding:0;border:0;cursor:zoom-in;background:#efece6;text-align:left;font:inherit;overflow:hidden}
.gal .g:nth-child(4n+1){grid-column:span 2;grid-row:span 2}
.gal .g:nth-child(4n){grid-column:span 2}
.gal .g img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .7s cubic-bezier(.22,.61,.21,1)}
.gal .g:hover img{transform:scale(1.04)}
.gal .gn{position:absolute;top:10px;left:11px;z-index:2;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.2em;color:var(--paper);text-shadow:0 1px 6px rgba(10,10,10,.6)}
.gal .gcap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 14px 13px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;line-height:1.3;color:var(--paper);background:linear-gradient(0deg,rgba(10,10,10,.86) 0%,rgba(10,10,10,.45) 55%,rgba(10,10,10,0) 100%);opacity:0;transition:opacity .35s ease}
.gal .g:hover .gcap,.gal .g:focus-visible .gcap{opacity:1}
.gal .g:nth-child(4n+1) .gcap{font-size:17px;padding:44px 20px 18px}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:1fr;aspect-ratio:1/4}.gal .g:nth-child(4n+1){grid-column:span 2;grid-row:span 1}.gal .g:nth-child(4n){grid-column:span 1}.gal .g:nth-child(4n+1) .gcap{font-size:14px;padding:34px 14px 13px}}
@media(max-width:520px){.gal{grid-template-columns:1fr;aspect-ratio:auto;grid-auto-rows:auto}.gal .g,.gal .g:nth-child(4n+1),.gal .g:nth-child(4n){grid-column:span 1;grid-row:span 1;aspect-ratio:4/3}.gal .gcap{opacity:1}}

.lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:5vh 5vw;background:rgba(10,10,10,.94)}
.lightbox.is-on{display:flex}
.lightbox img{max-width:100%;max-height:72vh;object-fit:contain;background:var(--paper)}
.lightbox .lb-cap{position:absolute;left:0;right:0;bottom:5vh;text-align:center;padding:0 6vw;color:var(--paper)}
.lightbox .lb-cap strong{display:block;font-family:'Italiana',serif;font-weight:400;font-size:20px;margin-bottom:6px}
.lightbox .lb-cap span{font-family:'Inter',sans-serif;font-weight:300;font-size:13px;color:rgba(245,241,234,.7);max-width:60ch;display:inline-block}
.lightbox .lb-x{position:absolute;top:3vh;right:4vw;border:0;background:none;color:var(--paper);font-size:28px;line-height:1;cursor:pointer}
