@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&family=Bebas+Neue&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

:root{
  --gold:#C9A84C;--gold-light:#E8C97A;--gold-dim:#7A6030;
  --black:#080808;--black-2:#111111;--black-3:#1A1A1A;
  --white:#F5F0E8;--white-dim:rgba(245,240,232,0.7);
  --glow:rgba(201,168,76,0.15);
  --sand:#F2EDE4;--sand-dark:#D4C9B8;--sand-deep:#8C7B68;
  --charcoal:#3D3530;--off-white:#FDFAF5;
}

html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--black);color:var(--white);font-family:'Montserrat',sans-serif;font-weight:400;overflow-x:hidden;cursor:none;-webkit-text-size-adjust:100%;font-size:16px;}
body.light-theme{background:var(--off-white);color:var(--charcoal);}

#cursor{width:10px;height:10px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;}
#cursor-ring{width:36px;height:36px;border:1px solid rgba(201,168,76,0.45);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
body.hovering #cursor{width:20px;height:20px;background:var(--gold-light);}
body.hovering #cursor-ring{width:56px;height:56px;border-color:var(--gold);}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 60px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,padding .4s;}
nav.scrolled{background:rgba(8,8,8,0.95);backdrop-filter:blur(14px);padding:14px 60px;}
body.light-theme nav.scrolled{background:rgba(253,250,245,0.96);border-bottom:1px solid rgba(26,21,16,0.08);}

.nav-back{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.15em;color:var(--gold);text-decoration:none;text-transform:uppercase;display:flex;align-items:center;gap:10px;transition:color .3s;}
.nav-back::before{content:'←';font-family:sans-serif;}
.nav-back:hover{color:var(--gold);}
.nav-logo{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.4em;text-transform:uppercase;color:inherit;text-decoration:none;}
body.light-theme .nav-logo{color:var(--charcoal);}
.nav-cta{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;letter-spacing:.15em;color:var(--gold);text-decoration:none;text-transform:uppercase;border:1px solid var(--gold-dim);padding:12px 28px;transition:all .3s;}
.nav-cta:hover{background:var(--gold);color:var(--black);}
body.light-theme .nav-cta{color:var(--charcoal);border-color:var(--charcoal);}
body.light-theme .nav-cta:hover{background:var(--charcoal);color:var(--off-white);}

@keyframes rise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes scroll-pulse{0%,100%{opacity:.3;}50%{opacity:.9;}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes beam-appear{from{opacity:0;}to{opacity:.12;}}
@keyframes beam-pulse{0%,100%{opacity:.07;}50%{opacity:.16;}}

.reveal{opacity:1;transform:translateY(0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.reveal.ready{opacity:0;transform:translateY(36px);}
.reveal.ready.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

.section-label{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;display:block;}
.section-title{font-family:'Cinzel',serif;font-size:clamp(32px,4.5vw,58px);font-weight:600;letter-spacing:.04em;line-height:1.1;}
.divider{width:72px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin:20px 0 0;}
.divider-dark{width:72px;height:1px;background:linear-gradient(to right,var(--charcoal),transparent);margin:20px 0 0;}

.cred-strip{background:var(--black-2);border-top:1px solid rgba(201,168,76,0.15);border-bottom:1px solid rgba(201,168,76,0.15);padding:22px 0;overflow:hidden;}
.cred-track{display:flex;width:max-content;animation:marquee 80s linear infinite;}
.cred-track:hover{animation-play-state:paused;}
.cred-item{display:inline-flex;align-items:center;gap:20px;padding:0 36px;white-space:nowrap;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;flex-shrink:0;}
.cred-item .dot{width:4px;height:4px;background:var(--gold);border-radius:50%;}

.btn-p{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;background:var(--gold);color:var(--black);padding:20px 52px;transition:background .3s,transform .3s;display:inline-block;}
.btn-p:hover{background:var(--gold-light);transform:translateY(-2px);}
.btn-s{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--gold);border:1px solid var(--gold-dim);padding:20px 52px;transition:all .3s;display:inline-block;}
.btn-s:hover{border-color:var(--gold);background:rgba(201,168,76,0.05);}
.actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

footer{padding:40px 60px;background:#0d0d0d;border-top:1px solid rgba(201,168,76,0.2);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.f-logo{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.4em;color:var(--white);text-transform:uppercase;}
.f-copy{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--white);}
.f-links{display:flex;gap:28px;list-style:none;}
.f-links a{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--white);text-decoration:none;text-transform:uppercase;transition:color .2s;}
.f-links a:hover{color:var(--gold);}
.f-credit{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.15em;color:var(--white);text-transform:uppercase;}
.f-credit a{color:var(--gold);text-decoration:none;}
.f-credit a:hover{color:var(--gold-light);}

body.light-theme footer{background:var(--charcoal);border-top:1px solid rgba(253,250,245,0.25);}

.section{padding:120px 60px;}
.gallery-section{padding:120px 60px;}
.reel-section{padding:120px 60px;background:var(--black-2);}
.reel-header{text-align:center;margin-bottom:48px;}
.reel-wrap{max-width:1100px;margin:0 auto;}
.vimeo-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border:1px solid rgba(201,168,76,0.2);box-shadow:0 0 80px rgba(201,168,76,0.1);}
.vimeo-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;}
.vimeo-container::after{content:'';position:absolute;bottom:0;right:0;width:90px;height:36px;z-index:2;}
.reel-label{margin-top:20px;text-align:center;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;}
.reel-placeholder{max-width:900px;margin:0 auto;border:1px solid rgba(201,168,76,0.2);aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--black);position:relative;overflow:hidden;}
.reel-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,168,76,0.04),transparent 70%);}
.play-btn{width:80px;height:80px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:none;transition:all .3s;position:relative;z-index:2;}
.play-btn:hover{background:var(--gold);}
.play-btn::after{content:'';width:0;height:0;border-style:solid;border-width:13px 0 13px 24px;border-color:transparent transparent transparent var(--gold);margin-left:5px;transition:border-color .3s;}
.play-btn:hover::after{border-color:transparent transparent transparent var(--black);}
.reel-placeholder-text{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.35em;color:var(--gold-dim);text-transform:uppercase;position:relative;z-index:2;}
.reel-placeholder-sub{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:rgba(245,240,232,.3);position:relative;z-index:2;}

/* Fighter page components */
.fighter-stats-wrap{max-width:640px;margin:0 auto;border:1px solid var(--gold-dim);padding:48px;}
.fighter-stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(201,168,76,0.08);}
.fighter-stat-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.fighter-stat-value{font-family:'Montserrat',sans-serif;font-size:14px;color:var(--white-dim);}
.fighter-stat-divider{border:none;border-top:1px solid var(--gold-dim);margin:32px 0;}
.fighter-bar-row{display:flex;align-items:center;gap:16px;margin-bottom:12px;}
.fighter-bar-label{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--gold);width:120px;flex-shrink:0;}
.fighter-bar{flex:1;height:4px;background:rgba(201,168,76,0.12);}
.fighter-bar-fill{height:100%;background:var(--gold);}
.fighter-bar-num{font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--gold);width:32px;text-align:right;}
.fighter-philosophy{font-family:'Montserrat',sans-serif;font-size:18px;color:var(--white-dim);line-height:1.8;margin-bottom:8px;}
.fighter-philosophy strong{color:var(--gold);}
.arsenal-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;max-width:640px;margin:0 auto;}
.arsenal-item{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid rgba(201,168,76,0.08);font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white);}
.arsenal-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.gave-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.gave-card{background:var(--black-3);padding:60px 40px;text-align:center;}
.gave-word{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,64px);color:var(--gold);letter-spacing:.05em;margin-bottom:16px;}
.gave-desc{font-family:'Montserrat',sans-serif;font-size:14px;color:var(--white-dim);letter-spacing:.05em;}
@media(max-width:768px){.arsenal-list{grid-template-columns:1fr;}.gave-grid{grid-template-columns:1fr;}.fighter-stats-wrap{padding:32px 24px;}.fighter-bar-label{width:90px;}}
.contact{padding:140px 60px;text-align:center;position:relative;overflow:hidden;}
.contact-ghost{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Bebas Neue',sans-serif;font-size:clamp(80px,15vw,220px);color:rgba(201,168,76,0.03);white-space:nowrap;pointer-events:none;}
.contact .section-label{display:block;margin-bottom:20px;}
.contact .section-title{margin-bottom:20px;}
.contact-sub{font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;color:var(--white);margin:0 auto 52px;max-width:560px;line-height:1.7;}

.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-badge{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;display:inline-flex;align-items:center;gap:16px;margin-bottom:28px;opacity:0;animation:rise 1s .4s forwards;}
.hero-badge::before,.hero-badge::after{content:'';width:32px;height:1px;background:var(--gold);opacity:.6;}
.hero-scroll{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:rise 1s 1.1s forwards;width:max-content;}
.hero-scroll span{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.35em;color:var(--gold-dim);text-transform:uppercase;}
.scroll-line{width:1px;height:56px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scroll-pulse 2s 2.2s ease-in-out infinite;}

.hero-title{font-family:'Cinzel',serif;font-size:clamp(48px,8vw,110px);font-weight:700;line-height:.9;text-transform:uppercase;opacity:0;animation:rise 1.1s .1s forwards;}
.hero-title em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:.48em;display:block;letter-spacing:.3em;color:var(--gold);margin-top:10px;}
.hero-sub{margin-top:24px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2vw,24px);font-style:italic;color:var(--white);opacity:0;animation:rise 1s .55s forwards;}
.hero-stats{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:0;opacity:0;animation:rise 1s .75s forwards;}
.stat{text-align:center;padding:0 32px;border-right:1px solid rgba(201,168,76,0.2);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:52px;color:var(--gold);line-height:1;}
.stat-label{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--white);text-transform:uppercase;margin-top:4px;}

.credits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:80px;}
.credit-card{background:var(--black-2);padding:40px 32px;border:1px solid rgba(201,168,76,0.08);transition:border-color .3s;}
.credit-card:hover{border-color:rgba(201,168,76,0.3);}
.credit-tag{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:12px;display:block;}
.credit-title{font-family:'Cinzel',serif;font-size:clamp(20px,2vw,28px);font-weight:600;margin-bottom:12px;}
.credit-body{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:var(--white-dim);line-height:1.7;}

.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;margin-top:60px;}
.gcell{overflow:hidden;position:relative;background:var(--black-2);cursor:none;}
.gcell img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s;}
.gcell:hover img{transform:scale(1.05);}
.gcell-label{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,rgba(8,8,8,.9));opacity:0;transition:opacity .3s;z-index:2;}
.gcell:hover .gcell-label{opacity:1;}
.gcell-label span{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;}
.g-tall{grid-column:span 4;grid-row:span 2;min-height:500px;}
.g-wide{grid-column:span 8;min-height:240px;}
.g-med{grid-column:span 4;min-height:240px;}
.g-sm{grid-column:span 3;min-height:220px;}

.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;}
.skill-item{background:var(--black-2);padding:40px 28px;border:1px solid rgba(201,168,76,0.08);text-align:center;transition:all .3s;}
.skill-item:hover{border-color:var(--gold);background:rgba(201,168,76,0.03);}
.skill-icon{font-family:'Bebas Neue',sans-serif;font-size:64px;color:rgba(201,168,76,0.65);line-height:1;margin-bottom:16px;transition:color .3s;}
.skill-item:hover .skill-icon{color:rgba(201,168,76,0.25);}
.skill-name{font-family:'Cinzel',serif;font-size:17px;letter-spacing:.25em;color:var(--white);text-transform:uppercase;margin-bottom:8px;}
.skill-desc{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--white-dim);}

.quote-section{padding:120px 60px;background:var(--black-3);text-align:center;}
.big-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3.5vw,46px);font-style:italic;font-weight:300;line-height:1.4;max-width:900px;margin:0 auto 32px;color:var(--white);}
.quote-source,.psource{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;}
.pquote{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.5vw,32px);font-style:italic;font-weight:300;line-height:1.55;color:var(--white);margin-bottom:20px;}
.proof-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:56px;}
.plogo{background:var(--black-2);border:1px solid rgba(201,168,76,0.15);padding:28px 16px;text-align:center;font-family:'Cinzel',serif;font-size:16px;letter-spacing:.25em;color:var(--white);font-weight:600;text-transform:uppercase;transition:all .3s;cursor:default;}
.plogo:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,0.05);}
.plogo span{display:block;margin-top:6px;font-size:16px;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);letter-spacing:.15em;}
.cin-line{display:flex;align-items:center;gap:20px;margin-bottom:28px;}
.cin-line::before{content:'';flex:1;height:1px;background:linear-gradient(to left,rgba(201,168,76,0.2),transparent);}
.cin-line::after{content:'';flex:1;height:1px;background:linear-gradient(to right,rgba(201,168,76,0.2),transparent);}
.cin-line-txt{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;}

/* Actor split hero */
.hero.split{display:grid;grid-template-columns:1fr 1fr;height:100vh;}
.hero-left{position:relative;overflow:hidden;}
.hero-left img{width:100%;height:100%;object-fit:cover;object-position:center 15%;opacity:.65;filter:saturate(0.5);}
.hero-left::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent,var(--black)),rgba(10,10,10,.3);}
.hero-right{position:relative;display:flex;align-items:center;padding:120px 80px 80px 60px;background:linear-gradient(to left,var(--black) 60%,transparent);}
.hero-actor-badge{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:28px;opacity:0;animation:rise 1s .4s forwards;}
.hero-actor-badge::before{content:'';width:32px;height:1px;background:var(--gold);opacity:.6;}
.hero-actor-title{font-family:'Cinzel',serif;font-size:clamp(42px,5.5vw,80px);font-weight:700;line-height:.9;text-transform:uppercase;opacity:0;animation:rise 1.1s .1s forwards;}
.hero-actor-title em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:.52em;display:block;letter-spacing:.3em;color:var(--gold);margin-top:12px;}
.hero-body{margin-top:24px;font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;line-height:1.7;color:var(--white-dim);max-width:420px;opacity:0;animation:rise 1s .55s forwards;}
.hero-cred-list{margin-top:32px;display:flex;flex-direction:column;gap:12px;opacity:0;animation:rise 1s .75s forwards;}
.hero-cred-item{display:flex;align-items:center;gap:14px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.15em;color:var(--white);text-transform:uppercase;}
.hero-cred-item::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.5;}
.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:64px;}
.role-card{position:relative;overflow:hidden;min-height:480px;cursor:none;}
.role-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s;opacity:.75;}
.role-card:hover img{transform:scale(1.05);opacity:.7;}
.role-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.97) 0%,rgba(10,10,10,.2) 55%,transparent 100%);}
.role-body{position:absolute;bottom:0;left:0;right:0;padding:44px 40px;z-index:2;}
.role-tag{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;display:block;}
.role-title{font-family:'Cinzel',serif;font-size:clamp(22px,2.8vw,38px);font-weight:700;margin-bottom:10px;line-height:1.1;}
.role-body-text{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:var(--white-dim);line-height:1.65;}
.portrait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:60px;}
.portrait-cell{overflow:hidden;position:relative;aspect-ratio:3/4;cursor:none;}
.portrait-cell.tall{grid-row:span 2;aspect-ratio:auto;}
.portrait-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.portrait-cell:hover img{transform:scale(1.04);}
.portrait-hover{position:absolute;inset:0;background:rgba(10,10,10,.6);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:17px;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;}
.portrait-cell:hover .portrait-hover{opacity:1;}

/* Hub page */
.hub-hero{position:relative;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.hub-bg{position:absolute;inset:0;}
.hub-bg img{width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:.55;filter:saturate(0.8);}
.hub-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.2) 0%,rgba(8,8,8,.55) 60%,var(--black) 100%),linear-gradient(to right,rgba(8,8,8,.5),transparent 70%);}
.hub-content{position:relative;z-index:2;text-align:center;padding:0 24px;margin-top:25vh;}
.hub-eyebrow{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.45em;color:var(--gold);text-transform:uppercase;display:inline-flex;align-items:center;gap:16px;margin-bottom:24px;opacity:0;animation:rise 1s .2s forwards;}
.hub-eyebrow::before,.hub-eyebrow::after{content:'';width:36px;height:1px;background:var(--gold);opacity:.5;}
.hub-name{font-family:'Cinzel',serif;font-size:clamp(48px,8vw,110px);font-weight:700;line-height:.9;text-transform:uppercase;opacity:0;animation:rise 1.1s .05s forwards;}
.hub-name em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:.48em;display:block;letter-spacing:.35em;color:var(--gold);margin-top:10px;text-transform:none;}
.hub-tagline{margin-top:20px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2vw,24px);font-style:italic;font-weight:300;letter-spacing:.15em;color:var(--gold);opacity:0;animation:rise 1s .5s forwards;}
.hub-scroll-hint{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:rise 1s 1s forwards;width:max-content;}
.hub-scroll-hint span{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;}
.hub-cards{padding:100px 60px 120px;background:var(--black);}
.hub-cards-label{text-align:center;margin-bottom:64px;}
.hub-cards-label h2{font-family:'Cinzel',serif;font-size:clamp(28px,4vw,52px);font-weight:600;letter-spacing:.05em;color:var(--white);}
.hub-cards-label p{margin-top:16px;font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;color:var(--white-dim);max-width:480px;margin-left:auto;margin-right:auto;}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1400px;margin:0 auto;}
.hub-card{position:relative;overflow:hidden;aspect-ratio:3/4;display:block;text-decoration:none;cursor:none;background:var(--black-2);color:var(--white);border:1px solid rgba(201,168,76,0.2);transition:border-color .4s;}
.hub-card:hover{border-color:var(--gold);}
.hub-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s,filter .6s;opacity:.88;filter:grayscale(1) contrast(1.1);}
.hub-card::before{content:'';position:absolute;inset:0;background:rgba(201,168,76,0.3);mix-blend-mode:color;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s;}
.hub-card:hover img{transform:scale(1.06);opacity:.85;filter:grayscale(0) contrast(1.05);}
.hub-card:hover::before{opacity:1;}
.hub-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.98) 0%,rgba(8,8,8,.85) 35%,rgba(8,8,8,.3) 60%,transparent 100%);}
.hub-card-num{font-family:'Bebas Neue',sans-serif;font-size:80px;line-height:1;color:rgba(201,168,76,0.08);position:absolute;top:24px;right:28px;transition:color .4s;}
.hub-card:hover .hub-card-num{color:rgba(201,168,76,0.18);}
.hub-card-body{position:absolute;bottom:0;left:0;right:0;padding:40px 32px;z-index:2;}
.hub-card-tag{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:10px;display:block;}
.hub-card-title{font-family:'Cinzel',serif;font-size:clamp(22px,2.8vw,36px);font-weight:700;line-height:1.1;margin-bottom:12px;color:var(--white);transition:color .3s;}
.hub-card:hover .hub-card-title{color:var(--gold-light);}
.hub-card-desc{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:var(--white-dim);line-height:1.6;margin-bottom:24px;}
.hub-card-cta{display:inline-flex;align-items:center;gap:12px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;transition:gap .3s;}
.hub-card:hover .hub-card-cta{gap:20px;}
.hub-card-cta::after{content:'→';font-family:sans-serif;font-size:16px;}
.hub-card-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.hub-card:hover .hub-card-line{transform:scaleX(1);}
.hub-footer-logo{font-family:'Cinzel',serif;font-size:17px;letter-spacing:.4em;color:var(--gold);}
.hub-footer-copy{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--white);}
.hub-footer-credit{font-family:'Cinzel',serif;font-size:15px;letter-spacing:.25em;color:var(--white);text-transform:uppercase;}
.hub-footer-credit a{color:var(--gold);text-decoration:none;}

/* Model/brand page */
.hero-img{position:absolute;inset:0;}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:70% 10%;opacity:.85;}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.98) 0%,rgba(8,8,8,.3) 50%,transparent 100%),linear-gradient(to right,rgba(8,8,8,.4),transparent 70%);}
.hero-model-content{position:relative;z-index:2;padding:0 60px 80px;max-width:960px;align-self:flex-end;margin-left:60px;margin-right:auto;}
.hero-eyebrow-dark{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.5em;color:var(--gold);text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:24px;opacity:0;animation:rise 1s .4s forwards;}
.hero-eyebrow-dark::before{content:'';width:32px;height:1px;background:var(--gold);}
.hero-model-title{font-family:'Cinzel',serif;font-size:clamp(48px,8vw,110px);font-weight:400;line-height:.88;text-transform:uppercase;color:var(--white);opacity:0;animation:rise 1.1s .05s forwards;}
.hero-model-title strong{font-weight:900;display:block;}
.hero-model-title em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:.48em;display:block;letter-spacing:.35em;color:var(--gold);margin-top:10px;text-transform:none;}
.hero-model-sub{margin-top:20px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2vw,22px);font-weight:300;font-style:italic;line-height:1.7;color:var(--white-dim);max-width:480px;opacity:0;animation:rise 1s .6s forwards;}
.intro-strip{background:var(--charcoal);padding:24px 60px;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;}
.intro-pill{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.3em;color:var(--sand-dark);text-transform:uppercase;display:flex;align-items:center;gap:14px;}
.intro-pill::after{content:'·';color:var(--gold);font-size:20px;}
.intro-pill:last-child::after{display:none;}
.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:70vh;}
.editorial-img{overflow:hidden;position:relative;}
.editorial-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1);}
.editorial-img:hover img{transform:scale(1.04);}
.editorial-text{padding:80px 100px;display:flex;flex-direction:column;justify-content:flex-start;padding-top:72px;background:var(--black-2);}
.editorial-text.dark{background:var(--black-3);color:var(--white);}
.editorial-text .section-title{color:var(--white);}
.editorial-text.dark .section-title{color:var(--white);}
.editorial-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,42px);font-style:italic;font-weight:300;line-height:1.4;margin:28px 0 24px;color:var(--white);}
.editorial-quote.light{color:var(--white);}
.editorial-body-text{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.8;color:var(--white-dim);}
.editorial-body-text.light{color:rgba(245,240,232,.75);}
.masonry{columns:3;gap:8px;margin-top:60px;}
.masonry-item{break-inside:avoid;margin-bottom:8px;overflow:hidden;cursor:none;position:relative;}
.masonry-item img{width:100%;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s;}
.masonry-item:hover img{transform:scale(1.03);}
.masonry-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;font-family:'Cinzel',serif;font-size:17px;letter-spacing:.35em;color:var(--white);text-transform:uppercase;}
.masonry-item:hover .masonry-overlay{opacity:1;}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;}
.stat-block{background:var(--black-3);padding:48px 32px;text-align:center;border:1px solid rgba(201,168,76,0.15);transition:all .3s;}
.stat-block:hover{background:rgba(201,168,76,0.05);border-color:var(--gold);}
.stat-block .stat-num{font-family:'Bebas Neue',sans-serif;font-size:56px;color:var(--gold);line-height:1;transition:color .3s;}
.stat-block:hover .stat-num{color:var(--gold-light);}
.stat-block .stat-label{font-family:'Cinzel',serif;font-size:15px;letter-spacing:.3em;color:var(--white-dim);text-transform:uppercase;margin-top:8px;transition:color .3s;}
.stat-block:hover .stat-label{color:var(--white);}
.philosophy-section{padding:140px 60px;background:var(--charcoal);text-align:center;}
.philosophy-line{font-family:'Cinzel',serif;font-size:clamp(28px,4vw,56px);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--sand-dark);margin-bottom:20px;display:block;}
.philosophy-line strong{color:var(--white);font-weight:700;}
.philosophy-body{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.5vw,28px);font-style:italic;font-weight:300;color:rgba(245,240,232,.6);max-width:680px;margin:32px auto 0;line-height:1.7;}

@media(max-width:1024px){
  nav,nav.scrolled{padding:18px 24px;}
  .section,.gallery-section,.reel-section,.quote-section,.contact,.philosophy-section,.hub-cards{padding:80px 24px;}
  .hero-model-content{padding:0 24px 60px;}
  .credits-grid{grid-template-columns:1fr;}
  .skills-grid{grid-template-columns:repeat(2,1fr);}
  .g-tall{grid-column:span 12;min-height:300px;}
  .g-wide{grid-column:span 12;}
  .g-med,.g-sm{grid-column:span 6;}
  .hero.split{grid-template-columns:1fr;height:auto;}
  .hero-left{height:55vh;min-height:300px;}
  .hero-right{padding:60px 24px 80px;}
  .roles-grid{grid-template-columns:1fr;}
  .portrait-grid{grid-template-columns:repeat(2,1fr);}
  .portrait-cell.tall{grid-row:span 1;}
  .editorial-split{grid-template-columns:1fr;}
  .editorial-text{padding:60px 32px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .masonry{columns:2;}
  .intro-strip{gap:20px;padding:20px 24px;}
  .cards-grid{grid-template-columns:1fr;}
  .hub-card{aspect-ratio:4/3;}
  footer{flex-direction:column;gap:12px;text-align:center;padding:32px 24px;}
  footer .f-links{justify-content:center;flex-wrap:wrap;gap:16px;}
  body{cursor:auto;}
  #cursor,#cursor-ring{display:none;}
}

/* ── MOBILE IMPROVEMENTS ─────────────────────── */
@media (max-width: 768px) {
  /* Hero full height on mobile */
  .hero { min-height: 100svh; }
  .hub-hero { min-height: 100svh; }

  /* Hero content padding */
  .hub-content { padding: 0 20px; }
  .hero-model-content { padding: 0 20px 60px; }

  /* Stats wrap on mobile */
  .hero-stats { flex-wrap: wrap; gap: 0; }
  .stat { padding: 12px 20px; border-right: none; border-bottom: 1px solid rgba(201,168,76,0.2); width: 50%; }
  .stat:nth-child(odd) { border-right: 1px solid rgba(201,168,76,0.2); }
  .stat:nth-last-child(-n+2) { border-bottom: none; }

  /* Cards full width on mobile */
  .cards-grid { gap: 28px; }
  .hub-card { aspect-ratio: 3/2; }
  .hub-card-body { padding: 28px 24px; }
  .hub-card.in img { filter: grayscale(0) contrast(1.05); opacity: .85; }
  .hub-card.in::before { opacity: 1; }

  /* Section padding reduced */
  .section, .gallery-section, .reel-section, .quote-section,
  .contact, .philosophy-section, .hub-cards { padding: 64px 20px; }

  /* Cred strip smaller on mobile */
  .cred-item { font-size: 13px; padding: 0 24px; }

  /* Hide hero-sub on mobile to reduce crowding */
  .hero-sub { display: none; }

  /* Roles stack on mobile */
  .roles-grid { grid-template-columns: 1fr; gap: 2px; }
  .role-card { min-height: 360px; }

  /* Portrait grid 2 col */
  .portrait-grid { grid-template-columns: repeat(2,1fr); gap: 4px; }
  .portrait-cell.tall { grid-row: span 1; aspect-ratio: 3/4; }

  /* Gallery cells */
  .g-tall, .g-wide, .g-med { grid-column: span 12; }
  .g-sm { grid-column: span 6; }

  /* Editorial split */
  .editorial-split { grid-template-columns: 1fr; direction: ltr !important; }
  .editorial-text { padding: 48px 24px; }

  /* Stats 2 col */
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .stat-block { padding: 32px 16px; }

  /* Masonry 1 col */
  .masonry { columns: 1; }

  /* Skills 2 col */
  .skills-grid { grid-template-columns: repeat(2,1fr); }

  /* Credits 1 col */
  .credits-grid { grid-template-columns: 1fr; }

  /* Buttons full width on mobile */
  .actions { flex-direction: column; align-items: center; }
  .btn-p, .btn-s { width: 100%; max-width: 320px; text-align: center; padding: 18px 32px; }

  /* Intro strip */
  .intro-strip { padding: 20px; gap: 12px; }
  .intro-pill { font-size: 13px; }

  /* Footer mobile */
  footer { padding: 36px 20px; flex-direction: column; gap: 14px; text-align: center; align-items: center; }
  .f-links { justify-content: center; flex-wrap: wrap; gap: 16px; }

  /* Nav */
  nav, nav.scrolled { padding: 16px 20px; }

  /* Actor split - stack on mobile */
  .hero.split { grid-template-columns: 1fr; height: auto; }
  .hero-left { height: 50vh; min-height: 280px; }
  .hero-right { padding: 48px 20px 64px; }
}




/* ════════════════════════════════════════════════
   UTILITY CLASSES — replaces inline styles in HTML
   ════════════════════════════════════════════════ */

/* Section background variants */
.section-black    { background: var(--black); }
.section-black-2  { background: var(--black-2); }
.section-black-3  { background: var(--black-3); }
.section-sand     { background: var(--sand); }

/* Gallery section light variant */
.gallery-section-light { background: var(--off-white); }

/* Section title colour variants */
.section-title-white   { color: var(--white); }
.section-title-charcoal{ color: var(--charcoal); }

/* Contact light variant */
.contact-light { background: var(--sand); }
.contact-light .contact-sub { color: var(--charcoal); }

/* Stunt hero — centred layout */
.hero-stunt { align-items: center; justify-content: center; text-align: center; }
.hero-bg-wrap { position: absolute; inset: 0; }
.hero-bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: .5; filter: saturate(0.5); }
.hero-bg-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom,rgba(8,8,8,.2) 0%,rgba(8,8,8,.5) 60%,var(--black) 100%),linear-gradient(to right,rgba(8,8,8,.55),transparent 60%); }
.hero-center { position: relative; z-index: 2; text-align: center; }

/* Hero left-aligned variant (movement page) */
.hero-left-align { align-items: center; justify-content: flex-start; }
.hero-left-align .hero-center { text-align: left; padding: 0 8vw; max-width: 700px; }

/* Hero right-aligned variant (performer page) */
.hero-right-align { align-items: center; justify-content: flex-end; }
.hero-right-align .hero-center { text-align: right; padding: 0 8vw; max-width: 700px; }

/* Editorial split RTL (second block reverses column order) */
.editorial-split-rtl { direction: rtl; }
.editorial-split-rtl .editorial-img,
.editorial-split-rtl .editorial-text { direction: ltr; }

/* Quote attribution — no em dash, tight spacing */
.quote-credit {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .2em;
  color: var(--gold);
  text-transform: uppercase;
  margin-top: 16px;
  display: block;
}

/* ════════════════════════════════════════════════
   CURSOR
   ════════════════════════════════════════════════ */
#cursor {
  background: var(--gold);
  opacity: 1;
  mix-blend-mode: normal;
}

/* ════════════════════════════════════════════════
   NAV — opaque scrolled state
   ════════════════════════════════════════════════ */
nav.scrolled { background: rgba(8,8,8,0.96); backdrop-filter: blur(16px); }

/* ════════════════════════════════════════════════
   HERO SCROLL ARROW
   ════════════════════════════════════════════════ */
.hero-scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: max-content;
  opacity: 0;
  animation: rise 1s 1.1s forwards;
}
.hero-scroll .scroll-line {
  width: 2px;
  height: 56px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scroll-pulse 2s 2.2s ease-in-out infinite;
}
.hero-scroll::after {
  content: '';
  width: 12px;
  height: 12px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg);
  margin-top: -8px;
  opacity: 0.7;
}

/* ════════════════════════════════════════════════
   FOOTER — light theme text visibility
   ════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════
   INTRO STRIP — limit visible pills
   ════════════════════════════════════════════════ */
.intro-strip { overflow: hidden; }
.intro-pill:nth-child(n+5) { display: none; }

/* ════════════════════════════════════════════════
   BURGER MENU
   ════════════════════════════════════════════════ */
.burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:101;background:none;border:none;}
.burger span{display:block;width:24px;height:2px;background:var(--gold);transition:transform .3s,opacity .3s;}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.nav-menu{position:fixed;top:0;left:0;width:280px;height:100vh;background:rgba(8,8,8,0.97);backdrop-filter:blur(20px);z-index:100;padding:100px 40px 40px;transform:translateX(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1);border-right:1px solid rgba(201,168,76,0.15);}
.nav-menu.open{transform:translateX(0);}
.nav-menu a{display:block;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:500;letter-spacing:.2em;color:var(--white-dim);text-decoration:none;text-transform:uppercase;padding:16px 0;border-bottom:1px solid rgba(201,168,76,0.08);transition:color .3s,padding-left .3s;}
.nav-menu a:hover{color:var(--gold);padding-left:8px;}
.nav-menu a.active{color:var(--gold);}
.nav-menu-label{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.4em;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px;display:block;}
.nav-overlay{position:fixed;inset:0;background:rgba(8,8,8,0.5);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s;}
.nav-overlay.open{opacity:1;pointer-events:all;}

/* ════════════════════════════════════════════════
   BODY TEXT — Montserrat override
   Quotes stay Cormorant Garamond. Everything else → Montserrat.
   ════════════════════════════════════════════════ */
.credit-body,
.editorial-body-text,
.editorial-body-text.light,
.contact-sub,
.hero-body,
.hero-sub,
.hero-model-sub,
.hub-cards-label p,
.hub-tagline,
.hub-footer-copy,
.hub-card-desc,
.f-copy,
.skill-desc,
.role-body-text,
.philosophy-body,
.reel-placeholder-sub,
.reel-placeholder-text,
.plogo span {
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-weight: 400;
}

/* ════════════════════════════════════════════════
   LIGHTBOX
   ════════════════════════════════════════════════ */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,8,8,0.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.lightbox.active{opacity:1;pointer-events:all;}
.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border:1px solid rgba(201,168,76,0.2);box-shadow:0 0 80px rgba(201,168,76,0.1);}
.lightbox-close{position:absolute;top:24px;right:32px;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;cursor:pointer;background:none;border:1px solid rgba(201,168,76,0.3);padding:12px 24px;transition:all .3s;}
.lightbox-close:hover{background:var(--gold);color:var(--black);}

/* ════════════════════════════════════════════════
   SKILLS GRID — always visible, no fade
   ════════════════════════════════════════════════ */
.skills-grid .reveal,
.skills-grid .reveal.ready { opacity: 1; transform: translateY(0); }

/* ════════════════════════════════════════════════
   MOBILE
   ════════════════════════════════════════════════ */
@media (max-width: 768px) {
  #cursor, #cursor-ring { display: none; }
  body { cursor: auto; }
  .intro-pill:nth-child(n+3) { display: none; }
  .editorial-img { max-height: none; min-height: 300px; }
  .hero-model-content { padding: 0 20px 48px; margin-right: 0; }
  .hero-left-align .hero-center { padding: 0 24px; text-align: center; }
  .hero-right-align .hero-center { padding: 0 24px; text-align: center; }
  .nav-logo { letter-spacing: .2em; font-size: 14px; }
  .contact-sub { font-size: 17px; }
  /* Override inline grid styles on mobile */
  .credits-grid[style] { grid-template-columns: 1fr !important; }
}

/* ════════════════════════════════════════════════
   THEME TOGGLE SWITCH
   ════════════════════════════════════════════════ */
.theme-toggle{display:flex;align-items:center;gap:14px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(201,168,76,0.12);}
.theme-toggle-label{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.15em;color:var(--white-dim);text-transform:uppercase;}
body.light-theme .theme-toggle-label{color:var(--charcoal);}
.theme-switch{position:relative;width:48px;height:26px;background:rgba(245,240,232,0.15);border:1px solid rgba(201,168,76,0.3);border-radius:13px;cursor:pointer;padding:0;transition:background .3s,border-color .3s;}
.theme-switch-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--gold);border-radius:50%;transition:transform .3s;}
body.light-theme .theme-switch{background:rgba(61,53,48,0.12);border-color:var(--charcoal);}
body.light-theme .theme-switch-knob{transform:translateX(22px);}

/* ════════════════════════════════════════════════
   LIGHT THEME — FULL OVERRIDES
   ════════════════════════════════════════════════ */

/* Sections */
body.light-theme .section-black,
body.light-theme .hub-cards{background:var(--off-white);}
body.light-theme .section-black-2,
body.light-theme .reel-section{background:var(--sand);}
body.light-theme .section-black-3{background:var(--sand);}

/* Text */
body.light-theme .section-title{color:var(--charcoal);}
body.light-theme .section-title-white{color:var(--charcoal);}
body.light-theme .hub-cards-label h2{color:var(--charcoal);}
body.light-theme .hub-cards-label p{color:rgba(61,53,48,0.65);}
body.light-theme .contact-sub{color:rgba(61,53,48,0.75);}

/* Nav */
body.light-theme nav{color:var(--charcoal);}
body.light-theme .nav-menu{background:rgba(253,250,245,0.97);border-right:1px solid rgba(61,53,48,0.1);}
body.light-theme .nav-menu a{color:rgba(61,53,48,0.65);border-bottom:1px solid rgba(61,53,48,0.08);}
body.light-theme .nav-menu a:hover,
body.light-theme .nav-menu a.active{color:var(--gold);}
body.light-theme .nav-menu-label{color:var(--gold-dim);}
body.light-theme .nav-overlay.open{background:rgba(253,250,245,0.5);}
body.light-theme .burger span{background:var(--charcoal);}

/* Hero overlays — lighten gradients */
body.light-theme .hub-bg::after{background:linear-gradient(to bottom,rgba(253,250,245,.1) 0%,rgba(253,250,245,.5) 60%,var(--off-white) 100%),linear-gradient(to right,rgba(253,250,245,.4),transparent 70%);}
body.light-theme .hero-bg-overlay{background:linear-gradient(to bottom,rgba(253,250,245,.05) 0%,rgba(253,250,245,.4) 60%,var(--off-white) 100%),linear-gradient(to right,rgba(253,250,245,.3),transparent 60%);}
body.light-theme .hero-img::after{background:linear-gradient(to top,var(--off-white) 0%,rgba(253,250,245,.25) 50%,transparent 100%),linear-gradient(to right,rgba(253,250,245,.3),transparent 70%);}

/* Hero text in light */
body.light-theme .hub-name{color:var(--charcoal);}
body.light-theme .hero-title{color:var(--charcoal);}
body.light-theme .hero-model-title{color:var(--charcoal);}
body.light-theme .hero-model-sub{color:rgba(61,53,48,0.65);}
body.light-theme .hero-sub{color:rgba(61,53,48,0.5);}
body.light-theme .hero-body{color:rgba(61,53,48,0.65);}
body.light-theme .stat-label{color:var(--charcoal);}
body.light-theme .hero-cred-item{color:var(--charcoal);}
body.light-theme .hero-actor-title{color:var(--charcoal);}

/* Actor split hero */
body.light-theme .hero-left::after{background:linear-gradient(to right,transparent,var(--off-white)),rgba(253,250,245,.2);}
body.light-theme .hero-right{background:linear-gradient(to left,var(--off-white) 60%,transparent);}

/* Scroll hints */
body.light-theme .hero-scroll span{color:var(--gold-dim);}
body.light-theme .hub-scroll-hint span{color:var(--gold);}

/* Hub cards */
body.light-theme .hub-card{background:var(--sand);border-color:rgba(61,53,48,0.12);}
body.light-theme .hub-card:hover{border-color:var(--gold);}
body.light-theme .hub-card-overlay{background:linear-gradient(to top,rgba(253,250,245,.98) 0%,rgba(253,250,245,.8) 35%,rgba(253,250,245,.2) 60%,transparent 100%);}
body.light-theme .hub-card-title{color:var(--charcoal);}
body.light-theme .hub-card:hover .hub-card-title{color:var(--gold);}
body.light-theme .hub-card-desc{color:rgba(61,53,48,0.6);}
body.light-theme .hub-card-num{color:rgba(61,53,48,0.06);}
body.light-theme .hub-card:hover .hub-card-num{color:rgba(201,168,76,0.15);}

/* Credit cards */
body.light-theme .credit-card{background:var(--off-white);border-color:rgba(61,53,48,0.1);}
body.light-theme .credit-card:hover{border-color:var(--gold);}
body.light-theme .credit-title{color:var(--charcoal);}
body.light-theme .credit-body{color:rgba(61,53,48,0.65);}

/* Skills grid */
body.light-theme .skill-item{background:var(--off-white);border-color:rgba(61,53,48,0.1);}
body.light-theme .skill-item:hover{border-color:var(--gold);background:rgba(201,168,76,0.04);}
body.light-theme .skill-name{color:var(--charcoal);}
body.light-theme .skill-desc{color:rgba(61,53,48,0.6);}

/* Quote section */
body.light-theme .quote-section{background:var(--sand);}
body.light-theme .big-quote{color:var(--charcoal);}
body.light-theme .pquote{color:var(--charcoal);}

/* Contact section */
body.light-theme .contact{background:var(--sand);}
body.light-theme .contact-ghost{color:rgba(61,53,48,0.04);}

/* Cred strip */
body.light-theme .cred-strip{background:var(--sand);border-color:rgba(61,53,48,0.08);}

/* Reel section */
body.light-theme .reel-placeholder{background:var(--off-white);border-color:rgba(61,53,48,0.12);}
body.light-theme .reel-placeholder::before{background:radial-gradient(ellipse at center,rgba(201,168,76,0.06),transparent 70%);}
body.light-theme .reel-placeholder-text{color:var(--gold-dim);}
body.light-theme .reel-placeholder-sub{color:rgba(61,53,48,0.35);}
body.light-theme .vimeo-container{border-color:rgba(61,53,48,0.12);box-shadow:0 0 60px rgba(61,53,48,0.06);}

/* Editorial splits */
body.light-theme .editorial-text{background:var(--sand);}
body.light-theme .editorial-text.dark{background:var(--off-white);}
body.light-theme .editorial-text .section-title,
body.light-theme .editorial-text.dark .section-title{color:var(--charcoal);}
body.light-theme .editorial-quote,
body.light-theme .editorial-quote.light{color:var(--charcoal);}
body.light-theme .editorial-body-text,
body.light-theme .editorial-body-text.light{color:rgba(61,53,48,0.65);}

/* Intro strip */
body.light-theme .intro-strip{background:var(--sand);}
body.light-theme .intro-pill{color:var(--charcoal);}

/* Stats */
body.light-theme .stat-block{background:var(--off-white);border-color:rgba(61,53,48,0.1);}
body.light-theme .stat-block:hover{background:rgba(201,168,76,0.05);border-color:var(--gold);}
body.light-theme .stat-block .stat-label{color:rgba(61,53,48,0.55);}
body.light-theme .stat-block:hover .stat-label{color:var(--charcoal);}

/* Philosophy section */
body.light-theme .philosophy-section{background:var(--sand);}
body.light-theme .philosophy-line{color:var(--sand-deep);}
body.light-theme .philosophy-line strong{color:var(--charcoal);}
body.light-theme .philosophy-body{color:rgba(61,53,48,0.55);}

/* Proof logos */
body.light-theme .plogo{background:var(--off-white);border-color:rgba(61,53,48,0.1);color:var(--charcoal);}
body.light-theme .plogo:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,0.05);}

/* Gallery / masonry overlays */
body.light-theme .masonry-overlay{background:rgba(253,250,245,0.85);color:var(--charcoal);}
body.light-theme .gcell{background:var(--sand);}
body.light-theme .gcell-label{background:linear-gradient(transparent,rgba(253,250,245,.9));}
body.light-theme .portrait-hover{background:rgba(253,250,245,0.6);color:var(--charcoal);}

/* Role cards */
body.light-theme .role-overlay{background:linear-gradient(to top,rgba(253,250,245,.97) 0%,rgba(253,250,245,.15) 55%,transparent 100%);}
body.light-theme .role-title{color:var(--charcoal);}
body.light-theme .role-body-text{color:rgba(61,53,48,0.6);}

/* Lightbox */
body.light-theme .lightbox{background:rgba(253,250,245,0.95);}
body.light-theme .lightbox img{border-color:rgba(61,53,48,0.12);box-shadow:0 4px 40px rgba(61,53,48,0.12);}
body.light-theme .lightbox-close{color:var(--charcoal);border-color:rgba(61,53,48,0.2);}
body.light-theme .lightbox-close:hover{background:var(--charcoal);color:var(--off-white);}

/* Footer */
body.light-theme .f-logo,
body.light-theme .f-copy,
body.light-theme .f-credit,
body.light-theme .f-links a,
body.light-theme .hub-footer-logo,
body.light-theme .hub-footer-copy,
body.light-theme .hub-footer-credit{color:var(--off-white);}

/* Gold text — darken for contrast on light backgrounds */
body.light-theme .section-label,
body.light-theme .credit-tag,
body.light-theme .hub-card-tag,
body.light-theme .hub-card-cta,
body.light-theme .hub-eyebrow,
body.light-theme .hero-badge,
body.light-theme .hero-actor-badge,
body.light-theme .hero-eyebrow-dark,
body.light-theme .hero-title em,
body.light-theme .hero-actor-title em,
body.light-theme .hero-model-title em,
body.light-theme .hub-name em,
body.light-theme .quote-source,
body.light-theme .quote-credit,
body.light-theme .psource,
body.light-theme .cin-line-txt,
body.light-theme .cred-item,
body.light-theme .nav-menu-label,
body.light-theme .reel-label,
body.light-theme .role-tag,
body.light-theme .hub-card-cta::after,
body.light-theme .intro-pill::after,
body.light-theme .plogo span{color:var(--gold-dim);}
body.light-theme .hero-badge::before,
body.light-theme .hero-badge::after,
body.light-theme .hub-eyebrow::before,
body.light-theme .hub-eyebrow::after,
body.light-theme .hero-actor-badge::before,
body.light-theme .hero-eyebrow-dark::before{background:var(--gold-dim);}
body.light-theme .cred-item .dot{background:var(--gold-dim);}
body.light-theme .cin-line::before{background:linear-gradient(to left,rgba(122,96,48,0.3),transparent);}
body.light-theme .cin-line::after{background:linear-gradient(to right,rgba(122,96,48,0.3),transparent);}

/* Buttons */
body.light-theme .btn-s{color:var(--charcoal);border-color:rgba(61,53,48,0.3);}
body.light-theme .btn-s:hover{border-color:var(--gold);color:var(--gold);}
