*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f3eee6;color:#241c18;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block}
header{position:absolute;z-index:20;top:0;left:0;right:0;height:88px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;color:#fffaf3;border-bottom:1px solid rgba(255,255,255,.3)}
.brand,nav a{text-transform:uppercase;letter-spacing:.18em;font-size:12px}
.brand{font-weight:600}
nav{display:flex;gap:32px}
.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;color:#fffaf3;background:#211815}
.hero>img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover;object-position:center 24%;transform:scale(1.02);transform-origin:center}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,#211815 0%,#211815 35%,rgba(33,24,21,.85) 48%,transparent 72%),linear-gradient(0deg,rgba(15,10,8,.35),transparent 55%)}
.heroText{position:absolute;z-index:2;left:clamp(24px,7vw,110px);bottom:clamp(90px,14vh,155px)}
.eyebrow{margin:0 0 24px;color:#d8b98c;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:600}
.hero h1{margin:0;font:400 clamp(74px,12vw,180px)/.76 "Bodoni 72","Didot",Georgia,serif;letter-spacing:-.035em}
.heroText>p:last-child{margin:32px 0 0 8px;font-size:clamp(15px,1.5vw,20px)}
.down{position:absolute;z-index:2;right:5vw;bottom:40px;width:52px;height:52px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:22px}
.section{padding:clamp(80px,11vw,160px) clamp(24px,7vw,110px)}
.label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:600;white-space:nowrap}
.label span{color:#a47845;margin-right:15px}
.about{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(0,1.45fr) minmax(310px,.95fr);grid-template-areas:"label heading heading" "label body image";column-gap:clamp(36px,5vw,76px);row-gap:clamp(42px,4.8vw,68px);align-items:start}
.about>.label{grid-area:label}
.aboutCopy{display:contents}
.about h2{grid-area:heading;max-width:1000px;margin:0;font:400 clamp(46px,4.6vw,66px)/1.04 "Bodoni 72","Didot",Georgia,serif;letter-spacing:-.012em;text-wrap:balance}
.columns{grid-area:body;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,3.2vw,46px);max-width:620px}
.columns p{margin:0;color:#5f5149;font-size:16px;line-height:1.78}
.aboutImg{grid-area:image;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 50%;align-self:start}
.credits{background:#2a211d;color:#f7f1e9;display:grid;grid-template-columns:.65fr 2.5fr;gap:clamp(32px,6vw,90px)}
.credit{display:grid;grid-template-columns:130px 1fr;padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid rgba(255,255,255,.18)}
.creditWithImage{grid-template-columns:130px minmax(0,1fr) clamp(170px,19vw,245px);gap:clamp(18px,3vw,48px);align-items:center}
.credits small,.news small{color:#bc996c;letter-spacing:.12em}
.credits h2{margin:-10px 0 8px;font:400 clamp(46px,7vw,100px)/1 "Bodoni 72","Didot",Georgia,serif}
.credits p{font-size:18px;margin:0 0 8px}
.credits em{display:block;color:#aa9e96;font-size:13px;font-style:normal;line-height:1.55;max-width:640px}
.creditPhoto{margin:0;width:min(100%,225px);aspect-ratio:1/1;overflow:hidden;justify-self:end;background:#211815}
.creditPhoto img{width:100%;height:100%;object-fit:cover;display:block}
.lionKingPhoto img{object-position:48% 13%;transform:scale(1.08)}
.tinaPhoto img{object-position:31% 20%;transform:scale(1.04)}
.anniePhoto img{object-position:32% 18%;transform:scale(1.02)}
.groupCredit{grid-template-columns:130px minmax(0,1fr) clamp(240px,27vw,330px)}
.sayLessPhoto{width:min(100%,330px);aspect-ratio:3/2}
.sayLessPhoto img{object-position:center 42%}
.quote{min-height:760px;position:relative;display:grid;place-items:center;color:#fff;text-align:center}
.quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(.43) saturate(.9)}
blockquote{z-index:1;max-width:980px;padding:24px;margin:0;font:400 clamp(46px,7vw,95px)/1.08 "Bodoni 72","Didot",Georgia,serif}
.quote blockquote span{display:block}
.quote cite{display:block;margin-top:28px;color:#d8b98c;font:600 12px/1.4 "Avenir Next","Helvetica Neue",Arial,sans-serif;font-style:normal;letter-spacing:.2em;text-transform:uppercase}
.media{display:block}
.mediaContent{width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gallery,.archive{display:contents}
.gallery img{width:100%;height:100%;object-fit:cover}
.mediaFrame{display:block;aspect-ratio:4/5;overflow:hidden;background:#e7ded2}
.tallFrame img{object-position:center 50%}
.stageRedFrame img{object-position:center 38%}
.stageBlackFrame,.wideFrame{aspect-ratio:4/5}
.stageBlackFrame img{object-position:center 48%;transform:scale(1.02)}
.wideFrame img{object-position:center 48%}
.archive figure{margin:0;min-width:0}
.archiveFrame{display:block;background:#e7ded2;overflow:hidden}
.archive img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;filter:saturate(.88) contrast(1.03)}
.archive .archiveLandscape,.archive .archiveFull{grid-column:auto}
.archive .archiveLandscape img,.archive .archiveFull img{aspect-ratio:4/5;max-height:none}
.archive .annieArchiveCrop{object-position:center 40%;transform:scale(1.02)}
.archive .danceCrop{object-position:center 50%}
.archive .archiveDanceCrop{object-position:center 48%;transform:scale(1.02);filter:saturate(1.02) contrast(1.04)}
.archive .orphansCrop{object-position:center 48%;transform:scale(1.02)}
.archive .carpetCrop{object-position:center 12%;transform:scale(1.06)}
.archive .nalaCloseCrop{object-position:center 44%;transform:scale(1.22)}
.archive .nalaBackstageCrop{object-position:center 47%;transform:scale(1.1)}
.archive .openingCompanyCrop{object-position:34% 42%;transform:scale(1.12)}
.archive .tinaStageCrop{object-position:43% 46%;transform:scale(1.03);filter:saturate(1.3) contrast(1.12) brightness(.98)}
.archive .tinaCurtainCrop{object-position:28% 36%;transform:scale(1.02);filter:saturate(1.55) contrast(1.12) brightness(1.03)}
.archive .annieCurtainCrop{object-position:center 38%;transform:scale(1.02)}
.archive .annieCurtainCompanyCrop{object-position:50% 50%;filter:saturate(1.08) contrast(1.04)}
.archive .annieCurtainBiancaCrop{object-position:50% 38%;filter:saturate(1.08) contrast(1.04)}
.archive .annieDeskCrop{object-position:50% 47%;filter:saturate(.96) contrast(1.05)}
.archive .annieCurtainDuetCrop{object-position:50% 48%;filter:saturate(1.12) contrast(1.05)}
.archive .annieSceneTwoCrop{object-position:50% 42%;filter:saturate(.94) contrast(1.06)}
.archive .annieCompanyWideCrop{object-position:50% 48%;filter:saturate(.9) contrast(1.08)}
.archive .annieActionCrop{object-position:54% 48%;filter:saturate(.96) contrast(1.05)}
.archive .annieEnsembleCrop{object-position:55% 46%;filter:saturate(.9) contrast(1.08)}
.archive .nalaRafikiCrop{object-position:50% 48%;filter:saturate(1.02) contrast(1.04)}
.archive .nalaCompanyCrop{object-position:52% 46%;filter:saturate(.9) contrast(1.08)}
.archive .nalaCurtainCrop{object-position:50% 46%;filter:saturate(1.04) contrast(1.04)}
.archive .danceFabricCrop{object-position:50% 47%;filter:saturate(.94) contrast(1.06)}
.archive .danceBlueEnsembleCrop{object-position:50% 46%;filter:saturate(1.08) contrast(1.05)}
.archive .danceRedEnsembleCrop{object-fit:contain;object-position:center;background:#070405;filter:saturate(1.04) contrast(1.04)}
.galleryMore{display:none}
.mediaFrame,.archiveFrame{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(18px,4vw,54px);background:rgba(20,14,12,.94);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.lightbox.isOpen{opacity:1;visibility:visible}
.lightboxImage{display:block;max-width:min(92vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain}
.lightboxButton{position:absolute;border:1px solid rgba(255,255,255,.42);background:rgba(25,18,15,.45);color:#fffaf3;width:48px;height:48px;border-radius:50%;font:300 26px/1 Arial,sans-serif;cursor:pointer}
.lightboxClose{top:22px;right:22px;font-size:30px}
.lightboxPrev{left:22px;top:50%;transform:translateY(-50%)}
.lightboxNext{right:22px;top:50%;transform:translateY(-50%)}
body.lightboxOpen{overflow:hidden}
.credit:nth-child(2) h2{font-size:clamp(38px,5vw,72px);line-height:.96;max-width:720px}
.news{background:#e5dbcf;display:grid;grid-template-columns:.65fr 2.5fr;gap:clamp(32px,6vw,90px)}
.news article{display:grid;grid-template-columns:minmax(360px,1.4fr) minmax(300px,1fr);gap:clamp(32px,4vw,60px);align-items:center}
.newsPhotoFrame{display:block;width:150%;max-width:700px;aspect-ratio:3/2;overflow:hidden;background:#d8cdc0;justify-self:end;transform:translateX(24px)}
.newsPhotoFrame img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.news h2{margin:22px 0;font:400 clamp(40px,5vw,78px)/1.06 "Bodoni 72","Didot",Georgia,serif}
.news article p{max-width:600px;color:#62544c;line-height:1.7}
.news article a{border-bottom:1px solid #a47845;padding-bottom:8px;text-transform:uppercase;letter-spacing:.13em;font-size:12px}
.contact{padding:clamp(100px,14vw,210px) 24px;background:#36261f;color:#fff9f1;text-align:center}
.contact h2{margin:0 auto 32px;font:400 clamp(56px,9vw,130px)/.96 "Bodoni 72","Didot",Georgia,serif}
.contactIntro{max-width:720px;margin:0 auto;color:#c9bcb3;font-size:16px;line-height:1.8}
.contactIntro a{color:#fff9f1;border-bottom:1px solid #a47845;padding-bottom:2px;white-space:nowrap}
.agentContact{width:min(420px,100%);margin:52px auto 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.18)}
.agentContact span{display:block;margin-bottom:10px;color:#d8b98c;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.agentContact p{margin:0;font:400 30px/1.2 "Bodoni 72","Didot",Georgia,serif}
footer{padding:32px clamp(24px,5vw,72px);background:#211815;color:#a99c93;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.14em}
@media(max-width:900px){
  nav{gap:14px}
  .about,.credits,.media,.news{grid-template-columns:1fr}
  .about{grid-template-areas:"label" "heading" "image" "body";row-gap:36px}
  .about h2{max-width:820px}
  .aboutImg{width:min(62vw,520px);justify-self:end;max-height:none;object-position:center 50%}
  .columns{max-width:760px}
  .columns{grid-template-columns:1fr}
  .creditWithImage,.groupCredit{grid-template-columns:110px minmax(0,1fr) 190px}
  .news article{margin-top:24px}
  .newsPhotoFrame{width:100%;max-width:none;transform:none}
  .mediaContent{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(max-width:620px){
  header{height:72px}
  nav{display:none}
  .hero{min-height:620px}
  .hero>img{width:100%;object-position:center 24%;transform:scale(1.02)}
  .shade{background:linear-gradient(0deg,rgba(33,24,21,.9),rgba(33,24,21,.28) 58%,transparent 80%)}
  .hero h1{font-size:clamp(70px,24vw,118px)}
  .heroText{bottom:85px}
  .section{padding-top:78px;padding-bottom:78px}
  .about{row-gap:28px}
  .about h2{margin-top:0;font-size:clamp(40px,12.5vw,58px)}
  .aboutImg{width:100%;justify-self:stretch}
  .credit,.creditWithImage,.groupCredit{grid-template-columns:1fr;gap:18px;padding-bottom:32px}
  .credits h2{margin-top:0}
  .creditPhoto{justify-self:start;width:min(78vw,215px)}
  .sayLessPhoto{width:min(86vw,330px)}
  .quote{min-height:620px}
  .mediaContent{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gallery .mediaFrame,.gallery .stageBlackFrame,.gallery .wideFrame{grid-area:auto;height:auto;aspect-ratio:4/5}
  .archive figure:nth-child(n+9):not(.isRevealed){display:none}
  .galleryMore{display:block;grid-column:1/-1;justify-self:center;margin-top:24px;padding:11px 2px 8px;border:0;border-bottom:1px solid #a47845;background:transparent;color:#241c18;text-transform:uppercase;letter-spacing:.15em;font:600 11px/1.2 "Avenir Next","Helvetica Neue",Arial,sans-serif;cursor:pointer}
  .lightbox{padding:64px 12px}
  .lightboxImage{max-width:94vw;max-height:82vh}
  .lightboxButton{width:42px;height:42px;background:rgba(25,18,15,.72)}
  .lightboxClose{top:14px;right:14px}
  .lightboxPrev{left:10px}.lightboxNext{right:10px}
  .news article{grid-template-columns:1fr}
  footer{flex-direction:column;gap:14px;text-align:center}
}
