:root {
  --ink:#102a38;--ink-soft:#4d6470;--ocean:#245f7d;--ocean-deep:#153e55;--sea-glass:#b8d3d5;--mist:#e8efed;--sand:#efe7da;--paper:#f8f5ef;--white:#fffdf8;--accent:#d67b4a;--line:rgba(16,42,56,.16);--shadow:0 22px 60px rgba(16,42,56,.12);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.85;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;text-wrap:balance}.skip-link{position:fixed;top:.6rem;left:.6rem;z-index:10;transform:translateY(-180%);padding:.7rem 1rem;background:var(--white);color:var(--ink)}.skip-link:focus{transform:none}
.hero{position:relative;min-height:92svh;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:clamp(2rem,5vw,6rem);align-items:center;overflow:hidden;padding:clamp(5rem,8vw,8rem) max(1rem,calc((100vw - 1240px)/2));color:var(--white);background:radial-gradient(circle at 78% 18%,rgba(184,211,213,.28),transparent 28%),linear-gradient(135deg,#173f55 0%,#245f7d 56%,#4f8398 100%)}
.hero::after{content:"";position:absolute;inset:auto -10% -25% 26%;height:56%;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:rotate(-8deg)}.hero-copy{position:relative;z-index:2}.eyebrow{margin-bottom:1.5rem;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow.dark{color:var(--ocean)}.eyebrow.light{color:#dbe9eb}.date-mark{margin-bottom:1.2rem;font-family:var(--serif);font-size:clamp(1.35rem,2vw,2.1rem);letter-spacing:.04em}.date-mark span{margin-left:.45rem;font-family:var(--sans);font-size:.62em;letter-spacing:.16em}.hero h1{margin-bottom:1.7rem;font-size:clamp(3rem,7vw,7.2rem);line-height:1.06;letter-spacing:-.045em}.hero-lead{max-width:38rem;margin-bottom:2.3rem;color:rgba(255,253,248,.85);font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.25rem)}.hero-photo{position:relative;z-index:2;margin:0;justify-self:end;width:min(100%,520px);padding:clamp(.6rem,1vw,.9rem);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(9,33,46,.28)}.hero-photo img{width:100%;max-height:74svh;object-fit:contain;background:rgba(255,255,255,.04)}.hero-word{position:absolute;right:-1rem;bottom:-2.4rem;margin:0;color:rgba(255,255,255,.06);font:400 clamp(4rem,13vw,11rem)/1 var(--serif);letter-spacing:-.05em}
.section{padding:clamp(4.5rem,8vw,8rem) 0}.intro,.event-info,.repertoire,.guest,.cta{padding-inline:max(1rem,calc((100vw - 1240px)/2))}.intro{display:grid;grid-template-columns:.36fr 1fr;gap:clamp(2rem,6vw,7rem);background:var(--paper)}.section-kicker{color:var(--ocean);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.intro h2,.section-heading h2,.repertoire h2,.guest h2,.cta h2{margin-bottom:1.6rem;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.24;letter-spacing:-.03em}.intro p{max-width:52rem}
.event-info{background:var(--mist)}.section-heading{margin-bottom:2.2rem}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow)}.info-grid article{min-height:190px;padding:1.8rem;background:var(--white)}.info-grid span{display:block;margin-bottom:1.4rem;color:var(--ocean);font-size:.68rem;font-weight:800;letter-spacing:.16em}.info-grid strong{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.55}.info-grid p{margin:.6rem 0 0;color:var(--ink-soft);font-size:.92rem}.info-grid .interpreter-credit{font-size:.82rem}
.repertoire{background:var(--sand)}.repertoire-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,7vw,7rem);align-items:start}.section-note{max-width:34rem;color:var(--ink-soft)}.piece-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.piece-list li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line)}.piece-list>li>span{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em}.piece-list strong{font-family:var(--serif);font-size:1.08rem;font-weight:600}.piece-list p{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem}
.guest{background:var(--paper)}.guest-card{display:grid;grid-template-columns:minmax(220px,.72fr) 1.28fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(1.2rem,2.6vw,2.4rem);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.guest-card figure{margin:0}.guest-card img{width:100%;max-height:560px;object-fit:contain;background:var(--mist)}.guest-copy{padding:clamp(.5rem,2vw,1.8rem) 0}.guest h2 small{display:block;margin-bottom:.6rem;color:var(--ocean);font-family:var(--sans);font-size:.32em;font-weight:800;letter-spacing:.12em}.guest-copy p{max-width:50rem}
.cta{color:var(--white);background:radial-gradient(circle at 82% 18%,rgba(174,207,211,.16),transparent 26%),linear-gradient(135deg,var(--ocean-deep),var(--ocean))}.cta-inner{max-width:920px}.cta p{max-width:48rem;color:rgba(255,253,248,.83)}.cta-actions{display:flex;flex-wrap:wrap;gap:1rem 1.7rem;align-items:center;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.8rem 1.35rem;border:1px solid currentColor;text-decoration:none;font-weight:700;letter-spacing:.04em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--white);color:var(--ocean-deep);border-color:var(--white)}.button-light:hover{background:transparent;color:var(--white)}.text-link{text-underline-offset:.38rem;font-size:.86rem;font-weight:700}.light-link{color:rgba(255,253,248,.9)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:920px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:5.5rem}.hero-photo{justify-self:start;width:min(100%,560px)}.hero-photo img{max-height:none}.intro,.repertoire-grid,.guest-card{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}.guest-card figure{max-width:420px}}
@media(max-width:600px){.hero{padding-bottom:4.5rem}.hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.info-grid{grid-template-columns:1fr}.info-grid article{min-height:0}.cta-actions{align-items:stretch;flex-direction:column}.button,.text-link{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.site-header{
  position:relative;
  z-index:50;
  color:var(--ink);
  background:rgba(255,253,248,.98);
  border-bottom:1px solid var(--line);
}
.site-header-inner{
  width:min(100% - 2rem,1240px);
  min-height:68px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.site-brand{
  color:inherit;
  text-decoration:none;
  font-family:var(--serif);
  font-size:.95rem;
  line-height:1.3;
  white-space:nowrap;
}
.site-brand span{font-family:var(--sans);font-weight:800}
.site-nav{
  display:flex;
  align-items:center;
  gap:clamp(.85rem,2vw,1.7rem);
  font-size:.76rem;
  line-height:1.3;
  white-space:nowrap;
}
.site-nav a{
  position:relative;
  color:inherit;
  text-decoration:none;
  opacity:.72;
  padding:.55rem 0;
}
.site-nav a:hover,.site-nav a.current{opacity:1}
.site-nav a.current{font-weight:800;color:var(--ocean-deep)}
.site-nav a.current:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:.18rem;
  height:2px;
  background:var(--ocean);
}
@media(max-width:760px){
  .site-header-inner{
    min-height:0;
    align-items:flex-start;
    flex-direction:column;
    gap:.35rem;
    padding:.8rem 0 .7rem;
  }
  .site-brand{font-size:.82rem;white-space:normal}
  .site-nav{
    width:100%;
    overflow-x:auto;
    gap:1.05rem;
    padding-bottom:.15rem;
    font-size:.69rem;
    scrollbar-width:none;
  }
  .site-nav::-webkit-scrollbar{display:none}
}
