:root{
  --bg:#090909; --black:#050505; --panel:#101010; --panel2:#171717;
  --text:#f0ece6; --muted:#aaa39a; --line:#2b2b2b; --red:#ffffff;
  --display:"Bodoni Moda",Didot,"Times New Roman",serif;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Montserrat",Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300} img{display:block;max-width:100%} a{color:inherit;text-decoration:none} button{font:inherit}
.site-header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(6,6,6,.96);border-bottom:1px solid #202020;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:15px}.brand img{width:62px;height:62px;object-fit:contain;border-radius:50%}.brand strong{display:block;font:500 29px/1 var(--display);letter-spacing:.07em}.brand small{display:block;margin-top:7px;font-size:9px;letter-spacing:.28em;color:#b6afa7}.site-header nav{display:flex;align-items:center;gap:31px;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.site-header nav a{padding:12px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--red)}.site-header .contact-link{border:1px solid #666;padding:12px 18px}.menu{display:none;color:white;background:none;border:0;font-size:24px}

/* Hero: original photo is not retouched. CSS masking only blends the photograph into the page background. */
.hero{min-height:calc(100vh - 92px);position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 72% 45%,#222 0,#121212 30%,#080808 67%,#050505 100%);border-bottom:1px solid var(--line)}
.hero-photo{position:absolute;z-index:1;inset:0 0 0 36%;background-image:url("assets/hero.JPG");background-repeat:no-repeat;background-position:center right;background-size:contain;filter:none;opacity:1;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 6%,#000 28%,#000 93%,rgba(0,0,0,.8) 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 94%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 6%,#000 28%,#000 93%,rgba(0,0,0,.8) 100%)}
.hero:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#060606 0%,rgba(6,6,6,.98) 28%,rgba(6,6,6,.70) 43%,rgba(6,6,6,.12) 66%,rgba(6,6,6,0) 82%);pointer-events:none}
.hero-copy{width:min(49vw,780px);padding:8vh 3vw 8vh 5vw;position:relative;z-index:3}.eyebrow{margin:0 0 24px;font-size:10px;letter-spacing:.31em;font-weight:500;color:#c5beb6}.eyebrow.red{color:#ffffff}.hero h1,.about h2,.section-heading h2,.results h2,.career h2,.contact h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(58px,6.35vw,108px);line-height:.92}.hero h1 em{font-family:var(--serif);font-weight:400;color:#ddd5cc}.hero .lead{max-width:620px;margin:33px 0;color:#bdb5ac;font-size:15px;line-height:1.85}.hero .lead strong{color:#f1ede7;font-weight:500}.buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;border:1px solid #737373;padding:15px 24px;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.btn-red{background:var(--red);border-color:var(--red);color:white}

.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:0;min-height:800px;background:#111;border-bottom:1px solid var(--line)}.about-image-single{position:relative;overflow:hidden;background:linear-gradient(90deg,#0a0a0a,#121212);display:flex;align-items:center;justify-content:center;padding:6vh 2vw 6vh 4vw}.about-image-single:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#111 100%);pointer-events:none}.about-image-single img{width:100%;height:100%;max-height:730px;object-fit:contain;object-position:center;background:#0d0d0d}.about-copy{padding:9vh 6.5vw 9vh 5vw;align-self:center}.about h2,.section-heading h2,.results h2,.career h2,.contact h2{font-size:clamp(46px,5vw,82px);line-height:.95}.about h2 em,.section-heading h2 em,.results h2 em,.career h2 em,.contact h2 em{font-family:var(--serif);font-weight:400;color:#d0c8bf}.about-copy>p:not(.eyebrow):not(.pullquote){font-size:14px;line-height:1.95;color:#b9b2a9;max-width:780px}.about-copy strong,.career-copy strong{color:#f0ece6;font-weight:500}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:34px 0 0;padding-top:26px;border-top:1px solid #2a2a2a}.credentials-grid>div+div{border-left:1px solid #292929;padding-left:34px}.mini-title{display:block;color:#ffffff;font-size:9px;font-weight:500;letter-spacing:.18em;margin-bottom:12px}.credentials-grid p{margin:0 0 12px;color:#aaa39a;font:400 17px/1.55 var(--serif)}.credentials-grid .choreographers{font:300 11px/1.7 var(--sans);color:#77716b}.pullquote{font:italic 27px/1.25 var(--serif);color:#777067;border-left:1px solid var(--red);padding-left:22px;margin-top:34px}

.programs{padding:10vh 5vw;background:#090909;border-bottom:1px solid var(--line)}.section-heading{margin-bottom:55px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.program-grid article{min-height:290px;padding:32px 28px;background:#0d0d0d;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.program-grid article:hover{background:#151515}.program-grid span{font:italic 24px var(--serif);color:#ffffff}.program-grid h3{font:400 34px/1.06 var(--display);margin:34px 0 18px}.program-grid p{font-size:12px;line-height:1.8;color:#9c958e}
.results{padding:10vh 5vw;background:#131313;border-bottom:1px solid var(--line)}.results-title{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:48px}.results-title .eyebrow,.results-title h2{grid-column:1}.results-title>p:last-child{grid-column:2;grid-row:1/3;color:#aaa39b;line-height:1.85;margin:0;align-self:end}.result-cards{display:grid;grid-template-columns:1.25fr 1fr 1fr;border:1px solid var(--line);background:#0c0c0c}.result-card{padding:34px;border-right:1px solid var(--line);min-height:320px}.result-card:last-child{border-right:0}.result-card.featured{background:#0f0f0f}.result-number{font:400 clamp(60px,6vw,96px)/.9 var(--display);color:#ffffff;letter-spacing:-.06em}.result-number sup{font:500 18px var(--sans);letter-spacing:.05em;margin-left:4px}.result-card h3{font:400 29px/1.05 var(--display);margin:28px 0 16px}.result-card p{font:400 17px/1.55 var(--serif);color:#e6dfd7}.result-card small{display:block;color:#8f8982;line-height:1.65;font-size:10px}.results-note{max-width:980px;margin:18px 0 50px;color:#77716a;font-size:9px;line-height:1.7;letter-spacing:.04em}.gallery-label{display:flex;justify-content:space-between;gap:20px;margin:0 0 14px;color:#837c74;font-size:9px;letter-spacing:.19em;text-transform:uppercase}
.awards-label{margin-top:50px}.performance-label{margin-top:56px}.award-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:360px;gap:9px}.award-gallery .award-wide{grid-column:span 2}.award-gallery .gallery-item img{object-fit:cover}.award-gallery .award-wide img{object-position:center 42%}
.student-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:340px;gap:9px}.gallery-item{border:0;padding:0;background:#080808;cursor:zoom-in;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.018)}.student-gallery .group{grid-column:span 2;grid-row:span 2}.student-gallery .group img{object-position:center 35%}
.career{padding:10vh 5vw;background:#090909;border-bottom:1px solid var(--line)}.career-copy{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end;margin-bottom:54px}.career-copy .eyebrow{grid-column:1/-1;margin-bottom:-28px}.career-copy>p:not(.eyebrow){font-size:14px;color:#aaa39b;line-height:1.9;margin:0}.career-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #252525;border-bottom:1px solid #252525}.career-list span{padding:18px 12px 18px 0;color:#b0a89f;font:italic 19px var(--serif);border-right:1px solid #252525}.career-list span:last-child{border:0}.career-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:420px;gap:9px}.career-gallery .gallery-item img{object-fit:cover}
.contact{padding:11vh 7vw;display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#121212}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:20px;color:#b7afa7;line-height:1.75}.contact-details>a:not(.btn){font:400 23px var(--serif);color:#f0ece6;border-bottom:1px solid #555}.contact-details .btn{margin-top:8px}
footer{padding:30px 5vw;display:flex;justify-content:space-between;align-items:center;background:#050505;border-top:1px solid #1c1c1c;color:#6f6963;font-size:9px;letter-spacing:.13em}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:46px;height:46px;object-fit:contain;border-radius:50%}
dialog{padding:0;border:0;background:#050505;max-width:92vw;max-height:92vh}dialog::backdrop{background:rgba(0,0,0,.92)}dialog img{max-height:88vh;max-width:88vw;object-fit:contain}dialog button{position:absolute;right:9px;top:5px;background:rgba(0,0,0,.75);color:#fff;border:0;font-size:30px;z-index:2;cursor:pointer}

@media(max-width:1050px){.program-grid{grid-template-columns:1fr 1fr}.career-list{grid-template-columns:1fr 1fr}.career-list span:nth-child(2){border-right:0}.hero-copy{width:57vw}.hero-photo{inset:0 0 0 29%}.hero h1{font-size:clamp(54px,7.4vw,86px)}.about{grid-template-columns:.9fr 1.1fr}.credentials-grid{grid-template-columns:1fr}.credentials-grid>div+div{border-left:0;padding-left:0;border-top:1px solid #292929;padding-top:24px}}
@media(max-width:820px){.award-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:320px}.award-gallery .award-wide{grid-column:span 2}.site-header{height:75px}.brand img{width:48px;height:48px}.brand strong{font-size:21px}.site-header nav{display:none;position:absolute;left:0;right:0;top:75px;background:#080808;padding:25px 5vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu{display:block}.hero{min-height:900px;align-items:flex-start}.hero-photo{inset:34% -8% 0 0;background-position:center bottom;background-size:contain;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 100%)}.hero:after{background:linear-gradient(180deg,#060606 0%,rgba(6,6,6,.96) 34%,rgba(6,6,6,.45) 48%,rgba(6,6,6,0) 68%)}.hero-copy{width:100%;padding:8vh 6vw 4vh}.about{grid-template-columns:1fr}.about-image-single{padding:5vh 8vw 0;min-height:620px}.about-image-single:after{background:linear-gradient(180deg,transparent 75%,#111 100%)}.about-copy{padding:7vh 6vw 8vh}.results-title,.career-copy,.contact{grid-template-columns:1fr;gap:32px}.results-title .eyebrow,.results-title h2,.results-title>p:last-child{grid-column:1;grid-row:auto}.result-cards{grid-template-columns:1fr}.result-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.student-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:280px}.career-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.contact{padding:9vh 6vw}.results,.career,.programs{padding:9vh 6vw}.gallery-label{flex-direction:column}.career-list{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.award-gallery{grid-template-columns:1fr;grid-auto-rows:440px}.award-gallery .award-wide{grid-column:auto}.brand div{display:none}.hero{min-height:780px}.hero h1{font-size:clamp(46px,14vw,68px)}.hero-photo{inset:45% -22% 0 -10%;background-position:center bottom}.buttons{display:grid}.btn{width:100%;text-align:center}.about-image-single{min-height:500px;padding:4vh 4vw 0}.about-image-single img{max-height:520px}.program-grid{grid-template-columns:1fr}.student-gallery{grid-template-columns:1fr;grid-auto-rows:390px}.student-gallery .group{grid-column:auto;grid-row:auto}.career-gallery{grid-template-columns:1fr;grid-auto-rows:460px}.career-list{grid-template-columns:1fr}.career-list span{border-right:0;border-bottom:1px solid #252525}.career-list span:last-child{border-bottom:0}footer{flex-direction:column;gap:18px;align-items:flex-start}.credentials-grid{gap:22px}}

/* ===== V9 monochrome direction: black / white / layered gray ===== */
:root{
  --bg:#111111;
  --black:#060606;
  --panel:#181818;
  --panel2:#242424;
  --text:#ffffff;
  --muted:#eeeeee;
  --line:rgba(255,255,255,.16);
  --red:#ffffff;
}
body{
  color:#fff;
  background:
    radial-gradient(circle at 82% 8%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,#050505 0%,#171717 40%,#303030 72%,#101010 100%);
  background-attachment:fixed;
}
.site-header{background:rgba(10,10,10,.90);border-bottom:1px solid rgba(255,255,255,.14)}
.site-header nav a:hover{border-color:#fff}
.site-header .contact-link{border-color:rgba(255,255,255,.7)}
.brand small,.eyebrow,.eyebrow.red,.mini-title{color:#fff}
.hero{background:linear-gradient(112deg,#050505 0%,#151515 43%,#404040 100%)}
.hero:after{background:linear-gradient(90deg,#060606 0%,rgba(6,6,6,.97) 28%,rgba(12,12,12,.68) 44%,rgba(28,28,28,.16) 69%,rgba(40,40,40,0) 84%)}
.hero h1 em,.about h2 em,.section-heading h2 em,.results h2 em,.career h2 em,.contact h2 em{color:#fff}
.hero .lead,.about-copy>p:not(.eyebrow):not(.pullquote),.program-grid p,.results-title>p:last-child,.result-card small,.results-note,.career-copy>p:not(.eyebrow),.contact-details,.credentials-grid .choreographers,.career-list span,.brand small{color:#e8e8e8}
.btn,.btn-primary{background:transparent;border-color:rgba(255,255,255,.70);color:#fff}
.btn:hover,.btn-primary:hover{background:#fff;color:#0a0a0a}
.about{background:linear-gradient(135deg,#111 0%,#2b2b2b 58%,#151515 100%)}
.about-image-single{background:linear-gradient(135deg,#0c0c0c,#303030)}
.about-image-single:after{background:linear-gradient(90deg,transparent 58%,#242424 100%)}
.credentials-grid,.credentials-grid>div+div{border-color:rgba(255,255,255,.14)}
.credentials-grid p{color:#f0f0f0}
.pullquote{color:#fff;border-left-color:#fff}
.programs{background:linear-gradient(160deg,#090909,#222 54%,#101010)}
.program-grid{border-color:rgba(255,255,255,.16)}
.program-grid article{background:rgba(12,12,12,.68);border-color:rgba(255,255,255,.16)}
.program-grid article:hover{background:rgba(255,255,255,.07)}
.program-grid span{color:#fff}
.results{background:linear-gradient(140deg,#292929 0%,#141414 46%,#050505 100%)}
.result-cards{background:rgba(8,8,8,.72);border-color:rgba(255,255,255,.16)}
.result-card,.result-card.featured{background:transparent;border-color:rgba(255,255,255,.16)}
.result-number{color:#fff}
.result-card p{color:#fff}
.gallery-label{color:#e6e6e6}
.career{background:linear-gradient(145deg,#070707,#212121 60%,#0c0c0c)}
.career-list{border-color:rgba(255,255,255,.16)}
.career-list span{border-color:rgba(255,255,255,.16);color:#fff}
.contact{background:linear-gradient(135deg,#2d2d2d,#0b0b0b 78%)}
.contact-details>a:not(.btn){color:#fff;border-color:#fff}
footer{background:#050505;color:#fff;border-color:rgba(255,255,255,.14)}

.about-portrait-inline{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  align-items:center;
  margin:34px 0 0;
  padding:24px 0;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.about-portrait-inline img{width:150px;height:190px;object-fit:cover;object-position:center 24%;filter:none}
.about-portrait-inline p{margin:8px 0 12px;color:#ededed;font-size:12px;line-height:1.75}
.text-link{font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:4px}

/* Bio page */
.bio-page{background:linear-gradient(145deg,#050505 0%,#1d1d1d 48%,#383838 100%)}
.bio-hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.16);background:linear-gradient(110deg,#050505 0%,#151515 48%,#3b3b3b 100%)}
.bio-hero-copy{padding:11vh 5vw 8vh 6vw;display:flex;flex-direction:column;justify-content:center}
.bio-hero h1{font:400 clamp(70px,8vw,138px)/.88 var(--display);letter-spacing:-.045em;margin:0;color:#fff}
.bio-hero h1 em{font-family:var(--serif);font-weight:400;color:#fff}
.bio-intro{max-width:760px;font-size:15px;line-height:1.95;color:#f0f0f0;margin:36px 0 0}
.bio-hero-image{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:4vh 3vw 0}
.bio-hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#151515 0%,transparent 24%),linear-gradient(180deg,transparent 72%,#1b1b1b 100%);z-index:2;pointer-events:none}
.bio-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:none}
.bio-content{display:grid;grid-template-columns:320px 1fr;gap:0;background:linear-gradient(135deg,#0c0c0c,#2a2a2a 65%,#141414);border-bottom:1px solid rgba(255,255,255,.16)}
.bio-sidebar{padding:9vh 3vw 8vh 5vw;border-right:1px solid rgba(255,255,255,.16);position:sticky;top:92px;align-self:start}
.bio-sidebar h2{font:400 54px/1 var(--display);margin:0 0 24px}.bio-sidebar p{color:#ececec;line-height:1.8;font-size:12px}.bio-sidebar .btn{margin-top:20px}
.bio-article{padding:9vh 7vw 10vh 6vw}.bio-article>section{padding:0 0 7vh;margin:0 0 7vh;border-bottom:1px solid rgba(255,255,255,.16)}.bio-article>section:last-child{border-bottom:0;margin-bottom:0}
.bio-article h2{font:400 clamp(48px,5.2vw,84px)/.95 var(--display);letter-spacing:-.035em;margin:0 0 30px}.bio-article h2 em{font-family:var(--serif);font-weight:400;color:#fff}.bio-article h3{font:400 29px/1.1 var(--display);margin:18px 0 8px}.bio-article p,.bio-article li{color:#f0f0f0;font-size:13px;line-height:1.9}.bio-article strong{color:#fff;font-weight:500}
.bio-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:70px}.clean-list{list-style:none;margin:0;padding:0}.clean-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.10)}.clean-list li:last-child{border-bottom:0}.clean-list.columns{columns:2;column-gap:34px}.clean-list.columns li{break-inside:avoid}
.bio-results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);padding:1px!important;border:0!important}.bio-results-grid article{background:#111;padding:30px}.bio-results-grid span{font-size:9px;letter-spacing:.20em;color:#fff}.bio-results-grid h3{font-size:40px;margin:16px 0}.bio-results-grid p{font-size:11px;margin:0;color:#e6e6e6}
.site-header nav a[aria-current="page"]{border-bottom-color:#fff}

@media(max-width:900px){.bio-hero{grid-template-columns:1fr}.bio-hero-image{height:720px}.bio-content{grid-template-columns:1fr}.bio-sidebar{position:static;top:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.bio-grid.two{grid-template-columns:1fr;gap:34px}.bio-results-grid{grid-template-columns:1fr}.about-portrait-inline{grid-template-columns:120px 1fr}.about-portrait-inline img{width:120px;height:160px}}
@media(max-width:540px){.bio-hero-image{height:560px}.bio-hero h1{font-size:56px}.bio-article{padding:7vh 6vw}.clean-list.columns{columns:1}.about-portrait-inline{grid-template-columns:1fr}.about-portrait-inline img{width:100%;height:360px}}

/* ===== V10: featured teaching-result photographs (original uploads, no image editing) ===== */
.featured-results-label{margin-top:76px}
.featured-performance-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:18px;
}
.featured-performance{
  min-height:430px;
  background:#090909;
  border:1px solid rgba(255,255,255,.16);
  overflow:hidden;
}
.featured-performance img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:none;
  transform:none;
}
.featured-performance:hover img{transform:scale(1.015)}
@media(max-width:900px){
  .featured-performance-grid{grid-template-columns:1fr 1fr}
  .featured-performance:last-child{grid-column:span 2}
}
@media(max-width:540px){
  .featured-performance-grid{grid-template-columns:1fr}
  .featured-performance:last-child{grid-column:auto}
  .featured-performance,.featured-performance img{min-height:360px}
}


/* ===== V11: unified student performance/results gallery ===== */
.combined-performance-label{margin-top:76px}
.combined-performance-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  gap:12px;
  margin-top:18px;
}
.combined-performance-grid .gallery-item{
  height:390px;
  min-height:0;
  background:#090909;
  border:1px solid rgba(255,255,255,.15);
  overflow:hidden;
}
.combined-performance-grid .gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:none;
}
.combined-performance-grid .performance-primary:nth-child(1),
.combined-performance-grid .performance-primary:nth-child(4),
.combined-performance-grid .performance-primary:nth-child(7){height:520px}
.combined-performance-grid .performance-primary:nth-child(2),
.combined-performance-grid .performance-primary:nth-child(3),
.combined-performance-grid .performance-primary:nth-child(5),
.combined-performance-grid .performance-primary:nth-child(6){height:520px}
.combined-performance-grid .group{grid-column:span 2}
@media(max-width:900px){
  .combined-performance-grid{grid-template-columns:1fr 1fr}
  .combined-performance-grid .gallery-item,
  .combined-performance-grid .performance-primary:nth-child(n){height:380px}
  .combined-performance-grid .group{grid-column:span 2}
}
@media(max-width:540px){
  .combined-performance-grid{grid-template-columns:1fr}
  .combined-performance-grid .gallery-item,
  .combined-performance-grid .performance-primary:nth-child(n){height:360px}
  .combined-performance-grid .group{grid-column:auto}
}

/* ===== V12: biography stage gallery + deduplicated student gallery ===== */
.award-gallery .award-latest{grid-row:span 2;min-height:520px}
.award-gallery .award-latest img{object-position:center 24%}
.bio-stage-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:38px;
}
.bio-stage-gallery img{
  width:100%;
  height:330px;
  object-fit:cover;
  object-position:center;
  display:block;
  border:1px solid rgba(255,255,255,.14);
  filter:none;
}
.bio-stage-gallery img:nth-child(1),
.bio-stage-gallery img:nth-child(5){grid-column:span 2}
@media(max-width:900px){
  .bio-stage-gallery{grid-template-columns:1fr 1fr}
  .bio-stage-gallery img,.bio-stage-gallery img:nth-child(1),.bio-stage-gallery img:nth-child(5){grid-column:auto;height:300px}
  .award-gallery .award-latest{grid-row:auto;min-height:420px}
}
@media(max-width:540px){
  .bio-stage-gallery{grid-template-columns:1fr}
  .bio-stage-gallery img{height:330px}
}

/* ===== V14: award placement + requested six-image bio sequence ===== */
.award-gallery .award-latest{grid-row:auto;min-height:0}
.award-gallery .award-latest img{object-fit:cover;object-position:center 30%}
.bio-stage-gallery img{object-fit:cover}

/* ===== V15: Bio career photos — preserve the full dancer/subjects =====
   Original uploaded photographs are unchanged. The page uses contain-fit so
   no head, hands, feet, limbs, or partner are cropped out. */
.bio-stage-gallery{
  grid-auto-rows:minmax(460px, 68vh);
  align-items:stretch;
}
.bio-stage-gallery img,
.bio-stage-gallery img:nth-child(1),
.bio-stage-gallery img:nth-child(5){
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505;
  padding:8px;
}
@media(max-width:900px){
  .bio-stage-gallery{grid-auto-rows:minmax(380px, 62vh)}
  .bio-stage-gallery img,
  .bio-stage-gallery img:nth-child(1),
  .bio-stage-gallery img:nth-child(5){height:100%;padding:6px}
}
@media(max-width:540px){
  .bio-stage-gallery{grid-auto-rows:minmax(420px, 70vh)}
  .bio-stage-gallery img{height:100%;padding:4px}
}

/* ===== V16: requested Bio stage-photo composition =====
   1 full row; 2 + 3 share one row; 4 full row; 5 + 6 share one row.
   All original images remain untouched and use contain-fit so people are never cropped. */
.bio-stage-gallery{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:12px;
  align-items:stretch;
}
.bio-stage-gallery img,
.bio-stage-gallery img:nth-child(1),
.bio-stage-gallery img:nth-child(2),
.bio-stage-gallery img:nth-child(3),
.bio-stage-gallery img:nth-child(4),
.bio-stage-gallery img:nth-child(5),
.bio-stage-gallery img:nth-child(6){
  grid-column:auto;
  width:100%;
  height:560px;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505;
  padding:8px;
}
.bio-stage-gallery img:nth-child(1),
.bio-stage-gallery img:nth-child(4){
  grid-column:1 / -1 !important;
  height:min(760px,78vh);
}
/* The fourth image is the gold-costume arabesque: give it a generous solo row. */
.bio-stage-gallery img:nth-child(4){
  min-height:620px;
}
@media(max-width:900px){
  .bio-stage-gallery img,
  .bio-stage-gallery img:nth-child(1),
  .bio-stage-gallery img:nth-child(2),
  .bio-stage-gallery img:nth-child(3),
  .bio-stage-gallery img:nth-child(4),
  .bio-stage-gallery img:nth-child(5),
  .bio-stage-gallery img:nth-child(6){height:480px}
  .bio-stage-gallery img:nth-child(1),
  .bio-stage-gallery img:nth-child(4){height:min(680px,72vh);min-height:0}
}
@media(max-width:600px){
  .bio-stage-gallery{grid-template-columns:1fr !important}
  .bio-stage-gallery img,
  .bio-stage-gallery img:nth-child(1),
  .bio-stage-gallery img:nth-child(2),
  .bio-stage-gallery img:nth-child(3),
  .bio-stage-gallery img:nth-child(4),
  .bio-stage-gallery img:nth-child(5),
  .bio-stage-gallery img:nth-child(6){grid-column:1 !important;height:520px;min-height:0}
}

/* ===== V18: user-defined performance photo sequence; preserve every dancer ===== */
.combined-performance-grid.new-sequence{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  grid-auto-flow:row;
  gap:12px;
}
.combined-performance-grid.new-sequence .gallery-item,
.combined-performance-grid.new-sequence .gallery-item:nth-child(n){
  height:auto;
  min-height:0;
  background:#090909;
  border:1px solid rgba(255,255,255,.15);
  overflow:hidden;
}
.combined-performance-grid.new-sequence .gallery-item img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
}
.combined-performance-grid.new-sequence .group{grid-column:span 2}
@media(max-width:900px){
  .combined-performance-grid.new-sequence{grid-template-columns:1fr 1fr}
  .combined-performance-grid.new-sequence .gallery-item,
  .combined-performance-grid.new-sequence .gallery-item:nth-child(n){height:auto}
  .combined-performance-grid.new-sequence .group{grid-column:span 2}
}
@media(max-width:540px){
  .combined-performance-grid.new-sequence{grid-template-columns:1fr}
  .combined-performance-grid.new-sequence .gallery-item,
  .combined-performance-grid.new-sequence .gallery-item:nth-child(n){height:auto}
  .combined-performance-grid.new-sequence .group{grid-column:auto}
}

/* V19 bilingual hero title + photography credit */
.hero-punct{font-size:.62em;vertical-align:.08em;letter-spacing:0;margin-left:.02em}
.hero-title-cn{margin:20px 0 0;color:#f1f1f1;font-size:13px;line-height:1.75;letter-spacing:.16em;font-weight:300}
.photo-credit{margin:18px 0 0;text-align:right;color:#aaa;font-size:9px;line-height:1.75;letter-spacing:.08em}
.photo-credit span{display:block}
.photo-credit a{color:#d8d8d8;border-bottom:1px solid rgba(255,255,255,.25)}
@media(max-width:820px){.photo-credit{text-align:left}.hero-title-cn{font-size:12px;letter-spacing:.11em}}


/* ===== V20: full English / Chinese site versions ===== */
.lang-link{font-size:11px;letter-spacing:.12em;opacity:.72;padding-left:16px}
.lang-link:hover{opacity:1}
.zh-page{font-family:"Montserrat","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.zh-page h1,.zh-page h2,.zh-page h3,.zh-page .pullquote,.zh-page .bio-intro{letter-spacing:.02em}
.zh-page h1 em,.zh-page h2 em{font-family:"Cormorant Garamond","Songti SC","STSong",serif;font-style:normal}
.zh-page p{line-height:1.9}
.zh-page .eyebrow,.zh-page .mini-title,.zh-page .gallery-label{letter-spacing:.14em}
.zh-page .hero-copy h1{line-height:1.24}
@media(max-width:820px){.lang-link{padding-left:0}}
