@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Montserrat:wght@200;300;400;500;600&display=swap');

/* ===== RESET & TOKENS ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root{
  --gold:#C9A84C;
  --gold-light:#E8C97A;
  --gold-dim:#8B6914;
  --obsidian:#0A0806;
  --charcoal:#111010;
  --surface:#161412;
  --surface-2:#1E1B18;
  --ivory:#F5F0E8;
  --ivory-dim:#A89F92;

  --container: 1400px;
  --section-pad-x: 6vw;
  --ease: cubic-bezier(.25,.46,.45,.94);
  --ease-cinematic: cubic-bezier(.76,0,.24,1);
}

html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body{
  background:var(--obsidian);
  color:var(--ivory);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  line-height:1.5;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; background:none; border:none; color:inherit; }
.serif{ font-family:'Cormorant Garamond',serif; }

::-webkit-scrollbar{ width:5px; }
::-webkit-scrollbar-track{ background:var(--obsidian); }
::-webkit-scrollbar-thumb{ background:var(--gold-dim); border-radius:3px; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold); }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ===== UTILITIES ===== */
.section-eyebrow{
  font-size:.6rem; letter-spacing:.4em; text-transform:uppercase; color:var(--gold);
  display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;
}
.section-eyebrow::before{ content:''; display:block; width:24px; height:1px; background:var(--gold); }

.section-title{
  font-family:'Cormorant Garamond',serif; font-weight:300; line-height:1.05;
  font-size:clamp(2.4rem, 5vw, 4.5rem);
}
.section-title em{ font-style:italic; color:var(--gold); }

.gold-divider{ display:flex; align-items:center; gap:1rem; padding:0 var(--section-pad-x); }
.gold-divider::before,.gold-divider::after{ content:''; flex:1; height:1px; background:linear-gradient(to right,transparent,var(--gold),transparent); }
.gold-diamond{ width:6px; height:6px; background:var(--gold); transform:rotate(45deg); flex-shrink:0; }

.btn-primary{
  display:inline-block; background:var(--gold); color:var(--obsidian);
  font-size:.6rem; letter-spacing:.25em; text-transform:uppercase; font-weight:500;
  padding:1rem 2.4rem; transition:background .3s;
}
.btn-primary:hover{ background:var(--gold-light); }

.btn-ghost{
  display:inline-block; border:1px solid rgba(201,168,76,.4); color:var(--ivory-dim);
  font-size:.6rem; letter-spacing:.25em; text-transform:uppercase;
  padding:1rem 2.4rem; transition:all .3s;
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }

.reveal{ opacity:0; transform:translateY(32px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-delay-1{ transition-delay:.1s; }
.reveal-delay-2{ transition-delay:.2s; }
.reveal-delay-3{ transition-delay:.3s; }
.reveal-delay-4{ transition-delay:.4s; }

/* ===== NAVBAR ===== */
nav.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.3rem 6vw;
  background:linear-gradient(to bottom, rgba(10,8,6,.85), transparent);
  transition:background .4s, backdrop-filter .4s, border-color .4s;
}
nav.site-nav.scrolled{
  background:rgba(10,8,6,.96); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(201,168,76,.1);
}
.nav-logo{
  font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:300;
  letter-spacing:.35em; color:var(--gold);
}
.nav-links{ display:flex; gap:2.2rem; list-style:none; }
.nav-links a{ font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ivory-dim); transition:color .3s; }
.nav-links a:hover{ color:var(--gold); }
.nav-cta{
  font-size:.55rem; letter-spacing:.18em; text-transform:uppercase;
  border:1px solid var(--gold); color:var(--gold); padding:.6rem 1.4rem; transition:all .3s;
}
.nav-cta:hover{ background:var(--gold); color:var(--obsidian); }

.nav-toggle{ display:none; flex-direction:column; gap:5px; padding:.5rem; }
.nav-toggle span{ width:24px; height:1px; background:var(--gold); transition:all .3s; }
.nav-toggle.open span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }

.mobile-menu{
  position:fixed; inset:0; z-index:99; background:var(--obsidian);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  clip-path:inset(0 0 100% 0); opacity:0; pointer-events:none;
  transition:clip-path .5s var(--ease-cinematic), opacity .5s;
}
.mobile-menu.open{ clip-path:inset(0 0 0% 0); opacity:1; pointer-events:all; }
.mobile-menu a{ font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:300; font-style:italic; color:var(--ivory); }
.mobile-menu a:hover{ color:var(--gold); }
.mobile-menu .nav-cta{ margin-top:1rem; padding:1rem 2.5rem; font-size:.6rem; }

/* ===== HERO ===== */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden;
  background:var(--obsidian);
}
.hero-bg{
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 80% at 65% 50%, #2A1A08 0%, #0A0806 70%);
}
.hero-glow{
  position:absolute; right:25%; top:50%; transform:translate(50%,-50%);
  width:500px; height:600px;
  background:radial-gradient(ellipse, rgba(201,168,76,.12) 0%, transparent 70%);
  pointer-events:none;
}
.hero-visual{ position:absolute; right:0; top:0; bottom:0; width:52%; overflow:hidden; }
.hero-visual img, .hero-visual video{
  width:100%; height:100%; object-fit:cover; object-position:top center; opacity:.85;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 35%);
  mask-image:linear-gradient(to right, transparent 0%, black 35%);
}
.hero-visual .fallback{
  width:100%; height:100%;
  background:linear-gradient(135deg,#2A1A08 0%,#150F06 50%,#0D0A06 100%);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.hero-visual .fallback span{
  font-family:'Cormorant Garamond',serif; font-size:18rem; color:rgba(201,168,76,.04);
  position:absolute; right:-2rem;
}

.hero-content{ position:relative; z-index:2; padding-left:6vw; max-width:58%; }
.hero-h1{
  font-family:'Cormorant Garamond',serif; font-weight:300; line-height:.95;
  font-size:clamp(2.8rem, 8vw, 7.5rem); margin-bottom:1rem; letter-spacing:-.01em;
}
.hero-h1 em{ font-style:italic; color:var(--gold); }
.hero-sub{
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ivory-dim);
  line-height:2; margin-bottom:2.5rem; max-width:380px;
}
.hero-buttons{ display:flex; flex-wrap:wrap; gap:1rem; }

.hero-stats{ position:absolute; bottom:2.5rem; left:6vw; display:flex; gap:2.5rem; z-index:2; }
.stat-num{ font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--gold); }
.stat-label{ font-size:.5rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ivory-dim); margin-top:.2rem; }

.scroll-hint{ position:absolute; bottom:2.5rem; right:6vw; display:flex; flex-direction:column; align-items:center; gap:.5rem; z-index:2; }
.scroll-hint span{ font-size:.48rem; letter-spacing:.3em; text-transform:uppercase; color:var(--ivory-dim); }
.scroll-line{ width:1px; height:36px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse{ 0%,100%{opacity:.4; transform:scaleY(1);} 50%{opacity:1; transform:scaleY(1.2);} }

/* ===== SECTIONS GENERAL ===== */
section{ padding:6rem var(--section-pad-x); }

/* ===== ABOUT ===== */
.about{ background:var(--charcoal); display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.about-text p{ font-size:.78rem; line-height:2.2; color:var(--ivory-dim); margin-bottom:1.3rem; }
.about-text p strong{ color:var(--ivory); font-weight:400; }
.about-quote{
  font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-style:italic; font-weight:300;
  color:var(--gold); line-height:1.4; border-left:1px solid var(--gold); padding-left:1.8rem; margin:2rem 0;
}
.about-visual{ position:relative; aspect-ratio:4/5; background:var(--surface-2); overflow:hidden; }
.about-visual img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.about-visual .fallback{
  width:100%; height:100%; background:linear-gradient(160deg,#2A1A08,#0D0A06);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:5rem; color:rgba(201,168,76,.1);
}
.about-tag-float{
  position:absolute; bottom:1.8rem; left:-1.5rem; background:var(--gold); color:var(--obsidian);
  padding:.9rem 1.4rem; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
}

/* ===== GALLERY ===== */
.gallery-header{ padding:0 var(--section-pad-x); margin-bottom:3rem; }
.gallery-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr));
  gap:2px; background:rgba(201,168,76,.08); padding:0 var(--section-pad-x);
}
.gallery-item{
  position:relative; overflow:hidden; cursor:pointer; background:var(--surface-2);
  aspect-ratio:4/5;
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover; object-position:top center;
  transition:transform .7s var(--ease);
}
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-overlay{
  position:absolute; inset:0; background:linear-gradient(to top, rgba(10,8,6,.85) 0%, transparent 55%);
  opacity:0; transition:opacity .4s;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-label{
  position:absolute; bottom:1.2rem; left:1.2rem; opacity:0; transform:translateY(8px);
  transition:all .4s; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
}
.gallery-item:hover .gallery-label{ opacity:1; transform:translateY(0); }
.gallery-empty{
  padding:4rem var(--section-pad-x); text-align:center; color:var(--ivory-dim);
  font-size:.75rem; letter-spacing:.1em; border:1px dashed rgba(201,168,76,.2);
  margin:0 var(--section-pad-x);
}

/* Lightbox */
.lightbox{
  position:fixed; inset:0; z-index:200; background:rgba(10,8,6,.97);
  display:none; align-items:center; justify-content:center; padding:4vh 4vw;
  cursor:zoom-out;
}
.lightbox.open{ display:flex; }
.lightbox img{ max-width:100%; max-height:90vh; object-fit:contain; }
.lightbox-close{
  position:absolute; top:2rem; right:2.5rem; font-size:1.6rem; color:var(--ivory-dim);
  transition:color .3s;
}
.lightbox-close:hover{ color:var(--gold); }
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); font-size:2rem; color:var(--ivory-dim);
  padding:1rem; transition:color .3s;
}
.lightbox-nav:hover{ color:var(--gold); }
.lightbox-prev{ left:1rem; } .lightbox-next{ right:1rem; }

/* ===== VIDEOS ===== */
.video-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:1rem; }
.video-card{ position:relative; aspect-ratio:9/16; overflow:hidden; background:var(--surface-2); cursor:pointer; }
.video-card video{ width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.video-card:hover video{ transform:scale(1.05); }
.video-card .overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(10,8,6,.9), transparent 50%); }
.video-play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  transition:opacity .3s;
}
.video-play .circle{
  width:48px; height:48px; border-radius:50%; border:1px solid rgba(201,168,76,.6);
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(2px);
  background:rgba(10,8,6,.3);
}
.video-play .triangle{ width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:10px solid var(--gold); margin-left:4px; }
.video-meta{ position:absolute; bottom:1rem; left:1rem; right:1rem; }
.video-meta .label{ font-size:.5rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.2rem; }
.video-empty{ padding:3rem; text-align:center; color:var(--ivory-dim); font-size:.75rem; border:1px dashed rgba(201,168,76,.2); }

/* ===== STATS ===== */
.stats-section{ background:var(--obsidian); border-top:1px solid rgba(201,168,76,.1); border-bottom:1px solid rgba(201,168,76,.1); padding:4rem var(--section-pad-x); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.stats-grid .stat-block:not(:last-child){ border-right:1px solid rgba(201,168,76,.1); }
.stat-block .num{ font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,5vw,3.2rem); font-weight:300; color:var(--gold); }
.stat-block .lbl{ font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ivory); margin-top:.6rem; }

/* ===== PLATFORMS ===== */
.platforms{ display:grid; grid-template-columns:repeat(3,1fr); padding:0; }
.platform-card{
  position:relative; padding:3.5rem 2.5rem; background:var(--surface-2);
  border-right:1px solid rgba(201,168,76,.08); overflow:hidden; transition:background .4s; display:block;
}
.platform-card:last-child{ border-right:none; }
.platform-card:hover{ background:#1A1610; }
.platform-card::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.platform-card:hover::after{ transform:scaleX(1); }
.platform-tag{ font-size:.5rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; display:flex; align-items:center; gap:.5rem; }
.platform-badge{ background:var(--gold); color:var(--obsidian); font-size:.42rem; padding:.2rem .5rem; letter-spacing:.1em; font-weight:500; }
.platform-name{ font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:300; line-height:1; margin-bottom:1.2rem; white-space:pre-line; }
.platform-desc{ font-size:.66rem; color:var(--ivory-dim); line-height:1.9; margin-bottom:1.8rem; }
.platform-link{ font-size:.5rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ivory-dim); display:flex; align-items:center; gap:.4rem; transition:color .3s; }
.platform-card:hover .platform-link{ color:var(--gold); }

/* ===== VIP ===== */
.vip{
  background:linear-gradient(160deg,#0F0B06 0%,#1A1208 50%,#0A0806 100%);
  position:relative; overflow:hidden; text-align:center;
}
.vip::before{
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:600px; height:600px; background:radial-gradient(ellipse, rgba(201,168,76,.06) 0%, transparent 70%);
}
.vip-eyebrow{ font-size:.52rem; letter-spacing:.5em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; }
.vip-title{ font-family:'Cormorant Garamond',serif; font-size:clamp(2.6rem,7vw,6rem); font-weight:300; line-height:1; margin-bottom:1.2rem; }
.vip-title em{ font-style:italic; color:var(--gold); }
.vip-sub{ font-size:.72rem; color:var(--ivory-dim); max-width:480px; margin:0 auto 3rem; line-height:2; }
.vip-features{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:600px; margin:0 auto 3.5rem; }
.vip-feature-icon{
  width:42px; height:42px; border:1px solid rgba(201,168,76,.25); display:flex; align-items:center; justify-content:center;
  margin:0 auto .8rem; font-size:1rem; color:var(--gold);
}
.vip-feature-label{ font-size:.55rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ivory-dim); }
.btn-vip{
  display:inline-block; background:transparent; border:1px solid var(--gold); color:var(--gold);
  font-size:.62rem; letter-spacing:.3em; text-transform:uppercase; padding:1.1rem 3rem;
  position:relative; overflow:hidden; transition:color .4s;
}
.btn-vip::before{ content:''; position:absolute; inset:0; background:var(--gold); transform:translateX(-100%); transition:transform .4s var(--ease); z-index:-1; }
.btn-vip:hover{ color:var(--obsidian); }
.btn-vip:hover::before{ transform:translateX(0); }
.vip-note{ margin-top:1.3rem; font-size:.52rem; letter-spacing:.15em; color:rgba(201,168,76,.4); }

/* ===== SOCIAL STRIP ===== */
.social-strip{ background:var(--charcoal); padding:2.5rem var(--section-pad-x); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.social-strip-text{ font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:300; font-style:italic; color:var(--ivory-dim); }
.social-links{ display:flex; gap:.8rem; flex-wrap:wrap; }
.social-btn{ font-size:.52rem; letter-spacing:.18em; text-transform:uppercase; border:1px solid rgba(201,168,76,.25); padding:.6rem 1.4rem; transition:all .3s; color:var(--ivory-dim); }
.social-btn:hover{ border-color:var(--gold); color:var(--gold); }
.social-btn.highlight{ border-color:rgba(201,168,76,.5); color:var(--gold); }

/* ===== FOOTER ===== */
footer{ background:var(--obsidian); border-top:1px solid rgba(201,168,76,.1); padding:3.5rem var(--section-pad-x) 2rem; }
.footer-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:2.5rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.footer-brand{ font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:300; letter-spacing:.1em; color:var(--gold); margin-bottom:.4rem; }
.footer-tagline{ font-size:.55rem; letter-spacing:.25em; text-transform:uppercase; color:var(--ivory-dim); }
.footer-nav{ display:flex; gap:2.5rem; flex-wrap:wrap; }
.footer-nav-col h4{ font-size:.5rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.footer-nav-col a{ display:block; font-size:.62rem; color:var(--ivory-dim); margin-bottom:.5rem; transition:color .3s; }
.footer-nav-col a:hover{ color:var(--ivory); }
.ornament{ text-align:center; padding:2rem 0; color:rgba(201,168,76,.2); letter-spacing:.5em; font-size:.65rem; }
.footer-bottom{ border-top:1px solid rgba(201,168,76,.08); padding-top:1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem; }
.footer-legal{ font-size:.5rem; letter-spacing:.1em; color:rgba(165,156,146,.5); }

/* ===== FLOATING CTA ===== */
.floating-cta{
  position:fixed; bottom:1.5rem; right:1.5rem; z-index:90;
  background:var(--gold); color:var(--obsidian); font-size:.5rem; letter-spacing:.18em; text-transform:uppercase;
  padding:.8rem 1.5rem; font-weight:500; box-shadow:0 0 30px rgba(201,168,76,.25);
  opacity:0; transform:translateY(20px); transition:all .4s, opacity .8s ease 2s, transform .8s ease 2s;
}
.floating-cta.show{ opacity:1; transform:translateY(0); }
.floating-cta:hover{ background:var(--gold-light); box-shadow:0 0 40px rgba(201,168,76,.4); transform:translateY(-2px); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .about{ grid-template-columns:1fr; gap:3rem; }
  .platforms{ grid-template-columns:1fr; }
  .platform-card{ border-right:none; border-bottom:1px solid rgba(201,168,76,.08); }
  .platform-card:last-child{ border-bottom:none; }
  .vip-features{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:880px){
  .nav-links, nav.site-nav .nav-cta{ display:none; }
  .nav-toggle{ display:flex; }

  .hero-content{ max-width:90%; padding-left:6vw; padding-right:6vw; }
  .hero-visual{ width:100%; opacity:.22; }
  .hero-stats{ left:6vw; gap:1.5rem; flex-wrap:wrap; }

  section{ padding:4rem 6vw; }
  .gallery-header,.gallery-grid{ padding-left:6vw; padding-right:6vw; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }

  .stats-grid{ grid-template-columns:repeat(2,1fr); gap:2rem 1rem; }
  .stats-grid .stat-block:nth-child(2n){ border-right:none; }
  .stats-grid .stat-block:nth-child(-n+2){ border-bottom:1px solid rgba(201,168,76,.1); padding-bottom:1.5rem; }

  .vip-features{ grid-template-columns:repeat(2,1fr); }
  .footer-top{ flex-direction:column; }
}

@media (max-width:520px){
  .hero-h1{ font-size:clamp(2.4rem,11vw,3.5rem); }
  .hero-content{ max-width:100%; }
  .hero-buttons{ flex-direction:column; }
  .hero-buttons a{ text-align:center; }
  .hero-stats{ bottom:1.5rem; }
  .stat-num{ font-size:1.4rem; }
  .gallery-grid{ grid-template-columns:1fr 1fr; gap:1px; }
  .video-grid{ grid-template-columns:repeat(2,1fr); }
  .vip-features{ grid-template-columns:1fr 1fr; }
  .social-strip{ flex-direction:column; align-items:flex-start; }
}