/* ============================================================
   SURAJ NAIR ENTERTAINMENT — WordPress Theme CSS
   All page styles consolidated here (no inline <style> tags)
   ============================================================ */

/* ── VARIABLES ── */
:root {
  --gold:       #C9A84C;
  --gold-light: #F0D080;
  --gold-dark:  #7A5F1A;
  --black:      #080806;
  --near-black: #0F0E0A;
  --dark:       #1A1810;
  --warm-dark:  #1F1B0F;
  --white:      #F5F0E8;
  --muted:      #8A8070;
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: 'DM Sans', sans-serif; overflow-x: hidden; cursor: none; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* ── CUSTOM CURSOR ── */
.cursor         { width:12px; height:12px; background:var(--gold); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9999; transition:transform .15s ease; mix-blend-mode:difference; }
.cursor-follower{ width:36px; height:36px; border:1px solid rgba(201,168,76,.5); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transition:all .3s ease; }

/* ── NAVIGATION ── */
nav#mainNav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:16px 60px; display:flex; align-items:center; justify-content:space-between; transition:all .4s ease; }
nav#mainNav.scrolled,
nav#mainNav.solid { background:rgba(8,8,6,.95); backdrop-filter:blur(20px); border-bottom:1px solid rgba(201,168,76,.15); }

/* Logo */
.nav-logo      { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.nav-logo-img  { height:40px; width:auto; object-fit:contain; display:block; }
.nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:4px; color:var(--white); line-height:1; }
.nav-logo-text span { color:var(--gold); }

/* Desktop links */
.nav-links { display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0; }
.nav-links li { list-style:none; }
.nav-links a { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(245,240,232,.7); text-decoration:none; transition:color .3s; white-space:nowrap; }
.nav-links a:hover,
.nav-links a.active  { color:var(--gold); }
.nav-links a.nav-cta { border:1px solid var(--gold); color:var(--gold) !important; padding:9px 20px; transition:all .3s; }
.nav-links a.nav-cta:hover { background:var(--gold); color:var(--black) !important; }

/* Hamburger */
.hamburger      { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; flex-shrink:0; }
.hamburger span { width:24px; height:1px; background:var(--white); display:block; transition:all .3s; }

/* Mobile dropdown */
nav.mobile-menu        { display:none !important; position:fixed; top:72px; right:24px; background:rgba(8,8,6,.98); border:1px solid rgba(201,168,76,.2); padding:24px 32px; z-index:999; flex-direction:column; gap:20px; min-width:200px; }
nav.mobile-menu.open   { display:flex !important; }
nav.mobile-menu a      { font-size:13px; letter-spacing:2px; text-transform:uppercase; color:rgba(245,240,232,.8); text-decoration:none; transition:color .3s; }
nav.mobile-menu a:hover{ color:var(--gold); }

/* ── FOOTER ── */
footer { background:var(--black); border-top:1px solid rgba(201,168,76,.15); padding:48px 60px; }
.footer-main          { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; flex-wrap:wrap; gap:24px; }
.footer-brand         { display:flex; align-items:center; gap:12px; text-decoration:none; }
.footer-brand-img     { height:48px; width:auto; object-fit:contain; display:block; }
.footer-brand-text    { font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:4px; color:var(--white); line-height:1; }
.footer-brand-text span { color:var(--gold); }
.footer-tagline       { font-size:12px; color:var(--muted); margin-top:4px; letter-spacing:1px; }
.footer-links         { display:flex; gap:32px; flex-wrap:wrap; }
.footer-links a       { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; }
.footer-links a:hover { color:var(--gold); }
.footer-contact       { display:flex; flex-direction:column; gap:6px; text-align:right; }
.footer-contact a     { font-size:13px; color:var(--gold); text-decoration:none; transition:opacity .3s; }
.footer-contact a:hover { opacity:.75; }
.footer-bottom        { border-top:1px solid rgba(201,168,76,.08); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-copy          { font-size:11px; color:var(--muted); }
.footer-social        { display:flex; gap:16px; }
.footer-social a      { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); text-decoration:none; border:1px solid rgba(201,168,76,.15); padding:6px 14px; transition:all .3s; }
.footer-social a:hover{ border-color:var(--gold); color:var(--gold); }

/* ── TICKER ── */
.ticker-wrap  { background:var(--gold); padding:20px 0; overflow:hidden; white-space:nowrap; }
.ticker-inner { display:inline-flex; animation:ticker 30s linear infinite; }
.ticker-item  { font-family:'Bebas Neue',sans-serif; font-size:18px; letter-spacing:3px; color:var(--black); padding:0 40px; }
.ticker-dot   { color:rgba(0,0,0,.3); }

/* ── PAGE HERO ── */
.page-hero          { min-height:45vh; display:flex; align-items:flex-end; padding:120px 60px 80px; position:relative; overflow:hidden; background:var(--near-black); }
.page-hero::before  { content:attr(data-bg-text); font-family:'Bebas Neue',sans-serif; font-size:220px; color:rgba(201,168,76,.03); position:absolute; bottom:-20px; left:-10px; line-height:1; pointer-events:none; white-space:nowrap; }
.breadcrumb         { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:20px; }
.breadcrumb a       { color:var(--gold); text-decoration:none; }
.page-title         { font-family:'Bebas Neue',sans-serif; font-size:clamp(60px,10vw,120px); line-height:.9; letter-spacing:4px; }
.page-title span    { color:var(--gold); }
.page-subtitle      { font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic; color:rgba(245,240,232,.6); margin-top:20px; }

/* ── SHARED HELPERS ── */
section { padding:100px 60px; }
.section-label { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
.section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(48px,6vw,80px); line-height:1; letter-spacing:2px; }
.section-title span { color:var(--gold); }

/* ── BUTTONS ── */
.btn-primary       { background:var(--gold); color:var(--black); padding:16px 40px; font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:500; text-decoration:none; transition:all .3s; display:inline-block; border:none; cursor:pointer; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline       { border:1px solid rgba(201,168,76,.5); color:var(--white); padding:16px 40px; font-size:12px; letter-spacing:2px; text-transform:uppercase; text-decoration:none; transition:all .3s; display:inline-block; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.btn-dark          { background:var(--black); color:var(--gold); padding:18px 48px; font-size:13px; letter-spacing:2px; text-transform:uppercase; font-weight:500; text-decoration:none; transition:all .3s; display:inline-block; }
.btn-dark:hover    { background:var(--dark); }

/* ── ALERTS ── */
.alert         { padding:16px 24px; margin-bottom:24px; font-size:14px; border-left:3px solid; }
.alert-success { background:rgba(201,168,76,.08); border-color:var(--gold); color:var(--gold); }
.alert-error   { background:rgba(200,50,50,.08); border-color:#c83232; color:#e08080; }

/* ── REVEAL ── */
.reveal         { opacity:0; transform:translateY(40px); transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── ANIMATIONS ── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes scrollPulse { 0%,100%{opacity:.3;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(.7)} }
@keyframes ticker   { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── PLACEHOLDER ── */
.placeholder-note { text-align:center; margin-top:32px; font-size:13px; color:var(--muted); font-style:italic; }

/* ══════════════════════════════════════════
   HOME PAGE
══════════════════════════════════════════ */
.hero { min-height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-bg    { position:absolute; inset:0; background:radial-gradient(ellipse at 60% 50%,rgba(201,168,76,.12) 0%,transparent 60%),radial-gradient(ellipse at 10% 80%,rgba(201,168,76,.06) 0%,transparent 50%),linear-gradient(135deg,#080806 0%,#1A1810 50%,#0F0E0A 100%); }
.hero-noise { position:absolute; inset:0; opacity:.03; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='512' height='512' filter='url(%23n)'/%3E%3C/svg%3E"); }
.hero-lines { position:absolute; inset:0; background-image:repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(201,168,76,.04) 80px); }
.hero-content  { position:relative; z-index:2; padding:0 60px; max-width:900px; }
.hero-tag      { display:inline-block; font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,168,76,.3); padding:8px 20px; margin-bottom:40px; animation:fadeUp .8s ease forwards; opacity:0; }
.hero-name     { font-family:'Bebas Neue',sans-serif; font-size:clamp(80px,12vw,160px); line-height:.9; letter-spacing:4px; animation:fadeUp .8s .2s ease forwards; opacity:0; }
.hero-name .gold { color:var(--gold); }
.hero-tagline  { font-family:'Cormorant Garamond',serif; font-size:clamp(20px,2.5vw,32px); font-style:italic; font-weight:300; color:rgba(245,240,232,.8); margin:24px 0 16px; animation:fadeUp .8s .4s ease forwards; opacity:0; }
.hero-sub      { font-size:13px; letter-spacing:1px; color:var(--muted); margin-bottom:48px; animation:fadeUp .8s .5s ease forwards; opacity:0; }
.hero-btns     { display:flex; gap:20px; animation:fadeUp .8s .6s ease forwards; opacity:0; }
.hero-scroll   { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; animation:fadeUp 1s 1s ease forwards; opacity:0; }
.hero-scroll span { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.scroll-line   { width:1px; height:60px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scrollPulse 2s infinite; }
.hero-stat-bar { position:absolute; right:60px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:40px; animation:fadeIn 1s .8s ease forwards; opacity:0; }
.stat-item     { text-align:center; }
.stat-num      { font-family:'Bebas Neue',sans-serif; font-size:48px; color:var(--gold); line-height:1; }
.stat-label    { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }
.stat-divider  { width:1px; height:40px; background:rgba(201,168,76,.2); margin:0 auto; }
.page-nav      { position:fixed; right:30px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:12px; z-index:100; }
.page-dot      { width:6px; height:6px; border-radius:50%; background:rgba(201,168,76,.3); cursor:pointer; transition:all .3s; position:relative; border:none; }
.page-dot:hover,.page-dot.active { background:var(--gold); transform:scale(1.5); }
.page-dot::after { content:attr(data-label); position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--gold); opacity:0; white-space:nowrap; transition:opacity .3s; pointer-events:none; }
.page-dot:hover::after { opacity:1; }
.about-strip           { background:var(--warm-dark); border-top:1px solid rgba(201,168,76,.15); border-bottom:1px solid rgba(201,168,76,.15); padding:80px 60px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-text p          { font-family:'Cormorant Garamond',serif; font-size:clamp(18px,2vw,24px); line-height:1.7; color:rgba(245,240,232,.85); margin-bottom:24px; }
.about-text p strong   { color:var(--gold); }
.about-details         { display:flex; gap:40px; margin-top:32px; }
.detail-label          { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.detail-val            { font-size:15px; }
.about-img-frame       { width:100%; aspect-ratio:3/4; background:var(--dark); position:relative; overflow:hidden; }
.about-img-frame::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(201,168,76,.15) 0%,transparent 60%); z-index:1; }
.about-img-placeholder { width:100%; height:100%; background:linear-gradient(160deg,#2A2418 0%,#1A1810 100%); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:120px; color:rgba(201,168,76,.08); letter-spacing:10px; }
.about-gold-border     { position:absolute; top:-16px; right:-16px; width:60%; height:60%; border-top:2px solid var(--gold); border-right:2px solid var(--gold); }
.versatility           { background:var(--near-black); }
.versatility-grid      { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(201,168,76,.1); margin-top:60px; border:1px solid rgba(201,168,76,.1); }
.v-card                { background:var(--near-black); padding:48px 32px; position:relative; overflow:hidden; transition:all .4s; }
.v-card::before        { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .4s; }
.v-card:hover::before  { transform:scaleX(1); }
.v-card:hover          { background:rgba(201,168,76,.05); }
.v-num   { font-family:'Bebas Neue',sans-serif; font-size:64px; color:rgba(201,168,76,.12); position:absolute; top:16px; right:20px; line-height:1; }
.v-icon  { font-size:32px; margin-bottom:20px; }
.v-title { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; color:var(--gold); margin-bottom:12px; line-height:1.2; }
.v-desc  { font-size:13px; line-height:1.7; color:var(--muted); }
.why-book          { background:var(--dark); position:relative; overflow:hidden; }
.why-book::before  { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 50%,rgba(201,168,76,.06) 0%,transparent 60%); }
.why-grid          { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; margin-top:60px; position:relative; }
.why-items         { display:flex; flex-direction:column; }
.why-item          { padding:32px 0; border-bottom:1px solid rgba(201,168,76,.1); display:grid; grid-template-columns:48px 1fr; gap:24px; align-items:start; }
.why-item-icon     { font-size:24px; padding-top:4px; }
.why-item h3       { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; margin-bottom:8px; }
.why-item p        { font-size:13px; line-height:1.7; color:var(--muted); }
.why-cta-box       { background:rgba(201,168,76,.06); border:1px solid rgba(201,168,76,.2); padding:48px; position:sticky; top:120px; }
.why-cta-box h3    { font-family:'Bebas Neue',sans-serif; font-size:40px; letter-spacing:2px; margin-bottom:16px; }
.why-cta-box p     { font-size:14px; line-height:1.7; color:rgba(245,240,232,.7); margin-bottom:32px; }
.format-tags       { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:32px; }
.format-tag        { border:1px solid rgba(201,168,76,.3); padding:8px 16px; font-size:11px; letter-spacing:1px; color:var(--gold); }
.contact-teaser          { background:var(--near-black); text-align:center; padding:120px 60px; position:relative; overflow:hidden; }
.contact-teaser::before  { content:'BOOK'; font-family:'Bebas Neue',sans-serif; font-size:300px; color:rgba(201,168,76,.03); position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); letter-spacing:20px; pointer-events:none; }
.contact-teaser .big-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(60px,10vw,120px); margin-bottom:24px; }
.contact-teaser .big-title span { color:var(--gold); }
.contact-info      { display:flex; justify-content:center; gap:60px; margin-top:60px; flex-wrap:wrap; }
.c-detail-label    { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.c-detail-val      { font-size:16px; }
.c-detail-val a    { color:var(--gold); text-decoration:none; }

/* ══════════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════════ */
.about-intro        { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; padding:100px 60px; background:var(--warm-dark); border-bottom:1px solid rgba(201,168,76,.1); align-items:start; }
.about-body h2      { font-family:'Cormorant Garamond',serif; font-size:clamp(28px,3vw,40px); font-weight:600; color:var(--gold); margin-bottom:32px; line-height:1.3; }
.about-body p       { font-family:'Cormorant Garamond',serif; font-size:20px; line-height:1.8; color:rgba(245,240,232,.85); margin-bottom:20px; }
.about-body .small  { font-family:'DM Sans',sans-serif; font-size:14px; line-height:1.8; color:var(--muted); }
.profile-card       { background:var(--dark); border:1px solid rgba(201,168,76,.15); overflow:hidden; position:sticky; top:100px; }
.profile-img        { aspect-ratio:3/4; background:linear-gradient(160deg,#2A2418,#1A1810); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:80px; color:rgba(201,168,76,.15); letter-spacing:8px; position:relative; }
.profile-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(8,8,6,.8) 100%); }
.profile-info       { padding:32px; }
.profile-name       { font-family:'Bebas Neue',sans-serif; font-size:32px; letter-spacing:3px; margin-bottom:4px; }
.profile-title      { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:24px; }
.profile-stats      { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(201,168,76,.1); margin-bottom:24px; }
.p-stat             { background:var(--dark); padding:16px; }
.p-stat-num         { font-family:'Bebas Neue',sans-serif; font-size:32px; color:var(--gold); }
.p-stat-label       { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.profile-social     { display:flex; gap:12px; }
.social-btn         { flex:1; text-align:center; padding:10px; border:1px solid rgba(201,168,76,.2); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); text-decoration:none; transition:all .3s; }
.social-btn:hover   { background:var(--gold); color:var(--black); }
.inspired-section   { padding:80px 60px; background:var(--near-black); }
.legends-grid       { display:flex; flex-wrap:wrap; gap:12px; }
.legend-chip        { border:1px solid rgba(201,168,76,.25); padding:12px 24px; font-family:'Cormorant Garamond',serif; font-size:18px; color:rgba(245,240,232,.8); transition:all .3s; cursor:default; }
.legend-chip:hover  { border-color:var(--gold); color:var(--gold); }
.journey            { padding:80px 60px; background:var(--dark); }
.timeline           { position:relative; padding-left:40px; }
.timeline::before   { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,var(--gold),transparent); }
.t-item             { position:relative; padding:0 0 48px 40px; }
.t-item::before     { content:''; position:absolute; left:-4px; top:6px; width:8px; height:8px; background:var(--gold); border-radius:50%; }
.t-year             { font-family:'Bebas Neue',sans-serif; font-size:40px; color:rgba(201,168,76,.3); line-height:1; }
.t-event            { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; margin-bottom:8px; }
.t-desc             { font-size:13px; line-height:1.7; color:var(--muted); }

/* ══════════════════════════════════════════
   PERFORMANCES PAGE
══════════════════════════════════════════ */
.formats-section    { padding:100px 60px; background:var(--warm-dark); }
.formats-grid       { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(201,168,76,.1); }
.format-card        { background:var(--warm-dark); padding:60px 40px; position:relative; overflow:hidden; transition:background .4s; }
.format-card:hover  { background:rgba(201,168,76,.06); }
.format-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .5s ease; }
.format-card:hover::after { transform:scaleX(1); }
.format-duration    { font-family:'Bebas Neue',sans-serif; font-size:80px; color:var(--gold); line-height:1; opacity:.8; }
.format-label       { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:24px; }
.format-name        { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:600; margin-bottom:16px; }
.format-desc        { font-size:13px; line-height:1.8; color:var(--muted); margin-bottom:24px; }
.fi-label           { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.fi-item            { font-size:12px; color:rgba(245,240,232,.7); padding:4px 0; border-bottom:1px solid rgba(201,168,76,.08); }
.genres-section     { padding:100px 60px; background:var(--black); }
.genre-list         { margin-top:40px; border-top:1px solid rgba(201,168,76,.1); }
.genre-item         { border-bottom:1px solid rgba(201,168,76,.1); overflow:hidden; }
.genre-header       { display:flex; justify-content:space-between; align-items:center; padding:32px 0; cursor:pointer; }
.genre-left         { display:flex; align-items:center; gap:32px; }
.genre-num          { font-family:'Bebas Neue',sans-serif; font-size:40px; color:rgba(201,168,76,.2); transition:color .3s; width:60px; }
.genre-header:hover .genre-num { color:var(--gold); }
.genre-name         { font-family:'Bebas Neue',sans-serif; font-size:40px; letter-spacing:2px; line-height:1; }
.genre-tag          { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.genre-icon         { font-size:28px; }
.genre-toggle       { font-family:'Bebas Neue',sans-serif; font-size:32px; color:var(--gold); transition:transform .3s; display:inline-block; }
.genre-toggle.open  { transform:rotate(45deg); }
.genre-body         { max-height:0; overflow:hidden; transition:max-height .5s ease,padding .3s; padding:0 0 0 92px; }
.genre-body.open    { max-height:400px; padding:0 0 32px 92px; }
.genre-body p       { font-family:'Cormorant Garamond',serif; font-size:20px; line-height:1.7; color:rgba(245,240,232,.8); margin-bottom:16px; }
.artist-tags        { display:flex; flex-wrap:wrap; gap:8px; }
.artist-tag         { border:1px solid rgba(201,168,76,.2); padding:6px 16px; font-size:12px; color:var(--muted); }
.events-section     { padding:80px 60px; background:var(--dark); }
.events-grid        { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.event-card         { border:1px solid rgba(201,168,76,.1); padding:32px 24px; text-align:center; transition:all .3s; position:relative; overflow:hidden; }
.event-card::before { content:''; position:absolute; inset:0; background:rgba(201,168,76,.05); transform:scaleY(0); transform-origin:bottom; transition:transform .4s; }
.event-card:hover::before { transform:scaleY(1); }
.event-icon         { font-size:40px; margin-bottom:16px; position:relative; z-index:1; }
.event-name         { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; color:var(--gold); margin-bottom:8px; position:relative; z-index:1; }
.event-desc         { font-size:12px; color:var(--muted); line-height:1.6; position:relative; z-index:1; }
.perf-cta           { background:var(--gold); padding:80px 60px; text-align:center; }
.perf-cta h2        { font-family:'Bebas Neue',sans-serif; font-size:72px; color:var(--black); letter-spacing:4px; margin-bottom:16px; }
.perf-cta p         { font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic; color:rgba(8,8,6,.7); margin-bottom:32px; }

/* ══════════════════════════════════════════
   GALLERY PAGE
══════════════════════════════════════════ */
.filter-bar         { padding:40px 60px 0; display:flex; gap:12px; flex-wrap:wrap; }
.filter-btn         { border:1px solid rgba(201,168,76,.2); padding:10px 24px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); background:none; cursor:pointer; transition:all .3s; }
.filter-btn:hover,
.filter-btn.active  { border-color:var(--gold); color:var(--gold); }
.gallery-section    { padding:40px 60px 100px; }
.masonry            { columns:3; gap:16px; }
.masonry-item       { break-inside:avoid; margin-bottom:16px; position:relative; overflow:hidden; cursor:pointer; }
.img-placeholder    { width:100%; background:var(--dark); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; transition:transform .5s ease; }
.masonry-item:hover .img-placeholder { transform:scale(1.03); }
.img-placeholder::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(201,168,76,.1),rgba(201,168,76,.03)); }
.img-inner          { width:100%; background:linear-gradient(145deg,#2A2418 0%,#1A1410 100%); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:48px; color:rgba(201,168,76,.06); letter-spacing:4px; }
.overlay            { position:absolute; inset:0; background:linear-gradient(to top,rgba(8,8,6,.9) 0%,transparent 50%); opacity:0; transition:opacity .4s; display:flex; align-items:flex-end; padding:24px; }
.masonry-item:hover .overlay { opacity:1; }
.overlay-tag        { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); display:block; }
.overlay-caption    { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--white); display:block; }
.videos-section     { padding:80px 60px; background:var(--warm-dark); }
.videos-grid        { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.video-card         { position:relative; cursor:pointer; overflow:hidden; }
.video-thumb        { aspect-ratio:16/9; background:var(--dark); display:flex; align-items:center; justify-content:center; position:relative; transition:transform .4s; overflow:hidden; }
.video-card:hover .video-thumb { transform:scale(1.03); }
.video-thumb-inner  { width:100%; height:100%; background:linear-gradient(145deg,#2A2418,#1A1410); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:20px; color:rgba(201,168,76,.1); text-align:center; padding:16px; }
.play-btn           { position:absolute; width:56px; height:56px; border:2px solid var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:20px; transition:all .3s; z-index:2; text-decoration:none; }
.video-card:hover .play-btn { background:var(--gold); color:var(--black); }
.video-info         { padding:16px 0; }
.video-title        { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; margin-bottom:4px; }
.video-meta         { font-size:11px; letter-spacing:1px; color:var(--muted); }

/* ══════════════════════════════════════════
   REVIEWS PAGE
══════════════════════════════════════════ */
.hero-quote             { padding:80px 60px; text-align:center; background:var(--warm-dark); border-bottom:1px solid rgba(201,168,76,.1); }
.big-quote              { font-family:'Cormorant Garamond',serif; font-size:clamp(24px,4vw,44px); font-style:italic; font-weight:300; color:var(--white); max-width:900px; margin:0 auto 32px; line-height:1.4; position:relative; }
.big-quote::before      { content:'"'; font-size:200px; color:rgba(201,168,76,.06); position:absolute; top:-40px; left:-20px; font-style:normal; line-height:1; pointer-events:none; }
.quote-star             { color:var(--gold); font-size:20px; letter-spacing:4px; margin-bottom:16px; }
.quote-source           { font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.testimonials-section   { padding:100px 60px; }
.testimonials-grid      { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.t-card                 { background:var(--warm-dark); border:1px solid rgba(201,168,76,.1); padding:40px; position:relative; transition:border-color .3s,transform .3s; }
.t-card:hover           { border-color:rgba(201,168,76,.3); transform:translateY(-4px); }
.t-stars                { color:var(--gold); font-size:16px; letter-spacing:2px; margin-bottom:20px; }
.t-text                 { font-family:'Cormorant Garamond',serif; font-size:19px; line-height:1.7; color:rgba(245,240,232,.9); margin-bottom:28px; font-style:italic; }
.t-author               { display:flex; align-items:center; gap:16px; }
.t-avatar               { width:48px; height:48px; border-radius:50%; background:var(--dark); border:2px solid rgba(201,168,76,.2); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--gold); flex-shrink:0; overflow:hidden; }
.t-name                 { font-size:14px; font-weight:500; margin-bottom:2px; }
.t-role                 { font-size:11px; letter-spacing:1px; color:var(--muted); }
.t-event-tag            { position:absolute; top:20px; right:20px; font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,168,76,.2); padding:4px 10px; }
.featured-testimonial   { padding:80px 60px; background:var(--dark); }
.featured-inner         { max-width:800px; margin:0 auto; text-align:center; }
.featured-quote         { font-family:'Cormorant Garamond',serif; font-size:clamp(22px,3vw,36px); font-style:italic; line-height:1.5; margin-bottom:40px; }
.featured-divider       { width:60px; height:1px; background:var(--gold); margin:0 auto 24px; }
.featured-author-name   { font-family:'Bebas Neue',sans-serif; font-size:24px; letter-spacing:3px; color:var(--gold); }
.featured-author-role   { font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-top:4px; }
.stats-bar              { background:var(--gold); padding:60px; display:grid; grid-template-columns:repeat(4,1fr); }
.sb-stat                { text-align:center; }
.sb-num                 { font-family:'Bebas Neue',sans-serif; font-size:64px; color:var(--black); line-height:1; }
.sb-label               { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:rgba(8,8,6,.6); margin-top:4px; }
.review-cta             { background:var(--near-black); padding:80px 60px; text-align:center; }
.review-cta h2          { font-family:'Bebas Neue',sans-serif; font-size:64px; letter-spacing:3px; margin-bottom:16px; }
.review-cta h2 span     { color:var(--gold); }
.review-cta p           { font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic; color:rgba(245,240,232,.6); margin-bottom:40px; }

/* ══════════════════════════════════════════
   CONTACT / BOOKING PAGE
══════════════════════════════════════════ */
.contact-layout     { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding-top:80px; }
.contact-left       { background:var(--warm-dark); padding:80px 60px; position:sticky; top:80px; height:calc(100vh - 80px); overflow-y:auto; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid rgba(201,168,76,.1); }
.contact-title      { font-family:'Bebas Neue',sans-serif; font-size:clamp(56px,8vw,96px); line-height:.9; letter-spacing:3px; margin-bottom:32px; }
.contact-title span { color:var(--gold); }
.contact-desc       { font-family:'Cormorant Garamond',serif; font-size:20px; line-height:1.6; color:rgba(245,240,232,.75); margin-bottom:48px; }
.contact-methods    { display:flex; flex-direction:column; }
.contact-method     { display:flex; align-items:flex-start; gap:20px; padding:20px 0; border-bottom:1px solid rgba(201,168,76,.08); }
.cm-icon            { font-size:24px; padding-top:2px; flex-shrink:0; }
.cm-label           { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.cm-val             { font-size:15px; }
.cm-val a           { color:var(--gold); text-decoration:none; transition:opacity .3s; }
.cm-val a:hover     { opacity:.75; }
.social-strip       { display:flex; gap:16px; margin-top:40px; }
.social-link        { border:1px solid rgba(201,168,76,.2); padding:12px 20px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); text-decoration:none; transition:all .3s; }
.social-link:hover  { background:var(--gold); color:var(--black); }
.contact-right      { padding:80px 60px; background:var(--black); }
.form-title         { font-family:'Bebas Neue',sans-serif; font-size:40px; letter-spacing:2px; margin-bottom:8px; }
.form-sub           { font-size:13px; color:var(--muted); margin-bottom:48px; line-height:1.6; }
.form-group         { margin-bottom:28px; }
.form-row           { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; }
label               { display:block; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
label .req          { color:var(--gold); }
input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select {
  width:100%; background:var(--warm-dark); border:1px solid rgba(201,168,76,.15);
  color:var(--white); padding:16px 20px; font-family:'DM Sans',sans-serif; font-size:14px;
  outline:none; transition:border-color .3s; appearance:none; -webkit-appearance:none;
}
input:focus,textarea:focus,select:focus { border-color:var(--gold); }
input::placeholder,textarea::placeholder { color:var(--muted); }
textarea            { resize:vertical; min-height:120px; }
select option       { background:var(--dark); }
.event-types-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.event-type-btn     { border:1px solid rgba(201,168,76,.15); padding:14px 10px; text-align:center; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); cursor:pointer; transition:all .3s; background:var(--warm-dark); user-select:none; }
.event-type-btn:hover   { border-color:rgba(201,168,76,.4); color:var(--white); }
.event-type-btn.selected{ border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.06); }
.etb-icon           { font-size:20px; display:block; margin-bottom:6px; }
.format-options     { display:flex; gap:12px; flex-wrap:wrap; }
.format-radio       { border:1px solid rgba(201,168,76,.15); padding:12px 20px; font-size:12px; letter-spacing:1px; color:var(--muted); cursor:pointer; transition:all .3s; user-select:none; }
.format-radio:hover    { border-color:rgba(201,168,76,.4); color:var(--white); }
.format-radio.selected { border-color:var(--gold); color:var(--gold); }
.submit-btn         { width:100%; background:var(--gold); color:var(--black); border:none; padding:20px; font-family:'DM Sans',sans-serif; font-size:13px; letter-spacing:3px; text-transform:uppercase; font-weight:500; cursor:pointer; transition:all .3s; }
.submit-btn:hover   { background:var(--gold-light); }
.submit-btn:disabled{ opacity:.6; cursor:not-allowed; }
.submit-note        { font-size:11px; color:var(--muted); text-align:center; margin-top:16px; line-height:1.6; }
.submit-note a      { color:var(--gold); text-decoration:none; }
.success-box        { text-align:center; padding:60px 40px; background:rgba(201,168,76,.05); border:1px solid rgba(201,168,76,.2); }
.success-icon       { font-size:56px; margin-bottom:24px; }
.success-box h3     { font-family:'Bebas Neue',sans-serif; font-size:40px; letter-spacing:2px; color:var(--gold); margin-bottom:16px; }
.success-box p      { font-family:'Cormorant Garamond',serif; font-size:20px; color:rgba(245,240,232,.75); line-height:1.6; }
.success-box a      { color:var(--gold); }

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 1200px) {
  .testimonials-grid  { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1024px) {
  nav#mainNav         { padding: 16px 30px; }
  section             { padding: 80px 30px; }
  .page-hero          { padding: 100px 30px 60px; }
  footer              { padding: 40px 30px; }
  .about-strip        { padding: 60px 30px; gap: 40px; }
  .versatility-grid   { grid-template-columns: repeat(2,1fr); }
  .why-grid           { grid-template-columns: 1fr; }
  .hero-stat-bar      { right: 30px; }
  .about-intro        { grid-template-columns: 1fr; padding: 60px 30px; gap: 40px; }
  .inspired-section,
  .journey            { padding: 60px 30px; }
  .formats-grid       { grid-template-columns: 1fr; }
  .events-grid        { grid-template-columns: repeat(2,1fr); }
  .contact-layout     { grid-template-columns: 1fr; }
  .contact-left       { position: relative; height: auto; padding: 80px 40px 60px; }
  .contact-right      { padding: 60px 40px; }
  .stats-bar          { grid-template-columns: 1fr 1fr; gap: 40px; }
  .masonry            { columns: 2; }
  .videos-grid        { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .nav-links          { display: none; }
  .hamburger          { display: flex; }
  body                { cursor: auto; }
  .cursor,.cursor-follower { display: none; }
  section             { padding: 60px 24px; }
  .page-hero          { padding: 100px 24px 60px; }
  footer              { padding: 40px 24px; }
  .footer-main        { flex-direction: column; }
  .footer-contact     { text-align: left; }
  .footer-bottom      { flex-direction: column; }
  .hero-stat-bar      { display: none; }
  .about-strip        { grid-template-columns: 1fr; }
  .versatility-grid   { grid-template-columns: 1fr; }
  .hero-btns          { flex-direction: column; }
  .contact-info       { flex-direction: column; gap: 30px; }
  .page-nav           { display: none; }
  .hero-content       { padding: 0 24px; }
  .about-intro,
  .inspired-section,
  .journey            { padding: 60px 24px; }
  .genre-body.open    { padding: 0 0 24px 0; }
  .events-grid        { grid-template-columns: 1fr; }
  .perf-cta           { padding: 60px 24px; }
  .perf-cta h2        { font-size: 48px; }
  .filter-bar,
  .gallery-section,
  .videos-section     { padding-left: 24px; padding-right: 24px; }
  .masonry            { columns: 1; }
  .videos-grid        { grid-template-columns: 1fr; }
  .hero-quote,
  .testimonials-section,
  .featured-testimonial,
  .review-cta         { padding: 60px 24px; }
  .testimonials-grid  { grid-template-columns: 1fr; }
  .stats-bar          { padding: 40px 24px; grid-template-columns: 1fr 1fr; gap: 32px; }
  .review-cta h2      { font-size: 48px; }
  .contact-left,
  .contact-right      { padding: 60px 24px; }
  .form-row           { grid-template-columns: 1fr; }
  .event-types-grid   { grid-template-columns: repeat(2,1fr); }
}
