/* Editorial additions: original art remains part of the existing site. */
.editorial-section { background:#0d1011; }
.editorial-section h2,.zenza-teaser h2,.zenza-details h2 { font-size:clamp(32px,4.8vw,62px); line-height:1.55; letter-spacing:.06em; }
.editorial-lead { max-width:42rem; margin:28px 0 36px; font-size:16px; line-height:2; color:#d5d0c6; }
.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:54px; }
.editorial-card { display:flex; flex-direction:column; min-width:0; padding:40px; border:1px solid #45443b; background:#131819; scroll-margin-top:100px; }
.editorial-card--amane { background:#151e27; }
.editorial-card--kawarabanashi { background:#211b17; }
.editorial-card--sns { background:#19201c; }
.editorial-card .eyebrow { color:#c5b184; letter-spacing:.13em; font-size:11px; line-height:1.8; }
.editorial-card h3 { margin:24px 0 12px; font-size:clamp(27px,3vw,39px); line-height:1.55; overflow-wrap:anywhere; }
.program-status { width:fit-content; margin:18px 0 0; padding:6px 12px; border:1px solid #686152; font-size:12px; letter-spacing:.06em; color:#ded7c8; }
.program-reading,.program-subtitle,.program-people { font-size:14px; line-height:1.9; color:#ccc4b6; }
.editorial-card__description { margin:24px 0 30px; font-size:16px; line-height:2; color:#e2ddd2; }
.editorial-card .text-link { margin-top:auto; font-size:14px; }
.program-catchline { margin-bottom:28px; color:#d5c18f; font-size:18px; line-height:1.8; }
.collection-note { margin:30px 0; font-size:14px; line-height:1.9; color:#c1bcaf; }
.program-directory { display:grid; margin-top:42px; }
.program-directory a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:26px 0; border-bottom:1px solid #464238; font-size:clamp(22px,3vw,34px); line-height:1.6; }
.program-directory small { grid-column:1; font-size:14px; color:#c4bcae; }
.program-directory a>span:last-child { grid-column:2; grid-row:1; }
.zenza-teaser { background:#171713; border-top:1px solid #454137; }
.zenza-teaser h2 { margin-top:26px; }
.zenza-teaser>p:not(.eyebrow):not(.program-status),.zenza-details>p:not(.eyebrow) { font-size:16px; line-height:2; max-width:42rem; }
.zenza-teaser .text-link { margin-top:32px; }
.zenza-hero { min-height:88svh; display:flex; flex-direction:column; justify-content:center; padding-top:160px; background:radial-gradient(ellipse at 85% 10%,#323025 0,transparent 52%),#121512; }
.zenza-hero h1 { margin:38px 0 28px; font-size:clamp(58px,10vw,104px); letter-spacing:.12em; line-height:1.4; }
.zenza-hero__lead { font-size:clamp(24px,4vw,40px); line-height:1.8; }
.zenza-details { background:#191a15; scroll-margin-top:90px; }
.zenza-details h2 { margin-bottom:38px; }
.zenza-details>p { margin:22px 0; }
.zenza-notice { padding:20px 0; border-block:1px solid #5a5442; color:#e6d9b9; }
.schedule-programs { margin-top:54px; }
.schedule-programs h3 { font-size:24px; margin-bottom:20px; }
.schedule-programs>p { font-size:15px; line-height:1.9; color:#cac3b5; }
.schedule-program { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; padding:25px 0; border-bottom:1px solid #49443a; scroll-margin-top:100px; }
.schedule-program a { font-size:20px; line-height:1.7; }
.schedule-program span { font-size:13px; line-height:2; color:#cdc1a9; }
.mobile-menu { overflow-y:auto; padding:100px 24px 40px; }
.mobile-menu nav { margin:auto; }
a:focus-visible,button:focus-visible { outline:2px solid #d0b879; outline-offset:6px; }
@media(max-width:720px) {
 .editorial-grid { grid-template-columns:1fr; gap:20px; margin-top:36px; }
 .editorial-card { padding:28px 24px; }
 .editorial-card h3 { font-size:29px; }
 .editorial-lead { font-size:16px; }
 .schedule-program { grid-template-columns:1fr; gap:8px; }
 .schedule-program a { font-size:20px; }
 .zenza-hero { padding-top:130px; }
 .desktop-nav { display:none; }
 .cast-profile__name h3 { font-size:32px; overflow-wrap:anywhere; }
 .footer-nav { font-size:11px; }
}

/* 2026-10-04: supplied artwork and mobile-first review refinements. */
.site-header { background:rgba(7,7,6,.9); border-bottom-color:rgba(202,178,126,.18); }
.collection-inner,.service-teaser-inner,.service-hero-inner { width:min(1220px,100%); margin-inline:auto; }
.artwork { display:block; width:100%; }
.artwork img { display:block; width:100%; height:auto; object-fit:contain; }
.artwork-pending { padding:24px; border:1px solid #686152; color:#ded7c8; font-size:14px; line-height:1.8; }
.discovery-nav,.program-jumps { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; padding:22px var(--page-x); background:#151612; border-bottom:1px solid #454137; }
.discovery-nav a,.program-jumps a { display:flex; align-items:center; gap:18px; min-height:44px; padding:8px 4px; font-size:15px; line-height:1.7; color:#ded7c8; }
.program-jumps { justify-content:flex-start; }
.program-jumps a { padding:8px 14px; border:1px solid #575041; font-size:14px; }
.program-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; }
.program-directory .directory-card { grid-template-columns:108px minmax(0,1fr); align-items:center; gap:24px; padding:20px 0; border-top:1px solid #464238; border-bottom:0; }
.directory-card__image { display:block; aspect-ratio:941/1672; }
.directory-card__copy { display:flex; flex-direction:column; min-width:0; gap:10px; }
.directory-card__title { font-size:clamp(20px,2.2vw,28px); line-height:1.65; overflow-wrap:anywhere; }
.directory-card__link { font-size:14px; color:#d5c18f; }
.directory-card small { display:block; font-size:13px; line-height:1.7; }
.editorial-card { padding:0; background:#141714; border-color:#514b3f; }
.editorial-card__heading { padding:32px 32px 22px; }
.editorial-card__heading h3 { font-size:clamp(27px,2.6vw,36px); margin:22px 0 12px; line-height:1.6; font-weight:400; }
.editorial-card__heading .program-reading,.editorial-card__heading .program-subtitle { margin:8px 0 0; }
.program-artwork { width:min(340px,calc(100% - 48px)); aspect-ratio:941/1672; margin:0 auto; }
.editorial-card__body { display:flex; flex:1; flex-direction:column; padding:28px 32px 32px; }
.editorial-card__body .program-people { margin:0; color:#ddd3c0; }
.editorial-card__description { margin:18px 0 24px; }
.editorial-card .text-link { align-self:flex-start; min-height:44px; display:inline-flex; align-items:center; }
.program-feature,.editorial-card { scroll-margin-top:90px; }
.program-feature__main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); }
.program-feature__visual,.home-program__visual { width:100%; margin:0; aspect-ratio:1672/941; align-self:center; }
.program-feature__visual picture,.home-program__visual picture { height:auto; }
.program-feature__visual img,.home-program__visual img { width:100%; height:auto; object-fit:contain; object-position:center; }
.home-program { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); }
.home-program__meta { color:#c9c0af !important; font-size:14px; }
.program-kicker,.program-facts dt { color:#b8ad98; }
.program-facts dt { font-size:12px; }
.program-facts dd { color:#ddd5c6; }
.service-teaser-inner,.service-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(32px,5vw,80px); align-items:center; }
.service-artwork { width:100%; aspect-ratio:1672/941; margin:0; }
.service-teaser-copy>p { font-size:16px; line-height:2; }
.service-teaser-copy>.eyebrow { font-size:11px; }
.service-teaser-copy>.program-status { font-size:12px; }
.zenza-hero { min-height:auto; padding-top:150px; padding-bottom:90px; }
.zenza-hero h1 { font-size:clamp(52px,6vw,84px); }
.service-details-inner { width:min(840px,100%); margin-inline:auto; }
.service-details-inner>p:not(.eyebrow) { font-size:16px; line-height:2; margin:24px 0; }
.schedule-programs { width:min(1180px,100%); margin:54px auto 0; }
.schedule-programs>p,.schedule-program span { color:#554b39; }
.schedule-program { border-color:#bcb19b; }
.schedule-program a { padding-block:4px; min-height:44px; }
.schedule-note p,.schedule-shell__empty span { color:#615540; }
.schedule-section a:focus-visible { outline-color:#705a2e; }
.mobile-menu { padding:92px 24px 28px; display:none; visibility:visible; transition:none !important; }
.mobile-menu.is-open { display:grid; }
.mobile-menu nav,.mobile-menu a { transition:none !important; }
.mobile-menu nav { width:100%; gap:8px; }
.mobile-menu a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:6px 0; }
.footer-nav a,.footer-external a { display:inline-flex; align-items:center; min-height:44px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:14px; line-height:1.7; }
.button-link { max-width:100%; font-size:13px; line-height:1.7; white-space:normal; }
.footer-nav a { font-size:12px; color:#c5bda9; }
.footer-external a { font-size:12px; color:#c5bda9; }
.footer-brand p { font-size:14px; color:#b5ad9f; }
.copyright { color:#a79d8b; font-size:11px; }
@media (min-width:721px) {
 .editorial-card__heading { min-height:240px; }
}
@media (max-width:1180px) {
 .desktop-nav { display:none; }
 .menu-button { display:inline-flex; min-height:44px; }
}
@media (max-width:720px) {
 .editorial-section,.program-feature,.zenza-teaser,.zenza-details { padding-block:64px; }
 .discovery-nav { gap:4px 18px; padding-block:14px; }
 .discovery-nav a { gap:8px; font-size:14px; }
 .program-jumps { gap:8px; padding-block:20px; }
 .program-jumps a { font-size:13px; padding-inline:10px; }
 .program-directory { grid-template-columns:1fr; gap:0; margin-top:28px; }
 .program-directory .directory-card { grid-template-columns:86px minmax(0,1fr); gap:20px; padding-block:22px; }
 .directory-card__title { font-size:20px; }
 .editorial-card__heading { padding:24px 22px 22px; }
 .editorial-card__heading h3 { font-size:27px; letter-spacing:.025em; }
 .editorial-card__body { padding:24px 22px 28px; }
 .program-artwork { width:min(300px,calc(100% - 32px)); }
 .home-program { display:flex; flex-direction:column-reverse; gap:32px; }
 .home-program__visual { width:100%; margin:0; align-self:center; aspect-ratio:1672/941; }
 .program-feature__main { gap:32px; }
 .program-feature__visual { order:-1; aspect-ratio:1672/941; }
 .program-feature__meta { margin-bottom:28px; }
 .program-feature__copy h2 { font-size:40px; }
 .service-teaser-inner,.service-hero-inner { grid-template-columns:1fr; gap:32px; }
 .zenza-hero { padding-top:118px; padding-bottom:56px; }
 .zenza-hero h1 { margin:24px 0 20px; font-size:56px; }
 .zenza-hero__lead { font-size:26px; }
 .zenza-hero .editorial-lead { margin-block:20px; }
 .schedule-programs>p { font-size:16px; }
 .schedule-program { gap:4px; }
 .mobile-menu nav { gap:4px; }
}

/* Okura store: preserve the full artwork and label it as an illustration. */
.service-artwork--captioned { aspect-ratio:auto; }
.service-artwork figcaption { margin-top:10px; color:#c3bba9; font-size:12px; line-height:1.7; text-align:right; }
.zenza-hero .service-title--store { font-size:clamp(42px,5vw,72px); letter-spacing:.06em; }
.service-title--store span { display:inline-block; }
@media(max-width:720px) {
 .zenza-hero .service-title--store { font-size:48px; }
}

/* Entrance artwork: full composition, with live text beneath the image. */
.home-entrance { padding-top:var(--header-h); background:#0b0d0b; }
.home-entrance__visual { width:min(1280px,100%); margin:0 auto; }
.home-entrance__visual picture { aspect-ratio:1672/941; }
.home-entrance__visual img { width:100%; height:auto; object-fit:contain; }
.home-entrance__visual figcaption { padding:10px var(--page-x) 0; color:#bcb4a5; font-size:11px; line-height:1.7; text-align:right; }
.home-entrance__copy { padding:24px var(--page-x) 38px; text-align:center; }
.home-entrance__roman { margin:0 0 12px; color:#c0a66f; font-family:var(--serif-en); font-size:10px; letter-spacing:.5em; }
.home-entrance__copy h1 { margin:0; color:var(--ivory); font-size:clamp(48px,6vw,76px); font-weight:400; line-height:1.25; letter-spacing:.14em; text-indent:.14em; }
.home-entrance__tagline { margin:20px 0 0; color:#ded7ca; font-size:16px; line-height:1.8; letter-spacing:.12em; }
@media(max-width:720px) {
 .home-entrance__copy { padding-top:24px; padding-bottom:30px; }
 .home-entrance__visual figcaption { padding-top:8px; font-size:10px; }
 .home-entrance__tagline { margin-top:16px; font-size:15px; }
}

/* News: quiet typography and fine rules, alongside the existing paper sections. */
.home-news { background:var(--paper); color:#26251f; padding-block:72px; scroll-margin-top:calc(var(--header-h) + 20px); }
.home-news__inner { width:min(1120px,100%); margin-inline:auto; display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(40px,6vw,96px); }
.home-news__heading .eyebrow { color:#735e38; margin:0 0 16px; }
.home-news__heading h2 { margin:0; font-size:34px; font-weight:400; letter-spacing:.12em; line-height:1.5; }
.news-list { min-width:0; border-top:1px solid #b7a88c; }
.news-item { padding:28px 0 30px; border-bottom:1px solid #c9bfac; scroll-margin-top:calc(var(--header-h) + 20px); overflow-wrap:anywhere; }
.news-item time { font-family:var(--sans); font-size:12px; letter-spacing:.1em; color:#695b43; }
.news-item h3 { margin:14px 0 16px; font-weight:400; font-size:22px; line-height:1.8; letter-spacing:.025em; }
.news-item__body p { margin:0; color:#4b453b; font-size:16px; line-height:2; }
.news-item__body p + p { margin-top:8px; }
.home-news + .home-statement { border-top:1px solid #d2c8b6; }
@media(max-width:720px) {
 .home-news { padding-block:44px 48px; }
 .home-news__inner { grid-template-columns:minmax(0,1fr); gap:24px; }
 .home-news__heading .eyebrow { margin-bottom:8px; }
 .home-news__heading h2 { font-size:28px; }
 .news-item { padding-block:24px; }
 .news-item h3 { font-size:20px; margin-block:12px; }
}
