.article-page{color:var(--brand-navy);background:#fff;min-height:100dvh}.article-main{max-width:1180px;animation:article-content-fade-in var(--dur-enter) var(--ease-out);margin:0 auto;padding:48px 24px 116px}@keyframes article-content-fade-in{0%{opacity:.3;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.article-hero h1{letter-spacing:-.045em;overflow-wrap:anywhere;margin:0 0 24px;font-size:clamp(48px,6vw,82px);line-height:1.05}.article-hero p{max-width:610px;font-size:clamp(18px,2vw,21px);line-height:1.55}.article-empty{border:2px solid var(--brand-navy);background:var(--brand-yellow);border-radius:24px;margin-top:48px;padding:clamp(24px,5vw,56px)}.article-empty h2{margin:0 0 12px;font-size:clamp(24px,3vw,36px);line-height:1.25}.article-empty p{margin:0;line-height:1.7}.article-read{text-underline-offset:5px;margin-top:20px;font-weight:700;text-decoration:underline;display:inline-block}.article-detail{max-width:900px}@media (prefers-reduced-motion:no-preference){html:has(.article-detail){scroll-behavior:smooth}}.article-detail .article-hero{margin-top:40px}.article-detail .article-hero p{max-width:none}.article-detail .article-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.2}.article-toc{border:2px solid var(--brand-navy);background:#ffd80024;border-radius:16px;margin-top:40px;padding:24px 28px;scroll-margin-top:24px}.article-toc h2{margin:0 0 14px;font-size:22px;line-height:1.4}.article-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding-left:24px;display:grid}.article-toc li{padding-left:4px;line-height:1.55}.article-toc a{text-underline-offset:4px;font-weight:700;text-decoration:underline}.article-section{border-top:2px solid var(--brand-navy);margin-top:48px;padding-top:32px;scroll-margin-top:32px}.article-section-title{text-wrap:unset;overflow-wrap:anywhere;width:100%;max-width:none;margin:0 0 20px;font-size:clamp(26px,3.5vw,36px);line-height:1.45}.article-event-detail strong{font-weight:700}.article-poster,.article-video{margin:28px 0 32px}.article-video video{background:#111;width:100%;max-width:540px;height:auto;margin:16px auto;display:block}.article-video figcaption{text-align:center;font-size:13px;line-height:1.6}.article-poster-media{width:100%;margin:0 auto;position:relative;overflow:hidden}.article-poster-media img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .18s;display:block;position:absolute;inset:0}.article-poster-media-ready img{opacity:1}.article-poster-skeleton{background:var(--brand-yellow-soft);position:absolute;inset:0;overflow:hidden}.article-poster-skeleton:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff7a 45%,#0000 70%);animation:1.4s ease-in-out infinite article-poster-shimmer;position:absolute;inset:0;transform:translate(-100%)}.article-poster-media-ready .article-poster-skeleton{display:none}@keyframes article-poster-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.article-main,.article-poster-skeleton:after{animation:none}.article-poster-media img{transition:none}}.article-poster figcaption{text-align:center;overflow-wrap:anywhere;margin-top:10px;font-size:13px;line-height:1.6}.article-section-body{margin-top:32px}.article-section-body h3{margin:24px 0 8px;font-size:clamp(20px,2.5vw,24px);font-weight:700;line-height:1.5}.article-subsection{margin-top:28px}.article-sources{overflow-wrap:anywhere;margin-top:24px;padding-left:24px;line-height:1.8;list-style:outside}.article-sources li+li{margin-top:8px}.article-reference a{text-underline-offset:5px;text-decoration:underline}.article-section p{margin:16px 0;line-height:1.9}.article-section a{text-underline-offset:5px;text-decoration:underline}.article-date{font-size:14px;font-weight:500}.article-note{background:var(--brand-yellow);border-radius:16px;margin-top:48px;padding:24px;line-height:1.7}.article-main a:focus-visible{outline:3px solid var(--brand-magenta);outline-offset:5px}@media (max-width:639px){.article-toc ol{grid-template-columns:1fr}}.article-stacked .article-section{scroll-margin-top:32px}.article-stacked .article-toc ol,.article-toc-numbered-titles ol{padding-left:0;list-style:none}.musical-info h2{margin:24px 0 8px;font-size:clamp(20px,2.5vw,24px);font-weight:700;line-height:1.5}.musical-info p{margin-top:8px}
