:root{
  --bg:#0a1017;
  --bg-2:#101824;
  --bg-3:#162233;
  --panel:rgba(10,16,24,.72);
  --panel-strong:rgba(10,16,24,.88);
  --line:rgba(255,255,255,.11);
  --text:#f6f8fc;
  --muted:#a8b4c7;
  --accent:#ff8d3a;
  --accent-2:#ffd089;
  --shadow:0 24px 80px rgba(0,0,0,.42);
  --container:min(1380px, calc(100% - 48px));
  --section-safe:min(1320px, calc(100% - 72px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top center, rgba(255,140,64,.06), transparent 20%),
    radial-gradient(circle at 82% 12%, rgba(255,208,137,.04), transparent 20%),
    linear-gradient(180deg,#071018,#0b1320 35%,#081018 100%);
}
body.lightbox-open{overflow:hidden}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.hidden{display:none !important}
.container{width:var(--container);margin:0 auto}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:90;
  backdrop-filter:blur(18px);
  background:rgba(9,14,21,.74);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.brand-logo-wrap{
  width:162px;
  height:74px;
  background:transparent;
  border:none;
  display:grid;
  place-items:center;
  overflow:visible;
  flex:none;
  transform:translateY(-15%) scale(1.08);
  margin-right:-6px;
}
.brand-logo{
  width:100%;
  height:100%;
  object-fit:contain;
}
.brand-mark{
  font-weight:800;
  letter-spacing:.08em;
  font-size:1.15rem;
}
.brand-copy strong{
  display:block;
  letter-spacing:.08em;
  font-size:1.34rem;
  font-weight:800;
  color:#fff;
  margin-left:-4px;
}
.brand-copy small{
  color:#d2d9e8;
  font-size:.74rem;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-left:-4px;
}

.menu-toggle{
  display:none;
  padding:10px 14px;
  border-radius:14px;
  background:transparent;
  color:var(--text);
  border:1px solid var(--line);
}
.main-nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.nav-item-wrap{
  position:relative;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 16px;
  border-radius:16px;
  border:1px solid transparent;
  color:#edf3ff;
  transition:.25s ease;
}
.nav-link:hover,
.nav-link.has-children:hover{
  background:rgba(255,140,64,.14);
  border-color:rgba(255,140,64,.30);
  color:#fff3eb;
}
.nav-dropdown{
  position:absolute;
  top:calc(100% - 2px);
  left:0;
  min-width:230px;
  padding-top:10px;
  display:none;
}
.nav-item-wrap:hover > .nav-dropdown{display:block}
.nav-dropdown::before{
  content:"";
  position:absolute;
  inset:10px 0 0 0;
  background:rgba(14,20,29,.96);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
}
.nav-dropdown > .nav-item-wrap{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  padding:6px 10px;
}
.nav-dropdown .nav-item-wrap + .nav-item-wrap{
  border-top:1px solid rgba(255,255,255,.06);
}
.nav-dropdown .nav-link{
  justify-content:flex-start;
  width:100%;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  transition:.24s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#ff9e47 0%,#ff7300 100%);
  border-color:rgba(255,160,83,.35);
  box-shadow:0 14px 34px rgba(255,115,0,.24);
}
.btn-secondary{
  background:rgba(255,255,255,.06);
  color:#edf3ff;
  backdrop-filter:blur(12px);
}
.btn-hero-orange{
  min-width:150px;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,rgba(255,158,71,.90) 0%,rgba(255,115,0,.86) 100%);
  border:1px solid rgba(255,180,110,.34);
  box-shadow:0 14px 34px rgba(255,115,0,.18);
  backdrop-filter:blur(12px);
}
.btn-hero-orange:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 46px rgba(255,115,0,.28);
}

/* Hero */
.hero{
  position:relative;
  min-height:100dvh;
  display:grid;
  align-items:center;
  overflow:hidden;
}
.hero-media,.page-hero-media,.section-backdrop{
  position:absolute;inset:0;overflow:hidden;
}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(6,10,15,.14) 0%, rgba(6,10,15,.50) 56%, rgba(6,10,15,.88) 100%);
}
.hero-content,.page-hero-content{
  position:relative;
  z-index:2;
  width:var(--section-safe);
  margin:0 auto;
  padding:122px 0 88px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  color:#ffe7d1;
  font-size:.84rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-content,.page-hero-content{text-align:left}
.hero-content-right{text-align:right}
.hero-content h1,
.page-hero-content h1,
.section-title-equal,
.page-title-equal{
  margin:0 0 16px;
  font-size:clamp(4.5rem,8.5vw,10.2rem);
  line-height:.95;
  letter-spacing:-.045em;
  max-width:12ch;
}
.hero-copy,.page-intro,.section-copy{
  margin:0;
  max-width:62ch;
  color:#dce3ef;
  font-size:1.02rem;
  line-height:1.8;
}
.hero-content-right h1,
.hero-content-right .hero-copy,
.hero-content-right .section-copy,
.page-hero-content-right .page-intro{
  margin-left:auto;
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:26px;
}
.hero-content-right .hero-actions{justify-content:flex-end}

.media-rotator-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .75s ease;
}
.media-rotator-slide.active{opacity:1}
.media-rotator-slide img,
.media-rotator-slide video{
  width:100%;
  height:100%;
  object-fit:cover;
}
.parallax-backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 32%, rgba(255,145,50,.14), transparent 24%),
    linear-gradient(180deg, rgba(8,12,18,.14) 0%, rgba(8,12,18,.64) 72%, rgba(8,12,18,.86) 100%);
  pointer-events:none;
}

/* Sections */
.section{
  position:relative;
  overflow:hidden;
}
.cinematic-section{
  min-height:min(100vh, 920px);
  display:grid;
  align-items:center;
  overflow:hidden;
}
.section-overlay,
.page-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
}
.section-overlay-dark,
.page-hero-overlay{
  background:linear-gradient(180deg, rgba(4,8,14,.18) 0%, rgba(4,8,14,.58) 52%, rgba(4,8,14,.90) 100%);
}
.section-stack{
  position:relative;
  z-index:2;
  width:var(--section-safe);
  margin:0 auto;
  padding:96px 0 88px;
}
.section-stack-wide{max-width:min(1420px, calc(100% - 70px))}
.section-intro{
  display:flex;
  flex-direction:column;
  gap:0;
  max-width:760px;
}
.section-intro .section-title-equal{
  max-width:14ch;
}
.section-intro .section-copy{
  margin-top:0;
}

/* Page hero / body */
.page-shell{position:relative}
.page-hero{
  position:relative;
  min-height:min(56vh, 520px);
  display:grid;
  align-items:end;
  overflow:hidden;
}
.page-hero-gallery{
  min-height:min(48vh, 420px);
}
.page-hero-content{
  padding-bottom:52px;
}
.page-hero-content-gallery{max-width:min(1200px, calc(100% - 60px))}
.page-body{
  position:relative;
  z-index:2;
  padding:56px 0 90px;
}
.page-body-gallery{padding-top:22px}
.page-body-right{text-align:right}
.page-body-right .page-intro{margin-left:auto}
.gallery-hero-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.gallery-hero-badge{
  padding:10px 16px;
  border-radius:999px;
  width:max-content;
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  color:#fbe5d1;
}

/* Cards / collections */
.collections-shell{margin-top:28px}
.collections-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}
.collections-grid-single{grid-template-columns:minmax(0,420px)}
.collections-grid-homecards{
  grid-template-columns:repeat(4, minmax(0,1fr));
}
.collection-card{
  position:relative;
  min-width:0;
  border-radius:24px;
  overflow:hidden;
  background:rgba(12,18,28,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 54px rgba(0,0,0,.24);
}
.collection-card-button{
  display:block;
  width:100%;
}
.collection-card-media{
  position:relative;
  aspect-ratio:0.78/1;
  overflow:hidden;
}
.collection-card-media-tall{
  aspect-ratio:0.72/1;
}
.collection-card-media img,.collection-card-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.collection-card:hover .collection-card-media img,
.collection-card:hover .collection-card-media video{transform:scale(1.03)}
.collection-card-copy{padding:20px 20px 22px}
.collection-card-copy h3{margin:0 0 8px;font-size:1.15rem}
.collection-card-copy p{margin:0;color:#d7dfeb;line-height:1.7}

/* Clickable card link */
a.collection-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
a.collection-card-link:focus-visible{
  outline:2px solid rgba(255,102,0,.7);
  outline-offset:2px;
}
.collection-card-copy-orange,
.product-body-orange-glass{
  background:
    linear-gradient(180deg, rgba(255,142,65,.24), rgba(14,18,26,.84)),
    rgba(14,18,26,.84);
  backdrop-filter:blur(16px);
}

/* Product / page cards */
.product-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
}
.page-cards-grid,
.film-card-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.product-card{
  position:relative;
  min-width:0;
  border-radius:22px;
  overflow:hidden;
  background:rgba(12,18,28,.76);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 52px rgba(0,0,0,.24);
}
.video-card{
  position:relative;
}
.video-poster{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#05070a;
}
.video-poster img,
.video-poster video,
.video-poster iframe{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:0;
}
.product-body{
  padding:16px 16px 18px;
}
.product-body h3{
  margin:0 0 8px;
  font-size:1rem;
}
.product-body p{
  margin:0 0 14px;
  color:#d9dfeb;
  font-size:.92rem;
  line-height:1.62;
}
.card-actions,
.compact-actions,
.hero-feature-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.btn-card-mini{
  min-height:42px;
  min-width:110px;
  padding:10px 16px;
  border-radius:14px;
  font-size:.92rem;
}
.love-btn{
  min-height:42px;
  padding:10px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#f0d9d9;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.love-btn .love-icon{font-size:1rem}
.love-btn.active{background:rgba(255,60,60,.16);color:#ff9a9a}

/* Filters */
.page-card-filters{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.filter-chip{
  min-height:42px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#f5f8ff;
  cursor:pointer;
}
.filter-chip.active{
  background:linear-gradient(135deg,rgba(255,158,71,.88),rgba(255,115,0,.84));
  border-color:rgba(255,190,120,.36);
  color:#fff;
}

/* Gallery */
.nano-gallery-wrap{
  padding-top:4px;
}
.nano-gallery-grid{
  column-count:4;
  column-gap:4px;
  display:inline-block;
  width:100%;
}
.nano-gallery-item{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  margin-bottom:4px;
  border:none;
  background:transparent;
  border-radius:0;
  overflow:hidden;
  cursor:pointer;
  break-inside:avoid;
}
.nano-gallery-item img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}
.nano-gallery-item:hover img{transform:scale(1.03)}

/* Contact */
.contact-premium-wrap{
  display:flex;
  flex-direction:column;
  gap:26px;
}
.contact-reference-card{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:0;
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,145,50,.10), transparent 30%),
    rgba(9,14,21,.84);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 54px rgba(0,0,0,.24);
}
.contact-reference-left{
  padding:34px 30px 32px;
  background:
    linear-gradient(180deg, rgba(255,145,50,.16), rgba(255,145,50,.04)),
    rgba(255,255,255,.02);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px;
}
.contact-icon-box{
  width:56px;
  height:56px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:1.5rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.contact-reference-left h2{
  margin:0;
  font-size:clamp(1.4rem,2.8vw,2.3rem);
  line-height:1.08;
  letter-spacing:-.04em;
}
.contact-reference-mail{
  font-size:1.04rem;
  font-weight:700;
  color:#ffd7b2;
  word-break:break-word;
}
.contact-reference-left p{
  margin:0;
  color:#d9dfeb;
}
.contact-reference-right{
  padding:32px 30px;
}
.contact-reference-right h3{
  margin:0 0 20px;
  font-size:1.35rem;
}
.contact-reference-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.contact-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.contact-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.contact-field label{
  font-size:.9rem;
  color:#d8e0ec;
}
.contact-field input,
.contact-field textarea{
  width:100%;
  min-width:0;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:14px 16px;
}
.contact-field textarea{
  min-height:170px;
  resize:vertical;
}
.contact-submit-btn{
  min-height:50px;
  align-self:flex-start;
  padding:0 24px;
  border:none;
  border-radius:16px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#ff9e47 0%,#ff7300 100%);
  box-shadow:0 14px 34px rgba(255,115,0,.18);
}

/* Reviews */
.review-strip-shell{
  position:relative;
  overflow:hidden;
  padding:6px 0 2px;
}
.review-strip-track{
  display:flex;
  align-items:stretch;
  gap:16px;
  width:max-content;
  animation:reviewTicker 24s linear infinite;
}
@keyframes reviewTicker{
  from{transform:translateX(100vw)}
  to{transform:translateX(-100%)}
}
.review-mini-card{
  width:-moz-fit-content;
  width:fit-content;
  max-width:300px;
  padding:18px 18px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.review-mini-stars{
  color:#ffd089;
  letter-spacing:.12em;
  font-size:.82rem;
}
.review-mini-card strong{
  font-size:1rem;
}
.review-mini-card span{
  color:#d8dfec;
  line-height:1.65;
  white-space:normal;
  overflow-wrap:anywhere;
}
.contact-premium-wrap .review-strip-shell{
  margin-top:8px;
}

/* Film hero */
.hero-film-stage{
  position:relative;
  z-index:2;
  width:var(--section-safe);
  margin:0 auto;
  padding:110px 0 88px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,580px);
  gap:38px;
  align-items:center;
}
.film-stage,
.page-cards-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,520px);
  gap:36px;
  align-items:start;
}
.film-stage-copy{
  min-width:0;
}
.film-stage-copy .section-copy{
  max-width:68ch;
}
.film-stage-media{
  min-width:0;
}
.hero-feature-card{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(11,16,24,.78);
  box-shadow:0 22px 60px rgba(0,0,0,.28);
}
.hero-feature-media{
  position:relative;
}
.hero-feature-body{
  padding:18px 18px 20px;
}
.hero-feature-body h3{
  margin:0 0 8px;
  font-size:1.18rem;
}
.hero-feature-body p{
  margin:0 0 14px;
  color:#d7dfeb;
  line-height:1.7;
}
.hero-feature-actions-compact{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Play button */
.play-button{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:82px;
  height:82px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(10,12,18,.56);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
}

/* Embeds */
.embed-shell{
  width:100%;
  min-width:0;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(8,12,18,.76);
  box-shadow:0 20px 54px rgba(0,0,0,.24);
}
.embed-shell iframe{
  width:100%;
  min-height:420px;
  display:block;
  border:0;
}
.spotify-shell iframe{min-height:460px}
.instagram-shell iframe{min-height:720px}
.youtube-shell iframe{min-height:520px}

/* Footer */
.site-footer{
  position:relative;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(7,12,18,.82);
  backdrop-filter:blur(18px);
}
.footer-inner{
  display:grid;
  grid-template-columns:1.5fr .9fr .9fr;
  gap:60px;
  padding:52px 0 34px;
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.footer-col strong{
  font-size:1rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.footer-copy p{
  margin:0;
  color:#d3dceb;
  line-height:1.8;
}
.footer-links-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-links-stack a{
  color:#e8eef9;
}
.footer-links-stack .muted{
  color:#95a5ba;
}
.footer-stay-touch{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-stay-touch input,
.footer-stay-touch textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#fff;
  padding:12px 14px;
}
.footer-stay-touch textarea{
  min-height:104px;
  resize:vertical;
}

/* Empty */
.empty-state{
  min-height:160px;
  display:grid;
  place-items:center;
  border-radius:22px;
  border:1px dashed rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);
  color:#8e9bb0;
}

/* Lightbox */
#lightbox{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(4,7,10,.92);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
#lightbox.open{
  opacity:1;
  pointer-events:auto;
}
.moonlight-shell{
  position:relative;
  width:100%;
  height:100%;
}
.moonlight-btn{
  min-width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.moonlight-title{color:#fff}
.moonlight-hotspot{
  position:absolute;
  top:0;
  bottom:0;
  width:35%;
  border:none;
  background:transparent;
}
.hotspot-left{left:0}
.hotspot-right{right:0}

/* Video modal */
#videoModal{
  position:fixed;
  inset:0;
  z-index:110;
  background:rgba(5,8,12,.82);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
#videoModal.open{
  opacity:1;
  pointer-events:auto;
}
#videoModalFrame{
  width:100%;
  height:100%;
  padding:24px;
  display:grid;
  place-items:center;
}
.video-modal-stage{
  width:min(1080px, 100%);
  display:flex;
  flex-direction:column;
  gap:16px;
  position:relative;
}
.video-modal-main{
  border-radius:28px;
  overflow:hidden;
  background:#000;
  box-shadow:0 22px 64px rgba(0,0,0,.34);
}
.video-modal-main iframe,
.video-modal-main video{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  border:0;
}
.video-modal-side{
  border-radius:16px;
  background:transparent;
  border:none;
  padding:0 8px;
  display:flex;
  flex-direction:row;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.video-modal-side.compact{
  justify-content:flex-start;
}
.video-modal-side-title{
  font-weight:700;
  line-height:1.5;
  word-break:break-word;
}
.video-side-btn{
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.video-modal-x{
  position:absolute;
  top:16px;
  right:16px;
  z-index:5;
  width:40px;
  height:40px;
  border-radius:50%;
  border:none;
  background:rgba(5,8,12,.70);
  color:#fff;
}
#videoModalClose{display:none}

/* Utilities */
.linked-page-card-hit{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
}
.collection-card-inner-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
}
.collection-card-inner-footer .collection-card-copy{
  flex:1;
  min-width:0;
}
.collection-card-inner-footer .collection-card-copy h3{
  font-size:0.82rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0 0 2px;
}
.collection-card-inner-footer .collection-card-copy p{
  font-size:0.73rem;
  margin:0;
}
.btn-card-mini{
  font-size:0.78rem !important;
  padding:5px 12px !important;
  white-space:nowrap;
}
.muted{color:#97a7bc}

/* Responsive */
@media (max-width: 1400px){
  .collections-grid-homecards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-grid,.page-cards-grid,.film-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-film-stage{grid-template-columns:minmax(0,1fr) minmax(320px,520px)}
}
@media (max-width: 1180px){
  .product-grid,.page-cards-grid,.film-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collections-grid-homecards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width: 1024px){
  .menu-toggle{display:inline-flex}
  .main-nav{
    position:absolute;
    top:100%;
    right:16px;
    width:min(320px, calc(100vw - 32px));
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    border-radius:22px;
    background:rgba(10,14,21,.96);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 60px rgba(0,0,0,.32);
  }
  .main-nav.open{display:flex}
  .nav-dropdown{
    position:static;
    display:block;
    min-width:0;
    padding-top:0;
  }
  .nav-dropdown::before{display:none}
  .nav-dropdown > .nav-item-wrap{padding:0}
  .hero-content,.page-hero-content,.section-stack,.film-stage{
    width:min(100% - 38px, 1120px);
  }
  .hero-film-stage{grid-template-columns:1fr}
  .video-modal-stage{grid-template-columns:1fr}
  .video-modal-side{padding-top:54px}
  .nano-gallery-grid{column-count:3;column-gap:4px}
}
@media (max-width: 900px){
  .contact-reference-card,
  .film-stage,
  .page-cards-stage{
    grid-template-columns:1fr;
  }
  .product-grid,.page-cards-grid,.film-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-content h1,
  .page-hero-content h1,
  .section-title-equal,
  .page-title-equal{
    max-width:14ch;
  }
  .hero-content-right h1,
  .hero-content-right .hero-copy{
    margin-left:0;
  }
  .hero-content-right{text-align:left}
  .contact-grid-2{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .container,.hero-content,.page-hero-content,.section-stack,.film-stage{
    width:min(100% - 28px, 980px);
  }
  .header-inner{padding:12px 0}
  .brand-logo-wrap{
    width:132px;
    height:60px;
  }
  .footer-inner{grid-template-columns:1fr}
  .hero-film-stage{grid-template-columns:1fr}
  .collections-grid-large,.collections-grid,.product-grid,.page-cards-grid,.film-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-mini-card{min-width:260px;width:260px}
}
@media (max-width: 560px){
  .container,.hero-content,.page-hero-content,.section-stack,.film-stage{
    width:min(100% - 22px, 920px);
  }
  .hero-content h1,.page-hero-content h1{font-size:clamp(3.2rem, 15vw, 5.5rem)}
  .collections-grid-large,.collections-grid,.product-grid,.page-cards-grid,.film-card-grid{grid-template-columns:1fr}
  .contact-reference-card{
    border-radius:24px;
  }
  .contact-reference-left h2{
    font-size:1.7rem;
  }
  .contact-reference-mail{
    font-size:.98rem;
  }
  .nano-gallery-grid{
    column-count:1;
  }
}
/* =========================
   2026-03-24 FINAL OVERRIDES
   Safe scoped fixes only
   ========================= */

:root{
  --accent:#b56b23;
  --accent-2:#f4b14d;
  --glass-dark:rgba(12,18,28,0.62);
  --glass-darker:rgba(8,12,20,0.78);
  --line-soft:rgba(255,255,255,0.08);
  --text-soft:#cfd7e6;
}

html,body{
  overflow-x:hidden;
}

img,video,iframe{
  max-width:100%;
}

.hero-content h1,
.page-hero-content h1,
.section-title-equal,
.page-title-equal{
  font-size:clamp(3.5rem,7vw,7rem);
}

.hero-content .section-copy,
.page-intro,
.section-copy,
.collection-card-copy p,
.product-body p{
  line-height:1.65;
}

.section-stack,
.page-body,
.collections-shell,
.panel-card-lite,
.contact-premium-wrap,
.embed-shell{
  min-width:0;
}

.empty-state-soft{
  min-height:0 !important;
  background:transparent !important;
  border:none !important;
  color:transparent !important;
  padding:0 !important;
}

.section-backdrop,
.page-hero-media,
.media-rotator-slide,
.media-rotator-slide img,
.media-rotator-slide video{
  width:100%;
  height:100%;
}

.section-backdrop,
.page-hero-media{
  overflow:hidden;
}

.media-rotator-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s ease;
}

.media-rotator-slide.active{
  opacity:1;
}

.media-rotator-slide img,
.media-rotator-slide video{
  object-fit:cover;
  display:block;
}

.home-cards-section .section-backdrop,
.cinematic-section .section-backdrop,
.page-hero .page-hero-media{
  background:#07111f;
}

.hero-film-stage-balanced{
  align-items:center;
  gap:40px;
  grid-template-columns:minmax(0,1fr) minmax(440px,800px);
}

.film-stage-copy-pro{
  position:relative;
  z-index:3;
  max-width:820px;
  min-width:0;
}

.film-stage-copy-left{
  text-align:left;
}

.film-stage-copy-right{
  text-align:right;
  justify-self:end;
}

.film-hero-copy-block,
.film-stage-copy-pro .section-copy,
.film-stage-copy-pro .section-copy p{
  max-width:100%;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.film-stage-media-pro{
  position:relative;
  z-index:3;
  min-width:0;
}

.hero-feature-card-premium{
  background:linear-gradient(180deg, rgba(13,16,22,.78), rgba(21,18,13,.86));
  border:1px solid rgba(255,255,255,.09);
  border-radius:0;
  box-shadow:0 22px 60px rgba(0,0,0,.32);
  overflow:hidden;
}

.hero-feature-media{
  position:relative;
}

.hero-film-inline-poster,
.compact-poster{
  position:relative;
  aspect-ratio:16/9;
  background:#05070a;
  overflow:hidden;
}

.hero-film-inline-poster iframe,
.hero-film-inline-poster video,
.compact-poster iframe,
.compact-poster video{
  width:100%;
  height:100%;
  display:block;
  border:0;
  object-fit:cover;
}

.hero-feature-body-tight{
  padding:16px 18px 18px;
}

.hero-feature-body-tight h3{
  margin:0 0 8px;
  font-size:1.05rem;
  color:#fff;
}

.hero-feature-body-tight p{
  margin:0 0 14px;
  font-size:.9rem;
  color:var(--text-soft);
}

.play-button-pro{
  width:84px;
  height:84px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.34);
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.16), rgba(25,20,18,.78));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(6px);
}

.play-button-pro .play-button-core{
  width:0;
  height:0;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
  border-left:22px solid #ffffff;
  margin-left:6px;
}

.play-button-small{
  width:66px;
  height:66px;
}

.play-button-small .play-button-core{
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:18px solid #fff;
  margin-left:5px;
}

.inline-player-stop{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(10,12,18,.78);
  color:#fff;
  cursor:pointer;
}

.premium-inline-actions,
.premium-actions-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:center;
}

.fixed-action-btn,
.fixed-love-btn{
  width:100%;
  min-width:0;
  justify-content:center;
}

.fixed-love-btn,
.love-btn{
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#e7d8d8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:0;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.love-btn.active,
.player-love.active,
.fixed-love-btn.active{
  background:rgba(167, 25, 25, .18);
  border-color:rgba(255,90,90,.4);
  color:#ff9c9c;
}

.love-pop{
  animation:lovePop .34s ease;
}

@keyframes lovePop{
  0%{transform:scale(1)}
  50%{transform:scale(1.08)}
  100%{transform:scale(1)}
}

.premium-card-compact,
.collection-card.premium-page-card{
  border-radius:0 !important;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.premium-card-compact .compact-media-block{
  min-width:0;
}

.compact-body{
  padding:12px 14px 14px !important;
}

.compact-body h3,
.compact-card-copy h3{
  margin:0 0 6px;
  font-size:1rem;
  line-height:1.25;
}

.compact-desc,
.compact-card-copy p{
  margin:0 0 10px;
  font-size:.82rem;
  line-height:1.45;
  color:#d6dbe7;
}

.premium-4-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start;
}

.product-card,
.collection-card{
  min-width:0;
}

.film-card-body,
.product-body{
  min-width:0;
}

.film-card-topline h3,
.product-body h3{
  overflow-wrap:anywhere;
}

.page-card-scroll-shell-tight{
  overflow:visible;
}

.card-actions.compact-actions,
.film-card-actions.compact-actions{
  flex-wrap:nowrap !important;
}

.card-actions.compact-actions .btn,
.film-card-actions.compact-actions .btn{
  white-space:nowrap;
}

#videoModal{
  padding:20px;
}

#videoModalFrame{
  display:flex;
  align-items:center;
  justify-content:center;
}

#videoModal.open-centered #videoModalFrame{
  min-height:calc(100vh - 80px);
}

.centered-player-stage{
  width:min(1120px, 96vw);
  display:grid;
  grid-template-rows:auto auto;
  gap:16px;
  position:relative;
  margin:auto;
}

.centered-player-main{
  position:relative;
  background:#000;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.38);
}

.centered-player-main iframe,
.centered-player-main video{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  border:0;
  background:#000;
}

.centered-player-bottom{
  display:flex;
  justify-content:center;
}

.center-player-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
  align-items:center;
}

.player-action-btn{
  min-width:0;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(19,22,31,.78);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:0.9rem;
  text-decoration:none;
  cursor:pointer;
}

.centered-player-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
  width:40px;
  height:40px;
  border-radius:999px;
  border:0;
  background:rgba(10,12,18,.72);
  color:#fff;
}

.footer-col-right-simple{
  align-items:flex-start;
  justify-content:center;
}

.footer-connect-btn{
  min-width:190px;
}

.contact-premium-wrap-dark{
  gap:30px;
}

.contact-reference-card-dark{
  background:linear-gradient(180deg, rgba(11,15,22,.88), rgba(16,22,34,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.26);
}

.contact-reference-card-dark,
.contact-reference-form-dark,
.review-mini-card-dark{
  color:#fff;
}

.contact-reference-form-dark input,
.contact-reference-form-dark textarea{
  background:rgba(255,255,255,.04);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
}

.contact-reference-form-dark input::placeholder,
.contact-reference-form-dark textarea::placeholder{
  color:rgba(255,255,255,.44);
}

.contact-submit-btn-orange{
  background:linear-gradient(180deg, #c37c31, #a95e18);
  color:#fff;
  border:0;
}

.review-strip-shell-dark{
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.review-strip-track-fast{
  animation-duration:18s !important;
}

.review-mini-card-dark{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  width:-moz-fit-content;
  width:fit-content;
  max-width:330px;
  backdrop-filter:blur(10px);
}

.review-mini-card-dark span{
  white-space:normal !important;
  overflow-wrap:anywhere;
  line-height:1.45;
}

.spotify-shell-landscape{
  width:100%;
  min-height:540px;
}

.spotify-shell-landscape iframe{
  width:100%;
  min-height:540px;
  height:540px;
  display:block;
  border:0;
}

.panel-card-lite-wide{
  width:100%;
}

.page-hero-content-left,
.page-body-left,
.section-intro-left{
  text-align:left;
}

.page-hero-content-right,
.page-body-right,
.section-intro-right{
  text-align:right;
}

.page-hero-content-right .page-intro,
.section-intro-right .section-copy{
  margin-left:auto;
}

#media-pageFilter,
#mediaTypeFilter,
#mediaSearchFilter{
  min-width:0;
}

.hero-content,
.page-hero-content,
.section-stack,
.film-stage,
.hero-film-stage,
.page-body,
.collections-shell,
.embed-shell{
  min-width:0;
}

@media (max-width: 1280px){
  .premium-4-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 1024px){
  .hero-film-stage-balanced{
    grid-template-columns:1fr;
    gap:24px;
  }

  .film-stage-copy-pro,
  .film-stage-copy-right,
  .film-stage-copy-left{
    text-align:left;
    justify-self:stretch;
  }

  .premium-4-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .spotify-shell-landscape,
  .spotify-shell-landscape iframe{
    min-height:460px;
    height:460px;
  }
}

@media (max-width: 700px){
  .premium-inline-actions,
  .premium-actions-row{
    grid-template-columns:1fr;
  }

  .premium-4-grid{
    grid-template-columns:1fr !important;
  }

  .nano-gallery-grid{
    column-count:2;
    column-gap:4px;
  }
  .nano-gallery-item{
    margin-bottom:4px;
  }

  .hero-feature-card-premium{
    max-width:100%;
  }

  .play-button-pro{
    width:62px;
    height:62px;
  }

  .play-button-pro .play-button-core{
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    border-left:16px solid #fff;
    margin-left:4px;
  }

  .centered-player-stage{
    width:min(96vw, 96vw);
  }

  .center-player-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .player-action-btn{
    width:100%;
    min-width:0;
  }

  .review-mini-card-dark{
    min-width:280px;
    max-width:280px;
  }

  .spotify-shell-landscape,
  .spotify-shell-landscape iframe{
    min-height:360px;
    height:360px;
  }
}

@media (max-width: 768px){
  .section-backdrop,
  .page-hero-media{
    min-height:100%;
  }

  .media-rotator-slide img,
  .media-rotator-slide video{
    object-fit:cover;
    object-position:center center;
  }

  .page-hero,
  .section,
  .cinematic-section{
    overflow:hidden;
  }
}
/* =========================
   2026-03-24 FINAL OVERRIDES
   Safe scoped fixes only
   ========================= */

:root{
  --accent:#b56b23;
  --accent-2:#f4b14d;
  --glass-dark:rgba(12,18,28,0.62);
  --glass-darker:rgba(8,12,20,0.78);
  --line-soft:rgba(255,255,255,0.08);
  --text-soft:#cfd7e6;
}

html,body{
  overflow-x:hidden;
}

img,video,iframe{
  max-width:100%;
}

.hero-content h1,
.page-hero-content h1,
.section-title-equal,
.page-title-equal{
  font-size:clamp(2.8rem,5.6vw,5.5rem);
}

.hero-content .section-copy,
.page-intro,
.section-copy,
.collection-card-copy p,
.product-body p{
  line-height:1.65;
}

.section-stack,
.page-body,
.collections-shell,
.panel-card-lite,
.contact-premium-wrap,
.embed-shell{
  min-width:0;
}

.empty-state-soft{
  min-height:0 !important;
  background:transparent !important;
  border:none !important;
  color:transparent !important;
  padding:0 !important;
}

.section-backdrop,
.page-hero-media,
.media-rotator-slide,
.media-rotator-slide img,
.media-rotator-slide video{
  width:100%;
  height:100%;
}

.section-backdrop,
.page-hero-media{
  overflow:hidden;
}

.media-rotator-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s ease;
}

.media-rotator-slide.active{
  opacity:1;
}

.media-rotator-slide img,
.media-rotator-slide video{
  object-fit:cover;
  display:block;
}

.home-cards-section .section-backdrop,
.cinematic-section .section-backdrop,
.page-hero .page-hero-media{
  background:#07111f;
}

.hero-film-stage-balanced{
  align-items:center;
  gap:40px;
  grid-template-columns:minmax(0,1fr) minmax(440px,800px);
}

.film-stage-copy-pro{
  position:relative;
  z-index:3;
  max-width:820px;
  min-width:0;
}

.film-stage-copy-left{
  text-align:left;
}

.film-stage-copy-right{
  text-align:right;
  justify-self:end;
}

.film-hero-copy-block,
.film-stage-copy-pro .section-copy,
.film-stage-copy-pro .section-copy p{
  max-width:100%;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.film-stage-media-pro{
  position:relative;
  z-index:3;
  min-width:0;
}

.hero-feature-card-premium{
  background:linear-gradient(180deg, rgba(13,16,22,.78), rgba(21,18,13,.86));
  border:1px solid rgba(255,255,255,.09);
  border-radius:0;
  box-shadow:0 22px 60px rgba(0,0,0,.32);
  overflow:hidden;
}

.hero-feature-media{
  position:relative;
}

.hero-film-inline-poster,
.compact-poster{
  position:relative;
  aspect-ratio:16/9;
  background:#05070a;
  overflow:hidden;
}

.hero-film-inline-poster iframe,
.hero-film-inline-poster video,
.compact-poster iframe,
.compact-poster video{
  width:100%;
  height:100%;
  display:block;
  border:0;
  object-fit:cover;
}

.hero-feature-body-tight{
  padding:16px 18px 18px;
}

.hero-feature-body-tight h3{
  margin:0 0 8px;
  font-size:1.05rem;
  color:#fff;
}

.hero-feature-body-tight p{
  margin:0 0 14px;
  font-size:.9rem;
  color:var(--text-soft);
}

.play-button-pro{
  width:84px;
  height:84px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.34);
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.16), rgba(25,20,18,.78));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(6px);
}

.play-button-pro .play-button-core{
  width:0;
  height:0;
  border-top:14px solid transparent;
  border-bottom:14px solid transparent;
  border-left:22px solid #ffffff;
  margin-left:6px;
}

.play-button-small{
  width:66px;
  height:66px;
}

.play-button-small .play-button-core{
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:18px solid #fff;
  margin-left:5px;
}

.inline-player-stop{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(10,12,18,.78);
  color:#fff;
  cursor:pointer;
}

.premium-inline-actions,
.premium-actions-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:center;
}

.fixed-action-btn,
.fixed-love-btn{
  width:100%;
  min-width:0;
  justify-content:center;
}

.fixed-love-btn,
.love-btn{
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:#e7d8d8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:0;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

.love-btn.active,
.player-love.active,
.fixed-love-btn.active{
  background:rgba(167, 25, 25, .18);
  border-color:rgba(255,90,90,.4);
  color:#ff9c9c;
}

.love-pop{
  animation:lovePop .34s ease;
}

@keyframes lovePop{
  0%{transform:scale(1)}
  50%{transform:scale(1.08)}
  100%{transform:scale(1)}
}

.premium-card-compact,
.collection-card.premium-page-card{
  border-radius:0 !important;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.premium-card-compact .compact-media-block{
  min-width:0;
}

.compact-body{
  padding:12px 14px 14px !important;
}

.compact-body h3,
.compact-card-copy h3{
  margin:0 0 6px;
  font-size:1rem;
  line-height:1.25;
}

.compact-desc,
.compact-card-copy p{
  margin:0 0 10px;
  font-size:.82rem;
  line-height:1.45;
  color:#d6dbe7;
}

.premium-4-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start;
}

.product-card,
.collection-card{
  min-width:0;
}

.film-card-body,
.product-body{
  min-width:0;
}

.film-card-topline h3,
.product-body h3{
  overflow-wrap:anywhere;
}

.page-card-scroll-shell-tight{
  overflow:visible;
}

.card-actions.compact-actions,
.film-card-actions.compact-actions{
  flex-wrap:nowrap !important;
}

.card-actions.compact-actions .btn,
.film-card-actions.compact-actions .btn{
  white-space:nowrap;
}

#videoModal{
  padding:20px;
}

#videoModalFrame{
  display:flex;
  align-items:center;
  justify-content:center;
}

#videoModal.open-centered #videoModalFrame{
  min-height:calc(100vh - 80px);
}

.centered-player-stage{
  width:min(1120px, 96vw);
  display:grid;
  grid-template-rows:auto auto;
  gap:16px;
  position:relative;
  margin:auto;
}

.centered-player-main{
  position:relative;
  background:#000;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.38);
}

.centered-player-main iframe,
.centered-player-main video{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  border:0;
  background:#000;
}

.centered-player-bottom{
  display:flex;
  justify-content:center;
}

.center-player-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

.player-action-btn{
  min-width:128px;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(19,22,31,.78);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  cursor:pointer;
}

.centered-player-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:5;
  width:40px;
  height:40px;
  border-radius:999px;
  border:0;
  background:rgba(10,12,18,.72);
  color:#fff;
}

.footer-col-right-simple{
  align-items:flex-start;
  justify-content:center;
}

.footer-connect-btn{
  min-width:190px;
}

.contact-premium-wrap-dark{
  gap:30px;
}

.contact-reference-card-dark{
  background:linear-gradient(180deg, rgba(11,15,22,.88), rgba(16,22,34,.92));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(0,0,0,.26);
}

.contact-reference-card-dark,
.contact-reference-form-dark,
.review-mini-card-dark{
  color:#fff;
}

.contact-reference-form-dark input,
.contact-reference-form-dark textarea{
  background:rgba(255,255,255,.04);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
}

.contact-reference-form-dark input::placeholder,
.contact-reference-form-dark textarea::placeholder{
  color:rgba(255,255,255,.44);
}

.contact-submit-btn-orange{
  background:linear-gradient(180deg, #c37c31, #a95e18);
  color:#fff;
  border:0;
}

.review-strip-shell-dark{
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.review-strip-track-fast{
  animation-duration:18s !important;
}

.review-mini-card-dark{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  width:-moz-fit-content;
  width:fit-content;
  max-width:330px;
  backdrop-filter:blur(10px);
}

.review-mini-card-dark span{
  white-space:normal !important;
  overflow-wrap:anywhere;
  line-height:1.45;
}

.spotify-shell-landscape{
  width:100%;
  min-height:540px;
}

.spotify-shell-landscape iframe{
  width:100%;
  min-height:540px;
  height:540px;
  display:block;
  border:0;
}

.panel-card-lite-wide{
  width:100%;
}

.page-hero-content-left,
.page-body-left,
.section-intro-left{
  text-align:left;
}

.page-hero-content-right,
.page-body-right,
.section-intro-right{
  text-align:right;
}

.page-hero-content-right .page-intro,
.section-intro-right .section-copy{
  margin-left:auto;
}

#media-pageFilter,
#mediaTypeFilter,
#mediaSearchFilter{
  min-width:0;
}

.hero-content,
.page-hero-content,
.section-stack,
.film-stage,
.hero-film-stage,
.page-body,
.collections-shell,
.embed-shell{
  min-width:0;
}

@media (max-width: 1280px){
  .premium-4-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 1024px){
  .hero-film-stage-balanced{
    grid-template-columns:1fr;
    gap:24px;
  }

  .film-stage-copy-pro,
  .film-stage-copy-right,
  .film-stage-copy-left{
    text-align:left;
    justify-self:stretch;
  }

  .premium-4-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .spotify-shell-landscape,
  .spotify-shell-landscape iframe{
    min-height:460px;
    height:460px;
  }
}

@media (max-width: 700px){
  .premium-inline-actions,
  .premium-actions-row{
    grid-template-columns:1fr;
  }

  .premium-4-grid{
    grid-template-columns:1fr !important;
  }

  .hero-feature-card-premium{
    max-width:100%;
  }

  .play-button-pro{
    width:62px;
    height:62px;
  }

  .play-button-pro .play-button-core{
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    border-left:16px solid #fff;
    margin-left:4px;
  }

  .centered-player-stage{
    width:min(96vw, 96vw);
  }

  .center-player-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .player-action-btn{
    width:100%;
    min-width:0;
  }

  .review-mini-card-dark{
    min-width:280px;
    max-width:280px;
  }

  .spotify-shell-landscape,
  .spotify-shell-landscape iframe{
    min-height:360px;
    height:360px;
  }
}

@media (max-width: 768px){
  .section-backdrop,
  .page-hero-media{
    min-height:100%;
  }

  .media-rotator-slide img,
  .media-rotator-slide video{
    object-fit:cover;
    object-position:center center;
  }

  .page-hero,
  .section,
  .cinematic-section{
    overflow:hidden;
  }
}

/* â”€â”€ Moonlight lightbox (caption block redesign) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.moonlight-shell{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  position:relative;
}

.moonlight-topbar{
  position:absolute;
  top:16px;
  left:16px;
  right:16px;
  z-index:110;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  pointer-events:none;
}

.moonlight-topbar .moonlight-actions{
  display:flex;
  gap:8px;
  align-items:center;
  pointer-events:all;
}

.moonlight-stage{
  flex:1;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  width:100%;
  height:100%;
}

.moonlight-image-shell{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.moonlight-image-shell img{
  max-width:none;
  max-height:none;
  width:auto;
  height:auto;
  transform-origin:center center;
  user-select:none;
  cursor:grab;
  display:block;
  /* Constrain so image fills most of the viewport by default */
  max-width:min(calc(100vw - 48px), 92vw);
  max-height:calc(100dvh - 180px);
  object-fit:contain;
  object-position:center center;
}

.moonlight-image-shell img.dragging{
  cursor:grabbing;
}

/* Fixed counter badge */
.moonlight-counter-wrap{
  position:absolute;
  bottom:80px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  pointer-events:none;
  z-index:20;
}

/* Fixed caption block â€” does not move with zoom/drag */
.moonlight-caption-block{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:30;
  padding:40px 28px 24px;
  background:linear-gradient(to top, rgba(4,8,14,.92) 0%, rgba(4,8,14,.60) 70%, transparent 100%);
  pointer-events:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  text-align:center;
}

.moonlight-caption-title{
  font-size:0.8rem;
  font-weight:700;
  color:#fff;
  letter-spacing:.02em;
  line-height:1.3;
}

.moonlight-caption-desc{
  font-size:0.65rem;
  color:#d8e0ef;
  line-height:1.6;
  max-width:68ch;
}

.moonlight-caption-place{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:0.6rem;
  color:#ffd089;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-top:2px;
}

.moonlight-caption-place::before{
  content:"ðŸ“";
  font-size:.85em;
}

/* â”€â”€ Parallax entry animations â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.section,
.page-shell{
  opacity:0;
  transition:opacity .55s ease;
}

.section.section-in-view,
.page-shell.section-in-view{
  opacity:1;
}

/* First section / always-visible hero */
.hero.section{
  opacity:1;
}

/* Gallery / card cascade-in */
.nano-gallery-item,
.product-card,
.collection-card{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .4s ease var(--entry-delay, 0s), transform .4s ease var(--entry-delay, 0s);
}

.nano-gallery-item.gallery-item-visible,
.product-card.gallery-item-visible,
.collection-card.gallery-item-visible{
  opacity:1;
  transform:translateY(0);
}

/* Parallax depth â€” backdrop moves at 2/3 speed via JS transform */
.parallax-backdrop,
.section-backdrop,
.page-hero-media{
  will-change:transform;
}

/* --- Alignment Additions --- */
.hero-content-center,
.page-hero-content-center,
.section-intro-center,
.film-stage-copy-center,
.page-body-center {
  text-align: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.film-stage-copy-center {
  align-items: center !important;
}

/* Badge Width overrides */
.section-badge, 
.gallery-hero-badge {
  width: max-content !important;
}

/* --- Parallax Scroll Reveal --- */
.reveal-cascade {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.reveal-cascade.is-revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* â”€â”€ Hero sections: zero gap between consecutive hero blocks â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section.uniform-hero-section,
.section.home-cards-section,
.cinematic-section.uniform-hero-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Ensure the first hero block is flush against the sticky header */
#appRoot > .section:first-child,
#appRoot > .page-shell:first-child {
  margin-top: 0;
}

/* Page hero and inner page also flush */
.page-hero {
  margin-top: 0 !important;
}

/* â”€â”€ Photography card: title-only, compact footer â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.photo-card-body {
  padding: 8px 12px 10px !important;
}

.photo-card-body .film-card-topline h3 {
  font-size: 0.82rem;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #e8eef9;
}

/* â”€â”€ Scroll-to-top floating home button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.scroll-to-top-btn {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 200;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(14, 20, 30, 0.82);
  backdrop-filter: blur(14px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(0.92);
  transition: opacity 0.28s ease, transform 0.28s ease;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.32);
}

.scroll-to-top-btn.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.scroll-to-top-btn:hover {
  background: rgba(255, 140, 58, 0.22);
  border-color: rgba(255, 140, 58, 0.45);
  transform: translateY(-2px) scale(1.04);
}

.scroll-home-icon {
  line-height: 1;
  font-size: 1.25rem;
}

/* â”€â”€ Ambient sound toggle button â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.sound-toggle-btn {
  position: fixed;
  bottom: 86px;
  right: 28px;
  z-index: 200;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(14, 20, 30, 0.82);
  backdrop-filter: blur(14px);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.32);
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.sound-toggle-btn:hover {
  transform: translateY(-2px) scale(1.04);
}

.sound-toggle-btn.sound-playing {
  border-color: rgba(255, 140, 58, 0.5);
  background: rgba(255, 140, 58, 0.16);
}

.sound-icon {
  line-height: 1;
  font-size: 1.2rem;
}

/* â”€â”€ Body: prevent background scroll when lightbox is zoomed â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
body.lightbox-zoomed,
body.lightbox-open {
  overflow: hidden;
  touch-action: none;
}

body.lightbox-zoomed .moonlight-stage {
  touch-action: none;
}

/* â”€â”€ Footer: "Stay in touch" column shifted right â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.footer-inner {
  grid-template-columns: 1.2fr 0.9fr 1.1fr;
}

.footer-col-right {
  padding-left: 24px;
}

.footer-col-right-simple {
  align-items: flex-start;
  padding-left: 24px;
}

/* â”€â”€ Admin: Ambient sound field â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#ambientSoundUrl {
  width: 100%;
}

/* â”€â”€ Hero sections: zero gap and tight padding between consecutive hero blocks â”€â”€ */
.section.uniform-hero-section,
.section.home-cards-section,
.cinematic-section.uniform-hero-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: #0e141e; /* Match main background to prevent light/dark strips */
}

/* Tighten inner content padding for consecutive heroes to remove the gap */
.uniform-hero-section .hero-content,
.uniform-hero-section .section-stack,
.uniform-hero-section .hero-film-stage {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

/* Special Case: The first hero block on the page should have more top padding to clear the header nicely */
#appRoot > .section:first-child .hero-content,
#appRoot > .section:first-child .section-stack,
#appRoot > .section:first-child .hero-film-stage {
  padding-top: 100px !important;
}

/* Page shell gaps: hero vs body */
.page-shell {
  background: #0e141e;
}

.page-hero.uniform-page-hero {
  padding-bottom: 32px !important; /* Reduced from 64px */
}

.page-body-gallery,
.page-body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ensure sections are flush */
#appRoot > .section:first-child,
#appRoot > .page-shell:first-child {
  margin-top: 0;
}

/* Page hero and inner page also flush */
.page-hero {
  margin-top: 0 !important;
}

/* Photography Cards: No description and compact meta */
.photo-card-body {
  padding: 10px 16px 14px !important;
  background: rgba(14, 20, 30, 0.6) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.photo-card-body h3 {
  margin: 0 !important;
  font-size: 0.97rem !important;
  color: #fff !important;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.photo-card-body .btn {
  flex-shrink: 0;
  font-size: 0.78rem;
  padding: 6px 13px;
}

/* ── Scroll to Top Button ─────────────────────────────────────── */
.scroll-to-top-btn {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 900;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 102, 0, 0.92);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(255,102,0,.45);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(0.88);
  transition: opacity .28s, transform .28s;
}
.scroll-to-top-btn.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.scroll-to-top-btn:hover { background: rgb(255,130,30); }
.scroll-to-top-btn .scroll-home-icon {
  font-size: 0;
  line-height: 1;
  display: block;
  width: 14px;
  height: 14px;
  border-top: 2.5px solid #fff;
  border-right: 2.5px solid #fff;
  transform: rotate(-45deg) translateY(3px);
}

/* ── Sound Toggle Button ──────────────────────────────────────── */
.sound-toggle-btn {
  position: fixed;
  bottom: 82px;
  right: 28px;
  z-index: 900;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(30, 40, 60, 0.88);
  border: 1.5px solid rgba(255,255,255,.18);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,.38);
  backdrop-filter: blur(8px);
  transition: background .22s, border-color .22s, transform .18s;
}
.sound-toggle-btn:hover { background: rgba(50,60,90,.95); transform: scale(1.07); }
.sound-toggle-btn.sound-playing { background: rgba(255,102,0,.18); border-color: rgba(255,102,0,.5); }
.sound-toggle-btn .sound-icon { font-size: 1.2rem; line-height: 1; }

/* ── Footer: push Stay-in-touch column further right ─────────── */
.footer-col-right {
  padding-left: 40px !important;
}

/* ── Parallax: subtle depth effect only on backdrop wrapper ──── */
.parallax-backdrop {
  will-change: transform;
  transform-origin: center center;
}

/* Hover depth on feature cards */
.hero-feature-card-premium,
.collection-card {
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s;
}
.hero-feature-card-premium:hover,
.collection-card:hover {
  transform: translateY(-6px) scale(1.013);
  box-shadow: 0 32px 64px rgba(0,0,0,.38);
}