:root{--curtain-black:#08160f;--curtain-deep:#0e2417;--curtain:#17402a;--curtain-mid:#1f5236;--curtain-light:#2b6a44;--gold-deep:#9a7822;--gold:#c9a227;--gold-bright:#e8c86e;--gold-pale:#f4e6b0;--gold-grad:linear-gradient(180deg, #f7ecbb 0%, #e8c86e 30%, #c9a227 52%, #9a7822 62%, #e0bd66 100%);--ivory:#f6efdd;--ivory-dim:#e6dcc2;--parchment:#efe6cf;--ink:#2b1208;--ink-soft:#5a3a24;--maxw:1160px;--ease:cubic-bezier(.22, 1, .36, 1);--font-display:var(--font-playfair), Georgia, serif;--font-serif:var(--font-cormorant), Georgia, serif;--font-jp:var(--font-shippori), "Hiragino Mincho ProN", "Yu Mincho", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}body{color:var(--ivory);background:var(--curtain-black);font-family:var(--font-jp);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;line-height:1.85;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.velvet{background-color:var(--curtain-deep);background-image:radial-gradient(140% 90% at 50% -10%,#0000008c,#0000 55%),repeating-linear-gradient(90deg,#0e2417 0,#17402a 26px,#1f5236 52px,#133620 78px,#0e2417 104px)}.velvet-dark{background-color:var(--curtain-black);background-image:radial-gradient(120% 80% at 50% 0,#10342299,#0000 60%),repeating-linear-gradient(90deg,#061710 0,#0e2417 30px,#143620 60px,#0b2014 90px,#061710 120px)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:96px 0;position:relative}.gold-text{background:var(--gold-grad);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{font-family:var(--font-serif);letter-spacing:.55em;text-transform:uppercase;color:var(--gold-bright);margin:0 0 14px;padding-left:.55em;font-size:.98rem}.section-title{font-family:var(--font-jp);letter-spacing:.12em;color:var(--ivory);margin:0 0 8px;font-size:clamp(1.9rem,4.4vw,3rem);font-weight:700;line-height:1.35}.section-head{text-align:center;margin-bottom:56px}.rule{color:var(--gold);align-items:center;gap:14px;margin-top:18px;display:inline-flex}.rule:before,.rule:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:64px;height:1px}.rule .diamond{background:var(--gold-bright);width:8px;height:8px;transform:rotate(45deg);box-shadow:0 0 10px #e8c86e99}.gold-frame{border:1px solid #c9a22780;box-shadow:inset 0 0 0 4px #c9a2271f,inset 0 0 44px #0006}.nav{z-index:100;transition:background .4s var(--ease), box-shadow .4s var(--ease), backdrop-filter .4s var(--ease);position:fixed;inset:0 0 auto}.nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081810db;box-shadow:0 1px #c9a22759,0 10px 30px #0006}.nav-inner{justify-content:space-between;align-items:center;gap:18px;height:68px;display:flex}.nav-brand{font-family:var(--font-jp);letter-spacing:.16em;color:var(--ivory);white-space:nowrap;font-size:1.12rem;font-weight:700}.nav-brand small{font-family:var(--font-serif);letter-spacing:.42em;color:var(--gold-bright);margin-top:-2px;font-size:.62rem;display:block}.nav-links{align-items:center;gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{letter-spacing:.14em;color:var(--ivory-dim);font-size:.88rem;transition:color .25s;position:relative}.nav-links a:after{content:"";background:var(--gold-bright);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:-6px;left:0}.nav-links a:hover{color:var(--gold-pale)}.nav-links a:hover:after{width:100%}.nav-cta{border:1px solid var(--gold);letter-spacing:.16em;color:var(--gold-pale);transition:all .3s var(--ease);white-space:nowrap;border-radius:2px;padding:9px 20px;font-size:.82rem}.nav-cta:hover{background:var(--gold-grad);color:var(--curtain-black)}.nav-end{align-items:center;gap:22px;display:flex}.nav-social{border-left:1px solid #c9a22747;align-items:center;gap:15px;margin:0;padding:0 0 0 22px;list-style:none;display:flex}.nav-social a{color:var(--gold-bright);transition:color .25s var(--ease), transform .25s var(--ease);display:inline-flex}.nav-social a:hover{color:var(--gold-pale);transform:translateY(-2px)}.nav-social svg{width:20px;height:20px;display:block}.nav-toggle{color:var(--gold-pale);cursor:pointer;background:0 0;border:none;padding:6px;display:none}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(28px,5vh,60px);min-height:100svh;padding:96px 20px 74px;display:flex;position:relative;overflow:hidden}.hero.stage{background-color:#0c2416;background-image:url(/hero/kumagawa-bridge.webp);background-position:50% 66%;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #c9a22780;box-shadow:inset 0 -30px 60px #04100a8c}.stage-video{z-index:0;object-fit:cover;object-position:center 60%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage-spot{z-index:1;pointer-events:none;background:radial-gradient(62% 40% at 50% 22%,#ffe8aa24,#0000 70%);position:absolute;inset:0}.stage-scrim{z-index:2;pointer-events:none;background:linear-gradient(#05100bc7 0%,#05100b75 28%,#05100b57 52%,#05100b80 78%,#06140dd6 100%),radial-gradient(120% 78% at 50% 42%,#0000 40%,#040e0985 100%);position:absolute;inset:0}.hero-inner{z-index:5;width:100%;max-width:940px;position:relative}.hero-edition{font-family:var(--font-jp);letter-spacing:.42em;color:var(--gold-pale);margin:0 0 10px;padding-left:.42em;font-size:clamp(1rem,2.4vw,1.35rem)}.hero-title{font-family:var(--font-jp);letter-spacing:.06em;text-shadow:0 6px 40px #0009;margin:0;font-size:clamp(2.4rem,8.2vw,4.6rem);font-weight:800;line-height:1.04}.hero-banner{max-width:860px;margin:clamp(18px,3vh,32px) auto 0;line-height:0;box-shadow:0 24px 60px #04100a9e}.hero-banner picture,.hero-banner-img{width:100%;height:auto;display:block}.hero-cta{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:clamp(20px,3vh,30px);display:flex}.btn{font-family:var(--font-jp);letter-spacing:.16em;cursor:pointer;transition:all .3s var(--ease);border:1px solid var(--gold);border-radius:2px;align-items:center;gap:10px;padding:14px 34px;font-size:.94rem;display:inline-flex}.btn-gold{background:var(--gold-grad);color:var(--curtain-black);font-weight:700;box-shadow:0 8px 26px #c9a22752}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 34px #c9a22773}.btn-ghost{color:var(--gold-pale);background:0 0}.btn-ghost:hover{background:#c9a2271f;transform:translateY(-2px)}.scroll-cue{z-index:5;font-family:var(--font-serif);letter-spacing:.4em;color:var(--gold-bright);flex-direction:column;align-items:center;gap:8px;font-size:.66rem;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-cue span.line{background:linear-gradient(var(--gold-bright), transparent);width:1px;height:46px;animation:cueDrop 2.2s var(--ease) infinite}@keyframes cueDrop{0%{transform-origin:top;opacity:0;transform:scaleY(0)}40%{transform-origin:top;opacity:1;transform:scaleY(1)}70%{transform-origin:bottom;opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(0)}}.filmstrip-wrap{z-index:4;width:100%;max-width:1300px;position:relative}.filmstrip{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.cut{aspect-ratio:9/16;animation:cutRise .8s var(--ease) both;background:#0c2016;border:1px solid #c9a2278c;margin:0;position:relative;overflow:hidden;box-shadow:0 20px 44px #04100a8c}.cut:first-child{animation-delay:50ms}.cut:nth-child(2){animation-delay:.14s}.cut:nth-child(3){animation-delay:.23s}.cut:nth-child(4){animation-delay:.32s}.cut:nth-child(5){animation-delay:.41s}@keyframes cutRise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.cut-media{position:absolute;inset:0}.cut-img,.cut-video{object-fit:cover;width:100%;height:100%}.cut-ph{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.cut-ph svg{opacity:.92;filter:drop-shadow(0 6px 16px #00000073);width:46%;height:auto}.cut-ph-tag{font-family:var(--font-serif);letter-spacing:.34em;color:#f4e6b0b3;font-size:.6rem}.cut.tone-river .cut-ph{color:#e2f4ffeb;background:linear-gradient(#3079b0 0%,#1d4f7c 58%,#123a5e 100%)}.cut.tone-stage .cut-ph{color:#f4e6b0e6;background:linear-gradient(#164229 0%,#1c4d30 52%,#08160f 100%)}.cut.tone-lesson .cut-ph{color:#f4e6b0f0;background:linear-gradient(#7a5320 0%,#4f3416 58%,#2c1c0a 100%)}.cut-img,.cut-ph{will-change:transform;animation:24s ease-in-out infinite alternate kb-a}.cut:nth-child(2) .cut-img,.cut:nth-child(2) .cut-ph{animation-name:kb-b;animation-duration:27s;animation-delay:-6s}.cut:nth-child(3) .cut-img,.cut:nth-child(3) .cut-ph{animation-name:kb-a;animation-duration:22s;animation-delay:-11s}.cut:nth-child(4) .cut-img,.cut:nth-child(4) .cut-ph{animation-name:kb-b;animation-duration:26s;animation-delay:-4s}.cut:nth-child(5) .cut-img,.cut:nth-child(5) .cut-ph{animation-name:kb-a;animation-duration:23s;animation-delay:-9s}@keyframes kb-a{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.11)translate(-1.4%,-1.6%)}}@keyframes kb-b{0%{transform:scale(1.04)translate(0)}to{transform:scale(1.11)translate(1.4%,-1.2%)}}.cut:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(115deg,#0000 38%,#ffffff24 48%,#ffffff0d 55%,#0000 63%);animation:8.5s ease-in-out infinite sheen;position:absolute;inset:0;transform:translate(-120%)}.cut:nth-child(2):after{animation-delay:1.1s}.cut:nth-child(3):after{animation-delay:2.2s}.cut:nth-child(4):after{animation-delay:3.3s}.cut:nth-child(5):after{animation-delay:4.4s}@keyframes sheen{0%{transform:translate(-120%)}22%{transform:translate(120%)}to{transform:translate(120%)}}.cut-label{z-index:2;text-align:center;background:linear-gradient(#0000 0%,#05100b8c 48%,#05100bf0 100%);padding:34px 12px 14px;position:absolute;bottom:0;left:0;right:0}.cut-role{font-family:var(--font-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:5px;font-size:.64rem;display:block}.cut-name{font-family:var(--font-jp);letter-spacing:.08em;color:var(--ivory);font-size:clamp(.9rem,1.3vw,1.06rem);font-weight:700;line-height:1.3;display:block}.cut-sub{letter-spacing:.14em;color:var(--ivory-dim);margin-top:3px;font-size:.7rem;display:block}.concept{text-align:center}.concept .lead{font-family:var(--font-jp);letter-spacing:.14em;max-width:20em;margin:0 auto 30px;font-size:clamp(1.5rem,3.6vw,2.4rem);font-weight:600;line-height:1.9}.concept p{max-width:42em;color:var(--ivory-dim);margin:0 auto;font-size:1.02rem}.concept .accent{color:var(--gold-bright)}.bands{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.band{min-height:460px;transition:transform .5s var(--ease), box-shadow .5s var(--ease);background:linear-gradient(#06140d1a 0%,#06140de6 78%),repeating-linear-gradient(90deg,#0c2417 0,#143a26 14px,#1a4d30 28px,#103420 42px,#0c2417 56px);border:1px solid #c9a22766;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.band:hover{transform:translateY(-8px);box-shadow:0 24px 50px #00000080}.band .band-art{color:#e8c86ee6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.band .band-art svg{filter:drop-shadow(0 6px 20px #00000080);opacity:.92;width:62%;height:auto}.band.has-photo{aspect-ratio:2/3;min-height:0}.band .band-photo{object-fit:cover;object-position:50% 30%;filter:saturate(.94)contrast(1.04);width:100%;height:100%;transition:transform .8s var(--ease);transform:scale(1.02)}.band:hover .band-photo{transform:scale(1.07)}.band.has-photo .band-art:after{content:"";pointer-events:none;background:radial-gradient(120% 70% at 50% 8%,#c9a2271f,#0000 62%),linear-gradient(#091e146b 0%,#06140d0f 32%,#06140d9e 70%,#04100bf2 100%);position:absolute;inset:0}.band .glow{pointer-events:none;background:radial-gradient(#ffe8b438,#0000 70%);width:78%;height:44%;position:absolute;top:12%;left:50%;transform:translate(-50%)}.band .ribbon{z-index:2;background:var(--gold-grad);color:var(--curtain-black);text-align:center;margin:0 -6px 34px;padding:12px 22px;position:relative;transform:rotate(-4deg);box-shadow:0 10px 24px #0006}.band .ribbon .role{font-family:var(--font-serif);letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;font-weight:600;display:block}.band .ribbon .who{font-family:var(--font-jp);letter-spacing:.14em;font-size:1.5rem;font-weight:800;line-height:1.25;display:block}.band .band-note{z-index:2;text-align:center;color:var(--ivory-dim);letter-spacing:.06em;padding:0 20px 24px;font-size:.86rem;position:relative}.band .band-site{font-family:var(--font-serif);letter-spacing:.16em;color:var(--gold-bright);transition:color .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #c9a22773;align-items:center;gap:5px;margin-top:8px;padding-bottom:1px;font-size:.74rem;display:inline-flex}.band .band-note:has(.band-site){flex-direction:column;align-items:center;display:flex}.band .band-site span{font-size:.9em}.band .band-site:hover{color:var(--gold-pale);border-color:var(--gold-bright)}.band .credit{z-index:2;letter-spacing:.1em;color:#f6efdd66;font-size:.6rem;position:absolute;bottom:8px;right:10px}.movie-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.movie-cut{margin:0}.movie-frame{aspect-ratio:16/9;background:#0c2016;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #c9a2271f,inset 0 0 44px #0006,0 18px 38px #04100a80}.movie-video{object-fit:cover;width:100%;height:100%;display:block}.movie-frame:after{content:"";pointer-events:none;background:radial-gradient(118% 88% at 50% 42%,#0000 52%,#04100b80 100%);position:absolute;inset:0}.movie-cap{text-align:center;margin-top:12px}.movie-role{font-family:var(--font-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:4px;font-size:.64rem;display:block}.movie-jp{letter-spacing:.14em;color:var(--ivory-dim);font-size:.78rem;display:block}.movie-note{text-align:center;letter-spacing:.08em;color:#f6efdd99;margin:34px 0 0;font-size:.82rem}.programs{grid-template-columns:1fr 1fr;gap:28px;display:grid}.pcard{background:linear-gradient(#0b221699,#06120ccc);border:1px solid #c9a2276b;padding:40px 34px 36px;position:relative;overflow:hidden}.pcard:before{content:"";pointer-events:none;border:1px solid #c9a2272e;position:absolute;inset:8px}.pcard .day-tag{font-family:var(--font-serif);letter-spacing:.44em;color:var(--gold-bright);border:1px solid #c9a22780;margin-bottom:20px;padding:5px 16px;font-size:.72rem;display:inline-block}.pcard .p-date{font-family:var(--font-display);align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.pcard .p-date .num{color:var(--ivory);font-size:3.2rem;line-height:1}.pcard .p-date .dow{letter-spacing:.2em;color:var(--gold-bright);font-size:1rem}.pcard .p-venue{font-family:var(--font-jp);letter-spacing:.08em;color:var(--gold-pale);margin:8px 0 4px;font-size:1.16rem;font-weight:600}.pcard .p-time{color:var(--ivory-dim);margin-bottom:22px;font-size:.9rem}.pcard .p-time b{color:var(--ivory);font-weight:600}.pcard .p-divider{background:linear-gradient(90deg, var(--gold), transparent);height:1px;margin:0 0 20px}.pcard .p-recital{font-family:var(--font-jp);letter-spacing:.06em;color:var(--ivory);margin:0 0 14px;font-size:1.06rem;font-weight:700}.pcard .p-recital small{letter-spacing:.3em;color:var(--gold-bright);margin-bottom:4px;font-size:.72rem;font-weight:400;display:block}.pcard ul.repertoire{margin:0;padding:0;list-style:none}.pcard ul.repertoire li{color:var(--ivory-dim);margin-bottom:8px;padding-left:22px;font-size:.94rem;position:relative}.pcard ul.repertoire li:before{content:"♪";color:var(--gold-bright);position:absolute;left:0}.pcard ul.repertoire li b{color:var(--ivory);font-weight:600}.pcard .p-etc{color:#f6efdd8c;margin-top:4px;padding-left:22px;font-size:.8rem}.charity-section{text-align:center}.charity-plaque{background:#06140d80;border:1px solid #c9a2278c;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0 0 28px;padding:10px 22px;display:inline-flex;box-shadow:inset 0 0 0 3px #c9a2271a}.charity-plaque-tag{font-family:var(--font-serif);letter-spacing:.3em;text-transform:uppercase;color:var(--curtain-black);white-space:nowrap;background:linear-gradient(#f7ecbb,#e2c069);padding:5px 12px 4px;font-size:.66rem}.charity-plaque-text{font-family:var(--font-jp);letter-spacing:.1em;color:var(--ivory);font-size:clamp(.82rem,1.9vw,.98rem)}.charity-plaque-text b{color:var(--gold-bright);font-weight:700}.charity-lead{max-width:34em;color:var(--ivory);margin:0 auto 20px;font-size:.95rem;line-height:2}.charity-lead b{color:var(--gold-bright);font-weight:700}.charity-section .fine{color:#f6efdd99;max-width:40em;margin:0 auto;font-size:.82rem}.info-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.info-card{background:#07160e6b;border:1px solid #c9a22759;padding:32px 30px}.info-card h3{font-family:var(--font-jp);letter-spacing:.1em;color:var(--gold-pale);margin:0 0 6px;font-size:1.2rem}.info-card .tagline{font-family:var(--font-serif);letter-spacing:.34em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:16px;font-size:.72rem}.info-card dl{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.info-card dt{color:var(--gold-bright);letter-spacing:.08em;white-space:nowrap;font-size:.84rem}.info-card dd,.info-card p{color:var(--ivory-dim);margin:0;font-size:.92rem}.info-card .free{letter-spacing:.2em;color:var(--curtain-black);background:var(--gold-grad);margin-top:14px;padding:3px 12px;font-size:.74rem;display:inline-block}.access-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.venue{background:linear-gradient(#0b241780,#06140db3);border:1px solid #c9a22766;padding:30px}.venue .vday{font-family:var(--font-serif);letter-spacing:.4em;color:var(--gold-bright);font-size:.72rem}.venue h3{font-family:var(--font-jp);letter-spacing:.08em;color:var(--ivory);margin:6px 0 16px;font-size:1.34rem}.venue .addr{color:var(--ivory-dim);margin:0 0 6px;font-size:.92rem}.venue .meta{color:var(--gold-pale);border-top:1px solid #c9a22738;align-items:center;gap:10px;margin-top:12px;padding-top:12px;font-size:.9rem;display:flex}.venue .meta .tag{letter-spacing:.1em;color:var(--gold-bright);border:1px solid #c9a22766;padding:2px 10px;font-size:.72rem}.support{text-align:center}.support .lines{max-width:60em;margin:0 auto}.support-row{border-bottom:1px solid #c9a22729;padding:20px 0}.support-row:last-child{border-bottom:none}.support-row .lbl{font-family:var(--font-serif);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:8px;font-size:.74rem}.support-row .val{color:var(--ivory-dim);letter-spacing:.04em;font-size:.94rem}.support-row.big .val{font-family:var(--font-jp);color:var(--ivory);letter-spacing:.1em;font-size:1.16rem;font-weight:600}.sponsor-list{background:#07160e8c;max-width:60em;margin:44px auto 0;padding:34px clamp(20px,4vw,44px)}.sponsor-list-title{font-family:var(--font-jp);letter-spacing:.2em;color:var(--gold-pale);margin:0 0 24px;font-size:1.02rem}.sponsor-names{columns:15em;text-align:left;column-gap:30px;margin:0;padding:0;list-style:none}.sponsor-names li{break-inside:avoid;letter-spacing:.04em;color:var(--ivory-dim);text-indent:-1em;padding-left:1em;font-size:.9rem;line-height:1.95}.sponsor-list-note{text-align:right;letter-spacing:.16em;color:#f6efdd99;margin:24px 0 0;font-size:.78rem}.sponsor-list-thanks{font-family:var(--font-jp);letter-spacing:.14em;color:var(--gold-bright);margin:12px 0 0;font-size:.95rem}.contact{text-align:center;position:relative}.contact .card{background:#07160e8c;border:1px solid #c9a22780;max-width:640px;margin:0 auto;padding:48px 40px}.contact .card .who{color:var(--ivory-dim);letter-spacing:.1em;font-size:.9rem}.contact .card .who b{color:var(--gold-pale);font-weight:600}.contact .card .tel{font-family:var(--font-display);color:var(--ivory);letter-spacing:.04em;align-items:center;gap:12px;margin:14px 0 6px;font-size:clamp(2rem,6vw,3rem);display:inline-flex}.contact .card .tel svg{color:var(--gold-bright)}.contact .card .org{color:var(--gold-bright);letter-spacing:.14em;font-size:.86rem}.footer{text-align:center;border-top:1px solid #c9a2274d;padding:46px 0 40px}.footer .fbrand{font-family:var(--font-jp);letter-spacing:.18em;color:var(--gold-pale);font-size:1.3rem}.footer .fbrand small{font-family:var(--font-serif);letter-spacing:.4em;color:var(--gold-bright);margin-top:4px;font-size:.62rem;display:block}.footer .fmeta{color:#f6efdd80;letter-spacing:.08em;margin-top:16px;font-size:.78rem}.footer .sponsor{letter-spacing:.3em;color:var(--gold-bright);margin-top:10px;font-size:.74rem}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}.ornament{color:var(--gold);justify-content:center;align-items:center;gap:16px;padding:6px 0;display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-deep), transparent);width:min(180px,22vw);height:1px}.ornament svg{width:30px;height:30px}@media (max-width:900px){.programs,.info-grid,.access-grid{grid-template-columns:1fr}.movie-grid{grid-template-columns:minmax(0,520px);justify-content:center;gap:26px}.bands{grid-template-columns:minmax(0,420px);justify-content:center;gap:18px}.band{min-height:340px}.band.has-photo{aspect-ratio:3/4}}@media (max-width:880px){.filmstrip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:60%;grid-auto-flow:column;padding-bottom:10px;overflow-x:auto}.cut{scroll-snap-align:center}}@media (max-width:760px){.hero-banner{max-width:400px}}@media (max-width:520px){.filmstrip{grid-auto-columns:74%;gap:12px}.nav-inner{gap:10px;padding-left:16px;padding-right:16px}.nav-brand{font-size:1.02rem}.nav-brand small{letter-spacing:.22em;font-size:.52rem}.nav-end,.nav-social{gap:12px}.nav-social svg{width:18px;height:18px}}@media (max-width:720px){.section{padding:70px 0}.nav-links{display:none}.nav-toggle{display:inline-flex}.nav-end{gap:14px}.nav-social{border-left:none;gap:13px;padding-left:0}.nav.open .nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081810f7;flex-direction:column;gap:0;padding:8px 0 16px;display:flex;position:absolute;top:68px;left:0;right:0;box-shadow:0 20px 40px #00000080}.nav.open .nav-links li{text-align:center;border-bottom:1px solid #c9a2271f;width:100%;padding:12px 0}.hero{padding-top:88px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important}.reveal{opacity:1;transition:none;transform:none}.stage-video{display:none}}.hero-h1{font-weight:inherit;font-size:inherit;margin:0}.hero-h1 .hero-edition,.hero-h1 .hero-title{display:block}.hero-h1-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fest-summary{text-align:left;background:#07160e6b;max-width:780px;margin:44px auto 0;padding:30px 32px}.fest-summary>div{border-bottom:1px solid #c9a2272e;grid-template-columns:8.5em 1fr;gap:4px 20px;padding:10px 0;display:grid}.fest-summary>div:last-child{border-bottom:0}.fest-summary dt{font-family:var(--font-jp);letter-spacing:.14em;color:var(--gold-bright);font-size:.84rem;line-height:2}.fest-summary dd{color:var(--ivory-dim);margin:0;font-size:.94rem;line-height:1.95}.fest-summary dd b{color:var(--gold-pale);font-weight:700}.fest-summary dd a{color:var(--gold-bright);border-bottom:1px solid #e8c86e66}.faq-list{grid-template-columns:1fr 1fr;gap:22px;display:grid}.faq-item{background:#07160e61;border:1px solid #c9a2274d;height:100%;padding:26px 28px}.faq-q{font-family:var(--font-jp);letter-spacing:.06em;color:var(--gold-pale);margin:0 0 12px;padding-left:1.6em;font-size:1.02rem;font-weight:700;line-height:1.75;position:relative}.faq-q:before{content:"Q";font-family:var(--font-display);color:var(--gold-bright);font-size:1.05rem;position:absolute;top:0;left:0}.faq-a{color:var(--ivory-dim);margin:0;padding-left:1.6em;font-size:.92rem;line-height:2;position:relative}.faq-a:before{content:"A";font-family:var(--font-display);color:#e8c86e8c;font-size:1.05rem;position:absolute;top:0;left:0}.flinks{letter-spacing:.14em;color:var(--ivory-dim);flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:18px 0 0;font-size:.78rem;display:flex}.flinks a{color:#f6efddb8;border-bottom:1px solid #c9a22752;padding-bottom:2px}.flinks a:hover{color:var(--gold-bright)}@media (max-width:900px){.faq-list{grid-template-columns:1fr}.fest-summary{padding:24px 20px}.fest-summary>div{grid-template-columns:1fr;gap:2px}}
