:root{--black:#11100f;--ink:#181715;--cream:#f1eadf;--paper:#f8f4ed;--copper:#c7733c;--muted:#b7afa4;--line:rgba(255,255,255,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:Inter,Arial,sans-serif;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(10,9,8,.8),transparent);transition:.25s}.site-header.scrolled{background:rgba(17,16,15,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font:800 28px/1 Barlow Condensed,sans-serif;letter-spacing:.04em}.brand b{color:var(--copper);margin-left:5px}.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.nav a{opacity:.85}.nav a:hover{opacity:1}.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.45)}.menu-toggle{display:none;background:none;color:#fff;border:0;font:700 13px Inter;letter-spacing:.12em}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:150px 7vw 10vh;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/hero-crowd.png') center center/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,7,.95) 0%,rgba(9,8,7,.66) 42%,rgba(9,8,7,.1) 78%),linear-gradient(0deg,rgba(9,8,7,.8),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:760px}.eyebrow,.kicker{margin:0 0 20px;color:var(--copper);font-size:12px;font-weight:700;letter-spacing:.22em}.hero h1,.intro h2,.section-head h2,.journey h2,.statement h2,.booking h2{font-family:Barlow Condensed,sans-serif;text-transform:uppercase;line-height:.88;letter-spacing:-.025em}.hero h1{font-size:clamp(64px,9vw,132px);margin:0 0 30px}.hero h1 em,.intro h2 em{color:var(--copper);font-style:normal}.hero-content>p:not(.eyebrow){font-size:clamp(16px,1.5vw,20px);max-width:660px;color:#ddd5cc}.actions,.booking-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid rgba(255,255,255,.4);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.button.primary{background:var(--copper);border-color:var(--copper);color:#fff}.button.ghost:hover{background:#fff;color:#111}.hero-note{position:absolute;right:5vw;bottom:9vh;z-index:2;border:1px solid rgba(255,255,255,.4);border-radius:50%;width:120px;height:120px;display:grid;place-items:center;text-align:center;font:700 15px/1.25 Barlow Condensed;letter-spacing:.13em;transform:rotate(8deg)}.scroll{position:absolute;left:50%;bottom:24px;z-index:2;font-size:10px;letter-spacing:.2em;transform:translateX(-50%)}.scroll span{display:block;text-align:center;font-size:20px}.dark{background:var(--black)}.cream{background:var(--cream);color:var(--ink)}.intro{padding:120px 7vw;display:grid;grid-template-columns:1.1fr .8fr;gap:9vw;align-items:center}.intro-copy{max-width:760px}.intro h2{font-size:clamp(48px,7vw,95px);margin:0 0 35px}.intro-copy>p:not(.kicker){color:#c8c0b7;font-size:17px;max-width:690px}.portrait{margin:0}.portrait img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.85)}.portrait figcaption{padding:12px 0;color:var(--muted);font-size:12px;letter-spacing:.07em}.genre-strip{background:var(--copper);color:#fff;padding:19px 4vw;display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap;font:700 18px Barlow Condensed;letter-spacing:.1em}.genre-strip i{font-style:normal;font-size:9px}.projects,.gallery{padding:120px 7vw}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:60px}.section-head h2{font-size:clamp(52px,7vw,92px);margin:0}.section-head>p{max-width:500px;color:#5e5851}.dark-text{color:#9a572f}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:var(--paper)}.project-image img{height:420px;object-fit:cover}.project-card.solo .project-image img{object-position:center 25%}.project-body{padding:32px}.project-body span,.era-copy span{color:#9a572f;font-size:11px;font-weight:700;letter-spacing:.16em}.project-body h3{font:700 52px/1 Barlow Condensed;margin:9px 0 15px;text-transform:uppercase}.project-body p{color:#5e5851}.project-body a{font-weight:700;color:#9a572f}.statement{padding:130px 7vw;background:linear-gradient(rgba(13,12,11,.58),rgba(13,12,11,.8)),url('assets/hero-crowd.png') center 45%/cover fixed;text-align:center}.statement p{font-size:18px}.statement h2{max-width:1050px;margin:10px auto 0;font-size:clamp(48px,7vw,100px)}.journey{padding:120px 7vw}.journey-title{max-width:760px;margin-bottom:75px}.journey h2{font-size:clamp(58px,8vw,108px);margin:0 0 25px}.journey-title>p:last-child{color:#bbb2a8;font-size:18px}.timeline{border-top:1px solid var(--line)}.era{display:grid;grid-template-columns:120px 260px 1fr;gap:45px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line)}.era-year{font:700 26px Barlow Condensed;color:var(--copper)}.era-photo img,.era-photo.placeholder{height:180px;object-fit:cover}.era-photo.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#28231f,#5b3c2c);font:800 45px Barlow Condensed;letter-spacing:.08em}.era-copy h3{font:700 42px/1 Barlow Condensed;margin:6px 0 8px;text-transform:uppercase}.era-copy p{margin:0;color:#bdb5ac}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{height:260px;object-fit:cover}.gallery-grid .wide{grid-column:span 2}.social{padding:100px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.social h2{font:700 clamp(48px,6vw,85px)/.95 Barlow Condensed;text-transform:uppercase;margin:0}.social-links{border-top:1px solid var(--line)}.social-links a{padding:24px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.social-links span{font:700 25px Barlow Condensed;text-transform:uppercase}.social-links b{font-size:12px;color:var(--copper);letter-spacing:.08em}.booking{position:relative;overflow:hidden;background:#934e28;padding:120px 7vw;min-height:600px;display:flex;align-items:center}.booking-copy{position:relative;z-index:2}.booking h2{font-size:clamp(72px,11vw,150px);margin:0 0 25px}.booking-copy>p:not(.kicker){max-width:620px;font-size:18px}.button.light{max-width:100%;overflow-wrap:anywhere}.booking-word{position:absolute;right:-2vw;bottom:-8vw;color:rgba(255,255,255,.08);font:800 35vw/.7 Barlow Condensed;letter-spacing:-.08em}footer{padding:35px 5vw;background:#090807;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#8f8880;font-size:12px}footer .brand{color:#fff}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:70px;right:5vw;left:5vw;background:#181614;padding:25px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{padding-left:6vw;padding-right:6vw}.hero-overlay{background:linear-gradient(0deg,rgba(8,7,6,.94),rgba(8,7,6,.15) 70%),linear-gradient(90deg,rgba(8,7,6,.55),transparent)}.hero-note{display:none}.intro,.social{grid-template-columns:1fr}.portrait{max-width:580px}.project-grid{grid-template-columns:1fr}.era{grid-template-columns:90px 180px 1fr;gap:25px}.gallery-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;text-align:center}}@media(max-width:620px){.site-header{height:66px}.brand{font-size:24px}.hero{min-height:880px;padding-bottom:95px}.hero h1{font-size:64px}.intro,.projects,.journey,.gallery,.social,.booking{padding:85px 6vw}.section-head{display:block}.section-head>p{margin-top:25px}.project-image img{height:320px}.era{grid-template-columns:1fr;gap:16px}.era-year{font-size:20px}.era-photo img,.era-photo.placeholder{height:230px}.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery-grid img{height:auto;aspect-ratio:4/3}.social-links a{display:block}.social-links b{display:block;margin-top:4px}.booking-actions{display:block}.booking-actions .button{width:100%;margin-bottom:12px;text-transform:none;letter-spacing:.04em}.genre-strip{gap:12px;font-size:15px}.genre-strip i{display:none}footer{padding:35px 6vw}.statement{background-attachment:scroll}}

/* Opening Night v1.1 image handling — preserve faces and historical photos */
.project-image,
.era-photo,
.gallery-grid {
  overflow: hidden;
}

.project-image {
  background: #171513;
}

.project-image img {
  object-position: top center;
}

/* Historical timeline images are shown intact rather than forced into a crop. */
.era-photo:not(.placeholder) {
  min-height: 180px;
  background: #080706;
  display: flex;
  align-items: center;
  justify-content: center;
}

.era-photo:not(.placeholder) img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  object-position: center;
}

/* Modern crowd image can remain cinematic, but keep the upper frame visible. */
.era:last-child .era-photo img {
  object-fit: cover;
  object-position: center 28%;
}

/* Gallery placeholders should never decapitate the talent. */
.gallery-grid {
  background: #d8d0c4;
}

.gallery-grid img {
  background: #171513;
  object-fit: contain;
  object-position: center;
}

/* Where a landscape image is already naturally wide, allow a gentle full-frame crop. */
.gallery-grid img.wide {
  object-fit: cover;
  object-position: center 32%;
}

@media(max-width:620px){
  .era-photo:not(.placeholder) img {
    height: auto;
    max-height: 420px;
  }
  .gallery-grid img,
  .gallery-grid img.wide {
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }
}
