
:root{--black:#040506;--dark:#0a0b0c;--cream:#f0e9dc;--gold:#b9873e;--gold2:#d0aa6a;--muted:#a29b91;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:Inter,sans-serif;font-weight:300}img{display:block;width:100%}a{text-decoration:none;color:inherit}button{font:inherit}
.header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;background:linear-gradient(#050505e8,transparent)}
.brand{font-family:"Bebas Neue",sans-serif;font-size:1.45rem;letter-spacing:.09em}.header nav{display:flex;align-items:center;gap:24px}.header nav a{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.nav-cta{border:1px solid #ffffff55;padding:9px 14px}.menu{display:none;color:#fff;border:1px solid #ffffff44;background:#060606;padding:8px 12px}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url("assets/hero.jpg") 55% center/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,#000d 32%,#0006 68%,#000a 100%),linear-gradient(0deg,#000c,transparent 48%)}.hero-copy{position:relative;z-index:2;margin-left:7vw;width:min(720px,86vw);padding-top:70px}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.34em;font-weight:600;margin:0 0 14px}.gold-text{color:var(--gold2)}h1,h2,p{margin-top:0}h1{font-family:"Bebas Neue",sans-serif;font-size:clamp(5rem,12vw,10rem);line-height:.73;margin-bottom:10px}h1 span{color:var(--gold)}.sub{font:500 clamp(1.35rem,2.2vw,2.1rem)/1.1 "Cormorant Garamond",serif;letter-spacing:.06em}.quote{font:italic 1.2rem/1.45 "Cormorant Garamond",serif;color:#ded6ca;max-width:620px;margin:28px 0}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600}.btn.gold{background:var(--gold);color:#090806}.btn.outline{border:1px solid #ffffff66}
.section{padding:115px 7vw;position:relative}.split,.ant,.legacy{display:grid;grid-template-columns:1.05fr .72fr;gap:8vw;align-items:center;background:#090a0b}.ant{grid-template-columns:.9fr 1fr;background:var(--black)}.legacy{grid-template-columns:.72fr 1fr;background:#0a0b0c}.copy p:not(.eyebrow):not(.lead){color:#b8b0a5;line-height:1.8;max-width:720px}.lead{font:500 1.5rem/1.35 "Cormorant Garamond",serif}.section h2,.watch h2{font:500 clamp(2.9rem,5.8vw,5.5rem)/.96 "Cormorant Garamond",serif;margin-bottom:26px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:38px}.facts span,.credits span{display:block;color:#777169;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;margin-bottom:8px}.facts strong{font-size:.88rem;font-weight:500}.poster{margin:0;box-shadow:0 30px 80px #0009}.poster img{aspect-ratio:2/3;object-fit:cover}
.statement{min-height:48vh;display:grid;place-items:center;text-align:center;padding:80px 7vw;background:linear-gradient(#000b,#000d),url("assets/portrait-3.jpg") center 40%/cover no-repeat;background-attachment:fixed}.rule{display:block;width:70px;height:1px;background:var(--gold);margin:0 auto 24px}.statement blockquote{font:500 clamp(2.7rem,5vw,5.2rem)/1 "Cormorant Garamond",serif;margin:0}
.photo{height:690px;overflow:hidden}.photo img{height:100%;object-fit:cover;object-position:center;filter:brightness(.76) contrast(1.08)}.legacy-image{margin:0;background:#000}.legacy-image img{max-height:740px;object-fit:contain}
.voices{background:#0a0b0c}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:46px}.section-head h2{margin-bottom:0}.section-head>p{max-width:340px;color:#918b82;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{border:1px solid var(--line);padding:25px;background:#111315;min-height:155px;transition:.25s}.card:hover{transform:translateY(-3px);border-color:#b9873e88}.card b{display:block;font:600 1.45rem "Cormorant Garamond",serif;margin-bottom:8px}.card span{display:block;color:#aaa399;font-size:.78rem;margin-bottom:18px}.card em{color:var(--gold2);font-size:.78rem;font-style:normal}
.gallery{background:#050506}.grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:300px;gap:12px}.g{padding:0;border:0;overflow:hidden;background:#111;cursor:zoom-in}.g.wide{grid-column:span 2}.g.tall{grid-row:span 2}.g img{height:100%;object-fit:cover;transition:.4s}.g:hover img{transform:scale(1.025);filter:brightness(1.06)}
.team{background:var(--cream);color:#111}.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:55px 0}.credits div{border-top:1px solid #0003;padding-top:18px}.credits strong{font:600 1.7rem "Cormorant Garamond",serif}.music{border-top:1px solid #0003;padding-top:34px}.music p:not(.eyebrow){margin-bottom:8px}
.watch{min-height:65vh;display:grid;place-items:center;text-align:center;padding:90px 7vw;background:linear-gradient(#000b,#000e),url("assets/still-red.jpg") center/cover no-repeat}.watch-inner{max-width:800px}.watch-inner>p{color:#d8d0c5}.watch .eyebrow{color:var(--gold2)}
footer{display:flex;justify-content:space-between;gap:20px;padding:28px 4vw;color:#777168;border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.13em;font-size:.66rem}
dialog{border:0;padding:0;background:#000;max-width:min(94vw,1200px);max-height:94vh}dialog::backdrop{background:#000e}dialog img{max-height:92vh;object-fit:contain}.close{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:0;background:#000b;color:#fff;font-size:1.5rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu{display:block}.header nav{display:none;position:absolute;top:70px;right:4vw;flex-direction:column;align-items:stretch;min-width:220px;background:#050505f7;padding:20px;border:1px solid var(--line)}.header nav.open{display:flex}.split,.ant,.legacy{grid-template-columns:1fr}.poster{max-width:550px;margin:25px auto 0}.photo{height:600px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr 1fr}.statement{background-attachment:scroll}}
@media(max-width:650px){.header{padding:17px 18px}.brand{font-size:1.25rem}.hero{min-height:94svh}.hero-bg{background-position:57% center}.hero-shade{background:linear-gradient(0deg,#000 0%,#000c 42%,#0005 100%)}.hero-copy{align-self:flex-end;margin:0 20px 50px;width:calc(100vw - 40px);padding-top:120px}h1{font-size:clamp(4.5rem,23vw,6.2rem)}.section{padding:86px 22px}.facts{grid-template-columns:1fr}.photo{height:480px}.section-head{display:block}.cards{grid-template-columns:1fr}.grid{display:block}.g{height:330px;width:100%;margin-bottom:10px}.g.tall,.g.wide{height:390px}.credits{grid-template-columns:1fr}footer{flex-direction:column}.legacy-image img{max-height:none}}


.video-section{
  padding:110px 7vw;
  background:#050506;
  text-align:center;
}
.video-copy{
  max-width:820px;
  margin:0 auto 36px;
}
.video-copy h2{
  font:500 clamp(2.9rem,5.8vw,5.5rem)/.96 "Cormorant Garamond",serif;
  margin-bottom:10px;
}
.video-copy>p:not(.eyebrow){
  color:#cfc7bc;
}
.video-frame{
  width:min(1180px,100%);
  margin:0 auto;
  aspect-ratio:16/9;
  background:#000;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.08);
}
.video-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.video-button{
  margin-top:26px;
}
@media(max-width:650px){
  .video-section{padding:82px 18px;}
}


.journey-section{
  padding:115px 7vw;
  background:
    linear-gradient(180deg, rgba(4,5,6,.96), rgba(4,5,6,.9)),
    url("assets/journey-collage-1.png") center/cover no-repeat;
}
.journey-copy{
  max-width:880px;
  margin-bottom:44px;
}
.journey-copy h2{
  font:500 clamp(2.9rem,5.8vw,5.5rem)/.96 "Cormorant Garamond",serif;
  margin-bottom:24px;
}
.journey-copy p:not(.eyebrow):not(.lead){
  color:#b8b0a5;
  line-height:1.8;
  max-width:760px;
}
.journey-collages{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.journey-image{
  padding:0;
  border:1px solid rgba(255,255,255,.1);
  background:#090a0b;
  cursor:zoom-in;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.journey-image img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.journey-image:hover img{
  transform:scale(1.02);
  filter:brightness(1.05);
}
@media(max-width:800px){
  .journey-collages{grid-template-columns:1fr}
}
@media(max-width:650px){
  .journey-section{padding:86px 22px}
}


.team{
  background:var(--cream);
  color:#111;
}
.team-intro{
  max-width:900px;
  margin-bottom:55px;
}
.team-intro>p:not(.eyebrow){
  max-width:760px;
  color:#5f5951;
  line-height:1.8;
}
.bio-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:60px;
}
.bio-card{
  background:#f8f4ec;
  border:1px solid rgba(0,0,0,.12);
  overflow:hidden;
}
.headshot-placeholder{
  min-height:330px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  background:
    radial-gradient(circle at 50% 35%,rgba(185,135,62,.18),transparent 32%),
    linear-gradient(145deg,#181818,#050505);
  color:#d2aa68;
}
.headshot-placeholder span{
  font-family:"Bebas Neue",sans-serif;
  font-size:5.2rem;
  letter-spacing:.06em;
}
.headshot-placeholder small{
  color:#8e887f;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.62rem;
}
.bio-copy{
  padding:28px;
}
.bio-copy h3{
  margin:0 0 14px;
  font:600 2rem "Cormorant Garamond",serif;
}
.bio-copy>p:not(.eyebrow){
  color:#5d574f;
  line-height:1.75;
}
.bio-note{
  font-size:.78rem;
  font-style:italic;
}
.projects-section{
  padding:115px 7vw;
  background:#08090a;
}
.projects-copy{
  max-width:850px;
  margin-bottom:48px;
}
.projects-copy h2{
  font:500 clamp(2.9rem,5.8vw,5.5rem)/.96 "Cormorant Garamond",serif;
  margin-bottom:24px;
}
.projects-copy>p:not(.eyebrow){
  color:#b8b0a5;
  line-height:1.8;
}
.project-feature{
  display:grid;
  grid-template-columns:.6fr 1fr;
  gap:6vw;
  align-items:center;
  max-width:1050px;
}
.project-feature figure{
  margin:0;
  max-width:330px;
  box-shadow:0 28px 70px rgba(0,0,0,.52);
}
.project-feature h3{
  margin:0 0 8px;
  font:600 clamp(2.4rem,4vw,4rem) "Cormorant Garamond",serif;
}
.project-feature p{
  color:#b7afa4;
  line-height:1.7;
}
@media(max-width:980px){
  .bio-grid{grid-template-columns:1fr 1fr}
  .project-feature{grid-template-columns:1fr}
}
@media(max-width:650px){
  .bio-grid{grid-template-columns:1fr}
  .headshot-placeholder{min-height:290px}
  .projects-section{padding:86px 22px}
}


.headshot-photo{
  min-height:330px;
  overflow:hidden;
  background:#090a0b;
}
.headshot-photo img{
  width:100%;
  height:330px;
  object-fit:cover;
  object-position:center 28%;
}
@media(max-width:650px){
  .headshot-photo,
  .headshot-photo img{height:310px;min-height:310px;}
}


.circle-headshot{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8f4ec;
  padding:28px;
}
.circle-headshot img{
  width:260px;
  height:260px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
}
.bio-links,.company-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.bio-links a{
  display:inline-flex;
  padding:8px 11px;
  border:1px solid rgba(0,0,0,.18);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#2c2925;
}
.bio-links a:hover{
  border-color:var(--gold);
  color:#8a632a;
}
.company-links{
  margin-top:26px;
}
footer a:hover{
  color:var(--gold2);
}
@media(max-width:650px){
  .circle-headshot img{width:220px;height:220px;}
}


/* --- Mobile readiness pass --- */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
img, iframe, video{
  max-width:100%;
}
button, a{
  -webkit-tap-highlight-color:transparent;
}
.header{
  padding-top:max(17px, env(safe-area-inset-top));
  padding-left:max(18px, env(safe-area-inset-left));
  padding-right:max(18px, env(safe-area-inset-right));
}
.hero-copy{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
.video-frame iframe{
  min-height:1px;
}
dialog{
  width:min(94vw,1200px);
  max-width:94vw;
}
dialog img{
  max-width:100%;
}
@media (hover:none){
  .card:hover,
  .g:hover img,
  .journey-image:hover img{
    transform:none;
    filter:none;
  }
}
@media(max-width:768px){
  .header{
    background:rgba(5,5,5,.94);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .header nav{
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    width:auto;
    max-height:calc(100svh - 95px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:14px;
    border-radius:8px;
    box-shadow:0 20px 55px rgba(0,0,0,.45);
  }
  .header nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:0 10px;
  }
  .nav-cta{
    justify-content:center;
  }
  .menu{
    min-width:48px;
    min-height:44px;
    border-radius:6px;
  }
  .hero{
    min-height:100svh;
  }
  .hero-copy{
    margin-bottom:max(42px, env(safe-area-inset-bottom));
  }
  .hero .quote br{
    display:none;
  }
  .actions{
    width:100%;
  }
  .actions .btn{
    flex:1 1 100%;
    width:100%;
  }
  .section,
  .journey-section,
  .projects-section,
  .video-section{
    padding-left:20px;
    padding-right:20px;
  }
  .section h2,
  .watch h2,
  .video-copy h2,
  .journey-copy h2,
  .projects-copy h2{
    overflow-wrap:anywhere;
  }
  .poster{
    width:min(100%,420px);
  }
  .photo{
    height:auto;
    aspect-ratio:4/5;
  }
  .photo img{
    height:100%;
  }
  .legacy-image img{
    width:100%;
    height:auto;
  }
  .cards{
    gap:12px;
  }
  .card{
    min-height:auto;
    padding:22px;
  }
  .grid{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .g,
  .g.wide,
  .g.tall{
    grid-column:auto;
    grid-row:auto;
    height:auto;
    aspect-ratio:4/3;
  }
  .g img{
    height:100%;
  }
  .journey-collages{
    grid-template-columns:1fr;
  }
  .journey-image img{
    aspect-ratio:16/10;
  }
  .bio-grid{
    grid-template-columns:1fr;
  }
  .bio-card{
    width:100%;
  }
  .headshot-photo,
  .headshot-placeholder{
    min-height:0;
  }
  .headshot-photo img{
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .circle-headshot{
    min-height:0;
    padding:24px;
  }
  .circle-headshot img{
    width:min(72vw,250px);
    height:min(72vw,250px);
  }
  .bio-links{
    gap:8px;
  }
  .bio-links a{
    min-height:42px;
    align-items:center;
  }
  .project-feature{
    grid-template-columns:1fr;
  }
  .project-feature figure{
    width:min(100%,360px);
    margin-inline:auto;
  }
  .company-links .btn,
  .video-button{
    width:100%;
  }
  .video-frame{
    width:100%;
    aspect-ratio:16/9;
  }
  footer{
    padding-left:max(20px, env(safe-area-inset-left));
    padding-right:max(20px, env(safe-area-inset-right));
    padding-bottom:max(28px, env(safe-area-inset-bottom));
  }
}
@media(max-width:430px){
  .brand{
    max-width:68vw;
    line-height:1;
  }
  .hero-copy{
    margin-left:18px;
    margin-right:18px;
    width:calc(100vw - 36px);
  }
  h1{
    font-size:clamp(4.2rem,22vw,5.7rem);
    line-height:.76;
  }
  .sub{
    font-size:1.22rem;
  }
  .quote{
    font-size:1.05rem;
    margin:20px 0 24px;
  }
  .section,
  .journey-section,
  .projects-section,
  .video-section{
    padding-top:74px;
    padding-bottom:74px;
    padding-left:18px;
    padding-right:18px;
  }
  .section h2,
  .video-copy h2,
  .journey-copy h2,
  .projects-copy h2{
    font-size:clamp(2.5rem,13vw,3.5rem);
  }
  .lead{
    font-size:1.28rem;
  }
  .facts{
    gap:13px;
  }
  .section-head{
    margin-bottom:30px;
  }
  .card b{
    font-size:1.35rem;
  }
  .bio-copy{
    padding:22px;
  }
  .bio-copy h3{
    font-size:1.8rem;
  }
  .statement{
    min-height:42vh;
    padding:65px 18px;
  }
  .statement blockquote{
    font-size:clamp(2.3rem,12vw,3.4rem);
  }
  .journey-image img{
    aspect-ratio:4/3;
  }
  .g,
  .g.wide,
  .g.tall{
    aspect-ratio:1/1;
  }
  .video-section{
    padding-bottom:max(74px, calc(50px + env(safe-area-inset-bottom)));
  }
}
