/* V30 responsive production layer — one site for desktop + mobile.\n   Original photographs only. No image retouching or generated imagery. */

/* Desktop stays on the approved V20 design. */
@media (max-width: 820px){
  html,body{overflow-x:hidden}
  body{width:100%;max-width:none;margin:0;background:#090909}

  /* Header: overlay menu opens from the right without moving the page. */
  .site-header{height:68px;padding:0 18px;position:sticky;top:0;z-index:1000}
  .brand{gap:10px}.brand img{width:44px;height:44px}.brand strong{font-size:18px;letter-spacing:.06em}.brand small{font-size:7px;letter-spacing:.20em;margin-top:4px}
  .menu{display:block;font-size:25px;padding:8px 0 8px 12px;position:relative;z-index:1002}
  .site-header nav{display:none;position:fixed;top:68px;right:0;left:auto;width:min(82vw,320px);max-width:320px;background:rgba(5,5,5,.985);border:1px solid rgba(255,255,255,.16);padding:18px 22px 22px;flex-direction:column;align-items:stretch;gap:0;box-shadow:-18px 20px 45px rgba(0,0,0,.55);z-index:1001}
  .site-header nav.open{display:flex}
  .site-header nav a{width:100%;padding:14px 0;font-size:11px;border-bottom:1px solid rgba(255,255,255,.10)}
  .site-header .contact-link{border:0;border-bottom:1px solid rgba(255,255,255,.10);padding:14px 0}.lang-link{padding-left:0;opacity:1}

  /* Hero: photograph remains behind the title and is clearer than earlier previews. */
  .hero{min-height:760px;display:block;position:relative;overflow:hidden;background:#080808;align-items:stretch}
  .hero-copy{position:relative;z-index:4;width:100%;min-height:760px;padding:82px 24px 56px;display:flex;flex-direction:column;justify-content:flex-start;text-shadow:0 2px 16px rgba(0,0,0,.50)}
  .hero-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;background-size:cover!important;background-position:center 24%!important;opacity:1!important;filter:none!important;-webkit-mask-image:none!important;mask-image:none!important}
  .hero:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(4,4,4,.48) 0%,rgba(4,4,4,.27) 27%,rgba(4,4,4,.20) 52%,rgba(4,4,4,.44) 76%,#101010 100%),linear-gradient(90deg,rgba(0,0,0,.30),rgba(0,0,0,.04))!important}
  .hero h1{font-size:49px;line-height:.96;letter-spacing:-.035em}.zh-page .hero h1{font-size:41px;line-height:1.28}
  .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.22em;margin-bottom:18px}.hero .lead{font-size:13px;line-height:1.8;margin:25px 0 28px}.buttons{display:grid;grid-template-columns:1fr;gap:10px}.btn{width:100%;padding:14px 16px;text-align:center}

  /* About */
  .about{display:block;min-height:0}.about-image-single{min-height:0;height:auto;padding:34px 18px 0}.about-image-single:after{background:linear-gradient(180deg,transparent 72%,#202020 100%)}.about-image-single img{width:100%;height:auto;max-height:none;object-fit:contain}
  .about-copy{padding:50px 24px 58px}.about h2,.section-heading h2,.results h2,.contact h2{font-size:43px;line-height:1.02}.zh-page .about h2,.zh-page .section-heading h2,.zh-page .results h2,.zh-page .contact h2{font-size:37px;line-height:1.22}
  .about-copy>p:not(.eyebrow):not(.pullquote){font-size:13px;line-height:1.9}.credentials-grid{grid-template-columns:1fr;gap:24px;margin-top:28px}.credentials-grid>div+div{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.14);padding-top:22px}.credentials-grid p{font-size:16px}
  .about-portrait-inline{grid-template-columns:100px 1fr;gap:17px;padding:20px 0}.about-portrait-inline img{width:100px;height:140px;object-fit:cover}.about-portrait-inline p{font-size:11px}.pullquote{font-size:23px;margin-top:28px}

  /* Programs */
  .programs,.results{padding:58px 20px}.section-heading{margin-bottom:36px}.program-grid{grid-template-columns:1fr}.program-grid article{min-height:0;padding:25px 23px}.program-grid h3{font-size:31px;margin:22px 0 13px}.program-grid p{font-size:12px}

  /* Results */
  .results-title{display:block;margin-bottom:35px}.results-title>p:last-child{font-size:12px;line-height:1.85;margin-top:22px}.result-cards{grid-template-columns:1fr}.result-card{min-height:0;padding:28px 24px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.result-number{font-size:68px}.result-card h3{font-size:27px;margin:22px 0 13px}.result-card p{font-size:16px}.results-note{font-size:8px;margin:16px 0 38px}.gallery-label{display:flex;flex-direction:column;gap:5px;line-height:1.55;margin-bottom:12px}.awards-label{margin-top:38px}

  /* Award Moments: editorial mosaic; original photos, no retouching. */
  .award-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:dense!important;grid-auto-rows:auto!important;gap:8px!important;align-items:start!important}
  .award-gallery .gallery-item,.award-gallery .award-wide,.award-gallery .award-latest{grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:0!important;border:1px solid rgba(255,255,255,.10);background:#070707}
  .award-gallery .gallery-item:nth-child(1),.award-gallery .gallery-item:nth-child(4),.award-gallery .gallery-item:nth-child(8){grid-column:1 / -1!important}
  .award-gallery .gallery-item img,.award-gallery .award-latest img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#070707!important}

  /* Student performances: a different two-column rhythm. */
  .combined-performance-label{margin-top:52px}.combined-performance-grid.new-sequence{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:dense!important;gap:8px!important;align-items:start!important}
  .combined-performance-grid.new-sequence .gallery-item,.combined-performance-grid.new-sequence .group{grid-column:auto!important;height:auto!important;min-height:0!important;background:#070707}
  .combined-performance-grid.new-sequence .gallery-item:nth-child(1),.combined-performance-grid.new-sequence .gallery-item:nth-child(6),.combined-performance-grid.new-sequence .gallery-item:nth-child(11){grid-column:1 / -1!important}
  .combined-performance-grid.new-sequence .gallery-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#070707!important}.photo-credit{text-align:left;font-size:8px;margin-top:14px}

  /* Contact + footer */
  .contact{display:block;padding:58px 24px 60px}.contact-details{margin-top:32px;gap:17px;font-size:12px}.contact-details>a:not(.btn){font-size:17px;line-height:1.45;overflow-wrap:anywhere}footer{padding:26px 20px;display:block;text-align:left}footer p{margin-top:16px;line-height:1.6}.footer-brand img{width:40px;height:40px}

  /* Biography */
  .bio-hero{display:flex;flex-direction:column;min-height:0}.bio-hero-copy{order:1;padding:58px 24px 32px}.bio-hero h1{font-size:58px;line-height:.92}.zh-page .bio-hero h1{font-size:48px;line-height:1.08}.bio-intro{font-size:13px;line-height:1.9;margin-top:26px}.bio-hero-image{order:2;height:auto;padding:0 18px 30px;overflow:visible}.bio-hero-image:before{background:linear-gradient(180deg,transparent 72%,#151515 100%)}.bio-hero-image img{height:auto;object-fit:contain;object-position:center;background:#111}
  .bio-content{display:block}.bio-sidebar{position:static;padding:40px 24px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.bio-sidebar h2{font-size:43px}.bio-article{padding:52px 24px 62px}.bio-article>section{padding-bottom:48px;margin-bottom:48px}.bio-article h2{font-size:43px;line-height:1}.zh-page .bio-article h2{font-size:37px;line-height:1.2}.bio-grid.two{grid-template-columns:1fr;gap:28px}.clean-list.columns{columns:1}.bio-results-grid{grid-template-columns:1fr}
  .bio-stage-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:dense!important;gap:8px!important;align-items:start!important}.bio-stage-gallery img,.bio-stage-gallery img:nth-child(n){grid-column:auto!important;width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important;object-position:center!important;padding:0!important;background:#050505!important}.bio-stage-gallery img:nth-child(1),.bio-stage-gallery img:nth-child(4){grid-column:1 / -1!important}
}

@media(max-width:360px){
  .hero h1{font-size:43px}.zh-page .hero h1{font-size:36px}.about h2,.section-heading h2,.results h2,.contact h2{font-size:38px}.about-portrait-inline{grid-template-columns:1fr}.about-portrait-inline img{width:100%;height:auto;max-height:430px;object-fit:contain}
}
