/* ===================== TOKENS ===================== */
:root{
  --black:#0a0a0a;
  --ink:#101010;
  --panel:#141414;
  --gold:#c9a24b;
  --gold-bright:#e7c873;
  --white:#f6f3ee;
  --muted:#9a958c;
  --wa:#25d366;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',-apple-system,Segoe UI,Roboto,sans-serif;
  --max:1240px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--black);
  color:var(--white);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:.5px}
h2{font-size:clamp(2rem,5vw,3.6rem)}
section{position:relative}

.section__label{
  font-family:var(--sans);
  font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.1rem;font-weight:500;
}
.section__label--center{text-align:center}

/* ===================== BUTTONS ===================== */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  padding:1rem 2.2rem;border-radius:2px;cursor:pointer;
  transition:transform .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease;
}
.btn--gold{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#1a1407;box-shadow:0 8px 30px rgba(201,162,75,.25);
}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(201,162,75,.45)}
.btn--outline{border:1px solid rgba(246,243,238,.4);color:var(--white);background:transparent}
.btn--outline:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-3px)}
.btn--whatsapp{
  background:var(--wa);color:#04240f;font-size:.9rem;padding:1.15rem 2.6rem;
  box-shadow:0 10px 34px rgba(37,211,102,.3);
}
.btn--whatsapp:hover{transform:translateY(-3px);box-shadow:0 16px 46px rgba(37,211,102,.5)}

/* ===================== NAV ===================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem clamp(1.2rem,5vw,3.5rem);
  transition:background .4s ease,padding .4s ease,box-shadow .4s ease;
}
.nav.scrolled{
  background:rgba(10,10,10,.82);backdrop-filter:blur(14px);
  padding:1rem clamp(1.2rem,5vw,3.5rem);
  box-shadow:0 1px 0 rgba(201,162,75,.18);
}
.nav__brand{
  font-family:var(--serif);font-size:1.35rem;font-weight:600;
  letter-spacing:1px;color:var(--white);
}
.nav__brand:hover{color:var(--gold-bright)}
.nav__links{display:flex;align-items:center;gap:2.2rem}
.nav__links a{
  font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--white);opacity:.85;transition:opacity .3s,color .3s;
}
.nav__links a:hover{opacity:1;color:var(--gold-bright)}
.nav__cta{
  border:1px solid var(--gold);color:var(--gold-bright)!important;
  padding:.6rem 1.4rem;border-radius:2px;opacity:1!important;
}
.nav__cta:hover{background:var(--gold);color:#1a1407!important}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.nav__burger span{width:26px;height:2px;background:var(--white);transition:.3s}

.mobile-menu{
  position:fixed;inset:0;z-index:99;background:rgba(8,8,8,.97);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  opacity:0;pointer-events:none;transition:opacity .4s ease;
}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{
  font-family:var(--serif);font-size:2rem;color:var(--white);
}
.mobile-menu a:hover{color:var(--gold-bright)}

/* ===================== HERO ===================== */
.hero{height:100vh;min-height:640px;overflow:hidden;display:flex;align-items:center}
.hero__img{
  position:absolute;inset:0;background-size:cover;
  background-position:center 22%;
  transform:scale(1.08);animation:slowZoom 16s ease-out forwards;
}
@keyframes slowZoom{to{transform:scale(1)}}
.hero__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 60% 40%,transparent,rgba(10,10,10,.55) 70%),
    linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 35%,rgba(10,10,10,.85) 100%);
}
.hero__content{
  position:relative;z-index:2;
  padding:0 clamp(1.4rem,6vw,5rem);max-width:var(--max);
}
.hero__eyebrow{
  font-size:.74rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.4rem;
  opacity:0;animation:rise .9s .2s forwards;
}
.hero__name{
  font-size:clamp(3.4rem,11vw,8rem);font-weight:600;letter-spacing:1px;
  text-shadow:0 6px 40px rgba(0,0,0,.6);
  opacity:0;animation:rise .9s .35s forwards;
}
.hero__name span{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;
}
.hero__tag{
  font-family:var(--serif);font-size:clamp(1.1rem,2.4vw,1.6rem);font-style:italic;
  color:var(--white);opacity:0;margin:1.2rem 0 2.2rem;max-width:36ch;
  animation:rise .9s .5s forwards;
}
.hero__content .btn{opacity:0;animation:rise .9s .65s forwards}
.hero__scroll{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;
  font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
}
.hero__scroll span{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
.hero__eyebrow,.hero__name,.hero__tag,.hero__content .btn{transform:translateY(30px)}

/* ===================== MARQUEE ===================== */
.marquee{
  background:linear-gradient(90deg,var(--gold),var(--gold-bright),var(--gold));
  overflow:hidden;padding:.85rem 0;white-space:nowrap;
}
.marquee__track{display:inline-flex;animation:scrollX 28s linear infinite}
.marquee__track span{
  font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#1a1407;
  padding:0 1.2rem;letter-spacing:1px;
}
@keyframes scrollX{to{transform:translateX(-50%)}}

/* ===================== ABOUT ===================== */
.about{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;
  max-width:var(--max);margin:0 auto;padding:clamp(4.5rem,11vw,8rem) clamp(1.4rem,5vw,3rem);
}
.about__img{position:relative;aspect-ratio:4/5;overflow:hidden}
.about__img::after{
  content:"";position:absolute;inset:0;border:1px solid rgba(201,162,75,.4);
  transform:translate(16px,16px);pointer-events:none;
}
.about__text h2{margin-bottom:1.6rem}
.about__text p{color:var(--muted);margin-bottom:1.1rem;max-width:46ch}
.stats{display:flex;gap:2.6rem;margin-top:2.4rem;flex-wrap:wrap}
.stat strong{
  display:block;font-family:var(--serif);font-size:2.4rem;color:var(--gold-bright);line-height:1;
}
.stat span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* ===================== GALLERY ===================== */
.gallery{max-width:var(--max);margin:0 auto;padding:clamp(2rem,6vw,4rem) clamp(1.4rem,5vw,3rem) clamp(4.5rem,11vw,8rem)}
.gallery__head{text-align:center;margin-bottom:3rem}
.gallery__grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;
  grid-auto-rows:300px;
}
.g-item{position:relative;overflow:hidden;cursor:pointer}
.g-item--tall{grid-row:span 2}
.g-item img{transition:transform .8s cubic-bezier(.2,.8,.2,1);filter:grayscale(.1)}
.g-item:hover img{transform:scale(1.07);filter:grayscale(0)}
.g-item figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.4rem 1.2rem .9rem;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);
  background:linear-gradient(transparent,rgba(0,0,0,.8));
  transform:translateY(8px);opacity:0;transition:.4s;
}
.g-item:hover figcaption{transform:translateY(0);opacity:1}

/* ===================== SHOWS ===================== */
.shows{background:var(--ink);padding:clamp(4.5rem,11vw,8rem) clamp(1.4rem,5vw,3rem)}
.shows__head{max-width:var(--max);margin:0 auto 3.4rem}
.shows__grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;
}
.card{
  background:var(--panel);border:1px solid rgba(255,255,255,.06);
  padding:2.4rem 2rem;transition:.4s;position:relative;overflow:hidden;
}
.card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:.5s;
}
.card:hover{transform:translateY(-6px);border-color:rgba(201,162,75,.35);background:#181818}
.card:hover::before{transform:scaleX(1)}
.card__num{font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:.2em}
.card h3{font-size:1.5rem;margin:.8rem 0 .9rem}
.card p{color:var(--muted);font-size:.92rem}

/* ===================== WATCH (STAGE) ===================== */
.watch{
  position:relative;overflow:hidden;text-align:center;
  padding:clamp(4.5rem,11vw,8rem) clamp(1.4rem,5vw,3rem);
  background:
    radial-gradient(ellipse at 50% -10%,rgba(201,162,75,.10),transparent 55%),
    linear-gradient(rgba(7,7,7,.90),rgba(7,7,7,.95)),
    url('images/addison-night.jpeg') center/cover fixed;
}
.watch__inner{max-width:680px;margin:0 auto;position:relative;z-index:3}
.watch__title{margin-bottom:1rem}
.watch__title em{
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.watch__lead{color:var(--muted);margin-bottom:3rem}
.watch__btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:3rem;position:relative;z-index:3}

/* --- crossing spotlight beams --- */
.spotlight{
  position:absolute;top:-12%;width:34vw;height:150%;z-index:1;pointer-events:none;
  filter:blur(6px);opacity:.0;transform-origin:top center;
  background:linear-gradient(to bottom,rgba(231,200,115,.30),rgba(231,200,115,.04) 45%,transparent 72%);
  mix-blend-mode:screen;
}
.spotlight--l{left:6%;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);animation:sway-l 7s ease-in-out infinite}
.spotlight--r{right:6%;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);animation:sway-r 8s ease-in-out infinite}
.watch.lit .spotlight{opacity:1;transition:opacity 1.2s ease .3s}
@keyframes sway-l{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(8deg)}}
@keyframes sway-r{0%,100%{transform:rotate(14deg)}50%{transform:rotate(-8deg)}}

/* --- the stage --- */
.stage{
  position:relative;z-index:2;max-width:920px;margin:0 auto;
  padding:18px;border-radius:6px;
  background:linear-gradient(160deg,#16120a,#0c0a06);
  box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 0 0 1px rgba(201,162,75,.25);
}
/* marquee bulb frame */
.stage__bulbs{
  position:absolute;inset:6px;border-radius:4px;pointer-events:none;
  padding:7px;
  background:
    radial-gradient(circle,var(--gold-bright) 38%,rgba(201,162,75,.15) 60%,transparent 64%) 0 0/22px 22px round;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:chase 1.1s steps(1) infinite;opacity:.85;
}
@keyframes chase{0%{filter:brightness(1)}50%{filter:brightness(.45)}100%{filter:brightness(1)}}

/* screen */
.stage__screen{
  position:relative;z-index:1;aspect-ratio:16/9;border-radius:3px;overflow:hidden;
  background:#000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.8);
}
.stage__screen iframe{width:100%;height:100%;display:block}

/* curtains slide open on scroll */
.stage__curtain{
  position:absolute;top:18px;bottom:18px;width:52%;z-index:5;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,#3a0a0f 0,#5a0f17 14px,#7a141f 22px,#5a0f17 30px,#3a0a0f 44px);
  box-shadow:inset 0 0 60px rgba(0,0,0,.6);
  transition:transform 1.6s cubic-bezier(.7,0,.2,1);
}
.stage__curtain--l{left:18px;transform:translateX(0);border-right:2px solid rgba(0,0,0,.4)}
.stage__curtain--r{right:18px;transform:translateX(0);border-left:2px solid rgba(0,0,0,.4)}
.stage__curtain--l::after,.stage__curtain--r::after{
  content:"";position:absolute;top:0;bottom:0;width:30px;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.45));
}
.stage__curtain--l::after{right:0}
.stage__curtain--r::after{left:0;transform:scaleX(-1)}
.stage.open .stage__curtain--l{transform:translateX(-104%)}
.stage.open .stage__curtain--r{transform:translateX(104%)}

/* sparkles */
.sparkle{
  position:absolute;z-index:6;color:var(--gold-bright);font-size:1.1rem;
  opacity:0;text-shadow:0 0 10px rgba(231,200,115,.8);pointer-events:none;
}
.stage.open .sparkle{animation:twinkle 2.4s ease-in-out infinite}
.sparkle--1{top:8%;left:4%;animation-delay:.2s}
.sparkle--2{top:14%;right:6%;font-size:1.5rem;animation-delay:.9s}
.sparkle--3{bottom:10%;left:8%;font-size:.9rem;animation-delay:1.5s}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}

/* ===================== BOOK ===================== */
.book{
  position:relative;text-align:center;overflow:hidden;
  padding:clamp(5rem,12vw,9rem) clamp(1.4rem,5vw,3rem);
}
.book__veil{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 50% 0%,rgba(201,162,75,.12),transparent 60%),
    linear-gradient(rgba(10,10,10,.8),rgba(10,10,10,.92)),
    url('images/addison-1.jpeg') center 18%/cover;
}
.book__content{position:relative;z-index:1;max-width:640px;margin:0 auto}
.book h2{margin-bottom:1.2rem}
.book__lead{color:var(--white);opacity:.85;margin-bottom:2.4rem;font-size:1.05rem}
.book__note{margin-top:1.6rem;font-size:.82rem;color:var(--muted)}

/* ===================== FOOTER ===================== */
.footer{
  background:#070707;text-align:center;
  padding:clamp(3rem,7vw,4.5rem) 1.4rem 2.4rem;
  border-top:1px solid rgba(201,162,75,.15);
}
.footer__brand{font-family:var(--serif);font-size:1.7rem;color:var(--white);letter-spacing:1px}
.footer__tag{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:.6rem 0 .6rem}
.footer__area{font-size:.84rem;color:var(--muted);max-width:42ch;margin:0 auto 1.6rem}
.footer__social{display:flex;gap:1.8rem;justify-content:center;margin-bottom:1.8rem}
.footer__social a{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:color .3s}
.footer__social a:hover{color:var(--gold-bright)}
.footer__copy{font-size:.74rem;color:#5a564f}

/* ===================== FLOATING WHATSAPP ===================== */
.float-wa{
  position:fixed;right:1.4rem;bottom:1.4rem;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:var(--wa);color:#04240f;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(37,211,102,.45);
  transition:transform .3s;animation:pulse 2.6s infinite;
}
.float-wa:hover{transform:scale(1.1)}
@keyframes pulse{0%{box-shadow:0 8px 26px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 8px 26px rgba(37,211,102,.45),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 8px 26px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,0)}}

/* ===================== REVEAL ===================== */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ===================== RESPONSIVE ===================== */
@media(max-width:860px){
  .nav__links{display:none}
  .nav__burger{display:flex}
  .about{grid-template-columns:1fr}
  .about__img{max-width:440px;margin:0 auto}
  .gallery__grid{grid-auto-rows:240px}
}
@media(max-width:560px){
  .gallery__grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .g-item{aspect-ratio:4/5}
  .g-item--tall{grid-row:auto}
  .stats{gap:1.8rem}
  .hero__scroll{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important}
  .reveal{opacity:1;transform:none}
}
