/* rj-gallery.css — Rejuvena cinematic Before/After gallery
   Aesthetic: refined editorial luxury — immersive navy, warm gold, Cormorant display,
   atmospheric depth (radial glow + grain), gold-hairline glass cards, staggered reveals. */
:root{
  --gnavy:#04141d; --gnavy2:#0a2a3c; --gnavy3:#0e3a52; --gblue:#3E6E8E;
  --ggold:#c8a96b; --ggold2:#e3cd9e; --gcream:#f3ece0;
  --gink:#eaf1f5; --gmute:#9db0bd;
  --gserif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --gsans:"Inter",system-ui,-apple-system,sans-serif;
}
.rjc-galjs .rjc-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rjc-galjs .rjc-reveal.rjc-in{opacity:1;transform:none}

/* ---------------- HERO ---------------- */
.rjc-gal-hero{position:relative;overflow:hidden;text-align:center;color:var(--gink);font-family:var(--gsans);
  padding:calc(var(--rjc-hdr-h,108px) + clamp(28px,5vw,56px)) 20px clamp(40px,6vw,80px);
  background:radial-gradient(115% 85% at 50% -15%,#114a66 0%,#0a2c40 38%,#06202e 64%,#04141d 100%)}
.rjc-gal-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 8%,rgba(200,169,107,.16),transparent 70%)}
.rjc-gal-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.rjc-gal-hero>.rjc-wrap{position:relative;z-index:2;max-width:1100px;margin:0 auto}
.rjc-gal-hero .rjc-eyebrow{display:inline-flex;align-items:center;gap:.8em;color:var(--ggold);
  letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;font-weight:600}
.rjc-gal-hero .rjc-eyebrow::before,.rjc-gal-hero .rjc-eyebrow::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--ggold))}
.rjc-gal-hero .rjc-eyebrow::after{background:linear-gradient(90deg,var(--ggold),transparent)}
.rjc-gal-hero h1{font-family:var(--gserif);font-weight:500;letter-spacing:.01em;line-height:1.02;
  font-size:clamp(2.6rem,6.5vw,5rem);margin:.28em 0 .24em;color:#fff;
  background:linear-gradient(180deg,#fff 40%,#dfe9ef);-webkit-background-clip:text;background-clip:text}
.rjc-gal-sub{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--gmute);max-width:46ch;margin:0 auto 1.8em;line-height:1.6}
.rjc-btn{display:inline-block;font-family:var(--gsans);font-weight:600;letter-spacing:.02em;text-decoration:none;
  color:#231803;background:linear-gradient(180deg,var(--ggold2),var(--ggold));
  padding:.95em 2.1em;border-radius:999px;box-shadow:0 10px 30px -8px rgba(200,169,107,.5);
  transition:transform .25s,box-shadow .25s}
.rjc-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px -10px rgba(200,169,107,.7)}
/* featured stage — gold-framed cinematic piece */
.rjc-gal-hero-stage{position:relative;width:min(92vw,460px);margin:clamp(2.2rem,4vw,3.4rem) auto 0;aspect-ratio:9/16;
  border-radius:18px;padding:8px;background:linear-gradient(145deg,rgba(200,169,107,.55),rgba(200,169,107,.08) 40%,rgba(255,255,255,.05));
  box-shadow:0 40px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(200,169,107,.25)}
.rjc-gal-hero-stage::after{content:"";position:absolute;inset:-30% -10% auto -10%;height:60%;
  background:radial-gradient(50% 100% at 50% 0,rgba(200,169,107,.25),transparent 70%);filter:blur(8px);pointer-events:none}
.rjc-gal-hero-slide{position:absolute;inset:8px;opacity:0;transition:opacity .9s ease;margin:0;border-radius:12px;overflow:hidden}
.rjc-gal-hero-slide.is-on{opacity:1}
.rjc-gal-hero-slide .rjc-ba-slider{position:absolute;inset:0;overflow:hidden;background:#0c2230}
.rjc-gal-hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rjc-gal-hero-slide .rjc-ba-after{z-index:1}.rjc-gal-hero-slide .rjc-ba-before{z-index:2}
.rjc-gal-hero-slide figcaption{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:1.1em .9em .8em;
  font-family:var(--gserif);font-size:1.3rem;font-style:italic;color:#fff;text-align:center;
  background:linear-gradient(transparent,rgba(4,16,24,.82))}

/* ---------------- GRID SECTION ---------------- */
.rjc-gal{position:relative;overflow:hidden;font-family:var(--gsans);color:var(--gink);
  padding:clamp(10px,2vw,24px) 0 clamp(56px,8vw,110px);
  background:linear-gradient(180deg,#04141d,#061f2c 45%,#04141d)}
.rjc-gal::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.rjc-gal>.rjc-wrap{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
/* sticky filter rail */
.rjc-gal-filter{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;
  padding:1.1rem 0;margin-bottom:.6rem;
  background:linear-gradient(180deg,rgba(4,20,29,.96),rgba(4,20,29,.7));backdrop-filter:blur(10px)}
.rjc-gal-pill{font-family:var(--gsans);font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gmute);background:rgba(255,255,255,.04);border:1px solid rgba(200,169,107,.22);
  padding:.62em 1.15em;border-radius:999px;cursor:pointer;transition:.2s}
.rjc-gal-pill:hover{color:var(--gcream);border-color:rgba(200,169,107,.6)}
.rjc-gal-pill.is-active{color:#231803;background:linear-gradient(180deg,var(--ggold2),var(--ggold));border-color:transparent;
  box-shadow:0 6px 18px -6px rgba(200,169,107,.6)}
.rjc-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:clamp(.9rem,1.6vw,1.5rem);margin-top:1.4rem}
/* card */
.rjc-gal-card{position:relative;margin:0;border-radius:16px;overflow:hidden;cursor:pointer;
  background:rgba(255,255,255,.035);border:1px solid rgba(200,169,107,.18);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.9);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.rjc-gal-card:hover{transform:translateY(-7px);border-color:rgba(200,169,107,.55);
  box-shadow:0 30px 60px -26px rgba(0,0,0,.95),0 0 0 1px rgba(200,169,107,.3)}
.rjc-gal-card[hidden]{display:none}
.rjc-gal-card .rjc-ba-slider{aspect-ratio:9/16;position:relative;overflow:hidden;background:#0c2230}
.rjc-gal-card img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.rjc-gal-card .rjc-ba-after{z-index:1}.rjc-gal-card .rjc-ba-before{z-index:2}
/* caption overlaid as an editorial scrim */
.rjc-gal-cap{position:absolute;left:0;right:0;bottom:0;z-index:6;pointer-events:none;
  display:flex;flex-direction:column;gap:.08em;padding:1.6em .95em .85em;
  background:linear-gradient(transparent,rgba(4,16,24,.15) 30%,rgba(4,16,24,.9))}
.rjc-gal-cap .rjc-gal-t{font-family:var(--gserif);font-size:1.32rem;font-weight:600;line-height:1.05;color:#fff}
.rjc-gal-cap .rjc-gal-d{font-size:.78rem;letter-spacing:.02em;color:var(--ggold2)}
/* gold-tinted slider chrome (scoped) */
.rjc-gal .rjc-ba-line,.rjc-gal-hero .rjc-ba-line,.rjc-gal-lb .rjc-ba-line{background:rgba(200,169,107,.9);box-shadow:0 0 10px rgba(200,169,107,.5)}
.rjc-gal .rjc-ba-grip,.rjc-gal-hero .rjc-ba-grip,.rjc-gal-lb .rjc-ba-grip{color:var(--gnavy);background:var(--ggold2);box-shadow:0 2px 10px rgba(0,0,0,.4)}
.rjc-gal .rjc-ba-tag,.rjc-gal-hero .rjc-ba-tag,.rjc-gal-lb .rjc-ba-tag{background:rgba(4,16,24,.62);color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;backdrop-filter:blur(3px)}

/* ---------------- LIGHTBOX ---------------- */
.rjc-gal-lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:5vw;
  background:rgba(3,11,17,.94);backdrop-filter:blur(6px)}
.rjc-gal-lb[hidden]{display:none}
.rjc-gal-lb-inner{width:min(560px,92vw,72vh);margin:0 auto;display:flex;flex-direction:column}
.rjc-gal-lb-inner .rjc-ba-slider{position:relative;width:100%;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#0c2230;
  border:1px solid rgba(200,169,107,.35);box-shadow:0 40px 100px -30px #000}
.rjc-gal-lb-inner img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.rjc-gal-lb-inner .rjc-ba-before{z-index:2}.rjc-gal-lb-inner .rjc-ba-after{z-index:1}
.rjc-gal-lb-x{position:absolute;top:1.1rem;right:1.4rem;font-size:2.2rem;line-height:1;color:#fff;background:none;border:0;cursor:pointer;opacity:.8;transition:.2s}
.rjc-gal-lb-x:hover{opacity:1;transform:rotate(90deg)}
.rjc-gal-lb-cap{color:var(--gink);text-align:center;margin-top:1.3rem;font-family:var(--gsans)}
.rjc-gal-lb-cap strong{font-family:var(--gserif);font-size:1.4rem;font-weight:600}
.rjc-gal-lb-cap a{display:inline-block;margin-top:.5rem;color:var(--ggold2);text-decoration:none;letter-spacing:.04em;border-bottom:1px solid rgba(200,169,107,.4);padding-bottom:2px}
.rjc-gal-lb-cap a:hover{color:#fff;border-color:#fff}

/* ---------------- CLOSING CTA ---------------- */
.rjc-gal-cta{position:relative;overflow:hidden;text-align:center;color:var(--gink);font-family:var(--gsans);
  padding:clamp(56px,9vw,120px) 20px;background:radial-gradient(110% 120% at 50% 0,#0e3a52,#06202e 55%,#04141d)}
.rjc-gal-cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 60% at 50% 0,rgba(200,169,107,.14),transparent 70%)}
.rjc-gal-cta>.rjc-wrap{position:relative;z-index:2}
.rjc-gal-cta h2{font-family:var(--gserif);font-weight:500;font-size:clamp(1.9rem,4.2vw,3.2rem);margin-bottom:.7em;color:#fff}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:760px){
  .rjc-gal-grid{grid-template-columns:1fr 1fr;gap:.7rem}
  .rjc-gal-cap{padding:1.2em .7em .6em}
  .rjc-gal-cap .rjc-gal-t{font-size:1.05rem}
  .rjc-gal-cap .rjc-gal-d{font-size:.7rem}
}
@media(max-width:380px){.rjc-gal-grid{grid-template-columns:1fr}}
