.spectacle-page { overflow-x: clip; background: var(--paper); }
.spectacle-page .site-header { position: absolute; background: transparent; }

.spectacle-hero { min-height: 940px; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr); color: white; background: var(--ink); }
.spectacle-hero-copy { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 155px clamp(34px,6vw,110px) 90px; }
.back-link { align-self: flex-start; margin-bottom: 68px; color: rgba(255,255,255,.62); text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.back-link:hover { color: var(--gold); }
.spectacle-hero .kicker { color: var(--orange); }
.spectacle-hero h1 { max-width: 930px; margin: 18px 0 30px; font-family: Fraunces, Georgia, serif; font-size: clamp(5rem,10vw,10.8rem); font-weight: 560; line-height: .76; letter-spacing: -.07em; }
.spectacle-hero h1 span { display: block; color: var(--gold); font-style: italic; }
.spectacle-lead { max-width: 720px; margin: 0; color: rgba(255,255,255,.73); font-size: clamp(1.18rem,1.55vw,1.52rem); }
.spectacle-facts { max-width: 820px; display: grid; grid-template-columns: 1.25fr .85fr .85fr; margin: 52px 0 0; border-block: 1px solid var(--line-dark); }
.spectacle-facts div { padding: 18px 20px 18px 0; border-right: 1px solid var(--line-dark); }
.spectacle-facts div + div { padding-left: 20px; }
.spectacle-facts div:last-child { border-right: 0; }
.spectacle-facts dt { color: var(--orange); font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.spectacle-facts dd { margin: 5px 0 0; font-weight: 700; }
.spectacle-actions { display: flex; align-items: center; gap: 30px; margin-top: 44px; }

.spectacle-poster { position: relative; min-height: 940px; display: flex; flex-direction: column; justify-content: space-between; padding: 142px clamp(30px,4vw,68px) 58px; overflow: hidden; background: radial-gradient(circle at 74% 24%, rgba(241,188,38,.34), transparent 25%), linear-gradient(145deg, var(--violet-dark) 0 52%, var(--violet) 52%); }
.spectacle-poster::before { content: ''; position: absolute; inset: 8% 9%; border: 1px solid rgba(255,255,255,.22); }
.spectacle-poster::after { content: ''; position: absolute; width: 1px; height: 86%; left: 64%; bottom: -12%; background: rgba(255,255,255,.42); transform: rotate(22deg); }
.spectacle-poster > * { position: relative; z-index: 1; }
.poster-code { align-self: flex-end; font-size: .72rem; font-weight: 700; letter-spacing: .18em; }
.poster-orbit { position: absolute; z-index: 0; width: min(44vw,620px); aspect-ratio: 1; right: -31%; top: 15%; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; }
.spectacle-poster strong { margin: auto 0; font-family: Fraunces, Georgia, serif; font-size: clamp(4rem,7.4vw,9rem); font-weight: 560; line-height: .78; letter-spacing: -.07em; }
.spectacle-poster strong em { color: var(--gold); font-weight: inherit; }
.spectacle-poster > div { display: flex; justify-content: space-between; gap: 18px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.5); font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.spectacle-poster small { margin-top: 28px; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.spectacle-title-long { font-size: clamp(4rem,7.2vw,8.4rem) !important; }
.spectacle-title-extra-long { font-size: clamp(3.5rem,6.2vw,7.2rem) !important; }
.spectacle-poster-image { min-height: 0; aspect-ratio: 1046 / 1504; align-self: start; margin: 0; padding: 0; display: block; background: #09080d; }
.spectacle-poster-image::before { display: none; }
.spectacle-poster-image::after { display: none; }
.spectacle-poster-image > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.spectacle-poster-image figcaption { display: none; }
.spectacle-poster-image figcaption span { max-width: 72%; font-family: Fraunces, Georgia, serif; font-size: clamp(1.8rem,3vw,3.4rem); font-weight: 560; line-height: .9; }
.spectacle-poster-image figcaption small { margin: 0; max-width: 28%; color: rgba(255,255,255,.72); text-align: right; }
.spectacle-poster-calineczka { background: radial-gradient(circle at 72% 20%, rgba(241,188,38,.48), transparent 24%), linear-gradient(150deg, #174a3d, var(--violet) 64%, var(--burnt-orange)); }
.spectacle-poster-liliputek { color: var(--ink); background: radial-gradient(circle at 74% 18%, rgba(255,255,255,.55), transparent 25%), linear-gradient(150deg, var(--gold), var(--orange) 58%, var(--burnt-orange)); }
.spectacle-poster-smocze { background: radial-gradient(circle at 76% 20%, rgba(241,188,38,.45), transparent 24%), linear-gradient(150deg, var(--violet), var(--burnt-orange) 58%, var(--gold)); }
.spectacle-poster-ruletka { background: radial-gradient(circle at 72% 20%, #e34f4f 0 8%, transparent 9%), linear-gradient(150deg, #08080b, #31101f 70%); }
.spectacle-poster-zlodziej { background: radial-gradient(circle at 76% 18%, rgba(255,255,255,.18), transparent 24%), linear-gradient(150deg, #142a33, #294b59 54%, #bd5668); }
.spectacle-poster-wsieci { background: repeating-linear-gradient(125deg, rgba(255,255,255,.08) 0 1px, transparent 1px 36px), linear-gradient(150deg, #071722, #154c65 58%, #8c2f69); }

.spectacle-jump { position: sticky; top: 0; z-index: 14; display: flex; align-items: center; justify-content: center; gap: clamp(20px,3vw,50px); min-height: 70px; padding: 12px clamp(20px,4vw,60px); color: white; background: rgba(13,10,16,.96); border-bottom: 1px solid var(--line-dark); }
.spectacle-jump span { color: var(--orange); font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.spectacle-jump a { text-decoration: none; font-size: .82rem; font-weight: 700; }
.spectacle-jump a:hover { color: var(--gold); }

.spectacle-section { padding: 130px clamp(28px,6vw,100px); }
.spectacle-story { max-width: 1800px; margin: 0 auto; display: grid; grid-template-columns: .42fr 1.15fr .9fr; gap: clamp(34px,6vw,110px); align-items: start; }
.section-marker { display: flex; gap: 18px; align-items: baseline; padding-top: 12px; }
.section-marker > span { color: var(--orange); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.section-marker .kicker { color: var(--violet); }
.story-heading h2, .materials-heading h2, .schedule-section h2 { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(3.3rem,5.7vw,7.1rem); font-weight: 560; line-height: .88; letter-spacing: -.055em; }
.story-copy { max-width: 660px; padding-top: 9px; }
.story-copy > p { color: rgba(13,10,16,.7); }
.story-copy .story-lead { margin-top: 0; color: var(--ink); font-size: 1.22rem; }
.content-note { margin-top: 42px; padding: 26px; color: white; background: var(--violet-dark); }
.content-note strong, .content-note span { display: block; }
.content-note strong { font-family: Fraunces, Georgia, serif; font-size: 1.35rem; }
.content-note span { margin-top: 10px; color: rgba(255,255,255,.62); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }

.spectacle-audiences { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1px; padding: 1px; color: white; background: var(--line-dark); }
.audience-panel { min-width: 0; min-height: 880px; display: flex; flex-direction: column; padding: clamp(34px,5vw,82px); scroll-margin-top: 70px; }
.audience-panel-school { background: var(--violet-dark); }
.audience-panel-organizer { color: var(--ink); background: var(--gold); }
.audience-panel > header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid currentColor; font-size: .69rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.audience-panel > header small { opacity: .55; }
.audience-panel .kicker { margin: 60px 0 22px; color: var(--orange); }
.audience-panel-organizer .kicker { color: var(--violet); }
.audience-panel h2 { max-width: 690px; margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(3.1rem,5vw,6rem); font-weight: 560; line-height: .86; letter-spacing: -.055em; }
.audience-panel > p:not(.kicker) { max-width: 660px; opacity: .7; }
.decision-facts { display: grid; grid-template-columns: 1fr 1fr 1fr; margin: 42px 0 0; border: 1px solid currentColor; }
.decision-facts div { padding: 18px; border-right: 1px solid currentColor; }
.decision-facts div:last-child { border-right: 0; }
.decision-facts dt { opacity: .55; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.decision-facts dd { margin: 7px 0 0; font-weight: 700; line-height: 1.2; }
.pending-block { margin-top: 34px; padding: 26px; background: rgba(255,255,255,.07); }
.audience-panel-organizer .pending-block { background: rgba(13,10,16,.07); }
.pending-block strong { font-family: Fraunces, Georgia, serif; font-size: 1.4rem; }
.pending-block ul { margin: 20px 0 0; padding: 0; list-style: none; border-top: 1px solid currentColor; }
.pending-block li { padding: 10px 0; border-bottom: 1px solid currentColor; opacity: .7; }
.panel-link { align-self: flex-start; margin-top: auto; padding-top: 44px; text-decoration: none; font-weight: 700; border-bottom: 1px solid currentColor; }

.materials-section { color: white; background: var(--ink); }
.materials-section { display: grid; grid-template-columns: .42fr 1.15fr .9fr; gap: clamp(34px,6vw,110px); }
.materials-section .section-marker .kicker { color: var(--gold); }
.materials-heading p { max-width: 690px; color: rgba(255,255,255,.62); }
.materials-grid { border-top: 1px solid var(--line-dark); }
.materials-grid article { display: grid; grid-template-columns: 42px 1fr auto; gap: 6px 18px; align-items: baseline; padding: 24px 0; border-bottom: 1px solid var(--line-dark); }
.materials-grid article > span { grid-row: 1 / 3; color: var(--orange); font-size: .68rem; letter-spacing: .12em; }
.materials-grid h3, .materials-grid p { margin: 0; }
.materials-grid h3 { font-family: Fraunces, Georgia, serif; font-size: 1.55rem; font-weight: 560; }
.materials-grid p { color: rgba(255,255,255,.58); font-size: .86rem; }
.materials-grid small { grid-column: 3; grid-row: 1 / 3; color: var(--gold); font-size: .66rem; letter-spacing: .09em; text-transform: uppercase; }
.spectacle-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr); gap: 12px; margin-top: 20px; }
.spectacle-gallery figure { position: relative; min-height: 300px; margin: 0; overflow: hidden; background: #060508; }
.spectacle-gallery .gallery-feature { grid-row: span 2; min-height: 720px; }
.spectacle-gallery .gallery-wide { grid-column: 1 / -1; min-height: 420px; }
.spectacle-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s ease; }
.spectacle-gallery figure:hover img { transform: scale(1.018); }
.spectacle-gallery figure::after { content: ''; position: absolute; inset: 42% 0 0; background: linear-gradient(180deg, transparent, rgba(6,5,8,.75)); pointer-events: none; }
.spectacle-gallery figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; padding: 24px 26px; color: white; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.schedule-section { display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(50px,8vw,140px); align-items: end; padding: 135px clamp(28px,6vw,100px); background: var(--paper-2); scroll-margin-top: 70px; }
.schedule-section .kicker { color: var(--violet); }
.schedule-section p:last-child { max-width: 760px; margin-top: 30px; }
.schedule-actions { display: grid; gap: 14px; }
.schedule-actions .button { text-align: center; }
.schedule-actions .button-outline { color: var(--ink); border-color: var(--ink); }
.schedule-actions .button-outline:hover { color: white; background: var(--ink); }

.mobile-spectacle-action { display: none; }

@media (max-width: 1180px) {
  .spectacle-hero { grid-template-columns: 1fr; }
  .spectacle-hero-copy { min-height: 850px; }
  .spectacle-poster { min-height: 820px; }
  .spectacle-poster-image { min-height: 0; }
  .spectacle-story, .materials-section { grid-template-columns: .42fr 1.58fr; }
  .story-copy, .materials-grid { grid-column: 2; }
  .spectacle-audiences { grid-template-columns: minmax(0,1fr); }
  .audience-panel { min-height: 760px; }
}

@media (max-width: 820px) {
  .spectacle-page .site-header { position: absolute; }
  .spectacle-hero-copy { min-height: 760px; padding: 130px 24px 68px; }
  .back-link { margin-bottom: 50px; }
  .spectacle-hero h1 { max-width: 100%; font-size: clamp(4rem,18vw,6.2rem); overflow-wrap: anywhere; }
  .spectacle-title-long { font-size: clamp(3.7rem,16vw,5.2rem) !important; }
  .spectacle-title-extra-long { font-size: clamp(3.25rem,14vw,4.7rem) !important; }
  .spectacle-facts { grid-template-columns: 1fr; }
  .spectacle-facts div, .spectacle-facts div + div { padding: 15px 0; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .spectacle-facts div:last-child { border-bottom: 0; }
  .spectacle-actions { align-items: flex-start; flex-direction: column; }
  .spectacle-poster { min-height: 690px; padding: 84px 28px 40px; }
  .spectacle-poster-image { min-height: 0; padding: 0; }
  .spectacle-poster::before { inset: 7%; }
  .spectacle-jump { position: static; justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
  .spectacle-section { padding-block: 92px; }
  .spectacle-story, .materials-section { grid-template-columns: 1fr; gap: 26px; }
  .story-copy, .materials-grid { grid-column: auto; }
  .spectacle-gallery { grid-template-columns: 1fr; gap: 8px; }
  .spectacle-gallery figure, .spectacle-gallery .gallery-feature, .spectacle-gallery .gallery-wide { grid-column: auto; grid-row: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .spectacle-gallery .gallery-detail { aspect-ratio: 4 / 5; }
  .audience-panel { min-height: 0; padding: 60px 24px; }
  .audience-panel .kicker { margin-top: 42px; }
  .audience-panel > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .decision-facts { grid-template-columns: 1fr; }
  .decision-facts div { border-right: 0; border-bottom: 1px solid currentColor; }
  .decision-facts div:last-child { border-bottom: 0; }
  .panel-link { margin-top: 40px; }
  .schedule-section { grid-template-columns: 1fr; padding-block: 92px 120px; }
  .schedule-section h2 { font-size: clamp(3.1rem,13vw,5rem); }
  .mobile-spectacle-action { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; color: white; background: rgba(13,10,16,.96); border-top: 1px solid var(--line-dark); }
  .mobile-spectacle-action > span { max-width: 48%; color: rgba(255,255,255,.56); font-size: .68rem; line-height: 1.25; }
  .mobile-spectacle-action a { color: var(--gold); font-size: .8rem; font-weight: 700; text-decoration: none; }
  .spectacle-page .site-footer { padding-bottom: 88px; }
}

@media (max-width: 560px) {
  .spectacle-lead { font-size: 1.08rem; }
  .audience-panel h2 { font-size: clamp(2.7rem,10.5vw,3.3rem); overflow-wrap: anywhere; }
  .spectacle-poster { min-height: 610px; }
  .spectacle-poster-image { min-height: 0; padding: 0; }
  .spectacle-poster strong { font-size: clamp(4.2rem,20vw,6.2rem); }
  .spectacle-poster > div { align-items: flex-start; flex-direction: column; }
  .spectacle-poster-image figcaption { align-items: flex-start; flex-direction: column; }
  .spectacle-poster-image figcaption span, .spectacle-poster-image figcaption small { max-width: 100%; text-align: left; }
  .story-heading h2, .materials-heading h2 { font-size: clamp(3rem,13vw,4.5rem); }
  .materials-grid article { grid-template-columns: 32px 1fr; }
  .materials-grid small { grid-column: 2; grid-row: auto; margin-top: 4px; }
}
