:root{--paper:#f1ece3;--ink:#181715;--muted:#817b72;--line:rgba(24,23,21,.16);--red:#a92726;--serif:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.site-header{height:74px;display:flex;align-items:center;padding:0 3vw;border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(241,236,227,.95)}.brand{display:flex;flex-direction:column;line-height:1.2;letter-spacing:.18em}.brand span{font-family:var(--serif);font-size:17px}.brand .brand-ja{letter-spacing:.16em}.brand small{font-size:8px;margin-top:5px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:28px}.language{display:flex;gap:12px}.language button{border:0;background:none;padding:0;font-size:10px;letter-spacing:.1em;cursor:pointer}.language button.active{color:var(--red)}.menu-button{width:30px;height:20px;border:0;background:none;padding:0;display:grid;align-content:center;gap:7px;cursor:pointer}.menu-button span{height:1px;background:var(--ink);width:100%}.site-nav{position:absolute;right:3vw;top:74px;background:var(--paper);border:1px solid var(--line);padding:24px 34px;display:none;min-width:220px}.site-nav.open{display:grid}.site-nav a{padding:8px 0;letter-spacing:.18em;font-family:var(--serif);font-size:12px}.opening{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);min-height:650px;border-bottom:1px solid var(--line)}.opening-photo{margin:0;padding:0;display:flex;align-items:flex-start;justify-content:flex-start}.opening-photo img{width:auto;height:auto;max-height:650px;max-width:100%;object-fit:contain;object-position:left top}.opening-copy{padding:7vw 8vw 7vw;align-self:center}.artist-name{font-family:var(--serif);font-size:clamp(34px,4.2vw,62px);font-weight:400;letter-spacing:.12em;line-height:1.1;margin:0}.artist-name-en{font-size:9px;letter-spacing:.28em;margin:14px 0 54px}.poem{font-family:var(--serif);letter-spacing:.08em}.poem span,.poem strong{display:block}.poem-lead{font-size:clamp(25px,2.4vw,38px);line-height:1.55;margin-bottom:28px}.poem-turn{font-size:clamp(13px,1vw,16px);line-height:1.8;margin-bottom:18px;color:var(--muted)}.poem-body{font-size:clamp(18px,1.45vw,23px);line-height:2.05}.poem strong{font-size:clamp(28px,2.7vw,43px);line-height:1.3;margin-top:42px;font-weight:400;letter-spacing:.14em}.news-section,.pickup,.road{padding:55px 3vw;border-bottom:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.section-label h2{font-family:var(--serif);font-weight:400;letter-spacing:.18em;font-size:18px;margin:0;white-space:nowrap}.section-label a{font-size:9px;letter-spacing:.15em}.news-rows{border-top:1px solid var(--line)}.news-rows a{display:grid;grid-template-columns:120px 110px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.news-rows time{font-family:var(--serif);font-size:12px}.news-rows .tag{font-size:9px;letter-spacing:.12em;color:#486b4d}.news-rows .accent{color:var(--red)}.news-rows strong{font-weight:400}.pickup-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(300px,.72fr);gap:6vw;max-width:1120px;margin:auto;align-items:center}.pickup-copy h3{font-family:var(--serif);font-size:clamp(34px,4.2vw,64px);font-weight:400;line-height:1.07;margin:0 0 28px}.pickup-date{font-family:var(--serif);font-size:clamp(28px,3.2vw,48px);margin:0 0 12px}.pickup-date small{font-size:11px;letter-spacing:.1em}.venue{font-family:var(--serif);font-size:20px;margin:0 0 10px}.meta,.support{font-size:12px;line-height:1.8}.support{margin:24px 0}.solid-link{display:inline-block;background:var(--red);color:white;padding:12px 25px;font-size:11px;letter-spacing:.12em}.pickup-flyer{margin:0}.pickup-flyer img{max-height:630px;margin:auto;object-fit:contain}.road-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:55px}.road-feature{display:grid;grid-template-columns:minmax(190px,.8fr) 1fr;gap:28px;align-items:end}.road-feature figure{margin:0}.road-feature figure img{width:100%;aspect-ratio:1/1;object-fit:cover}.road-feature time{font-family:var(--serif);font-size:18px}.road-feature time small{font-size:9px;color:var(--red)}.road-feature h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.55;margin:14px 0}.road-feature p,.road-feature span{font-size:11px}.placeholder-film{aspect-ratio:1/1;background:linear-gradient(180deg,#9fb1b3,#d6c9ac);display:grid;place-items:center;text-align:center;font-family:var(--serif);font-size:24px;letter-spacing:.1em;color:white}.road-list{border-top:1px solid var(--line)}.road-list a{display:grid;grid-template-columns:110px 120px 1fr 30px;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.road-list time{font-family:var(--serif);font-size:22px}.road-list time small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.18em}.road-list span{font-size:10px;letter-spacing:.15em}.road-list strong{font-family:var(--serif);font-weight:400;font-size:17px}.road-list i{font-style:normal}.featured-row strong{color:var(--red)}.movie-band{height:300px;position:relative;overflow:hidden;background:#211f1c}.movie-band img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.55) sepia(.15);opacity:.75}.movie-band a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;color:white;letter-spacing:.18em;font-size:11px}.play{width:58px;height:58px;border:1px solid white;border-radius:50%;display:grid;place-items:center;padding-left:3px}.portal-grid{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.portal-grid a{padding:30px 2.5vw 40px;border-right:1px solid var(--line)}.portal-grid a:last-child{border:0}.portal-grid h2{font-family:var(--serif);font-size:17px;letter-spacing:.12em;font-weight:400;margin:0}.portal-grid p{font-size:10px;min-height:32px;margin:3px 0 20px}.portal-grid img{width:100%;aspect-ratio:1.55/1;object-fit:cover;filter:saturate(.55) sepia(.18)}.footer{display:flex;justify-content:space-between;padding:25px 3vw;font-size:9px;letter-spacing:.1em}.footer nav{display:flex;gap:18px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.site-header{height:66px;padding:0 20px}.brand span{font-size:14px}.language{display:none}.site-nav{right:20px;top:66px}.opening{display:block;min-height:0}.opening-photo{padding:0}.opening-photo img{width:100%;max-height:none;object-fit:contain}.opening-copy{padding:48px 26px 68px}.artist-name{font-size:38px;letter-spacing:.1em}.artist-name-en{margin:10px 0 40px;font-size:8px}.poem-lead{font-size:27px;line-height:1.55;margin-bottom:24px}.poem-turn{font-size:13px;margin-bottom:14px}.poem-body{font-size:18px;line-height:2}.poem strong{font-size:31px;margin-top:34px}.news-section,.pickup,.road{padding:42px 22px}.section-label{margin-bottom:22px}.section-label h2{font-size:16px}.news-rows a{grid-template-columns:86px 1fr;gap:6px 15px}.news-rows .tag{grid-column:2}.news-rows strong{grid-column:2}.pickup-layout{display:block}.pickup-copy{padding-bottom:35px}.pickup-copy h3{font-size:39px}.pickup-flyer img{width:100%;max-height:none}.road-grid{display:block}.road-feature{grid-template-columns:42% 1fr;gap:18px;margin-bottom:42px}.road-feature h3{font-size:17px}.road-list a{grid-template-columns:62px 1fr 20px;gap:12px}.road-list span{display:none}.road-list strong{font-size:14px;line-height:1.45}.road-list i{grid-column:3}.movie-band{height:220px}.portal-grid{grid-template-columns:1fr 1fr}.portal-grid a{border-bottom:1px solid var(--line)}.portal-grid a:nth-child(even){border-right:0}.portal-grid a:last-child{grid-column:1/-1}.footer{display:block}.footer nav{margin-top:12px}}

/* V19 — editorial / cinematic home */
.home-page{background:#f2eee7}.opening-v19{grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);min-height:720px}.opening-image-wrap{align-self:start}.opening-v19 .opening-photo{padding:0;margin:0}.opening-v19 .opening-photo img{max-height:680px;max-width:100%;width:auto;object-fit:contain}.photo-caption{font-size:8px;letter-spacing:.22em;color:var(--muted);margin:12px 0 0 3vw}.opening-v19 .opening-copy{padding:7vw 8vw 7vw 7vw}.identity-block{margin-bottom:72px}.opening-v19 .artist-name{font-size:clamp(42px,5vw,74px);letter-spacing:.15em}.opening-v19 .artist-name-en{margin:14px 0 0}.opening-v19 .poem{max-width:480px}.opening-v19 .poem-lead{font-size:clamp(28px,2.75vw,42px);line-height:1.5}.opening-v19 .poem-turn{margin-top:18px}.opening-v19 .poem-body{font-size:clamp(18px,1.45vw,23px);line-height:2.15}.opening-v19 .poem strong{margin-top:52px;font-size:clamp(32px,3.2vw,50px)}
.section-label-editorial{align-items:flex-start;margin-bottom:36px}.section-label-editorial>div{display:flex;align-items:baseline}.section-label-editorial h2{font-size:15px;letter-spacing:.24em}.news-section,.pickup-v19,.road-v19,.movie-section,.portal-section{padding:72px 5vw;border-bottom:1px solid var(--line)}.news-rows a{grid-template-columns:128px 112px 1fr 24px;padding:21px 0}.news-rows i{font-style:normal;text-align:right}.pickup-v19 .pickup-layout{grid-template-columns:minmax(300px,.72fr) minmax(360px,.9fr);max-width:1180px;gap:8vw;align-items:center}.pickup-v19 .pickup-flyer img{max-height:720px}.pickup-v19 .pickup-copy h3{font-size:clamp(42px,5.2vw,76px);line-height:1.02;margin-bottom:40px}.pickup-v19 .kicker{font-size:9px;letter-spacing:.28em;margin-bottom:20px}.pickup-facts{border-top:1px solid var(--line);padding-top:24px}.pickup-v19 .pickup-date{font-size:clamp(28px,3.5vw,52px)}.text-link{display:flex;justify-content:space-between;align-items:center;max-width:330px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:14px 0;margin-top:34px;font-size:11px;letter-spacing:.13em}.text-link i{font-style:normal}.road-list-v19{border-top:1px solid var(--ink)}.road-list-v19 a{grid-template-columns:120px 130px 1fr 28px;padding:24px 0}.road-list-v19 time{font-size:28px}.road-list-v19 span{font-size:9px}.road-list-v19 strong{font-size:18px}.movie-section{padding-bottom:86px}.movie-section .movie-band{display:block;height:420px;position:relative;overflow:hidden}.movie-section .movie-band img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.65) sepia(.1);opacity:.82}.movie-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;color:white;letter-spacing:.2em;font-size:10px}.portal-section{padding-bottom:90px}.portal-grid-v19{grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:0}.portal-grid-v19 a{display:flex;flex-direction:column;gap:24px;padding:28px 22px 0;border-right:1px solid var(--line)}.portal-grid-v19 img{margin-top:auto;aspect-ratio:1.2/1}.portal-grid-v19 h2{font-size:15px}.portal-grid-v19 p{min-height:0}.footer{padding:34px 5vw}
@media(max-width:800px){.opening-v19{display:block}.opening-image-wrap{padding:0}.opening-v19 .opening-photo img{width:100%;max-height:none}.photo-caption{margin-left:22px}.opening-v19 .opening-copy{padding:54px 24px 74px}.identity-block{margin-bottom:46px}.opening-v19 .artist-name{font-size:43px}.opening-v19 .poem-lead{font-size:28px}.opening-v19 .poem strong{font-size:34px;margin-top:40px}.news-section,.pickup-v19,.road-v19,.movie-section,.portal-section{padding:50px 22px}.section-label-editorial{margin-bottom:26px}.news-rows a{grid-template-columns:84px 1fr 20px;gap:7px 12px}.news-rows .tag{grid-column:2}.news-rows strong{grid-column:2}.news-rows i{grid-column:3;grid-row:1/4}.pickup-v19 .pickup-layout{display:flex;flex-direction:column}.pickup-v19 .pickup-flyer{order:1}.pickup-v19 .pickup-copy{order:2;padding-top:36px}.pickup-v19 .pickup-copy h3{font-size:43px}.road-list-v19 a{grid-template-columns:58px 1fr 20px;gap:12px;padding:20px 0}.road-list-v19 span{display:none}.road-list-v19 strong{font-size:14px;line-height:1.55}.movie-section .movie-band{height:240px}.portal-grid-v19{display:block}.portal-grid-v19 a{display:grid;grid-template-columns:1fr 46%;align-items:end;border-right:0;border-bottom:1px solid var(--line);padding:26px 0}.portal-grid-v19 img{width:100%;aspect-ratio:1.35/1}.portal-grid-v19 a:last-child{grid-column:auto}.footer{padding:28px 22px}}
/* V20 LIVE ARCHIVE */
.archive-page{background:#f1ece3;color:#1b1916}.archive-main{max-width:1180px;margin:0 auto;padding:150px 42px 110px}.archive-intro{display:grid;grid-template-columns:180px 1fr 1fr;gap:48px;align-items:end;padding:52px 0 70px;border-bottom:1px solid rgba(27,25,22,.22)}.archive-intro .eyebrow{font-size:12px;letter-spacing:.22em}.archive-intro h1{font-family:serif;font-weight:400;font-size:clamp(54px,7vw,106px);line-height:1;margin:0}.archive-intro>p:last-of-type{font-family:serif;line-height:2;font-size:16px}.archive-intro nav{grid-column:2/4;display:flex;gap:22px;flex-wrap:wrap;padding-top:16px}.archive-intro nav a{font-size:13px;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:4px}.archive-year{border-bottom:1px solid rgba(27,25,22,.22)}.archive-year-head{width:100%;display:grid;grid-template-columns:1fr auto 32px;align-items:center;gap:20px;padding:28px 0;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.archive-year-head span{font-family:serif;font-size:38px}.archive-year-head small{letter-spacing:.16em;font-size:10px}.archive-year-head i{font-style:normal;font-size:22px;text-align:right;transition:transform .25s}.archive-year-head[aria-expanded=true] i{transform:rotate(45deg)}.archive-year-body{display:none;padding-bottom:30px}.archive-year-body[data-open=true]{display:block}.archive-row{display:grid;grid-template-columns:130px 220px minmax(0,1fr) auto;gap:28px;padding:22px 0;border-top:1px solid rgba(27,25,22,.12);align-items:start}.archive-row time{font-family:serif;font-size:17px}.archive-place strong,.archive-place span{display:block}.archive-place strong{font-size:13px;margin-bottom:5px}.archive-place span{font-size:12px;line-height:1.6;opacity:.68}.archive-title h3{font-family:serif;font-size:18px;font-weight:400;margin:0 0 7px;line-height:1.55}.archive-title p{font-size:12px;line-height:1.7;opacity:.72;margin:0}.archive-badge{font-size:9px;letter-spacing:.14em;border:1px solid rgba(27,25,22,.35);padding:5px 7px;white-space:nowrap}.road-archive-link{display:flex;justify-content:flex-end;margin-top:28px}.road-archive-link a{font-size:12px;letter-spacing:.16em;border-bottom:1px solid currentColor;padding-bottom:6px}
@media(max-width:760px){.archive-main{padding:105px 20px 70px}.archive-intro{display:block;padding:38px 0 45px}.archive-intro h1{margin:24px 0}.archive-intro nav{display:flex;margin-top:28px}.archive-year-head{padding:22px 0}.archive-year-head span{font-size:32px}.archive-row{grid-template-columns:88px 1fr;gap:12px 18px;padding:20px 0}.archive-place{grid-column:2}.archive-title{grid-column:1/3;padding-top:2px}.archive-badge{grid-column:1;grid-row:2;justify-self:start}.archive-title h3{font-size:17px}}

/* V21: event flyer presentation */
.event-detail figure{margin:0;align-self:start}
.event-detail figure a{display:block}
.event-detail figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#0c0b09}
@media (max-width:760px){.event-detail figure{margin-top:2rem}.event-detail figure img{width:100%}}

/* V26 — unified inner-page system */
.inner-page{background:var(--paper)}
.inner-intro{max-width:1180px;margin:0 auto;padding:105px 42px 72px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;column-gap:48px;align-items:end}
.inner-intro .eyebrow{grid-column:1;font-size:10px;letter-spacing:.24em;margin:0 0 12px}
.inner-intro h1{grid-column:1/3;font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,96px);line-height:1;margin:0;letter-spacing:.05em}
.inner-lead{grid-column:2;max-width:560px;margin:36px 0 0;font-family:var(--serif);font-size:clamp(18px,2vw,28px);line-height:1.8;letter-spacing:.05em}
.inner-section{max-width:1180px;margin:0 auto;padding:75px 42px;border-bottom:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading h2{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.18em;margin:0}.section-heading p{font-size:9px;letter-spacing:.18em;margin:0;color:var(--muted)}
.release-list{border-top:1px solid var(--ink)}.release{border-bottom:1px solid var(--line)}.release summary{list-style:none;display:grid;grid-template-columns:145px 1fr 28px;gap:24px;align-items:center;padding:22px 0;cursor:pointer}.release summary::-webkit-details-marker{display:none}.release-date{font-family:var(--serif);font-size:15px}.release-main small,.release-main strong{display:block}.release-main small{font-size:8px;letter-spacing:.2em;color:var(--muted);margin-bottom:3px}.release-main strong{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:.04em}.release-open{font-size:20px;text-align:right;transition:.2s}.release[open] .release-open{transform:rotate(45deg)}.release-body{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:0 0 30px}.release-body ol{grid-column:2;columns:2;column-gap:45px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.9}.release-body p{grid-column:2;margin:18px 0 0;font-size:10px;color:var(--muted);letter-spacing:.05em}
.action-band{display:flex;justify-content:space-between;gap:50px;align-items:end}.action-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,44px);margin:8px 0 0}.action-links{min-width:320px}.action-links a,.next-link a{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding:14px 0;font-size:11px;letter-spacing:.15em}.action-links a:last-child{border-bottom:1px solid var(--ink)}.action-links i{font-style:normal}
.profile-grid{display:grid;grid-template-columns:minmax(260px,.72fr) 1fr;gap:8vw;align-items:start}.profile-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.62) sepia(.12)}.profile-copy{max-width:610px}.profile-copy p{margin:0 0 25px}.profile-name{font-family:var(--serif);font-size:28px}.profile-name small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.2em;margin-top:8px}.clean-timeline{border-top:1px solid var(--ink)}.clean-timeline div{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.clean-timeline time{font-family:var(--serif);font-size:23px}.clean-timeline p{margin:0}.next-link{display:flex;justify-content:space-between;align-items:center;gap:30px}.next-link p{font-family:var(--serif);font-size:20px}.next-link a{min-width:280px;border-bottom:1px solid var(--ink)}
.work-list{padding-top:20px}.work-list article{display:grid;grid-template-columns:150px 1fr 40px;gap:30px;padding:42px 0;border-bottom:1px solid var(--line);align-items:start}.work-list article>span{font-size:9px;letter-spacing:.2em}.work-list h2{font-family:var(--serif);font-size:clamp(26px,3vw,42px);font-weight:400;margin:0 0 10px}.work-list p{max-width:620px;margin:0;color:#4e4a44}.work-list i{font-family:var(--serif);font-style:normal;color:var(--muted)}
.century-lead{display:grid;grid-template-columns:1fr minmax(320px,.85fr);gap:7vw;align-items:center}.century-lead h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,58px);line-height:1.35;margin:12px 0 26px}.century-lead figure{margin:0}.century-lead img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.65) sepia(.1)}.info-table{padding-top:0;padding-bottom:0}.info-table>div{display:grid;grid-template-columns:180px 1fr;padding:26px 0;border-bottom:1px solid var(--line)}.info-table>div:last-child{border:0}.info-table span{font-size:9px;letter-spacing:.2em}.info-table p{margin:0}
.contact-layout{display:grid;grid-template-columns:.78fr 1.2fr;gap:8vw;align-items:start}.contact-note h2{font-family:var(--serif);font-weight:400;font-size:34px}.contact-mail{margin-top:55px}.contact-mail small,.contact-mail a{display:block}.contact-mail small{font-size:8px;letter-spacing:.2em;margin-bottom:8px}.contact-mail a{font-family:var(--serif);font-size:20px}.contact-form{display:grid;gap:22px}.contact-form label{display:grid;gap:8px;font-size:10px;letter-spacing:.1em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 2px;font:inherit;border-radius:0}.contact-form textarea{min-height:145px;border:1px solid var(--line);padding:12px}.button{border:0;background:var(--ink);color:var(--paper);padding:15px 24px;letter-spacing:.15em;cursor:pointer}.inner-footer div{display:flex;flex-direction:column}.inner-footer nav{align-items:center}
.movie-card-section{padding-top:72px}.movie-card{display:grid;grid-template-columns:.72fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:310px}.movie-card>div{padding:38px 4vw;display:flex;flex-direction:column;justify-content:center}.movie-card p{font-size:8px;letter-spacing:.2em;margin:0 0 14px}.movie-card h2{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.4;margin:0 0 40px}.movie-card span{font-size:10px;letter-spacing:.16em}.movie-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.58) sepia(.12)}
@media(max-width:800px){.inner-intro{display:block;padding:72px 22px 48px}.inner-intro h1{font-size:48px}.inner-lead{margin-top:28px;font-size:19px}.inner-section{padding:52px 22px}.release summary{grid-template-columns:88px 1fr 20px;gap:12px}.release-main strong{font-size:17px}.release-body{display:block;padding-left:100px}.release-body ol{columns:1}.action-band,.next-link{display:block}.action-links{min-width:0;margin-top:36px}.next-link a{min-width:0;margin-top:20px}.profile-grid,.century-lead,.contact-layout{display:block}.profile-photo{margin-bottom:38px}.clean-timeline div{grid-template-columns:75px 1fr;gap:15px}.work-list article{grid-template-columns:85px 1fr 25px;gap:14px;padding:30px 0}.work-list p{font-size:13px}.century-lead figure{margin-top:38px}.info-table>div{grid-template-columns:90px 1fr}.contact-form{margin-top:46px}.movie-card{display:block}.movie-card>div{padding:32px 0}.movie-card img{height:220px}.inner-footer nav{margin-top:14px}}


/* V27 — cinematic visual direction */
:root{--amber:#b88442;--night:#131312}
.home-page{background:#eee7dc}
.section-label h2{position:relative}
.section-label h2:after{content:"";display:block;width:28px;height:1px;background:var(--amber);margin-top:10px}
.pickup{background:#1a1917;color:#f3ede4}.pickup .section-label,.pickup .text-link{color:#f3ede4}.pickup .section-label h2:after{background:#d7a760}.pickup-flyer img{box-shadow:0 30px 70px rgba(0,0,0,.32)}
.cinematic-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1px;background:#2b2925;border-bottom:1px solid var(--line)}
.cinematic-panel{position:relative;min-height:460px;overflow:hidden;background:#111}
.cinematic-panel img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.08) brightness(.72);transition:transform .9s ease,filter .5s ease}
.cinematic-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78) 100%)}
.cinematic-panel div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}
.cinematic-panel small{display:block;font-size:8px;letter-spacing:.24em;margin-bottom:10px;color:#d9b278}
.cinematic-panel strong{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.7vw,27px);line-height:1.55;letter-spacing:.04em}
.cinematic-panel:hover img{transform:scale(1.035);filter:saturate(.8) contrast(1.1) brightness(.8)}
.cinematic-rain img{object-position:center 62%}.cinematic-stage img{object-position:center}.cinematic-guitar img{object-position:48% 28%}
.portal-section{background:#e8dfd2}.portal-grid-v19{grid-template-columns:repeat(3,1fr)}
.portal-grid-v19>a{min-height:330px;position:relative;overflow:hidden;border-color:rgba(24,23,21,.22)}
.portal-grid-v19>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.55));pointer-events:none}
.portal-grid-v19>a>div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}
.portal-grid-v19>a h2{font-size:28px;margin:0 0 5px}.portal-grid-v19>a p{margin:0;color:rgba(255,255,255,.8)}
.portal-grid-v19>a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.58) contrast(1.05);transition:transform .7s ease,filter .4s ease}
.portal-grid-v19>a:hover img{transform:scale(1.04);filter:saturate(.78) contrast(1.08)}
@media(max-width:900px){.cinematic-strip{grid-template-columns:1fr 1fr}.cinematic-rain{grid-column:1/3;min-height:420px}.cinematic-panel{min-height:340px}.portal-grid-v19{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cinematic-strip{display:block}.cinematic-panel,.cinematic-rain{min-height:310px}.cinematic-panel div{left:20px;right:20px;bottom:20px}.portal-grid-v19{grid-template-columns:1fr 1fr}.portal-grid-v19>a{min-height:230px}.portal-grid-v19>a>div{left:16px;right:16px;bottom:15px}.portal-grid-v19>a h2{font-size:20px}.portal-grid-v19>a p{font-size:10px;line-height:1.5}}

/* ===== v28 CINEMATIC REBUILD ===== */
:root{--ink:#161513;--paper:#efe9df;--amber:#b78445;--gold:#c69a5a;--night:#0d0e10}
body.home-page{background:var(--paper)}
.home-page .opening{min-height:94vh;position:relative;overflow:hidden;background:#0b0c0e;color:#fff}
.home-page .opening:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.2) 55%,rgba(0,0,0,.72)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);pointer-events:none}
.home-page .opening-image-wrap{position:absolute;inset:0;margin:0;max-width:none}
.home-page .opening-photo,.home-page .opening-photo img{width:100%;height:100%;margin:0}
.home-page .opening-photo img{object-fit:cover;object-position:center 24%;filter:contrast(1.05) saturate(.8)}
.home-page .photo-caption{position:absolute;left:4vw;bottom:3vw;z-index:2;color:rgba(255,255,255,.55);letter-spacing:.18em}
.home-page .opening-copy{position:absolute;z-index:3;right:7vw;top:50%;transform:translateY(-45%);max-width:580px}
.home-page .identity-block{border-left:1px solid rgba(198,154,90,.7);padding-left:25px}
.home-page .artist-name{font-size:clamp(36px,5vw,78px);letter-spacing:.08em;color:#fff}
.home-page .artist-name-en{color:var(--gold);letter-spacing:.25em}
.home-page .poem{margin-top:64px;color:rgba(255,255,255,.82)}
.home-page .poem strong{color:#fff;font-size:clamp(30px,4vw,58px)}

.section-label-editorial>div p{margin:.45rem 0 0;color:#716b62;font-size:.84rem;letter-spacing:.08em}
.pickup-v19{background:var(--night);color:#fff;margin-top:0;padding-top:120px;padding-bottom:130px;position:relative;overflow:hidden}
.pickup-v19:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(183,132,69,.18),transparent 36%)}
.pickup-v19 .section-label,.pickup-v19 .pickup-layout{position:relative;z-index:1}
.pickup-v19 .section-label{border-color:rgba(255,255,255,.2)}
.pickup-v19 .section-label h2,.pickup-v19 h3,.pickup-v19 .pickup-date,.pickup-v19 .venue{color:#fff}
.pickup-v19 .kicker,.pickup-v19 .support,.pickup-v19 .meta{color:rgba(255,255,255,.62)}
.pickup-v19 .pickup-flyer img{box-shadow:0 34px 80px rgba(0,0,0,.55)}
.pickup-v19 .text-link{color:var(--gold);border-color:rgba(198,154,90,.45)}

.road-v28{padding:120px 4vw 130px;background:#e9e2d7}
.road-cinema-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:repeat(2,minmax(260px,36vw));gap:16px;margin:45px 0 62px}
.road-scene{position:relative;overflow:hidden;margin:0;background:#111}
.road-scene-main{grid-row:1/3}
.road-scene img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .8s;filter:saturate(.7) contrast(1.06)}
.road-scene:nth-child(2) img{object-position:center 52%}
.road-scene:nth-child(3) img{object-position:center 26%}
.road-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 55%)}
.road-scene figcaption{position:absolute;left:28px;right:28px;bottom:25px;z-index:2;color:#fff}
.road-scene figcaption small{display:block;color:var(--gold);letter-spacing:.22em;font-size:.66rem;margin-bottom:10px}
.road-scene figcaption strong{font-family:serif;font-weight:400;font-size:clamp(18px,2vw,30px);letter-spacing:.05em}
.road-scene:hover img{transform:scale(1.035);filter:saturate(.9) contrast(1.08)}
.road-list-v28{border-top:1px solid rgba(22,21,19,.22)}
.road-list-v28 a{display:grid;grid-template-columns:130px 130px 1fr 30px;align-items:center;padding:25px 5px;border-bottom:1px solid rgba(22,21,19,.18);color:var(--ink)}
.road-list-v28 .featured-row{background:#161513;color:#fff;padding-left:24px;padding-right:24px;border:none}
.road-list-v28 .featured-row span{color:var(--gold)}

.portal-section-v28{padding:120px 4vw 140px;background:#101113;color:#fff}
.portal-section-v28 .section-label{border-color:rgba(255,255,255,.18)}
.portal-section-v28 .section-label h2{color:#fff}
.portal-section-v28 .section-label p{color:rgba(255,255,255,.45)}
.portal-grid-v28{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:45px}
.portal-card{min-height:440px;position:relative;overflow:hidden;background:#191a1d;color:#fff;display:block}
.portal-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.08) brightness(.68);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .8s}
.portal-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.08) 72%)}
.portal-card>div{position:absolute;z-index:2;left:34px;right:34px;bottom:31px}
.portal-card small{color:var(--gold);letter-spacing:.22em;font-size:.66rem}
.portal-card h2{font-size:clamp(31px,4vw,55px);line-height:1;margin:12px 0 13px;font-weight:500;color:#fff}
.portal-card p{margin:0;color:rgba(255,255,255,.72);font-family:serif;font-size:1rem}
.portal-card span{display:block;margin-top:25px;font-size:.7rem;letter-spacing:.18em;color:rgba(255,255,255,.78)}
.portal-card:hover img{transform:scale(1.045);filter:saturate(.78) contrast(1.08) brightness(.76)}
.portal-card:hover span{color:var(--gold)}
.portal-movie,.portal-music{min-height:560px}
.portal-music img{object-position:center 23%}
.portal-contact img{filter:saturate(.45) contrast(1.05) brightness(.52)}

@media(max-width:760px){
 .home-page .opening{min-height:88svh}
 .home-page .opening:after{background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.05) 68%)}
 .home-page .opening-photo img{object-position:42% center}
 .home-page .opening-copy{left:24px;right:24px;top:auto;bottom:80px;transform:none}
 .home-page .identity-block{padding-left:15px}
 .home-page .artist-name{font-size:43px}
 .home-page .poem{margin-top:28px;font-size:.87rem}
 .home-page .poem strong{font-size:31px}
 .pickup-v19{padding-top:80px;padding-bottom:85px}
 .road-v28{padding:80px 20px 90px}
 .road-cinema-grid{grid-template-columns:1fr;grid-template-rows:55vh 34vh 46vh;gap:10px;margin-top:30px}
 .road-scene-main{grid-row:auto}
 .road-scene figcaption{left:18px;right:18px;bottom:18px}
 .road-list-v28 a{grid-template-columns:84px 1fr 20px;gap:8px;padding:19px 3px}
 .road-list-v28 a span{grid-column:2;font-size:.65rem}
 .road-list-v28 a strong{grid-column:2;grid-row:1/3;font-size:.9rem;padding-left:64px}
 .road-list-v28 a i{grid-column:3;grid-row:1/3}
 .road-list-v28 .featured-row{padding-left:14px;padding-right:14px}
 .portal-section-v28{padding:80px 20px 90px}
 .portal-grid-v28{grid-template-columns:1fr;gap:10px;margin-top:30px}
 .portal-card,.portal-movie,.portal-music{min-height:55vh}
 .portal-card>div{left:22px;right:22px;bottom:23px}
 .portal-card h2{font-size:39px}
}

/* ===== v29 HERO RESPONSIVE REBUILD ===== */
@media (min-width: 761px){
  .home-page .opening{
    min-height:calc(100vh - 74px);
    height:calc(100vh - 74px);
    display:grid;
    grid-template-columns:minmax(430px,42%) minmax(0,58%);
    background:#0b0c0e;
    color:#fff;
  }
  .home-page .opening:after{
    background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 35%,rgba(0,0,0,.12) 65%,rgba(0,0,0,.08) 100%),
               linear-gradient(0deg,rgba(0,0,0,.30),transparent 48%);
    z-index:1;
  }
  .home-page .opening-image-wrap{
    position:absolute;
    inset:0 0 0 38%;
    z-index:0;
    overflow:hidden;
  }
  .home-page .opening-photo,
  .home-page .opening-photo img{
    width:100%;
    height:100%;
  }
  .home-page .opening-photo img{
    object-fit:cover;
    object-position:50% 69%;
    filter:contrast(1.06) saturate(.76) brightness(.90);
  }
  .home-page .opening-copy{
    position:relative;
    grid-column:1;
    align-self:center;
    top:auto;
    right:auto;
    transform:none;
    z-index:3;
    max-width:640px;
    padding:5vh 3vw 5vh 5vw;
  }
  .home-page .identity-block{
    margin-bottom:clamp(30px,5vh,64px);
  }
  .home-page .poem{
    margin-top:0;
    max-width:480px;
  }
  .home-page .photo-caption{
    left:auto;
    right:2.4vw;
    bottom:2vw;
    z-index:3;
  }
}

@media (min-width: 1500px){
  .home-page .opening-image-wrap{inset:0 0 0 40%}
  .home-page .opening-photo img{object-position:50% 67%}
  .home-page .opening-copy{padding-left:6vw}
}

@media (max-width:760px){
  .home-page .opening{
    min-height:calc(100svh - 66px);
    height:calc(100svh - 66px);
  }
  .home-page .opening-image-wrap{inset:0}
  .home-page .opening-photo img{
    object-fit:cover;
    object-position:48% 68%;
    filter:contrast(1.04) saturate(.78) brightness(.82);
  }
  .home-page .opening:after{
    background:linear-gradient(0deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.62) 37%,rgba(0,0,0,.06) 72%),
               linear-gradient(90deg,rgba(0,0,0,.18),transparent 60%);
  }
  .home-page .opening-copy{
    bottom:36px;
    left:21px;
    right:21px;
  }
  .home-page .identity-block{
    margin-bottom:24px;
  }
  .home-page .artist-name{
    font-size:clamp(34px,11vw,46px);
  }
  .home-page .artist-name-en{
    font-size:7px;
    margin-top:8px;
  }
  .home-page .poem{
    margin-top:0;
  }
  .home-page .poem-lead{
    font-size:clamp(21px,7vw,29px);
    margin-bottom:10px;
  }
  .home-page .poem-turn,
  .home-page .poem-body{
    display:none;
  }
  .home-page .poem strong{
    font-size:clamp(27px,9vw,36px);
    margin-top:8px;
  }
  .home-page .photo-caption{
    left:auto;
    right:16px;
    bottom:14px;
    font-size:6px;
  }
}


/* ===== v30 HERO MOBILE PHOTO + ORIGINAL COPY RESTORE ===== */
.home-page .opening-image-wrap,
.home-page .opening-copy{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
@media (max-width:760px){
  .home-page .opening{
    min-height:calc(100svh - 66px);
    height:auto;
    display:grid;
    grid-template-rows:minmax(58svh,640px) auto;
    background:#0b0c0e;
  }
  .home-page .opening-image-wrap{
    position:absolute;
    inset:0 0 auto 0;
    height:min(70svh,760px);
    display:block !important;
    z-index:0;
  }
  .home-page .opening-photo,
  .home-page .opening-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  .home-page .opening-photo img{
    object-fit:cover !important;
    object-position:43% 66% !important;
    opacity:1 !important;
    filter:contrast(1.04) saturate(.80) brightness(.92) !important;
  }
  .home-page .opening:after{
    z-index:1;
    background:
      linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.64) 70%,#0b0c0e 100%),
      linear-gradient(90deg,rgba(0,0,0,.15),transparent 68%) !important;
  }
  .home-page .opening-copy{
    position:relative;
    z-index:3;
    grid-row:2;
    left:auto;
    right:auto;
    bottom:auto;
    top:auto;
    padding:28px 24px 64px;
    background:#0b0c0e;
  }
  .home-page .identity-block{margin-bottom:30px}
  .home-page .poem-turn,
  .home-page .poem-body{display:block !important}
  .home-page .poem-lead{font-size:27px;margin-bottom:18px}
  .home-page .poem-turn{font-size:13px;margin:0 0 14px;color:rgba(255,255,255,.62)}
  .home-page .poem-body{font-size:18px;line-height:2;color:rgba(255,255,255,.83)}
  .home-page .poem strong{font-size:34px;margin-top:34px}
  .home-page .photo-caption{z-index:3;right:14px;bottom:auto;top:calc(min(70svh,760px) - 28px)}
}


/* ===== v1.0 PUBLIC CANDIDATE — HERO + LIVE ARCHIVE ===== */
@media (min-width:761px){
  .home-page .opening{min-height:calc(100vh - 74px);height:calc(100vh - 74px);background:#0b0c0e}
  .home-page .opening-image-wrap{inset:0 0 0 42%;background:#0b0c0e;display:flex;justify-content:flex-end}
  .home-page .opening-photo{width:100%;height:100%;display:flex;justify-content:flex-end}
  .home-page .opening-photo img{width:100%;height:100%;object-fit:contain;object-position:right center;filter:contrast(1.06) saturate(.76) brightness(.9)}
  .home-page .opening:after{background:linear-gradient(90deg,#0b0c0e 0%,rgba(11,12,14,.94) 34%,rgba(11,12,14,.52) 48%,rgba(11,12,14,.03) 72%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 45%)}
  .home-page .opening-copy{padding-left:5vw;max-width:600px}
}
@media (max-width:760px){
  .home-page .opening{grid-template-rows:minmax(61svh,590px) auto}
  .home-page .opening-image-wrap{height:min(72svh,740px)}
  .home-page .opening-photo img{object-position:43% 66% !important}
  .home-page .opening-copy{padding-top:32px}
}
.schedule-tabs{display:flex;gap:9px}.schedule-tabs a{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:11px 18px;border:1px solid rgba(255,255,255,.26);font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,.62)}.schedule-tabs a.active,.schedule-tabs a:hover{background:#fff;color:#111;border-color:#fff}
.past-live-v1{padding:110px max(4vw,28px) 130px;background:#ece6dc;color:#171614}.past-live-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(23,22,20,.25);padding-bottom:24px;margin-bottom:0}.past-live-head p{font-size:10px;letter-spacing:.22em;color:#a06f35;margin:0 0 10px}.past-live-head h2{font-family:serif;font-weight:400;font-size:clamp(32px,4.2vw,58px);margin:0}.past-live-head>a{font-size:10px;letter-spacing:.16em;border-bottom:1px solid rgba(23,22,20,.4);padding-bottom:7px}.past-live-row{display:grid;grid-template-columns:150px 1fr;gap:35px;padding:28px 4px;border-bottom:1px solid rgba(23,22,20,.16)}.past-live-row time{font-family:serif;font-size:20px}.past-live-row span{font-size:9px;letter-spacing:.16em;color:#9b6e38}.past-live-row h3{font-family:serif;font-weight:400;font-size:clamp(18px,2vw,26px);margin:7px 0 6px}.past-live-row p{margin:0;color:#6e675f;font-size:12px;line-height:1.7}.past-live-more{margin-top:38px;display:grid;grid-template-columns:160px 1fr 30px;align-items:center;padding:27px 25px;background:#171614;color:#fff}.past-live-more strong{font-family:serif;font-size:24px;font-weight:400;color:#c89b5d}.past-live-more span{font-size:12px;letter-spacing:.06em}.past-live-more i{font-style:normal;font-size:20px}
@media(max-width:700px){.past-live-v1{padding:75px 20px 85px}.past-live-head{align-items:flex-start}.past-live-head>a{margin-top:8px}.past-live-row{grid-template-columns:92px 1fr;gap:15px;padding:23px 0}.past-live-row time{font-size:16px}.past-live-row h3{font-size:18px;line-height:1.45}.past-live-row p{font-size:11px}.past-live-more{grid-template-columns:1fr 25px;gap:6px;padding:22px 18px}.past-live-more strong{grid-column:1;font-size:20px}.past-live-more span{grid-column:1}.past-live-more i{grid-column:2;grid-row:1/3}.schedule-tabs a{min-width:96px;padding:10px 12px}}


/* Home: complete live / talk schedule */
.home-schedule{padding:110px 5vw;background:#f4efe7;color:#171512;border-top:1px solid rgba(25,22,18,.12)}
.home-schedule-list{border-top:1px solid rgba(23,21,18,.25);margin-top:34px}
.home-event-row{display:grid;grid-template-columns:120px 105px minmax(0,1fr) 30px;align-items:center;gap:28px;padding:24px 6px;border-bottom:1px solid rgba(23,21,18,.18);color:inherit;text-decoration:none;transition:background .25s ease,padding .25s ease}
.home-event-row:hover{background:rgba(158,113,44,.07);padding-left:16px;padding-right:16px}
.home-event-row time{display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:8px;font-style:normal}
.home-event-row time small{grid-column:1/-1;font-size:10px;letter-spacing:.18em;opacity:.55}
.home-event-row time strong{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1}
.home-event-row time em{font-size:10px;letter-spacing:.12em;font-style:normal;padding-bottom:3px;opacity:.6}
.home-event-type{display:inline-flex;justify-content:center;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(23,21,18,.35);font-size:10px;letter-spacing:.13em;white-space:nowrap}
.home-event-type.talk{background:#2a241c;color:#f6f0e6;border-color:#2a241c}
.home-event-row div p{margin:0 0 5px;font-size:11px;letter-spacing:.12em;opacity:.55}
.home-event-row h3{margin:0 0 7px;font-size:18px;line-height:1.45;font-weight:500}
.home-event-row div small{font-size:12px;line-height:1.6;opacity:.68}
.home-event-row>i{font-style:normal;font-size:20px;opacity:.45}
.home-event-featured{background:#191714;color:#f4efe7;margin-left:-1.3vw;margin-right:-1.3vw;padding-left:1.3vw;padding-right:1.3vw}
.home-event-featured:hover{background:#27231d}
.home-event-featured .home-event-type{border-color:#b98a48;color:#d8b06d}
.home-schedule-actions{display:flex;justify-content:space-between;gap:24px;margin-top:26px}
.home-schedule-actions a{color:inherit;text-decoration:none;font-size:11px;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:5px}
@media(max-width:760px){
 .home-schedule{padding:72px 20px}
 .home-event-row{grid-template-columns:74px 1fr 20px;gap:12px;padding:20px 0}
 .home-event-row time{align-self:start}
 .home-event-row time strong{font-size:22px}
 .home-event-type{grid-column:2;grid-row:1;justify-self:start;margin-bottom:7px;min-height:23px;font-size:8px}
 .home-event-row div{grid-column:2;grid-row:1;padding-top:34px}
 .home-event-row>i{grid-column:3;grid-row:1}
 .home-event-row h3{font-size:15px}
 .home-event-row div small{font-size:11px}
 .home-event-featured{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
 .home-schedule-actions{flex-direction:column;align-items:flex-start}
}


/* ===== v1.2 MOBILE POEM — FIXED LINE BREAKS / PUNCTUATION ===== */
.poem .poem-line{display:inline}
@media (min-width:761px){
  .poem-lead .poem-line + .poem-line:before{content:""}
  .poem-turn .poem-line + .poem-line:before{content:""}
}
@media (max-width:760px){
  .home-page .poem{writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:normal}
  .home-page .poem .poem-line{display:block;white-space:nowrap}
  .home-page .poem-lead{line-height:1.48;margin-bottom:24px}
  .home-page .poem-turn{line-height:1.75;margin-bottom:18px}
  .home-page .poem-body{line-height:2.05}
  .home-page .poem-line-indent{padding-left:1.2em}
  .home-page .poem strong{white-space:nowrap;margin-top:38px}
}

/* ===== v1.3 MOBILE HERO — HORIZONTAL CINEMATIC COPY ===== */
.poem-cinematic p{margin:0}
.poem-cinematic .poem-opening{font-family:var(--serif);font-size:clamp(27px,2.75vw,42px);line-height:1.5;letter-spacing:.08em;margin-bottom:24px}
.poem-cinematic .poem-opening span{display:inline}
.poem-cinematic .poem-bridge{font-family:var(--serif);font-size:clamp(13px,1vw,16px);line-height:1.8;color:var(--muted);margin-bottom:18px}
.poem-cinematic .poem-journey{font-family:var(--serif);font-size:clamp(18px,1.45vw,23px);line-height:2.05;letter-spacing:.08em}
.poem-cinematic .poem-journey span{display:block}
.poem-cinematic strong{display:block}

@media(max-width:760px){
  .home-page .opening{
    min-height:calc(100svh - 66px);
    height:calc(100svh - 66px);
    display:block;
    position:relative;
    overflow:hidden;
  }
  .home-page .opening-image-wrap{
    position:absolute;
    inset:0;
    height:100%;
  }
  .home-page .opening-photo,
  .home-page .opening-photo img{width:100%;height:100%}
  .home-page .opening-photo img{
    object-fit:cover!important;
    object-position:47% 63%!important;
    filter:contrast(1.06) saturate(.8) brightness(.86)!important;
  }
  .home-page .opening:after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.03) 34%,rgba(0,0,0,.42) 61%,rgba(0,0,0,.91) 100%),
      linear-gradient(90deg,rgba(0,0,0,.24),transparent 68%)!important;
  }
  .home-page .opening-copy{
    position:absolute;
    left:22px;
    right:22px;
    bottom:28px;
    padding:0;
    background:transparent;
    z-index:3;
  }
  .home-page .identity-block{
    margin-bottom:21px;
    padding-left:13px;
    border-left:1px solid rgba(198,154,90,.72);
  }
  .home-page .artist-name{font-size:clamp(31px,9.5vw,42px);line-height:1.08}
  .home-page .artist-name-en{margin:7px 0 0;font-size:6.5px;letter-spacing:.22em;color:#d2aa70}
  .home-page .poem-cinematic{margin:0;max-width:100%;color:#fff}
  .home-page .poem-cinematic .poem-opening{
    font-size:clamp(20px,5.9vw,27px);
    line-height:1.45;
    letter-spacing:.04em;
    margin:0 0 10px;
    white-space:normal;
  }
  .home-page .poem-cinematic .poem-opening span{
    display:inline;
    font-size:1.18em;
    margin-left:.15em;
    color:#fff;
  }
  .home-page .poem-cinematic .poem-bridge{
    font-size:12px;
    line-height:1.6;
    color:rgba(255,255,255,.68);
    margin:0 0 11px;
    letter-spacing:.08em;
  }
  .home-page .poem-cinematic .poem-journey{
    font-size:clamp(14px,4.15vw,18px);
    line-height:1.75;
    letter-spacing:.035em;
    color:rgba(255,255,255,.88);
  }
  .home-page .poem-cinematic .poem-journey span{display:block;white-space:normal}
  .home-page .poem-cinematic strong{
    font-family:var(--serif);
    font-size:clamp(28px,8.5vw,38px);
    line-height:1.2;
    margin:17px 0 0;
    letter-spacing:.1em;
    color:#fff;
    white-space:nowrap;
  }
  .home-page .photo-caption{display:none}
}

@media(max-width:390px){
  .home-page .opening-copy{left:18px;right:18px;bottom:22px}
  .home-page .identity-block{margin-bottom:16px}
  .home-page .poem-cinematic .poem-opening{font-size:20px}
  .home-page .poem-cinematic .poem-journey{font-size:14px}
  .home-page .poem-cinematic strong{font-size:29px;margin-top:13px}
}

/* ===== v1.4 MOBILE HERO / SCHEDULE STABILITY FIX ===== */
@media (max-width:760px){
  /* Keep the portrait completely clear: image first, copy below. */
  .home-page .opening{
    min-height:0!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
    background:#0b0c0e!important;
  }
  .home-page .opening-image-wrap{
    position:relative!important;
    inset:auto!important;
    order:1;
    width:100%;
    height:58svh!important;
    min-height:430px;
    max-height:640px;
    overflow:hidden;
    background:#0b0c0e;
  }
  .home-page .opening-photo,
  .home-page .opening-photo img{height:100%!important}
  .home-page .opening-photo img{
    object-fit:cover!important;
    object-position:50% 30%!important;
    filter:contrast(1.04) saturate(.82) brightness(.92)!important;
  }
  .home-page .opening:after{display:none!important}
  .home-page .opening-copy{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    order:2;
    width:auto!important;
    max-width:none!important;
    padding:34px 24px 44px!important;
    background:#0b0c0e!important;
    color:#fff;
  }
  .home-page .identity-block{
    margin:0 0 28px!important;
    padding:0 0 0 14px!important;
  }
  .home-page .artist-name{font-size:34px!important}
  .home-page .poem-cinematic{max-width:440px!important}
  .home-page .poem-cinematic .poem-opening{
    font-size:clamp(22px,6.2vw,29px)!important;
    line-height:1.55!important;
    margin-bottom:18px!important;
  }
  .home-page .poem-cinematic .poem-bridge{
    font-size:13px!important;
    margin-bottom:16px!important;
  }
  .home-page .poem-cinematic .poem-journey{
    font-size:clamp(15px,4.3vw,18px)!important;
    line-height:1.9!important;
  }
  .home-page .poem-cinematic strong{
    font-size:clamp(30px,9vw,40px)!important;
    margin-top:28px!important;
  }

  /* Stable schedule cards: no shared grid cell, no overlapping labels/text. */
  .home-schedule{padding:70px 18px 78px!important}
  .home-schedule .section-label{
    display:flex;
    align-items:flex-end;
    gap:14px;
  }
  .home-schedule .section-label h2{
    font-size:clamp(23px,7vw,31px);
    line-height:1.15;
    letter-spacing:.03em;
  }
  .home-schedule .section-label>div p{font-size:10px;line-height:1.6}
  .home-schedule .section-label>a{flex:0 0 auto;font-size:9px}
  .home-schedule-list{margin-top:26px}
  .home-event-row,
  .home-event-featured{
    position:relative;
    display:block!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:22px 38px 23px 0!important;
    min-width:0;
  }
  .home-event-featured{padding-left:16px!important;padding-right:42px!important}
  .home-event-row time{
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    margin:0 0 11px;
    min-width:0;
  }
  .home-event-row time small{order:1;font-size:9px!important}
  .home-event-row time strong{order:2;font-size:25px!important;line-height:1!important}
  .home-event-row time em{order:3;font-size:9px!important;padding:0!important}
  .home-event-type{
    display:inline-flex!important;
    margin:0 0 13px!important;
    min-height:24px!important;
    padding:0 9px!important;
    font-size:8px!important;
    line-height:1;
  }
  .home-event-row div{
    display:block!important;
    padding:0!important;
    min-width:0;
  }
  .home-event-row div p{font-size:10px!important;margin-bottom:6px!important}
  .home-event-row h3{
    margin:0 0 8px!important;
    font-size:16px!important;
    line-height:1.55!important;
    overflow-wrap:anywhere;
  }
  .home-event-row div small{
    display:block;
    font-size:11px!important;
    line-height:1.65!important;
    overflow-wrap:anywhere;
  }
  .home-event-row>i{
    position:absolute!important;
    right:4px;
    top:50%;
    transform:translateY(-50%);
    font-size:18px!important;
  }
  .home-event-featured>i{right:15px}
  .home-schedule-actions{margin-top:28px!important;gap:18px!important}
}

@media (max-width:390px){
  .home-page .opening-image-wrap{height:54svh!important;min-height:390px}
  .home-page .opening-copy{padding:30px 20px 40px!important}
  .home-schedule{padding-left:16px!important;padding-right:16px!important}
  .home-schedule .section-label{align-items:flex-start;flex-direction:column}
}

/* ===== v1.5 MOBILE HERO COMPOSITION — FULL BODY / OFF-CENTER ===== */
@media (max-width: 800px){
  .home-page .opening-v19{
    display:block!important;
    min-height:0!important;
    background:#080808!important;
    overflow:hidden!important;
  }
  .home-page .opening-image-wrap{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    padding:0!important;
    overflow:hidden!important;
    background:#080808!important;
  }
  .home-page .opening-photo{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    overflow:hidden!important;
    display:block!important;
  }
  .home-page .opening-photo img{
    position:relative!important;
    display:block!important;
    width:112%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:translateX(5.5%)!important;
    filter:contrast(1.05) saturate(.78) brightness(.9)!important;
  }
  .home-page .photo-caption{
    position:absolute!important;
    left:18px!important;
    bottom:14px!important;
    z-index:2!important;
    margin:0!important;
    color:rgba(255,255,255,.7)!important;
  }
  .home-page .opening-copy{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    padding:38px 24px 56px!important;
    background:#080808!important;
    color:#fff!important;
  }
}

@media (max-width: 430px){
  .home-page .opening-photo img{
    width:116%!important;
    transform:translateX(7%)!important;
  }
}


/* ===== v1.6-A MIDNIGHT BLUE TOP CONCEPT ===== */
.home-page{
  --night-0:#090d12;
  --night-1:#0d1117;
  --night-2:#111823;
  --night-3:#151d28;
  --night-line:rgba(221,232,244,.14);
  --night-text:#f1f4f7;
  --night-muted:#aab5c1;
  --night-accent:#c99a5d;
  background:var(--night-0);
  color:var(--night-text);
}
.home-page .site-header{
  position:sticky;
  top:0;
  background:rgba(9,13,18,.86);
  color:var(--night-text);
  border-bottom-color:var(--night-line);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.home-page .menu-button span{background:var(--night-text)}
.home-page .site-nav{
  background:rgba(13,17,23,.97);
  border-color:var(--night-line);
  color:var(--night-text);
}
.home-page .opening-v19{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 22%,rgba(72,104,141,.24),transparent 34%),
    radial-gradient(circle at 18% 78%,rgba(119,83,48,.12),transparent 30%),
    linear-gradient(135deg,var(--night-1) 0%,var(--night-2) 52%,#0a0e14 100%)!important;
  border-bottom-color:var(--night-line);
}
.home-page .opening-v19:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.3;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,black,transparent 86%);
}
.home-page .opening-copy{color:var(--night-text)}
.home-page .artist-name-en,.home-page .photo-caption{color:var(--night-accent)}
.home-page .poem-bridge{color:var(--night-muted)}
.home-page .poem-body,.home-page .poem-cinematic .poem-journey{color:#dce3ea}
.home-page .poem strong,.home-page .poem-cinematic strong{color:#fff}
.home-page .news-section{
  background:linear-gradient(180deg,#101720 0%,#121a24 100%);
  border-bottom-color:var(--night-line);
}
.home-page .pickup-v19{
  background:
    radial-gradient(circle at 15% 45%,rgba(201,154,93,.09),transparent 34%),
    linear-gradient(180deg,#0b1016 0%,#0e141c 100%);
  border-bottom-color:var(--night-line);
}
.home-page .home-schedule{
  background:linear-gradient(180deg,#131c27 0%,#101720 100%);
  color:var(--night-text);
  border-bottom:1px solid var(--night-line);
}
.home-page .road-v28{
  background:
    radial-gradient(circle at 82% 15%,rgba(67,93,123,.18),transparent 28%),
    linear-gradient(180deg,#0d131b 0%,#111924 100%);
  border-bottom-color:var(--night-line);
}
.home-page .portal-section-v28{
  background:linear-gradient(180deg,#151e29 0%,#0b1016 100%);
  border-bottom-color:var(--night-line);
}
.home-page .footer{
  background:#080c11;
  color:var(--night-muted);
}
.home-page .section-label,
.home-page .news-rows,
.home-page .news-rows a,
.home-page .pickup-facts,
.home-page .home-event-row,
.home-page .road-list,
.home-page .road-list a,
.home-page .portal-card,
.home-page .portal-grid{
  border-color:var(--night-line)!important;
}
.home-page .section-label h2,
.home-page .news-rows strong,
.home-page .pickup-copy h3,
.home-page .pickup-date,
.home-page .venue,
.home-page .home-event-row h3,
.home-page .road-scene strong,
.home-page .portal-card h2{color:var(--night-text)}
.home-page .section-label p,
.home-page .meta,
.home-page .support,
.home-page .home-event-row div small,
.home-page .road-scene small,
.home-page .portal-card p{color:var(--night-muted)}
.home-page .home-event-row:hover{background:rgba(255,255,255,.035)}
.home-page .home-event-featured{background:rgba(201,154,93,.09)!important}
.home-page .home-event-featured:hover{background:rgba(201,154,93,.14)!important}
.home-page .home-event-type,
.home-page .text-link,
.home-page .section-label a,
.home-page .home-schedule-actions a{color:#e2b97d}
.home-page .portal-card img{filter:saturate(.72) contrast(1.05) brightness(.78)}
.home-page .portal-card:hover img{filter:saturate(.9) contrast(1.07) brightness(.92)}
.home-page .opening-photo img{filter:contrast(1.06) saturate(.82) brightness(.91)!important}

@media(max-width:800px){
  .home-page .opening-v19,
  .home-page .opening-image-wrap,
  .home-page .opening-copy{
    background:
      radial-gradient(circle at 78% 18%,rgba(72,104,141,.22),transparent 36%),
      linear-gradient(180deg,#0d131b 0%,#111923 100%)!important;
  }
  .home-page .opening-copy{border-top:1px solid var(--night-line)}
  .home-page .identity-block{border-left-color:rgba(201,154,93,.75)}
  .home-page .home-schedule{background:linear-gradient(180deg,#121b26,#0f1620)!important}
}
/* v1.7 TOP focused: HERO / NEWS / SCHEDULE / CONTENTS only */
.portal-section-v28 .section-label { margin-bottom: clamp(28px,5vw,64px); }
.portal-grid-v28 .portal-card > div {
  position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:flex-start;
  padding:clamp(22px,3vw,42px); background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.74) 100%);
}
.portal-grid-v28 .portal-card h2 {
  margin:0; font-size:clamp(1.2rem,2.6vw,2.2rem); letter-spacing:.14em; font-weight:500;
  color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.portal-grid-v28 .portal-card:hover img { transform:scale(1.025); }
.portal-grid-v28 .portal-card img { transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.home-schedule { border-top:1px solid rgba(255,255,255,.08); }
@media (max-width: 760px){
  .portal-grid-v28 { grid-template-columns:1fr 1fr; gap:10px; }
  .portal-grid-v28 .portal-card { min-height:210px; }
  .portal-grid-v28 .portal-card > div { padding:16px 14px; }
  .portal-grid-v28 .portal-card h2 { font-size:.96rem; letter-spacing:.11em; }
}

/* v1.8 schedule heading hierarchy */
.home-schedule .section-label h2{font-size:clamp(34px,5vw,66px);letter-spacing:.06em;line-height:1;margin:0}
.home-schedule .schedule-kicker{margin:12px 0 0;font-size:10px;letter-spacing:.34em;color:rgba(255,255,255,.58);font-weight:500}
.home-schedule .section-label{padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.13)}
.home-schedule .section-label>a{align-self:flex-end}
@media(max-width:700px){
 .home-schedule .section-label{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:16px;padding-bottom:20px}
 .home-schedule .section-label h2{font-size:38px!important}
 .home-schedule .schedule-kicker{font-size:9px;letter-spacing:.22em;margin-top:9px;white-space:nowrap}
 .home-schedule .section-label>a{margin-left:auto;font-size:9px}
}
@media(max-width:380px){
 .home-schedule .section-label{flex-direction:column!important;align-items:flex-start!important}
 .home-schedule .section-label>a{margin-left:0}
}


/* v1.9 — unified home section headings */
.home-page .news-section,
.home-page .home-schedule,
.home-page .portal-section-v28{
  padding-top:clamp(72px,8vw,112px);
}
.home-page .section-label.section-label-editorial{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:clamp(30px,4vw,48px);
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.home-page .section-label.section-label-editorial>div{
  display:block;
}
.home-page .section-label.section-label-editorial h2,
.home-page .home-schedule .section-label h2{
  margin:0!important;
  font-size:clamp(30px,4.2vw,52px)!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.09em!important;
  color:#f2ede5!important;
  font-family:var(--sans)!important;
}
.home-page .section-label.section-label-editorial h2:after{
  display:none!important;
}
.home-page .schedule-kicker{
  margin:12px 0 0!important;
  font-size:10px!important;
  line-height:1.4!important;
  font-weight:500!important;
  letter-spacing:.28em!important;
  color:rgba(242,237,229,.58)!important;
  white-space:nowrap;
}
.home-page .section-label.section-label-editorial>a{
  padding-bottom:2px;
  font-size:9px;
  letter-spacing:.18em;
  color:#d8b278!important;
}
@media(max-width:800px){
  .home-page .news-section,
  .home-page .home-schedule,
  .home-page .portal-section-v28{
    padding-top:64px!important;
  }
  .home-page .section-label.section-label-editorial{
    align-items:flex-end!important;
    flex-direction:row!important;
    margin-bottom:30px!important;
    padding-bottom:16px!important;
    gap:14px!important;
  }
  .home-page .section-label.section-label-editorial h2,
  .home-page .home-schedule .section-label h2{
    font-size:30px!important;
    letter-spacing:.08em!important;
  }
  .home-page .schedule-kicker{
    margin-top:9px!important;
    font-size:8px!important;
    letter-spacing:.22em!important;
  }
  .home-page .section-label.section-label-editorial>a{
    flex:0 0 auto;
    font-size:8px!important;
  }
}
@media(max-width:390px){
  .home-page .section-label.section-label-editorial h2,
  .home-page .home-schedule .section-label h2{
    font-size:27px!important;
  }
  .home-page .schedule-kicker{
    font-size:7.5px!important;
    letter-spacing:.17em!important;
  }
}

/* v2.0 — TOP rhythm / producer refinement */
.home-page .news-section{
  background:linear-gradient(180deg,#0d1116 0%,#11171e 100%)!important;
}
.home-page .home-schedule{
  background:linear-gradient(180deg,#151a20 0%,#11161c 100%)!important;
}
.home-page .portal-section-v28{
  background:linear-gradient(180deg,#0c1015 0%,#080b0f 100%)!important;
}
.home-page .news-section,
.home-page .home-schedule,
.home-page .portal-section-v28{
  padding-top:clamp(72px,7vw,96px)!important;
  padding-bottom:clamp(78px,8vw,112px)!important;
}
.home-page .section-label.section-label-editorial{
  margin-bottom:clamp(28px,3.2vw,40px)!important;
  padding-bottom:16px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.home-page .section-label.section-label-editorial h2,
.home-page .home-schedule .section-label h2{
  font-size:clamp(24px,2.35vw,30px)!important;
  line-height:1.1!important;
  font-weight:550!important;
  letter-spacing:.13em!important;
}
.home-page .schedule-kicker{
  margin-top:8px!important;
  font-size:9px!important;
  letter-spacing:.26em!important;
  color:rgba(242,237,229,.52)!important;
}
.home-page .section-label.section-label-editorial>a{
  font-size:8px!important;
  letter-spacing:.16em!important;
  opacity:.82;
}
.home-page .news-rows a{
  padding-top:20px!important;
  padding-bottom:20px!important;
}
.home-page .home-schedule-list{
  margin-top:26px!important;
}
.home-page .portal-grid-v28{
  gap:14px!important;
}
.home-page .portal-grid-v28 .portal-card:nth-child(3),
.home-page .portal-grid-v28 .portal-card:nth-child(6){
  min-height:clamp(360px,34vw,520px);
}
.home-page .portal-grid-v28 .portal-card:nth-child(1),
.home-page .portal-grid-v28 .portal-card:nth-child(4){
  min-height:clamp(300px,29vw,450px);
}
@media(max-width:800px){
  .home-page .news-section,
  .home-page .home-schedule,
  .home-page .portal-section-v28{
    padding-top:58px!important;
    padding-bottom:68px!important;
  }
  .home-page .section-label.section-label-editorial{
    margin-bottom:26px!important;
    padding-bottom:13px!important;
  }
  .home-page .section-label.section-label-editorial h2,
  .home-page .home-schedule .section-label h2{
    font-size:21px!important;
    letter-spacing:.12em!important;
  }
  .home-page .schedule-kicker{
    margin-top:7px!important;
    font-size:8px!important;
    letter-spacing:.21em!important;
  }
  .home-page .portal-grid-v28{
    gap:8px!important;
  }
  .home-page .portal-grid-v28 .portal-card,
  .home-page .portal-grid-v28 .portal-card:nth-child(1),
  .home-page .portal-grid-v28 .portal-card:nth-child(3),
  .home-page .portal-grid-v28 .portal-card:nth-child(4),
  .home-page .portal-grid-v28 .portal-card:nth-child(6){
    min-height:205px!important;
  }
}

/* v2.1 — cinematic motion for TOP */
@media (prefers-reduced-motion: no-preference){
  .home-page.motion-ready .site-header{
    opacity:0;
    transform:translateY(-12px);
    animation:mtHeaderIn .8s cubic-bezier(.22,.8,.25,1) .12s forwards;
  }
  .home-page.motion-ready .opening-image-wrap{
    overflow:hidden;
  }
  .home-page.motion-ready .opening-photo img{
    transform:scale(1.045) translate3d(0,0,0);
    animation:mtHeroDrift 9s cubic-bezier(.18,.72,.2,1) .1s forwards;
    will-change:transform;
  }
  .home-page.motion-ready .photo-caption,
  .home-page.motion-ready .identity-block,
  .home-page.motion-ready .poem-opening,
  .home-page.motion-ready .poem-bridge,
  .home-page.motion-ready .poem-journey,
  .home-page.motion-ready .poem-cinematic strong{
    opacity:0;
    transform:translateY(20px);
    filter:blur(3px);
    animation:mtCopyIn 1s cubic-bezier(.2,.72,.22,1) forwards;
  }
  .home-page.motion-ready .photo-caption{animation-delay:.65s}
  .home-page.motion-ready .identity-block{animation-delay:.55s}
  .home-page.motion-ready .poem-opening{animation-delay:.9s}
  .home-page.motion-ready .poem-bridge{animation-delay:1.2s}
  .home-page.motion-ready .poem-journey{animation-delay:1.48s}
  .home-page.motion-ready .poem-cinematic strong{animation-delay:1.82s}

  .home-page .scroll-reveal{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .9s cubic-bezier(.2,.72,.22,1),transform .9s cubic-bezier(.2,.72,.22,1);
    transition-delay:var(--reveal-delay,0ms);
  }
  .home-page .scroll-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }
  .home-page .section-label.scroll-reveal{
    transform:translateY(18px);
  }
  .home-page .section-label.scroll-reveal::after{
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform 1s cubic-bezier(.2,.72,.22,1) .25s;
  }
  .home-page .section-label.scroll-reveal.is-visible::after{
    transform:scaleX(1);
  }
  .home-page .news-rows a,
  .home-page .home-event-row,
  .home-page .portal-card{
    transition:opacity .75s ease,transform .75s cubic-bezier(.2,.72,.22,1),filter .45s ease;
  }
  .home-page .portal-card img{
    transition:transform 1.1s cubic-bezier(.2,.72,.22,1),filter .7s ease;
  }
  .home-page .portal-card:hover img{
    transform:scale(1.035);
  }
  @keyframes mtHeaderIn{to{opacity:1;transform:none}}
  @keyframes mtHeroDrift{to{transform:scale(1) translate3d(0,0,0)}}
  @keyframes mtCopyIn{to{opacity:1;transform:none;filter:blur(0)}}
}

@media (prefers-reduced-motion: reduce){
  .home-page *, .home-page *::before, .home-page *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* v2.4 — stable directed opening sequence */
.home-page .opening-sequenced{position:relative;overflow:hidden}
.home-page .opening-intro{
  position:absolute;inset:0;z-index:20;display:grid;place-items:center;
  min-height:100%;background:#050505;color:#fff;pointer-events:none;
  opacity:1;visibility:visible;
}
.home-page .opening-intro p{
  position:absolute;margin:0;padding:0 24px;text-align:center;
  font-family:var(--serif);font-weight:400;letter-spacing:.09em;line-height:1.8;
  opacity:0;visibility:hidden;filter:blur(6px);transform:translateY(10px);
}
.home-page .intro-line{font-size:clamp(21px,2.2vw,34px)}
.home-page .intro-typewriter{font-size:clamp(30px,3.1vw,48px);white-space:nowrap;min-width:5em}
.home-page .intro-typewriter::after{
  content:"";display:inline-block;height:1em;margin-left:.12em;
  border-right:1px solid rgba(255,255,255,.75);vertical-align:-.08em;opacity:0;
}
.home-page.motion-ready .hero-final-element,
.home-page.motion-ready .site-header{opacity:0;visibility:hidden}
.home-page .opening-intro.is-gone{opacity:0;visibility:hidden;transition:opacity 1.8s ease,visibility 0s linear 1.8s}
.home-page .opening-intro p.is-showing{
  visibility:visible;animation:mtPhraseStable 5.2s ease forwards;
}
.home-page .intro-typewriter.is-typing{opacity:1;visibility:visible;filter:none;transform:none}
.home-page .intro-typewriter.is-typing::after{opacity:1;animation:mtCaretStable 1s step-end infinite}
.home-page .intro-typewriter.is-leaving{animation:mtTypeLeaveStable 1.6s ease forwards}
.home-page.hero-revealed .hero-final-element{
  visibility:visible;animation:mtFinalRevealStable 3.2s cubic-bezier(.2,.72,.22,1) forwards;
}
.home-page.hero-revealed .site-header{
  visibility:visible;animation:mtFinalRevealStable 2.5s cubic-bezier(.2,.72,.22,1) .5s forwards;
}
.home-page.hero-revealed .opening-photo img{animation:mtHeroDrift 12s cubic-bezier(.18,.72,.2,1) forwards!important}
@keyframes mtPhraseStable{
  0%{opacity:0;visibility:visible;filter:blur(6px);transform:translateY(10px)}
  28%{opacity:1;visibility:visible;filter:blur(0);transform:none}
  72%{opacity:1;visibility:visible;filter:blur(0);transform:none}
  100%{opacity:0;visibility:hidden;filter:blur(6px);transform:translateY(-8px)}
}
@keyframes mtFinalRevealStable{
  from{opacity:0;filter:blur(8px);transform:scale(1.008)}
  to{opacity:1;filter:blur(0);transform:none}
}
@keyframes mtCaretStable{50%{opacity:0}}
@keyframes mtTypeLeaveStable{to{opacity:0;filter:blur(5px);visibility:hidden}}
@media(max-width:720px){
  .home-page .opening-intro{min-height:100svh}
  .home-page .opening-intro p{padding:0 28px;max-width:94vw}
  .home-page .intro-line{font-size:21px;line-height:1.9;letter-spacing:.07em}
  .home-page .intro-line-3{font-size:18px}
  .home-page .intro-typewriter{font-size:32px}
}
@media(prefers-reduced-motion:reduce){
  .home-page .opening-intro{display:none!important}
  .home-page .hero-final-element,.home-page .site-header{opacity:1!important;visibility:visible!important}
}


/* v2.6 — refined prologue copy */
.home-page .intro-line-4 span{display:block}
.home-page .poem-turn-final{
  font-family:var(--serif);
  font-size:clamp(13px,1vw,16px);
  line-height:1.8;
  margin:18px 0;
  color:var(--night-muted,var(--muted));
  letter-spacing:.08em;
}
@media(max-width:720px){
  .home-page .intro-line-4{line-height:2.05}
  .home-page .poem-turn-final{font-size:13px;margin:16px 0}
}


/* v2.7 — full-black cinematic prologue with directed phrase positions */
html:has(body.home-page.intro-running),
body.home-page.intro-running{
  background:#000!important;
  overflow:hidden;
  overscroll-behavior:none;
}
body.home-page.intro-running::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9997;
  background:#000;
  pointer-events:none;
}
.home-page .opening-intro{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  width:100vw;
  height:100dvh;
  min-height:100dvh!important;
  background:#000!important;
}
.home-page.intro-running .site-header{
  opacity:0!important;
  visibility:hidden!important;
}
.home-page .opening-intro p{
  width:auto;
  max-width:min(78vw,920px);
  text-align:left;
}
.home-page .intro-line-1{
  left:12vw;
  top:24vh;
}
.home-page .intro-line-2{
  right:13vw;
  top:39vh;
  text-align:right!important;
}
.home-page .intro-line-3{
  left:23vw;
  bottom:25vh;
}
.home-page .intro-line-4{
  left:50%;
  top:50%;
  transform:translate(-50%,-42%)!important;
  text-align:center!important;
}
.home-page .intro-typewriter{
  left:13vw;
  bottom:15vh;
  text-align:left!important;
}
.home-page .intro-line-4.is-showing{
  animation:mtPhraseCenter 5.2s ease forwards!important;
}
@keyframes mtPhraseCenter{
  0%{opacity:0;visibility:visible;filter:blur(6px);transform:translate(-50%,-37%)}
  28%{opacity:1;visibility:visible;filter:blur(0);transform:translate(-50%,-42%)}
  72%{opacity:1;visibility:visible;filter:blur(0);transform:translate(-50%,-42%)}
  100%{opacity:0;visibility:hidden;filter:blur(6px);transform:translate(-50%,-48%)}
}
@media(max-width:720px){
  .home-page .opening-intro p{
    max-width:82vw;
    padding:0!important;
  }
  .home-page .intro-line-1{left:9vw;top:22vh}
  .home-page .intro-line-2{right:9vw;top:40vh}
  .home-page .intro-line-3{left:14vw;bottom:27vh}
  .home-page .intro-line-4{left:50%;top:51%;width:82vw}
  .home-page .intro-typewriter{left:10vw;bottom:14vh}
}


/* v2.8 — robust full-black intro overrides */
html,body{background:#000}
body.home-page.intro-running{background:#000!important;overflow:hidden!important;overscroll-behavior:none}
body.home-page.intro-running::before{content:none!important;display:none!important}
.home-page .opening-intro{position:fixed!important;inset:0!important;z-index:99999!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;background:#000!important;overflow:hidden!important;transition:opacity 1.8s ease!important}
.home-page .opening-intro p{z-index:1;color:#fff!important}
.home-page .intro-typewriter::after{content:"";display:inline-block;height:1em;margin-left:.12em;border-right:1px solid rgba(255,255,255,.75);vertical-align:-.08em;opacity:0}
.home-page .intro-typewriter.is-typing::after{opacity:1;animation:mtCaretStable 1s step-end infinite}
.home-page.hero-revealed .hero-final-element,.home-page.hero-revealed .site-header{visibility:visible}

/* v2.9 — phrase-specific cinematic typography */
.home-page .opening-intro p{
  font-family:var(--serif)!important;
  line-height:1.55!important;
  letter-spacing:.075em!important;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.home-page .intro-line-1{
  font-size:clamp(38px,4.2vw,64px)!important;
  font-weight:500!important;
  color:#fff!important;
  letter-spacing:.055em!important;
}
.home-page .intro-line-2{
  font-size:clamp(28px,2.8vw,43px)!important;
  font-weight:300!important;
  color:#ececec!important;
  letter-spacing:.11em!important;
}
.home-page .intro-line-3{
  font-size:clamp(19px,1.75vw,28px)!important;
  font-weight:300!important;
  color:#d8d8d8!important;
  letter-spacing:.15em!important;
}
.home-page .intro-line-4{
  font-size:clamp(32px,3.35vw,52px)!important;
  font-weight:500!important;
  color:#f7f7f7!important;
  line-height:1.75!important;
  letter-spacing:.085em!important;
}
.home-page .intro-line-4 span+span{margin-top:.15em}
.home-page .intro-typewriter{
  font-size:clamp(21px,2vw,30px)!important;
  font-weight:300!important;
  color:#e5e5e5!important;
  letter-spacing:.18em!important;
  min-width:6em!important;
}
@media(max-width:720px){
  .home-page .intro-line-1{font-size:clamp(29px,8.2vw,38px)!important;line-height:1.5!important;max-width:84vw!important}
  .home-page .intro-line-2{font-size:clamp(23px,6.4vw,30px)!important;max-width:78vw!important}
  .home-page .intro-line-3{font-size:clamp(17px,4.8vw,21px)!important}
  .home-page .intro-line-4{font-size:clamp(26px,7.2vw,34px)!important;line-height:1.9!important;width:86vw!important}
  .home-page .intro-typewriter{font-size:clamp(20px,5.8vw,25px)!important}
}

/* v2.10 — mobile intro layout stabilization */
@media (max-width:720px){
  html:has(body.home-page.intro-running),
  body.home-page.intro-running{
    width:100%;
    min-height:100%;
    background:#000!important;
  }
  .home-page .opening-intro{
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    padding-top:env(safe-area-inset-top)!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    box-sizing:border-box!important;
  }
  .home-page .opening-intro p{
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    text-wrap:balance;
  }
  .home-page .intro-line-1{
    left:7vw!important;
    right:auto!important;
    top:18svh!important;
    bottom:auto!important;
    width:86vw!important;
    max-width:86vw!important;
    font-size:clamp(25px,7.1vw,32px)!important;
    line-height:1.55!important;
    text-align:left!important;
  }
  .home-page .intro-line-2{
    left:auto!important;
    right:8vw!important;
    top:38svh!important;
    bottom:auto!important;
    width:74vw!important;
    max-width:74vw!important;
    font-size:clamp(21px,5.9vw,27px)!important;
    line-height:1.65!important;
    text-align:right!important;
  }
  .home-page .intro-line-3{
    left:12vw!important;
    right:auto!important;
    top:59svh!important;
    bottom:auto!important;
    width:auto!important;
    max-width:72vw!important;
    font-size:clamp(16px,4.5vw,20px)!important;
    line-height:1.7!important;
    text-align:left!important;
  }
  .home-page .intro-line-4{
    left:50%!important;
    right:auto!important;
    top:49svh!important;
    bottom:auto!important;
    width:86vw!important;
    max-width:86vw!important;
    font-size:clamp(23px,6.5vw,29px)!important;
    line-height:1.75!important;
    text-align:center!important;
  }
  .home-page .intro-line-4 span+span{margin-top:.28em!important}
  .home-page .intro-typewriter{
    left:9vw!important;
    right:auto!important;
    top:auto!important;
    bottom:13svh!important;
    width:auto!important;
    max-width:82vw!important;
    min-width:0!important;
    font-size:clamp(19px,5.2vw,23px)!important;
    line-height:1.6!important;
    text-align:left!important;
  }
}

@media (max-width:720px) and (max-height:700px){
  .home-page .intro-line-1{top:15svh!important;font-size:24px!important}
  .home-page .intro-line-2{top:34svh!important;font-size:21px!important}
  .home-page .intro-line-3{top:56svh!important;font-size:16px!important}
  .home-page .intro-line-4{top:47svh!important;font-size:23px!important}
  .home-page .intro-typewriter{bottom:10svh!important;font-size:19px!important}
}


/* v2.11 — paper-to-stage intro; mobile-safe overrides */
body.home-page.intro-running,
html:has(body.home-page.intro-running){background:#f7f6f2!important}
.home-page .opening-intro{
  background:#f7f6f2!important;
  transition:background-color 1.9s cubic-bezier(.22,.61,.36,1),opacity 1.8s ease!important;
}
.home-page .opening-intro p{
  color:#161616;
  text-shadow:none!important;
  transition:color 1.2s ease,opacity 1.9s ease,filter 1.9s ease,transform 1.9s ease!important;
}
.home-page .intro-typewriter::after{border-right-color:currentColor!important}
@media(max-width:720px){
  .home-page .opening-intro{height:100dvh!important;min-height:100dvh!important}
  .home-page .intro-line-1{
    left:7vw!important;top:20dvh!important;width:86vw!important;
    font-size:clamp(24px,6.9vw,31px)!important;line-height:1.52!important;
  }
  .home-page .intro-line-2{
    right:8vw!important;top:39dvh!important;width:76vw!important;
    font-size:clamp(21px,5.8vw,27px)!important;
  }
  .home-page .intro-line-3{
    left:13vw!important;top:59dvh!important;font-size:clamp(16px,4.4vw,20px)!important;
  }
  .home-page .intro-line-4{
    left:50%!important;top:50dvh!important;width:86vw!important;
    font-size:clamp(23px,6.4vw,29px)!important;line-height:1.72!important;
  }
  .home-page .intro-typewriter{
    left:9vw!important;bottom:13dvh!important;font-size:clamp(19px,5.1vw,23px)!important;
  }
}
@media(max-width:720px) and (max-height:700px){
  .home-page .intro-line-1{top:16dvh!important;font-size:23px!important}
  .home-page .intro-line-2{top:35dvh!important;font-size:20px!important}
  .home-page .intro-line-3{top:57dvh!important;font-size:16px!important}
  .home-page .intro-line-4{top:48dvh!important;font-size:22px!important}
  .home-page .intro-typewriter{bottom:9dvh!important;font-size:18px!important}
}

/* v2.12 — scene-aware text contrast from paper to stage */
.home-page .opening-intro.scene-paper .intro-line,
.home-page .opening-intro.scene-paper .intro-typewriter{color:#171717!important}
.home-page .opening-intro.scene-pale .intro-line,
.home-page .opening-intro.scene-pale .intro-typewriter{color:#242424!important}
.home-page .opening-intro.scene-mid .intro-line,
.home-page .opening-intro.scene-mid .intro-typewriter{color:#f4f2ed!important}
.home-page .opening-intro.scene-dark .intro-line,
.home-page .opening-intro.scene-dark .intro-typewriter{color:#faf9f6!important}
.home-page .opening-intro.scene-black .intro-line,
.home-page .opening-intro.scene-black .intro-typewriter{color:#efefec!important}


/* v2.14 — force reliable scene colors over legacy intro overrides */
.home-page .opening-intro{background-color:#f7f6f2!important;}
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{color:#151515!important;}

/* v2.15 — centered white intro, 30% smaller, skip/replay */
html:has(body.home-page.intro-running),
body.home-page.intro-running{background:#fff!important}
.home-page .opening-intro{
  position:fixed!important;inset:0!important;z-index:99999!important;
  width:100vw!important;height:100dvh!important;min-height:100dvh!important;
  background:#fff!important;overflow:hidden!important;
}
.home-page .opening-intro p{
  position:absolute!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
  width:min(88vw,960px)!important;max-width:88vw!important;
  transform:translate(-50%,-50%)!important;text-align:center!important;
  color:#171717!important;text-shadow:none!important;margin:0!important;padding:0!important;
  word-break:keep-all!important;overflow-wrap:normal!important;
  font-family:var(--serif)!important;
}
.home-page .intro-line-1{font-size:clamp(27px,2.94vw,45px)!important;font-weight:500!important;letter-spacing:.055em!important;line-height:1.55!important}
.home-page .intro-line-2{font-size:clamp(20px,1.96vw,30px)!important;font-weight:300!important;letter-spacing:.11em!important;line-height:1.65!important}
.home-page .intro-line-3{font-size:clamp(22px,2.35vw,36px)!important;font-weight:500!important;letter-spacing:.085em!important;line-height:1.7!important}
.home-page .intro-typewriter{font-size:clamp(15px,1.4vw,21px)!important;font-weight:300!important;letter-spacing:.18em!important;line-height:1.6!important;min-width:0!important}
.home-page .intro-typewriter::after{border-right-color:currentColor!important}
.intro-skip,.intro-replay{
  position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));
  z-index:100001;border:0;background:transparent;color:#171717;
  font:500 11px/1.2 var(--sans);letter-spacing:.12em;cursor:pointer;
  opacity:0;visibility:hidden;transition:opacity .5s ease,color .25s ease;
  padding:10px 0;
}
.intro-skip.is-visible,.intro-replay.is-visible{opacity:.48;visibility:visible}
.intro-skip:hover,.intro-replay:hover,.intro-skip:focus-visible,.intro-replay:focus-visible{opacity:1;color:#000;outline:none}
.intro-replay{z-index:200;color:rgba(255,255,255,.72);mix-blend-mode:difference}
@media(max-width:720px){
  .home-page .opening-intro p{width:88vw!important;max-width:88vw!important}
  .home-page .intro-line-1{font-size:clamp(20px,5vw,25px)!important;line-height:1.6!important}
  .home-page .intro-line-2{font-size:clamp(16px,4.1vw,20px)!important}
  .home-page .intro-line-3{font-size:clamp(18px,4.7vw,23px)!important;line-height:1.75!important}
  .home-page .intro-typewriter{font-size:clamp(15px,3.9vw,19px)!important}
  .intro-skip,.intro-replay{font-size:10px;right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}


/* v2.16 — restrained hero, readable sections, birthday pickup */
:root{
  --home-paper:#f4f0e8;
  --home-paper-soft:#f8f5ef;
  --home-paper-deep:#e9e1d5;
  --home-ink:#29251f;
  --home-muted:#70685e;
  --home-accent:#8a6745;
  --home-line:rgba(41,37,31,.16);
}
.home-page{background:var(--home-paper)!important;color:var(--home-ink)!important}
.home-page .site-header{background:rgba(244,240,232,.96)!important;color:var(--home-ink)!important;border-color:var(--home-line)!important}
.home-page .site-nav{background:var(--home-paper-soft)!important;color:var(--home-ink)!important;border-color:var(--home-line)!important}

/* Do not repeat the artist name already present in the header. */
.home-page .opening-final-copy .identity-block{display:none!important}
.home-page .opening-final-copy{padding-top:7vw!important;padding-bottom:7vw!important}
.home-page .opening-final-copy .poem{max-width:390px!important;color:var(--home-ink)!important}
.home-page .opening-final-copy .poem p,
.home-page .opening-final-copy .poem strong{color:var(--home-ink)!important}
.home-page .opening-final-copy .poem-opening{font-size:clamp(17px,1.55vw,24px)!important;line-height:1.75!important;margin:0 0 18px!important;font-weight:400!important;letter-spacing:.075em!important}
.home-page .opening-final-copy .poem-bridge{font-size:clamp(12px,.9vw,15px)!important;line-height:1.8!important;margin:0 0 14px!important;color:var(--home-muted)!important;letter-spacing:.1em!important}
.home-page .opening-final-copy .poem-journey{font-size:clamp(14px,1.12vw,18px)!important;line-height:1.9!important;margin:0!important;letter-spacing:.075em!important}
.home-page .opening-final-copy .poem strong{font-size:clamp(18px,1.55vw,25px)!important;line-height:1.5!important;margin-top:28px!important;font-weight:400!important;letter-spacing:.12em!important}
.home-page .opening{background:var(--home-paper)!important;border-color:var(--home-line)!important}
.home-page .photo-caption{color:var(--home-muted)!important}

.top-pickup{padding:72px 5vw;background:#29251f;color:#f6f1e8;border-bottom:1px solid rgba(255,255,255,.09)}
.top-pickup-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(42px,7vw,100px);align-items:center}
.top-pickup-flyer{display:block;width:220px;justify-self:center;transition:transform .45s ease,opacity .3s ease}
.top-pickup-flyer:hover{transform:translateY(-3px);opacity:.92}
.top-pickup-flyer img{width:100%;height:auto;box-shadow:0 20px 55px rgba(0,0,0,.28)}
.top-pickup-copy{max-width:560px}
.top-pickup-label{margin:0 0 18px;font-size:9px;letter-spacing:.28em;color:#caa77f}
.top-pickup-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.2vw,60px);line-height:1.06;letter-spacing:.045em;margin:0 0 26px;color:#fff}
.top-pickup-date{font-family:var(--serif);font-size:clamp(20px,2.1vw,30px);letter-spacing:.08em;margin:0 0 12px}
.top-pickup-place{font-size:12px;line-height:1.8;color:rgba(255,255,255,.72);margin:0 0 28px}
.top-pickup-link{display:inline-block;font-size:10px;letter-spacing:.18em;color:#fff;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px}

.home-page .news-section{background:var(--home-paper-soft)!important;color:var(--home-ink)!important;border-color:var(--home-line)!important}
.home-page .home-schedule{background:var(--home-paper-deep)!important;color:var(--home-ink)!important;border-color:var(--home-line)!important}
.home-page .news-section .section-label,
.home-page .home-schedule .section-label{border-color:var(--home-line)!important}
.home-page .news-section .section-label h2,
.home-page .home-schedule .section-label h2,
.home-page .news-rows strong,
.home-page .home-event-row h3{color:var(--home-ink)!important}
.home-page .news-section .section-label a,
.home-page .home-schedule .section-label a,
.home-page .home-schedule-actions a{color:var(--home-accent)!important}
.home-page .home-schedule .schedule-kicker,
.home-page .home-event-row p,
.home-page .home-event-row small{color:var(--home-muted)!important}
.home-page .news-rows,
.home-page .news-rows a,
.home-page .home-schedule-list,
.home-page .home-event-row{border-color:var(--home-line)!important}
.home-page .news-rows a:nth-child(even){background:rgba(233,225,213,.34)}
.home-page .news-rows a{padding-left:14px!important;padding-right:14px!important}
.home-page .home-event-row:nth-child(odd){background:rgba(255,255,255,.28)}
.home-page .home-event-row{padding-left:14px!important;padding-right:14px!important}
.home-page .home-event-type{color:var(--home-accent)!important;border-color:rgba(138,103,69,.35)!important}

@media(max-width:800px){
  .home-page .opening-final-copy{padding:42px 24px 60px!important}
  .home-page .opening-final-copy .poem{max-width:320px!important}
  .home-page .opening-final-copy .poem-opening{font-size:18px!important}
  .home-page .opening-final-copy .poem-bridge{font-size:12px!important}
  .home-page .opening-final-copy .poem-journey{font-size:14px!important}
  .home-page .opening-final-copy .poem strong{font-size:19px!important;margin-top:24px!important}
  .top-pickup{padding:52px 22px}
  .top-pickup-inner{grid-template-columns:118px minmax(0,1fr);gap:24px;align-items:start}
  .top-pickup-flyer{width:118px}
  .top-pickup-label{font-size:8px;margin-bottom:10px}
  .top-pickup-copy h2{font-size:clamp(24px,7.2vw,34px);margin-bottom:16px}
  .top-pickup-date{font-size:17px;margin-bottom:8px}
  .top-pickup-place{font-size:10px;line-height:1.65;margin-bottom:18px}
  .top-pickup-link{font-size:9px}
  .home-page .news-rows a,
  .home-page .home-event-row{padding-left:10px!important;padding-right:10px!important}
}
@media(max-width:430px){
  .top-pickup-inner{grid-template-columns:96px minmax(0,1fr);gap:18px}
  .top-pickup-flyer{width:96px}
  .top-pickup-copy h2{font-size:23px}
}

/* v2.17 — clean neutral palette, stronger contrast, tighter density */
:root{
  --v217-bg:#ece8e1;
  --v217-bg-soft:#f3f0ea;
  --v217-bg-alt:#e4dfd7;
  --v217-ink:#1f1d1a;
  --v217-muted:#5e5952;
  --v217-line:rgba(31,29,26,.20);
  --v217-accent:#765c43;
}

.home-page{
  background:var(--v217-bg)!important;
  color:var(--v217-ink)!important;
}
.home-page .site-header{
  background:rgba(236,232,225,.97)!important;
  color:var(--v217-ink)!important;
  border-color:var(--v217-line)!important;
}
.home-page .site-nav{
  background:var(--v217-bg-soft)!important;
  color:var(--v217-ink)!important;
  border-color:var(--v217-line)!important;
}
.home-page .menu-button span{background:var(--v217-ink)!important}

/* HERO: remove the cheap navy/black gradients entirely. */
.home-page .opening,
.home-page .opening-v19{
  position:relative!important;
  min-height:680px!important;
  background:var(--v217-bg)!important;
  color:var(--v217-ink)!important;
  border-color:var(--v217-line)!important;
  overflow:hidden!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr)!important;
}
.home-page .opening:before,
.home-page .opening:after,
.home-page .opening-v19:before,
.home-page .opening-v19:after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.home-page .opening-image-wrap{
  position:relative!important;
  inset:auto!important;
  height:680px!important;
  min-height:0!important;
  padding:38px 0 38px 3vw!important;
  background:transparent!important;
  order:1!important;
}
.home-page .opening-photo{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:#d8d3cb!important;
  overflow:hidden!important;
}
.home-page .opening-photo img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 58%!important;
  filter:grayscale(1) contrast(1.04) brightness(.98)!important;
}
.home-page .photo-caption{
  color:var(--v217-muted)!important;
  margin:9px 0 0 0!important;
}
.home-page .opening-final-copy{
  position:relative!important;
  z-index:2!important;
  align-self:center!important;
  padding:70px 6vw 70px 5.2vw!important;
  background:transparent!important;
  color:var(--v217-ink)!important;
  order:2!important;
}
.home-page .opening-final-copy .poem{
  max-width:420px!important;
  color:var(--v217-ink)!important;
}
.home-page .opening-final-copy .poem p,
.home-page .opening-final-copy .poem strong{
  color:var(--v217-ink)!important;
  text-shadow:none!important;
}
.home-page .opening-final-copy .poem-bridge{color:var(--v217-muted)!important}

/* PICK UP: remove the oversized black slab. */
.top-pickup{
  padding:48px 5vw!important;
  background:#d7d0c6!important;
  color:var(--v217-ink)!important;
  border-top:1px solid var(--v217-line)!important;
  border-bottom:1px solid var(--v217-line)!important;
}
.top-pickup-inner{
  max-width:1040px!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:clamp(32px,5vw,72px)!important;
}
.top-pickup-flyer{width:180px!important}
.top-pickup-flyer img{box-shadow:0 12px 32px rgba(31,29,26,.18)!important}
.top-pickup-label{color:var(--v217-accent)!important;margin-bottom:12px!important}
.top-pickup-copy h2{color:var(--v217-ink)!important;font-size:clamp(29px,3.5vw,48px)!important;margin-bottom:18px!important}
.top-pickup-date{color:var(--v217-ink)!important;font-size:clamp(18px,1.8vw,25px)!important}
.top-pickup-place{color:var(--v217-muted)!important;margin-bottom:20px!important}
.top-pickup-link{color:var(--v217-ink)!important;border-color:rgba(31,29,26,.55)!important}

/* Section palette: subtle differences, consistently readable. */
.home-page .news-section{
  background:var(--v217-bg-soft)!important;
  color:var(--v217-ink)!important;
  padding-top:42px!important;
  padding-bottom:42px!important;
}
.home-page .home-schedule{
  background:var(--v217-bg-alt)!important;
  color:var(--v217-ink)!important;
  padding-top:42px!important;
  padding-bottom:42px!important;
}
.home-page .portal-section{
  background:var(--v217-bg)!important;
  color:var(--v217-ink)!important;
  padding-top:42px!important;
  padding-bottom:48px!important;
}
.home-page .section-label{
  margin-bottom:18px!important;
  border-color:var(--v217-line)!important;
}
.home-page .section-label h2,
.home-page .news-rows strong,
.home-page .home-event-row h3{
  color:var(--v217-ink)!important;
}
.home-page .section-label a,
.home-page .home-schedule-actions a{
  color:var(--v217-accent)!important;
}
.home-page .schedule-kicker,
.home-page .home-event-row p,
.home-page .home-event-row small,
.home-page .news-rows time{
  color:var(--v217-muted)!important;
}
.home-page .news-rows,
.home-page .news-rows a,
.home-page .home-schedule-list,
.home-page .home-event-row{
  border-color:var(--v217-line)!important;
}
.home-page .news-rows a,
.home-page .home-event-row{
  background:transparent!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.home-page .news-rows a:nth-child(even){background:rgba(31,29,26,.028)!important}
.home-page .home-event-row:nth-child(odd){background:rgba(255,255,255,.20)!important}
.home-page .home-event-type{
  color:var(--v217-accent)!important;
  border-color:rgba(118,92,67,.42)!important;
}
.home-page .footer{
  background:var(--v217-bg)!important;
  color:var(--v217-muted)!important;
  border-top:1px solid var(--v217-line)!important;
}

@media(max-width:800px){
  .home-page .opening,
  .home-page .opening-v19{
    display:block!important;
    min-height:0!important;
  }
  .home-page .opening-image-wrap{
    height:56svh!important;
    min-height:390px!important;
    padding:22px 20px 0!important;
  }
  .home-page .opening-photo img{
    object-position:center 64%!important;
  }
  .home-page .opening-final-copy{
    padding:38px 24px 48px!important;
  }
  .top-pickup{padding:36px 22px!important}
  .top-pickup-inner{grid-template-columns:102px minmax(0,1fr)!important;gap:20px!important}
  .top-pickup-flyer{width:102px!important}
  .top-pickup-copy h2{font-size:23px!important;margin-bottom:12px!important}
  .top-pickup-date{font-size:16px!important}
  .top-pickup-place{font-size:10px!important;margin-bottom:14px!important}
  .home-page .news-section,
  .home-page .home-schedule,
  .home-page .portal-section{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  .home-page .section-label{margin-bottom:14px!important}
}

/* ===== v2.18 — pencil-note hero copy ===== */
:root{
  --pencil-font:"Klee One","YuKyokasho","Yu Kyokasho","Hiragino Kaku Gothic ProN",sans-serif;
  --pencil-ink:#5a5650;
}

/* Restore the artist signature on the right side. */
.home-page .opening-final-copy .identity-block{
  display:block!important;
  border-left:0!important;
  padding-left:0!important;
  margin:0 0 38px!important;
}
.home-page .opening-final-copy .artist-name{
  display:block!important;
  color:var(--v217-ink)!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif!important;
  font-size:clamp(28px,3vw,44px)!important;
  font-weight:400!important;
  letter-spacing:.16em!important;
  line-height:1.25!important;
  margin:0!important;
}
.home-page .opening-final-copy .artist-name-en{
  display:block!important;
  color:var(--v217-muted)!important;
  font-size:8px!important;
  letter-spacing:.26em!important;
  margin:10px 0 0!important;
}

/* Pencil-like copy: emotional layer, deliberately quieter than the name. */
.home-page .opening-final-copy .poem,
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  font-family:var(--pencil-font)!important;
  font-weight:400!important;
}
.home-page .opening-final-copy .poem{
  max-width:380px!important;
  color:var(--pencil-ink)!important;
  letter-spacing:.035em!important;
  transform:rotate(-.15deg);
}
.home-page .opening-final-copy .poem p,
.home-page .opening-final-copy .poem strong{
  color:var(--pencil-ink)!important;
  text-shadow:.25px .25px 0 rgba(31,29,26,.10)!important;
}
.home-page .opening-final-copy .poem-opening{
  font-size:clamp(16px,1.35vw,21px)!important;
  line-height:1.85!important;
  margin:0 0 17px!important;
  letter-spacing:.035em!important;
}
.home-page .opening-final-copy .poem-bridge{
  font-size:clamp(12px,.85vw,14px)!important;
  line-height:1.8!important;
  margin:0 0 14px!important;
  color:#77716a!important;
  letter-spacing:.06em!important;
}
.home-page .opening-final-copy .poem-journey{
  font-size:clamp(14px,1.05vw,17px)!important;
  line-height:1.95!important;
  margin:0!important;
  letter-spacing:.04em!important;
}
.home-page .opening-final-copy .poem strong{
  font-size:clamp(17px,1.35vw,22px)!important;
  line-height:1.55!important;
  margin-top:25px!important;
  font-weight:400!important;
  letter-spacing:.06em!important;
}

/* Opening sequence uses the same pencil voice, but with stronger contrast. */
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  color:#24211e!important;
  letter-spacing:.035em!important;
  text-shadow:.3px .3px 0 rgba(0,0,0,.10)!important;
}

@media(max-width:800px){
  .home-page .opening-final-copy .identity-block{
    margin-bottom:28px!important;
  }
  .home-page .opening-final-copy .artist-name{
    font-size:30px!important;
  }
  .home-page .opening-final-copy .artist-name-en{
    font-size:7px!important;
  }
  .home-page .opening-final-copy .poem{
    max-width:310px!important;
  }
  .home-page .opening-final-copy .poem-opening{font-size:16px!important}
  .home-page .opening-final-copy .poem-bridge{font-size:12px!important}
  .home-page .opening-final-copy .poem-journey{font-size:14px!important}
  .home-page .opening-final-copy .poem strong{font-size:17px!important;margin-top:22px!important}
}

/* v2.19 — HERO: photo left / identity and pencil copy right */
@media (min-width: 801px){
  .home-page .opening-v19{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
    min-height:650px!important;
    height:auto!important;
    overflow:hidden!important;
    background:#ece8e1!important;
    border-bottom:1px solid rgba(35,33,29,.14)!important;
  }
  .home-page .opening-v19:before,
  .home-page .opening-v19:after{display:none!important;content:none!important;}
  .home-page .opening-image-wrap{
    position:relative!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:650px!important;
    min-height:650px!important;
    max-width:none!important;
    margin:0!important;
    padding:34px 0 34px 3.2vw!important;
    background:transparent!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  .home-page .opening-photo{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .home-page .opening-photo img{
    width:auto!important;
    max-width:100%!important;
    height:100%!important;
    max-height:582px!important;
    object-fit:contain!important;
    object-position:left center!important;
    filter:none!important;
  }
  .home-page .photo-caption{display:none!important;}
  .home-page .opening-copy{
    position:relative!important;
    inset:auto!important;
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    max-width:620px!important;
    margin:0!important;
    padding:72px 7vw 72px 6vw!important;
    align-self:center!important;
    transform:none!important;
    color:#27241f!important;
    z-index:3!important;
  }
  .home-page .opening-final-copy .identity-block{
    margin:0 0 42px!important;
  }
  .home-page .opening-final-copy .artist-name{
    margin:0!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:clamp(38px,4.1vw,62px)!important;
    font-weight:500!important;
    line-height:1.12!important;
    letter-spacing:.12em!important;
    color:#24211d!important;
    text-shadow:none!important;
  }
  .home-page .opening-final-copy .artist-name-en{
    margin:13px 0 0!important;
    font-size:8px!important;
    letter-spacing:.3em!important;
    color:#756f66!important;
  }
  .home-page .opening-final-copy .poem-cinematic{
    max-width:430px!important;
    margin:0!important;
    color:#5d574f!important;
    font-family:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif!important;
    transform:rotate(-.25deg)!important;
  }
  .home-page .opening-final-copy .poem-cinematic p,
  .home-page .opening-final-copy .poem-cinematic strong{
    color:#5d574f!important;
    font-weight:400!important;
    letter-spacing:.055em!important;
    text-shadow:none!important;
  }
  .home-page .opening-final-copy .poem-cinematic .poem-opening{
    font-size:clamp(17px,1.45vw,22px)!important;
    line-height:1.7!important;
    margin:0 0 18px!important;
  }
  .home-page .opening-final-copy .poem-cinematic .poem-bridge{
    font-size:clamp(14px,1.05vw,17px)!important;
    line-height:1.7!important;
    margin:0 0 18px!important;
  }
  .home-page .opening-final-copy .poem-cinematic .poem-journey{
    font-size:clamp(16px,1.25vw,20px)!important;
    line-height:1.75!important;
    margin:0!important;
  }
  .home-page .opening-final-copy .poem-cinematic strong{
    font-size:clamp(18px,1.4vw,22px)!important;
    line-height:1.5!important;
    margin-top:22px!important;
  }
}

@media (max-width: 800px){
  .home-page .opening-v19{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    background:#ece8e1!important;
  }
  .home-page .opening-image-wrap{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:18px 18px 0!important;
    background:transparent!important;
  }
  .home-page .opening-photo img{
    width:100%!important;
    height:auto!important;
    max-height:58svh!important;
    object-fit:contain!important;
    object-position:center!important;
    filter:none!important;
  }
  .home-page .opening-copy{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    padding:34px 24px 52px!important;
    color:#27241f!important;
  }
  .home-page .opening-final-copy .identity-block{margin-bottom:30px!important;}
  .home-page .opening-final-copy .artist-name{
    font-size:34px!important;
    color:#24211d!important;
    text-shadow:none!important;
  }
  .home-page .opening-final-copy .artist-name-en{color:#756f66!important;}
  .home-page .opening-final-copy .poem-cinematic{
    color:#5d574f!important;
    font-family:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif!important;
    transform:none!important;
  }
  .home-page .opening-final-copy .poem-cinematic p,
  .home-page .opening-final-copy .poem-cinematic strong{color:#5d574f!important;text-shadow:none!important;}
  .home-page .opening-final-copy .poem-cinematic .poem-opening{font-size:18px!important;line-height:1.7!important;margin-bottom:16px!important;}
  .home-page .opening-final-copy .poem-cinematic .poem-bridge{font-size:15px!important;margin-bottom:16px!important;}
  .home-page .opening-final-copy .poem-cinematic .poem-journey{font-size:17px!important;line-height:1.75!important;}
  .home-page .opening-final-copy .poem-cinematic strong{font-size:19px!important;margin-top:20px!important;}
}

/* v2.20 — editorial identity, readable contrast, category system */
:root{
  --v220-ink:#211f1c;
  --v220-muted:#665f57;
  --v220-line:rgba(33,31,28,.18);
  --v220-live:#7b2f33;
  --v220-event:#8a6423;
  --v220-talk:#705080;
  --v220-tv:#315d78;
  --v220-radio:#356755;
  --v220-paper:#ece8e1;
}

/* Header: one clear international lockup, no duplicate Japanese name. */
.site-header .brand.brand-official{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  color:var(--v220-ink)!important;
  text-decoration:none!important;
}
.site-header .brand-official .brand-en{
  color:var(--v220-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  line-height:1!important;
}
.site-header .brand-official small{
  color:var(--v220-muted)!important;
  font-size:7px!important;
  font-weight:500!important;
  letter-spacing:.32em!important;
  line-height:1!important;
}

/* Hero right: English name, Japanese name and role as one designed identity. */
.home-page .opening-final-copy .identity-editorial{
  display:grid!important;
  gap:0!important;
  margin:0 0 35px!important;
}
.home-page .opening-final-copy .artist-name-primary{
  display:block!important;
  order:1!important;
  margin:0 0 6px!important;
  color:var(--v220-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(32px,3.65vw,54px)!important;
  font-style:italic!important;
  font-weight:400!important;
  letter-spacing:.015em!important;
  line-height:1.05!important;
  text-transform:none!important;
}
.home-page .opening-final-copy .identity-editorial .artist-name{
  order:2!important;
  margin:0!important;
  color:var(--v220-ink)!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(23px,2.1vw,33px)!important;
  font-weight:500!important;
  letter-spacing:.14em!important;
  line-height:1.35!important;
}
.home-page .opening-final-copy .artist-role{
  order:3!important;
  margin:10px 0 0!important;
  color:var(--v220-muted)!important;
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.28em!important;
  line-height:1.4!important;
}

/* Fix headings and the featured 8/22 date that were inheriting white. */
.home-page .portal-section .section-label h2,
.home-page .portal-section .section-label-editorial h2,
.home-page .top-pickup-date,
.home-page .home-event-featured time strong,
.home-page .home-event-featured time small,
.home-page .home-event-featured time em{
  color:var(--v220-ink)!important;
  -webkit-text-fill-color:var(--v220-ink)!important;
  text-shadow:none!important;
}
.home-page .portal-section .section-label{
  color:var(--v220-ink)!important;
}

/* Schedule rows: restrained but unambiguous category colors. */
.home-page .home-event-type{
  min-width:84px!important;
  padding:7px 10px 6px!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  background:transparent!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.home-page .home-event-type.type-live{color:var(--v220-live)!important;background:rgba(123,47,51,.055)!important;}
.home-page .home-event-type.type-event{color:var(--v220-event)!important;background:rgba(138,100,35,.06)!important;}
.home-page .home-event-type.type-talk-live{color:var(--v220-talk)!important;background:rgba(112,80,128,.06)!important;}
.home-page .home-event-type.type-tv{color:var(--v220-tv)!important;background:rgba(49,93,120,.065)!important;}
.home-page .home-event-type.type-radio{color:var(--v220-radio)!important;background:rgba(53,103,85,.065)!important;}
.home-page .home-event-type.type-newspaper{color:#695847!important;background:rgba(105,88,71,.065)!important;}
.home-page .home-event-media{
  cursor:default!important;
}
.home-page .home-event-media > i{
  color:var(--v220-muted)!important;
  font-size:8px!important;
  font-style:normal!important;
  letter-spacing:.12em!important;
}

/* Make event rows and copy consistently readable. */
.home-page .home-event-row,
.home-page .home-event-row h3,
.home-page .home-event-row time strong,
.home-page .home-event-row div p{
  color:var(--v220-ink)!important;
}
.home-page .home-event-row small,
.home-page .home-event-row time small,
.home-page .home-event-row time em{
  color:var(--v220-muted)!important;
}

@media(max-width:800px){
  .site-header .brand-official .brand-en{font-size:10px!important;letter-spacing:.14em!important;}
  .site-header .brand-official small{font-size:6px!important;letter-spacing:.25em!important;}
  .home-page .opening-final-copy .artist-name-primary{font-size:34px!important;margin-bottom:7px!important;}
  .home-page .opening-final-copy .identity-editorial .artist-name{font-size:25px!important;}
  .home-page .opening-final-copy .artist-role{font-size:8px!important;margin-top:8px!important;}
  .home-page .home-event-type{min-width:72px!important;padding:6px 8px 5px!important;font-size:7px!important;}
}

/* v2.21 comparison — cinematic hero + editorial one-page dashboard */
.home-page{background:#eeeae3!important;color:#211f1c!important}
.home-page .opening-v19{
  display:grid!important;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)!important;
  min-height:640px!important;
  background:#eeeae3!important;
  overflow:hidden!important;
}
.home-page .opening-copy{
  grid-column:1!important;grid-row:1!important;
  position:relative!important;inset:auto!important;
  padding:82px 5vw 70px 6vw!important;
  align-self:center!important;z-index:2!important;color:#211f1c!important;
}
.home-page .opening-image-wrap{
  grid-column:2!important;grid-row:1!important;
  position:relative!important;inset:auto!important;
  display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;
  min-height:640px!important;padding:28px 2.7vw 0 0!important;background:transparent!important;
}
.home-page .opening-photo{width:100%!important;height:100%!important;display:flex!important;align-items:flex-end!important;justify-content:flex-end!important}
.home-page .opening-photo img{
  width:100%!important;height:610px!important;max-height:none!important;max-width:none!important;
  object-fit:contain!important;object-position:right bottom!important;filter:none!important;
}
.home-page .photo-caption{display:none!important}
.home-page .opening-final-copy .identity-block{margin:0 0 38px!important}
.home-page .opening-final-copy .artist-role{
  margin:0 0 10px!important;font-family:Georgia,"Times New Roman",serif!important;
  font-size:9px!important;letter-spacing:.36em!important;color:#6b645c!important;text-transform:none!important
}
.home-page .opening-final-copy .artist-name{
  margin:0!important;font-size:clamp(38px,4.7vw,66px)!important;line-height:1.08!important;
  letter-spacing:.14em!important;color:#211f1c!important;font-weight:500!important
}
.home-page .opening-final-copy .poem-cinematic{
  max-width:420px!important;margin:0!important;color:#575149!important;
  font-family:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif!important;
  transform:none!important
}
.home-page .opening-final-copy .poem-cinematic p,
.home-page .opening-final-copy .poem-cinematic strong{color:#575149!important;text-shadow:none!important;font-weight:400!important}
.home-page .opening-final-copy .poem-cinematic .poem-opening{font-size:18px!important;line-height:1.7!important;margin:0 0 14px!important}
.home-page .opening-final-copy .poem-cinematic .poem-bridge{font-size:14px!important;margin:0 0 14px!important}
.home-page .opening-final-copy .poem-cinematic .poem-journey{font-size:17px!important;line-height:1.7!important;margin:0!important}
.home-page .opening-final-copy .poem-cinematic strong{font-size:18px!important;margin-top:18px!important}

.editorial-dashboard{padding:58px 3vw 56px;background:#171716;color:#f4f1eb;border-bottom:1px solid rgba(255,255,255,.15)}
.editorial-dashboard-inner{display:grid;grid-template-columns:.92fr .95fr 1.65fr;max-width:1500px;margin:auto}
.dashboard-column{min-width:0;padding:0 26px;border-right:1px solid rgba(255,255,255,.17)}
.dashboard-column:first-child{padding-left:0}.dashboard-column:last-child{border-right:0;padding-right:0}
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;min-height:32px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.32)}
.dashboard-heading h2{margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400;letter-spacing:.12em;color:#fff}
.dashboard-heading a{margin-bottom:9px;font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.6)}
.dashboard-news-list a{display:grid!important;grid-template-columns:78px 1fr 16px!important;gap:8px 10px!important;padding:13px 0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;color:#f4f1eb!important}
.dashboard-news-list time{font-size:10px!important;color:rgba(255,255,255,.68)!important;grid-row:1/3}
.dashboard-news-list .tag{font-size:7px!important;letter-spacing:.1em!important;color:#c9a875!important}
.dashboard-news-list strong{font-size:11px!important;line-height:1.45!important;font-weight:400!important;grid-column:2!important}
.dashboard-news-list i{font-style:normal!important;grid-column:3!important;grid-row:1/3!important;align-self:center!important;color:rgba(255,255,255,.55)!important}
.dashboard-pickup-card{display:block;position:relative;color:#fff!important}
.dashboard-pickup-card img{width:100%;max-height:280px;object-fit:cover;object-position:center 35%;filter:saturate(.65) contrast(1.04)}
.dashboard-pickup-copy{padding:13px 0 0}
.dashboard-pickup-copy p{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:15px;letter-spacing:.04em}
.dashboard-pickup-copy strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:400;letter-spacing:.06em}
.dashboard-pickup-copy small{display:block;margin-top:5px;font-size:8px;letter-spacing:.12em;color:rgba(255,255,255,.65)}
.dashboard-schedule-list .home-event-row{display:grid!important;grid-template-columns:58px 74px 1fr 16px!important;gap:8px!important;min-height:0!important;padding:9px 0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;color:#f4f1eb!important;background:none!important}
.dashboard-schedule-list time{display:flex!important;align-items:baseline!important;gap:5px!important;color:#fff!important}
.dashboard-schedule-list time small{display:none!important}.dashboard-schedule-list time strong{font-size:12px!important;color:#fff!important}.dashboard-schedule-list time em{font-size:7px!important;color:rgba(255,255,255,.6)!important}
.dashboard-schedule-list .home-event-type{min-width:0!important;width:70px!important;padding:4px 5px!important;font-size:6px!important;color:#fff!important;border-color:transparent!important}
.dashboard-schedule-list .type-live{background:#78383a!important}.dashboard-schedule-list .type-event{background:#84642e!important}.dashboard-schedule-list .type-talk-live{background:#665176!important}.dashboard-schedule-list .type-tv{background:#315c77!important}.dashboard-schedule-list .type-radio{background:#356650!important}
.dashboard-schedule-list .home-event-row div p{display:none!important}.dashboard-schedule-list .home-event-row h3{margin:0!important;color:#f4f1eb!important;font-size:10px!important;font-weight:400!important;line-height:1.35!important}.dashboard-schedule-list .home-event-row div small{display:none!important}.dashboard-schedule-list .home-event-row>i{font-size:8px!important;color:rgba(255,255,255,.6)!important;font-style:normal!important;align-self:center!important}

.home-page .portal-section{background:#eeeae3!important;color:#211f1c!important;padding-top:48px!important}
.home-page .portal-section .section-label h2{color:#211f1c!important}

@media(max-width:900px){
  .editorial-dashboard-inner{grid-template-columns:1fr 1fr}.dashboard-schedule{grid-column:1/-1;border-right:0!important;border-top:1px solid rgba(255,255,255,.18);margin-top:25px;padding:25px 0 0!important}.dashboard-pickup{border-right:0!important}
}
@media(max-width:800px){
  .home-page .opening-v19{display:flex!important;flex-direction:column!important;min-height:0!important}
  .home-page .opening-image-wrap{order:1!important;min-height:0!important;height:auto!important;padding:18px 18px 0!important}
  .home-page .opening-photo img{height:auto!important;max-height:58svh!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important}
  .home-page .opening-copy{order:2!important;padding:34px 24px 48px!important}
  .home-page .opening-final-copy .artist-name{font-size:36px!important}.home-page .opening-final-copy .artist-role{font-size:8px!important}
  .editorial-dashboard{padding:42px 20px}.editorial-dashboard-inner{display:block}.dashboard-column{padding:0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:30px!important;margin-bottom:30px!important}.dashboard-column:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0!important}.dashboard-pickup-card img{max-height:none;aspect-ratio:16/10;object-fit:cover}
  .dashboard-schedule-list .home-event-row{grid-template-columns:56px 70px 1fr 14px!important}
}

/* =========================================================
   v2.22 HYBRID BRUSH-UP
   v2.21 hero + vertical editorial flow
   ========================================================= */
.home-page{
  --v222-paper:#eeeae3;
  --v222-paper-soft:#f4f1eb;
  --v222-paper-warm:#e8e2d9;
  --v222-ink:#201e1b;
  --v222-muted:#665f57;
  --v222-line:rgba(32,30,27,.18);
  --v222-accent:#80664d;
  background:var(--v222-paper)!important;
  color:var(--v222-ink)!important;
}

/* Hero: preserve v2.21 composition, tighten optical balance */
.home-page .opening-v19{
  background:var(--v222-paper)!important;
  min-height:88vh!important;
  padding-top:92px!important;
  padding-bottom:42px!important;
  gap:clamp(30px,4vw,68px)!important;
}
.home-page .opening-image-wrap{
  align-self:center!important;
}
.home-page .opening-photo{
  max-height:70vh!important;
  overflow:hidden!important;
}
.home-page .opening-photo img{
  object-position:center 48%!important;
}
.home-page .opening-final-copy{
  max-width:560px!important;
}
.home-page .opening-final-copy .identity-editorial{
  margin-bottom:34px!important;
}
.home-page .opening-final-copy .identity-editorial .artist-role{
  color:var(--v222-accent)!important;
  letter-spacing:.22em!important;
}
.home-page .opening-final-copy .identity-editorial .artist-name{
  color:var(--v222-ink)!important;
}
.home-page .opening-final-copy .poem{
  color:#49433d!important;
  opacity:.9!important;
}
.home-page .photo-caption{color:var(--v222-muted)!important;opacity:.72!important;}

/* Shared vertical section rhythm */
.home-page .news-section,
.home-page .top-pickup,
.home-page .home-schedule,
.home-page .portal-section{
  padding-left:clamp(24px,6vw,92px)!important;
  padding-right:clamp(24px,6vw,92px)!important;
  border-top:1px solid var(--v222-line)!important;
}
.home-page .news-section{background:var(--v222-paper-soft)!important;padding-top:58px!important;padding-bottom:54px!important;}
.home-page .top-pickup{background:var(--v222-paper)!important;color:var(--v222-ink)!important;padding-top:58px!important;padding-bottom:58px!important;}
.home-page .home-schedule{background:var(--v222-paper-warm)!important;color:var(--v222-ink)!important;padding-top:58px!important;padding-bottom:54px!important;}
.home-page .portal-section{background:var(--v222-paper-soft)!important;color:var(--v222-ink)!important;padding-top:58px!important;padding-bottom:70px!important;}

.home-page .section-label-editorial{
  max-width:1180px!important;
  margin:0 auto 26px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid var(--v222-line)!important;
}
.home-page .section-label-editorial h2{
  color:var(--v222-ink)!important;
  font-size:clamp(22px,2.1vw,30px)!important;
  letter-spacing:.11em!important;
  font-weight:600!important;
}
.home-page .section-label-editorial a,
.home-page .home-schedule-actions a{color:var(--v222-accent)!important;}

/* NEWS: compact, legible, not boxed */
.home-page .news-rows{max-width:1180px!important;margin:0 auto!important;border-top:0!important;}
.home-page .news-rows a{
  min-height:66px!important;
  padding:16px 2px!important;
  border-color:var(--v222-line)!important;
  color:var(--v222-ink)!important;
  gap:20px!important;
}
.home-page .news-rows time{color:var(--v222-muted)!important;}
.home-page .news-rows strong{color:var(--v222-ink)!important;}
.home-page .news-rows i{color:var(--v222-accent)!important;}

/* PICK UP: larger flyer without becoming a billboard */
.home-page .top-pickup-inner{
  max-width:1030px!important;
  grid-template-columns:clamp(210px,24vw,310px) minmax(0,1fr)!important;
  gap:clamp(42px,7vw,92px)!important;
  align-items:center!important;
}
.home-page .top-pickup-flyer{width:100%!important;max-width:310px!important;}
.home-page .top-pickup-flyer img{box-shadow:0 16px 42px rgba(35,30,25,.18)!important;}
.home-page .top-pickup-label{color:var(--v222-accent)!important;}
.home-page .top-pickup-copy h2{color:var(--v222-ink)!important;font-size:clamp(30px,4vw,52px)!important;}
.home-page .top-pickup-date{color:var(--v222-ink)!important;}
.home-page .top-pickup-place{color:var(--v222-muted)!important;}
.home-page .top-pickup-link{color:var(--v222-ink)!important;border-color:rgba(32,30,27,.55)!important;}

/* SCHEDULE: readable density and categorical color discipline */
.home-page .home-schedule-list{max-width:1180px!important;margin:0 auto!important;border-top:1px solid var(--v222-line)!important;}
.home-page .home-event-row{
  padding:17px 2px!important;
  min-height:86px!important;
  border-color:var(--v222-line)!important;
  color:var(--v222-ink)!important;
}
.home-page .home-event-row time strong,
.home-page .home-event-row h3{color:var(--v222-ink)!important;}
.home-page .home-event-row p,
.home-page .home-event-row small,
.home-page .home-event-row time small,
.home-page .home-event-row time em{color:var(--v222-muted)!important;}
.home-page .home-event-row>i{color:var(--v222-accent)!important;}
.home-page .home-event-type{color:#fff!important;border:0!important;min-width:80px!important;text-align:center!important;}
.home-page .type-live{background:#7e3f38!important;}
.home-page .type-event{background:#8a6b31!important;}
.home-page .type-talk-live{background:#65517d!important;}
.home-page .type-tv{background:#3f6480!important;}
.home-page .type-radio{background:#46705f!important;}
.home-page .type-newspaper{background:#5e5a56!important;}
.home-page .home-schedule-actions{max-width:1180px!important;margin:22px auto 0!important;}

/* CONTENTS: retain imagery, improve heading contrast */
.home-page .portal-grid{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;}
.home-page .portal-section .section-label h2{color:var(--v222-ink)!important;}
.home-page .portal-card h2{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.52)!important;}

@media (max-width:760px){
  .home-page .opening-v19{
    min-height:0!important;
    padding-top:72px!important;
    padding-bottom:30px!important;
  }
  .home-page .news-section,
  .home-page .top-pickup,
  .home-page .home-schedule,
  .home-page .portal-section{
    padding-left:20px!important;
    padding-right:20px!important;
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  .home-page .top-pickup-inner{
    grid-template-columns:132px minmax(0,1fr)!important;
    gap:22px!important;
    align-items:start!important;
  }
  .home-page .top-pickup-flyer{max-width:132px!important;}
  .home-page .top-pickup-copy h2{font-size:25px!important;line-height:1.1!important;margin-bottom:14px!important;}
  .home-page .top-pickup-date{font-size:16px!important;}
  .home-page .top-pickup-place{font-size:10px!important;line-height:1.6!important;}
  .home-page .news-rows a{grid-template-columns:78px 1fr 18px!important;gap:10px!important;padding:15px 0!important;}
  .home-page .news-rows .tag{grid-column:2!important;width:max-content!important;margin-bottom:3px!important;}
  .home-page .news-rows strong{grid-column:2!important;}
  .home-page .home-event-row{padding:15px 0!important;gap:10px!important;}
  .home-page .home-event-type{min-width:62px!important;font-size:8px!important;}
}

/* v2.23 — understated official social links in the home header */
.home-page .header-actions{
  display:flex;
  align-items:center;
  gap:clamp(13px,1.35vw,22px);
}
.home-page .header-socials{
  display:flex;
  align-items:center;
  gap:13px;
  padding-right:clamp(10px,1.1vw,18px);
  border-right:1px solid rgba(26,24,21,.16);
}
.home-page .header-socials a{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#5f5a53;
  border-radius:50%;
  transition:color .22s ease,background-color .22s ease,transform .22s ease;
}
.home-page .header-socials svg{
  width:15px;
  height:15px;
  fill:currentColor;
  display:block;
}
.home-page .header-socials a:hover,
.home-page .header-socials a:focus-visible{
  color:#171512;
  background:rgba(26,24,21,.055);
  transform:translateY(-1px);
  outline:none;
}
@media(max-width:800px){
  .home-page .header-actions{gap:9px}
  .home-page .header-socials{
    gap:3px;
    padding-right:8px;
  }
  .home-page .header-socials a{
    width:31px;
    height:31px;
  }
  .home-page .header-socials svg{
    width:14px;
    height:14px;
  }
}
@media(max-width:430px){
  .home-page .site-header{padding-left:15px;padding-right:12px}
  .home-page .header-socials a{width:29px;height:29px}
  .home-page .header-socials{padding-right:5px}
}


/* v2.24 typography + pickup sizing refinement */
:root{
  --serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --latin-serif:"Cormorant Garamond","Times New Roman",serif;
}
.site-header .brand-official .brand-en{
  font-family:var(--latin-serif)!important;
  font-weight:500!important;
  letter-spacing:.16em!important;
}
.site-header .brand-official small{
  font-family:var(--latin-serif)!important;
  letter-spacing:.12em!important;
  text-transform:none!important;
}
.home-page .opening-final-copy .identity-editorial .artist-role{
  font-family:var(--latin-serif)!important;
  font-weight:500!important;
  letter-spacing:.22em!important;
}
.home-page .opening-final-copy .identity-editorial .artist-name{
  font-family:var(--serif)!important;
  font-weight:500!important;
  letter-spacing:.11em!important;
}
.home-page .opening-final-copy .poem-cinematic,
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  font-family:var(--serif)!important;
  font-weight:400!important;
  letter-spacing:.075em!important;
}
.home-page .opening-final-copy .poem-cinematic{
  transform:none!important;
  font-style:normal!important;
}
.top-pickup-inner{
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:clamp(36px,6vw,82px)!important;
}
.top-pickup-flyer{width:280px!important}
.top-pickup-flyer img{
  border-radius:4px!important;
  box-shadow:0 14px 34px rgba(31,29,26,.16)!important;
}
.top-pickup-copy h2{
  font-family:var(--latin-serif)!important;
  font-weight:500!important;
  letter-spacing:.025em!important;
}
.top-pickup-date{font-family:var(--latin-serif)!important;font-weight:500!important}
@media(max-width:800px){
  .top-pickup-inner{
    grid-template-columns:clamp(145px,44vw,180px) minmax(0,1fr)!important;
    gap:18px!important;
    align-items:start!important;
  }
  .top-pickup-flyer{width:clamp(145px,44vw,180px)!important}
  .top-pickup-copy h2{font-size:clamp(21px,6.3vw,29px)!important;line-height:1.03!important}
  .top-pickup-date{font-size:15px!important}
  .top-pickup-place{font-size:9.5px!important;line-height:1.55!important}
}
@media(max-width:360px){
  .top-pickup-inner{grid-template-columns:44vw minmax(0,1fr)!important;gap:14px!important}
  .top-pickup-flyer{width:44vw!important}
  .top-pickup-copy h2{font-size:20px!important}
}

/* =========================================================
   v2.26 — authentic corridor hero photograph
   Original user photograph; no generative replacement.
   ========================================================= */
.home-page .opening-v19{
  min-height:88vh!important;
  grid-template-columns:minmax(360px,.88fr) minmax(480px,1.12fr)!important;
  padding:94px 3vw 38px 5vw!important;
  gap:clamp(24px,4vw,66px)!important;
  background:#eeeae3!important;
}
.home-page .opening-image-wrap{
  grid-column:2!important;
  min-height:660px!important;
  height:72vh!important;
  max-height:760px!important;
  padding:0!important;
  align-self:center!important;
  overflow:hidden!important;
  background:#d8d3cb!important;
}
.home-page .opening-photo{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  overflow:hidden!important;
  margin:0!important;
}
.home-page .opening-photo img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:58% 54%!important;
  filter:contrast(1.02) saturate(.92) brightness(.96)!important;
  transform:scale(1.015)!important;
}
.home-page .opening-copy{
  grid-column:1!important;
  align-self:center!important;
  padding:0!important;
}
.home-page .opening-final-copy .identity-block{margin-bottom:34px!important}
.home-page .opening-final-copy .artist-role{
  font-size:10px!important;
  letter-spacing:.28em!important;
  color:#6a6158!important;
}
.home-page .opening-final-copy .artist-name{
  font-size:clamp(42px,5vw,68px)!important;
  letter-spacing:.12em!important;
  color:#1f1c19!important;
}
.home-page .opening-final-copy .poem-cinematic{
  max-width:420px!important;
  font-family:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif!important;
  color:#4d4842!important;
}
.home-page .opening-final-copy .poem-cinematic .poem-opening{font-size:17px!important}
.home-page .opening-final-copy .poem-cinematic .poem-bridge{font-size:13px!important}
.home-page .opening-final-copy .poem-cinematic .poem-journey{font-size:16px!important}
.home-page .opening-final-copy .poem-cinematic strong{font-size:16px!important}

@media(max-width:900px){
  .home-page .opening-v19{
    grid-template-columns:minmax(300px,.86fr) minmax(390px,1.14fr)!important;
    padding-left:4vw!important;
  }
  .home-page .opening-image-wrap{height:66vh!important;min-height:560px!important}
}
@media(max-width:800px){
  .home-page .opening-v19{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:76px 0 0!important;
    gap:0!important;
  }
  .home-page .opening-image-wrap{
    order:1!important;
    width:100%!important;
    height:60svh!important;
    min-height:460px!important;
    max-height:620px!important;
    padding:0!important;
  }
  .home-page .opening-photo img{
    object-fit:cover!important;
    object-position:57% 52%!important;
    transform:scale(1.01)!important;
  }
  .home-page .opening-copy{
    order:2!important;
    padding:32px 24px 44px!important;
  }
}

/* =========================================================
   v2.27 — hero photograph final positioning pass
   Authentic user photograph; conventional photographic correction only.
   ========================================================= */
.home-page .opening-v19{
  grid-template-columns:minmax(360px,.92fr) minmax(470px,1.08fr)!important;
  min-height:84vh!important;
  padding:92px 4vw 34px 5vw!important;
  gap:clamp(28px,4.5vw,72px)!important;
}
.home-page .opening-image-wrap{
  height:68vh!important;
  min-height:610px!important;
  max-height:710px!important;
  background:#d5d2cc!important;
}
.home-page .opening-photo img{
  object-fit:cover!important;
  object-position:center 60%!important;
  transform:scale(1.018)!important;
  filter:none!important;
}
@media(max-width:900px){
  .home-page .opening-image-wrap{height:65vh!important;min-height:560px!important;max-height:680px!important}
  .home-page .opening-photo img{object-position:center 60%!important}
}
@media(max-width:800px){
  .home-page .opening-image-wrap{height:57svh!important;min-height:430px!important;max-height:570px!important}
  .home-page .opening-photo img{object-position:center 58%!important;transform:scale(1.01)!important}
}

/* =========================================================
   v2.34 — HERO IMAGE: SAME FRAMING AT EVERY VIEWPORT
   Entire image is always visible. No crop, no zoom, no drift.
   ========================================================= */
.home-page .opening,
.home-page .opening-v19{
  min-height:0!important;
  height:auto!important;
  align-items:center!important;
  overflow:visible!important;
}

.home-page .opening-image-wrap{
  width:min(42vw,560px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  justify-self:end!important;
  align-self:center!important;
  background:transparent!important;
}

.home-page .opening-photo{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  display:block!important;
}

.home-page .opening-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  scale:1!important;
  animation:none!important;
  filter:none!important;
}

.home-page.hero-revealed .opening-photo img,
.home-page.motion-ready .opening-photo img{
  transform:none!important;
  animation:none!important;
}

@media (min-width:801px){
  .home-page .opening,
  .home-page .opening-v19{
    grid-template-columns:minmax(360px,1fr) minmax(340px,560px)!important;
  }
}

@media (max-width:800px){
  .home-page .opening,
  .home-page .opening-v19{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
  }

  .home-page .opening-image-wrap{
    order:1!important;
    width:min(88vw,480px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:24px auto 0!important;
    overflow:visible!important;
  }

  .home-page .opening-photo,
  .home-page .opening-photo img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    animation:none!important;
  }

  .home-page .opening-copy{
    order:2!important;
  }
}

/* v2.41 — stable all-typewriter intro */
.home-page .opening-intro{
  display:block;
  background:#000!important;
}
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(88vw,1000px)!important;
  max-width:min(88vw,1000px)!important;
  margin:0!important;
  padding:0 20px!important;
  text-align:center!important;
  color:#fff!important;
  font-size:clamp(22px,2.4vw,38px)!important;
  line-height:1.7!important;
  letter-spacing:.08em!important;
  white-space:normal!important;
  visibility:hidden;
  opacity:1!important;
  filter:none!important;
}
.home-page .opening-intro .intro-typewriter::after,
.home-page .opening-intro .intro-line.is-typing::after,
.home-page .opening-intro .intro-typewriter.is-typing::after{
  content:""!important;
  display:inline-block!important;
  height:1em!important;
  margin-left:.12em!important;
  border-right:1px solid currentColor!important;
  vertical-align:-.08em!important;
  animation:mtCaretStable .9s step-end infinite!important;
}
.home-page .opening-intro .intro-line:not(.is-typing)::after,
.home-page .opening-intro .intro-typewriter:not(.is-typing)::after{
  display:none!important;
}
@media(max-width:800px){
  .home-page .opening-intro .intro-line,
  .home-page .opening-intro .intro-typewriter{
    width:90vw!important;
    max-width:90vw!important;
    padding:0 16px!important;
    font-size:clamp(20px,6vw,27px)!important;
    line-height:1.65!important;
    letter-spacing:.06em!important;
  }
}

/* v2.42 — one phrase at a time; prevent old visibility animations from overlapping */
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  animation:none!important;
  will-change:opacity;
}
.home-page .opening-intro .intro-line.is-showing,
.home-page .opening-intro .intro-line.is-leaving,
.home-page .opening-intro .intro-typewriter.is-showing,
.home-page .opening-intro .intro-typewriter.is-leaving{
  animation:none!important;
}

/* v2.43 — blinking typewriter cursor */
.home-page .opening-intro .intro-line.is-typing::after,
.home-page .opening-intro .intro-typewriter.is-typing::after{
  content:"";
  display:inline-block;
  width:1px;
  height:1em;
  margin-left:.12em;
  vertical-align:-.08em;
  background:currentColor;
  animation:v243CursorBlink .85s steps(1,end) infinite!important;
}

@keyframes v243CursorBlink{
  0%,46%{opacity:1}
  47%,100%{opacity:0}
}

/* =========================================================
   v2.47 — unified backgrounds, subtle section tones, link hover
   ========================================================= */
:root{
  --page-bg:#f1eee8;
  --section-news:#f5f2ec;
  --section-pickup:#ece7df;
  --section-schedule:#e7e1d8;
  --section-contents:#f0ece5;
  --text-main:#242321;
  --text-muted:#6a665f;
  --link-hover:#8a765e;
}

/* Same background on desktop and mobile */
html,
body,
.home-page{
  background:var(--page-bg)!important;
  color:var(--text-main)!important;
}

@media (max-width:800px){
  html,
  body,
  .home-page{
    background:var(--page-bg)!important;
  }
}

/* Slightly different background for each major section */
.home-page .news-section,
.home-page section.news,
.home-page #news{
  background:var(--section-news)!important;
}

.home-page .pickup-section,
.home-page section.pickup,
.home-page #pickup{
  background:var(--section-pickup)!important;
}

.home-page .schedule-section,
.home-page section.schedule,
.home-page #schedule{
  background:var(--section-schedule)!important;
}

.home-page .contents-section,
.home-page section.contents,
.home-page #contents{
  background:var(--section-contents)!important;
}

/* Fallback by common section order when IDs/classes differ */
.home-page main > section:nth-of-type(1){
  background:var(--section-news);
}
.home-page main > section:nth-of-type(2){
  background:var(--section-pickup);
}
.home-page main > section:nth-of-type(3){
  background:var(--section-schedule);
}
.home-page main > section:nth-of-type(4){
  background:var(--section-contents);
}

/* Preserve readable text contrast */
.home-page section,
.home-page section h1,
.home-page section h2,
.home-page section h3,
.home-page section h4,
.home-page section p,
.home-page section time,
.home-page section li{
  color:var(--text-main);
}

.home-page .muted,
.home-page .meta,
.home-page .sub,
.home-page small{
  color:var(--text-muted)!important;
}

/* Subtle hover treatment for links */
a,
button,
[role="link"]{
  transition:
    color .22s ease,
    opacity .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}

@media (hover:hover){
  a:hover,
  button:hover,
  [role="link"]:hover{
    color:var(--link-hover)!important;
  }

  .home-page .news-list a:hover,
  .home-page .schedule-list a:hover,
  .home-page .contents a:hover,
  .home-page .pickup a:hover{
    color:var(--link-hover)!important;
  }
}

/* Keep image cards from changing too strongly */
.home-page a img{
  transition:opacity .25s ease;
}
@media (hover:hover){
  .home-page a:hover img{
    opacity:.94;
  }
}

/* v2.48 explicit hover targets */
.news-section a,
#news a,
.schedule-section a,
#schedule a,
.news-list a,
.schedule-list a{
 transition:color .22s ease,opacity .22s ease!important;
}
@media (hover:hover){
.news-section a:hover,
#news a:hover,
.schedule-section a:hover,
#schedule a:hover,
.news-list a:hover,
.schedule-list a:hover{
 color:#8a765e!important;
 opacity:.88;
 text-decoration:none;
}
.news-section article:hover,
.schedule-section article:hover,
.news-item:hover,
.schedule-item:hover{
 background:rgba(138,118,94,.04);
 transition:background .22s ease;
}
}

/* =========================================================
   v2.49 — unify every interactive hover with 50th LIVE gold
   ========================================================= */
:root{
  --hover-gold:#d8b06d;
  --hover-gold-soft:rgba(216,176,109,.10);
}

a,
button,
[role="link"],
.news-rows a,
.home-event-row,
.text-link,
.solid-link{
  transition:
    color .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    opacity .22s ease!important;
}

@media (hover:hover){
  a:hover,
  a:focus-visible,
  button:hover,
  button:focus-visible,
  [role="link"]:hover,
  [role="link"]:focus-visible,
  .news-rows a:hover,
  .home-event-row:hover,
  .text-link:hover{
    color:var(--hover-gold)!important;
  }

  .news-rows a:hover,
  .home-event-row:hover,
  .road-list a:hover,
  .portal-grid a:hover,
  .portal-card:hover,
  .section-label a:hover{
    background-color:var(--hover-gold-soft)!important;
  }

  .solid-link:hover{
    background:var(--hover-gold)!important;
    color:#171512!important;
    border-color:var(--hover-gold)!important;
  }

  a:hover svg,
  button:hover svg{
    fill:currentColor!important;
    stroke:currentColor!important;
  }
}

/* =========================================================
   v2.50 — direct hover-color override for every linked child
   Matches the 50th LIVE gold accent.
   ========================================================= */
:root{
  --v250-link-gold:#caa77f;
  --v250-link-gold-soft:rgba(202,167,127,.10);
}

@media (min-width:801px) and (hover:hover) and (pointer:fine){
  /* Global text links and their nested text */
  a:hover,
  a:hover *,
  a:focus-visible,
  a:focus-visible *,
  button:hover,
  button:hover *,
  button:focus-visible,
  button:focus-visible *{
    color:var(--v250-link-gold)!important;
  }

  /* NEWS rows */
  .home-page .news-rows a:hover,
  .home-page .news-rows a:focus-visible{
    background:var(--v250-link-gold-soft)!important;
  }
  .home-page .news-rows a:hover time,
  .home-page .news-rows a:hover .tag,
  .home-page .news-rows a:hover strong,
  .home-page .news-rows a:hover i,
  .home-page .news-rows a:focus-visible time,
  .home-page .news-rows a:focus-visible .tag,
  .home-page .news-rows a:focus-visible strong,
  .home-page .news-rows a:focus-visible i{
    color:var(--v250-link-gold)!important;
    border-color:var(--v250-link-gold)!important;
  }

  /* SCHEDULE linked rows */
  .home-page a.home-event-row:hover,
  .home-page a.home-event-row:focus-visible{
    background:var(--v250-link-gold-soft)!important;
  }
  .home-page a.home-event-row:hover .home-event-date,
  .home-page a.home-event-row:hover .home-event-type,
  .home-page a.home-event-row:hover h3,
  .home-page a.home-event-row:hover p,
  .home-page a.home-event-row:hover small,
  .home-page a.home-event-row:hover i,
  .home-page a.home-event-row:focus-visible .home-event-date,
  .home-page a.home-event-row:focus-visible .home-event-type,
  .home-page a.home-event-row:focus-visible h3,
  .home-page a.home-event-row:focus-visible p,
  .home-page a.home-event-row:focus-visible small,
  .home-page a.home-event-row:focus-visible i{
    color:var(--v250-link-gold)!important;
    border-color:var(--v250-link-gold)!important;
  }

  /* CONTENTS cards */
  .home-page .portal-card:hover h2,
  .home-page .portal-card:focus-visible h2{
    color:var(--v250-link-gold)!important;
  }
  .home-page .portal-card:hover,
  .home-page .portal-card:focus-visible{
    background-color:var(--v250-link-gold-soft)!important;
  }

  /* PICK UP, section actions, header/footer and SNS */
  .top-pickup-link:hover,
  .top-pickup-link:focus-visible,
  .home-schedule-actions a:hover,
  .home-schedule-actions a:focus-visible,
  .section-label a:hover,
  .section-label a:focus-visible,
  .site-nav a:hover,
  .site-nav a:focus-visible,
  .social-links a:hover,
  .social-links a:focus-visible,
  .footer a:hover,
  .footer a:focus-visible{
    color:var(--v250-link-gold)!important;
    border-color:var(--v250-link-gold)!important;
  }

  /* Buttons */
  .solid-link:hover,
  .solid-link:focus-visible,
  .v10-primary:hover,
  .v10-primary:focus-visible{
    background:var(--v250-link-gold)!important;
    border-color:var(--v250-link-gold)!important;
    color:#171512!important;
  }

  /* Icons follow the text color */
  a:hover svg,
  a:focus-visible svg,
  button:hover svg,
  button:focus-visible svg{
    fill:currentColor!important;
    stroke:currentColor!important;
  }
}


/* v2.51 — mobile safety: disable sticky hover styles */
@media (max-width:800px), (hover:none), (pointer:coarse){
  .home-page a,
  .home-page a *,
  .home-page button,
  .home-page button *{
    -webkit-tap-highlight-color:transparent;
  }

  .home-page a:hover,
  .home-page a:focus,
  .home-page a:active,
  .home-page button:hover,
  .home-page button:focus,
  .home-page button:active{
    color:inherit!important;
    background-color:transparent!important;
    opacity:1!important;
  }
}

/* v2.52 — unify PC schedule item widths */
@media (min-width:801px){
  .home-page .schedule-list,
  .home-page #schedule .schedule-list,
  .home-page .schedule-section .schedule-list{
    width:100%!important;
  }

  .home-page .schedule-item,
  .home-page .home-event-row,
  .home-page #schedule .schedule-item,
  .home-page #schedule .home-event-row,
  .home-page .schedule-section .schedule-item,
  .home-page .schedule-section .home-event-row{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .home-page .schedule-item.featured,
  .home-page .schedule-item.pickup,
  .home-page .schedule-item.is-featured,
  .home-page .home-event-row.featured,
  .home-page .home-event-row.pickup,
  .home-page .home-event-row.is-featured{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* =========================================================
   v2.53 — MEDIA page
   ========================================================= */
.media-page{background:#f1eee8;color:#242321}
.media-intro{padding-bottom:42px}
.media-list{display:grid;gap:28px}
.media-card{
  display:grid;
  grid-template-columns:minmax(220px,34%) 1fr;
  gap:34px;
  align-items:center;
  padding:28px;
  background:#ebe6de;
  border:1px solid rgba(36,35,33,.10);
}
.media-card:nth-child(even){background:#f4f1eb}
.media-image{background:#fff;display:flex;align-items:center;justify-content:center;min-height:210px;overflow:hidden}
.media-image img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}
.media-image-wide img{max-height:260px}
.media-meta{display:flex;align-items:center;gap:18px;margin-bottom:16px;font-family:"Cormorant Garamond",serif;letter-spacing:.10em}
.media-meta span{display:inline-block;padding:5px 10px;border:1px solid rgba(36,35,33,.35);font-size:12px}
.media-meta time{font-size:14px;color:#6a665f}
.media-station{font-size:14px;letter-spacing:.08em;color:#6a665f;margin:0 0 8px}
.media-copy h2{font-family:"Shippori Mincho",serif;font-size:clamp(24px,3vw,38px);font-weight:500;margin:0 0 12px}
.media-time{font-size:16px;margin-bottom:22px}
.media-actions{display:flex;gap:14px;flex-wrap:wrap}
.media-actions .solid-link,
.media-actions .text-link{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;text-decoration:none}
.media-actions .solid-link{background:#242321;color:#fff;border:1px solid #242321}
.media-actions .text-link{border:1px solid rgba(36,35,33,.28);color:#242321}
@media (hover:hover){
  .media-card a:hover{color:#d8b06d!important}
  .media-actions .solid-link:hover{background:#d8b06d!important;border-color:#d8b06d!important;color:#171512!important}
}
@media (max-width:800px){
  .media-card{grid-template-columns:1fr;gap:20px;padding:18px}
  .media-image{min-height:160px}
  .media-copy h2{font-size:25px}
  .media-actions{display:grid;grid-template-columns:1fr}
  .media-actions .solid-link,.media-actions .text-link{justify-content:center}
}

/* v2.56 — complete official discography */
.discography-list{display:grid;gap:10px}
.disc-item{border-top:1px solid rgba(36,35,33,.16)}
.disc-item:last-child{border-bottom:1px solid rgba(36,35,33,.16)}
.disc-summary{
  width:100%;display:grid;grid-template-columns:78px 1fr auto;gap:20px;align-items:center;
  padding:16px 0;border:0;background:transparent;color:#242321;text-align:left;cursor:pointer
}
.disc-summary img{width:78px;height:78px;object-fit:cover;background:#ded9d1;border:1px solid rgba(36,35,33,.10)}
.disc-head{display:grid;gap:5px}
.disc-head small{font-family:"Cormorant Garamond",serif;letter-spacing:.10em;color:#6a665f}
.disc-head strong{font-family:"Shippori Mincho",serif;font-size:clamp(22px,2.5vw,34px);font-weight:500}
.disc-summary i{font-style:normal;font-size:22px;font-weight:300}
.disc-detail{padding:2px 0 28px 98px}
.disc-tracks{list-style:none;margin:0;padding:0}
.disc-tracks li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid rgba(36,35,33,.08)}
.disc-tracks li>span{font-family:"Cormorant Garamond",serif;color:#8a765e}
.disc-tracks small{display:block;margin-top:4px;color:#725f48;font-size:12px;line-height:1.65}
.disc-meta{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 0;border-top:1px solid rgba(36,35,33,.12)}
.disc-meta div{display:grid;grid-template-columns:72px 1fr;padding:9px 0;border-bottom:1px solid rgba(36,35,33,.08)}
.disc-meta dt{color:#6a665f;font-size:12px}.disc-meta dd{margin:0;font-size:13px}
.disc-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.disc-links a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(36,35,33,.20);text-decoration:none;color:#242321;font-size:12px}
.disc-links b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#242321;color:#fff;font-family:Arial,sans-serif;font-size:10px}
@media(hover:hover){
 .disc-summary:hover,.disc-links a:hover{color:#d8b06d!important}
 .disc-links a:hover{border-color:#d8b06d;background:rgba(216,176,109,.06)}
}
@media(max-width:700px){
 .disc-summary{grid-template-columns:64px 1fr auto;gap:13px}
 .disc-summary img{width:64px;height:64px}
 .disc-detail{padding-left:0}
 .disc-meta{grid-template-columns:1fr}
 .disc-head strong{font-size:22px}
}

/* =========================================================
   v2.59 — refined LIVE SCHEDULE
   ========================================================= */
.live-clean-page{background:#f1eee8;color:#242321}
.live-clean{max-width:1180px;margin:0 auto;padding:132px 34px 90px}
.live-clean-intro{padding:0 0 46px;border-bottom:1px solid rgba(36,35,33,.14)}
.live-clean-intro .eyebrow{margin:0 0 8px;font-family:"Cormorant Garamond",serif;letter-spacing:.18em;color:#8a765e}
.live-clean-intro h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(46px,7vw,88px);font-weight:400;letter-spacing:.02em}

.featured-live-clean{
  display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:54px;align-items:center;
  padding:54px 0;border-bottom:1px solid rgba(36,35,33,.14)
}
.featured-live-meta{display:flex;gap:12px;align-items:center;margin-bottom:16px;font-family:"Cormorant Garamond",serif;letter-spacing:.10em}
.featured-live-meta b{font-size:11px;padding:5px 9px;border:1px solid rgba(36,35,33,.28);font-weight:500}
.featured-live-copy h2{margin:0 0 18px;font-family:"Shippori Mincho",serif;font-size:clamp(31px,4vw,54px);font-weight:500;line-height:1.35}
.featured-live-copy p{margin:6px 0}
.featured-live-place{font-size:19px;font-weight:600}
.featured-live-support{margin-top:14px!important;color:#6a665f;font-size:13px}
.featured-live-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.featured-live-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;text-decoration:none}
.featured-live-actions .solid-link{background:#242321;color:#fff}
.featured-live-actions .text-link{border:1px solid rgba(36,35,33,.25);color:#242321}
.featured-live-flyer{display:block;width:210px}
.featured-live-flyer img{display:block;width:100%;height:auto;box-shadow:0 12px 28px rgba(30,26,22,.10)}

.upcoming-clean,.past-live-clean{padding-top:58px}
.live-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(36,35,33,.20)}
.live-section-head h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;letter-spacing:.05em}
.live-section-head a{color:#6a665f;text-decoration:none;font-size:12px;letter-spacing:.08em}

.live-clean-row{
  display:grid;grid-template-columns:92px 118px minmax(0,1fr) auto;gap:24px;align-items:center;
  padding:24px 0;border-bottom:1px solid rgba(36,35,33,.12)
}
.live-clean-date{display:grid;line-height:1}
.live-clean-date small{font-family:"Cormorant Garamond",serif;font-size:13px;color:#6a665f}
.live-clean-date strong{font-family:"Cormorant Garamond",serif;font-size:31px;font-weight:500;margin:5px 0}
.live-clean-date em{font-style:normal;font-size:11px;letter-spacing:.10em;color:#8a765e}
.live-clean-thumb{display:block;width:118px;height:148px;overflow:hidden;background:#ddd7cf}
.live-clean-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.live-clean-thumb-wide img{object-fit:contain;background:#fff}
.live-clean-noimage{display:grid;place-items:center;text-align:center;font-family:"Cormorant Garamond",serif;letter-spacing:.12em;color:#8a765e;font-size:12px}
.live-clean-main{min-width:0}
.live-clean-tag{display:inline-block;margin-bottom:8px;padding:4px 8px;border:1px solid rgba(36,35,33,.25);font-size:10px;letter-spacing:.08em}
.live-clean-main h3{margin:0 0 8px;font-family:"Shippori Mincho",serif;font-size:clamp(20px,2.4vw,29px);font-weight:500;line-height:1.45}
.live-clean-main p{margin:4px 0;color:#56514b;font-size:14px;line-height:1.7}
.live-clean-place{color:#242321!important;font-weight:600}
.live-clean-main details{margin-top:8px;font-size:13px}
.live-clean-main summary{cursor:pointer;color:#8a765e}
.live-clean-detail{align-self:center;padding:11px 0 11px 14px;color:#242321;text-decoration:none;font-family:"Cormorant Garamond",serif;letter-spacing:.08em;white-space:nowrap}
.live-clean-note{margin:22px 0 0;color:#6a665f;font-size:12px}

.past-live-clean-list{display:grid}
.past-live-clean-row{
  display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:24px;align-items:center;
  padding:20px 0;border-bottom:1px solid rgba(36,35,33,.10);text-decoration:none;color:#242321
}
.past-live-clean-row time{font-family:"Cormorant Garamond",serif;color:#8a765e;letter-spacing:.05em}
.past-live-clean-row span{font-size:11px;color:#6a665f}
.past-live-clean-row h3{margin:3px 0 4px;font-family:"Shippori Mincho",serif;font-size:20px;font-weight:500}
.past-live-clean-row p{margin:0;color:#6a665f;font-size:13px}
.past-live-clean-row i{font-style:normal}

@media (hover:hover){
  .featured-live-actions a:hover,
  .live-clean-detail:hover,
  .live-section-head a:hover,
  .past-live-clean-row:hover,
  .live-clean-main summary:hover{color:#d8b06d!important}
  .featured-live-actions .solid-link:hover{background:#d8b06d!important;color:#171512!important}
  .live-clean-thumb:hover img,.featured-live-flyer:hover img{opacity:.93}
}

@media(max-width:800px){
  .live-clean{padding:104px 20px 70px}
  .featured-live-clean{grid-template-columns:1fr;gap:26px;padding:38px 0}
  .featured-live-flyer{width:44vw;max-width:190px}
  .live-clean-row{
    grid-template-columns:72px 82px minmax(0,1fr);gap:14px;align-items:start
  }
  .live-clean-date strong{font-size:24px}
  .live-clean-thumb{width:82px;height:104px}
  .live-clean-detail{grid-column:2/-1;justify-self:start;padding:8px 0}
  .live-clean-main h3{font-size:20px}
  .past-live-clean-row{grid-template-columns:94px 1fr auto;gap:14px}
}

@media(max-width:560px){
  .live-clean-row{grid-template-columns:64px minmax(0,1fr)}
  .live-clean-thumb{grid-column:2;width:44vw;max-width:150px;height:auto;aspect-ratio:3/4}
  .live-clean-main{grid-column:2}
  .live-clean-detail{grid-column:2}
  .past-live-clean-row{grid-template-columns:1fr auto}
  .past-live-clean-row time{grid-column:1/-1}
}

/* =========================================================
   v2.60 — LIVE list + detail page refinement
   ========================================================= */

/* Archive link only at bottom */
.live-archive-link{
  padding:54px 0 0;
  text-align:right;
}
.live-archive-link a{
  display:inline-block;
  color:#242321;
  text-decoration:none;
  font-family:"Cormorant Garamond",serif;
  font-size:15px;
  letter-spacing:.10em;
  border-bottom:1px solid rgba(36,35,33,.28);
  padding-bottom:5px;
}

/* Keep all schedule rows visually equal */
.live-clean-row{
  grid-template-columns:92px 104px minmax(0,1fr) auto!important;
}
.live-clean-thumb{
  width:104px!important;
  height:132px!important;
}
.live-clean-thumb img{
  object-fit:contain!important;
  background:#f7f4ef;
}
.live-clean-main p{
  max-width:720px;
}

/* Shared refined event detail layout */
.event-detail,
.live-detail{
  max-width:1080px!important;
  margin:0 auto!important;
  padding:132px 34px 90px!important;
  color:#242321!important;
}

.event-detail__back,
.back-link{
  display:inline-block;
  margin-bottom:34px!important;
  color:#6a665f!important;
  text-decoration:none!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}

.event-detail__grid,
.detail-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 260px!important;
  gap:52px!important;
  align-items:start!important;
}

.event-detail h1,
.detail-hero h1{
  margin:0 0 16px!important;
  font-family:"Shippori Mincho",serif!important;
  font-size:clamp(32px,4.4vw,54px)!important;
  line-height:1.38!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}

.event-detail .eyebrow,
.detail-hero .eyebrow{
  margin-bottom:12px!important;
  color:#8a765e!important;
  letter-spacing:.14em!important;
}

.event-date,
.detail-date{
  font-family:"Cormorant Garamond",serif!important;
  font-size:20px!important;
  letter-spacing:.06em!important;
  color:#6a665f!important;
  margin:0 0 26px!important;
}

.event-detail dl,
.detail-info dl{
  margin:28px 0 0!important;
  border-top:1px solid rgba(36,35,33,.14)!important;
}

.event-detail dl div,
.detail-info dl div{
  display:grid!important;
  grid-template-columns:88px 1fr!important;
  gap:18px!important;
  padding:12px 0!important;
  border-bottom:1px solid rgba(36,35,33,.09)!important;
}

.event-detail dt,
.detail-info dt{
  color:#6a665f!important;
  font-size:12px!important;
}

.event-detail dd,
.detail-info dd{
  margin:0!important;
  line-height:1.7!important;
}

.event-detail h2,
.detail-info h2{
  margin:32px 0 12px!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:22px!important;
  font-weight:500!important;
  letter-spacing:.06em!important;
}

.event-detail .artists,
.detail-info p{
  line-height:1.9!important;
  color:#4e4943!important;
}

.event-detail figure,
.detail-grid figure{
  margin:0!important;
  width:260px!important;
  justify-self:end!important;
}

.event-detail figure img,
.detail-grid figure img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:390px!important;
  object-fit:contain!important;
  background:#f8f5f0!important;
  box-shadow:0 10px 28px rgba(36,31,27,.10)!important;
}

.detail-hero{
  margin-bottom:42px!important;
}
.detail-hero .subtitle{
  margin:0 0 14px!important;
  color:#8a765e!important;
  letter-spacing:.10em!important;
}
.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 18px!important;
  margin-top:16px!important;
  background:#242321!important;
  color:#fff!important;
  text-decoration:none!important;
  border:1px solid #242321!important;
}

.detail-info{
  display:grid!important;
  gap:0!important;
}
.detail-info section{
  padding:0 0 22px!important;
  border-bottom:1px solid rgba(36,35,33,.10)!important;
}

/* Archive intro: title only */
.archive-intro>p:not(.eyebrow){
  display:none!important;
}
.archive-intro h1{
  font-family:"Cormorant Garamond",serif!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
}

@media (hover:hover){
  .live-archive-link a:hover,
  .event-detail__back:hover,
  .back-link:hover{
    color:#d8b06d!important;
  }
  .button:hover{
    background:#d8b06d!important;
    border-color:#d8b06d!important;
    color:#171512!important;
  }
}

@media(max-width:800px){
  .live-clean-row{
    grid-template-columns:72px 82px minmax(0,1fr)!important;
  }
  .live-clean-thumb{
    width:82px!important;
    height:104px!important;
  }
  .event-detail,
  .live-detail{
    padding:108px 20px 70px!important;
  }
  .event-detail__grid,
  .detail-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .event-detail figure,
  .detail-grid figure{
    width:min(58vw,220px)!important;
    justify-self:start!important;
    order:-1;
  }
  .event-detail figure img,
  .detail-grid figure img{
    max-height:320px!important;
  }
  .detail-hero{
    margin-bottom:30px!important;
  }
}

@media(max-width:560px){
  .live-clean-row{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
  .live-clean-thumb{
    grid-column:2!important;
    width:44vw!important;
    max-width:140px!important;
    height:auto!important;
    aspect-ratio:3/4!important;
  }
  .live-clean-main,
  .live-clean-detail{
    grid-column:2!important;
  }
  .event-detail dl div,
  .detail-info dl div{
    grid-template-columns:72px 1fr!important;
  }
}

/* =========================================================
   v2.61 — unified polished event detail pages
   ========================================================= */
.event-page-polished{background:#f1eee8;color:#242321}
.event-polished{
  max-width:1080px;
  margin:0 auto;
  padding:126px 34px 88px;
}
.event-back{
  display:inline-block;
  margin-bottom:34px;
  color:#6a665f;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.08em;
}
.event-header{
  max-width:820px;
  padding-bottom:28px;
  border-bottom:1px solid rgba(36,35,33,.15);
}
.event-header .eyebrow{
  margin:0 0 10px;
  color:#8a765e;
  font-family:"Cormorant Garamond",serif;
  font-size:13px;
  letter-spacing:.14em;
}
.event-date-polished{
  margin:0 0 12px;
  color:#6a665f;
  font-family:"Cormorant Garamond",serif;
  font-size:17px;
  letter-spacing:.06em;
}
.event-header h1{
  margin:0;
  max-width:900px;
  font-family:"Shippori Mincho",serif;
  font-size:clamp(31px,4.3vw,52px);
  line-height:1.42;
  font-weight:500;
  letter-spacing:.01em;
  word-break:auto-phrase;
  text-wrap:balance;
}
.event-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:52px;
  align-items:start;
  padding-top:34px;
}
.event-content{min-width:0}
.event-facts{
  margin:0;
  border-top:1px solid rgba(36,35,33,.14);
}
.event-facts>div{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(36,35,33,.09);
}
.event-facts dt{
  font-size:12px;
  color:#6a665f;
}
.event-facts dd{
  margin:0;
  color:#242321;
  line-height:1.75;
  word-break:normal;
  overflow-wrap:anywhere;
}
.event-section{
  padding:28px 0 0;
}
.event-section h2{
  margin:0 0 11px;
  font-family:"Cormorant Garamond",serif;
  font-size:21px;
  font-weight:500;
  letter-spacing:.07em;
}
.event-section-body{
  color:#4f4a44;
  line-height:1.9;
  font-size:14px;
}
.event-section-body p{margin:4px 0}
.event-reservation{
  margin-top:28px;
  padding:24px;
  background:#ebe6de;
  border:1px solid rgba(36,35,33,.10);
}
.event-button,
.event-text-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:16px;
  padding:0 16px;
  text-decoration:none;
}
.event-button{
  background:#242321;
  color:#fff;
  border:1px solid #242321;
}
.event-text-link{
  padding-left:0;
  color:#242321;
  border-bottom:1px solid rgba(36,35,33,.25);
}
.event-flyer{
  width:230px;
  margin:0;
}
.event-flyer a{
  display:block;
  width:100%;
}
.event-flyer img{
  display:block;
  width:100%;
  height:auto;
  max-height:340px;
  object-fit:contain;
  background:#f8f5f0;
  box-shadow:0 10px 26px rgba(36,31,27,.10);
}
.event-flyer p{
  margin:9px 0 0;
  color:#7b746c;
  font-size:10px;
  letter-spacing:.08em;
  text-align:center;
}
.event-flyer-empty{
  display:grid;
  place-items:center;
  min-height:280px;
  background:#e4ded5;
  color:#8a765e;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.12em;
  text-align:center;
}
@media (hover:hover){
  .event-back:hover,
  .event-text-link:hover{color:#d8b06d!important}
  .event-button:hover{
    background:#d8b06d!important;
    border-color:#d8b06d!important;
    color:#171512!important;
  }
  .event-flyer a:hover img{opacity:.94}
}
@media(max-width:800px){
  .event-polished{padding:104px 20px 66px}
  .event-layout{
    grid-template-columns:1fr;
    gap:30px;
  }
  .event-flyer{
    order:-1;
    width:min(54vw,210px);
  }
  .event-flyer img{max-height:300px}
  .event-header h1{
    font-size:clamp(28px,8.4vw,39px);
    line-height:1.5;
    text-wrap:pretty;
  }
}
@media(max-width:520px){
  .event-polished{padding-left:18px;padding-right:18px}
  .event-facts>div{
    grid-template-columns:66px minmax(0,1fr);
    gap:12px;
  }
  .event-flyer{width:48vw;min-width:150px}
  .event-reservation{padding:20px}
}

/* =========================================================
   v3.0 — STORY / DISCography restructure
   ========================================================= */

/* DISCOGRAPHY photo gallery */
.music-gallery-section{padding-top:62px}
.music-gallery-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding-bottom:14px;
  border-bottom:1px solid rgba(36,35,33,.15);
}
.music-gallery-head h2{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:.08em;
}
.music-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding-top:18px;
}
.music-gallery figure{margin:0;overflow:hidden;background:#ded8cf}
.music-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:opacity .25s ease;
}

/* STORY */
.story-page{background:#f1eee8;color:#242321}
.story-main{
  max-width:1140px;
  margin:0 auto;
  padding:132px 34px 90px;
}
.story-intro{
  padding-bottom:42px;
  border-bottom:1px solid rgba(36,35,33,.15);
}
.story-intro .eyebrow,
.story-detail .eyebrow{
  margin:0 0 8px;
  color:#8a765e;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.16em;
}
.story-intro h1{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(48px,7vw,88px);
  font-weight:400;
}
.story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  padding-top:44px;
}
.story-card{
  display:block;
  color:#242321;
  text-decoration:none;
}
.story-visual{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:420px;
  padding:36px;
  text-align:center;
  border:1px solid rgba(36,35,33,.12);
}
.story-visual span{
  margin-bottom:16px;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.18em;
  font-size:12px;
}
.story-visual strong{
  font-family:"Shippori Mincho",serif;
  font-size:clamp(34px,5vw,62px);
  font-weight:500;
}
.story-cover-placeholder{
  background:linear-gradient(145deg,#d8d0c4,#eee9e2);
}
.story-poster-placeholder{
  background:linear-gradient(145deg,#252321,#51483f);
  color:#f5f1ea;
}
.story-card-copy{padding:17px 2px}
.story-card-copy small{
  color:#7a7269;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.10em;
}
.story-card-copy h2{
  margin:5px 0 10px;
  font-family:"Shippori Mincho",serif;
  font-size:27px;
  font-weight:500;
}
.story-card-copy>span{
  color:#8a765e;
  font-size:11px;
  letter-spacing:.09em;
}

/* STORY details */
.story-detail-page{background:#f1eee8;color:#242321}
.story-detail{
  max-width:1030px;
  margin:0 auto;
  padding:126px 34px 90px;
}
.story-back{
  display:inline-block;
  margin-bottom:36px;
  color:#6a665f;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.08em;
}
.story-detail-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:52px;
  align-items:center;
  padding-bottom:40px;
  border-bottom:1px solid rgba(36,35,33,.15);
}
.story-detail-year{
  margin:0 0 10px;
  color:#6a665f;
  font-family:"Cormorant Garamond",serif;
  font-size:17px;
  letter-spacing:.08em;
}
.story-detail-header h1{
  margin:0;
  font-family:"Shippori Mincho",serif;
  font-size:clamp(38px,6vw,70px);
  line-height:1.35;
  font-weight:500;
}
.story-detail-art{
  min-height:340px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow:0 12px 30px rgba(36,31,27,.10);
}
.story-detail-art span{
  margin-bottom:14px;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.15em;
  font-size:11px;
}
.story-detail-art strong{
  font-family:"Shippori Mincho",serif;
  font-size:34px;
  font-weight:500;
}
.story-detail-content{
  max-width:720px;
  padding-top:36px;
}
.story-detail-content dl{
  margin:0;
  border-top:1px solid rgba(36,35,33,.14);
}
.story-detail-content dl>div{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(36,35,33,.09);
}
.story-detail-content dt{color:#6a665f;font-size:12px}
.story-detail-content dd{margin:0;line-height:1.8}
.story-detail-content section{
  padding-top:34px;
}
.story-detail-content h2{
  margin:0 0 12px;
  font-family:"Cormorant Garamond",serif;
  font-size:23px;
  font-weight:500;
  letter-spacing:.08em;
}
.story-detail-content p{
  margin:0;
  color:#4e4943;
  line-height:2;
}
.story-related-link{
  display:inline-block;
  color:#242321;
  text-decoration:none;
  border-bottom:1px solid rgba(36,35,33,.25);
  padding-bottom:4px;
}
.story-video-placeholder{
  display:grid;
  place-items:center;
  aspect-ratio:16/9;
  background:#242321;
  color:#f4f0e9;
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.18em;
}

@media (hover:hover){
  .story-card:hover .story-visual{opacity:.94}
  .story-card:hover .story-card-copy>span,
  .story-back:hover,
  .story-related-link:hover{color:#d8b06d!important}
  .music-gallery figure:hover img{opacity:.92}
}
@media(max-width:800px){
  .story-main{padding:104px 20px 70px}
  .story-grid{grid-template-columns:1fr;gap:34px}
  .story-visual{min-height:330px}
  .story-detail{padding:104px 20px 70px}
  .story-detail-header{grid-template-columns:1fr;gap:28px}
  .story-detail-art{
    order:-1;
    width:min(56vw,220px);
    min-height:290px;
  }
  .music-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .story-detail-content dl>div{
    grid-template-columns:68px minmax(0,1fr);
    gap:12px;
  }
  .music-gallery{grid-template-columns:1fr 1fr}
}

/* =========================================================
   v3.1 — public release Coming Soon pages
   ========================================================= */
.coming-soon-page{
  background:#f1eee8;
  color:#242321;
}
.coming-soon-main{
  min-height:calc(100vh - 180px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:130px 24px 90px;
  text-align:center;
}
.coming-soon-main .eyebrow{
  margin:0 0 14px;
  color:#8a765e;
  font-family:"Cormorant Garamond",serif;
  font-size:12px;
  letter-spacing:.18em;
}
.coming-soon-main h1{
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(54px,9vw,108px);
  line-height:1;
  font-weight:400;
  letter-spacing:.02em;
}
.coming-soon-main a{
  display:inline-block;
  margin-top:34px;
  padding-bottom:5px;
  color:#6a665f;
  text-decoration:none;
  border-bottom:1px solid rgba(36,35,33,.24);
  font-size:11px;
  letter-spacing:.10em;
}
@media (hover:hover){
  .coming-soon-main a:hover{
    color:#d8b06d!important;
    border-color:#d8b06d!important;
  }
}
@media(max-width:800px){
  .coming-soon-main{
    min-height:calc(100vh - 140px);
    padding:110px 20px 70px;
  }
}


/* v3.1.1 — Coming Soon cards: centered label and no navigation */
.is-coming-soon,
.disabled-coming-link{
  cursor:default!important;
}
.portal-grid-v28 .portal-card.is-coming-soon > div{
  inset:0;
  left:0;
  right:0;
  bottom:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
}
.portal-grid-v28 .portal-card.is-coming-soon:after{
  background:rgba(0,0,0,.42);
}
.portal-grid-v28 .portal-card.is-coming-soon h2{
  margin:0 0 12px;
}
.portal-grid-v28 .portal-card.is-coming-soon p{
  margin:0;
  font-size:10px;
  letter-spacing:.28em;
  color:rgba(255,255,255,.86);
}
.portal-grid-v28 .portal-card.is-coming-soon:hover img{
  transform:none;
}
.story-card.is-coming-soon{
  cursor:default;
}
@media(max-width:800px){
  .portal-grid-v28 .portal-card.is-coming-soon > div{
    padding:22px;
  }
  .portal-grid-v28 .portal-card.is-coming-soon h2{
    font-size:32px;
  }
}

/* v3.1 replay control visibility fix */
.intro-replay{
  display:block!important;
  right:max(18px,env(safe-area-inset-right))!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  padding:10px 14px!important;
  border:1px solid rgba(20,20,20,.28)!important;
  border-radius:999px!important;
  background:rgba(250,248,243,.92)!important;
  color:#171717!important;
  mix-blend-mode:normal!important;
  box-shadow:0 4px 18px rgba(0,0,0,.12)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.intro-replay.is-visible,
.home-page.hero-revealed .intro-replay{
  opacity:.82!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.intro-replay:hover,
.intro-replay:focus-visible{
  opacity:1!important;
  background:#fff!important;
}
@media(max-width:720px){
  .intro-replay{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    padding:9px 12px!important;
    font-size:9px!important;
  }
}

/* v3.1.2 — stable Replay Opening control */
.intro-replay{
  display:block!important;
  position:fixed!important;
  right:max(18px,env(safe-area-inset-right))!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  z-index:1000!important;
  min-width:0!important;
  padding:8px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(20,20,20,.62)!important;
  box-shadow:none!important;
  mix-blend-mode:normal!important;
  font:500 10px/1.2 var(--sans)!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .35s ease,color .2s ease!important;
}
.intro-replay.is-visible,
.home-page.hero-revealed .intro-replay{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.home-page.intro-running .intro-replay{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.intro-replay:hover,
.intro-replay:focus-visible{
  color:#000!important;
  background:transparent!important;
  outline:none!important;
}
@media(max-width:720px){
  .intro-replay{
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    font-size:9px!important;
  }
}

/* v3.2 — final opening copy rhythm and multilingual line safety */
.home-page .poem-cinematic .poem-opening,
.home-page .poem-cinematic .poem-journey,
.home-page .poem-cinematic strong{
  overflow-wrap:anywhere;
  word-break:normal;
  text-wrap:balance;
}
.home-page .poem-cinematic .poem-opening{
  max-width:18em;
  margin:0 0 28px;
}
.home-page .poem-cinematic .poem-journey{
  max-width:22em;
  margin:0;
}
.home-page .poem-cinematic strong{
  margin-top:78px!important;
}
.home-page .opening-intro .intro-typewriter{
  bottom:10vh!important;
}
html[lang="en"] .home-page .opening-intro p,
html[lang="ko"] .home-page .opening-intro p,
html[lang="zh-Hant"] .home-page .opening-intro p,
html[lang="th"] .home-page .opening-intro p{
  max-width:min(82vw,980px)!important;
  line-height:1.55!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
html[lang="en"] .home-page .intro-line-1{font-size:clamp(30px,3.7vw,58px)!important}
html[lang="en"] .home-page .intro-line-3{font-size:clamp(22px,2.25vw,34px)!important}
html[lang="en"] .home-page .intro-typewriter{font-size:clamp(24px,2.45vw,38px)!important;min-width:0!important}
html[lang="ko"] .home-page .intro-line-1,
html[lang="zh-Hant"] .home-page .intro-line-1,
html[lang="th"] .home-page .intro-line-1{font-size:clamp(30px,3.6vw,54px)!important}
html[lang="ko"] .home-page .intro-typewriter,
html[lang="zh-Hant"] .home-page .intro-typewriter,
html[lang="th"] .home-page .intro-typewriter{font-size:clamp(24px,2.4vw,36px)!important;min-width:0!important}
html[lang="th"] .home-page .opening-intro p{letter-spacing:.02em!important}
html[lang="th"] .home-page .poem-cinematic{letter-spacing:.02em}

@media(max-width:720px){
  .home-page .poem-cinematic strong{margin-top:54px!important}
  .home-page .opening-intro .intro-line-1,
  .home-page .opening-intro .intro-line-3,
  .home-page .opening-intro .intro-typewriter{
    left:8vw!important;
    right:8vw!important;
    width:auto!important;
    max-width:84vw!important;
    text-align:left!important;
  }
  .home-page .opening-intro .intro-line-1{top:22vh!important}
  .home-page .opening-intro .intro-line-3{top:46vh!important;bottom:auto!important}
  .home-page .opening-intro .intro-typewriter{top:70vh!important;bottom:auto!important}
  html[lang="en"] .home-page .intro-line-1{font-size:clamp(25px,7vw,34px)!important}
  html[lang="en"] .home-page .intro-line-3{font-size:clamp(20px,5.5vw,27px)!important}
  html[lang="en"] .home-page .intro-typewriter{font-size:clamp(22px,6vw,30px)!important}
  html[lang="ko"] .home-page .intro-line-1,
  html[lang="zh-Hant"] .home-page .intro-line-1,
  html[lang="th"] .home-page .intro-line-1{font-size:clamp(24px,6.8vw,32px)!important}
  html[lang="ko"] .home-page .intro-line-3,
  html[lang="zh-Hant"] .home-page .intro-line-3,
  html[lang="th"] .home-page .intro-line-3{font-size:clamp(19px,5.3vw,25px)!important}
  html[lang="ko"] .home-page .intro-typewriter,
  html[lang="zh-Hant"] .home-page .intro-typewriter,
  html[lang="th"] .home-page .intro-typewriter{font-size:clamp(21px,5.8vw,28px)!important}
}


/* v7.0 — opening copy spacing and multilingual safety */
.home-page .poem.poem-cinematic strong{
  display:block!important;
  margin-top:2.35em!important;
}
.home-page .opening-final-copy .poem{
  overflow-wrap:anywhere;
  word-break:normal;
}
html[lang="en"] .home-page .opening-final-copy .poem,
html[lang="ko"] .home-page .opening-final-copy .poem,
html[lang="zh-Hant"] .home-page .opening-final-copy .poem,
html[lang="th"] .home-page .opening-final-copy .poem{
  max-width:min(760px,88vw)!important;
}
html[lang="en"] .home-page .poem-opening,
html[lang="en"] .home-page .poem-journey{font-size:clamp(24px,3.2vw,50px)!important;line-height:1.35!important}
html[lang="ko"] .home-page .poem-opening,
html[lang="ko"] .home-page .poem-journey,
html[lang="zh-Hant"] .home-page .poem-opening,
html[lang="zh-Hant"] .home-page .poem-journey,
html[lang="th"] .home-page .poem-opening,
html[lang="th"] .home-page .poem-journey{font-size:clamp(23px,3vw,46px)!important;line-height:1.55!important}
@media(max-width:720px){
  .home-page .poem.poem-cinematic strong{margin-top:2.15em!important}
  html[lang="en"] .home-page .poem-opening,
  html[lang="en"] .home-page .poem-journey{font-size:clamp(21px,6.2vw,29px)!important;line-height:1.45!important}
  html[lang="ko"] .home-page .poem-opening,
  html[lang="ko"] .home-page .poem-journey,
  html[lang="zh-Hant"] .home-page .poem-opening,
  html[lang="zh-Hant"] .home-page .poem-journey,
  html[lang="th"] .home-page .poem-opening,
  html[lang="th"] .home-page .poem-journey{font-size:clamp(20px,5.8vw,27px)!important;line-height:1.65!important}
}

/* =========================================================
   v8.0 — mobile layout + opening repair (final overrides)
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.home-page .opening-intro{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  min-height:100dvh!important;background:#000!important;overflow:hidden!important;z-index:99999!important;
}
.home-page .opening-intro p{
  position:absolute!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
  width:min(88vw,900px)!important;max-width:none!important;margin:0!important;padding:0!important;
  transform:translate(-50%,-50%)!important;text-align:center!important;color:#fff!important;
  white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important;
  line-height:1.65!important;letter-spacing:.08em!important;
}
.home-page .opening-intro .intro-line-1,
.home-page .opening-intro .intro-line-2,
.home-page .opening-intro .intro-line-3,
.home-page .opening-intro .intro-line-4{top:48%!important;left:50%!important;right:auto!important;bottom:auto!important}
.home-page .opening-intro .intro-typewriter{
  top:calc(48% + 5.2rem)!important;left:50%!important;right:auto!important;bottom:auto!important;
  width:min(88vw,900px)!important;min-width:0!important;font-size:clamp(25px,3vw,42px)!important;
}
.home-page .opening-intro .intro-skip{right:clamp(18px,4vw,56px)!important;bottom:clamp(18px,4vw,48px)!important}

/* Make the language switch usable on phones. */
@media(max-width:800px){
  .site-header{height:68px!important;padding:0 14px!important;gap:10px!important;display:flex!important;align-items:center!important}
  .brand{min-width:0!important;max-width:42vw!important}
  .brand .brand-en,.brand span{font-size:11px!important;letter-spacing:.12em!important;white-space:nowrap!important}
  .brand small{font-size:6px!important;margin-top:3px!important;letter-spacing:.1em!important}
  .header-actions{gap:10px!important;min-width:0!important}
  .header-socials{display:none!important}
  .language{display:flex!important;gap:5px!important;align-items:center!important;flex-wrap:nowrap!important}
  .language button{font-size:8px!important;line-height:1!important;padding:7px 3px!important;min-width:20px!important;letter-spacing:.03em!important}
  .menu-button{width:25px!important;height:18px!important;flex:0 0 auto!important}
  .site-nav{position:fixed!important;left:12px!important;right:12px!important;top:68px!important;max-height:calc(100dvh - 80px)!important;overflow:auto!important;padding:20px 24px!important;min-width:0!important;box-shadow:0 14px 40px rgba(0,0,0,.15)!important}

  .home-page .opening-intro p{width:86vw!important;font-size:clamp(19px,5.4vw,25px)!important;line-height:1.85!important;letter-spacing:.055em!important}
  .home-page .opening-intro .intro-line-1,
  .home-page .opening-intro .intro-line-2,
  .home-page .opening-intro .intro-line-3,
  .home-page .opening-intro .intro-line-4{top:46%!important}
  .home-page .opening-intro .intro-typewriter{top:calc(46% + 5.7rem)!important;font-size:clamp(22px,6.3vw,29px)!important}
  .home-page .opening-intro .intro-skip{right:18px!important;bottom:18px!important;font-size:11px!important}
  .intro-replay{right:14px!important;bottom:14px!important;max-width:calc(100vw - 28px)!important;font-size:10px!important;padding:9px 12px!important}

  .opening-v19,.opening{display:block!important;min-height:0!important}
  .opening-image-wrap,.opening-photo{width:100%!important;padding:0!important;margin:0!important}
  .opening-v19 .opening-photo img,.opening-photo img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center top!important}
  .photo-caption{margin:10px 18px 0!important;font-size:7px!important}
  .opening-v19 .opening-copy,.opening-copy{padding:42px 20px 60px!important;min-width:0!important}
  .identity-block{margin-bottom:34px!important}
  .opening-v19 .artist-name,.artist-name{font-size:clamp(34px,10vw,45px)!important;letter-spacing:.08em!important;line-height:1.25!important;white-space:normal!important}
  .artist-role{font-size:9px!important;letter-spacing:.18em!important}
  .poem,.poem-cinematic{max-width:100%!important;overflow-wrap:anywhere!important}
  .poem-opening{font-size:clamp(23px,7vw,30px)!important;line-height:1.65!important;white-space:normal!important}
  .poem-journey{font-size:clamp(16px,4.8vw,20px)!important;line-height:1.9!important;white-space:normal!important}
  .poem strong,.poem-cinematic strong{font-size:clamp(26px,8vw,34px)!important;margin-top:2.6em!important;line-height:1.5!important;white-space:normal!important}

  .news-section,.top-pickup,.home-schedule,.portal-section,.inner-section,.movie-section,.pickup,.road{padding-left:18px!important;padding-right:18px!important}
  .section-label,.section-label-editorial{align-items:flex-start!important;gap:12px!important}
  .section-label h2,.section-label-editorial h2{font-size:15px!important;line-height:1.3!important;white-space:nowrap!important}
  .news-rows a{grid-template-columns:72px 1fr 18px!important;gap:5px 10px!important;padding:16px 0!important}
  .news-rows time{font-size:10px!important}.news-rows .tag{font-size:8px!important}.news-rows strong{font-size:13px!important;line-height:1.65!important;overflow-wrap:anywhere!important}

  .top-pickup-inner{display:flex!important;flex-direction:column!important;gap:28px!important;align-items:stretch!important}
  .top-pickup-flyer{width:100%!important}.top-pickup-flyer img{width:100%!important;height:auto!important;object-fit:contain!important}
  .top-pickup-copy{padding:0!important;min-width:0!important}
  .top-pickup-copy h2{font-size:clamp(32px,10vw,46px)!important;line-height:1.08!important;overflow-wrap:anywhere!important}
  .top-pickup-date{font-size:22px!important}.top-pickup-place{font-size:12px!important;line-height:1.7!important}

  .home-event-row{grid-template-columns:64px 54px minmax(0,1fr) 14px!important;gap:8px!important;padding:17px 0!important;align-items:start!important}
  .home-event-row time strong{font-size:17px!important}.home-event-row time small,.home-event-row time em{font-size:7px!important}
  .home-event-type{font-size:7px!important;line-height:1.35!important;white-space:normal!important;text-align:center!important;padding-top:3px!important}
  .home-event-row h3{font-size:13px!important;line-height:1.55!important;margin:2px 0 4px!important;overflow-wrap:anywhere!important}
  .home-event-row p,.home-event-row small{font-size:9px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
  .home-schedule-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important}

  .portal-grid-v28,.portal-grid-v19,.portal-grid{display:grid!important;grid-template-columns:1fr!important}
  .portal-grid-v28>a,.portal-grid-v19>a,.portal-grid>a{display:block!important;min-height:0!important;padding:0 0 28px!important;margin:0 0 28px!important;border-right:0!important;border-bottom:1px solid var(--line)!important;position:relative!important;overflow:hidden!important}
  .portal-grid-v28>a img,.portal-grid-v19>a img,.portal-grid>a img{width:100%!important;height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important;position:static!important;transform:none!important}
  .portal-grid-v28>a>div,.portal-grid-v19>a>div,.portal-grid>a>div{position:static!important;padding:16px 0 0!important;color:var(--ink)!important;background:none!important;transform:none!important}
  .portal-grid-v28>a h2,.portal-grid-v19>a h2,.portal-grid>a h2{font-size:20px!important;line-height:1.3!important;margin:0!important}
  .portal-grid-v28>a p,.portal-grid-v19>a p,.portal-grid>a p{font-size:10px!important;line-height:1.5!important;min-height:0!important;margin:7px 0 0!important}
  .portal-card.is-coming-soon{cursor:default!important;pointer-events:none!important}

  .inner-intro{padding:52px 18px 38px!important;display:block!important}
  .inner-intro h1{font-size:clamp(35px,11vw,52px)!important;line-height:1.1!important;overflow-wrap:anywhere!important}
  .inner-lead{font-size:16px!important;line-height:1.9!important;max-width:100%!important}
  .event-detail,.contact-layout,.profile-grid,.century-lead{min-width:0!important;overflow-wrap:anywhere!important}
  .event-detail figure img,.movie-card img{width:100%!important;height:auto!important;object-fit:contain!important}
  .info-table>div{grid-template-columns:76px minmax(0,1fr)!important;gap:12px!important}
  .info-table dt,.info-table dd{font-size:12px!important;overflow-wrap:anywhere!important}
  .archive-main{padding-left:16px!important;padding-right:16px!important}
  .archive-row{grid-template-columns:76px minmax(0,1fr)!important;gap:10px 14px!important}
  .archive-title{grid-column:1/3!important;min-width:0!important}.archive-title h3{overflow-wrap:anywhere!important}
  .footer,.inner-footer{padding-left:18px!important;padding-right:18px!important}
  .footer nav,.inner-footer nav{display:flex!important;flex-wrap:wrap!important;gap:10px 14px!important}
}
@media(max-width:380px){
  .language{gap:2px!important}.language button{font-size:7px!important;min-width:18px!important;padding:6px 2px!important}
  .brand{max-width:38vw!important}.brand .brand-en,.brand span{font-size:9px!important}
  .home-event-row{grid-template-columns:57px 45px minmax(0,1fr) 10px!important}
}

/* v9 definitive opening layout — intentional line breaks, no accidental wrapping */
.home-page .opening-intro{display:block!important;overflow:hidden!important}
.home-page .opening-intro .intro-line,
.home-page .opening-intro .intro-typewriter{
  position:absolute!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;
  width:auto!important;max-width:calc(100vw - 40px)!important;margin:0!important;text-align:center!important;
  white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;line-height:1.35!important;
}
.home-page .opening-intro .intro-line-1{top:39%!important}
.home-page .opening-intro .intro-line-3{top:50%!important}
.home-page .opening-intro .intro-typewriter{top:68%!important;bottom:auto!important}
.home-page .poem-cinematic .poem-opening,
.home-page .poem-cinematic .poem-journey{word-break:keep-all!important;overflow-wrap:normal!important}
.home-page .poem-cinematic strong{display:block!important;margin-top:4.2em!important}
html[lang="en"] .home-page .opening-intro .intro-line-1{font-size:clamp(12px,3.25vw,45px)!important;letter-spacing:.025em!important}
html[lang="en"] .home-page .opening-intro .intro-line-3{font-size:clamp(16px,3vw,34px)!important}
html[lang="ko"] .home-page .opening-intro .intro-line-1,
html[lang="zh-Hant"] .home-page .opening-intro .intro-line-1{font-size:clamp(17px,4.4vw,42px)!important}
html[lang="th"] .home-page .opening-intro .intro-line-1{font-size:clamp(13px,3.45vw,36px)!important;letter-spacing:0!important}
html[lang="th"] .home-page .opening-intro .intro-line-3{font-size:clamp(15px,3.8vw,32px)!important;letter-spacing:0!important}
@media(max-width:800px){
  .home-page .opening-intro .intro-line,.home-page .opening-intro .intro-typewriter{max-width:calc(100vw - 28px)!important}
  .home-page .opening-intro .intro-line-1{top:37%!important;font-size:clamp(18px,5.5vw,25px)!important}
  .home-page .opening-intro .intro-line-3{top:49%!important;font-size:clamp(17px,5vw,23px)!important}
  .home-page .opening-intro .intro-typewriter{top:69%!important;font-size:clamp(20px,5.8vw,27px)!important}
  html[lang="en"] .home-page .opening-intro .intro-line-1{font-size:clamp(10px,3.25vw,14px)!important}
  html[lang="en"] .home-page .opening-intro .intro-line-3{font-size:clamp(16px,4.6vw,21px)!important}
  html[lang="th"] .home-page .opening-intro .intro-line-1{font-size:clamp(11px,3.2vw,14px)!important}
  html[lang="th"] .home-page .opening-intro .intro-line-3{font-size:clamp(13px,3.8vw,17px)!important}
  .home-page .poem-cinematic strong{margin-top:3.6em!important}
  .home-schedule-list,.portal-grid-v28{min-width:0!important}
  .home-event-row{min-width:0!important;overflow:hidden!important}
  .home-event-row>div{min-width:0!important}
  .home-event-row h3,.home-event-row small,.portal-card h2,.portal-card p{overflow-wrap:anywhere!important;word-break:normal!important}
}

/* =========================================================
   FINAL RESPONSIVE + MULTILINGUAL STABILITY LAYER
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,video,svg{max-width:100%}

/* Avoid character-by-character breaks while still allowing long Latin/Thai copy. */
h1,h2,h3,h4,.archive-title,.event-header h1,.live-clean-detail h2,.media-copy h2,.story-card h2,.portal-card h2,.news-rows strong,.home-event-row h3{
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:balance;
  hyphens:none;
}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3,
html[lang="en"] .news-rows strong,html[lang="th"] .news-rows strong,
html[lang="en"] .home-event-row h3,html[lang="th"] .home-event-row h3{
  word-break:normal;
  overflow-wrap:break-word;
}

/* Opening: three deliberate phrases; the final phrase sits distinctly lower. */
.home-page .opening-intro p{
  left:50%!important;
  right:auto!important;
  width:min(88vw,980px)!important;
  max-width:min(88vw,980px)!important;
  padding:0 20px!important;
  text-align:center!important;
  transform:translateX(-50%)!important;
  white-space:nowrap!important;
  line-height:1.55!important;
}
.home-page .intro-line-1,
.home-page .intro-line-3{
  top:43%!important;
  bottom:auto!important;
  font-size:clamp(25px,3.2vw,48px)!important;
  letter-spacing:.07em!important;
}
.home-page .intro-typewriter{
  top:64%!important;
  bottom:auto!important;
  font-size:clamp(25px,3.2vw,48px)!important;
  letter-spacing:.12em!important;
  min-width:0!important;
}
.home-page .intro-typewriter.is-typing{transform:translateX(-50%)!important}
.home-page .poem-cinematic strong{display:block;margin-top:2.8em!important}

/* Home news: do not force titles into narrow columns. */
.news-rows a{grid-template-columns:112px 104px minmax(0,1fr) 24px!important;gap:18px!important;align-items:center}
.news-rows strong{min-width:0;line-height:1.55}

/* Stable home schedule rows. */
.home-event-row{grid-template-columns:108px 110px minmax(0,1fr) 24px!important;gap:22px!important}
.home-event-row>div{min-width:0}
.home-event-row h3{max-width:100%;line-height:1.45}
.home-event-row div small{display:block;max-width:100%;overflow-wrap:break-word}

/* Content cards: headings stay inside image cards. */
.portal-card>div{min-width:0}
.portal-card h2{font-size:clamp(27px,3.5vw,50px)!important;max-width:100%;line-height:1.05!important}
.portal-card p{line-height:1.4}

/* Inner pages. */
.event-header h1,.live-clean-detail h2,.story-detail-header h1,.media-copy h2{
  font-size:clamp(28px,4.2vw,58px)!important;
  line-height:1.18!important;
  max-width:100%;
}
.event-section-body,.event-facts dd,.live-clean-detail p,.media-copy p,.story-detail-content p{overflow-wrap:break-word}
.archive-row{min-width:0}
.archive-title,.archive-place{min-width:0}

@media(max-width:760px){
  .site-header{padding-left:18px!important;padding-right:18px!important}
  .brand-en{font-size:12px!important;letter-spacing:.08em!important}
  .header-socials{display:none!important}
  .language{gap:2px!important}
  .language button{font-size:9px!important;padding:7px 5px!important;min-width:27px}

  .home-page .opening-intro p{
    width:92vw!important;
    max-width:92vw!important;
    padding:0 12px!important;
    white-space:nowrap!important;
    font-size:clamp(19px,5.35vw,25px)!important;
    letter-spacing:.045em!important;
  }
  html[lang="en"] .home-page .opening-intro p,
  html[lang="th"] .home-page .opening-intro p{
    font-size:clamp(18px,4.8vw,22px)!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-wrap:balance;
    line-height:1.5!important;
  }
  .home-page .intro-line-1,.home-page .intro-line-3{top:42%!important}
  .home-page .intro-typewriter{top:63%!important}
  .home-page .opening-copy{padding-left:20px!important;padding-right:20px!important}
  .home-page .poem-cinematic .poem-opening,
  .home-page .poem-cinematic .poem-journey,
  .home-page .poem-cinematic strong{
    max-width:100%;word-break:keep-all;overflow-wrap:normal;text-wrap:balance;
  }
  html[lang="en"] .home-page .poem-cinematic p,
  html[lang="th"] .home-page .poem-cinematic p{word-break:normal;overflow-wrap:break-word}

  .section-label{gap:12px!important}
  .section-label h2{font-size:clamp(22px,7vw,31px)!important;line-height:1.05!important;white-space:nowrap}
  .section-label>a{white-space:nowrap;font-size:9px!important}

  .news-rows a{
    grid-template-columns:1fr 20px!important;
    grid-template-areas:"meta arrow" "title arrow"!important;
    gap:7px 12px!important;
    padding:20px 0!important;
  }
  .news-rows time{grid-area:meta;display:inline-block;margin-right:10px}
  .news-rows .tag{grid-area:meta;display:inline-flex;margin-left:92px;width:max-content}
  .news-rows strong{grid-area:title;font-size:15px!important;line-height:1.55!important;padding-right:5px}
  .news-rows i{grid-area:arrow;align-self:center}

  .top-pickup-inner{display:block!important}
  .top-pickup-copy{padding:30px 0 0!important}
  .top-pickup-copy h2{font-size:clamp(31px,10vw,46px)!important;line-height:1.02!important}

  .home-event-row,.home-event-featured{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto!important;
    grid-template-areas:"date tag arrow" "date body arrow"!important;
    gap:7px 12px!important;
    padding:20px 0!important;
    align-items:start!important;
  }
  .home-event-row time{grid-area:date!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
  .home-event-type{grid-area:tag!important;justify-self:start!important;margin:0!important;max-width:100%;white-space:normal!important;text-align:center;line-height:1.25;padding:5px 8px!important}
  .home-event-row>div{grid-area:body!important;padding:0!important;min-width:0!important}
  .home-event-row>i{grid-area:arrow!important;align-self:center!important;position:static!important}
  .home-event-row h3{font-size:15px!important;line-height:1.45!important;margin-bottom:7px!important}
  .home-event-row div small{font-size:10.5px!important;line-height:1.55!important}
  .home-event-featured{margin-left:-18px!important;margin-right:-18px!important;padding-left:18px!important;padding-right:18px!important}
  .home-schedule-actions{display:flex!important;flex-wrap:wrap;gap:13px 24px!important}

  .portal-grid{grid-template-columns:1fr!important}
  .portal-card,.portal-movie,.portal-music{min-height:54vh!important}
  .portal-card h2{font-size:clamp(29px,10vw,42px)!important}

  .event-layout{display:block!important}
  .event-flyer{margin-bottom:28px!important}
  .event-header h1{font-size:clamp(29px,8.2vw,43px)!important;line-height:1.18!important}
  .event-date-polished{font-size:14px!important}
  .event-facts{grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important}
  .event-facts dt,.event-facts dd{font-size:13px!important;line-height:1.65!important;min-width:0}

  .live-clean-row{grid-template-columns:72px minmax(0,1fr)!important;gap:14px!important}
  .live-clean-detail h2{font-size:23px!important;line-height:1.25!important}
  .live-clean-detail p{font-size:12px!important;line-height:1.65!important}

  .media-card{display:block!important}
  .media-image{margin-bottom:22px!important}
  .media-copy h2{font-size:clamp(25px,8vw,38px)!important}
  .media-actions{display:flex!important;flex-wrap:wrap!important;gap:12px 20px!important}

  .story-grid{grid-template-columns:1fr!important}
  .story-card-copy h2{font-size:clamp(28px,9vw,42px)!important}
  .story-detail{display:block!important}
  .story-detail-art{margin-bottom:25px!important}

  .archive-year-head{gap:12px!important}
  .archive-row{grid-template-columns:92px minmax(0,1fr)!important;gap:14px!important}
  .archive-row>*{min-width:0}
  .archive-title{font-size:15px!important;line-height:1.45!important}
  .archive-place{font-size:11px!important;line-height:1.5!important}

  .disc-head,.disc-detail{min-width:0}
  .disc-title{font-size:clamp(25px,8vw,40px)!important;line-height:1.15!important}
  .track-list li{grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important}

  .contact-layout{display:block!important}
  .contact-form{margin-top:35px!important}
  .contact-form input,.contact-form textarea,.contact-form select{width:100%;min-width:0}
}

@media(max-width:390px){
  .language button{padding:6px 4px!important;min-width:25px!important}
  .home-page .opening-intro p{font-size:18px!important;width:94vw!important;max-width:94vw!important}
  html[lang="en"] .home-page .opening-intro p,html[lang="th"] .home-page .opening-intro p{font-size:16.5px!important}
  .section-label h2{font-size:22px!important}
  .news-rows .tag{margin-left:88px}
  .home-event-row,.home-event-featured{grid-template-columns:62px minmax(0,1fr) 16px!important;gap:7px 10px!important}
  .home-event-row h3{font-size:14px!important}
  .event-facts{grid-template-columns:72px minmax(0,1fr)!important}
}

/* =========================================================
   2026-08-07 mobile typography balance refinement
   ========================================================= */
@media (max-width:800px){

  /* Global mobile rhythm */
  body{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  .home-page section,
  .inner-page main{
    text-rendering:optimizeLegibility;
  }

  /* Major section headings */
  .home-page .section-label,
  .home-page .section-head h2,
  .home-page section > h2,
  .inner-page h1{
    line-height:1.12!important;
    letter-spacing:.02em!important;
  }

  /* NEWS / SCHEDULE mobile text balance */
  .home-page .news-rows a,
  .home-page .home-event-row{
    line-height:1.55!important;
  }

  .home-page .news-rows h3,
  .home-page .home-event-row h3{
    font-size:17px!important;
    line-height:1.55!important;
    letter-spacing:.01em!important;
  }

  .home-page .news-rows p,
  .home-page .home-event-row p,
  .home-page .home-event-row small{
    line-height:1.6!important;
  }

  /* CONTENTS cards: uniform centering */
  .home-page .portal-grid,
  .home-page .contents-grid{
    align-items:stretch!important;
  }

  .home-page .portal-card,
  .home-page .contents-card,
  .home-page .content-card{
    text-align:center!important;
  }

  .home-page .portal-card .portal-copy,
  .home-page .portal-card .portal-body,
  .home-page .contents-card .portal-copy,
  .home-page .contents-card .portal-body,
  .home-page .content-card .portal-copy,
  .home-page .content-card .portal-body{
    width:100%!important;
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .home-page .portal-card h3,
  .home-page .portal-card h2,
  .home-page .contents-card h3,
  .home-page .contents-card h2,
  .home-page .content-card h3,
  .home-page .content-card h2{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    font-size:clamp(20px,6vw,27px)!important;
    line-height:1.25!important;
    letter-spacing:.025em!important;
  }

  .home-page .portal-card p,
  .home-page .contents-card p,
  .home-page .content-card p,
  .home-page .portal-card span,
  .home-page .contents-card span,
  .home-page .content-card span{
    text-align:center!important;
  }

  /* Explicitly center DISCOGRAPHY and CONTACT content labels */
  .home-page a[href="music.html"],
  .home-page a[href="contact.html"]{
    text-align:center!important;
  }

  .home-page a[href="music.html"] h2,
  .home-page a[href="music.html"] h3,
  .home-page a[href="music.html"] p,
  .home-page a[href="music.html"] span,
  .home-page a[href="contact.html"] h2,
  .home-page a[href="contact.html"] h3,
  .home-page a[href="contact.html"] p,
  .home-page a[href="contact.html"] span{
    width:100%!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Inner pages: stop awkward oversized wraps */
  .inner-page .inner-intro h1,
  .story-intro h1,
  .live-clean-intro h1{
    font-size:clamp(38px,11vw,56px)!important;
    line-height:1.05!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }

  .inner-page h2{
    line-height:1.35!important;
  }

  .inner-page p,
  .inner-page dd,
  .inner-page li{
    line-height:1.75!important;
  }

  /* Live detail titles */
  .event-header h1,
  .detail-hero h1,
  .event-detail h1{
    font-size:clamp(27px,7.4vw,38px)!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }

  /* Discography */
  .disc-head strong{
    font-size:20px!important;
    line-height:1.35!important;
  }

  /* Media */
  .media-copy h2{
    font-size:23px!important;
    line-height:1.4!important;
  }
}

@media (max-width:420px){
  .home-page .news-rows h3,
  .home-page .home-event-row h3{
    font-size:16px!important;
  }

  .home-page .portal-card h3,
  .home-page .portal-card h2,
  .home-page .contents-card h3,
  .home-page .contents-card h2,
  .home-page .content-card h3,
  .home-page .content-card h2{
    font-size:21px!important;
  }

  .event-header h1,
  .detail-hero h1,
  .event-detail h1{
    font-size:26px!important;
  }
}

/* =========================================================
   MOBILE ONLY — LIVE schedule/layout cleanup
   ========================================================= */
@media (max-width:800px){

  /* TOP SCHEDULE: every row exactly same outer width */
  .home-page .home-schedule-list,
  .home-page .home-event-list,
  .home-page #schedule,
  .home-page .schedule-section{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .home-page .home-event-row,
  .home-page a.home-event-row,
  .home-page .home-event-row.featured,
  .home-page .home-event-row.pickup,
  .home-page .home-event-row.is-featured{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* Prevent 50th or any long schedule text from widening the row */
  .home-page .home-event-row > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .home-page .home-event-row > div{
    overflow:hidden!important;
  }

  .home-page .home-event-row h3{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }

  /* All schedule arrows same size / line box */
  .home-page .home-event-row > i,
  .home-page .home-event-row .arrow,
  .home-page .home-event-row [aria-hidden="true"]{
    flex:0 0 auto!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    font-size:18px!important;
    line-height:1!important;
    font-style:normal!important;
    text-align:center!important;
    transform:none!important;
  }

  /* LIVE SCHEDULE page: no horizontal overflow */
  .live-clean,
  .live-clean-page,
  .live-clean .upcoming-clean{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  .live-clean-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .live-clean-row > *{
    min-width:0!important;
  }

  .live-clean-main{
    overflow:hidden!important;
  }

  .live-clean-main h3,
  .live-clean-main p,
  .live-clean-main details,
  .live-clean-main summary{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }

  .live-clean-main h3{
    font-size:18px!important;
    line-height:1.55!important;
  }

  .live-clean-main p{
    font-size:13px!important;
    line-height:1.7!important;
  }

  .live-clean-tag{
    max-width:100%!important;
  }

  .live-clean-detail{
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Detail pages: clean wrapping */
  .event-header,
  .event-content,
  .event-facts,
  .event-section,
  .event-section-body,
  .event-layout{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .event-header h1{
    max-width:100%!important;
    font-size:28px!important;
    line-height:1.5!important;
    letter-spacing:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }

  .event-facts>div{
    align-items:start!important;
  }

  .event-facts dt,
  .event-facts dd{
    min-width:0!important;
  }

  .event-facts dd,
  .event-section-body,
  .event-section-body p{
    font-size:14px!important;
    line-height:1.8!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  .event-section h2{
    font-size:20px!important;
    line-height:1.3!important;
  }
}

@media (max-width:560px){

  /* Mobile LIVE list: fixed readable two-column rhythm */
  .live-clean-row{
    display:grid!important;
    grid-template-columns:60px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:10px!important;
    align-items:start!important;
  }

  .live-clean-date{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    width:60px!important;
  }

  .live-clean-date strong{
    font-size:22px!important;
  }

  .live-clean-thumb{
    grid-column:2!important;
    width:min(38vw,132px)!important;
    height:auto!important;
    aspect-ratio:3/4!important;
    justify-self:start!important;
  }

  .live-clean-main{
    grid-column:2!important;
    width:100%!important;
  }

  .live-clean-detail{
    grid-column:2!important;
    justify-self:start!important;
    padding:6px 0!important;
    font-size:12px!important;
  }

  /* Detail headings at narrow widths */
  .event-header h1{
    font-size:25px!important;
    line-height:1.52!important;
  }

  .event-facts>div{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:10px!important;
  }

  /* TOP schedule arrows stay identical on small phones */
  .home-page .home-event-row > i,
  .home-page .home-event-row .arrow,
  .home-page .home-event-row [aria-hidden="true"]{
    width:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    font-size:16px!important;
  }
}

/* =========================================================
   MOBILE ONLY — semantic fixed title line breaks
   Desktop remains unchanged.
   ========================================================= */
.title-desktop{display:inline;}
.title-mobile{display:none;}

@media (max-width:800px){
  .title-desktop{display:none!important;}
  .title-mobile{
    display:inline!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }

  .title-mobile br{
    display:block!important;
  }

  .home-page .home-event-row h3 .title-mobile,
  .live-clean-main h3 .title-mobile,
  .event-header h1 .title-mobile{
    width:100%!important;
  }

  /* Don't let browser invent extra ugly breaks inside each designed line */
  .home-page .home-event-row h3,
  .live-clean-main h3,
  .event-header h1{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
}

@media (max-width:390px){
  /* preserve semantic lines even on narrow phones */
  .title-mobile{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
}

/* =========================================================
   MOBILE ONLY — NEWS repaired using original 3-column layout
   ========================================================= */
@media (max-width:800px){
  .home-page .news-rows{
    display:block!important;
    width:100%!important;
  }

  .home-page .news-rows a{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:4px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    padding:17px 0!important;
    box-sizing:border-box!important;
  }

  .home-page .news-rows time{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    margin:1px 0 0!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.06em!important;
    white-space:nowrap!important;
  }

  .home-page .news-rows .tag{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    font-size:8px!important;
    line-height:1.3!important;
    letter-spacing:.10em!important;
  }

  .home-page .news-rows strong{
    grid-column:2!important;
    grid-row:2!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.55!important;
    font-weight:400!important;
    letter-spacing:0!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }

  .home-page .news-rows i{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:end!important;
    width:18px!important;
    min-width:18px!important;
    font-size:16px!important;
    line-height:1!important;
    text-align:center!important;
    font-style:normal!important;
  }
}

@media (max-width:390px){
  .home-page .news-rows a{
    grid-template-columns:70px minmax(0,1fr) 16px!important;
    column-gap:10px!important;
  }

  .home-page .news-rows strong{
    font-size:13.5px!important;
  }

  .home-page .news-rows i{
    width:16px!important;
    min-width:16px!important;
    font-size:15px!important;
  }
}
