:root{--bg:#0b0b0c;--bg-alt:#121214;--card:#17171a;--line:#26262b;--text:#f2f0eb;--muted:#9b9a97;--accent:#c8a45c;--accent-dark:#a8873f;--radius:14px;--max:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:100%;max-width:var(--max);margin:auto;padding:0 24px}
header{position:sticky;top:0;z-index:20;background:rgba(11,11,12,.88);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.logo{font:700 1.4rem 'Playfair Display',serif;letter-spacing:.04em}
.logo span{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:28px;color:var(--muted);font-size:.9rem}
.nav-links a:hover{color:var(--accent)}
.btn{display:inline-block;padding:10px 22px;border:1px solid var(--accent);border-radius:999px;transition:.25s ease}
.btn:hover{background:var(--accent);color:#111;transform:translateY(-2px)}
.hero{padding:82px 0 46px;background:radial-gradient(800px 360px at 80% 0%,rgba(200,164,92,.14),transparent 65%),var(--bg)}
.eyebrow{display:inline-block;color:var(--accent);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.15}
h1{font-size:clamp(2.5rem,6vw,4.4rem);margin-bottom:16px}
.hero p{color:var(--muted);max-width:620px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px auto 28px}
.back{color:var(--accent);font-size:.9rem}
.count{color:var(--muted);font-size:.85rem}
/* Masonry columns keep each photo and video at its natural proportions. */
.gallery{display:block;column-count:3;column-gap:16px;padding-bottom:90px}
.media-item{break-inside:avoid;display:block;width:100%;margin-bottom:16px;position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(135deg,#393126,#151518);border:1px solid var(--line);cursor:zoom-in;isolation:isolate}
.media-item img,.media-item video{display:block;width:100%;height:auto;aspect-ratio:auto 4/3;object-fit:contain;transition:transform .2s ease}
.media-item video{aspect-ratio:auto 16/9}
.media-item:hover img{transform:scale(1.02)}
.empty{display:none;color:var(--muted);padding:40px 0}
footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:.85rem}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:60;display:none;align-items:center;justify-content:center;padding:28px}
.lightbox.open{display:flex}
.lightbox img,.lightbox video{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;border-radius:8px}
.close,.prev,.next{position:absolute;border:1px solid #555;background:rgba(20,20,20,.8);color:#fff;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:1.35rem;cursor:pointer}
.close{top:22px;right:22px}.prev{left:22px;top:50%}.next{right:22px;top:50%}
@media(max-width:850px){.gallery{column-count:2}}
@media(max-width:560px){.nav{height:64px}.nav-links{gap:14px;font-size:.8rem}.nav-links .btn{padding:8px 13px}.hero{padding:60px 0 30px}.gallery{column-count:1;column-gap:13px}.media-item{margin-bottom:13px}.toolbar{align-items:flex-start;flex-direction:column}.prev{left:8px}.next{right:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* RJV STUDIOS — GLASSMORPHISM GALLERY REDESIGN */
body {
  background:
    radial-gradient(ellipse at 10% 6%, rgba(200,164,92,.13), transparent 32rem),
    radial-gradient(ellipse at 90% 42%, rgba(115,129,164,.10), transparent 34rem),
    var(--bg);

}
header {
  top: 14px;
  margin: 14px auto 0;
  width: min(calc(100% - 32px), var(--max));
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(17,17,20,.92);


  box-shadow: 0 12px 40px rgba(0,0,0,.22);
}
.btn {
  background: rgba(200,164,92,.12);
  border-color: rgba(220,190,130,.48);


  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 26px rgba(0,0,0,.18);
}
.btn:hover { background: rgba(200,164,92,.25); box-shadow: 0 12px 32px rgba(200,164,92,.14); }
.hero {
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;


}
@media (max-width: 760px) {
  header { top: 8px; margin-top: 8px; width: calc(100% - 16px); }
}

/* Gallery-specific layout must not inherit the full-height homepage hero. */
.gallery-page main { min-height: 100vh; }
.gallery-page .hero { min-height: auto; display: block; }
.gallery-page .hero h1 { max-width: none; }
.gallery-page .hero p { min-height: 3.3em; }
@media (max-width: 560px) {
  .gallery-page .hero p { min-height: 4.95em; }
}
.media-open {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  cursor: zoom-in;
}
.media-open:hover { transform: none; background: transparent; box-shadow: none; }
.media-open:focus-visible { outline-offset: -4px; }
.media-item.media-missing { cursor: default; }
.media-open:disabled { cursor: default; }
.lightbox { z-index: 200; }
@media (max-width: 720px) {
  .nav-links { gap: 0; }
}

.media-open { position: relative; }
.video-item, .video-item .media-open { cursor: pointer; }
.video-play {
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  padding-left: 3px;
  border-radius: 50%;
  background: rgba(11,11,12,.8);
  border: 1px solid var(--accent);
  color: var(--text);
  font-size: 1.3rem;
  pointer-events: none;
}
.lightbox video { width: min(1100px, 92vw); }
.lightbox [hidden] { display: none; }
#lightbox-error {
  position: absolute;
  bottom: 28px;
  max-width: 80vw;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--bg);
  color: var(--text);
  text-align: center;
}
@media (max-width: 720px) {
  /* Leave native playback controls unobstructed on narrow screens. */
  .lightbox.showing-video .prev, .lightbox.showing-video .next { top: auto; bottom: 22px; }
  .lightbox.showing-video #lightbox-error { bottom: 84px; }
}
