:root {
  --white: #fff;
  --ivory: #f7f4ee;
  --charcoal: #20201e;
  --muted: #67645f;
  --gold: #b89a64;
  --header-height: 88px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--ivory);
  color: var(--charcoal);
  font-family: "Inter", sans-serif;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(150px, 220px) 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 18px clamp(22px, 4vw, 64px);
  color: var(--white);
  transition: background-color .35s ease, color .35s ease, box-shadow .35s ease, min-height .35s ease;
}

.site-header.scrolled {
  min-height: 72px;
  background: rgba(255,255,255,.96);
  color: var(--charcoal);
  box-shadow: 0 1px 0 rgba(20,20,20,.08);
  backdrop-filter: blur(14px);
}

.header-brand img {
  width: 165px;
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
  transition: filter .35s ease, width .35s ease;
}

.site-header.scrolled .header-brand img {
  filter: invert(1);
  width: 148px;
}

.main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(18px, 2vw, 34px);
}

.main-nav a,
.language a {
  position: relative;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
}

.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -9px;
  height: 1px;
  background: currentColor;
  transition: right .25s ease;
}

.main-nav a:hover::after,
.main-nav a.active::after { right: 0; }

.language {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  opacity: .9;
}

.language a:not(.active) { opacity: .55; }
.menu-toggle { display: none; }

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background-image: url("../images/hero-orchestra.jpg");
  background-size: cover;
  background-position: center 43%;
  color: var(--white);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.58) 0%, rgba(0,0,0,.24) 43%, rgba(0,0,0,.30) 100%),
    linear-gradient(to right, rgba(0,0,0,.12), rgba(0,0,0,.02), rgba(0,0,0,.12));
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(60vw, 565px);
  margin-top: -21vh;
  text-align: center;
  animation: heroIn 1.05s ease both;
}

.hero-logo {
  width: min(100%, 526px);
  margin-inline: auto;
  opacity: .94;
  filter:
    drop-shadow(0 -1px 0 rgba(255,255,255,.18))
    drop-shadow(0 2px 1px rgba(255,255,255,.10))
    drop-shadow(0 7px 18px rgba(0,0,0,.38))
    drop-shadow(0 14px 34px rgba(0,0,0,.24));
}

.hero-slogan {
  margin: 14px 0 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(28px, 2.8vw, 43px);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .015em;
  color: #ead8b2;
  opacity: .95;
  text-shadow:
    0 1px 0 rgba(255,255,255,.08),
    0 5px 18px rgba(0,0,0,.42);
}

.scroll-cue {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: 9px;
  font-size: 10px;
  letter-spacing: .2em;
}

.scroll-cue i {
  display: block;
  width: 1px;
  height: 42px;
  background: rgba(255,255,255,.62);
  overflow: hidden;
}

.scroll-cue i::after {
  content: "";
  display: block;
  width: 1px;
  height: 18px;
  background: var(--white);
  animation: scrollLine 1.7s ease-in-out infinite;
}

.about-preview {
  background: var(--ivory);
}

.about-grid {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  padding: clamp(90px, 10vw, 150px) 0;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(420px, 1.25fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: center;
}

.about-copy {
  max-width: 490px;
}

.eyebrow {
  margin: 0 0 22px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .19em;
}

h1, h2 {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
}

h1 {
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.05;
}

h2 {
  font-size: clamp(42px, 5vw, 68px);
}

.about-copy > p:not(.eyebrow) {
  margin: 30px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.95;
  word-break: keep-all;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  margin-top: 35px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
}

.text-link span {
  color: var(--gold);
  font-size: 18px;
  transition: transform .25s ease;
}

.text-link:hover span { transform: translateX(5px); }

.about-image {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #ddd;
}

.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
  transform: scale(1.015);
  transition: transform .7s ease;
}

.about-image:hover img { transform: scale(1.045); }

.placeholder-section {
  background: var(--ivory);
  border-top: 1px solid rgba(32,32,30,.08);
}

.section-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(90px, 11vw, 150px) 0;
}

@keyframes heroIn {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes scrollLine {
  0% { transform: translateY(-20px); opacity: 0; }
  30% { opacity: 1; }
  100% { transform: translateY(48px); opacity: 0; }
}

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 170px 1fr auto; }
  .main-nav { gap: 15px; }
  .main-nav a { font-size: 10px; }
}

@media (max-width: 880px) {
  :root { --header-height: 74px; }

  .site-header {
    display: flex;
    justify-content: space-between;
    padding: 14px 20px;
  }

  .header-brand img { width: 145px; }
  .language { display: none; }

  .menu-toggle {
    display: grid;
    gap: 5px;
    width: 40px;
    height: 40px;
    place-content: center;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
  }

  .menu-toggle span:not(.sr-only) {
    display: block;
    width: 25px;
    height: 1px;
    background: currentColor;
    transition: transform .25s ease, opacity .25s ease;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }

  .menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .main-nav {
    position: fixed;
    inset: 0;
    z-index: -1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 26px;
    background: rgba(20,20,19,.97);
    color: white;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
  }

  .main-nav.open {
    opacity: 1;
    visibility: visible;
  }

  .main-nav a {
    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    letter-spacing: .04em;
  }

  .hero {
    background-position: center center;
  }

  .hero-content {
    width: min(76vw, 495px);
    margin-top: -22vh;
  }

  .hero-slogan {
    margin-top: 15px;
  }

  .about-grid {
    width: min(100% - 40px, 720px);
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .about-copy {
    max-width: 600px;
  }
}

@media (max-width: 520px) {
  .header-brand img,
  .site-header.scrolled .header-brand img {
    width: 128px;
  }

  .hero {
    min-height: 100svh;
    background-position: 52% center;
  }

  .hero-content {
    width: 78vw;
    margin-top: -24vh;
  }

  .hero-slogan {
    margin-top: 12px;
    font-size: 27px;
  }

  .about-grid,
  .section-inner {
    width: min(100% - 34px, 1180px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

.about-copy > p:not(.eyebrow) + p {
  margin-top: 17px;
}

.about-stats {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  padding: 0 0 clamp(90px, 10vw, 140px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(32,32,30,.10);
}

.stat-item {
  padding: 44px 28px 0;
  text-align: center;
  border-right: 1px solid rgba(32,32,30,.10);
}

.stat-item:last-child {
  border-right: 0;
}

.stat-item strong {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: 500;
  line-height: 1;
  color: var(--charcoal);
}

.stat-item span {
  display: block;
  margin-top: 12px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.45;
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.subpage {
  background: var(--ivory);
}

.subpage .site-header {
  color: var(--charcoal);
}

.subpage .header-brand img {
  filter: invert(1);
}

.subpage-hero {
  padding-top: 72px;
  background: var(--ivory);
}

.subpage-hero-inner {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  padding: clamp(100px, 12vw, 170px) 0 clamp(70px, 8vw, 110px);
}

.subpage-hero h1 {
  font-size: clamp(58px, 8vw, 108px);
}

.about-detail {
  padding-bottom: clamp(90px, 10vw, 140px);
}

.about-detail-grid {
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(48px, 7vw, 100px);
  align-items: start;
}

.about-detail-image {
  margin: 0;
  position: sticky;
  top: 110px;
}

.about-detail-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.about-detail-copy {
  padding-top: 10px;
}

.about-detail-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 2;
  word-break: keep-all;
}

.about-detail-copy p + p {
  margin-top: 24px;
}

.about-detail .about-stats {
  margin-top: clamp(80px, 9vw, 130px);
  padding-bottom: 0;
}

@media (max-width: 880px) {
  .about-stats {
    width: min(100% - 40px, 720px);
    grid-template-columns: repeat(2, 1fr);
  }

  .stat-item:nth-child(2) {
    border-right: 0;
  }

  .stat-item:nth-child(-n+2) {
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(32,32,30,.10);
  }

  .about-detail-grid {
    width: min(100% - 40px, 720px);
    grid-template-columns: 1fr;
  }

  .about-detail-image {
    position: static;
  }

  .about-detail-image img {
    aspect-ratio: 16 / 11;
  }

  .subpage-hero-inner {
    width: min(100% - 40px, 720px);
  }
}

@media (max-width: 520px) {
  .about-stats {
    width: min(100% - 34px, 720px);
    grid-template-columns: 1fr;
  }

  .stat-item {
    padding: 28px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(32,32,30,.10);
  }

  .stat-item:last-child {
    border-bottom: 0;
  }

  .stat-item:nth-child(-n+2) {
    padding-bottom: 28px;
  }

  .about-detail-grid,
  .subpage-hero-inner {
    width: min(100% - 34px, 720px);
  }
}

.about-copy .about-title{max-width:100%;font-size:clamp(34px,3.3vw,52px);line-height:1.15;white-space:nowrap}
.about-copy{max-width:610px}
.about-copy>p:not(.eyebrow){max-width:100%;text-align:justify;text-justify:inter-word;word-break:keep-all}
.about-preview .eyebrow{font-size:13px}
.conductor-preview{background:#f3efe7;padding:clamp(90px,10vw,150px) 0}
.conductor-preview-grid{width:min(1240px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(54px,8vw,120px);align-items:center}
.conductor-preview-image{margin:0}.conductor-preview-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.conductor-preview-copy h2{margin:14px 0 0;font-family:"Cormorant Garamond",serif;font-size:clamp(54px,7vw,92px);font-weight:500;line-height:.95}
.conductor-name-en{margin:16px 0 0;font-size:12px;font-weight:600;letter-spacing:.22em}
.conductor-role{margin:18px 0 0;color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:clamp(20px,2vw,27px);font-style:italic}
.conductor-summary{margin:36px 0 0;max-width:600px;color:var(--muted);font-size:16px;line-height:2;word-break:keep-all}
.conductor-detail{padding:0 0 clamp(100px,12vw,170px)}
.conductor-detail-grid{width:min(1240px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(58px,8vw,120px);align-items:start}
.conductor-detail-image{margin:0;position:sticky;top:110px}.conductor-detail-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.conductor-biography h2{margin:0 0 30px;font-family:"Cormorant Garamond",serif;font-size:clamp(42px,5vw,64px);font-weight:500}
.conductor-biography p{margin:0;color:var(--muted);font-size:16px;line-height:2;text-align:justify;text-justify:inter-word;word-break:keep-all}
.conductor-biography p+p{margin-top:24px}
.career-sections{width:min(1240px,calc(100% - 64px));margin:clamp(100px,11vw,160px) auto 0;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(32,32,30,.14);border-left:1px solid rgba(32,32,30,.14)}
.career-block{padding:44px 48px 50px;border-right:1px solid rgba(32,32,30,.14);border-bottom:1px solid rgba(32,32,30,.14)}
.career-block ul{list-style:none;margin:26px 0 0;padding:0}.career-block li{color:var(--muted);font-size:15px;line-height:1.8;word-break:keep-all}.career-block li+li{margin-top:10px}
@media(max-width:880px){.about-copy .about-title{white-space:normal}.conductor-preview-grid,.conductor-detail-grid{width:min(100% - 40px,720px);grid-template-columns:1fr}.conductor-detail-image{position:static}.career-sections{width:min(100% - 40px,720px);grid-template-columns:1fr}}
@media(max-width:520px){.about-copy .about-title{font-size:34px}.conductor-preview-grid,.conductor-detail-grid,.career-sections{width:min(100% - 34px,720px)}.career-block{padding:34px 26px 38px}}

/* CONDUCTOR name size refinement */
.conductor-preview-copy h2 {
  font-size: clamp(42px, 5vw, 68px);
}

.conductor-hero h1 {
  font-size: clamp(54px, 7vw, 78px);
}

.conductor-name-en {
  font-size: 16px;
  letter-spacing: .19em;
  line-height: 1.4;
}

@media (max-width: 520px) {
  .conductor-preview-copy h2 {
    font-size: 42px;
  }

  .conductor-hero h1 {
    font-size: 54px;
  }

  .conductor-name-en {
    font-size: 14px;
  }
}

/* V7 — conductor name balance */
.conductor-preview-copy h2 {
  font-size: clamp(46px, 5.4vw, 72px);
}

.conductor-preview-copy .conductor-name-en {
  margin-top: 14px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(36px, 4.5vw, 60px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: .035em;
}

.conductor-hero h1 {
  font-size: clamp(58px, 7.2vw, 82px);
}

.conductor-hero .conductor-name-en {
  margin-top: 16px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(46px, 6vw, 70px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: .035em;
}

/* V7 — ABOUT detailed image/text integration */
.about-detail-feature {
  padding: 0 0 clamp(100px, 11vw, 160px);
}

.about-story {
  position: relative;
  width: min(1380px, calc(100% - 48px));
  min-height: clamp(650px, 63vw, 900px);
  margin: 0 auto;
  overflow: hidden;
  background: #2d211b;
}

.about-story-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 43% center;
}

.about-story-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(18, 12, 9, 0.04) 0%,
      rgba(18, 12, 9, 0.08) 49%,
      rgba(25, 17, 13, 0.66) 70%,
      rgba(25, 17, 13, 0.92) 100%
    );
}

.about-story-copy {
  position: relative;
  z-index: 1;
  width: min(38%, 520px);
  margin-left: auto;
  padding: clamp(70px, 7vw, 105px) clamp(42px, 5.5vw, 84px) clamp(70px, 7vw, 105px) 30px;
  color: #f6f1e8;
}

.about-story-copy::before {
  content: "";
  position: absolute;
  top: clamp(70px, 7vw, 105px);
  bottom: clamp(70px, 7vw, 105px);
  left: 0;
  width: 1px;
  background: rgba(211, 171, 107, .55);
}

.about-story-copy p {
  margin: 0;
  color: rgba(250, 246, 238, .88);
  font-size: 15px;
  line-height: 2.05;
  text-align: justify;
  text-justify: inter-word;
  word-break: keep-all;
}

.about-story-copy p + p {
  margin-top: 24px;
}

.about-detail-feature .about-stats {
  margin-top: clamp(70px, 8vw, 110px);
  padding-bottom: 0;
}

@media (max-width: 980px) {
  .about-story {
    width: min(100% - 40px, 760px);
    min-height: auto;
    background: var(--ivory);
  }

  .about-story-image {
    position: relative;
    display: block;
    height: auto;
    aspect-ratio: 4 / 3;
    object-position: center;
  }

  .about-story-shade {
    display: none;
  }

  .about-story-copy {
    width: auto;
    margin: 0;
    padding: 44px 8px 0;
    color: var(--charcoal);
  }

  .about-story-copy::before {
    display: none;
  }

  .about-story-copy p {
    color: var(--muted);
  }
}

@media (max-width: 520px) {
  .conductor-preview-copy .conductor-name-en {
    font-size: 34px;
  }

  .conductor-hero .conductor-name-en {
    font-size: 42px;
  }

  .about-story {
    width: min(100% - 34px, 760px);
  }

  .about-story-copy {
    padding-top: 34px;
  }
}

/* V8 — concise ABOUT preview */
.about-preview .about-copy {
  align-self: center;
}

.about-preview .about-copy .text-link {
  margin-top: 32px;
}


/* Concert archive */
.concerts-page { padding-top: 72px; }
.concerts-hero {
  min-height: 54vh;
  display: grid;
  align-items: end;
  padding: clamp(90px, 12vw, 160px) clamp(24px, 7vw, 110px) clamp(70px, 8vw, 105px);
  background: #171715;
  color: #fff;
}
.concerts-hero-inner { width: min(1180px, 100%); margin: 0 auto; }
.concerts-hero h1 { font-size: clamp(64px, 10vw, 150px); line-height: .82; letter-spacing: -.035em; }
.concerts-hero .archive-intro {
  display: flex; justify-content: space-between; align-items: end; gap: 30px;
  margin-top: 38px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.22);
}
.archive-intro p { margin: 0; color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.concert-list { width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 110px 0 150px; }
.concert-card {
  display: grid; grid-template-columns: minmax(250px, 420px) 1fr; gap: clamp(45px, 8vw, 120px);
  align-items: center; padding: 65px 0; border-top: 1px solid rgba(32,32,30,.17);
}
.concert-card:last-child { border-bottom: 1px solid rgba(32,32,30,.17); }
.concert-card:nth-child(even) .concert-poster { order: 2; }
.concert-card:nth-child(even) .concert-card-copy { order: 1; text-align: right; }
.concert-poster { position: relative; overflow: hidden; background: #ddd; box-shadow: 0 24px 55px rgba(25,20,12,.15); }
.concert-poster img { width: 100%; aspect-ratio: 2/2.82; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.concert-card:hover .concert-poster img { transform: scale(1.025); }
.concert-index { margin: 0 0 22px; color: var(--gold); font-size: 11px; letter-spacing: .18em; }
.concert-card h2 { font-size: clamp(48px, 6vw, 88px); line-height: .93; }
.concert-card .subtitle { margin: 18px 0 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.concert-meta { margin-top: 42px; display: grid; gap: 8px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.archive-link { display: inline-flex; align-items: center; gap: 17px; margin-top: 34px; padding-bottom: 7px; border-bottom: 1px solid var(--charcoal); font-size: 10px; font-weight: 600; letter-spacing: .18em; }
.archive-link span { color: var(--gold); font-size: 18px; transition: transform .25s ease; }
.archive-link:hover span { transform: translateX(5px); }

.performance-page { padding-top: 72px; }
.performance-header {
  width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 95px 0 80px;
  display: grid; grid-template-columns: minmax(250px, 390px) 1fr; gap: clamp(45px, 9vw, 125px); align-items: end;
}
.performance-header .poster img { width: 100%; box-shadow: 0 24px 55px rgba(25,20,12,.15); }
.performance-kicker { color: var(--gold); font-size: 11px; letter-spacing: .19em; }
.performance-title { margin-top: 18px; font-size: clamp(58px, 8vw, 118px); line-height: .87; }
.performance-subtitle { margin-top: 25px; color: var(--muted); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.performance-facts { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(32,32,30,.2); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 36px; }
.performance-facts dt { color: var(--gold); font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }
.performance-facts dd { margin: 6px 0 0; font-size: 13px; line-height: 1.65; }
.performance-hero-image { width: min(1500px, 100%); margin: 0 auto; }
.performance-hero-image img { width: 100%; max-height: 84vh; object-fit: cover; }
.performance-content { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 105px 0 140px; }
.performance-about { display: grid; grid-template-columns: .45fr 1fr; gap: clamp(40px, 9vw, 125px); margin-bottom: 100px; }
.performance-about h2, .program-section h2, .gallery-section h2 { font-size: clamp(42px, 5vw, 70px); }
.performance-about p { margin: 0; color: var(--muted); font-size: 15px; line-height: 2; word-break: keep-all; }
.program-section { padding-top: 80px; border-top: 1px solid rgba(32,32,30,.17); }
.program-list { margin-top: 45px; display: grid; gap: 0; }
.program-item { display: grid; grid-template-columns: minmax(140px,.55fr) 1.45fr; gap: 30px; padding: 19px 0; border-bottom: 1px solid rgba(32,32,30,.12); font-size: 13px; line-height: 1.65; }
.program-item strong { font-weight: 600; }
.gallery-section { margin-top: 110px; }
.gallery-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; }
.gallery-grid figure { margin: 0; overflow: hidden; background:#ddd; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; transition: transform .55s ease; }
.gallery-grid figure:hover img { transform: scale(1.02); }
.gallery-grid .wide { grid-column: span 12; aspect-ratio: 16/8.5; }
.gallery-grid .half { grid-column: span 6; aspect-ratio: 4/3; }
.gallery-grid .third { grid-column: span 4; aspect-ratio: 4/3; }
.program-download { margin-top: 70px; display:flex; justify-content:space-between; gap:25px; align-items:center; padding: 28px 0; border-top:1px solid rgba(32,32,30,.17); border-bottom:1px solid rgba(32,32,30,.17); }
.program-download p { margin:0; font-family:"Cormorant Garamond",serif; font-size:30px; }
.back-archive { display:inline-block; margin-top:75px; font-size:10px; font-weight:600; letter-spacing:.17em; border-bottom:1px solid; padding-bottom:7px; }

@media (max-width: 820px) {
  .concerts-hero .archive-intro { display:block; }
  .archive-intro p + p { margin-top:9px; }
  .concert-card, .performance-header, .performance-about { grid-template-columns: 1fr; }
  .concert-card:nth-child(even) .concert-poster, .concert-card:nth-child(even) .concert-card-copy { order: initial; text-align:left; }
  .concert-poster { width:min(430px,100%); }
  .performance-header .poster { width:min(390px,100%); }
  .performance-facts { grid-template-columns:1fr; }
  .gallery-grid .half, .gallery-grid .third { grid-column:span 12; aspect-ratio: 4/3; }
  .program-item { grid-template-columns:1fr; gap:4px; }
  .program-download { align-items:flex-start; flex-direction:column; }
}


/* Projects — coming soon */
.coming-page { padding-top:72px; }
.coming-panel {
  min-height: calc(100vh - 72px);
  display:grid;
  place-items:center;
  padding:80px 24px;
  background:
    radial-gradient(circle at 72% 28%, rgba(184,150,91,.13), transparent 30%),
    linear-gradient(135deg,#171715 0%,#201f1b 58%,#171715 100%);
  color:#fff;
  text-align:center;
}
.coming-copy { max-width:850px; }
.coming-copy h1 { margin-top:20px; font-size:clamp(76px,13vw,180px); line-height:.78; letter-spacing:-.04em; }
.coming-line { width:1px; height:82px; margin:54px auto 35px; background:rgba(255,255,255,.35); }
.coming-status { margin:0; color:var(--gold); font-size:11px; font-weight:600; letter-spacing:.36em; }
.coming-description { margin:28px 0 0; color:rgba(255,255,255,.68); font-size:14px; line-height:2; word-break:keep-all; }
.coming-panel .archive-link { color:#fff; border-color:rgba(255,255,255,.7); margin-top:40px; }

/* News & Press */
.news-page { padding-top:72px; }
.news-hero { min-height:62vh; display:grid; align-items:end; background:#171715; color:#fff; padding:clamp(100px,13vw,175px) 24px clamp(70px,8vw,105px); }
.news-hero-inner { width:min(1240px,100%); margin:auto; }
.news-hero h1 { margin-top:20px; font-size:clamp(74px,12vw,166px); line-height:.72; letter-spacing:-.045em; }
.news-hero h1 i { color:var(--gold); font-weight:500; }
.news-hero-meta { display:flex; justify-content:space-between; gap:30px; margin-top:62px; padding-top:24px; border-top:1px solid rgba(255,255,255,.22); }
.news-hero-meta p { margin:0; color:rgba(255,255,255,.62); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.news-list { width:min(1320px,calc(100% - 48px)); margin:0 auto; padding:95px 0 145px; }
.news-row {
  display:grid;
  grid-template-columns:54px 180px minmax(0,1fr) 155px;
  gap:30px;
  align-items:start;
  padding:46px 0;
  border-top:1px solid rgba(32,32,30,.17);
}
.news-row:last-child { border-bottom:1px solid rgba(32,32,30,.17); }
.news-no { color:rgba(32,32,30,.38); font-family:"Cormorant Garamond",serif; font-size:24px; }
.news-date { color:var(--muted); font-size:10px; line-height:1.8; letter-spacing:.11em; text-transform:uppercase; }
.news-date span { display:block; color:var(--gold); font-weight:600; letter-spacing:.19em; }
.news-source { margin:0 0 11px!important; color:var(--gold)!important; font-size:9px!important; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.news-copy h2 { font-size:clamp(28px,3.2vw,50px); line-height:1.05; word-break:keep-all; }
.news-copy > p:last-child { max-width:760px; margin:17px 0 0; color:var(--muted); font-size:13px; line-height:1.8; word-break:keep-all; }
.news-link { justify-self:end; display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; padding:10px 0; border-bottom:1px solid rgba(32,32,30,.55); font-size:9px; font-weight:600; letter-spacing:.17em; }
.news-link b { color:var(--gold); font-size:18px; font-weight:400; transition:transform .25s ease; }
.news-link:hover b { transform:translate(3px,-3px); }

/* Home previews */
.home-projects-preview {
  min-height:64vh; display:grid; place-items:center; padding:100px 24px;
  background:#171715; color:#fff; text-align:center;
}
.home-projects-preview h2 { margin-top:16px; font-size:clamp(64px,10vw,130px); line-height:.85; }
.home-projects-preview p:not(.eyebrow) { margin:25px 0 0; color:rgba(255,255,255,.62); font-size:13px; }
.home-projects-preview .text-link { color:#fff; border-color:rgba(255,255,255,.7); margin-top:32px; }

.home-news-preview { width:min(1240px,calc(100% - 48px)); margin:0 auto; padding:115px 0 135px; }
.home-news-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:50px; }
.home-news-heading h2 { margin-top:8px; font-size:clamp(60px,8vw,110px); line-height:.85; }
.home-news-item { display:grid; grid-template-columns:150px 1fr 34px; gap:28px; align-items:center; padding:28px 0; border-top:1px solid rgba(32,32,30,.17); }
.home-news-item:last-child { border-bottom:1px solid rgba(32,32,30,.17); }
.home-news-date { color:var(--gold); font-size:9px; font-weight:600; letter-spacing:.17em; }
.home-news-item strong { font-family:"Cormorant Garamond",serif; font-size:clamp(24px,3vw,39px); font-weight:500; line-height:1.08; word-break:keep-all; }
.home-news-item i { color:var(--gold); font-size:22px; transition:transform .25s ease; }
.home-news-item:hover i { transform:translate(3px,-3px); }

@media (max-width:820px) {
  .news-hero-meta { display:block; }
  .news-hero-meta p + p { margin-top:9px; }
  .news-row { grid-template-columns:38px 1fr; gap:18px 20px; }
  .news-date { grid-column:2; }
  .news-copy { grid-column:2; }
  .news-link { grid-column:2; justify-self:start; width:min(180px,100%); }
  .home-news-heading { align-items:flex-start; flex-direction:column; }
  .home-news-item { grid-template-columns:1fr 28px; gap:10px 18px; }
  .home-news-date { grid-column:1; }
  .home-news-item strong { grid-column:1; }
  .home-news-item i { grid-column:2; grid-row:1/3; }
}


/* V15 — refinement fixes */

/* Concert posters remain the same width on both sides */
.concert-card:nth-child(even){
  grid-template-columns:1fr minmax(250px,420px);
}
.concert-card:nth-child(even) .concert-poster{
  order:2;
}
.concert-card:nth-child(even) .concert-card-copy{
  order:1;
  text-align:right;
}

/* Home News & Press heading */
.home-news-heading h2{
  max-width:780px;
  font-size:clamp(58px,8vw,108px);
  line-height:.86;
}

/* News links and clickable titles */
.news-copy h2{
  font-size:clamp(20px,2vw,30px);
  line-height:1.28;
  letter-spacing:-.02em;
}
.news-copy h2 a{
  display:inline;
  transition:color .25s ease;
}
.news-copy h2 a:hover{
  color:var(--gold);
}
.news-link{
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  padding:13px 0;
}
.news-link b{
  font-size:21px;
}

/* Contact — V13 visual language */
.contact-signature{
  position:relative;
  padding:clamp(105px,13vw,175px) 24px;
  background:#171715;
  color:#fff;
  overflow:hidden;
}
.contact-signature::before{
  content:"";
  position:absolute;
  width:66vw;
  height:66vw;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  right:-24vw;
  top:-43vw;
}
.contact-signature-inner{
  position:relative;
  width:min(1240px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:210px 1fr;
  gap:clamp(50px,8vw,115px);
}
.contact-label span{
  display:block;
  margin-top:15px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  letter-spacing:.2em;
}
.contact-main h2{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(58px,8.4vw,118px);
  font-weight:500;
  line-height:.84;
  color:#fff;
}
.contact-rule{
  margin:50px 0 14px;
  height:1px;
  background:rgba(255,255,255,.16);
}
.contact-option{
  display:grid;
  grid-template-columns:145px minmax(0,1fr) 30px;
  gap:22px;
  align-items:center;
  padding:27px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.contact-type{
  color:var(--gold);
  font-size:8px;
  font-weight:600;
  letter-spacing:.2em;
}
.contact-type-social{
  display:flex;
  align-items:center;
  gap:10px;
}
.contact-social-icon{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
}
.contact-option strong{
  color:#fff;
  font-size:clamp(18px,2.2vw,32px);
  font-weight:400;
  letter-spacing:-.02em;
  word-break:break-word;
}
.contact-option i{
  color:var(--gold);
  font-size:22px;
  transition:transform .25s ease;
}
.contact-option:hover i{
  transform:translate(3px,-3px);
}

@media(max-width:820px){
  .concert-card:nth-child(even){
    grid-template-columns:1fr;
  }
  .concert-card:nth-child(even) .concert-poster,
  .concert-card:nth-child(even) .concert-card-copy{
    order:initial;
    text-align:left;
  }
  .contact-signature-inner{
    grid-template-columns:1fr;
  }
  .contact-option{
    grid-template-columns:1fr 28px;
  }
  .contact-type,
  .contact-option strong{
    grid-column:1;
  }
  .contact-option i{
    grid-column:2;
    grid-row:1/3;
  }
}


/* V16 — light unified editorial system */
:root{
  --paper:#f6f3ec;
  --paper-2:#fbfaf6;
  --ink:#1c1b18;
  --soft:#77736b;
  --line:rgba(28,27,24,.13);
  --accent:#b6935d;
}

body{
  background:var(--paper);
  color:var(--ink);
}

.site-header,
.site-header.scrolled{
  min-height:72px;
  background:rgba(250,248,242,.95);
  color:var(--ink);
  box-shadow:0 1px 0 var(--line);
  backdrop-filter:blur(16px);
}

.header-brand img,
.site-header.scrolled .header-brand img{
  filter:invert(1);
  width:142px;
}

.main-nav a,
.language a{
  font-size:10px;
  letter-spacing:.13em;
}

/* light page heroes */
.subpage-hero,
.concerts-hero,
.news-hero{
  min-height:auto!important;
  padding:150px 24px 78px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(182,147,93,.08),transparent 24%),
    linear-gradient(180deg,var(--paper-2),var(--paper))!important;
  color:var(--ink)!important;
}

.subpage-hero::after,
.concerts-hero::after,
.news-hero::after{
  content:"";
  position:absolute;
  width:44vw;
  height:44vw;
  min-width:430px;
  min-height:430px;
  border:1px solid rgba(182,147,93,.22);
  border-radius:50%;
  right:-18vw;
  top:-27vw;
  pointer-events:none;
}

.subpage-hero-inner,
.concerts-hero-inner,
.news-hero-inner{
  width:min(1240px,100%);
  margin:0 auto;
  position:relative;
  z-index:1;
}

.subpage-hero h1,
.concerts-hero h1,
.news-hero h1{
  font-family:"Cormorant Garamond",serif!important;
  font-size:clamp(52px,7vw,92px)!important;
  line-height:.9!important;
  color:var(--ink)!important;
  letter-spacing:-.03em!important;
}

.news-hero-meta,
.archive-intro{
  margin-top:34px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
}

.news-hero-meta p,
.archive-intro p{
  color:var(--soft)!important;
}

/* ABOUT */
.about-detail{
  background:var(--paper);
  padding-top:70px;
}
.about-story{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto;
  min-height:650px;
  box-shadow:0 20px 70px rgba(56,47,34,.08);
}
.about-story-image{
  background-position:center;
}
.about-story-copy{
  background:linear-gradient(90deg,rgba(20,19,17,.78),rgba(20,19,17,.38),transparent);
}
.about-stats{
  background:var(--paper-2);
  border-top:1px solid var(--line);
}

/* CONDUCTOR */
.conductor-detail{
  background:var(--paper);
}
.conductor-detail-grid{
  width:min(1240px,calc(100% - 48px));
}
.conductor-detail-image{
  box-shadow:0 20px 70px rgba(56,47,34,.10);
}
.conductor-biography,
.career-sections{
  color:var(--ink);
}
.career-block{
  border-color:var(--line)!important;
}

/* CONCERTS — equal poster dimensions, light editorial */
.concerts-page{
  background:var(--paper);
}
.concert-list{
  padding-top:72px;
}
.concert-card,
.concert-card:nth-child(even){
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:clamp(48px,8vw,115px)!important;
  padding:54px 0!important;
}
.concert-card:nth-child(even) .concert-poster,
.concert-card:nth-child(even) .concert-card-copy{
  order:initial!important;
  text-align:left!important;
}
.concert-poster{
  width:340px;
  max-width:100%;
  background:transparent;
  box-shadow:0 16px 48px rgba(49,41,30,.12);
}
.concert-poster img{
  width:100%;
  aspect-ratio:2/2.82;
  object-fit:cover;
}
.concert-card h2{
  font-size:clamp(42px,5vw,68px)!important;
}
.concert-card .subtitle,
.concert-meta{
  color:var(--soft)!important;
}

/* Concert detail pages */
.performance-page{
  background:var(--paper);
}
.performance-header{
  padding-top:135px;
}
.performance-header .poster img{
  box-shadow:0 18px 50px rgba(49,41,30,.12);
}
.performance-hero-image{
  width:min(1400px,calc(100% - 48px));
}
.performance-hero-image img{
  border-radius:2px;
}
.performance-content{
  background:var(--paper);
}

/* PROJECTS */
.coming-page{
  padding-top:72px;
  background:var(--paper);
}
.coming-panel{
  min-height:calc(100vh - 72px);
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:clamp(50px,8vw,120px);
  align-items:center;
  padding:clamp(80px,9vw,130px) clamp(24px,6vw,90px);
  background:
    radial-gradient(circle at 82% 18%,rgba(182,147,93,.08),transparent 26%),
    linear-gradient(180deg,var(--paper-2),var(--paper));
  color:var(--ink);
  text-align:left;
}
.coming-panel::after{
  display:none;
}
.coming-visual{
  overflow:hidden;
  min-height:620px;
  box-shadow:0 20px 70px rgba(56,47,34,.10);
}
.coming-visual img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:center;
}
.coming-copy{
  max-width:540px;
}
.coming-copy h1{
  font-size:clamp(56px,7vw,96px);
  line-height:.88;
  color:var(--ink);
}
.coming-status{
  margin-top:42px;
  color:var(--accent);
  letter-spacing:.28em;
}
.coming-description{
  margin:25px 0 0;
  color:var(--soft);
  line-height:2;
}
.coming-panel .archive-link{
  color:var(--ink);
  border-color:var(--ink);
}

/* NEWS */
.news-page{
  background:var(--paper);
}
.news-list{
  padding-top:55px;
}
.news-row{
  grid-template-columns:42px 150px minmax(0,1fr) 150px;
}
.news-copy h2{
  font-family:"Inter",sans-serif!important;
  font-size:clamp(18px,1.7vw,26px)!important;
  line-height:1.38;
  font-weight:500;
  letter-spacing:-.02em;
}
.news-copy h2 a:hover{
  color:var(--accent);
}
.news-copy > p:last-child{
  color:var(--soft);
}
.news-link{
  font-size:10px;
  padding:14px 0;
}

/* HOME sections */
.about-preview,
.conductor-preview,
.home-news-preview{
  background:var(--paper);
}
.home-projects-preview{
  background:
    radial-gradient(circle at 80% 18%,rgba(182,147,93,.08),transparent 24%),
    linear-gradient(180deg,var(--paper-2),var(--paper));
  color:var(--ink);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.home-projects-preview h2{
  color:var(--ink);
}
.home-projects-preview p:not(.eyebrow){
  color:var(--soft);
}
.home-projects-preview .text-link{
  color:var(--ink);
  border-color:var(--ink);
}

/* CONTACT */
.contact-signature{
  padding:110px 24px;
  background:
    radial-gradient(circle at 76% 18%,rgba(182,147,93,.08),transparent 24%),
    linear-gradient(180deg,var(--paper-2),var(--paper));
  color:var(--ink);
  border-top:1px solid var(--line);
}
.contact-signature::before{
  width:56vw;
  height:56vw;
  border:1px solid rgba(182,147,93,.22);
  right:-22vw;
  top:-37vw;
}
.contact-main h2{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(26px,2.6vw,38px)!important;
  line-height:1.05;
  color:var(--ink);
  font-weight:500;
}
.contact-label span{
  color:var(--soft);
}
.contact-rule{
  margin:30px 0 6px;
  background:var(--line);
}
.contact-option{
  border-bottom:1px solid var(--line);
}
.contact-option strong{
  color:var(--ink);
  font-size:clamp(16px,1.6vw,23px);
}
.contact-type,
.contact-option i{
  color:var(--accent);
}
.contact-social-icon{
  width:17px;
  height:17px;
}

@media(max-width:900px){
  .concert-card,
  .concert-card:nth-child(even){
    grid-template-columns:1fr!important;
  }
  .concert-poster{
    width:min(340px,100%);
  }
  .coming-panel{
    grid-template-columns:1fr;
  }
  .coming-visual,
  .coming-visual img{
    min-height:420px;
  }
}

/* ==========================================================
   V17 PROFESSIONAL EDITORIAL REFINEMENT
   ========================================================== */
:root{
  --v17-paper:#f4f0e7;
  --v17-paper-light:#fbf9f4;
  --v17-ink:#171714;
  --v17-muted:#777168;
  --v17-line:rgba(23,23,20,.14);
  --v17-gold:#a9864f;
  --v17-max:1240px;
}
html{scroll-behavior:smooth}
body{background:var(--v17-paper);color:var(--v17-ink);letter-spacing:-.01em}
.site-header,.site-header.scrolled{height:74px;padding:0 clamp(22px,4vw,60px);background:rgba(248,245,238,.94);border-bottom:1px solid var(--v17-line);box-shadow:none}
.header-brand img,.site-header.scrolled .header-brand img{width:132px;filter:invert(1);opacity:.9}
.main-nav{gap:clamp(16px,2.1vw,34px)}
.main-nav a{font-size:9px;letter-spacing:.16em;padding:29px 0 25px;position:relative}
.main-nav a.active::after,.main-nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:19px;height:1px;background:var(--v17-gold)}
.language{font-size:9px;letter-spacing:.13em}

.subpage-hero,.concerts-hero,.news-hero{padding:162px 24px 88px!important;border-bottom:1px solid var(--v17-line)}
.subpage-hero-inner,.concerts-hero-inner,.news-hero-inner{max-width:var(--v17-max)}
.subpage-hero h1,.concerts-hero h1,.news-hero h1{font-size:clamp(58px,7.5vw,104px)!important;font-weight:500!important;letter-spacing:-.045em!important}
.eyebrow{color:var(--v17-gold)!important;font-size:9px!important;letter-spacing:.24em!important;font-weight:600}
.archive-intro,.news-hero-meta{display:flex;justify-content:space-between;align-items:center;margin-top:42px!important;padding-top:18px!important}
.archive-intro p,.news-hero-meta p{font-size:12px;letter-spacing:.04em;color:var(--v17-muted)!important}

/* HOME — stronger hierarchy, fewer duplicate sections */
.about-preview,.conductor-preview,.home-news-preview,.home-concerts{padding:clamp(90px,10vw,150px) clamp(24px,6vw,88px);background:var(--v17-paper)}
.about-grid,.conductor-preview-grid,.home-news-heading,.home-concerts-heading,.home-concert-grid{width:min(var(--v17-max),100%);margin-inline:auto}
.about-grid,.conductor-preview-grid{gap:clamp(56px,8vw,120px)}
.about-copy h1,.conductor-preview-copy h2,.home-news-heading h2,.home-concerts-heading h2{font-weight:500;letter-spacing:-.035em}
.about-stats{width:min(var(--v17-max),calc(100% - 48px));margin:0 auto;border-top:1px solid var(--v17-line);border-bottom:1px solid var(--v17-line);background:transparent}
.home-concerts{border-top:1px solid var(--v17-line)}
.home-concerts-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.home-concerts-heading h2{font-family:"Cormorant Garamond",serif;font-size:clamp(44px,5vw,70px);line-height:.95;margin-top:12px}
.home-concert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,52px)}
.home-concert-card{display:block;color:inherit;text-decoration:none}
.home-concert-card img{width:100%;aspect-ratio:2/2.82;object-fit:cover;box-shadow:0 16px 44px rgba(42,34,24,.10);transition:transform .45s ease,box-shadow .45s ease}
.home-concert-card:hover img{transform:translateY(-6px);box-shadow:0 24px 56px rgba(42,34,24,.16)}
.home-concert-card span{display:block;margin-top:22px;color:var(--v17-gold);font-size:9px;letter-spacing:.18em}
.home-concert-card strong{display:block;margin-top:8px;font-family:"Cormorant Garamond",serif;font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1}

/* ABOUT */
.about-detail{padding:78px 24px 120px}
.about-story{width:min(var(--v17-max),100%);min-height:680px;box-shadow:0 18px 60px rgba(48,39,28,.10)}
.about-story-copy{max-width:660px;padding:clamp(44px,6vw,86px);background:linear-gradient(90deg,rgba(18,18,16,.88),rgba(18,18,16,.58) 72%,transparent)}
.about-story-copy p{font-size:15px;line-height:1.95}
.about-identity{grid-template-columns:repeat(3,1fr)!important;margin-top:74px!important}
.about-identity .stat-item strong{font-size:clamp(28px,4vw,50px);font-weight:500}
.about-identity .stat-item span{text-transform:uppercase;letter-spacing:.12em;font-size:9px}

/* CONDUCTOR */
.conductor-detail{padding:82px 24px 130px}
.conductor-detail-grid,.career-sections{width:min(var(--v17-max),100%);margin-inline:auto}
.conductor-detail-grid{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:clamp(58px,8vw,118px);align-items:start}
.conductor-detail-image{position:sticky;top:110px}
.conductor-detail-image img{width:100%;display:block;box-shadow:0 18px 60px rgba(48,39,28,.11)}
.conductor-biography h2{font-size:clamp(42px,5vw,68px);font-weight:500;margin-bottom:32px}
.conductor-biography p{font-size:15px;line-height:1.95;color:#36332e}
.career-sections{margin-top:96px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:70px}
.career-block{padding:34px 0!important;border-top:1px solid var(--v17-line)!important}
.career-block ul{margin-top:18px}
.career-block li{line-height:1.75;margin-bottom:9px;color:#35322d}

/* CONCERTS — equal posters + alternating editorial layout */
.concert-list{width:min(var(--v17-max),calc(100% - 48px));margin:auto;padding:70px 0 130px}
.concert-card,.concert-card:nth-child(even){display:grid!important;grid-template-columns:340px minmax(0,1fr)!important;gap:clamp(60px,9vw,132px)!important;align-items:center;padding:72px 0!important;border-bottom:1px solid var(--v17-line)}
.concert-card:nth-child(even){grid-template-columns:minmax(0,1fr) 340px!important}
.concert-card:nth-child(even) .concert-poster{order:2!important}
.concert-card:nth-child(even) .concert-card-copy{order:1!important;text-align:right!important;align-items:flex-end}
.concert-poster{width:340px!important;max-width:100%;overflow:hidden;box-shadow:0 16px 46px rgba(47,38,27,.12)}
.concert-poster img{width:100%;aspect-ratio:2/2.82;object-fit:cover;transition:transform .5s ease}
.concert-poster:hover img{transform:scale(1.018)}
.concert-card-copy{display:flex;flex-direction:column;align-items:flex-start}
.concert-index{font-size:9px!important;letter-spacing:.19em;color:var(--v17-gold)!important}
.concert-card h2{font-size:clamp(38px,4.6vw,60px)!important;line-height:.9!important;font-weight:500!important;letter-spacing:-.04em!important;margin:18px 0 22px!important}
.concert-card .subtitle{font-size:13px;line-height:1.6;color:var(--v17-muted)!important}
.concert-meta{display:flex;flex-direction:column;gap:8px;margin-top:25px;color:var(--v17-muted)!important;font-size:11px}
.archive-link{margin-top:34px;font-size:9px;letter-spacing:.15em}

/* NEWS — featured notice and clean press list */
.news-list{width:min(var(--v17-max),calc(100% - 48px));margin:auto;padding:70px 0 130px}
.news-section-heading{display:flex;justify-content:space-between;align-items:end;padding-bottom:24px;border-bottom:1px solid var(--v17-line)}
.news-section-heading h2{font-family:"Cormorant Garamond",serif;font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.03em}
.press-heading{margin-top:86px}
.news-row{grid-template-columns:38px 145px minmax(0,1fr) 155px!important;padding:30px 0!important;border-bottom:1px solid var(--v17-line)}
.news-row-featured{margin-top:0;padding:46px!important;background:var(--v17-paper-light);border:1px solid var(--v17-line)!important;grid-template-columns:42px 150px minmax(0,1fr) 170px!important}
.news-row-featured .news-copy h2{font-family:"Cormorant Garamond",serif!important;font-size:clamp(30px,3.5vw,47px)!important;font-weight:500!important}
.news-no{color:#aaa39a;font-size:10px}
.news-date{font-size:10px;line-height:1.65;color:var(--v17-muted)}
.news-date span,.news-source{color:var(--v17-gold)!important;letter-spacing:.15em;font-size:8px}
.news-copy h2{font-size:clamp(17px,1.5vw,23px)!important;font-weight:500!important}
.news-copy p:last-child{font-size:12px;line-height:1.7;margin-top:10px}
.news-link{font-size:10px!important;letter-spacing:.12em;border-bottom:1px solid var(--v17-ink)}

/* PROJECTS */
.coming-panel{width:min(1450px,100%);margin:auto;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);padding:clamp(90px,9vw,140px) clamp(24px,6vw,90px)}
.coming-visual{min-height:590px;box-shadow:0 18px 60px rgba(48,39,28,.10)}
.coming-visual img{min-height:590px;filter:saturate(.82) contrast(.98)}
.coming-copy h1{font-size:clamp(62px,8vw,108px);font-weight:500;letter-spacing:-.05em}
.coming-description{font-size:14px}

/* CONTACT */
.contact-signature{padding:105px 24px 120px}
.contact-signature-inner{width:min(var(--v17-max),100%)}
.contact-main h2{font-size:clamp(25px,2.5vw,34px)!important;letter-spacing:-.02em}
.contact-option{padding:22px 0}
.contact-option strong{font-size:clamp(15px,1.4vw,20px)}
.contact-type{font-size:9px;letter-spacing:.16em}

@media(max-width:900px){
 .main-nav{background:var(--v17-paper-light)}
 .archive-intro,.news-hero-meta{display:block}
 .archive-intro p+ p{margin-top:8px}
 .home-concert-grid{grid-template-columns:repeat(2,1fr)}
 .home-concert-card:last-child{display:none}
 .career-sections{grid-template-columns:1fr}
 .conductor-detail-grid{grid-template-columns:1fr}
 .conductor-detail-image{position:static;max-width:520px}
 .concert-card,.concert-card:nth-child(even){grid-template-columns:260px minmax(0,1fr)!important;gap:36px!important}
 .concert-card:nth-child(even){grid-template-columns:minmax(0,1fr) 260px!important}
 .concert-poster{width:260px!important}
 .news-row,.news-row-featured{grid-template-columns:1fr!important;padding:28px 0!important;gap:12px}
 .news-row-featured{padding:30px!important}
 .news-link{justify-self:start}
}
@media(max-width:640px){
 .site-header,.site-header.scrolled{height:66px}
 .subpage-hero,.concerts-hero,.news-hero{padding:132px 20px 65px!important}
 .about-preview,.conductor-preview,.home-news-preview,.home-concerts{padding:80px 20px}
 .home-concert-grid{grid-template-columns:1fr;gap:50px}
 .home-concert-card:last-child{display:block}
 .about-identity{grid-template-columns:1fr!important}
 .concert-list,.news-list{width:calc(100% - 40px)}
 .concert-card,.concert-card:nth-child(even){grid-template-columns:1fr!important;padding:54px 0!important}
 .concert-card:nth-child(even) .concert-poster,.concert-card:nth-child(even) .concert-card-copy{order:initial!important;text-align:left!important;align-items:flex-start}
 .concert-poster{width:min(330px,100%)!important}
 .coming-panel{grid-template-columns:1fr;padding:95px 20px 75px}
 .coming-visual,.coming-visual img{min-height:390px}
 .news-section-heading{display:block}
 .news-section-heading h2{margin-top:10px}
}


/* V18 — unified home typography + application detail */
:root{
  --home-title-size:clamp(46px,5.4vw,74px);
  --home-title-line:.94;
}

/* Homepage section identity: same scale, same rhythm */
.about-copy h1,
.conductor-preview-copy h2,
.home-concerts-heading h2,
.home-news-heading h2{
  font-family:"Cormorant Garamond",serif!important;
  font-size:var(--home-title-size)!important;
  line-height:var(--home-title-line)!important;
  font-weight:500!important;
  letter-spacing:-.04em!important;
  margin:12px 0 0!important;
}
.about-copy,
.conductor-preview-copy{
  align-self:center;
}
.about-copy .eyebrow,
.conductor-preview-copy .eyebrow,
.home-concerts-heading .eyebrow,
.home-news-heading .eyebrow{
  margin-bottom:0!important;
}

/* Conductor follows the same left-copy/right-image grammar as About */
.conductor-preview-grid{
  grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr)!important;
  align-items:center;
}
.conductor-preview-copy{
  order:1;
  padding-right:clamp(0px,2vw,26px);
}
.conductor-preview-image{
  order:2;
  min-height:650px;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(48,39,28,.10);
}
.conductor-preview-image img{
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
  object-position:center 18%;
}
.conductor-name-en{
  margin-top:12px!important;
  font-size:11px!important;
  letter-spacing:.24em!important;
  color:var(--v17-gold)!important;
}
.conductor-role{
  margin-top:24px!important;
}

/* Homepage news: internal detail first, application button separate */
.home-news-item-featured{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:28px 0;
  border-bottom:1px solid var(--v17-line);
}
.home-news-title-link{
  color:inherit;
  text-decoration:none;
}
.home-news-title-link strong{
  font-size:clamp(17px,1.5vw,23px);
  font-weight:500;
}
.home-news-title-link:hover strong{color:var(--v17-gold)}
.home-news-apply{
  color:var(--v17-ink);
  text-decoration:none;
  font-size:9px;
  letter-spacing:.15em;
  border-bottom:1px solid var(--v17-ink);
  padding-bottom:7px;
}

/* Application detail */
.application-page{background:var(--v17-paper);color:var(--v17-ink)}
.application-hero{
  padding:164px 24px 82px;
  background:
    radial-gradient(circle at 84% 12%,rgba(182,147,93,.11),transparent 27%),
    linear-gradient(180deg,var(--v17-paper-light),var(--v17-paper));
  border-bottom:1px solid var(--v17-line);
}
.application-hero-inner{
  width:min(var(--v17-max),100%);
  margin:auto;
}
.application-hero h1{
  margin-top:14px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(62px,8vw,112px);
  line-height:.86;
  letter-spacing:-.055em;
  font-weight:500;
}
.application-kicker{
  margin-top:30px;
  font-size:clamp(18px,2vw,28px);
  line-height:1.45;
}
.application-summary{
  display:flex;
  gap:38px;
  margin-top:40px;
  padding-top:18px;
  border-top:1px solid var(--v17-line);
  color:var(--v17-muted);
  font-size:10px;
  letter-spacing:.14em;
}
.application-actions{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:36px;
}
.application-primary,.application-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  text-decoration:none;
  font-size:9px;
  letter-spacing:.15em;
}
.application-primary{
  padding:0 23px;
  background:var(--v17-ink);
  color:white;
}
.application-primary b{margin-left:12px}
.application-secondary{
  color:var(--v17-ink);
  border-bottom:1px solid var(--v17-ink);
}
.language-tabs{
  position:sticky;
  top:74px;
  z-index:5;
  display:flex;
  justify-content:center;
  gap:0;
  background:rgba(248,245,238,.96);
  border-bottom:1px solid var(--v17-line);
  backdrop-filter:blur(12px);
}
.language-tabs a{
  padding:18px clamp(16px,2.5vw,34px);
  color:var(--v17-muted);
  text-decoration:none;
  font-size:9px;
  letter-spacing:.12em;
  border-right:1px solid var(--v17-line);
}
.language-tabs a:first-child{border-left:1px solid var(--v17-line)}
.language-tabs a:hover{color:var(--v17-gold)}
.application-content{
  width:min(920px,calc(100% - 48px));
  margin:auto;
  padding:80px 0 120px;
}
.language-section{
  scroll-margin-top:150px;
  padding:0 0 100px;
  margin-bottom:100px;
  border-bottom:1px solid var(--v17-line);
}
.language-section:last-child{margin-bottom:0}
.language-label{
  color:var(--v17-gold);
  font-size:9px;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.language-section h2{
  margin-top:14px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(40px,5vw,64px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:500;
}
.language-section .lead{
  margin-top:34px;
  font-size:clamp(18px,2.1vw,24px);
  line-height:1.7;
  color:#292721;
}
.language-section p{
  margin-top:18px;
  font-size:14px;
  line-height:1.95;
  color:#45413a;
}
.language-section h3{
  margin-top:58px;
  padding-top:20px;
  border-top:1px solid var(--v17-line);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:500;
}
.language-section ul{
  margin:18px 0 0;
  padding-left:18px;
}
.language-section li{
  margin:10px 0;
  line-height:1.75;
  color:#45413a;
  font-size:14px;
}
.language-section .subhead{
  margin-top:28px;
  color:var(--v17-gold);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.language-section dl{
  margin-top:20px;
  border-top:1px solid var(--v17-line);
}
.language-section dl div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:30px;
  padding:15px 0;
  border-bottom:1px solid var(--v17-line);
}
.language-section dt{
  color:var(--v17-muted);
  font-size:10px;
  letter-spacing:.08em;
}
.language-section dd{
  margin:0;
  line-height:1.65;
  font-size:14px;
}
.language-section a{color:inherit}
.language-section a:hover{color:var(--v17-gold)}
.note{
  padding-left:18px;
  border-left:2px solid var(--v17-gold);
  color:var(--v17-muted)!important;
  font-size:12px!important;
}
.bank-box{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:24px;
  padding:24px;
  background:var(--v17-paper-light);
  border:1px solid var(--v17-line);
}
.bank-box strong{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;
  font-weight:500;
}
.bank-box span{font-size:11px;color:var(--v17-muted)}
.application-bottom-cta{
  padding:80px 24px 100px;
  text-align:center;
  background:var(--v17-ink);
  color:white;
}
.application-bottom-cta p{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(30px,4vw,52px);
}
.application-bottom-cta a{
  display:inline-flex;
  margin-top:26px;
  color:white;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.15em;
  border-bottom:1px solid rgba(255,255,255,.7);
  padding-bottom:8px;
}
.application-bottom-cta b{margin-left:12px}

@media(max-width:900px){
  .conductor-preview-grid{
    grid-template-columns:1fr 1fr!important;
    gap:36px!important;
  }
  .conductor-preview-image,
  .conductor-preview-image img{min-height:500px}
  .home-news-item-featured{
    grid-template-columns:120px minmax(0,1fr);
  }
  .home-news-apply{grid-column:2}
}
@media(max-width:640px){
  :root{--home-title-size:clamp(42px,13vw,58px)}
  .conductor-preview-grid{grid-template-columns:1fr!important}
  .conductor-preview-copy{order:1}
  .conductor-preview-image{order:2}
  .conductor-preview-image,
  .conductor-preview-image img{min-height:440px}
  .home-news-item-featured{grid-template-columns:1fr;gap:12px}
  .home-news-apply{grid-column:auto;justify-self:start}
  .application-hero{padding:132px 20px 66px}
  .application-summary{flex-direction:column;gap:10px}
  .application-actions{flex-wrap:wrap}
  .language-tabs{
    top:66px;
    justify-content:flex-start;
    overflow-x:auto;
  }
  .language-tabs a{white-space:nowrap}
  .application-content{width:calc(100% - 40px);padding-top:62px}
  .language-section dl div{grid-template-columns:1fr;gap:7px}
}


/* V19 FINAL UNIFIED */
.main-nav a{font-size:11.7px!important;letter-spacing:.18em!important}
.language a,.language span{font-size:10.5px!important}
.subpage-hero,.news-hero{padding-top:128px!important;padding-bottom:46px!important;min-height:auto!important}
.subpage-hero-inner,.news-hero-inner{width:min(1240px,calc(100% - 80px))!important}
.subpage-hero h1,.news-hero h1{margin-top:12px!important}
.about-detail,.conductor-detail,.news-list{margin-top:52px!important}

/* About */
.about-story{width:min(1240px,calc(100% - 80px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1.8fr) minmax(350px,.95fr)!important;min-height:560px!important;background:#f2eee6!important}
.about-story-image{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:560px!important;object-fit:cover!important;object-position:center center!important;grid-column:1!important}
.about-story-shade{display:none!important}
.about-story-copy{position:relative!important;inset:auto!important;grid-column:2!important;width:auto!important;max-width:none!important;padding:46px 40px!important;background:#f2eee6!important;color:#211f1b!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.about-story-copy p{color:#302d28!important;text-shadow:none!important;line-height:1.9!important;margin:0 0 22px!important}
.about-story-copy p:last-child{margin-bottom:0!important}
.about-stats{width:min(1240px,calc(100% - 80px))!important;margin:0 auto 96px!important}
.stat-item strong{font-size:44px!important}

/* Conductor */
.career-block strong{font-weight:500!important}
.career-block em.institution{font-family:"Cormorant Garamond",serif!important;font-size:20px!important;font-weight:500!important;font-style:italic!important;line-height:1.2!important}
.career-sections{margin-top:52px!important}

/* Projects */
.coming-page{padding-top:0!important}
.coming-panel{width:min(1240px,calc(100% - 80px))!important;margin:0 auto 96px!important;padding-top:128px!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:78px!important;align-items:center!important}
.coming-copy{order:1!important}
.coming-visual{order:2!important}
.coming-copy h1{font-size:clamp(62px,7vw,100px)!important;margin:12px 0 0!important;line-height:.9!important}
.coming-status{margin-top:32px!important}
.coming-description{margin-top:24px!important}
.coming-visual img{height:620px!important;width:100%!important;object-fit:cover!important}

/* News */
.news-row .news-copy h2{font-size:clamp(28px,3vw,42px)!important;line-height:1.08!important;font-weight:500!important;letter-spacing:-.025em!important}
.news-row-featured .news-copy h2{font-size:clamp(28px,3vw,42px)!important}

/* Contact */
.contact-signature{padding:92px 0 96px!important}
.contact-signature-inner{width:min(1240px,calc(100% - 80px))!important;grid-template-columns:240px minmax(0,1fr)!important;gap:70px!important}
.contact-label>span{display:none!important}
.contact-main h2{font-family:"Cormorant Garamond",serif!important;font-size:clamp(62px,7vw,100px)!important;line-height:.9!important;font-weight:500!important;letter-spacing:-.05em!important;margin:0 0 40px!important}
.contact-option strong{font-size:20px!important;font-weight:400!important}
.contact-option:nth-child(2) strong{font-size:20px!important}

/* International transfer */
.transfer-box{margin-top:26px;border:1px solid var(--v17-line);background:var(--v17-paper-light)}
.transfer-box h4{margin:0;padding:18px 22px;border-bottom:1px solid var(--v17-line);font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:500}
.transfer-grid{display:grid;grid-template-columns:210px minmax(0,1fr);margin:0!important;border:0!important}
.transfer-grid div{display:contents!important}
.transfer-grid dt,.transfer-grid dd{margin:0;padding:14px 20px;border-bottom:1px solid var(--v17-line)}
.transfer-grid dt{font-size:10px;letter-spacing:.08em;color:var(--v17-muted)}
.transfer-grid dd{border-left:1px solid var(--v17-line);font-size:14px;line-height:1.65}
.transfer-grid div:last-child dt,.transfer-grid div:last-child dd{border-bottom:0}

@media(max-width:900px){
.about-story,.coming-panel{grid-template-columns:1fr!important}
.about-story-image{min-height:430px!important;grid-column:1!important}
.about-story-copy{grid-column:1!important}
.coming-copy{order:1!important}.coming-visual{order:2!important}
.contact-signature-inner{grid-template-columns:1fr!important;gap:32px!important}
}
@media(max-width:640px){
.main-nav a{font-size:10px!important}
.subpage-hero-inner,.news-hero-inner,.about-story,.about-stats,.coming-panel,.contact-signature-inner{width:calc(100% - 40px)!important}
.about-story-image{min-height:340px!important}
.about-story-copy{padding:30px 24px!important}
.coming-visual img{height:390px!important}
.contact-option strong{font-size:17px!important}
.transfer-grid{grid-template-columns:1fr}.transfer-grid div{display:block!important}.transfer-grid dd{border-left:0!important}
}


/* V20 — refinement pass */

/* Home news: notice and press titles visually unified */
.home-news-item-featured .home-news-title-link strong,
.home-news-item > strong{
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(26px,2.6vw,38px) !important;
  line-height:1.06 !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
}

/* News page: all article titles 30% smaller and lighter */
.news-row .news-copy h2,
.news-row .news-copy h2 a{
  font-family:"Cormorant Garamond",serif !important;
  font-size:clamp(26px,2.4vw,38px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
}
.notice-row .news-copy h2,
.press-row .news-copy h2{
  font-size:clamp(26px,2.4vw,38px) !important;
}

/* Contact title with refined slogan */
.contact-title-line{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:36px;
}
.contact-title-line h2{
  margin:0 !important;
}
.contact-slogan{
  margin:0 0 8px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(22px,2.1vw,34px);
  line-height:1;
  font-style:italic;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--v17-muted);
  white-space:nowrap;
}

/* CJK application typography: remove accidental bold glyphs */
.language-section[id="cn"],
.language-section[id="jp"]{
  font-weight:400;
}
.language-section[id="cn"] h2,
.language-section[id="cn"] h3,
.language-section[id="jp"] h2,
.language-section[id="jp"] h3{
  font-family:"Cormorant Garamond","Noto Serif SC","Noto Serif JP",serif !important;
  font-weight:500 !important;
}
.language-section[id="cn"] strong,
.language-section[id="jp"] strong,
.language-section[id="cn"] b,
.language-section[id="jp"] b{
  font-weight:500 !important;
}

/* Bottom CTA: headline half-size, application link 3x larger */
.application-bottom-cta-refined p{
  font-size:clamp(24px,3vw,38px) !important;
  line-height:1.1 !important;
}
.application-bottom-cta-refined a{
  margin-top:34px !important;
  font-size:clamp(22px,2.2vw,30px) !important;
  letter-spacing:.08em !important;
  padding-bottom:12px !important;
}
.application-bottom-cta-refined a b{
  margin-left:16px !important;
  font-size:1em !important;
}

/* Same CTA treatment regardless of selected language */
.language-section + .application-bottom-cta-refined,
.application-bottom-cta-refined{
  text-align:center;
}

@media(max-width:760px){
  .contact-title-line{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }
  .contact-slogan{
    margin:0;
    white-space:normal;
  }
  .application-bottom-cta-refined a{
    font-size:clamp(18px,6vw,24px) !important;
  }
}


/* V21 — consistent CJK weight + CTA after every language */

/* Use one real CJK font per language; no mixed fallback glyph weights */
.language-section[id="cn"],
.language-section[id="cn"] *{
  font-family:"Noto Serif SC",serif !important;
  font-weight:400 !important;
}
.language-section[id="jp"],
.language-section[id="jp"] *{
  font-family:"Noto Serif JP",serif !important;
  font-weight:400 !important;
}
.language-section[id="cn"] h2,
.language-section[id="cn"] h3,
.language-section[id="jp"] h2,
.language-section[id="jp"] h3{
  font-weight:400 !important;
  letter-spacing:-.02em !important;
}
.language-section[id="cn"] strong,
.language-section[id="cn"] b,
.language-section[id="jp"] strong,
.language-section[id="jp"] b{
  font-weight:400 !important;
}

/* One CTA immediately after each language section */
.language-cta{
  margin:0 calc(50% - 50vw);
  width:100vw;
}
.application-content > .language-cta{
  margin-top:-100px;
  margin-bottom:100px;
}
.application-content > .language-cta:last-child{
  margin-bottom:-120px;
}
.language-cta p{
  font-size:clamp(22px,2.5vw,34px) !important;
}
.language-cta a{
  font-size:clamp(20px,2vw,28px) !important;
}

@media(max-width:640px){
  .application-content > .language-cta{
    margin-top:-72px;
    margin-bottom:72px;
  }
}


/* V22 — recruitment popup */
.recruit-popup{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.recruit-popup.is-open{
  display:flex;
}
.recruit-popup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,16,13,.48);
  backdrop-filter:blur(4px);
}
.recruit-popup-card{
  position:relative;
  z-index:1;
  width:min(520px,calc(100vw - 40px));
  padding:44px 42px 34px;
  background:#f8f5ee;
  border:1px solid rgba(179,145,89,.35);
  box-shadow:0 30px 90px rgba(25,20,14,.28);
  text-align:left;
}
.recruit-popup-close{
  position:absolute;
  top:14px;
  right:18px;
  border:0;
  background:transparent;
  color:#25221d;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.recruit-popup-card h2{
  margin:12px 0 0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(54px,7vw,82px);
  line-height:.88;
  font-weight:500;
  letter-spacing:-.05em;
}
.recruit-popup-subtitle{
  margin-top:24px;
  font-size:18px;
  line-height:1.65;
  color:#302d27;
}
.recruit-popup-meta{
  display:flex;
  gap:22px;
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid rgba(50,45,37,.16);
  color:#8f6b32;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.recruit-popup-link{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:30px;
  padding:13px 18px;
  background:#1d1a16;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  letter-spacing:.12em;
}
.recruit-popup-link:hover{
  background:#9b7438;
}
.recruit-popup-today{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  color:#746d63;
  font-size:11px;
  cursor:pointer;
}
.recruit-popup-today input{
  width:14px;
  height:14px;
}
body.popup-open{
  overflow:hidden;
}

@media(max-width:640px){
  .recruit-popup{
    align-items:flex-end;
    padding:0;
  }
  .recruit-popup-card{
    width:100%;
    max-height:88vh;
    overflow:auto;
    padding:36px 24px 28px;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .recruit-popup-card h2{
    font-size:clamp(48px,16vw,66px);
  }
  .recruit-popup-subtitle{
    font-size:16px;
  }
  .recruit-popup-meta{
    flex-direction:column;
    gap:8px;
  }
}


/* V23 — mobile menu fix */
@media (max-width: 880px) {
  .site-header {
    z-index: 10001 !important;
  }

  .menu-toggle {
    position: relative;
    z-index: 10003 !important;
  }

  .main-nav {
    z-index: 10002 !important;
    pointer-events: none;
  }

  .main-nav.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
  }

  .main-nav.open a {
    color: #fff !important;
  }
}

/* V24 — mobile menu visibility refinement */
@media (max-width: 880px) {
  .main-nav {
    position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
    min-height: 100svh !important; padding: 112px 28px 40px !important;
    background: rgba(248,245,238,.98) !important; backdrop-filter: blur(18px) !important;
    display:flex !important; flex-direction:column !important; align-items:flex-start !important;
    justify-content:flex-start !important; gap:4px !important; transform:translateY(-100%) !important;
    transition:transform .35s ease, opacity .25s ease, visibility .25s ease !important;
    opacity:0 !important; visibility:hidden !important;
  }
  .main-nav.open {transform:translateY(0) !important; opacity:1 !important; visibility:visible !important;}
  .main-nav.open a {
    width:100% !important; padding:15px 0 !important; color:#1f1d19 !important;
    border-bottom:1px solid rgba(31,29,25,.14) !important;
    font-family:"Cormorant Garamond",serif !important; font-size:clamp(28px,8vw,40px) !important;
    line-height:1 !important; letter-spacing:-.02em !important; text-transform:none !important;
  }
  .main-nav.open a.active {color:#9b7438 !important;}
  .menu-toggle[aria-expanded="true"] span {background:#1f1d19 !important;}
}


/* V26 — four-language website */
.language{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.language a,
.language span{
  font-size:9px!important;
  letter-spacing:.08em!important;
}
.mobile-language{
  display:none;
}
html[lang="ja"] body,
html[lang="zh-CN"] body{
  word-break:normal;
  overflow-wrap:anywhere;
}
html[lang="ja"] .conductor-biography,
html[lang="zh-CN"] .conductor-biography,
html[lang="ja"] .about-story-copy,
html[lang="zh-CN"] .about-story-copy{
  line-height:1.92;
}
@media(max-width:880px){
  .mobile-language{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:24px;
    padding-top:20px;
    width:100%;
    border-top:1px solid rgba(31,29,25,.16);
  }
  .main-nav.open .mobile-language a{
    width:auto!important;
    padding:4px 0!important;
    border:0!important;
    font-family:Inter,sans-serif!important;
    font-size:13px!important;
    letter-spacing:.08em!important;
  }
  .main-nav.open .mobile-language span{
    color:rgba(31,29,25,.35);
  }
}



/* V27 — locale-specific typography and naming */
html[lang="ja"] body{
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
}
html[lang="ja"] .main-nav,
html[lang="ja"] .language,
html[lang="ja"] .eyebrow,
html[lang="ja"] .performance-facts,
html[lang="ja"] .archive-link,
html[lang="ja"] .news-link{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
html[lang="zh-CN"] body{
  font-family:"Noto Serif SC","Songti SC","SimSun",serif;
}
html[lang="zh-CN"] .main-nav,
html[lang="zh-CN"] .language,
html[lang="zh-CN"] .eyebrow,
html[lang="zh-CN"] .performance-facts,
html[lang="zh-CN"] .archive-link,
html[lang="zh-CN"] .news-link{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}
html[lang="ja"] .conductor-name-en,
html[lang="zh-CN"] .conductor-name-en{
  letter-spacing:.12em;
}



/* V28 — language-aware responsive layout fixes */

/* Prevent awkward mid-word/mid-name wrapping in Japanese and Chinese */
html[lang="ja"] .coming-hero h1,
html[lang="ja"] .conductor-hero h1,
html[lang="zh-CN"] .coming-hero h1,
html[lang="zh-CN"] .conductor-hero h1{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  hyphens:none;
}

/* Japanese */
html[lang="ja"] .coming-hero h1{
  font-size:clamp(3.9rem,7vw,7.2rem);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:none;
  white-space:nowrap;
}
html[lang="ja"] .conductor-hero h1{
  font-size:clamp(4rem,7.2vw,7.4rem);
  line-height:.98;
  letter-spacing:-.04em;
  max-width:none;
  white-space:nowrap;
}
html[lang="ja"] .conductor-name-en{
  white-space:nowrap;
  letter-spacing:.11em;
}
html[lang="ja"] .coming-description{
  max-width:780px;
}
html[lang="ja"] .coming-description br{
  display:none;
}

/* Simplified Chinese */
html[lang="zh-CN"] .coming-hero h1{
  font-size:clamp(4.2rem,7.2vw,7.6rem);
  line-height:1;
  letter-spacing:-.035em;
  max-width:none;
  white-space:nowrap;
}
html[lang="zh-CN"] .conductor-hero h1{
  font-size:clamp(4.3rem,7.4vw,7.8rem);
  line-height:1;
  letter-spacing:-.035em;
  max-width:none;
  white-space:nowrap;
}
html[lang="zh-CN"] .conductor-name-en{
  white-space:nowrap;
  letter-spacing:.1em;
}

/* English */
html[lang="en"] .conductor-hero h1{
  font-size:clamp(4.2rem,7vw,7.2rem);
  line-height:.98;
  max-width:1100px;
}
html[lang="en"] .coming-hero h1{
  font-size:clamp(4.2rem,7vw,7.2rem);
  line-height:.98;
}

/* Language switch: use native labels without crowding */
.language{
  gap:8px;
}
.language a{
  min-width:auto;
}
@media (max-width: 1180px){
  .language{
    gap:6px;
  }
  .language a,
  .language span{
    font-size:8.5px!important;
  }
}

/* Tablet */
@media (max-width: 900px){
  html[lang="ja"] .coming-hero h1{
    font-size:clamp(3.6rem,10vw,5.6rem);
  }
  html[lang="ja"] .conductor-hero h1{
    font-size:clamp(3.45rem,9.6vw,5.25rem);
  }
  html[lang="zh-CN"] .coming-hero h1,
  html[lang="zh-CN"] .conductor-hero h1{
    font-size:clamp(3.7rem,10vw,5.6rem);
  }
}

/* Mobile */
@media (max-width: 640px){
  html[lang="ja"] .coming-hero h1{
    font-size:clamp(3.1rem,15.2vw,4.8rem);
    line-height:.98;
    letter-spacing:-.05em;
    white-space:nowrap;
  }
  html[lang="ja"] .conductor-hero h1{
    font-size:clamp(3rem,14.5vw,4.5rem);
    line-height:.98;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  html[lang="ja"] .conductor-name-en{
    font-size:.95rem;
    letter-spacing:.09em;
    white-space:normal;
  }
  html[lang="ja"] .coming-description{
    font-size:1.08rem;
    line-height:1.95;
  }

  html[lang="zh-CN"] .coming-hero h1{
    font-size:clamp(3.3rem,15.5vw,4.9rem);
    line-height:1;
  }
  html[lang="zh-CN"] .conductor-hero h1{
    font-size:clamp(3.25rem,15vw,4.7rem);
    line-height:1;
  }

  html[lang="en"] .conductor-hero h1{
    font-size:clamp(3.2rem,13vw,4.7rem);
  }
  html[lang="en"] .coming-hero h1{
    font-size:clamp(3.2rem,13vw,4.7rem);
  }
}

/* Very narrow phones */
@media (max-width: 390px){
  html[lang="ja"] .coming-hero h1{
    font-size:3rem;
  }
  html[lang="ja"] .conductor-hero h1{
    font-size:2.82rem;
  }
  html[lang="zh-CN"] .coming-hero h1,
  html[lang="zh-CN"] .conductor-hero h1{
    font-size:3rem;
  }
}

/* V31 — verified visual correction layer (based on original V28) */
@media (min-width: 1201px){
  .site-header,
  .site-header.scrolled{
    height:72px!important;
    min-height:72px!important;
    display:grid!important;
    grid-template-columns:170px minmax(0,1fr) 170px!important;
    align-items:center!important;
    gap:26px!important;
    padding:0 clamp(46px,4.5vw,72px)!important;
  }
  .header-brand img,
  .site-header.scrolled .header-brand img{
    width:132px!important;
    max-height:44px!important;
  }
  .main-nav{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(18px,1.55vw,28px)!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .main-nav>a{
    padding:27px 0 24px!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    white-space:nowrap!important;
  }
  html[lang="ja"] .main-nav>a,
  html[lang="zh-CN"] .main-nav>a{
    letter-spacing:.08em!important;
  }
  .language{
    width:170px!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
    white-space:nowrap!important;
  }
  .language a,.language span{
    font-size:9px!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
  }

  .coming-page{padding-top:72px!important;}
  .coming-panel{
    width:min(1240px,calc(100% - 96px))!important;
    min-height:calc(100vh - 72px)!important;
    margin:0 auto!important;
    padding:40px 0 56px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:72px!important;
    align-items:center!important;
  }
  .coming-copy{order:1!important;max-width:none!important;padding-left:18px!important;}
  .coming-visual{order:2!important;min-height:0!important;box-shadow:0 18px 52px rgba(48,39,28,.10)!important;}
  .coming-visual img{
    display:block!important;
    width:100%!important;
    height:min(66vh,620px)!important;
    min-height:520px!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .coming-copy .eyebrow{margin:0 0 18px!important;}
  .coming-copy h1{
    margin:0!important;
    max-width:none!important;
    font-size:clamp(68px,5.7vw,84px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  html[lang="ja"] .coming-copy h1,
  html[lang="zh-CN"] .coming-copy h1{
    font-family:"Noto Serif JP","Noto Serif SC",serif!important;
    font-size:clamp(62px,5.2vw,76px)!important;
    letter-spacing:-.05em!important;
  }
  .coming-status{margin-top:38px!important;}
  .coming-description{
    margin-top:24px!important;
    max-width:520px!important;
    font-size:14px!important;
    line-height:1.95!important;
  }
  html[lang="ja"] .coming-description br,
  html[lang="zh-CN"] .coming-description br{display:none!important;}
  .coming-panel .archive-link{margin-top:34px!important;}
}

@media (min-width:821px) and (max-width:1200px){
  .coming-page{padding-top:74px!important;}
  .coming-panel{
    width:min(940px,calc(100% - 64px))!important;
    margin:0 auto!important;
    padding:64px 0 72px!important;
    display:grid!important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    gap:48px!important;
    align-items:center!important;
  }
  .coming-copy{order:1!important;}
  .coming-visual{order:2!important;}
  .coming-copy h1{
    margin:10px 0 0!important;
    font-size:clamp(50px,6vw,66px)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .coming-visual img{height:520px!important;min-height:0!important;object-fit:cover!important;}
}

@media (max-width:820px){
  .coming-page{padding-top:74px!important;}
  .coming-panel{
    width:calc(100% - 40px)!important;
    margin:0 auto!important;
    padding:58px 0 72px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:42px!important;
  }
  .coming-copy{order:1!important;width:100%!important;}
  .coming-visual{order:2!important;width:100%!important;}
  .coming-copy h1{
    margin:10px 0 0!important;
    font-size:clamp(46px,13vw,64px)!important;
    line-height:1!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
  .coming-description br{display:none!important;}
  .coming-visual img{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/5!important;object-fit:cover!important;}
}
