/* ==========================================================================
   1.27.0 — POZIOM EKOSYSTEMU
   Festiwal dociąga do serwisów Fundacji dla Transplantacji i HLA4 Transplant:
   ta sama rodzina krojów (Figtree + Barlow Condensed, pliki lokalne), mocne plakatowe nagłówki,
   wyraźny rytm sekcji (noc / wino / czerwień), hero z wezwaniem do działania,
   sekcje „Kierunek 2027” i „Jeden ekosystem”, pasek rodziny w stopce.
   Zasady z 1.22 zostają: tekst = biel, złoto = dekoracja, linki = podkreślenie przy najechaniu,
   unoszą się tylko zdjęcia.
   ========================================================================== */

@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url("fonts/figtree-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/barlow-condensed-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/barlow-condensed-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/barlow-condensed-800-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/barlow-condensed-800-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --s12-font-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --s12-font-display:"Barlow Condensed","Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --s12-bg-night:#12060a;
  --s12-bg-night-2:#1a090e;
  --s12-bg-wine:#5a0f1b;
  --s12-bg-wine-2:#47101a;
  --s12-red:#b3182d;
  --s12-red-deep:#8f1224;
  --s12-eco-fundacja:#2db4ea;
  --s12-eco-festiwal:#d0243a;
  --s12-eco-hla4:#14090b;
  --s12-radius:10px;
}

/* --- Typografia: plakatowe nagłówki (jak HLA4), czytelny Figtree w treści (jak Fundacja) --- */
body.s12-red-world{font-family:var(--s12-font-body)}
.s12-story-world h1,.s12-story-world h2,.s12-site-footer h2{font-family:var(--s12-font-display);font-weight:800;text-transform:uppercase;letter-spacing:.004em;line-height:.98}
.s12-story-world h2{font-size:clamp(2.3rem,1.5rem + 3vw,3.9rem);margin-top:0}
.s12-story-world h3,.s12-site-footer h3{font-family:var(--s12-font-body);font-weight:750;letter-spacing:-.008em}
/* Tekst ciągły (artykuły, dokumenty prawne): nagłówki bez wersalików, żeby dało się czytać dłuższe tytuły. */
.s12-story-world .s12-prose h2,.s12-story-world .s12-legal-prose h2,.s12-story-world .s12-donate-faq-list h2{font-family:var(--s12-font-body);font-weight:800;text-transform:none;letter-spacing:-.018em;line-height:1.16;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}
.s12-eyebrow,.s12-kicker{font-family:var(--s12-font-body);font-weight:700;letter-spacing:.2em;font-size:.78rem}
.s12-primary-menu a{font-family:var(--s12-font-body);font-weight:700}

/* Nagłówek sekcji: tytuł z krótką belką, opis obok — wyrównany do lewej i czytelny (nie drobny dopisek z prawej). */
.s12-section-head{align-items:end;gap:clamp(20px,4vw,64px);margin-bottom:clamp(28px,3.4vw,46px)}
.s12-section-head h2{margin-bottom:0}
.s12-section-head h2::after,.s12-intro-grid h2::after,.s12-expansion-copy h2::after,.s12-seo-story h2::after{content:"";display:block;width:64px;height:5px;margin-top:.34em;background:var(--s12-gold);border-radius:2px}
.s12-section-note,.s12-section-side .s12-section-note,.s12-join .s12-section-note{max-width:30em;text-align:left;font-size:clamp(1rem,.95rem + .25vw,1.12rem);line-height:1.6;color:var(--s12-ink-body)}
@media (max-width:900px){
  .s12-section-head h2::after,.s12-intro-grid h2::after,.s12-expansion-copy h2::after,.s12-seo-story h2::after{margin-inline:auto}
  .s12-section-note,.s12-section-side .s12-section-note,.s12-join .s12-section-note{text-align:center;margin-inline:auto}
}

/* --- Rytm sekcji: noc / wino / czerwień zamiast jednego bordowego tonu --- */
body.s12-red-world{background:var(--s12-bg-night)}
.s12-intro{background:linear-gradient(180deg,var(--s12-bg-night) 0%,var(--s12-bg-night-2) 100%)}
.s12-join{background:linear-gradient(180deg,var(--s12-bg-night-2) 0%,var(--s12-bg-night) 100%)}
.s12-home-history{background:linear-gradient(180deg,var(--s12-bg-wine) 0%,var(--s12-bg-wine-2) 100%)}
.s12-legacy{background:linear-gradient(180deg,var(--s12-bg-night) 0%,var(--s12-bg-night-2) 100%)}
.s12-seo-story{background:linear-gradient(180deg,var(--s12-bg-wine) 0%,var(--s12-bg-wine-2) 100%);border-top:0}

/* Liczby misji: czerwony pas (wspólny motyw z HLA4), liczby krojem plakatowym. */
.s12-mission-stats{border-top:0;border-radius:var(--s12-radius);background:linear-gradient(135deg,var(--s12-red) 0%,var(--s12-red-deep) 100%);box-shadow:0 24px 60px rgba(0,0,0,.34);overflow:hidden}
.s12-mission-stats .s12-mission-stat{padding:clamp(22px,2.6vw,36px) clamp(18px,2.2vw,30px)}
.s12-mission-stats .s12-mission-stat::before{display:none}
.s12-mission-stat-value{font-family:var(--s12-font-display);font-weight:800;letter-spacing:0;line-height:.88;font-size:clamp(3.6rem,6.6vw,6.6rem)}
.s12-mission-stat.is-text .s12-mission-stat-value{letter-spacing:0}
.s12-mission-stat-label{font-family:var(--s12-font-body);font-weight:750;letter-spacing:-.005em}
.s12-mission-stat-note{color:rgba(255,255,255,.86)}

/* --- Hero: zdjęcie widać, tytuł niesie, są dwa wyraźne przyciski --- */
.s12-hero-shade{background:linear-gradient(90deg,rgba(10,2,4,.9) 0%,rgba(14,3,6,.72) 34%,rgba(14,3,6,.3) 62%,rgba(10,2,4,.18) 100%),linear-gradient(180deg,rgba(10,2,4,.34) 0%,rgba(10,2,4,.08) 40%,rgba(18,6,10,.62) 78%,var(--s12-bg-night) 100%)}
.s12-hero h1{font-family:var(--s12-font-display);font-weight:800;letter-spacing:.002em;line-height:.86;font-size:clamp(4.4rem,9.4vw,9.6rem);max-width:9em;text-shadow:0 6px 34px rgba(0,0,0,.34)}
.s12-hero-title-year{display:block;width:max-content;margin-top:.22em;padding:.04em .34em .08em;font-family:var(--s12-font-display);font-size:.4em!important;font-weight:800!important;letter-spacing:.06em!important;line-height:1;background:var(--s12-red);border-radius:4px;text-shadow:none}
.s12-hero-lead{max-width:34em;font-size:clamp(1.1rem,1rem + .5vw,1.34rem);line-height:1.5;font-weight:500;color:#fff}
.s12-hero-actions{gap:14px;margin-top:30px}
.s12-hero-actions .s12-button,.s12-expansion-actions .s12-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:2px solid transparent;border-radius:var(--s12-radius);font-family:var(--s12-font-display);font-size:1.12rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;line-height:1.1;text-align:center;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.s12-hero-actions .s12-button::after,.s12-expansion-actions .s12-button::after{display:none}
.s12-hero-actions .s12-button-light,.s12-expansion-actions .s12-button-light{background:var(--s12-gold-soft);color:#2a060d!important;border-color:var(--s12-gold-soft)}
.s12-hero-actions .s12-button-light:hover,.s12-hero-actions .s12-button-light:focus-visible,.s12-expansion-actions .s12-button-light:hover,.s12-expansion-actions .s12-button-light:focus-visible{background:#fff;border-color:#fff;color:#2a060d!important}
.s12-hero-actions .s12-button-ghost,.s12-expansion-actions .s12-button-ghost{background:rgba(10,2,4,.28);color:#fff!important;border-color:rgba(255,255,255,.78)}
.s12-hero-actions .s12-button-ghost:hover,.s12-hero-actions .s12-button-ghost:focus-visible,.s12-expansion-actions .s12-button-ghost:hover,.s12-expansion-actions .s12-button-ghost:focus-visible{background:#fff;border-color:#fff;color:#2a060d!important}
@media (max-width:760px){
  .s12-hero-shade{background:linear-gradient(180deg,rgba(10,2,4,.46) 0%,rgba(10,2,4,.3) 30%,rgba(14,4,7,.72) 62%,var(--s12-bg-night) 100%)}
  .s12-hero h1{font-size:clamp(3.5rem,17vw,5rem);line-height:.88;max-width:7.5em}
  .s12-hero-lead{font-size:1.04rem}
  .s12-hero-actions{grid-template-columns:1fr;gap:10px;margin-top:20px;width:min(100%,420px)}
  .s12-hero-actions .s12-button{min-height:50px;font-size:1.04rem}
  .s12-hero.is-next-edition .s12-hero-scroll{display:none}
}

/* --- Sekcja „Kierunek 2027: kolejne miasta” --- */
.s12-expansion{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--s12-red) 0%,var(--s12-red-deep) 58%,#6c0e1c 100%)}
.s12-expansion::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.1),transparent 42%);pointer-events:none}
.s12-expansion-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,84px);align-items:center}
.s12-expansion-copy h2{font-size:clamp(2.9rem,1.6rem + 4.6vw,5.4rem);line-height:.92;margin-bottom:.4em}
.s12-expansion-copy h2::after{background:#fff}
.s12-expansion-copy .s12-lead{max-width:34em;margin:0;font-size:clamp(1.08rem,1rem + .4vw,1.26rem);line-height:1.6;color:#fff}
.s12-expansion .s12-eyebrow{color:#fff!important}
.s12-route{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin:clamp(24px,3vw,36px) 0 0;padding:0;list-style:none}
.s12-route-stop{position:relative;display:grid;align-content:start;gap:4px;min-width:150px;padding:18px 26px 4px 0;margin-right:26px}
.s12-route-stop::before{content:"";position:absolute;top:5px;left:0;right:-26px;height:2px;background:rgba(255,255,255,.42)}
.s12-route-stop:last-child::before{right:auto;width:22px}
.s12-route-stop::after{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.2)}
.s12-route-stop.is-next::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.6) 0 6px,transparent 6px 12px)}
.s12-route-stop.is-next::after{background:transparent;border:2px solid #fff;box-shadow:none}
.s12-route-stop strong{font-family:var(--s12-font-display);font-size:1.7rem;font-weight:800;letter-spacing:.02em;line-height:1;text-transform:uppercase}
.s12-route-stop span{font-size:.96rem;line-height:1.4;color:rgba(255,255,255,.92)}
.s12-expansion-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(26px,3vw,38px)}
.s12-expansion-actions .s12-button{flex:0 1 auto;white-space:nowrap}
.s12-expansion-actions .s12-button-light{background:#fff;border-color:#fff}
.s12-expansion-actions .s12-button-light:hover,.s12-expansion-actions .s12-button-light:focus-visible{background:#2a060d;border-color:#2a060d;color:#fff!important}
.s12-expansion-actions .s12-button-ghost{background:transparent}
.s12-expansion-steps{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.s12-expansion-steps li{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:clamp(20px,2.2vw,28px);border-radius:var(--s12-radius);background:rgba(18,6,10,.3);border:1px solid rgba(255,255,255,.16)}
.s12-expansion-step-no{font-family:var(--s12-font-display);font-size:clamp(2.4rem,3.4vw,3.4rem);font-weight:800;line-height:.86;color:rgba(255,255,255,.5)}
.s12-expansion-steps h3{margin:0 0 6px;font-size:1.3rem;line-height:1.2}
.s12-expansion-steps p{margin:0;font-size:1.02rem;line-height:1.58;color:rgba(255,255,255,.94)}
@media (max-width:900px){
  .s12-expansion-grid{grid-template-columns:1fr}
  .s12-expansion-copy{text-align:center}
  .s12-expansion-copy .s12-lead{margin-inline:auto}
  .s12-route{justify-content:center;text-align:left}
  .s12-expansion-actions{justify-content:center}
  .s12-expansion-actions .s12-button{flex:1 1 100%}
}
@media (max-width:520px){
  .s12-route{display:grid;gap:0;justify-content:stretch;max-width:320px;margin-inline:auto}
  .s12-route-stop{min-width:0;margin:0;padding:0 0 22px 30px}
  .s12-route-stop::before{top:6px;bottom:-6px;left:5px;right:auto;width:2px;height:auto}
  .s12-route-stop:last-child::before{display:none}
  .s12-route-stop.is-next::before{background:rgba(255,255,255,.42)}
  .s12-expansion-steps li{gap:14px}
}

/* --- Sekcja „Jeden ekosystem”: trzy białe karty — każda z kolorem swojego serwisu --- */
.s12-ecosystem{background:linear-gradient(180deg,var(--s12-bg-night-2) 0%,var(--s12-bg-night) 100%)}
.s12-ecosystem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);align-items:stretch}
.s12-eco-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.6vw,36px);padding-top:clamp(30px,3vw,42px);border-radius:var(--s12-radius);background:#fff;color:#1a0a0e;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.34)}
.s12-eco-card::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:var(--s12-eco-festiwal)}
.s12-eco-card.is-fundacja::before{background:var(--s12-eco-fundacja)}
.s12-eco-card.is-hla4::before{background:linear-gradient(90deg,var(--s12-eco-hla4) 0 50%,#d62f3a 50% 100%)}
.s12-eco-card .s12-eco-role{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#6a4a50}
.s12-eco-card.is-current .s12-eco-role{color:var(--s12-red)}
.s12-story-world .s12-eco-card h3{margin:0;font-family:var(--s12-font-display);font-size:clamp(1.8rem,1.4rem + 1.2vw,2.3rem);font-weight:800;letter-spacing:.004em;line-height:1;text-transform:uppercase;color:#1a0a0e!important;-webkit-text-fill-color:#1a0a0e!important}
.s12-eco-card .s12-eco-text{margin:0;flex:1;font-size:1.02rem;line-height:1.6;color:#3a2428}
.s12-eco-card .s12-eco-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:46px;margin-top:8px;padding:0 20px;border:2px solid #1a0a0e;border-radius:8px;color:#1a0a0e!important;font-family:var(--s12-font-display);font-size:1.02rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-decoration:none!important;transition:background-color .18s ease,color .18s ease}
.s12-eco-card .s12-eco-link:hover,.s12-eco-card .s12-eco-link:focus-visible{background:#1a0a0e;color:#fff!important}
.s12-eco-card.is-current .s12-eco-link{background:var(--s12-red);border-color:var(--s12-red);color:#fff!important}
.s12-eco-card.is-current .s12-eco-link:hover,.s12-eco-card.is-current .s12-eco-link:focus-visible{background:#1a0a0e;border-color:#1a0a0e}
@media (max-width:900px){
  .s12-ecosystem-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
}

/* --- Stopka: pasek rodziny (ten sam układ na każdej podstronie) --- */
.s12-family-strip{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(16px,3vw,44px);width:min(1240px,calc(100% - 48px));margin:0 auto;padding:clamp(22px,2.6vw,32px) 0;border-top:1px solid rgba(255,255,255,.12)}
.s12-family-label{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--s12-ink-soft)}
.s12-family-strip ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);margin:0;padding:0;list-style:none}
.s12-family-item{position:relative;display:grid;gap:3px;height:100%;padding:16px 18px 16px 22px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none!important}
.s12-family-item::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:8px 0 0 8px;background:var(--s12-eco-festiwal)}
.s12-family-strip .is-fundacja .s12-family-item::before{background:var(--s12-eco-fundacja)}
.s12-family-strip .is-hla4 .s12-family-item::before{background:#fff}
.s12-family-item strong{font-family:var(--s12-font-display);font-size:1.22rem;font-weight:800;letter-spacing:.03em;line-height:1.05;text-transform:uppercase}
.s12-family-item small{font-size:.86rem;color:var(--s12-ink-soft)}
.s12-family-item.is-current{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.26)}
a.s12-family-item:hover,a.s12-family-item:focus-visible{background:#fff;border-color:#fff;color:#1a0a0e!important;text-decoration:none!important}
a.s12-family-item:hover small,a.s12-family-item:focus-visible small{color:#3a2428}
@media (max-width:900px){
  .s12-family-strip{grid-template-columns:1fr;text-align:center}
  .s12-family-strip ul{grid-template-columns:1fr;text-align:left}
}

/* Stopka i podstrony: te same kroje. */
.s12-footer-v2 .s12-footer-cta h2{font-size:clamp(2.8rem,1.6rem + 4vw,5rem);font-weight:800;line-height:.94;letter-spacing:.004em;max-width:14ch}
.s12-footer-v2 .s12-footer-btn{border-radius:var(--s12-radius);border-width:2px;font-family:var(--s12-font-display);font-size:1.1rem;letter-spacing:.07em;text-transform:uppercase}
.s12-page-hero h1,.s12-subpage-hero-lite h1{font-size:clamp(3rem,1.8rem + 5vw,6rem);line-height:.9}

@media (max-width:760px){
  .s12-hero-title-year{margin-inline:auto}
  .s12-footer-v2 .s12-footer-cta h2{font-size:clamp(2.5rem,11vw,3.2rem)}
}

/* --- Podstrony: ten sam rytm co strona główna — wejście w kolorze wina, dalej noc --- */
.s12-story-world{background:var(--s12-bg-night)}
.s12-subpage-world,.s12-history-world{background:linear-gradient(180deg,var(--s12-bg-wine) 0,var(--s12-bg-wine-2) 440px,var(--s12-bg-night-2) 980px,var(--s12-bg-night) 100%)}
.s12-artist-hero{background:linear-gradient(180deg,var(--s12-bg-wine) 0%,var(--s12-bg-wine-2) 100%)}

/* ==========================================================================
   1.28.0 — FESTIWALOWY CHARAKTER
   Wzorce z czołowych festiwali (Rock Werchter, Sziget, OFF, Primavera, Coachella):
   biegnący pas z hasłami, line-up jako plakat nazwisk, przyciski-naklejki, rok jako stempel,
   ząbkowana krawędź i raster plakatowy, stopka jako finał (pas, duże social media, duże linki, wielki znak).
   Ruch: tylko pas (wyłącza się przy „ogranicz ruch”); przy najechaniu nadal nic się nie rusza poza zdjęciami.
   ========================================================================== */

/* --- Biegnący pas --- */
.s12-ticker{--s12-ticker-bg:var(--s12-red);--s12-ticker-ink:#fff;--s12-ticker-dot:var(--s12-gold-soft);--s12-tooth:20px;position:relative;z-index:2;overflow:hidden;padding:26px 0 24px;background:var(--s12-ticker-bg);color:var(--s12-ticker-ink);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/var(--s12-tooth) 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/var(--s12-tooth) 51% repeat-x;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/var(--s12-tooth) 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/var(--s12-tooth) 51% repeat-x}
.s12-ticker.is-gold{--s12-ticker-bg:var(--s12-gold-soft);--s12-ticker-ink:#2a060d;--s12-ticker-dot:var(--s12-red)}
.s12-ticker-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;list-style:none}
.s12-ticker-track{display:flex;width:max-content;animation:s12-ticker 48s linear infinite}
.s12-ticker:hover .s12-ticker-track{animation-play-state:paused}
.s12-ticker-group{display:flex;flex:none;align-items:center}
.s12-ticker-group span{display:inline-flex;align-items:center;font-family:var(--s12-font-display);font-size:clamp(1.5rem,1.1rem + 1.4vw,2.3rem);font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase;white-space:nowrap}
.s12-ticker-group span::after{content:"";flex:none;width:.4em;height:.4em;margin:0 .9em;background:var(--s12-ticker-dot);transform:rotate(45deg)}
@keyframes s12-ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .s12-ticker-track{animation:none}
}

/* --- Raster plakatowy na czerwonych polach --- */
.s12-expansion::after,.s12-mission-stats::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.7px);background-size:12px 12px;-webkit-mask-image:linear-gradient(115deg,transparent 46%,#000 100%);mask-image:linear-gradient(115deg,transparent 46%,#000 100%);pointer-events:none}
.s12-mission-stats{position:relative}
.s12-mission-stats>li,.s12-expansion-grid{position:relative;z-index:1}

/* --- Naklejki: twardy cień, główny przycisk i rok lekko skosem --- */
.s12-hero-title-year{transform:rotate(-3deg);transform-origin:left center;box-shadow:5px 5px 0 var(--s12-bg-night)}
.s12-hero-actions .s12-button-light{box-shadow:6px 6px 0 var(--s12-red);transform:rotate(-1.5deg)}
.s12-hero-actions .s12-button-light:hover,.s12-hero-actions .s12-button-light:focus-visible{transform:rotate(-1.5deg)!important}
.s12-hero-actions .s12-button-ghost{box-shadow:6px 6px 0 rgba(0,0,0,.45)}
.s12-expansion-actions .s12-button-light{box-shadow:6px 6px 0 var(--s12-bg-night)}
.s12-eco-card.is-current .s12-eco-link{box-shadow:5px 5px 0 #1a0a0e}
@media (max-width:760px){
  .s12-hero-title-year{transform-origin:center}
  .s12-hero-actions .s12-button-light{transform:none}
  .s12-hero-actions .s12-button-light:hover,.s12-hero-actions .s12-button-light:focus-visible{transform:none!important}
}

/* --- „Grali dla nas” jako plakat nazwisk --- */
.s12-lineup-wall{margin:0 auto clamp(30px,4vw,52px);font-family:var(--s12-font-display);font-size:clamp(2rem,1rem + 3.7vw,4.4rem);font-weight:800;letter-spacing:.006em;line-height:1.06;text-transform:uppercase}
.s12-lineup-wall-name{color:#fff;text-decoration:none;white-space:nowrap}
.s12-lineup-wall-name:nth-child(even){color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.9)}
.s12-lineup-wall-name::after{content:"";display:inline-block;width:.2em;height:.2em;margin:0 .32em .24em;background:var(--s12-gold-soft);transform:rotate(45deg);-webkit-text-stroke:0}
.s12-lineup-wall-name:last-child::after{display:none}
a.s12-lineup-wall-name:hover,a.s12-lineup-wall-name:focus-visible{color:#fff;-webkit-text-stroke:0;text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:4px;text-underline-offset:.12em}
@media (max-width:900px){
  .s12-lineup-wall{text-align:center}
}

/* --- Stopka festiwalowa --- */
.s12-footer-fest{background:linear-gradient(180deg,#3a0a13 0%,#24070d 46%,var(--s12-bg-night) 100%)}
.s12-footer-fest .s12-ticker{margin-bottom:clamp(8px,2vw,24px)}
.s12-footer-fest .s12-footer-btn.is-primary{box-shadow:6px 6px 0 var(--s12-red);transform:rotate(-1.5deg)}
.s12-footer-fest .s12-footer-btn.is-primary:hover,.s12-footer-fest .s12-footer-btn.is-primary:focus-visible{transform:rotate(-1.5deg)!important}
.s12-footer-fest .s12-footer-btn:not(.is-primary){box-shadow:6px 6px 0 rgba(0,0,0,.45)}

.s12-footer-social-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.s12-footer-social-label{margin:0;font-family:var(--s12-font-display);font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);font-weight:800;letter-spacing:.02em;line-height:1;text-transform:uppercase;color:#fff}
.s12-footer-social-row ul{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.s12-footer-fest a.s12-footer-social{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 24px;border:2px solid #fff;border-radius:var(--s12-radius);color:#fff!important;font-family:var(--s12-font-display);font-size:1.2rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-decoration:none!important;transition:background-color .18s ease,color .18s ease}
.s12-footer-social svg{width:24px;height:24px;flex:none;fill:currentColor}
.s12-footer-fest a.s12-footer-social:hover,.s12-footer-fest a.s12-footer-social:focus-visible{background:#fff;color:#2a060d!important}

.s12-footer-fest .s12-footer-nav,.s12-footer-fest .s12-footer-list{display:grid;gap:8px}
.s12-footer-fest .s12-footer-nav a,.s12-footer-fest .s12-footer-list a{font-family:var(--s12-font-display);font-size:1.5rem!important;font-weight:700;letter-spacing:.03em;line-height:1.16;text-transform:uppercase;white-space:nowrap;color:#fff!important}
.s12-footer-fest .s12-footer-nav a,.s12-footer-fest .s12-footer-list a{font-size:clamp(1.2rem,.9rem + .7vw,1.5rem)!important}
.s12-footer-fest .s12-footer-ext{font-size:.6em}

.s12-footer-wordmark{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .26em;margin:clamp(10px,2vw,28px) 0 -.05em;padding:0 16px;overflow:hidden;font-family:var(--s12-font-display);font-size:clamp(3rem,9.7vw,12.4rem);font-weight:800;letter-spacing:.004em;line-height:.82;text-transform:uppercase;white-space:nowrap;user-select:none;pointer-events:none}
.s12-footer-wordmark span:first-child{color:var(--s12-red)}
.s12-footer-wordmark span:last-child{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.34)}
@media (max-width:900px){
  .s12-footer-social-row{justify-content:center;text-align:center}
  .s12-footer-social-row ul{justify-content:center}
  .s12-footer-fest .s12-footer-nav,.s12-footer-fest .s12-footer-list{justify-items:center}
  .s12-footer-wordmark{font-size:clamp(2.8rem,17.4vw,8rem);line-height:.86}
  .s12-footer-wordmark span:last-child{-webkit-text-stroke-width:1.5px}
}
@media (max-width:760px){
  .s12-footer-fest .s12-footer-btn.is-primary{transform:none}
  .s12-footer-fest .s12-footer-btn.is-primary:hover,.s12-footer-fest .s12-footer-btn.is-primary:focus-visible{transform:none!important}
  .s12-footer-fest a.s12-footer-social{min-height:52px;padding:0 18px;font-size:1.08rem}
}

/* ==========================================================================
   1.29.0 — POPRAWKI WŁAŚCICIELA
   1) e-mail w stopce nie łamie się, 2) stopka w jednej osi z resztą strony, blok marki wyśrodkowany względem kolumn,
   3) mniejsze tytuły, 4) liczby misji jako delikatny pasek „od idei do celu”, 5) Panel = menu festiwalowe.
   ========================================================================== */

/* --- 4) Pasek „od idei do celu”: cienka złota linia, punkty w kolejności zdarzeń --- */
.s12-mission-strip{margin-top:clamp(40px,5vw,68px)}
.s12-mission-strip-kicker{margin:0 0 24px}
.s12-mission-line{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;border-top:1px solid rgba(196,164,102,.55)}
.s12-mission-point{position:relative;display:grid;align-content:start;gap:7px;padding:26px 22px 0 0}
.s12-mission-point::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--s12-bg-night);border:2px solid var(--s12-gold-soft);box-sizing:border-box}
.s12-mission-point.is-goal::before{background:var(--s12-red);border-color:var(--s12-red);box-shadow:0 0 0 5px rgba(179,24,45,.28)}
.s12-mission-point.is-future::before{border-style:dashed}
.s12-mission-point-value{font-family:var(--s12-font-display);font-size:clamp(2rem,1.5rem + 1.3vw,2.7rem);font-weight:800;letter-spacing:.01em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.s12-mission-point.is-goal .s12-mission-point-value{font-size:clamp(2.4rem,1.7rem + 1.8vw,3.3rem)}
.s12-mission-point-label{font-size:1rem;font-weight:700;line-height:1.32;color:#fff;text-wrap:balance}
.s12-mission-point-note{font-size:.88rem;line-height:1.45;color:var(--s12-ink-soft)}
@media (max-width:1024px){
  .s12-mission-strip{max-width:560px}
  .s12-mission-strip-kicker{text-align:center}
  .s12-mission-line{grid-auto-flow:row;border-top:0;border-left:1px solid rgba(196,164,102,.55);margin-left:6px}
  .s12-mission-point{padding:0 0 24px 26px;gap:4px}
  .s12-mission-point:last-child{padding-bottom:0}
  .s12-mission-point::before{top:8px;left:-6px}
}

/* --- 3) Tytuły o stopień mniejsze --- */
.s12-story-world h2{font-size:clamp(2rem,1.45rem + 2vw,3.1rem)}
.s12-story-world .s12-prose h2,.s12-story-world .s12-legal-prose h2,.s12-story-world .s12-donate-faq-list h2{font-size:clamp(1.35rem,1.1rem + .9vw,1.75rem)}
.s12-hero h1{font-size:clamp(4rem,8vw,8rem)}
.s12-expansion-copy h2{font-size:clamp(2.4rem,1.6rem + 3vw,4rem)}
.s12-page-hero h1,.s12-subpage-hero-lite h1{font-size:clamp(2.6rem,1.7rem + 3.6vw,4.6rem)}
.s12-footer-v2 .s12-footer-cta h2{font-size:clamp(2.2rem,1.5rem + 2.4vw,3.5rem)}
.s12-lineup-wall{font-size:clamp(1.8rem,1rem + 3vw,3.6rem)}
.s12-footer-social-label{font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem)}
@media (max-width:760px){
  .s12-hero h1{font-size:clamp(3.2rem,15vw,4.4rem)}
  .s12-footer-v2 .s12-footer-cta h2{font-size:clamp(2.1rem,9vw,2.6rem)}
}

/* --- 2) Stopka w jednej osi z sekcjami strony; blok marki wyśrodkowany względem kolumn --- */
.s12-footer-v2 .s12-footer-cta,.s12-footer-v2 .s12-footer-main,.s12-footer-v2 .s12-footer-meta,.s12-footer-social-row,.s12-family-strip{width:var(--s12-shell)}
.s12-footer-v2 .s12-footer-main{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.5fr)!important;gap:clamp(24px,3vw,48px)!important}
@media (min-width:1101px){
  .s12-footer-v2 .s12-footer-brand-col{align-self:center}
}
@media (max-width:1100px){
  .s12-footer-v2 .s12-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .s12-footer-v2 .s12-footer-main{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
}

/* --- 1) E-mail w stopce: jedna linia, zawsze --- */
.s12-footer-v2 .s12-footer-mail{min-width:0}
.s12-footer-v2 .s12-footer-mail-copy span{overflow-wrap:normal;white-space:nowrap;font-size:clamp(.82rem,.6rem + .5vw,.96rem);font-weight:650;letter-spacing:0}
@media (max-width:380px){
  .s12-footer-v2 .s12-footer-mail-copy span{font-size:.8rem}
}

/* --- 5) Panel = menu festiwalowe: czerwona belka, duże numerowane pozycje, dodatki pod spodem --- */
body.s12-red-world .s12-explorer-trigger{font-family:var(--s12-font-display);font-size:1.02rem;font-weight:800;letter-spacing:.08em;border-radius:var(--s12-radius);border-width:2px;border-color:rgba(255,255,255,.7);color:#fff}
.s12-explorer-trigger:hover,.s12-explorer-trigger:focus-visible{background:#fff;border-color:#fff;color:#2a060d}
.s12-explorer-dialog{width:min(1040px,calc(100% - 28px));height:fit-content!important;max-height:calc(100dvh - 36px);border:0;border-radius:14px;background:var(--s12-bg-night);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.s12-explorer-dialog .s12-explorer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(20px,3vw,40px) 20px;background:linear-gradient(135deg,var(--s12-red) 0%,var(--s12-red-deep) 100%)}
.s12-explorer-dialog .s12-explorer-head .s12-eyebrow{margin:0 0 6px;color:#fff!important}
.s12-explorer-dialog .s12-explorer-head h2{margin:0;font-family:var(--s12-font-display);font-size:clamp(2.2rem,1.6rem + 2vw,3.2rem);font-weight:800;letter-spacing:.01em;line-height:.95;text-transform:uppercase;color:#fff}
.s12-explorer-dialog [data-explorer-close]{border-radius:var(--s12-radius)!important;border:2px solid #fff!important;background:transparent!important}
.s12-explorer-dialog [data-explorer-close]:hover,.s12-explorer-dialog [data-explorer-close]:focus-visible{background:#fff!important;border-color:#fff!important;color:#2a060d!important}
.s12-explorer-dialog .s12-explorer-body{padding:clamp(14px,2vw,24px) clamp(20px,3vw,40px) calc(28px + env(safe-area-inset-bottom,0px))}

.s12-explorer-dialog .s12-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px);counter-reset:s12menu}
.s12-explorer-dialog .s12-explorer-card{counter-increment:s12menu;grid-template-columns:2.2em minmax(0,1fr) auto;align-items:baseline;gap:6px;min-height:0;padding:15px 2px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;background:none;box-shadow:none}
.s12-explorer-dialog .s12-explorer-card::before{content:counter(s12menu,decimal-leading-zero);font-family:var(--s12-font-display);font-size:1.05rem;font-weight:700;letter-spacing:.06em;color:var(--s12-ink-soft)}
.s12-explorer-dialog .s12-explorer-icon{display:none}
.s12-explorer-dialog .s12-explorer-card-copy{display:grid;gap:2px;min-width:0}
.s12-explorer-dialog .s12-explorer-card-copy strong{font-family:var(--s12-font-display);font-size:clamp(1.7rem,1.3rem + 1.3vw,2.3rem);font-weight:800;letter-spacing:.015em;line-height:1;text-transform:uppercase;color:#fff}
.s12-explorer-dialog .s12-explorer-card-copy small{font-size:.9rem;line-height:1.35;color:var(--s12-ink-soft)}
.s12-explorer-dialog .s12-explorer-arrow{position:static;align-self:center;font-size:1.1rem;color:var(--s12-gold-soft);opacity:1}
.s12-explorer-dialog .s12-explorer-card:hover,.s12-explorer-dialog .s12-explorer-card:focus-visible{background:none;border-color:rgba(255,255,255,.14);border-bottom-color:#fff}
.s12-explorer-dialog .s12-explorer-card:hover strong,.s12-explorer-dialog .s12-explorer-card:focus-visible strong{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.14em}
.s12-explorer-dialog .s12-explorer-card.is-active{background:none;border-bottom-color:var(--s12-red)}
.s12-explorer-dialog .s12-explorer-card.is-active::before{content:"";align-self:center;width:12px;height:12px;border-radius:50%;background:var(--s12-red);box-shadow:0 0 0 5px rgba(179,24,45,.28)}

.s12-explorer-foot{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);align-items:start;margin-top:clamp(18px,2.4vw,28px)}
.s12-explorer-dialog .s12-my12h{margin:0;border-radius:var(--s12-radius);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.s12-explorer-dialog .s12-my12h-head h3{font-family:var(--s12-font-body);font-size:1.1rem;font-weight:800;letter-spacing:0;text-transform:none}
.s12-explorer-side{display:grid;gap:12px;align-content:start}
.s12-explorer-dialog .s12-explorer-now{margin:0;border-radius:var(--s12-radius)}
.s12-explorer-dialog .s12-explorer-new{margin:0;border-radius:var(--s12-radius)}
body.s12-red-world .s12-explorer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border:2px solid var(--s12-gold-soft);border-radius:var(--s12-radius);background:var(--s12-gold-soft);color:#2a060d;font-family:var(--s12-font-display);font-size:1.12rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;box-shadow:6px 6px 0 var(--s12-red);transition:background-color .18s ease,border-color .18s ease}
.s12-explorer-cta:hover,.s12-explorer-cta:focus-visible{background:#fff;border-color:#fff;color:#2a060d}
@media (max-width:760px){
  .s12-explorer-dialog{width:100%;max-height:calc(100dvh - 8px);border-radius:16px 16px 0 0}
  .s12-explorer-dialog .s12-explorer-grid{grid-template-columns:1fr}
  .s12-explorer-dialog .s12-explorer-card{padding:13px 2px 12px}
  .s12-explorer-dialog .s12-explorer-card-copy strong{font-size:1.75rem}
  .s12-explorer-foot{grid-template-columns:1fr}
}
@media (max-width:520px){
  .s12-expansion-actions .s12-button{white-space:normal}
}
@media (max-width:760px){
  .s12-explorer-dialog{height:min(860px,calc(100dvh - 8px))!important}
}

/* ==========================================================================
   1.30.0 — POPRAWKI WŁAŚCICIELA (2)
   1) białe tło przy najechaniu = zawsze ciemny tekst, 2) pływające przyciski w stylu reszty,
   3) nagłówek: menu w osi treści, mocniejszy krój, logo po prawej (także na telefonie).
   ========================================================================== */

/* --- 1) Białe podświetlenie → ciemny tekst. Ogólna reguła linków stopki (1.22) miała wyższą wagę i zostawiała biały tekst na białym. --- */
.s12-site-footer.s12-footer-v2.s12-footer-fest a.s12-footer-social.s12-footer-social:hover,
.s12-site-footer.s12-footer-v2.s12-footer-fest a.s12-footer-social.s12-footer-social:focus-visible{background:#fff;border-color:#fff;color:#2a060d!important;text-decoration:none!important}
.s12-site-footer.s12-footer-v2 .s12-family-strip a.s12-family-item.s12-family-item:hover,
.s12-site-footer.s12-footer-v2 .s12-family-strip a.s12-family-item.s12-family-item:focus-visible{background:#fff;border-color:#fff;color:#1a0a0e!important;text-decoration:none!important}
.s12-site-footer.s12-footer-v2 .s12-family-strip a.s12-family-item.s12-family-item:hover small,
.s12-site-footer.s12-footer-v2 .s12-family-strip a.s12-family-item.s12-family-item:focus-visible small{color:#3a2428!important}
.s12-footer-v2.s12-footer-fest .s12-footer-btn:not(.is-primary):hover,
.s12-footer-v2.s12-footer-fest .s12-footer-btn:not(.is-primary):focus-visible{background:#fff;border-color:#fff;color:#2a060d!important}
.s12-footer-v2.s12-footer-fest .s12-footer-btn.is-primary:hover,
.s12-footer-v2.s12-footer-fest .s12-footer-btn.is-primary:focus-visible{background:#fff;border-color:#fff;color:#2a060d!important}

/* --- 2) Pływające przyciski: powiadomienia, odtwarzacz, „do góry” — ten sam język co przyciski strony --- */
body.s12-red-world .s12-newsletter-bell{min-height:54px;padding:7px 18px 7px 8px;border:2px solid rgba(255,255,255,.82);border-radius:var(--s12-radius);background:var(--s12-bg-night)!important;box-shadow:5px 5px 0 var(--s12-red);backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
body.s12-red-world .s12-newsletter-bell-icon{border-radius:7px;background:var(--s12-red);color:#fff}
body.s12-red-world .s12-newsletter-bell-copy strong{font-family:var(--s12-font-display);font-size:1.08rem;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;color:inherit}
body.s12-red-world .s12-newsletter-bell-copy small{font-size:.74rem;color:var(--s12-ink-soft)}
body.s12-red-world .s12-newsletter-bell:hover,body.s12-red-world .s12-newsletter-bell:focus-visible{background:#fff!important;border-color:#fff;color:#2a060d}
body.s12-red-world .s12-newsletter-bell:hover .s12-newsletter-bell-copy small,body.s12-red-world .s12-newsletter-bell:focus-visible .s12-newsletter-bell-copy small{color:#3a2428}
body.s12-red-world .s12-back-to-top{width:46px;height:46px;border:2px solid rgba(255,255,255,.82);border-radius:var(--s12-radius);background:var(--s12-bg-night);color:#fff;box-shadow:4px 4px 0 var(--s12-red);backdrop-filter:none;-webkit-backdrop-filter:none}
body.s12-red-world .s12-back-to-top:hover,body.s12-red-world .s12-back-to-top:focus-visible{background:#fff;border-color:#fff;color:#2a060d}
body.s12-red-world .s12-music-panel{border:2px solid rgba(255,255,255,.82);border-radius:var(--s12-radius);background:var(--s12-bg-night);box-shadow:5px 5px 0 var(--s12-red);backdrop-filter:none;-webkit-backdrop-filter:none}
body.s12-red-world .s12-music-toggle{border-radius:7px;background:var(--s12-red);color:#fff;border:0}
body.s12-red-world .s12-music-copy small{font-size:.68rem;letter-spacing:.12em;color:var(--s12-ink-soft)}
body.s12-red-world .s12-music-copy strong{font-size:.9rem;font-weight:750}
body.s12-red-world .s12-music-restore{border:2px solid rgba(255,255,255,.82);border-radius:var(--s12-radius);background:var(--s12-bg-night);box-shadow:4px 4px 0 var(--s12-red);color:#fff}
@media (max-width:760px){
  body.s12-red-world .s12-newsletter-bell{min-height:50px;padding:5px;border-radius:var(--s12-radius);box-shadow:4px 4px 0 var(--s12-red)}
}
/* Pływające przyciski nie zasłaniają ostatniej linii stopki. */
@media (min-width:761px){
  .s12-footer-v2.s12-footer-fest .s12-footer-meta{padding-bottom:96px}
}

/* --- 3) Nagłówek: menu w osi treści, krój plakatowy, bieżąca pozycja jako czerwona naklejka; logo po prawej --- */
.s12-primary-menu a{font-family:var(--s12-font-display);font-size:1.16rem;font-weight:700;letter-spacing:.075em;color:#fff}
.s12-primary-menu a::after{bottom:5px;height:3px;border-radius:2px;background:var(--s12-gold-soft);opacity:1}
.s12-primary-menu a:hover,.s12-primary-menu a:focus-visible{color:#fff}
.s12-primary-menu .current-menu-item>a{color:#fff}
.s12-primary-menu a.is-section-active,body:not(.home) .s12-primary-menu .current-menu-item>a{padding:0 .5em;min-height:32px;border-radius:4px;background:var(--s12-red);color:#fff!important;transform:rotate(-2deg);box-shadow:3px 3px 0 var(--s12-bg-night)}
.s12-primary-menu a.is-section-active::after,body:not(.home) .s12-primary-menu .current-menu-item>a::after{display:none}
body.home .s12-primary-menu .current-menu-item>a:not(.is-section-active):not(:hover):not(:focus-visible)::after{transform:scaleX(0)}
.s12-social-nav a{color:#fff}
.s12-social-nav a:hover,.s12-social-nav a:focus-visible{color:#fff;opacity:.72}
@media (min-width:761px){
  .s12-header-shell{width:var(--s12-shell);grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(12px,1.6vw,26px)}
  .s12-header-left{justify-content:flex-start}
  .s12-primary-nav{transform:none}
  .s12-primary-menu{justify-content:flex-start;gap:clamp(12px,1.5vw,26px)}
  .s12-brand{justify-self:end}
  .s12-header-right{padding-left:0;gap:8px}
}
@media (min-width:1121px){
  .s12-header-shell{grid-template-columns:minmax(0,1fr) 236px auto}
  .s12-primary-menu a{font-size:clamp(1.02rem,.8rem + .34vw,1.2rem);letter-spacing:.075em}
}
@media (max-width:1120px) and (min-width:761px){
  .s12-header-shell{width:var(--s12-wide)}
  .s12-primary-menu a{font-size:1.02rem;letter-spacing:.05em}
  .s12-primary-menu{gap:12px}
}

/* Telefon: przycisk MENU jako ramka po lewej, logo jako „pieczęć” po prawej. */
@media (max-width:760px){
  .s12-header-shell,.s12-site-header.is-scrolled .s12-header-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .s12-header-left{grid-column:1}
  .s12-header-right{grid-column:2;justify-content:flex-end}
  .s12-brand{grid-column:3;grid-row:1;justify-self:end;width:60px;height:60px;min-width:60px;max-width:60px;min-height:60px;padding:5px}
  .s12-site-header.is-overlay:not(.is-scrolled) .s12-brand{width:108px;height:108px;min-width:108px;max-width:108px;min-height:108px;padding:8px;transform:translateY(26px)}
  .s12-site-header.is-menu-open .s12-brand,.s12-site-header.is-menu-open.is-overlay:not(.is-scrolled) .s12-brand{width:60px;height:60px;min-width:60px;max-width:60px;min-height:60px;padding:5px;transform:none}
  body.s12-red-world button.s12-menu-toggle,body.s12-red-world button.s12-menu-toggle:hover,body.s12-red-world button.s12-menu-toggle:focus,body.s12-red-world button.s12-menu-toggle:active{display:flex;align-items:center;width:auto;height:44px;padding:0 14px 0 46px;border:2px solid rgba(255,255,255,.85)!important;border-radius:var(--s12-radius);background:rgba(18,6,10,.5)!important;box-shadow:4px 4px 0 var(--s12-red)!important}
  .s12-menu-toggle i,.s12-menu-toggle::before,.s12-menu-toggle::after{left:23px;width:20px;height:2px}
  .s12-menu-toggle::before{top:13px}.s12-menu-toggle i{top:19px}.s12-menu-toggle::after{top:25px}
  .s12-menu-toggle[aria-expanded="true"]::before,.s12-menu-toggle[aria-expanded="true"]::after{top:19px}
  .s12-menu-toggle-label{position:static;transform:none;font-family:var(--s12-font-display);font-size:1.12rem;font-weight:800;letter-spacing:.09em;color:#fff}
  .s12-primary-menu a{font-size:1.7rem;letter-spacing:.04em;min-height:62px}
  .s12-primary-menu a.is-section-active,body:not(.home) .s12-primary-menu .current-menu-item>a{width:auto;min-height:44px;margin:9px auto;padding:0 .6em;transform:rotate(-2deg)}
  .s12-hero-content{padding-top:clamp(150px,20svh,190px)}
}
@media (max-width:390px){
  .s12-header-shell,.s12-site-header.is-scrolled .s12-header-shell{grid-template-columns:auto minmax(0,1fr) auto}
  .s12-site-header.is-overlay:not(.is-scrolled) .s12-brand{width:98px;height:98px;min-width:98px;max-width:98px;min-height:98px;padding:7px;transform:translateY(22px)}
  .s12-hero-content{padding-top:150px}
}
@media (min-width:761px){
  .s12-hero h1{max-width:6.1em}
}

/* ==========================================================================
   1.31.0 — POPRAWKI WŁAŚCICIELA (3)
   1) przycisk „Menu” i przycisk powiadomień w menu: białe tło = ciemny tekst,
   2) okna formularzy (akredytacja, współpraca, wpis, bilety, powiadomienia) w stylu menu festiwalu,
   3) stopka: kontakt Fundacji, złota belka pod linkami przy najechaniu, kolumny bez nachodzenia.
   ========================================================================== */

/* --- 1) Białe tło = ciemny tekst (reguła bazowa miała wyższą wagę niż :hover) --- */
body.s12-red-world .s12-explorer-trigger:hover,body.s12-red-world .s12-explorer-trigger:focus-visible{background:#fff;border-color:#fff;color:#2a060d}
body.s12-red-world .s12-explorer-cta:hover,body.s12-red-world .s12-explorer-cta:focus-visible{background:#fff;border-color:#fff;color:#2a060d}
body.s12-red-world .s12-donate-trigger{border-radius:var(--s12-radius);font-family:var(--s12-font-display);font-size:1.02rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* --- 2) Okna formularzy --- */
body.s12-red-world .s12-dialog:not(.s12-explorer-dialog){border:0;border-radius:14px;background:var(--s12-bg-night);box-shadow:0 30px 90px rgba(0,0,0,.6);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.4) transparent}
body.s12-red-world .s12-dialog::-webkit-scrollbar{width:8px}
body.s12-red-world .s12-dialog::-webkit-scrollbar-track{background:transparent}
body.s12-red-world .s12-dialog::-webkit-scrollbar-thumb{background:rgba(255,255,255,.34);border-radius:8px}
body.s12-red-world .s12-dialog:not(.s12-explorer-dialog) .s12-dialog-head{align-items:center;padding:20px clamp(18px,3vw,32px) 18px;border-bottom:0;background:linear-gradient(135deg,var(--s12-red) 0%,var(--s12-red-deep) 100%)}
body.s12-red-world .s12-dialog .s12-dialog-head .s12-eyebrow{margin:0 0 6px;color:#fff!important}
body.s12-red-world .s12-dialog .s12-dialog-head h2{margin:0;font-family:var(--s12-font-display);font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);font-weight:800;letter-spacing:.01em;line-height:.98;text-transform:uppercase;color:#fff}
body.s12-red-world .s12-dialog .s12-dialog-close{display:grid;place-items:center;width:46px;height:46px;min-width:46px;min-height:46px;flex:0 0 46px;padding:0;border:2px solid #fff!important;border-radius:var(--s12-radius)!important;background:transparent!important;color:#fff!important;font-size:1.3rem;line-height:1;box-shadow:none!important;cursor:pointer}
body.s12-red-world .s12-dialog .s12-dialog-close:hover,body.s12-red-world .s12-dialog .s12-dialog-close:focus-visible{background:#fff!important;color:#2a060d!important}
body.s12-red-world .s12-dialog .s12-form{gap:18px;padding:clamp(18px,2.6vw,28px) clamp(18px,3vw,32px) clamp(24px,3vw,34px)}
body.s12-red-world .s12-dialog .s12-field span,body.s12-red-world .s12-dialog .s12-check span{font-size:.9rem;font-weight:700;color:#fff}
body.s12-red-world .s12-dialog .s12-check span{font-weight:500;line-height:1.5;color:var(--s12-ink-body)}
body.s12-red-world .s12-dialog .s12-field input,body.s12-red-world .s12-dialog .s12-field select,body.s12-red-world .s12-dialog .s12-field textarea{min-height:50px;padding:12px 14px;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;font-size:1rem}
body.s12-red-world .s12-dialog .s12-field input:focus,body.s12-red-world .s12-dialog .s12-field select:focus,body.s12-red-world .s12-dialog .s12-field textarea:focus{border-color:#fff;outline:3px solid rgba(196,164,102,.5);outline-offset:1px}
body.s12-red-world .s12-dialog .s12-check input[type="checkbox"]{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--s12-red)}
body.s12-red-world .s12-dialog .s12-text-button{justify-self:start;padding:0;border:0!important;background:none!important;color:#fff!important;font-family:var(--s12-font-body);font-size:1rem;font-weight:700;box-shadow:none!important;cursor:pointer}
body.s12-red-world .s12-dialog .s12-text-button:hover,body.s12-red-world .s12-dialog .s12-text-button:focus-visible{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.22em}
body.s12-red-world .s12-dialog .s12-form .s12-button,body.s12-red-world .s12-dialog .s12-form button[type="submit"]{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:2px solid var(--s12-gold-soft)!important;border-radius:var(--s12-radius)!important;background:var(--s12-gold-soft)!important;color:#2a060d!important;font-family:var(--s12-font-display);font-size:1.12rem;font-weight:800;letter-spacing:.07em;line-height:1.1;text-transform:uppercase;box-shadow:6px 6px 0 var(--s12-red)!important;cursor:pointer}
body.s12-red-world .s12-dialog .s12-form .s12-button::after{display:none}
body.s12-red-world .s12-dialog .s12-form .s12-button:hover,body.s12-red-world .s12-dialog .s12-form .s12-button:focus-visible,body.s12-red-world .s12-dialog .s12-form button[type="submit"]:hover,body.s12-red-world .s12-dialog .s12-form button[type="submit"]:focus-visible{background:#fff!important;border-color:#fff!important;color:#2a060d!important}
@media (max-width:760px){
  body.s12-red-world .s12-dialog:not(.s12-explorer-dialog){border-radius:16px 16px 0 0}
  body.s12-red-world .s12-dialog .s12-form .s12-button,body.s12-red-world .s12-dialog .s12-form button[type="submit"]{justify-self:stretch;width:calc(100% - 6px)}
}

/* --- 3) Stopka --- */
.s12-footer-v2 .s12-footer-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.4fr)!important}
.s12-footer-fest .s12-footer-nav a,.s12-footer-fest .s12-footer-list a{font-size:clamp(1.14rem,.9rem + .5vw,1.36rem)!important}
.s12-footer-v2 .s12-footer-mails{display:grid;gap:14px}
.s12-footer-v2 .s12-footer-mail-copy span{font-size:clamp(.82rem,.62rem + .44vw,.94rem)}
.s12-footer-v2 .s12-footer-phone .s12-footer-mail-copy span{font-family:var(--s12-font-display);font-size:1.5rem;font-weight:800;letter-spacing:.04em;line-height:1}
/* Linki stopki: złota belka przy najechaniu — jak w menu. */
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-main a:not(.s12-footer-logo):hover,
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-main a:not(.s12-footer-logo):focus-visible,
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-meta a.s12-footer-meta-link:hover,
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-meta a:hover,
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-meta a:focus-visible{color:#fff!important;text-decoration:underline!important;text-decoration-color:var(--s12-gold-soft)!important;text-decoration-thickness:3px!important;text-underline-offset:.24em!important}
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-main a.s12-footer-mail:hover,
.s12-site-footer.s12-footer-v2.s12-footer-fest .s12-footer-main a.s12-footer-mail:focus-visible{text-decoration:none!important}
.s12-footer-v2.s12-footer-fest .s12-footer-mail:hover .s12-footer-mail-copy span,.s12-footer-v2.s12-footer-fest .s12-footer-mail:focus-visible .s12-footer-mail-copy span{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.24em}
@media (max-width:1100px){
  .s12-footer-v2 .s12-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .s12-footer-v2 .s12-footer-main{grid-template-columns:minmax(0,1fr)!important}
  .s12-footer-v2 .s12-footer-mails{justify-items:start}
}

/* --- 4) Sekcje dwukolumnowe: krótsza kolumna podąża za dłuższą przy przewijaniu (strona główna i podstrony).
   Obie kolumny są „przyklejone” do góry — w praktyce przesuwa się tylko krótsza, bo dłuższa wypełnia całą sekcję. --- */
@media (min-width:901px) and (min-height:560px){
  :is(.s12-intro-grid,.s12-seo-story-grid,.s12-expansion-grid,.s12-info-grid,.s12-ticket-layout,.s12-edition-story-grid,.s12-edition-sources-grid,.s12-history-manifesto-grid,.s12-artist-content-grid,.s12-artist-thanks-grid,.s12-person-bio-grid,.s12-legal-grid,.s12-article-layout,.s12-donate-grid)>*{position:sticky;top:calc(var(--s12-header-height,84px) + 32px);align-self:start}
}
.s12-expansion{overflow:clip}

/* ==========================================================================
   1.32.0 — FESTIWAL W MEDIACH: Festiwal TV, Piszą o nas, Galerie w sieci
   ========================================================================== */

/* --- Festiwal TV --- */
.s12-tv{background:linear-gradient(180deg,var(--s12-bg-night) 0%,var(--s12-bg-night-2) 100%)}
.s12-section-head>.s12-inline-link{align-self:end;font-family:var(--s12-font-display);font-size:1.1rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.s12-tv-grid{display:grid;gap:clamp(14px,1.8vw,22px)}
.s12-tv-grid.has-side{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}
.s12-tv-side{display:grid;gap:clamp(12px,1.4vw,16px)}
.s12-tv-play{display:grid;gap:12px;color:#fff;text-decoration:none}
.s12-tv-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--s12-radius);overflow:hidden;background:var(--s12-bg-night-2);box-shadow:0 0 0 1px rgba(255,255,255,.14);transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease}
.s12-tv-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.s12-tv-thumb-empty{position:absolute;inset:0;background:linear-gradient(135deg,var(--s12-red) 0%,var(--s12-red-deep) 60%,#3a0a13 100%)}
.s12-tv-thumb-empty::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.7px);background-size:12px 12px}
.s12-tv-play-icon{position:absolute;left:14px;bottom:14px;display:grid;place-items:center;width:52px;height:52px;border-radius:8px;background:var(--s12-red);color:#fff;box-shadow:4px 4px 0 var(--s12-bg-night);transition:background-color .18s ease,color .18s ease}
.s12-tv-play-icon svg{width:26px;height:26px;fill:currentColor}
.s12-tv-card.is-featured .s12-tv-play-icon{left:20px;bottom:20px;width:76px;height:76px}
.s12-tv-card.is-featured .s12-tv-play-icon svg{width:38px;height:38px}
.s12-tv-play:hover .s12-tv-thumb,.s12-tv-play:focus-visible .s12-tv-thumb{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.3),0 16px 34px rgba(0,0,0,.4)}
.s12-tv-play:hover .s12-tv-play-icon,.s12-tv-play:focus-visible .s12-tv-play-icon{background:#fff;color:#2a060d}
.s12-tv-copy{display:grid;gap:5px;justify-items:start}
.s12-tv-badge{padding:2px 8px 3px;border-radius:4px;background:var(--s12-red);font-family:var(--s12-font-display);font-size:.86rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;color:#fff}
.s12-tv-card.is-about .s12-tv-badge{background:#fff;color:#2a060d}
.s12-tv-copy strong{font-size:1.04rem;font-weight:750;line-height:1.3;color:#fff;text-wrap:balance}
.s12-tv-card.is-featured .s12-tv-copy strong{font-family:var(--s12-font-display);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);font-weight:800;letter-spacing:.01em;line-height:1.02;text-transform:uppercase}
.s12-tv-play:hover .s12-tv-copy strong,.s12-tv-play:focus-visible .s12-tv-copy strong{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.2em}
.s12-tv-copy small{font-size:.86rem;color:var(--s12-ink-soft)}
.s12-tv-side .s12-tv-play{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:14px}
.s12-tv-side .s12-tv-play-icon{left:8px;bottom:8px;width:36px;height:36px;border-radius:6px;box-shadow:3px 3px 0 var(--s12-bg-night)}
.s12-tv-side .s12-tv-play-icon svg{width:18px;height:18px}
.s12-tv-about{margin-top:clamp(28px,4vw,48px)}
.s12-tv-about-title{margin:0 0 18px;font-family:var(--s12-font-display)!important;font-size:1.7rem;font-weight:800;letter-spacing:.02em;line-height:1;text-transform:uppercase}
.s12-tv-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.s12-tv-row.is-wrap{margin-top:clamp(18px,2.4vw,30px)}
.s12-tv-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.s12-tv-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:2px solid rgba(255,255,255,.8);border-radius:var(--s12-radius);color:#fff;font-family:var(--s12-font-display);font-size:1.06rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;text-decoration:none!important}
.s12-tv-tabs a:hover,.s12-tv-tabs a:focus-visible{background:#fff;border-color:#fff;color:#2a060d!important}
.s12-tv-about-section{background:linear-gradient(180deg,var(--s12-bg-wine) 0%,var(--s12-bg-wine-2) 100%)}

/* Okno odtwarzacza */
body.s12-red-world .s12-dialog.s12-tv-dialog{width:min(1100px,calc(100% - 24px));max-height:calc(100dvh - 24px)}
.s12-tv-frame{aspect-ratio:16/9;background:#000}
.s12-tv-frame iframe{display:block;width:100%;height:100%;border:0}
.s12-tv-dialog-note{margin:0;padding:14px clamp(18px,3vw,32px) 18px;font-size:.88rem;line-height:1.5;color:var(--s12-ink-soft)}
.s12-tv-dialog-note a{color:#fff;font-weight:700;text-decoration:none}
.s12-tv-dialog-note a:hover,.s12-tv-dialog-note a:focus-visible{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.22em}

/* --- Piszą o nas --- */
.s12-press{background:linear-gradient(180deg,var(--s12-bg-wine) 0%,var(--s12-bg-wine-2) 100%)}
.s12-press-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.s12-press-slot{display:grid}
.s12-press-card{display:grid}
.s12-press-card a{display:grid;align-content:start;gap:10px;height:100%;padding:clamp(20px,2.2vw,28px);border:1px solid rgba(255,255,255,.16);border-radius:var(--s12-radius);background:rgba(18,6,10,.34);color:#fff;text-decoration:none;transition:border-color .18s ease,background-color .18s ease}
.s12-press-thumb{display:block;aspect-ratio:16/9;margin:calc(-1 * clamp(20px,2.2vw,28px)) calc(-1 * clamp(20px,2.2vw,28px)) 6px;border-radius:var(--s12-radius) var(--s12-radius) 0 0;overflow:hidden}
.s12-press-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.s12-press-source{padding-left:12px;border-left:5px solid var(--s12-red);font-family:var(--s12-font-display);font-size:1.34rem;font-weight:800;letter-spacing:.03em;line-height:1.05;text-transform:uppercase}
.s12-press-card strong{font-size:1.06rem;font-weight:700;line-height:1.38;color:#fff}
.s12-press-note{font-size:.94rem;line-height:1.5;color:var(--s12-ink-body)}
.s12-press-card small{margin-top:auto;padding-top:6px;font-size:.86rem;color:var(--s12-ink-soft)}
.s12-press-card a:hover,.s12-press-card a:focus-visible{border-color:#fff;background:rgba(18,6,10,.55)}
.s12-press-card a:hover strong,.s12-press-card a:focus-visible strong{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.2em}

/* --- Galerie w sieci --- */
.s12-xg{background:linear-gradient(180deg,var(--s12-bg-night-2) 0%,var(--s12-bg-night) 100%)}
.s12-xg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.s12-xg-card a{display:grid;gap:12px;color:#fff;text-decoration:none}
.s12-xg-thumb{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--s12-radius);overflow:hidden;background:var(--s12-bg-night-2);box-shadow:0 0 0 1px rgba(255,255,255,.14);transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease}
.s12-xg-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.s12-xg-thumb-empty{position:absolute;inset:0;background:linear-gradient(135deg,#3a0a13 0%,var(--s12-bg-night-2) 100%)}
.s12-xg-thumb-empty::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.2px,transparent 1.7px);background-size:12px 12px}
.s12-xg-card a:hover .s12-xg-thumb,.s12-xg-card a:focus-visible .s12-xg-thumb{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.3),0 16px 34px rgba(0,0,0,.4)}
.s12-xg-copy{display:grid;gap:4px}
.s12-xg-copy strong{font-size:1.02rem;font-weight:750;line-height:1.3}
.s12-xg-card a:hover strong,.s12-xg-card a:focus-visible strong{text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.2em}
.s12-xg-copy small{font-size:.86rem;color:var(--s12-ink-soft)}

@media (max-width:1024px){
  .s12-tv-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s12-press-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s12-xg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .s12-tv-grid.has-side{grid-template-columns:1fr}
  .s12-section-head>.s12-inline-link{align-self:center}
  .s12-tv-tabs{justify-content:center}
}
@media (max-width:560px){
  .s12-tv-row,.s12-press-grid{grid-template-columns:1fr}
  .s12-tv-copy{justify-items:start}
  .s12-tv-about-title{text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .s12-tv-thumb,.s12-xg-thumb{transition:none}
}

/* ==========================================================================
   1.33.0 — ZGODY NA COOKIES: okno wyboru, ustawienia, pytanie przy filmie, tabela w polityce
   Zasada: „Tylko niezbędne” i „Zgoda na wszystko” wyglądają identycznie (żadnego nakłaniania kolorem).
   ========================================================================== */
.s12-consent{position:fixed;z-index:9990;left:50%;bottom:22px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 28px;width:min(860px,calc(100% - 28px));padding:20px 24px;border:2px solid rgba(255,255,255,.85);border-radius:var(--s12-radius);background:var(--s12-bg-night);color:#fff;box-shadow:7px 7px 0 var(--s12-red),0 24px 70px rgba(0,0,0,.55)}
.s12-consent[hidden]{display:none}
.s12-consent h2{margin:0 0 6px;font-family:var(--s12-font-display);font-size:1.5rem;font-weight:800;letter-spacing:.03em;line-height:1;text-transform:uppercase;color:#fff}
.s12-consent p{margin:0;font-size:.95rem;line-height:1.5;color:var(--s12-ink-body)}
.s12-consent p a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:2px;text-underline-offset:.22em}
.s12-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}
body.s12-red-world .s12-consent-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:2px solid #fff;border-radius:var(--s12-radius);background:transparent;color:#fff;font-family:var(--s12-font-display);font-size:1.04rem;font-weight:800;letter-spacing:.07em;line-height:1.1;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color .18s ease,color .18s ease}
body.s12-red-world .s12-consent-btn:hover,body.s12-red-world .s12-consent-btn:focus-visible{background:#fff;color:#2a060d}
body.s12-red-world .s12-consent-link{grid-column:1/-1;justify-self:center;padding:4px 2px;border:0;background:none;color:#fff;font-family:var(--s12-font-body);font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:none;text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:2px;text-underline-offset:.22em}
body.s12-red-world .s12-consent-link:hover,body.s12-red-world .s12-consent-link:focus-visible{text-decoration-thickness:3px}
/* Pływające przyciski nie nachodzą na okno wyboru. */
body.s12-consent-visible .s12-newsletter-bell,body.s12-consent-visible .s12-back-to-top,body.s12-consent-visible .s12-music-player{opacity:0;pointer-events:none}
@media (max-width:760px){
  .s12-consent{grid-template-columns:1fr;bottom:calc(var(--s12-mobile-dock-height,74px) + 16px + env(safe-area-inset-bottom,0px));padding:16px;box-shadow:5px 5px 0 var(--s12-red),0 18px 50px rgba(0,0,0,.55)}
  .s12-consent h2{font-size:1.3rem}
  .s12-consent p{font-size:.9rem}
  body.s12-red-world .s12-consent-btn{padding:0 10px;font-size:.98rem}
}

/* Ustawienia */
body.s12-red-world .s12-dialog.s12-consent-dialog{width:min(760px,calc(100% - 24px))}
.s12-consent-form{display:grid;gap:14px}
.s12-consent-intro,.s12-consent-more{margin:0;font-size:.95rem;line-height:1.55;color:var(--s12-ink-body)}
.s12-consent-more a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:2px;text-underline-offset:.22em}
.s12-consent-cat{margin:0;padding:16px 18px;border:1px solid rgba(255,255,255,.16);border-radius:var(--s12-radius);background:rgba(255,255,255,.04)}
.s12-consent-cat legend{padding:0;width:100%;float:left;margin-bottom:8px}
.s12-consent-cat legend+*{clear:both}
.s12-consent-cat p{margin:0;font-size:.94rem;line-height:1.55;color:var(--s12-ink-body)}
.s12-consent-switch{display:flex;align-items:center;gap:14px;cursor:pointer}
.s12-consent-switch input{position:absolute;opacity:0;width:1px;height:1px}
.s12-consent-switch-ui{position:relative;flex:none;width:52px;height:30px;border:2px solid #fff;border-radius:999px;background:transparent;transition:background-color .18s ease}
.s12-consent-switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s ease}
.s12-consent-switch input:checked+.s12-consent-switch-ui{background:var(--s12-red)}
.s12-consent-switch input:checked+.s12-consent-switch-ui::after{transform:translateX(22px)}
.s12-consent-switch input:disabled+.s12-consent-switch-ui{opacity:.6}
.s12-consent-switch input:focus-visible+.s12-consent-switch-ui{outline:3px solid var(--s12-gold-soft);outline-offset:2px}
.s12-consent-switch-label{font-family:var(--s12-font-display);font-size:1.3rem;font-weight:800;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;color:#fff}
.s12-consent-switch-label small{margin-left:8px;font-family:var(--s12-font-body);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--s12-ink-soft)}
.s12-consent-details{margin-top:10px}
.s12-consent-details summary{cursor:pointer;font-size:.9rem;font-weight:700;color:#fff}
.s12-consent-details ul{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.s12-consent-details li{font-size:.88rem;line-height:1.5;color:var(--s12-ink-body)}
.s12-consent-details code,.s12-legal-table code{padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.1);font-size:.86em;color:#fff;word-break:break-word}
.s12-consent-details small{display:block;color:var(--s12-ink-soft)}
.s12-consent-dialog-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
@media (max-width:620px){
  .s12-consent-dialog-actions{grid-template-columns:1fr}
}

/* Pytanie przy filmie (brak zgody na filmy) */
.s12-tv-gate{display:grid;align-content:center;justify-items:center;gap:18px;height:100%;padding:clamp(20px,4vw,48px);background:linear-gradient(135deg,#3a0a13 0%,var(--s12-bg-night) 100%);text-align:center}
.s12-tv-gate p{margin:0;max-width:44em;font-size:1.02rem;line-height:1.55;color:#fff}
.s12-tv-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* Stopka: stały link do ustawień */
body.s12-red-world .s12-footer-consent{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;box-shadow:none}
body.s12-red-world .s12-footer-consent:hover,body.s12-red-world .s12-footer-consent:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--s12-gold-soft);text-decoration-thickness:3px;text-underline-offset:.24em}

/* Tabela w polityce prywatności */
.s12-legal-table-wrap{margin:18px 0 22px;overflow-x:auto;border:1px solid rgba(255,255,255,.16);border-radius:var(--s12-radius)}
.s12-legal-table{width:100%;min-width:680px;border-collapse:collapse;font-size:.9rem;line-height:1.45}
.s12-legal-table th,.s12-legal-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:top;color:var(--s12-ink-body)}
.s12-legal-table th{background:rgba(255,255,255,.06);font-family:var(--s12-font-display);font-size:1rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;white-space:nowrap}
.s12-legal-table tr:last-child td{border-bottom:0}
.s12-legal-prose a[data-consent-open]{font-weight:700}
