/* Exhibition surfaces. The existing poster palette remains the only color system. */
.event-page .information-main { padding-top: 32px; padding-bottom: 56px; }
.event-masthead { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0 28px; border-bottom:1px solid var(--line); }
.event-masthead p { font-size:.875rem; color:var(--muted); }
.event-masthead>span { font:400 .875rem/1.5 var(--display); letter-spacing:.08em; color:var(--muted); }
.event-masthead i { font-style:normal; padding:0 12px; color:var(--soft); }
.honors-hero { position:relative; display:grid; grid-template-columns: .92fr 1.15fr; gap:0; align-items:center; min-height:620px; padding-top:16px; }
.honors-copy { position:relative; z-index:2; padding:48px 0 64px; }
.honors-edition { display:flex; align-items:center; gap:16px; font:400 .875rem/1.5 var(--display); letter-spacing:.14em; color:var(--muted); margin-bottom:28px; }
.honors-edition>span { width:26px; height:1px; background:var(--muted); }
.honors-copy h1 { font-size:clamp(2.625rem,4.6vw,4.5rem); line-height:1.36; letter-spacing:-.04em; font-weight:500; }
.honors-lead { color:var(--muted); font-size:1rem; line-height:1.9; margin-top:24px; }
.honors-status { display:flex; align-items:flex-start; gap:14px; margin-top:56px; }
.honors-status-symbol { display:block; width:8px; height:8px; transform:rotate(45deg); border:1px solid var(--ink); margin-top:8px; flex-shrink:0; }
.honors-status strong { font-size:.875rem; line-height:1.7; font-weight:400; }
.honors-status p { color:var(--muted); font-size:.8125rem; margin-top:5px; }
.honors-art { --honors-scene-height:620px; --honors-caption-space:44px; position:relative; height:calc(var(--honors-scene-height) + var(--honors-caption-space)); min-width:0; margin-right:-32px; perspective:1100px; }
.honors-art-halo { position:absolute; inset:0 0 var(--honors-caption-space); background:radial-gradient(ellipse at 51% 44%,oklch(.30 0 0 / .26),transparent 60%); pointer-events:none; }
.honors-canvas { position:absolute; inset:0 0 var(--honors-caption-space); }
.honors-canvas canvas { width:100%; height:100%; display:block; }
.honors-art-index { position:absolute; right:12%; top:13%; color:var(--muted); font:400 .75rem var(--display); letter-spacing:.1em; }
.honors-art-caption { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); white-space:nowrap; color:var(--soft); font:400 .625rem/12px var(--display); letter-spacing:.16em; }
.honors-fallback { position:absolute; width:260px; height:320px; left:50%; top:calc(var(--honors-scene-height) * .46); transform:translate(-50%,-50%) scale(var(--honors-fallback-scale,1)) rotate(-5deg) rotateY(-22deg); transform-style:preserve-3d; }
.honors-fallback-trophy { position:absolute; inset:0; background:linear-gradient(145deg,oklch(.65 0 0),oklch(.9 0 0) 35%,oklch(.64 0 0)); clip-path:polygon(0 0,24% 0,49% 67%,78% 0,100% 0,61% 100%,42% 100%); }
.honors-fallback-base { position:absolute; left:-20px; right:-20px; height:50px; bottom:-75px; background:linear-gradient(oklch(.26 0 0) 0 25%,oklch(.16 0 0) 25%); border:1px solid var(--line); display:grid; place-items:center; }
.honors-fallback-base img { width:75px; height:auto; opacity:.55; margin-top:10px; }
.honors-art.is-webgl .honors-fallback { visibility:hidden; }
.honors-inscription { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:32px 0 4px; border-top:1px solid var(--line); }
.honors-inscription>div>span { display:block; color:var(--muted); font-size:.75rem; }
.honors-inscription strong { display:block; font-size:.875rem; font-weight:400; margin-top:8px; }
.honors-inscription>p { color:var(--muted); font-size:.875rem; }
.honors-year { color:oklch(.38 0 0); font:400 3rem/1 var(--display); }
.small-break { display:none; }
.honors-results { margin-top:64px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.honors-winner { padding:40px; background:var(--surface); border:1px solid var(--line); }
.honors-winner:first-child { grid-column:1/-1; padding:56px; }
.honors-winner>p { color:var(--muted); font-size:1rem; }
.honors-winner h2 { font-size:clamp(2rem,4vw,4rem); letter-spacing:-.04em; margin-top:20px; }
.honors-winner ul { display:flex; gap:12px 24px; flex-wrap:wrap; margin-top:28px; font-size:1rem; color:var(--muted); }

.timetable-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:330px; gap:32px; padding:20px 0 28px; }
.timetable-intro h1 { font-size:clamp(2.5rem,4vw,3.75rem); line-height:1.35; font-weight:500; letter-spacing:-.04em; }
.timetable-intro p { color:var(--muted); font-size:1rem; margin-top:20px; }
.time-instrument { position:relative; width:340px; height:310px; justify-self:center; perspective:900px; pointer-events:none; }
.time-instrument-frame { position:absolute; width:280px; height:280px; left:30px; top:-18px; transform:rotateX(48deg) rotateZ(-24deg); transform-style:preserve-3d; }
.time-dial { width:100%; height:100%; overflow:visible; fill:none; transform:translateZ(10px); }
.dial-rim { stroke:oklch(.55 0 0); stroke-width:.8; }
.dial-inner { stroke:var(--line); stroke-width:.7; }
.dial-ticks { stroke:oklch(.49 0 0); stroke-width:1; transform-origin:center; }
.dial-ticks .major { stroke:oklch(.7 0 0); }
.dial-arc { stroke:oklch(.86 0 0); stroke-width:1.3; transform-origin:center; }
.dial-cross { stroke:var(--muted); opacity:.5; }
.time-dial-layer { position:absolute; inset:9px; border:1px solid oklch(.35 0 0); border-radius:50%; transform:translateZ(-10px); background:radial-gradient(circle,transparent 48%,oklch(.2 0 0 / .4) 70%,transparent 71%); }
.time-dial-center { position:absolute; inset:60px; display:flex; flex-direction:column; justify-content:center; align-items:center; transform:translateZ(28px); }
.time-dial-center>span { font:400 1rem var(--display); letter-spacing:.12em; color:var(--muted); }
.time-dial-center>i { display:block; width:72px; height:1px; background:var(--line); margin:10px 0; }
.time-dial-center>strong { font:500 2.75rem/.95 var(--display); letter-spacing:.01em; }
.time-instrument-shadow { position:absolute; inset:48% 2% 6%; border-radius:50%; background:radial-gradient(ellipse,oklch(.22 0 0 / .45),transparent 65%); }
.instrument-caption { position:absolute; bottom:4px; left:0; right:0; text-align:center; font:400 .6875rem var(--display); letter-spacing:.12em; color:var(--soft); }
.timetable-days { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:12px 0; background:var(--bg); }
.timetable-day-link { display:grid; grid-template-columns:68px 1fr auto 24px; align-items:baseline; gap:20px; min-height:104px; padding:24px 28px; border:1px solid oklch(.35 0 0); background:var(--surface); transition:background .25s,color .25s,border-color .25s; }
.timetable-day-link>span:first-child { font:500 .875rem var(--display); letter-spacing:.06em; color:var(--muted); }
.timetable-day-link>strong { font:500 2.5rem/1 var(--display); }
.timetable-day-link>span:nth-child(3) { font-size:.875rem; color:var(--muted); }
.timetable-day-link svg { width:20px; height:20px; align-self:center; fill:none; stroke:currentColor; stroke-width:1.3; }
.timetable-day-link[aria-selected=true] { background:var(--paper); border-color:var(--paper); color:var(--paper-ink); }
.timetable-day-link[aria-selected=true]>span { color:var(--paper-muted); }
.timetable-day-link:hover { border-color:var(--muted); }
.timetable-content { margin-top:40px; }
.timetable-panel { display:grid; grid-template-columns:240px 1fr; gap:40px; align-items:start; min-height:290px; padding:8px 0 32px; }
.timetable-panel[hidden] { display:none; }
.timetable-panel:focus-visible { outline:1px solid var(--line); outline-offset:8px; }
.timetable-panel+.timetable-panel { border-top:1px solid var(--line); padding-top:36px; }
.timetable-enhanced .timetable-panel { border:0; padding-top:8px; }
.timetable-day-summary { padding-top:24px; }
.timetable-day-summary>span { font:500 .8125rem var(--display); letter-spacing:.08em; color:var(--muted); }
.timetable-day-summary h2 { font:400 4.5rem/1 var(--display); letter-spacing:-.02em; margin-top:14px; }
.timetable-day-summary>p { margin-top:10px; color:var(--muted); font-size:.875rem; }
.day-trace { display:flex; align-items:center; gap:6px; margin-top:32px; }
.day-trace>span { display:block; height:2px; width:40px; background:oklch(.68 0 0); }
.day-trace>i { display:block; height:2px; width:14px; background:var(--line); }
.timetable-empty { position:relative; padding:32px 40px; border-left:1px solid var(--line); }
.timetable-state { font-size:.8125rem; color:var(--muted); }
.timetable-empty h3 { font-size:clamp(1.5rem,2vw,2rem); font-weight:400; line-height:1.5; letter-spacing:-.035em; margin-top:16px; }
.timetable-empty h3+p { font-size:.875rem; color:var(--muted); margin-top:14px; }
.empty-time-mark { position:absolute; left:-3px; top:40px; width:5px; height:5px; background:var(--ink); }
.time-track { position:relative; display:flex; align-items:center; justify-content:space-between; max-width:340px; height:10px; margin-top:32px; }
.time-track::before { content:''; position:absolute; left:0; right:0; top:50%; height:1px; background:linear-gradient(90deg,oklch(.5 0 0),var(--line),transparent); }
.time-track>i { width:3px; height:3px; background:var(--soft); }
.time-track>span { position:absolute; height:1px; width:24%; left:0; top:50%; background:linear-gradient(90deg,transparent,var(--muted),transparent); opacity:0; }
.timetable-footnote { font-size:.8125rem; color:var(--muted); padding:24px 0 0; border-top:1px solid var(--line); }
.timetable-list { list-style:none; min-width:0; margin:0; padding:0; border-top:1px solid var(--line); }
.timetable-item { position:relative; display:grid; grid-template-columns:100px minmax(0,1fr); gap:24px; padding:28px 24px; border-bottom:1px solid var(--line); }
.timetable-time { display:flex; flex-direction:column; align-items:flex-start; font-family:var(--display); font-variant-numeric:tabular-nums; }
.timetable-time time { font-size:1.75rem; line-height:1.2; }
.timetable-time .timetable-end { font-size:1rem; margin-top:8px; color:var(--muted); }
.timetable-time .timetable-end::before { content:'—'; display:inline-block; margin-right:6px; color:var(--soft); }
.timetable-item h3 { font-size:1.25rem; font-weight:400; line-height:1.6; letter-spacing:-.025em; word-break:keep-all; overflow-wrap:anywhere; }
.timetable-item p { font-size:.875rem; line-height:1.7; color:var(--muted); margin-top:8px; }
.timetable-item-highlight { background:linear-gradient(100deg,oklch(.205 0 0),var(--bg) 85%); }
.timetable-item-highlight h3 { font-weight:500; }
.timetable-item .timetable-deadline { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; width:fit-content; max-width:100%; margin-top:16px; padding:10px 14px; color:var(--paper-ink); background:var(--paper); }
.timetable-deadline time { font:500 1.5rem/1.2 var(--display); font-variant-numeric:tabular-nums; }
.timetable-deadline strong { font-size:.8125rem; font-weight:500; }
.timetable-location { display:block; font-size:.8125rem; margin-top:12px; color:var(--muted); }
.timetable-item.is-current { background:var(--surface); }.timetable-current { font-size:.75rem; grid-column:2; color:var(--ink); }
.event-motion .dial-ticks { animation:dial-turn 120s linear infinite; animation-play-state:paused; }
.event-motion .dial-arc { animation:dial-turn 24s linear infinite; animation-play-state:paused; }
.event-motion .time-track>span { animation:time-trace 8s ease-in-out infinite; animation-play-state:paused; }
.is-in-view .dial-ticks,.is-in-view .dial-arc,.is-in-view.time-track>span { animation-play-state:running; }
@keyframes dial-turn { to { transform:rotate(360deg); } }
@keyframes time-trace { 0%,15% { transform:translateX(0); opacity:0; } 25% { opacity:.65; } 80% { opacity:.4; } 100% { transform:translateX(310%); opacity:0; } }
@media (max-width:1100px) { .honors-hero { grid-template-columns:1fr 1fr; }.honors-art { --honors-scene-height:560px; }.honors-copy h1 { font-size:3rem; }.timetable-panel { grid-template-columns:200px 1fr; }.timetable-day-link { gap:16px; grid-template-columns:50px 1fr auto 20px; padding:24px; } }
@media (max-width:820px) {
  .event-page .information-main { padding-top:20px; padding-bottom:40px; }.event-masthead { padding:8px 0 22px; }.event-masthead p,.event-masthead>span { font-size:.75rem; }
  .honors-hero { grid-template-columns:1fr; min-height:0; }.honors-copy { padding:40px 0 0; }.honors-copy h1 { font-size:clamp(2.5rem,7vw,3.5rem); }.honors-edition { font-size:.75rem; margin-bottom:22px; }.honors-lead { font-size:.9375rem; margin-top:20px; }
  .honors-status { margin-top:28px; }.honors-status strong { font-size:.8125rem; }.honors-art { --honors-scene-height:500px; width:100%; max-width:650px; justify-self:center; margin:-20px 0 0; }.honors-art-index { top:15%; right:10%; }
  .honors-inscription { gap:20px; padding-top:24px; flex-wrap:wrap; }.honors-inscription>p { font-size:.8125rem; }.honors-year { margin-left:auto; font-size:2.75rem; }.small-break { display:initial; }
  .honors-results { grid-template-columns:1fr; }.honors-winner,.honors-winner:first-child { padding:28px; }
  .timetable-intro { gap:12px; grid-template-columns:1.1fr 1fr; min-height:270px; }.timetable-intro h1 { font-size:2.5rem; }.timetable-intro p { font-size:.875rem; max-width:24ch; }.time-instrument { transform:scale(.82); transform-origin:center; width:280px; }.time-instrument-frame { left:0; }
  .timetable-day-link { grid-template-columns:1fr auto; gap:12px; padding:20px; }.timetable-day-link>span:first-child { grid-column:1; font-size:.75rem; }.timetable-day-link>strong { grid-row:2; font-size:2.25rem; }.timetable-day-link>span:nth-child(3) { grid-column:2; grid-row:2; font-size:.8125rem; }.timetable-day-link svg { grid-column:2; grid-row:1; justify-self:end; width:16px; height:16px; }
  .timetable-panel { grid-template-columns:160px 1fr; gap:24px; }.timetable-empty { padding:24px; }.timetable-empty h3 { font-size:1.5rem; }
}
@media (max-width:560px) {
  .honors-art { --honors-scene-height:400px; width:calc(100% + 32px); margin:0 -16px; }.honors-art-index { right:9%; top:12%; }.honors-fallback { --honors-fallback-scale:.75; }
  .honors-inscription { margin-top:20px; }.honors-inscription>p { width:100%; order:3; }.honors-inscription>p br { display:none; }.honors-inscription strong { font-size:.8125rem; }
  .timetable-intro { grid-template-columns:1fr; gap:0; padding:32px 0 20px; }.timetable-intro h1 { font-size:2.5rem; }.timetable-intro p { max-width:none; margin-top:16px; }.time-instrument { transform:scale(.8); width:280px; height:300px; margin-top:4px; }.time-instrument-frame { top:-24px; }.instrument-caption { bottom:4px; }
  .timetable-days { gap:12px; }.timetable-day-link { padding:18px 16px; }.timetable-day-link>strong { font-size:2.125rem; }.timetable-day-link>span:nth-child(3) { font-size:.75rem; }
  .timetable-content { margin-top:28px; }.timetable-panel { grid-template-columns:1fr; gap:24px; padding-bottom:28px; min-height:0; }.timetable-day-summary { position:static; display:flex; align-items:baseline; gap:16px; padding-top:0; }.timetable-day-summary h2 { font-size:2.375rem; margin:0; }.timetable-day-summary>p { font-size:.8125rem; margin:0; }.day-trace { margin:0 0 0 auto; }.day-trace>span { width:16px; }.day-trace>i { display:none; }
  .timetable-empty { margin-left:3px; padding:8px 0 8px 24px; }.timetable-state { font-size:.75rem; }.timetable-empty h3 { margin-top:12px; font-size:1.5rem; }.timetable-empty h3+p { font-size:.8125rem; }.empty-time-mark { top:16px; }.time-track { margin-top:24px; max-width:90%; }
  .timetable-footnote { font-size:.75rem; line-height:1.8; }.timetable-item { grid-template-columns:64px minmax(0,1fr); gap:16px; padding:24px 12px; }.timetable-item h3 { font-size:1.0625rem; }.timetable-time time { font-size:1.625rem; }.timetable-time .timetable-end { font-size:.9375rem; }.timetable-item .timetable-deadline { padding:10px 12px; gap:4px 10px; }.timetable-deadline time { font-size:1.375rem; }
}
@media(prefers-reduced-motion:reduce) { .event-motion .dial-ticks,.event-motion .dial-arc,.event-motion .time-track>span { animation:none; }.timetable-day-link { transition:none; } }
