
:root{
  --ink:#0B1D34;
  --navy:#0B1D34;
  --navy2:#071426;
  --gold:#D4AF37;
  --white:#F2F2F2;
  --muted:#B8C4D4;
  --warm:#D9A066;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--white);
  font-family:"Figtree",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

.site{
  background:
    radial-gradient(circle at 15% 8%,rgba(212,175,55,.14),transparent 28%),
    radial-gradient(circle at 85% 0%,rgba(61,105,160,.14),transparent 30%),
    linear-gradient(180deg,var(--navy) 0%,#071426 46%,var(--navy) 100%);
}
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px clamp(20px,4.5vw,76px);
  background:linear-gradient(180deg,rgba(2,7,17,.90),rgba(2,7,17,.24),transparent);
  backdrop-filter:blur(8px);
}
.nav img{height:36px;width:auto}
.nav-links{display:flex;gap:26px}
.nav-links a{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:rgba(242,242,242,.78);
}
.nav-links a:hover{color:var(--gold)}

.hero{
  min-height:100vh;
  display:grid;
  grid-template-columns:42% 58%;
  position:relative;
}
.hero-copy{
  padding:150px clamp(24px,5vw,86px) 72px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
}
.hero-copy:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.14),transparent 34%),
    radial-gradient(circle at bottom left,rgba(25,71,116,.22),transparent 34%);
  pointer-events:none;
}
.hero-copy>*{position:relative;z-index:2}
.hero-art{
  position:relative;
  min-height:100vh;
  overflow:hidden;
}
.hero-art:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,var(--ink),rgba(2,7,17,.52) 18%,rgba(2,7,17,.06) 52%,rgba(2,7,17,.10)),
    linear-gradient(0deg,var(--ink),transparent 38%),
    url("assets/hero_desert.jpeg") center/cover no-repeat;
  filter:saturate(1.07) contrast(1.03);
}
.hero-art:after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 52% 42%,rgba(217,160,102,.20),transparent 28%);
  mix-blend-mode:screen;
}
.logo-main{
  width:min(560px,86vw);
  margin-bottom:42px;
}
.label{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:12px;
  font-weight:800;
}
h1{
  font-family:"Montserrat","Figtree",sans-serif;
  font-size:clamp(48px,7vw,112px);
  line-height:.88;
  letter-spacing:-.07em;
  margin:18px 0 28px;
}
.hero-copy p{
  color:#DDE5EE;
  font-size:clamp(17px,1.45vw,23px);
  line-height:1.65;
  max-width:680px;
}
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(212,175,55,.55);
  padding:14px 22px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:800;
  transition:.22s ease;
}
.btn.fill{background:var(--gold);border-color:var(--gold);color:#020711}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}

.marquee{
  border-top:1px solid rgba(212,175,55,.30);
  border-bottom:1px solid rgba(212,175,55,.30);
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.25em;
  font-size:12px;
  font-weight:800;
  overflow:hidden;
  white-space:nowrap;
  padding:16px 0;
}
.marquee span{display:inline-block;padding-left:100%;animation:scroll 30s linear infinite}
@keyframes scroll{to{transform:translateX(-100%)}}

.section{padding:110px clamp(24px,6vw,96px)}
.split{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:clamp(34px,6vw,96px);
  align-items:center;
}
h2{
  font-family:"Montserrat","Figtree",sans-serif;
  font-size:clamp(38px,5vw,82px);
  line-height:.94;
  letter-spacing:-.06em;
  margin:12px 0 28px;
}
.text p{
  color:#C8D2DF;
  font-size:18px;
  line-height:1.75;
  margin:0 0 20px;
}
.text .lead{font-size:21px;color:#E0E6EF}
.photo-stack{
  display:grid;
  gap:18px;
}
.photo-stack img{
  width:100%;
  object-fit:cover;
  /*object-position: center bottom;*/
  border:1px solid rgba(212,175,55,.24);
  box-shadow:0 26px 80px rgba(0,0,0,.35);
}
.photo-stack img:first-child{
  height:380px;
  object-position:center center;
}
.photo-stack img:last-child{
  height:270px;
  object-position:center center;
}

.experience{
  padding:120px clamp(24px,6vw,96px);
  background:
    radial-gradient(circle at top right,rgba(212,175,55,.08),transparent 30%),
    linear-gradient(180deg,#071426,var(--navy));
}
.exp-intro{max-width:920px;margin-bottom:46px}
.exp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(212,175,55,.28);
  border-left:1px solid rgba(212,175,55,.18);
}
.exp-card{
  min-height:230px;
  padding:28px;
  border-right:1px solid rgba(212,175,55,.18);
  border-bottom:1px solid rgba(212,175,55,.18);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.055));
}
.exp-card strong{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
}
.exp-card span{color:#C8D2DF;font-size:16px;line-height:1.55}

.sound-identity{
  padding:110px clamp(24px,6vw,96px);
  position:relative;
  overflow:hidden;
}
.sound-identity:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(0deg,rgba(2,7,17,.90),rgba(2,7,17,.55),rgba(2,7,17,.94)),
    url("assets/IMG_5916.JPG") center/cover no-repeat;
  opacity:.82;
}
.sound-identity>*{position:relative;z-index:2}
.sound-line{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:42px;
}
.sound-word{
  border:1px solid rgba(212,175,55,.28);
  padding:34px;
  min-height:230px;
  background:rgba(2,7,17,.54);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.sound-word h3{
  font-family:"Montserrat",sans-serif;
  font-size:clamp(34px,4vw,62px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0;
}
.sound-word p{color:#C8D2DF;font-size:16px;line-height:1.6;margin:22px 0 0}
.genre-ribbon{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.genre-ribbon span{
  border:1px solid rgba(212,175,55,.38);
  color:#E8EDF4;
  padding:12px 14px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  background:rgba(255,255,255,.035);
}

.listen{
  padding:120px clamp(24px,6vw,96px);
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.10),transparent 32%),
    linear-gradient(180deg,var(--navy),#071426);
}
.listen-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:36px;
  align-items:start;
}
.soundcloud-frame{
  border:1px solid rgba(212,175,55,.30);
  background:rgba(255,255,255,.045);
  padding:18px;
  box-shadow:0 35px 90px rgba(0,0,0,.34);
}
.soundcloud-frame iframe{width:100%;border:0;display:block}
.listen-copy{
  padding:28px;
  border:1px solid rgba(212,175,55,.22);
  background:rgba(255,255,255,.035);
}
.listen-copy p{color:#C8D2DF;font-size:17px;line-height:1.7}

.instagram{
  padding:120px clamp(24px,6vw,96px);
  background:var(--navy);
}
.ig-wrap{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:42px;
  align-items:center;
}
.ig-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.ig-grid img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid rgba(212,175,55,.22);
  transition:.22s ease;
}
.ig-grid img:hover{transform:scale(1.015)}
.ig-note{
  margin-top:18px;
  color:#8D9AAE;
  font-size:14px;
  line-height:1.55;
}

.bio-full{
  padding:110px clamp(24px,6vw,96px);
  background:
    linear-gradient(180deg,#071426,var(--navy));
}
.bio-box{
  max-width:980px;
  border-left:2px solid var(--gold);
  padding-left:32px;
}
.bio-box p{
  color:#C7D1DF;
  font-size:16.5px;
  line-height:1.78;
  margin:0 0 18px;
}

.gallery-strip{
  display:grid;
  grid-template-columns:1fr 1.15fr .85fr 1fr;
  gap:0;
}
.gallery-strip img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-top:1px solid rgba(212,175,55,.18);
  border-bottom:1px solid rgba(212,175,55,.18);
}

.booking{
  padding:120px clamp(24px,6vw,96px);
  background:
    radial-gradient(circle at bottom right,rgba(212,175,55,.10),transparent 30%),
    #020711;
}
.booking-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  border-top:1px solid rgba(212,175,55,.42);
  border-bottom:1px solid rgba(212,175,55,.42);
  padding:54px 0;
}
.contact a{
  display:block;
  color:#F2F2F2;
  font-size:26px;
  margin:12px 0;
}
.small{color:#AAB7C8;font-size:15px;line-height:1.6}

.footer{
  padding:34px clamp(24px,6vw,96px);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#7F8DA0;
  font-size:13px;
  background:var(--navy);
}

@media(max-width:980px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr}
  .hero-art{position:absolute;inset:0;opacity:.48}
  .hero-copy{position:relative;z-index:2;min-height:100vh}
  .split,.listen-grid,.ig-wrap,.booking-card{grid-template-columns:1fr}
  .exp-grid{grid-template-columns:1fr 1fr}
  .sound-line{grid-template-columns:1fr}
  .ig-grid{grid-template-columns:1fr 1fr}
  .gallery-strip{grid-template-columns:1fr}
  .gallery-strip img{height:auto}
}
@media(max-width:600px){
  .exp-grid{grid-template-columns:1fr}
}


/* --- v2 refinement pass --- */
.statline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(212,175,55,.28);
  margin-top:34px;
  background:rgba(255,255,255,.035);
}
.statline div{
  padding:24px;
  border-right:1px solid rgba(212,175,55,.18);
}
.statline div:last-child{border-right:0}
.statline strong{
  display:block;
  color:var(--gold);
  font-size:12px;
  letter-spacing:.20em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.statline span{
  display:block;
  color:#D7DFEA;
  font-size:15px;
  line-height:1.5;
}

.stage-showcase{
  padding:0;
  min-height:82vh;
  position:relative;
  overflow:hidden;
}
.stage-showcase:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(11,29,52,.92),rgba(11,29,52,.34),rgba(11,29,52,.12)),
    linear-gradient(0deg,rgba(11,29,52,.96),rgba(11,29,52,.18) 54%,rgba(11,29,52,.30)),
    url("assets/stage.png") center/cover no-repeat;
  filter:brightness(1.35) contrast(1.18) saturate(1.15);
}
.stage-showcase .stage-copy{
  position:relative;
  z-index:2;
  min-height:82vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:760px;
  padding:110px clamp(24px,6vw,96px);
}
.stage-showcase h2{
  text-shadow:0 8px 36px rgba(0,0,0,.65);
}
.stage-showcase p{
  color:#E0E7F0;
  font-size:18px;
  line-height:1.75;
  text-shadow:0 4px 22px rgba(0,0,0,.55);
}

.story-photos{
  padding:90px clamp(24px,6vw,96px);
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.08),transparent 30%),
    var(--navy);
}
.story-photo-grid{
  display:grid;
  grid-template-columns:1.1fr .85fr 1fr;
  gap:18px;
  align-items:stretch;
}
.story-photo-grid img{
  width:100%;
  object-fit:cover;
  border:1px solid rgba(212,175,55,.22);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.story-photo-grid img:nth-child(1){height:520px}
.story-photo-grid img:nth-child(2){height:420px;margin-top:70px}
.story-photo-grid img:nth-child(3){height:520px}
.story-photo-caption{
  margin-top:22px;
  color:#B8C4D4;
  font-size:15px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.footer-v2{
  background:#071426;
  border-top:1px solid rgba(212,175,55,.26);
  padding:46px clamp(24px,6vw,96px) 34px;
  text-align:center;
}
.footer-v2 img{
  height:48px;
  width:auto;
  margin:0 auto 22px;
}
.footer-v2 .footer-tag{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.34em;
  font-size:12px;
  font-weight:600;
  margin-bottom:20px;
}
.footer-v2 .footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px;
  color:#F2F2F2;
  font-size:14px;
  letter-spacing:.22em;
}
.footer-v2 .footer-links span{
  color:var(--gold);
}
.footer-v2 .copyright{
  margin-top:26px;
  color:#7F8DA0;
  font-size:12px;
}

@media(max-width:980px){
  .statline{grid-template-columns:1fr}
  .statline div{border-right:0;border-bottom:1px solid rgba(212,175,55,.18)}
  .story-photo-grid{grid-template-columns:1fr}
  .story-photo-grid img:nth-child(1),
  .story-photo-grid img:nth-child(2),
  .story-photo-grid img:nth-child(3){
    height:auto;
    margin-top:0;
  }
}


/* --- v3 refinements --- */

/* Force top/hero treatment to brand navy, not gray/black */
body,
.site,
.nav,
.hero-copy,
.hero {
  background-color:#0B1D34 !important;
}

.nav{
  background:linear-gradient(180deg,rgba(11,29,52,.96),rgba(11,29,52,.42),transparent) !important;
}

.hero-copy:before{
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.13),transparent 34%),
    radial-gradient(circle at bottom left,rgba(25,71,116,.20),transparent 34%) !important;
}

.hero-art:before{
  background:
    linear-gradient(90deg,#0B1D34 0%,rgba(11,29,52,.70) 22%,rgba(11,29,52,.08) 56%,rgba(11,29,52,.10)),
    linear-gradient(0deg,#0B1D34 0%,transparent 38%),
    url("assets/hero_desert.jpeg") center/cover no-repeat !important;
}

/* Photo carousel */
.photo-carousel-section{
  padding:100px clamp(24px,6vw,96px);
  background:
    radial-gradient(circle at top left,rgba(212,175,55,.08),transparent 28%),
    #0B1D34;
}

.carousel-wrap{
  position:relative;
  margin-top:34px;
}

.photo-carousel{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:18px;
  scrollbar-width:thin;
  scrollbar-color:#D4AF37 rgba(255,255,255,.08);
}

.photo-carousel::-webkit-scrollbar{height:10px}
.photo-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}
.photo-carousel::-webkit-scrollbar-thumb{background:#D4AF37}

.carousel-slide{
  flex:0 0 min(78vw,520px);
  scroll-snap-align:start;
  border:1px solid rgba(212,175,55,.24);
  background:rgba(255,255,255,.035);
  box-shadow:0 24px 70px rgba(0,0,0,.30);
}

.carousel-slide img{
  width:100%;
  height:520px;
  object-fit:cover;
}

.carousel-caption{
  padding:16px 18px 18px;
  color:#C8D2DF;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.carousel-controls{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:18px;
}

.carousel-btn{
  width:48px;
  height:48px;
  border:1px solid rgba(212,175,55,.55);
  background:rgba(255,255,255,.035);
  color:#F2F2F2;
  font-size:26px;
  cursor:pointer;
  transition:.2s ease;
}

.carousel-btn:hover{
  background:#D4AF37;
  color:#0B1D34;
}

/* Ensure old story photo grid is hidden if present */
.story-photos{
  display:none !important;
}

@media(max-width:780px){
  .carousel-slide{
    flex-basis:86vw;
  }
  .carousel-slide img{
    height:420px;
  }
}

.filmstrip-section{padding:100px clamp(24px,6vw,96px);background:radial-gradient(circle at top left,rgba(212,175,55,.08),transparent 28%),#0B1D34}
.filmstrip-intro{font-size:18px;line-height:1.75;color:#C8D2DF;max-width:850px}
.filmstrip-shell{position:relative;margin-top:34px;border:1px solid rgba(212,175,55,.24);background:rgba(0,0,0,.12);padding:22px;box-shadow:0 26px 80px rgba(0,0,0,.25)}
.filmstrip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 0 18px;scrollbar-width:thin;scrollbar-color:#D4AF37 rgba(255,255,255,.08)}
.filmstrip::-webkit-scrollbar{height:10px}.filmstrip::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}.filmstrip::-webkit-scrollbar-thumb{background:#D4AF37}
.film-frame{position:relative;flex:0 0 290px;height:185px;border:1px solid rgba(255,255,255,.12);padding:0;background:#071426;overflow:hidden;cursor:pointer;scroll-snap-align:start;color:#F2F2F2}
.film-frame:before,.film-frame:after{content:"";position:absolute;left:0;right:0;height:12px;z-index:3;background:repeating-linear-gradient(90deg,rgba(242,242,242,.18) 0 10px,transparent 10px 22px);opacity:.55}
.film-frame:before{top:0}.film-frame:after{bottom:0;box-shadow:inset 0 -42px 44px rgba(0,0,0,.35)}
.film-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:saturate(1.05) contrast(1.03)}
.film-frame:hover img{transform:scale(1.06);filter:saturate(1.12) contrast(1.08)}
.film-frame span{position:absolute;left:14px;bottom:18px;z-index:4;color:#D4AF37;font-size:11px;text-transform:uppercase;letter-spacing:.20em;font-weight:800;text-shadow:0 3px 18px rgba(0,0,0,.7)}
.filmstrip-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.film-btn{width:48px;height:48px;border:1px solid rgba(212,175,55,.55);background:rgba(255,255,255,.035);color:#F2F2F2;font-size:28px;cursor:pointer;transition:.2s ease}
.film-btn:hover{background:#D4AF37;color:#0B1D34}
.lightbox{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);backdrop-filter:blur(6px);padding:28px}
.lightbox.active{display:flex}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.65);border:1px solid rgba(212,175,55,.25)}
.lightbox-close,.lightbox-nav{position:absolute;width:52px;height:52px;border:1px solid rgba(255,255,255,.32);background:rgba(0,0,0,.30);color:#F2F2F2;font-size:32px;cursor:pointer;transition:.2s ease}
.lightbox-close{top:24px;right:24px}.lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}.lightbox-next{right:24px;top:50%;transform:translateY(-50%)}
.lightbox-close:hover,.lightbox-nav:hover{background:#F2F2F2;color:#0B1D34}
@media(max-width:760px){.film-frame{flex-basis:245px;height:165px}}


/* --- Editorial Split Inquiry Booking Section --- */
.editorial-booking{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  padding:120px clamp(24px,6vw,96px) 90px;
  background:#071426;
  border-top:1px solid rgba(212,175,55,.24);
}

.booking-left{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.editorial-booking h2{
  font-family:"Montserrat","Figtree",sans-serif;
  font-size:clamp(58px,7vw,110px);
  line-height:.9;
  letter-spacing:-.065em;
  margin:14px 0 42px;
  max-width:760px;
}

.booking-copy{
  color:#C8D2DF;
  font-size:18px;
  line-height:1.8;
  max-width:610px;
  display:grid;
  gap:18px;
}

.booking-copy p{
  margin:0;
}

.booking-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:48px;
}

.booking-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:11px;
  text-decoration:none;
  color:#F2F2F2;
}

.booking-pill.gold{
  background:#D4AF37;
  color:#0B1D34;
  border-color:#D4AF37;
  font-weight:800;
}

.booking-right{
  display:flex;
  align-items:center;
}

.booking-form{
  width:100%;
  display:grid;
  gap:22px;
}

.booking-form input,
.booking-form textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(255,255,255,.22);
  padding:18px 0;
  font-size:18px;
  color:#F2F2F2;
  outline:none;
  font-family:"Figtree",system-ui,sans-serif;
}

.booking-form input::placeholder,
.booking-form textarea::placeholder{
  color:rgba(242,242,242,.58);
}

.booking-form button{
  margin-top:24px;
  background:#D4AF37;
  color:#0B1D34;
  border:none;
  padding:20px 34px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  width:fit-content;
  font-family:"Figtree",system-ui,sans-serif;
}

/* --- Bottom photo strip converted to same-size carousel --- */
.bottom-photo-carousel-wrap{
  position:relative;
  overflow:hidden;
  display:block;
}

.bottom-photo-carousel{
  display:flex;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}

.bottom-photo-carousel::-webkit-scrollbar{
  display:none;
}

.bottom-photo-carousel img{
  flex:0 0 25%;
  width:25%;
  height:420px;
  object-fit:cover;
  scroll-snap-align:start;
  border-top:1px solid rgba(212,175,55,.18);
  border-bottom:1px solid rgba(212,175,55,.18);
}

.bottom-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
  width:54px;
  height:54px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.55);
  background:rgba(11,29,52,.72);
  color:#F2F2F2;
  font-size:34px;
  cursor:pointer;
  transition:.2s ease;
}

.bottom-gallery-arrow:hover{
  background:#D4AF37;
  color:#0B1D34;
}

.bottom-gallery-arrow.left{
  left:24px;
}

.bottom-gallery-arrow.right{
  right:24px;
}

@media(max-width:980px){
  .editorial-booking{
    grid-template-columns:1fr;
  }

  .bottom-photo-carousel img{
    flex-basis:80%;
    width:80%;
    height:360px;
  }
}


/* --- Hero button refinements --- */
.btn-blue{
  background:#0B1D34;
  color:#F2F2F2;
  border-color:rgba(212,175,55,.55);
}

.btn-blue:hover{
  background:#122C4D;
}

/* --- Bottom carousel clickable items + lightbox --- */
.bottom-photo-item{
  flex:0 0 25%;
  width:25%;
  height:420px;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  cursor:pointer;
  scroll-snap-align:start;
  overflow:hidden;
}

.bottom-photo-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-top:1px solid rgba(212,175,55,.18);
  border-bottom:1px solid rgba(212,175,55,.18);
  transition:transform .45s ease, filter .45s ease;
}

.bottom-photo-item:hover img{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.05);
}

/* override prior direct img carousel sizing */
.bottom-photo-carousel > img{
  display:none;
}

.photo-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(6px);
}

.photo-lightbox.active{
  display:flex;
}

.photo-lightbox img{
  max-width:88vw;
  max-height:86vh;
  object-fit:contain;
  border:1px solid rgba(212,175,55,.28);
  box-shadow:0 30px 100px rgba(0,0,0,.65);
}

.photo-lightbox-close,
.photo-lightbox-nav{
  position:absolute;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(0,0,0,.32);
  color:#F2F2F2;
  font-size:32px;
  cursor:pointer;
  transition:.2s ease;
}

.photo-lightbox-close{
  top:24px;
  right:24px;
}

.photo-lightbox-prev{
  left:24px;
  top:50%;
  transform:translateY(-50%);
}

.photo-lightbox-next{
  right:24px;
  top:50%;
  transform:translateY(-50%);
}

.photo-lightbox-close:hover,
.photo-lightbox-nav:hover{
  background:#F2F2F2;
  color:#0B1D34;
}

@media(max-width:980px){
  .bottom-photo-item{
    flex-basis:80%;
    width:80%;
    height:360px;
  }
}

.nav-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 999px;
  padding: 7px;
  margin-left: 8px;
}

.nav-social img {
  width: 15px;
  height: 15px;
}

.nav-social:hover {
  background: rgba(212,175,55,.12);
}

.footer-socials {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: 0 auto 18px;
}

.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(212,175,55,.42);
  border-radius: 999px;
}

.footer-socials img {
  width: 20px;
  height: 20px;
}

.footer-socials a:hover {
  background: rgba(212,175,55,.12);
}

/* --- Final social icon alignment fixes --- */

.nav-links {
  display: flex;
  align-items: center;
  gap: 26px;
}

.nav-links a {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.nav-social {
  width: 31px;
  height: 31px;
  padding: 0;
  margin-left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 999px;
  transform: translateY(-1px);
}

.nav-social img {
  display: block;
  width: 15px;
  height: 15px;
  margin: 0;
  object-fit: contain;
}

.footer-socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin: 0 auto 18px;
}

.footer-socials a {
  width: 42px;
  height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(212,175,55,.42);
  border-radius: 999px;
}

.footer-socials img {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
  object-fit: contain;
}

.footer-socials a:hover,
.nav-social:hover {
  background: rgba(212,175,55,.12);
}

/* --- Clickable Instagram grid photos --- */

.ig-photo-link {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,.22);
}

.ig-photo-link img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: none;
  transition: transform .22s ease, filter .22s ease;
}

.ig-photo-link:hover img {
  transform: scale(1.025);
  filter: brightness(1.08) saturate(1.08);
}