/* English typography follows the Japanese site's quiet spacing and image rhythm. */
html[lang=en]{--serif:Georgia,'Times New Roman',serif}
html[lang=en] p{letter-spacing:.012em;line-height:1.95;font-size:16px}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3{font-family:var(--latin);letter-spacing:.015em;line-height:1.22;font-weight:400;text-wrap:balance}
html[lang=en] h2{font-size:42px}html[lang=en] h3{font-size:30px}
html[lang=en] .nav{gap:21px}html[lang=en] .nav a{font-family:Georgia,serif;font-size:13px;letter-spacing:.015em}
html[lang=en] .hero h1{font-size:clamp(44px,4.8vw,72px);max-width:1050px;line-height:1.13;letter-spacing:.025em}
html[lang=en] .hero-copy p{font-size:16px;line-height:1.85;letter-spacing:.025em;max-width:680px}
html[lang=en] .hero-copy p b{font-size:23px}
html[lang=en] .hero-copy .mobile-break{display:block}
html[lang=en] .intro h2{font-size:41px;line-height:1.23}
html[lang=en] .intro p,html[lang=en] .centered p{line-height:1.95}
html[lang=en] .btn,html[lang=en] .arrow-link{font-size:14px;letter-spacing:.025em}
html[lang=en] .subhero h1{font-size:54px;line-height:1.15;max-width:850px}
html[lang=en] .subhero h1.long-title{font-size:43px}
html[lang=en] .subhero .latin-title{font-size:1.1em}
html[lang=en] .program-copy h3{font-size:36px;line-height:1.2}
html[lang=en] .program-copy p,html[lang=en] .story-section p,html[lang=en] .person p{font-size:15px;line-height:1.9}
html[lang=en] .features h3{font-size:29px;line-height:1.25}
html[lang=en] .feature p,html[lang=en] .performance-copy>p{font-size:15px;line-height:1.85}
html[lang=en] .news-item h3{font-size:24px;line-height:1.3;letter-spacing:.01em}
html[lang=en] .news-item p{font-size:14px;line-height:1.85}
html[lang=en] .partners-row h3{font-family:Georgia,serif;font-size:14px;line-height:1.7}
html[lang=en] .partner-names{font-size:14px;letter-spacing:0;line-height:2.2}
html[lang=en] .footer-main p{font-size:13px;line-height:1.9;letter-spacing:0}
html[lang=en] .footer-nav a{font-size:12px;line-height:1.6}
html[lang=en] .join h2{font-size:45px}html[lang=en] .join p{font-size:15px}
html[lang=en] .film-caption p{font-size:15px}
html[lang=en] .page-title h1{font-size:52px}
html[lang=en] .page-title .eyebrow{font-size:15px;margin-top:20px}
html[lang=en] .article-body{width:min(780px,calc(100% - 56px));margin:0 auto;padding:0 0 100px;overflow-wrap:anywhere}
html[lang=en] .article-body p{font-size:17px;line-height:1.95;margin:0 0 1.65em}
html[lang=en] .article-body h2,html[lang=en] .article-body h3{margin:1.5em 0 .65em}
html[lang=en] .article-body img{max-height:650px;object-fit:contain;margin:32px auto}
html[lang=en] .article-body a{color:#000000;text-decoration:underline;text-underline-offset:4px;word-break:break-word}
html[lang=en] .article-body ul,html[lang=en] .article-body ol{padding-left:1.5em;font-size:17px;line-height:1.95}
html[lang=en] .article-body blockquote{border-left:1px solid #b7aa98;margin:30px 0;padding:8px 0 8px 25px}
html[lang=en] .article-heading{padding:60px 0 15px}
html[lang=en] .article-heading .container{max-width:900px}
html[lang=en] .article-heading h1{font-size:50px;line-height:1.15;margin:18px 0 30px;max-width:900px}
html[lang=en] .article-heading .breadcrumb{padding:0 0 35px}
html[lang=en] .article-heading .article-date{font-size:13px;color:var(--muted);margin-bottom:8px}
html[lang=en] .article-summary{font-size:18px;line-height:1.8;color:var(--muted);max-width:780px}
html[lang=en] .article-section{padding-top:28px}
html[lang=en] .article-body figure{margin:30px 0}
html[lang=en] .archive-note{padding:18px 22px;background:var(--cream);color:var(--muted);font-size:13px;line-height:1.8;margin:40px 0}
html[lang=en] .article-body .news-meta{margin:0 0 40px}
html[lang=en] .article-cover{width:100%;max-height:570px;object-fit:cover;margin-bottom:48px}
html[lang=en] .contact-content .intro-note{font-size:16px;line-height:1.9}
html[lang=en] .contact-form label{font-size:15px}
html[lang=en] .source-note,html[lang=en] .performance-source-note{font-size:12px;line-height:1.8}
html[lang=en] .person .role{font-size:14px;line-height:1.8}
@media(min-width:1001px) and (max-width:1250px){html[lang=en] .site-header{padding:0 22px;gap:16px}html[lang=en] .nav{gap:13px}html[lang=en] .brand{font-size:25px}html[lang=en] .nav a{font-size:12px}}
@media(max-width:1000px){html[lang=en] .nav a{font-size:16px}html[lang=en] .nav{gap:23px}html[lang=en] .hero h1{font-size:56px}html[lang=en] .intro h2{font-size:35px}}
@media(max-width:700px){
 html[lang=en] .hero h1{font-size:43px;line-height:1.13;max-width:350px;letter-spacing:.01em}
 html[lang=en] .hero-copy p{font-size:14px;line-height:1.8;margin:24px 0 28px}
 html[lang=en] .hero-copy p b{font-size:20px}html[lang=en] .hero-copy .eyebrow{font-size:10px}
 html[lang=en] h2,html[lang=en] .intro h2{font-size:35px;line-height:1.2}
 html[lang=en] h3,html[lang=en] .program-copy h3{font-size:31px}
 html[lang=en] p,html[lang=en] .intro p,html[lang=en] .centered p{font-size:15px;line-height:1.9}
 html[lang=en] .subhero h1{font-size:42px}html[lang=en] .subhero h1.long-title{font-size:32px}
 html[lang=en] .subhero .latin-title{font-size:1em}
 html[lang=en] .news-item h3{font-size:23px;line-height:1.2}html[lang=en] .news-meta{flex-wrap:wrap;row-gap:4px}
 html[lang=en] .news-item{grid-template-columns:90px minmax(0,1fr);column-gap:18px}
 html[lang=en] .join h2{font-size:35px}html[lang=en] .join p{font-size:14px}
 html[lang=en] .footer-main .brand{font-size:24px}html[lang=en] .footer-nav a{font-size:12px}
 html[lang=en] .footer-nav{grid-template-columns:1fr 1fr;gap:25px}
 html[lang=en] .performance-copy h3{font-size:30px}html[lang=en] .performance-copy>p{font-size:14px}
 html[lang=en] .film-caption p{font-size:13px}html[lang=en] .film-label{line-height:1.7}
 html[lang=en] .page-title h1{font-size:40px;padding:0 22px}
 html[lang=en] .article-body{width:calc(100% - 44px);padding-bottom:65px}html[lang=en] .article-body p{font-size:15px;line-height:1.95}
 html[lang=en] .article-heading h1{font-size:36px}html[lang=en] .article-body{width:100%}html[lang=en] .article-heading{padding:45px 0 10px}
 html[lang=en] .contact-content .intro-note{font-size:15px}
}
/* Shared schedule and participation pages, added 27 October 2026. */
html[lang=en] .schedule-hero h1{font-size:44px;line-height:1.2;letter-spacing:.025em}
html[lang=en] .schedule-hero p{font-size:15px;line-height:1.85}
html[lang=en] .concert-legend .concert-type{font-size:21px;white-space:normal}
html[lang=en] .concert-legend p{font-size:14px;line-height:1.8}
html[lang=en] .concert-lineup .concert-type{font-size:13px;white-space:normal}
html[lang=en] .concert-content h3{font-size:24px;line-height:1.25;letter-spacing:.01em}
html[lang=en] .concert-content .concert-description{font-size:14px;line-height:1.9}
html[lang=en] .concert-content .concert-place,html[lang=en] .concert-content .concert-venue,html[lang=en] .concert-content .concert-note{font-size:12px;line-height:1.8}
html[lang=en] .concert-content .concert-time{font-size:13px;line-height:1.8}
html[lang=en] .concert-source p{font-size:11px;line-height:1.9}
html[lang=en] .concert-group-head h2{font-size:31px;line-height:1.25}
html[lang=en] #concert-count{font-size:12px;line-height:1.8}
html[lang=en] .concert-empty h3{font-size:24px;line-height:1.35}
html[lang=en] .concert-empty p{font-size:14px}
html[lang=en] .schedule-teaser h2{font-size:36px;line-height:1.25}
html[lang=en] .schedule-teaser p{font-size:14px;line-height:1.9}
html[lang=en] .schedule-teaser-actions .btn{max-width:340px;font-size:13px;line-height:1.7}
html[lang=en] .voices-hero h1{font-size:43px;line-height:1.2}
html[lang=en] .voices-page-label{font-size:13px;margin-bottom:15px}
html[lang=en] .voices-page-intro{font-size:14px;line-height:1.9}
html[lang=en] .voices-count{font-size:12px;line-height:1.8}
html[lang=en] .voices-category-heading h2{font-size:35px;line-height:1.2}
html[lang=en] .voices-category-heading p{font-size:14px;line-height:1.9}
html[lang=en] .voice-card h3{font-size:25px;line-height:1.2;letter-spacing:.01em;text-wrap:initial}
html[lang=en] .voice-card .voice-role{font-size:12px;line-height:1.8;min-height:44px}
html[lang=en] .voice-card .voice-card-lead{font-size:15px;line-height:1.8}
html[lang=en] .voice-participation{font-size:12px;line-height:1.8}
html[lang=en] .voice-message h4{font-size:14px;line-height:1.6}
html[lang=en] .voice-message blockquote{font-size:14px;line-height:1.9}
html[lang=en] .choir-history h3{font-size:31px;line-height:1.2}
html[lang=en] .choir-history p{font-size:14px;line-height:1.9}
html[lang=en] .choir-history .choir-community-note{font-size:12px;line-height:1.9}
html[lang=en] .choir-name-list{grid-template-columns:1fr}
html[lang=en] .choir-name-list li{font-size:13px}
html[lang=en] .voices-teacher-credits p{font-size:13px;line-height:1.9}
html[lang=en] .voices-source-note p{font-size:11px;line-height:1.9}
html[lang=en] .voice-teaser-person strong{font-size:17px}
@media(max-width:700px){html[lang=en] .schedule-hero h1{font-size:33px;line-height:1.25}html[lang=en] .schedule-hero p{font-size:14px}html[lang=en] .voices-hero h1{font-size:33px;line-height:1.2}html[lang=en] .voices-page-intro{font-size:13px}html[lang=en] .voices-category-heading h2{font-size:31px}html[lang=en] .voices-category-heading p{font-size:13px}html[lang=en] .voice-card h3{font-size:27px}html[lang=en] .voice-card .voice-role{min-height:0}html[lang=en] .concert-content h3{font-size:22px}html[lang=en] .concert-content .concert-description{font-size:13px}html[lang=en] .concert-type{font-size:12px}html[lang=en] .concert-group-head h2{font-size:29px}html[lang=en] .concert-empty h3{font-size:22px}html[lang=en] .choir-history h3{font-size:29px}html[lang=en] .voices-filter button{font-size:12px;letter-spacing:0}html[lang=en] .schedule-teaser h2{font-size:31px}html[lang=en] .schedule-teaser-actions .btn{width:100%;max-width:100%;font-size:12px}}
