/* v7 LUXE: BennyGregs brand kit. Expensive, clean, dark. Overrides everything above. */
:root{
  --bg:#0a0d0e;--bg-2:#11171a;--surface:#181f21;--surface-2:#222b2e;--line:#2c3639;
  --text:#edf0f0;--muted:#8e9a9e;--dim:#66727a;--accent:#73a1b2;--accent-hi:#a7c6d2;--accent-ink:#0a0d0e;
  --radius:0px;--serif:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --pad:clamp(16px,5vw,64px);--max:1320px;
}
body{background:var(--bg);font-size:16px;line-height:1.7;letter-spacing:.005em}
body::after{opacity:.035}
::selection{background:var(--accent);color:var(--accent-ink)}

/* type */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}
.h2{font-size:clamp(34px,4.8vw,66px);line-height:.98}
.accent,.outline{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;-webkit-text-stroke:0;font-size:1.1em;line-height:.9}
.accent{color:var(--accent)}
.outline{color:var(--text)}
.eyebrow{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--muted);gap:14px}
.eyebrow::before{width:28px;height:1px;background:var(--accent)}
.lead{color:var(--muted);font-size:clamp(16px,1.25vw,18px);line-height:1.75}

/* buttons */
.btn{min-height:52px;padding:0 30px;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.2em;border-width:1px;transition:background .4s,color .4s,border-color .4s,box-shadow .4s}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 20px 60px -24px rgba(115,161,178,.55)}
.btn-primary:hover{background:var(--accent-hi);transform:none}
.btn-ghost{border-color:var(--line);background:transparent;backdrop-filter:none}
.btn-ghost:hover{border-color:var(--text);background:transparent}

/* nav */
.nav .wrap{height:84px}
.nav.scrolled{background:rgba(10,13,14,.86);border-color:var(--line)}
.logo{display:block;line-height:0}
.logo img{width:104px;height:auto;display:block}
.nav-links a{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--muted)}
.nav-links .btn{min-height:42px;padding:0 22px;font-size:11px;color:var(--accent-ink)}
@media (max-width:1180px){.nav-links{inset:84px 0 0 0;height:calc(100dvh - 84px);background:var(--bg)}.nav-links a{font-family:var(--display);font-size:clamp(26px,7vw,34px);font-weight:600;letter-spacing:-.01em;text-transform:uppercase;color:var(--text);padding:10px 0;border-bottom:1px solid var(--line);width:100%}.nav-links .btn{border-bottom:0;font-family:var(--body);font-size:12px;letter-spacing:.2em}}

/* hero */
.hero{padding-bottom:72px}
.hero h1{font-weight:600;letter-spacing:-.025em}
.pillars{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--muted)}
.pillars i{color:var(--line)}
.spot{background:radial-gradient(560px circle at var(--mx,70%) var(--my,30%),rgba(115,161,178,.09),transparent 60%)}
.stats{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;backdrop-filter:none;gap:0;margin-top:64px}
.stat{background:transparent;padding:26px 24px 0 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b{font-weight:600;font-size:clamp(28px,3vw,42px)}
@media (max-width:760px){.stat:nth-child(3){padding-left:0;border-left:0}.stat:nth-child(n+3){margin-top:22px}}

/* marquee */
.marquee{background:var(--bg);padding:22px 0}
.marquee-track{animation-duration:70s}
.marquee-track span{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--muted);gap:36px;padding:0 18px}
.marquee-track span:nth-child(even){color:var(--muted);-webkit-text-stroke:0}
.marquee-track span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);font-size:0}

/* sections: space is the luxury */
.sec{padding:clamp(96px,12vw,176px) 0}
.sec-head{margin-bottom:clamp(40px,5vw,72px)}
.cta-band,.social,.mantra,.steps-sec,.facts-band{background:var(--surface)}
.cta-band{padding:clamp(96px,11vw,160px) 0}
.book{background:var(--bg)}

/* photos: square corners, no tricks */
.about-photo,.shero-img,.ahero-img,.venture,.show,.gallery figure,.vid,.post,.brands,.article .hero-img{border-radius:0}
.ahero-img{transform:none}
.shero-img,.ahero-img{box-shadow:none;border:0}
.about-photo img{filter:grayscale(1) contrast(1.08)}
.gallery figcaption{border-radius:0;background:transparent;backdrop-filter:none;font-family:var(--body);font-size:10px;letter-spacing:.3em;color:var(--text);text-shadow:0 1px 12px rgba(0,0,0,.8)}

/* lines, not boxes */
.credits{gap:0 48px}
.credit,.perk,.tl,.step,.pillar,.rc,.other,.fmt,.role{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:28px 0 32px;box-shadow:none;min-height:0;transform:none}
.credit:hover,.perk:hover,.pillar:hover,.other:hover,.role:hover,.role.active{transform:none;border-color:var(--accent)}
.credit:hover h4,.other:hover h3,.role:hover h3{color:var(--accent-hi)}
.role::before{display:none}
.role .num,.perk .num,.pillar .num{color:var(--accent);font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.3em}
.role h3{font-size:clamp(26px,2.4vw,34px)}
.roles{gap:0 32px}
.credit.feature{background:transparent;min-height:0}
.credit.feature h4{font-size:clamp(26px,2.8vw,36px)}
.credit h4,.perk h3,.step h3,.other h3,.fmt h3,.pillar h3{font-weight:500;text-transform:none;letter-spacing:-.01em}
.fmt h3{font-size:clamp(24px,2.6vw,32px)}
.step b{width:auto;height:auto;border-radius:0;background:transparent;color:var(--accent);font-family:var(--body);font-size:11px;letter-spacing:.3em}
.step b::before{content:"STEP "}
.rc b{font-weight:600;font-size:clamp(24px,2.4vw,32px)}
.services{border-top:0}
.svc{border-bottom:1px solid var(--line)}
.fine{color:var(--muted);font-weight:500;letter-spacing:.02em}

/* quotes: italic serif, no boxes */
.q{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:32px 0}
.q::before{display:none}
.q p,.big-q p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.25;letter-spacing:0}
.q cite{font-family:var(--body);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.q cite b{font-family:var(--body);letter-spacing:.24em;margin-bottom:4px}
.quotes{gap:0 48px}
.mantra p{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,54px);letter-spacing:-.01em}
.big-line{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(26px,2.8vw,36px)}

/* ventures and shows */
.venture{border:0;min-height:600px}
.venture::after{background:linear-gradient(0deg,rgba(10,13,14,.96) 22%,rgba(10,13,14,.35) 65%,rgba(10,13,14,.1))}
.venture li{border-radius:0;background:transparent;border-color:var(--line);font-size:12px;letter-spacing:.06em}
.show{border:0;background:var(--surface)}

/* forms */
.wform{background:var(--surface);border:0;border-radius:0;padding:clamp(24px,3.4vw,44px)}
.fld input,.fld textarea,.fld select{background:var(--bg);border:1px solid var(--line);border-radius:0}
.fld label,.fld legend{font-family:var(--body);font-size:11px;letter-spacing:.24em}
.chip span{background:transparent;border-width:1px;font-family:var(--body);font-size:13px;font-weight:600}
.skeleton{border-radius:0}

/* media + blog rows */
.tab{border-width:1px;font-family:var(--body);font-size:11px;letter-spacing:.2em}
.mi .y{font-family:var(--body)}

/* social + footer */
.social h2{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;font-size:clamp(48px,9vw,128px)}
.soc{background:transparent;border-width:1px}
.soc:hover{transform:none}
footer{background:var(--bg)}
.foot .big{line-height:0;margin-bottom:20px}
.foot .big img{width:150px;height:auto}
.foot h4{font-family:var(--body);font-size:11px;letter-spacing:.3em}
.dock{border-radius:999px;background:rgba(10,13,14,.9)}

/* about */
.fact b,.facts b{font-weight:600}
.chapter::before{border-radius:0;width:9px;height:9px;left:-29px;top:8px;background:var(--accent);border:0;box-shadow:none}
.story::before{width:1px;left:4px;background:var(--line)}
.chapter h3{font-weight:500}

/* motion: slow fades */
.rv{transform:translateY(16px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
/* v7.1 hero line */
.hero .hero-line{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.8vw,38px);line-height:1.15;color:var(--text);margin:-4px 0 22px;max-width:22ch}
.hero h1{margin-bottom:14px}
