/* Dyrektor Marketingu Roku — beta, runda 3: podstrony (router), strona główna skórki Gradient, landing page
   kategorii, podstrony Kapituły, Gala z konferencją, Aktualności. Baza dla obu skórek — skórka Klasyczna
   nadpisuje wygląd w klasyczna.css. Tokeny kolorów w style.css. */

/* Dzień jaśniejszy o połowę (Paweł 24.09: „bardziej białe, ale nie białe — rozjaśnij o 50%”). */
:root[data-motyw="dzien"] {
  --tlo: #fbf8f4;
  --tlo-2: #f6f3ec;
  --szklo: rgba(251, 248, 244, 0.84);
  --hero-tlo:
    radial-gradient(70% 55% at 28% 30%, rgba(208, 164, 90, 0.3), transparent 62%),
    radial-gradient(60% 55% at 76% 74%, rgba(236, 217, 176, 0.5), transparent 60%),
    #fbf8f4;
  --hero-nakladka: linear-gradient(90deg, rgba(251, 248, 244, 0.72) 0%, rgba(251, 248, 244, 0.26) 55%, rgba(251, 248, 244, 0.5) 100%);
}

/* ---------- Wspólne ---------- */
.strona { display: block; min-height: 60vh; transition: opacity 0.14s ease; }
.strona.wygaszanie { opacity: 0; }
.ikona { display: block; flex: none; width: 24px; height: 24px; }
.logo--zloty, .logo--zloty-jasne { display: none; }
.menu [data-grupa] > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--akcent); transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease-out-expo); }
.menu [data-grupa].aktywna > a { color: var(--tekst); }
.menu [data-grupa].aktywna > a::after { transform: scaleX(1); }
.menu__lista a::after { content: none; }

.skorka-przycisk { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 12px; border: 1px solid var(--linia); background: none; font: 600 12px/1 var(--font-display); color: var(--tekst); cursor: pointer; transition: border-color 0.2s ease, background-color 0.2s ease; }
.skorka-przycisk:hover { border-color: var(--akcent); background: color-mix(in srgb, var(--akcent) 10%, transparent); }
.skorka-przycisk__etykieta { letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }
.skorka-przycisk b { font-weight: 700; color: var(--akcent-tekst); }

.okruszki ol { display: flex; flex-wrap: wrap; gap: 6px 10px; list-style: none; font: 500 12px/1.3 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tekst-3); }
.okruszki li + li::before { content: "/"; margin-right: 10px; color: var(--akcent); }
.okruszki a { transition: color 0.2s ease; }
.okruszki a:hover { color: var(--akcent-tekst); }
.okruszki [aria-current] { color: var(--tekst-2); }

.link-strzalka { display: inline-flex; align-items: center; gap: 10px; font: 600 13px/1.2 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tekst); transition: color 0.2s ease; }
.link-strzalka span { transition: transform 0.3s var(--ease-out-expo); }
.link-strzalka:hover { color: var(--akcent-tekst); }
.link-strzalka:hover span { transform: translateX(4px); }
.sekcja__glowa--akcja { justify-content: space-between; align-items: flex-end; }
.sekcja__glowa--akcja > div { display: flex; flex-direction: column; gap: 10px; }
.sekcja__akcja { margin-left: auto; align-self: center; }
.sekcja__tytul-maly { font: 700 clamp(1.6rem, 1.2rem + 1.5vw, 2.6rem)/1.1 var(--font-display); letter-spacing: -0.02em; }

/* ---------- Ekran tytułowy podstrony ---------- */
.naglowek-strony { position: relative; display: flex; align-items: flex-end; min-height: clamp(440px, 58svh, 680px); padding: calc(var(--naglowek-wys) + 64px) 0 clamp(48px, 6vw, 88px); overflow: hidden; background: var(--hero-tlo); }
.naglowek-strony::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--hero-nakladka); }
.naglowek-strony__znak { position: absolute; z-index: 1; right: max(var(--pad), calc((100vw - var(--szer)) / 2 + var(--pad))); bottom: clamp(16px, 3vw, 40px); width: min(30vw, 440px); aspect-ratio: 1 / 1.08; pointer-events: none; }
.naglowek-strony:has(.naglowek-strony__znak) .naglowek-strony__tresc { padding-right: min(32vw, 470px); }
.naglowek-strony__tresc { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.naglowek-strony h1 { max-width: 18ch; font: 700 clamp(2.6rem, 1.4rem + 4.4vw, 6.2rem)/0.98 var(--font-display); letter-spacing: -0.035em; }
.naglowek-strony__lead { max-width: 62ch; font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem); line-height: 1.55; color: var(--tekst-2); }
.naglowek-strony__lead b { color: var(--tekst); font-weight: 600; }

/* ---------- Strona główna (Gradient): ekran tytułowy, liczniki bez ramki w prawym dolnym rogu ---------- */
.hero--start { flex-direction: column; justify-content: center; align-items: stretch; padding-top: calc(var(--naglowek-wys) + clamp(24px, 4vh, 48px)); padding-bottom: clamp(112px, 15vh, 160px); }
.hero__start { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(16px, 2.4vh, 24px); }
.hero__tytul { max-width: 22ch; font: 700 clamp(2.1rem, 1rem + 2.8vw, 4.3rem)/1.03 var(--font-display); letter-spacing: -0.03em; }
.hero--start .naklejka { width: clamp(150px, 11vw, 200px); }
.hero__podtytul { font: 600 clamp(1.2rem, 1rem + 0.8vw, 1.8rem)/1.2 var(--font-display); color: var(--akcent-tekst); }
.hero--start .hero__info { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); gap: 0 clamp(24px, 4vw, 64px); max-width: 1040px; }
.hero--start .hero__info div { flex-direction: column; gap: 6px; padding: 16px 0 0; border-bottom: 0; }
.hero__liczniki { position: absolute; left: 0; right: 0; bottom: clamp(28px, 5vh, 56px); z-index: 1; display: flex; justify-content: flex-end; gap: clamp(24px, 3.4vw, 56px); pointer-events: none; }
.hero__licznik { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.hero__licznik-tytul { font: 600 12px/1 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--akcent-tekst); }
.hero__licznik .licznik__czas { justify-content: flex-end; }

/* ---------- Sekcja powitalna i bloki kina (film z Gali w tle, rozwija się po najechaniu) ---------- */
.witaj__tekst { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: clamp(28px, 3.4vw, 48px); }
.witaj h2 { max-width: 20ch; font: 700 clamp(2rem, 1.2rem + 2.8vw, 3.8rem)/1.02 var(--font-display); letter-spacing: -0.03em; }
.witaj__tekst > p:not(.eyebrow) { max-width: 66ch; font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.witaj__tekst .witaj__wskazowka { font-size: 13.5px; color: var(--tekst-3); }
.kina { display: flex; gap: 10px; height: clamp(340px, 36vw, 600px); }
.kina--jeden { height: clamp(300px, 42vw, 640px); }
.kino { position: relative; isolation: isolate; container-type: size; flex: 1 1 0; min-width: 0; overflow: hidden; background: #0a0a0c; color: #fcfcfc; cursor: pointer; transition: flex-grow 0.8s var(--ease-out-expo); }
@media (hover: hover) and (pointer: fine) {
  .kina:not(.kina--otwarte):hover .kino { flex-grow: 0.7; }
  .kina:not(.kina--otwarte) .kino:hover, .kina:not(.kina--otwarte) .kino:focus-within { flex-grow: 2.3; }
}
.kino__plakat { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease-out-expo), opacity 0.6s ease; }
/* Ruch także bez podglądu Vimeo: kadr powoli się przybliża, a X edycja ma lokalny fragment filmu. */
.kino:hover .kino__plakat { transform: scale(1.14) translate(-1.5%, -1%); transition: transform 9s linear, opacity 0.6s ease; }
.kino__klip { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.6s ease; }
.kino--klip .kino__klip { opacity: 1; }
.kino--otwarte .kino__klip { display: none; }
.kino__ekran { position: absolute; inset: 0; z-index: -1; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity 0.8s ease; }
.kino__ekran iframe { position: absolute; left: 50%; top: 50%; width: max(100cqw, 177.78cqh); height: max(100cqh, 56.25cqw); border: 0; transform: translate(-50%, -50%); }
.kino--podglad .kino__ekran { opacity: 1; }
.kino::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(0deg, rgba(10, 10, 12, 0.88) 0%, rgba(10, 10, 12, 0.25) 52%, rgba(10, 10, 12, 0.1) 100%); transition: opacity 0.6s ease; }
.kino--podglad::after { opacity: 0.75; }
.kino__tresc { position: absolute; inset: auto 0 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: clamp(18px, 2vw, 32px); }
.kino__edycja { font: 700 clamp(2.2rem, 1.4rem + 2.4vw, 4rem)/0.95 var(--font-display); letter-spacing: -0.03em; }
.kino__edycja small { font-size: 0.34em; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #e5cd9c; }
.kino__tytul { font: 600 12.5px/1.3 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(252, 252, 252, 0.78); }
.kino__graj { display: inline-flex; align-items: center; gap: 0; margin-top: 8px; padding: 0; border: 0; background: none; font: 600 13px/1 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: #fcfcfc; cursor: pointer; }
.kino__ikona { position: relative; flex: none; width: 54px; height: 54px; border-radius: 50%; background: var(--akcent-tlo); box-shadow: 0 0 0 8px color-mix(in srgb, var(--akcent-tlo) 22%, transparent); transition: transform 0.4s var(--ease-out-expo); }
.kino__ikona::before { content: ""; position: absolute; left: 21px; top: 17px; border-style: solid; border-width: 10px 0 10px 16px; border-color: transparent transparent transparent var(--na-akcencie); }
.kino__napis { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width 0.7s var(--ease-out-expo), opacity 0.4s ease, margin 0.7s var(--ease-out-expo); }
.kino:hover .kino__ikona, .kino:focus-within .kino__ikona { transform: scale(1.06); }
.kino:hover .kino__napis, .kino:focus-within .kino__napis { max-width: 22ch; margin-left: 16px; opacity: 1; }
.kino__zamknij { position: absolute; top: 14px; right: 14px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid rgba(252, 252, 252, 0.4); background: rgba(10, 10, 12, 0.6); font: 600 12px/1 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: #fcfcfc; cursor: pointer; }
.kino__zamknij:hover { border-color: #e5cd9c; color: #e5cd9c; }
.kino__zamknij[hidden] { display: none; }
.kina--otwarte .kino:not(.kino--otwarte) { display: none; }
.kino--otwarte { cursor: default; }
.kino--otwarte .kino__ekran { opacity: 1; pointer-events: auto; z-index: 2; }
.kino--otwarte .kino__ekran iframe { width: 100%; height: 100%; transform: none; left: 0; top: 0; }
.kino--otwarte .kino__tresc, .kino--otwarte::after { display: none; }
.filmy__laureaci { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 22px; }
.edycje__film { margin-bottom: clamp(32px, 4vw, 56px); }
.gala__kina { margin-top: 10px; }

/* ---------- Logo w naklejce (czarna na jasnym, złota na ciemnym) ---------- */
.naklejka { display: block; width: clamp(190px, 16vw, 280px); aspect-ratio: 500 / 244; background: url("/dmr-naklejka-zlota.svg") no-repeat left center / contain; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.28)); }
:root[data-motyw="dzien"] .naklejka { background-image: url("/dmr-naklejka-czarna.svg"); filter: drop-shadow(0 18px 30px rgba(40, 30, 10, 0.18)); }
.stopka__naklejka { width: clamp(220px, 20vw, 320px); margin-bottom: clamp(28px, 3vw, 44px); }

/* ---------- Pasy z filmem: tytuł podstrony (h1) jak nagłówek pasa, zakładki edycji ---------- */
.pas-wideo h1 { font: 700 clamp(2.4rem, 5.6vw, 5.6rem)/0.98 var(--font-display); letter-spacing: -0.035em; }
.zakladka small { margin-left: 4px; font-size: 0.45em; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }

/* ---------- Kafle strony głównej (Gradient) ---------- */
.kafle { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.kafel { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 280px; padding: clamp(22px, 2.4vw, 36px); overflow: hidden; background: var(--tlo-2); transition: background-color 0.3s ease; }
.kafel:hover { background: var(--tlo); }
.kafel--duzy { grid-row: span 2; }
.kafel--szeroki { grid-column: span 2; }
.kafel__eyebrow { font: 600 12.5px/1.2 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--akcent-tekst); }
.kafel__liczba { font: 700 clamp(4.4rem, 3rem + 5vw, 9rem)/0.9 var(--font-display); letter-spacing: -0.05em; }
.kafel__tytul { max-width: 30ch; font: 600 clamp(1.1rem, 1rem + 0.45vw, 1.45rem)/1.3 var(--font-display); letter-spacing: -0.01em; }
.kafel__dalej { margin-top: auto; font: 600 14px/1 var(--font-display); color: var(--akcent-tekst); }
.kafel__twarze { display: flex; }
.kafel__twarze img { width: 56px; height: 56px; margin-left: -12px; border: 2px solid var(--tlo-2); border-radius: 50%; object-fit: cover; filter: grayscale(1); }
.kafel__twarze img:first-child { margin-left: 0; }
.kafel__laureaci { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px 24px; }
.kafel__laureaci span { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-3); }
.kafel__laureaci b { font: 700 clamp(1.1rem, 0.95rem + 0.5vw, 1.4rem)/1.1 var(--font-display); letter-spacing: -0.01em; color: var(--tekst); }
.kafel--foto { background: #0a0a0c; color: #fcfcfc; --akcent-tekst: #e5cd9c; }
.kafel--foto:hover { background: #0a0a0c; }
.kafel__tlo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.42; transition: opacity 0.4s ease, transform 1.2s var(--ease-out-expo); }
.kafel--foto:hover .kafel__tlo { opacity: 0.55; transform: scale(1.04); }
.kafel--foto > span { position: relative; z-index: 1; }

/* ---------- Entry Kit: pas na stronie głównej i osobna podstrona ---------- */
.entry-kit__pas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px; }
.entry-kit--strona { position: relative; min-height: 100svh; padding-top: calc(var(--naglowek-wys) + clamp(56px, 8vw, 120px)); overflow: hidden; background: var(--hero-tlo); }
.entry-kit--strona::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--hero-nakladka); }
.entry-kit--strona .entry-kit__siatka { position: relative; z-index: 1; }
.entry-kit__tytul { margin: 18px 0 16px; font: 700 clamp(2.6rem, 1.4rem + 4vw, 5.6rem)/0.98 var(--font-display); letter-spacing: -0.035em; }
.entry-kit--strona .formularz { padding: clamp(22px, 3vw, 40px); background: var(--szklo); border: 1px solid var(--linia); }

/* ---------- Kroki (zasady, Gala) ---------- */
.kroki { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); list-style: none; }
.kroki li { display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.4vw, 36px); background: var(--tlo); }
.sekcja--tlo2 .kroki li { background: var(--tlo-2); }
.kroki b { font: 700 clamp(2.4rem, 1.6rem + 2vw, 3.6rem)/1 var(--font-display); letter-spacing: -0.03em; color: var(--akcent-tekst); }
.kroki h3 { font: 600 clamp(1.2rem, 1rem + 0.6vw, 1.6rem)/1.2 var(--font-display); letter-spacing: -0.01em; }
.kroki p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }

/* ---------- Galeria: linki do galerii i filmów poprzednich edycji ---------- */
.mozaika__el--pion img { object-position: center 18%; }
.galerie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; margin-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--linia-2); list-style: none; }
.galerie a { display: flex; align-items: baseline; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--linia-2); }
.galerie span { flex: none; width: 6.5em; font: 600 13px/1.2 var(--font-display); letter-spacing: 0.12em; color: var(--akcent-tekst); }
.galerie b { font: 600 1.2rem/1.2 var(--font-display); transition: color 0.2s ease; }
.galerie i { margin-left: auto; font-style: normal; color: var(--akcent); }
.galerie a:hover b { color: var(--akcent-tekst); }

/* ---------- O konkursie: linki dalej ---------- */
.linki-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 32px; border-top: 1px solid var(--linia-2); list-style: none; }
.linki-lista a { display: flex; justify-content: space-between; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--linia-2); font: 600 clamp(1.1rem, 1rem + 0.5vw, 1.5rem)/1.2 var(--font-display); transition: color 0.2s ease; }
.linki-lista a::after { content: "/"; color: var(--akcent); }
.linki-lista a:hover { color: var(--akcent-tekst); }

/* ---------- Kontakt ---------- */
.kontakt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.kontakt__blok { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(24px, 3vw, 44px); background: var(--tlo); }
.kontakt__blok h2 { font: 600 15px/1.3 var(--font-display); }
.kontakt__blok p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }
.kontakt__duzy { font: 700 clamp(1.25rem, 1rem + 1vw, 2.1rem)/1.15 var(--font-display); letter-spacing: -0.02em; overflow-wrap: anywhere; transition: color 0.2s ease; }
.kontakt__duzy:hover { color: var(--akcent-tekst); }

/* ---------- Pas liczb i cechy z ikonami ---------- */
.pasek-liczb { background: var(--tlo-2); border-top: 1px solid var(--linia-2); border-bottom: 1px solid var(--linia-2); }
.pasek-liczb__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.pasek-liczb li { display: flex; flex-direction: column; gap: 8px; padding: clamp(24px, 3vw, 44px) clamp(14px, 2vw, 28px); }
.pasek-liczb li + li { border-left: 1px solid var(--linia-2); }
.pasek-liczb .ikona { width: 28px; height: 28px; margin-bottom: 6px; color: var(--akcent); }
.pasek-liczb b { font: 700 clamp(2.4rem, 1.6rem + 2.6vw, 4.4rem)/1 var(--font-display); letter-spacing: -0.03em; }
.pasek-liczb span { font-size: 14px; color: var(--tekst-3); }
.pasek-liczb--ciemny { background: #0a0a0c; color: #fcfcfc; --tekst-3: rgba(252, 252, 252, 0.62); --linia-2: rgba(252, 252, 252, 0.12); }
.cechy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px); list-style: none; }
.cechy--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cechy li { display: flex; flex-direction: column; gap: 12px; }
.cechy .ikona { width: 36px; height: 36px; color: var(--akcent); }
.cechy h3 { font: 600 1.25rem/1.2 var(--font-display); }
.cechy p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }

/* ---------- Kategorie: karty grup ze zdjęciami (koncepcja z plakatu) ---------- */
.sciezki { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1vw, 16px); list-style: none; }
.sciezka { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; height: 100%; min-height: clamp(340px, 30vw, 470px); padding: clamp(18px, 1.8vw, 28px); overflow: hidden; background: #0a0a0c; color: #fcfcfc; }
.sciezka img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out-expo); }
.sciezka::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 10, 12, 0.18) 20%, rgba(10, 10, 12, 0.88) 100%); }
.sciezka:hover img { transform: scale(1.06); }
.sciezka__nr { position: absolute; top: clamp(16px, 1.6vw, 24px); left: clamp(18px, 1.8vw, 28px); font: 700 clamp(2rem, 1.5rem + 1.5vw, 3rem)/1 var(--font-display); letter-spacing: -0.03em; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.sciezka__kod { font: 600 12px/1 var(--font-display); letter-spacing: 0.18em; color: #e5cd9c; }
.sciezka__nazwa { font: 700 clamp(1.3rem, 1rem + 1vw, 1.9rem)/1.05 var(--font-display); letter-spacing: -0.02em; }
.sciezka__opis { font-size: 14px; line-height: 1.45; color: rgba(252, 252, 252, 0.8); }
.sciezka__ile { font: 600 13px/1 var(--font-display); letter-spacing: 0.06em; color: #e5cd9c; }
.lista-kategorii li { display: block; padding: 0; }
.lista-kategorii a { display: flex; align-items: baseline; gap: 14px; padding: 9px 0; }
.lista-kategorii a > span { flex: 1; transition: color 0.2s ease; }
.lista-kategorii a > i { font-style: normal; color: var(--akcent); opacity: 0; transform: translateX(-4px); transition: opacity 0.2s ease, transform 0.3s var(--ease-out-expo); }
.lista-kategorii a:hover > span { color: var(--akcent-tekst); }
.lista-kategorii a:hover > i { opacity: 1; transform: none; }
.lista-kategorii .nowa::after { content: none; }
.lista-kategorii .nowa a > span::after { content: "nowa"; margin-left: 8px; padding: 1px 6px; border: 1px solid var(--akcent); font: 600 10px/1.5 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--akcent-tekst); vertical-align: 2px; }

/* ---------- Kapituła: karty z linkiem i podstrona osoby ---------- */
.osoba__link { display: flex; flex-direction: column; gap: 8px; height: 100%; }
.osoba__foto { position: relative; }
.osoba__znacznik { position: absolute; left: 10px; bottom: 10px; padding: 3px 8px; background: var(--akcent-tlo); font: 600 10px/1.4 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--na-akcencie); }
.osoba__imie { transition: color 0.2s ease; }
.osoba__link:hover .osoba__imie { color: var(--akcent-tekst); }
.kapitula__siatka--rzad { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.juror { padding: calc(var(--naglowek-wys) + clamp(48px, 6vw, 96px)) 0 clamp(40px, 5vw, 72px); background: var(--hero-tlo); }
.juror__siatka { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.juror__foto { aspect-ratio: 1; overflow: hidden; background: var(--powierzchnia); }
.juror__foto img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.juror__tresc { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.juror h1 { font: 700 clamp(2.4rem, 1.4rem + 3.6vw, 5rem)/1 var(--font-display); letter-spacing: -0.03em; text-transform: uppercase; }
.juror__rola { font: 600 14px/1.45 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--akcent-tekst); }
.juror__bio p { max-width: 64ch; font-size: 1.05rem; line-height: 1.7; color: var(--tekst-2); }
.juror__bio p + p { margin-top: 14px; }
.juror__bio b { font-weight: 600; color: var(--tekst); }
.juror__fakty { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1px; width: 100%; background: var(--linia); border: 1px solid var(--linia); }
.juror__fakty:not(:has(div)) { display: none; }
.juror__fakty div { padding: 16px 18px; background: var(--tlo); }
.juror__fakty dt { font: 600 11.5px/1.2 var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }
.juror__fakty dd { margin-top: 6px; font: 600 1.05rem/1.3 var(--font-display); }
.juror__linki { display: flex; flex-wrap: wrap; gap: 10px; }
.juror__nawigacja, .kat-inne__nawigacja { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; margin-top: clamp(40px, 5vw, 72px); padding-top: 22px; border-top: 1px solid var(--linia); }
.juror__nawigacja > a:not(.btn), .kat-inne__strzalka { font: 600 1.05rem/1.25 var(--font-display); transition: color 0.2s ease; }
.juror__nawigacja > a:not(.btn):hover, .kat-inne__strzalka:hover { color: var(--akcent-tekst); }
.juror__nawigacja small, .kat-inne__strzalka small { display: block; margin-bottom: 4px; font: 600 11px/1.2 var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }
.juror__dalej, .kat-inne__strzalka--dalej { text-align: right; }

/* ---------- Landing page kategorii ---------- */
.kat-glowa { --tekst: #fcfcfc; --tekst-2: rgba(252, 252, 252, 0.84); --tekst-3: rgba(252, 252, 252, 0.62); --akcent-tekst: #e5cd9c; --linia: rgba(229, 205, 156, 0.3);
  position: relative; display: flex; align-items: flex-end; min-height: clamp(560px, 86svh, 920px); padding: calc(var(--naglowek-wys) + 64px) 0 clamp(48px, 6vw, 96px); overflow: hidden; background: #0a0a0c; color: var(--tekst); }
.kat-glowa__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kat-glowa::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(10, 10, 12, 0.86) 0%, rgba(10, 10, 12, 0.5) 50%, rgba(10, 10, 12, 0.12) 100%), linear-gradient(0deg, rgba(10, 10, 12, 0.72) 0%, transparent 46%); }
.kat-glowa__tresc { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.kat-glowa__tytul { max-width: 17ch; font: 700 clamp(2.6rem, 1.4rem + 4.4vw, 6.4rem)/0.98 var(--font-display); letter-spacing: -0.035em; }
.kat-glowa__lead { max-width: 60ch; font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.35rem); line-height: 1.55; color: var(--tekst-2); }
.kat-glowa__nowa { margin-left: 12px; padding: 3px 8px; border: 1px solid var(--akcent); font: 600 10.5px/1.4 var(--font-display); letter-spacing: 0.12em; color: var(--akcent-tekst); }
.kat-glowa__symbol { display: none; }
.kat-o__siatka { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 5vw, 96px); align-items: center; }
.kat-o__foto { display: none; }
.kat-o__foto img { width: 100%; height: 100%; object-fit: cover; }
.kat-o__tekst { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.kat-o h2 { font: 700 clamp(2rem, 1.2rem + 2.8vw, 3.8rem)/1.02 var(--font-display); letter-spacing: -0.03em; }
.kat-o__dla { max-width: 62ch; font-size: clamp(1.05rem, 1rem + 0.3vw, 1.25rem); line-height: 1.6; color: var(--tekst-2); }
.kat-o__cechy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; width: 100%; margin: 8px 0; background: var(--linia); border: 1px solid var(--linia); list-style: none; }
.kat-o__cechy li { display: flex; flex-direction: column; gap: 14px; padding: clamp(18px, 2vw, 28px); background: var(--tlo); font-size: 15.5px; line-height: 1.5; }
.kat-o__ikona .ikona { width: 32px; height: 32px; color: var(--akcent); }
.kat-o__grupa { max-width: 70ch; font-size: 14.5px; line-height: 1.6; color: var(--tekst-3); }
.kat-fakty__siatka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); }
.kat-fakt { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(22px, 2.4vw, 34px); background: var(--tlo-2); }
.kat-fakt__ikona .ikona { width: 30px; height: 30px; color: var(--akcent); }
.kat-fakt h3 { font: 600 12.5px/1.2 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-3); }
.kat-fakt__duzy { font: 700 clamp(1.6rem, 1.2rem + 1.2vw, 2.4rem)/1.05 var(--font-display); letter-spacing: -0.02em; }
.kat-fakt__duzy small { font-size: 0.5em; font-weight: 500; letter-spacing: 0; color: var(--tekst-3); }
.kat-fakt p:not(.kat-fakt__duzy) { font-size: 14.5px; line-height: 1.55; color: var(--tekst-2); }
.kat-fakt .btn { align-self: flex-start; margin-top: auto; }
.kat-ceny { width: 100%; border-collapse: collapse; font-size: 14px; }
.kat-ceny caption { padding-bottom: 6px; text-align: left; font-size: 12.5px; line-height: 1.4; color: var(--tekst-3); }
.kat-ceny th, .kat-ceny td { padding: 8px 0; border-bottom: 1px solid var(--linia-2); text-align: left; font-weight: 400; }
.kat-ceny th small { color: var(--tekst-3); }
.kat-ceny td { text-align: right; font: 600 15px/1.2 var(--font-display); white-space: nowrap; }
.kat-ceny .biezacy th, .kat-ceny .biezacy td { color: var(--akcent-tekst); font-weight: 600; }
.kat-ceny__kolejna { font-size: 13px; color: var(--tekst-3); }
.kat-laureaci__siatka { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.kat-laureaci__siatka:not(:has(.kat-laureaci__foto)) { grid-template-columns: minmax(0, 1fr); }
.kat-laureaci__lista { border-top: 1px solid var(--linia-2); list-style: none; }
.kat-laureaci__lista a { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--linia-2); }
.kat-laureaci__lista b { font: 700 1.2rem/1 var(--font-display); color: var(--akcent-tekst); }
.kat-laureaci__lista span { font: 600 1.05rem/1.3 var(--font-display); text-transform: uppercase; transition: color 0.2s ease; }
.kat-laureaci__lista small { font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tekst-3); }
.kat-laureaci__lista a:hover span { color: var(--akcent-tekst); }
.kat-laureaci__foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kat-laureaci__foto--pion { max-width: 460px; justify-self: end; }
.kat-laureaci__foto--pion img { aspect-ratio: 4 / 5; object-position: center 12%; }
.kat-laureaci__foto figcaption { margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--tekst-3); }
.karty-cs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); list-style: none; }
.karty-cs--przewijane { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * clamp(16px, 2vw, 32px)) / 3); overflow-x: auto; padding-bottom: 14px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--akcent) transparent; }
.karty-cs--przewijane li { scroll-snap-align: start; }
.karta-cs { display: flex; flex-direction: column; gap: 10px; }
.karta-cs__foto { aspect-ratio: 16 / 9; overflow: hidden; background: var(--powierzchnia); }
.karta-cs__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.karta-cs:hover .karta-cs__foto img { transform: scale(1.04); }
.karta-cs__marka { font: 600 12px/1 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--akcent-tekst); }
.karta-cs__tytul { font: 600 clamp(1.05rem, 0.95rem + 0.35vw, 1.3rem)/1.3 var(--font-display); letter-spacing: -0.01em; transition: color 0.2s ease; }
.karta-cs:hover .karta-cs__tytul { color: var(--akcent-tekst); }
.karta-cs__osoba { font-size: 13.5px; color: var(--tekst-3); }
.kroki-zdjecia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); list-style: none; }
.kroki-zdjecia li { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: clamp(22px, 2.4vw, 32px); background: var(--tlo); border: 1px solid var(--linia-2); }
.kroki-zdjecia__nr { font: 700 clamp(2.6rem, 1.8rem + 2vw, 4rem)/1 var(--font-display); letter-spacing: -0.03em; color: var(--akcent-tekst); }
.kroki-zdjecia__ikona .ikona { width: 34px; height: 34px; color: var(--akcent); }
.kroki-zdjecia__foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.kroki-zdjecia h3 { font: 600 1.35rem/1.2 var(--font-display); letter-spacing: -0.01em; }
.kroki-zdjecia p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }
.kroki-zdjecia .btn { align-self: flex-start; margin-top: auto; }
.kat-inne__lista { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.kat-inne__lista a { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 14px; border: 1px solid var(--linia-2); font-size: 14px; transition: border-color 0.2s ease, background-color 0.2s ease; }
.kat-inne__lista b { font: 600 13px/1 var(--font-display); color: var(--akcent-tekst); }
.kat-inne__lista a:hover { border-color: var(--akcent); }
.kat-inne__lista a[aria-current] { border-color: var(--akcent-tlo); background: var(--akcent-tlo); color: var(--na-akcencie); }
.kat-inne__lista a[aria-current] b { color: inherit; }
.kat-cta { padding: clamp(72px, 9vw, 130px) 0; border-top: 1px solid var(--linia-2); background: var(--tlo-2); }
.kat-cta__siatka { display: grid; grid-template-columns: minmax(0, 1.4fr) auto; gap: 32px; align-items: center; }
.kat-cta h2 { max-width: 22ch; font: 700 clamp(2rem, 1.2rem + 3vw, 4.2rem)/1.02 var(--font-display); letter-spacing: -0.03em; }
.kat-cta h2 em { font-style: normal; color: var(--akcent-tekst); }
.kat-cta__znak { display: none; }

/* ---------- Gala: konferencja przed Galą, miejsce, zdjęcia z wieczoru ---------- */
.konferencja__siatka { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.konferencja__tekst { position: sticky; top: calc(var(--naglowek-wys) + 32px); display: flex; flex-direction: column; gap: 20px; }
.konferencja h2 { font: 700 clamp(2.2rem, 1.2rem + 3.2vw, 4.4rem)/1 var(--font-display); letter-spacing: -0.03em; }
.konferencja__tekst > p:not(.eyebrow) { font-size: 1.08rem; line-height: 1.65; color: var(--tekst-2); }
.konferencja__punkty { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; list-style: none; }
.konferencja__punkty li { display: flex; align-items: center; gap: 14px; font: 600 1.02rem/1.35 var(--font-display); }
.konferencja__punkty .ikona { width: 28px; height: 28px; color: var(--akcent); }
.konferencja__mozaika { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.konferencja__el { overflow: hidden; }
.konferencja__el img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 1s var(--ease-out-expo); }
.konferencja__el:hover img { transform: scale(1.04); }
.konferencja__el--szeroki { grid-column: span 2; }
.konferencja__el--szeroki img { aspect-ratio: 16 / 9; }
.miejsce { --tekst-2: rgba(252, 252, 252, 0.84); --tekst-3: rgba(252, 252, 252, 0.62); --akcent-tekst: #e5cd9c;
  position: relative; display: flex; align-items: flex-end; min-height: 72svh; padding: clamp(80px, 10vw, 140px) 0 clamp(48px, 6vw, 88px); overflow: hidden; background: #0a0a0c; color: #fcfcfc; }
.miejsce__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.miejsce::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 10, 12, 0.88) 0%, rgba(10, 10, 12, 0.25) 60%, rgba(10, 10, 12, 0.4) 100%); }
.miejsce__tresc { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.miejsce h2 { font: 700 clamp(2.2rem, 1.2rem + 3.4vw, 4.8rem)/1 var(--font-display); letter-spacing: -0.03em; }
.miejsce__tresc > p:not(.eyebrow) { font-size: 1.1rem; line-height: 1.55; color: var(--tekst-2); }
.kwartet { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, clamp(180px, 16vw, 300px)); gap: 10px; }
.kwartet__el { overflow: hidden; background: var(--powierzchnia); }
.kwartet__el img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out-expo); }
.kwartet__el:hover img { transform: scale(1.04); }
.kwartet__el--pion { grid-row: span 2; }
.kwartet__el--pion img { object-position: center 15%; }
.kwartet__el:nth-child(2), .kwartet__el:nth-child(5) { grid-column: span 2; }
.duet__dalej { margin-top: 24px; }

/* ---------- Aktualności ---------- */
.edycje-karty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); list-style: none; }
.edycja-karta { display: flex; flex-direction: column; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--linia-2); }
.edycja-karta__link { display: flex; flex-direction: column; gap: 10px; }
.edycja-karta__rok small { font-size: 0.4em; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }
.edycja-karta__film { align-self: flex-start; font: 600 13px/1.2 var(--font-display); color: var(--tekst-2); border-bottom: 1px solid var(--linia); transition: color 0.2s ease; }
.edycja-karta__film::before { content: "▶ "; color: var(--akcent); }
.edycja-karta__film:hover { color: var(--akcent-tekst); }
.edycja-karta__foto { aspect-ratio: 4 / 3; overflow: hidden; background: var(--powierzchnia); }
.edycja-karta__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.edycja-karta__link:hover .edycja-karta__foto img { transform: scale(1.04); }
.edycja-karta__rok { font: 700 clamp(2rem, 1.4rem + 1.6vw, 3rem)/1 var(--font-display); letter-spacing: -0.03em; }
.edycja-karta__opis { font-size: 14px; color: var(--tekst-3); }
.edycja-karta__dalej { margin-top: auto; font: 600 13px/1 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--akcent-tekst); }
.loga { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); list-style: none; }
.loga li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.loga__podglad { display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 7; margin-bottom: 6px; padding: 10%; background: #f6f2eb; border: 1px solid var(--linia-2); }
.loga__podglad--ciemny { background: #0a0a0c; }
.loga__podglad img { width: 100%; height: auto; }
.loga b { font: 600 1.05rem/1.2 var(--font-display); }
.loga span { font-size: 13px; color: var(--tekst-3); }
.loga__uwaga { margin-top: 24px; font-size: 14px; color: var(--tekst-2); }
.loga__uwaga a { border-bottom: 1px solid var(--linia); }
.loga__uwaga a:hover { color: var(--akcent-tekst); }

/* ---------- Mniejsze ekrany ---------- */
@media (max-width: 1360px) {
  .menu [data-grupa] > a::after { content: none; }
  .menu [data-grupa].aktywna > a { color: var(--akcent-tekst); }
}
@media (max-width: 1180px) {
  .kafle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sciezki { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kat-fakty__siatka, .cechy--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kapitula__siatka--rzad { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .edycje-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .karty-cs--przewijane { grid-auto-columns: calc((100% - clamp(16px, 2vw, 32px)) / 2); }
}
@media (max-width: 900px) {
  .juror__siatka, .kat-laureaci__siatka, .konferencja__siatka, .kat-cta__siatka { grid-template-columns: minmax(0, 1fr); }
  .konferencja__tekst { position: static; }
  .kat-o__cechy, .kroki-zdjecia, .karty-cs:not(.karty-cs--przewijane), .cechy { grid-template-columns: minmax(0, 1fr); }
  .pasek-liczb__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pasek-liczb li:nth-child(3) { border-left: 0; }
  .pasek-liczb li:nth-child(n + 3) { border-top: 1px solid var(--linia-2); }
  .kontakt, .galerie, .loga { grid-template-columns: minmax(0, 1fr); }
  .juror__foto { max-width: 420px; }
  .kwartet { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: clamp(160px, 40vw, 280px); }
  .kwartet__el:nth-child(2), .kwartet__el:nth-child(5) { grid-column: span 2; }
  .kat-laureaci__foto--pion { justify-self: start; }
}
@media (max-width: 900px) {
  .kina { flex-direction: column; height: auto; }
  .kino { flex: none; aspect-ratio: 16 / 9; }
  .kina--otwarte .kino--otwarte { aspect-ratio: 16 / 9; }
}
@media (max-width: 700px) {
  .hero--start { padding-bottom: 56px; }
  .hero--start .hero__info { grid-template-columns: minmax(0, 1fr); }
  .hero__liczniki { position: static; justify-content: flex-start; flex-wrap: wrap; margin-top: 36px; }
  .hero__licznik { align-items: flex-start; text-align: left; }
  .hero__licznik .licznik__czas { justify-content: flex-start; }
  .kafle, .sciezki, .kat-fakty__siatka, .cechy--4, .edycje-karty { grid-template-columns: minmax(0, 1fr); }
  .kafel--duzy { grid-row: auto; }
  .kafel--szeroki { grid-column: auto; }
  .sciezka { min-height: 280px; }
  .kapitula__siatka--rzad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kat-laureaci__lista a { grid-template-columns: 3.6rem minmax(0, 1fr); }
  .kat-laureaci__lista small { grid-column: 2; }
  .karty-cs--przewijane { grid-auto-columns: 84%; }
  .juror__nawigacja, .kat-inne__nawigacja { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .juror__nawigacja .btn, .kat-inne__nawigacja .btn { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .skorka-przycisk__etykieta { display: none; }
  .galerie span { width: 5.5em; }
}
@media (prefers-reduced-motion: reduce) {
  .strona, .sciezka img, .kafel__tlo, .karta-cs__foto img, .edycja-karta__foto img, .konferencja__el img, .kwartet__el img, .kino, .kino__plakat { transition: none; }
}

/* =====================================================================================================
   Runda 4 (Paweł 24.09 wieczór): przyciski z animacją, kolorowa Kapituła, statuetka 3D, czarna stopka z falami,
   pasy z hasłami PL/EN, konferencja w blokach, więcej case studies i aktualności, podstrony informacyjne.
   ===================================================================================================== */

/* ---------- Przyciski: animacja wypełnienia, połysk, strzałka ---------- */
.btn { position: relative; isolation: isolate; overflow: hidden; }
.btn > span[aria-hidden="true"] { display: inline-block; transition: transform 0.35s var(--ease-out-expo); }
.btn:hover > span[aria-hidden="true"], .btn:focus-visible > span[aria-hidden="true"] { transform: translateX(5px); }
.btn--linia::before, .btn--linia-jasna::before, .btn--czarny::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--akcent-tlo); transform: scaleX(0); transform-origin: left center; transition: transform 0.55s var(--ease-out-expo); }
.btn--linia:hover::before, .btn--linia-jasna:hover::before, .btn--linia:focus-visible::before, .btn--linia-jasna:focus-visible::before { transform: scaleX(1); }
.btn--linia:hover, .btn--linia:focus-visible { background: transparent; border-color: var(--akcent-tlo); color: var(--na-akcencie); }
.btn--linia-jasna:hover, .btn--linia-jasna:focus-visible { color: #14110b; border-color: var(--akcent-tlo); }
.btn--zloty::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: 1; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.5), transparent); transform: skewX(-20deg); transition: left 0.8s var(--ease-out-expo); pointer-events: none; }
.btn--zloty:hover::after, .btn--zloty:focus-visible::after { left: 125%; }
.btn--czarny { background: #111; color: #f6f2eb; border-color: #111; }
.btn--czarny::before { background: var(--akcent-tlo); }
.btn--czarny:hover, .btn--czarny:focus-visible { color: #14110b; border-color: var(--akcent-tlo); }
.btn--czarny:hover::before, .btn--czarny:focus-visible::before { transform: scaleX(1); }
.btn:active { transform: translateY(1px) scale(0.99); }

/* ---------- Kapituła w kolorze (Paweł: „zdjęcia kapituły kolorowe”) ---------- */
.osoba__foto img, .juror__foto img, .kafel__twarze img { filter: none; }
.osoba:hover .osoba__foto img { filter: saturate(1.06) contrast(1.02); }

/* ---------- Statuetka 3D ---------- */
/* :where — zerowa waga, żeby miejsca z position: absolute (nagłówki, kategoria) wygrywały. */
:where(.statuetka-3d) { position: relative; }
.statuetka-3d { isolation: isolate; }
.statuetka-3d canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.statuetka-3d::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 3%; height: 7%; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(60, 42, 12, 0.3), transparent); filter: blur(4px); }
.statuetka-3d__zapas { display: none; width: 100%; height: 100%; object-fit: contain; }
.statuetka-3d--zapas .statuetka-3d__zapas { display: block; }

/* ---------- Stopka: czarna jak w panelach jury i awards, fale WebGL w tle, kolumny w jednej siatce ---------- */
.stopka { --tekst: #f6f2eb; --tekst-2: rgba(246, 242, 235, 0.74); --tekst-3: rgba(246, 242, 235, 0.5); --akcent-tekst: #d9b97c; --linia: rgba(217, 185, 124, 0.26); --linia-2: rgba(246, 242, 235, 0.1);
  position: relative; isolation: isolate; overflow: hidden; padding: clamp(64px, 7vw, 104px) 0 32px; background: #0b0a09; color: var(--tekst); border-top: 0; }
.stopka__fale { position: absolute; inset: 0; z-index: -2; }
.stopka::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(11, 10, 9, 0.35) 0%, rgba(11, 10, 9, 0.78) 55%, rgba(11, 10, 9, 0.92) 100%); }
.stopka__wnetrze { position: relative; }
.stopka__gora { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) auto; align-items: center; gap: 32px; padding-bottom: clamp(32px, 4vw, 52px); border-bottom: 1px solid var(--linia-2); }
.stopka__logo img { width: auto; height: 56px; }
.stopka__hasla { display: flex; gap: 22px; justify-self: center; }
.stopka__hasla p { display: flex; flex-direction: column; font: 600 11px/1.55 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.26em; text-transform: uppercase; color: var(--tekst-2); }
.stopka__hasla p + p { padding-left: 22px; border-left: 1px solid var(--akcent); }
.stopka__social { display: flex; gap: 14px; margin: 0; list-style: none; }
.stopka__social a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--linia-2); border-radius: 50%; color: var(--tekst); transition: border-color 0.2s ease, color 0.2s ease, transform 0.3s var(--ease-out-expo); }
.stopka__social a:hover { border-color: var(--akcent); color: var(--akcent-tekst); transform: translateY(-2px); }
.stopka__social svg { width: 18px; height: 18px; fill: currentColor; }
.stopka__claim { margin-top: clamp(40px, 5vw, 72px); color: var(--tekst); }
.stopka__mapa { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px; padding: clamp(36px, 4vw, 56px) 0; }
.stopka__mapa h2 { margin-bottom: 14px; font: 600 11.5px/1.2 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.18em; text-transform: uppercase; color: var(--akcent-tekst); }
.stopka__mapa a { display: block; padding: 5px 0; font-size: 14px; line-height: 1.4; color: var(--tekst-2); overflow-wrap: anywhere; transition: color 0.2s ease; }
.stopka__mapa a:hover { color: var(--tekst); }
.stopka__mapa p { font-size: 13.5px; line-height: 1.6; color: var(--tekst-3); }
.stopka__mapa p + p { margin-top: 12px; }
.stopka__dol { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 28px; margin-top: 0; padding-top: 24px; border-top: 1px solid var(--linia-2); font-size: 13px; color: var(--tekst-3); }
.stopka__prawne, .stopka__zasieg { display: flex; gap: 18px; }
.stopka__prawne a:hover { color: var(--akcent-tekst); }
.stopka__zasieg span + span { padding-left: 18px; border-left: 1px solid var(--akcent); }

/* ---------- Pasy z hasłami (600 px) i manifest ---------- */
.pas-hasla { position: relative; display: flex; align-items: center; min-height: 600px; overflow: hidden; background: #f2f0ed url("/img/hasla/jedwab-jasny-a.webp") center / cover no-repeat;
  --tekst: #151412; --tekst-2: rgba(21, 20, 18, 0.72); --tekst-3: rgba(21, 20, 18, 0.55); color: var(--tekst); }
.pas-hasla[data-tlo="b"] { background-image: url("/img/hasla/jedwab-jasny-b.webp"); }
:root[data-motyw="noc"] .pas-hasla { background-color: #0b0a09; background-image: url("/img/hasla/jedwab-ciemny-a.webp"); --tekst: #f6f2eb; --tekst-2: rgba(246, 242, 235, 0.78); --tekst-3: rgba(246, 242, 235, 0.56); }
:root[data-motyw="noc"] .pas-hasla[data-tlo="b"] { background-image: url("/img/hasla/jedwab-ciemny-b.webp"); }
.pas-hasla__siatka { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 2fr) minmax(0, 0.85fr); align-items: center; gap: clamp(24px, 3.4vw, 64px); padding-right: clamp(0px, 13vw, 260px); }
.pas-hasla__nadtytul { display: flex; flex-direction: column; gap: 10px; font: 600 13px/1.6 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.26em; text-transform: uppercase; color: var(--tekst-2); }
.pas-hasla__nadtytul::after { content: ""; width: 72px; height: 2px; margin-top: 18px; background: var(--akcent); }
.pas-hasla__nadtytul span[lang="en"] { font-size: 11px; color: var(--tekst-3); }
.pas-hasla__pl { font: 400 clamp(2.1rem, 1.2rem + 2.8vw, 4.2rem)/1.08 var(--font-serif, "Playfair Display", Georgia, serif); letter-spacing: -0.015em; }
.pas-hasla__en { margin-top: 16px; font: italic 400 clamp(1.05rem, 0.95rem + 0.5vw, 1.45rem)/1.4 var(--font-serif, "Playfair Display", Georgia, serif); color: var(--akcent-tekst); }
.pas-hasla__akcja { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.pas-hasla__termin { font: 600 12.5px/1.8 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.22em; text-transform: uppercase; color: var(--tekst-2); }
.pas-manifest { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); min-height: 600px; background: #f2f0ed; color: #151412; }
:root[data-motyw="noc"] .pas-manifest { background: #121110; color: #f6f2eb; }
.pas-manifest__tekst { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(28px, 4vw, 64px); padding: clamp(56px, 7vw, 110px) clamp(24px, 4vw, 72px) clamp(56px, 7vw, 110px) max(var(--pad), calc((100vw - var(--szer)) / 2 + var(--pad))); }
.pas-manifest__nadtytul { display: flex; flex-direction: column; gap: 6px; margin-bottom: 22px; font: 600 12.5px/1.5 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.26em; text-transform: uppercase; opacity: 0.72; }
.pas-manifest__nadtytul span[lang="en"] { font-size: 11px; opacity: 0.75; }
.pas-manifest__haslo { font: 400 clamp(2rem, 1.2rem + 2.4vw, 3.8rem)/1.1 var(--font-serif, "Playfair Display", Georgia, serif); letter-spacing: -0.015em; }
.pas-manifest__en { margin-top: 16px; font: italic 400 1.1rem/1.45 var(--font-serif, "Playfair Display", Georgia, serif); color: var(--akcent-tekst); }
.pas-manifest__cytat { position: relative; padding-left: clamp(20px, 2.4vw, 40px); border-left: 1px solid rgba(134, 97, 43, 0.35); }
.pas-manifest__cudzyslow { display: block; height: 0.6em; margin-bottom: 18px; font: 400 5rem/1 var(--font-serif, "Playfair Display", Georgia, serif); color: var(--akcent); }
.pas-manifest__cytat blockquote p { font: italic 400 clamp(1.2rem, 1rem + 0.8vw, 1.75rem)/1.4 var(--font-serif, "Playfair Display", Georgia, serif); }
.pas-manifest__cytat figcaption { display: flex; flex-direction: column; gap: 4px; margin-top: 22px; font: 600 14px/1.4 var(--font-ui, "Inter", sans-serif); }
.pas-manifest__cytat figcaption span { font-weight: 400; opacity: 0.66; }
.pas-manifest__foto { position: relative; overflow: hidden; background: #0b0a09; }
.pas-manifest__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.72; transition: transform 1.6s var(--ease-out-expo); }
.pas-manifest:hover .pas-manifest__foto img { transform: scale(1.04); }
.pas-manifest__foto::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #f2f0ed 0%, rgba(242, 240, 237, 0) 22%), linear-gradient(0deg, rgba(11, 10, 9, 0.55), rgba(11, 10, 9, 0.2)); }
:root[data-motyw="noc"] .pas-manifest__foto::before { background: linear-gradient(90deg, #121110 0%, rgba(18, 17, 16, 0) 22%), linear-gradient(0deg, rgba(11, 10, 9, 0.55), rgba(11, 10, 9, 0.2)); }
.pas-manifest__napis { position: absolute; top: 20%; right: clamp(24px, 4vw, 64px); z-index: 2; display: flex; flex-direction: column; gap: 6px; font: 600 13px/1.6 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.26em; text-transform: uppercase; color: #f6f2eb; }
.pas-manifest__napis::after { content: ""; width: 72px; height: 2px; margin-top: 16px; background: var(--akcent); }
.pas-manifest__napis small { margin-top: 10px; font-size: 10.5px; letter-spacing: 0.2em; opacity: 0.7; }

/* ---------- Konferencja w blokach ze zdjęciami ---------- */
.konf-bloki__lead { max-width: 70ch; margin: -8px 0 clamp(24px, 3vw, 40px); font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.kino--foto { color: #fcfcfc; text-decoration: none; }
.kino--foto .kino__tresc { gap: 6px; }
.kino__ikona-foto .ikona { width: 30px; height: 30px; color: #e5cd9c; }
.kino__nazwa { font: 400 clamp(1.4rem, 1.1rem + 1vw, 2.1rem)/1.1 var(--font-serif, var(--font-display)); }
.kino__opis { max-width: 32ch; font-size: 14px; line-height: 1.45; color: rgba(252, 252, 252, 0.8); opacity: 0; transform: translateY(8px); transition: opacity 0.5s ease, transform 0.6s var(--ease-out-expo); }
.kino--foto:hover .kino__opis, .kino--foto:focus-visible .kino__opis { opacity: 1; transform: none; }

/* ---------- Case studies i aktualności: więcej treści, równe wysokości zdjęć i kart ---------- */
.karty-cs--start { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.karty-cs > li, .karty-news > li { display: flex; }
.karta-cs { position: relative; width: 100%; height: 100%; }
.karta-cs__foto { position: relative; flex: none; }
.karta-cs__edycja { position: absolute; left: 14px; top: 14px; padding: 4px 10px; background: rgba(11, 10, 9, 0.72); font: 600 11px/1.3 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: #f6f2eb; }
.karta-cs__lead { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 14px; line-height: 1.55; color: var(--tekst-2); }
.karta-cs__liczby { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.karta-cs__liczby span { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border: 1px solid var(--linia); font-size: 12px; line-height: 1.35; color: var(--tekst-3); }
.karta-cs__liczby b { font: 600 1.25rem/1.1 var(--font-serif, var(--font-display)); color: var(--akcent-tekst); }
.karta-cs__stopka { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--linia-2); }
.karta-cs__dalej { font: 600 12px/1 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: var(--akcent-tekst); white-space: nowrap; }
.karty-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); list-style: none; }
.karta-news { display: flex; flex-direction: column; gap: 10px; width: 100%; height: 100%; padding-bottom: 18px; border-bottom: 1px solid var(--linia-2); }
.karta-news__foto { flex: none; aspect-ratio: 16 / 9; overflow: hidden; background: var(--powierzchnia); }
.karta-news__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.karta-news:hover .karta-news__foto img { transform: scale(1.04); }
.karta-news__meta { font: 600 11.5px/1.3 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: var(--akcent-tekst); }
.karta-news__tytul { font: 600 clamp(1.05rem, 0.95rem + 0.35vw, 1.3rem)/1.3 var(--font-display); transition: color 0.2s ease; }
.karta-news:hover .karta-news__tytul { color: var(--akcent-tekst); }
.karta-news__lead { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 14px; line-height: 1.55; color: var(--tekst-2); }
.karta-news__dalej { margin-top: auto; font: 600 12px/1 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst); }

/* ---------- Partnerzy ---------- */
.partnerzy__loga { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; list-style: none; }
.partnerzy__loga li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 120px; padding: 22px; background: var(--powierzchnia); border: 1px solid var(--linia-2); transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.partnerzy__loga li:hover { border-color: var(--linia); box-shadow: 0 18px 40px -30px rgba(40, 30, 10, 0.45); }
.partnerzy__loga img { max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: 0.8; transition: filter 0.3s ease, opacity 0.3s ease; }
.partnerzy__loga li:hover img { filter: none; opacity: 1; }
.partnerzy__loga--duze { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.partnerzy__loga--duze li { min-height: 170px; }
.partnerzy__loga--duze img { max-height: 72px; }
.partnerzy__loga span { font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tekst-3); }
.zostan-partnerem { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.zostan-partnerem h2 { margin: 10px 0 16px; font: 700 clamp(2rem, 1.2rem + 2.6vw, 3.6rem)/1.05 var(--font-display); letter-spacing: -0.02em; }
.zostan-partnerem > div > p:not(.eyebrow) { margin-bottom: 24px; font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }

/* ---------- Informacja prasowa ---------- */
.artykul-strona__glowa { padding: calc(var(--naglowek-wys) + clamp(40px, 6vw, 88px)) 0 clamp(28px, 3vw, 44px); background: var(--hero-tlo); }
.artykul-strona__glowa .kontener { display: flex; flex-direction: column; gap: 18px; }
.artykul-strona__glowa h1 { max-width: 24ch; font: 700 clamp(2.2rem, 1.2rem + 3.2vw, 4.4rem)/1.04 var(--font-display); letter-spacing: -0.025em; }
.artykul-strona__lead { max-width: 68ch; font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem); line-height: 1.6; color: var(--tekst-2); }
.artykul-strona__foto { margin-top: clamp(24px, 3vw, 40px); }
.artykul-strona__foto img { width: 100%; max-height: 640px; object-fit: cover; }
.artykul-strona__siatka { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: clamp(28px, 5vw, 88px); padding-block: clamp(40px, 5vw, 80px); }
.artykul-strona__tresc { max-width: 76ch; font-size: 1.06rem; line-height: 1.75; color: var(--tekst-2); }
.artykul-strona__tresc > * + * { margin-top: 1em; }
.artykul-strona__tresc h2, .artykul-strona__tresc h3, .artykul-strona__tresc h4 { margin-top: 1.6em; font: 600 clamp(1.25rem, 1.05rem + 0.6vw, 1.65rem)/1.25 var(--font-display); color: var(--tekst); }
.artykul-strona__tresc strong, .artykul-strona__tresc b { color: var(--tekst); font-weight: 600; }
.artykul-strona__tresc a { color: var(--akcent-tekst); text-decoration: underline; text-underline-offset: 3px; }
.artykul-strona__tresc ul, .artykul-strona__tresc ol { padding-left: 1.3em; }
.artykul-strona__tresc img { width: 100%; height: auto; }
.artykul-strona__bok { position: sticky; top: calc(var(--naglowek-wys) + 24px); display: flex; flex-direction: column; align-items: stretch; gap: 12px; align-self: start; }
.artykul-strona__inne-tytul { margin-top: 18px; font: 600 11.5px/1.2 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.16em; text-transform: uppercase; color: var(--tekst-3); }
.artykul-strona__inne { list-style: none; border-top: 1px solid var(--linia-2); }
.artykul-strona__inne a { display: block; padding: 12px 0; border-bottom: 1px solid var(--linia-2); font-size: 14px; line-height: 1.45; transition: color 0.2s ease; }
.artykul-strona__inne a:hover { color: var(--akcent-tekst); }

/* ---------- Regulamin / prywatność: jak widoki panelu Kapituły, bez bocznego menu ---------- */
.dok-glowa { position: relative; padding: calc(var(--naglowek-wys) + clamp(36px, 5vw, 72px)) 0 clamp(32px, 4vw, 56px); background: var(--hero-tlo); overflow: hidden; }
.dok-glowa__siatka { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.dok-glowa__tekst { display: flex; flex-direction: column; gap: 16px; max-width: 900px; }
.dok-glowa h1 { font: 700 clamp(2.4rem, 1.4rem + 3.4vw, 4.8rem)/1.02 var(--font-display); letter-spacing: -0.03em; }
.dok-glowa__lead { max-width: 64ch; font-size: clamp(1.02rem, 0.95rem + 0.3vw, 1.2rem); line-height: 1.6; color: var(--tekst-2); }
.dok-glowa__chipy { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; }
.dok-glowa__chipy li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--linia); background: var(--powierzchnia); font-size: 13.5px; }
.dok-glowa__chipy .ikona { width: 16px; height: 16px; color: var(--akcent); }
.dok-glowa__chipy a { color: var(--akcent-tekst); }
.dok-glowa__haslo { display: flex; flex-direction: column; flex: none; gap: 2px; font: 600 11px/1.6 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.26em; text-transform: uppercase; color: var(--tekst-2); }
.dok-glowa__haslo i { width: 1px; height: 24px; margin: 8px 0; background: var(--akcent); }
.dok { padding-top: clamp(32px, 4vw, 56px); }
.dok__siatka { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.dok__spis { position: sticky; top: calc(var(--naglowek-wys) + 20px); padding: 24px; background: var(--powierzchnia); border: 1px solid var(--linia-2); }
.dok__spis h2 { margin-bottom: 14px; font: 700 1.3rem/1.2 var(--font-display); }
.dok__spis ol { list-style: none; }
.dok__spis a { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 6px; padding: 9px 10px; font-size: 14px; line-height: 1.4; color: var(--tekst-2); border-left: 2px solid transparent; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.dok__spis a b { font: 600 11px/1.9 var(--font-ui, "Inter", sans-serif); color: var(--akcent-tekst); }
.dok__spis a:hover { background: var(--pole); border-left-color: var(--akcent); color: var(--tekst); }
.dok__sekcje { display: flex; flex-direction: column; gap: 12px; }
.dok__sekcja { background: var(--powierzchnia); border: 1px solid var(--linia-2); scroll-margin-top: calc(var(--naglowek-wys) + 16px); }
.dok__sekcja summary { display: grid; grid-template-columns: 44px 28px minmax(0, 1fr) 24px; align-items: center; gap: 16px; padding: 18px 22px; list-style: none; cursor: pointer; }
.dok__sekcja summary::-webkit-details-marker { display: none; }
.dok__nr { display: grid; place-items: center; width: 40px; height: 40px; background: color-mix(in srgb, var(--akcent) 16%, transparent); font: 600 13px/1 var(--font-ui, "Inter", sans-serif); color: var(--akcent-tekst); }
.dok__ikona .ikona { width: 22px; height: 22px; color: var(--akcent); }
.dok__tytul { font: 700 clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem)/1.3 var(--font-display); }
.dok__znak { position: relative; width: 14px; height: 14px; justify-self: end; }
.dok__znak::before { content: ""; position: absolute; inset: 0; border-right: 1.5px solid var(--tekst-3); border-bottom: 1.5px solid var(--tekst-3); transform: rotate(45deg) scale(0.6); transition: transform 0.3s var(--ease-out-expo); }
.dok__sekcja[open] .dok__znak::before { transform: rotate(-135deg) scale(0.6); }
.dok__tresc { padding: 0 22px 24px calc(22px + 44px + 16px); }
.dok__punkty { list-style: none; }
.dok__punkty li { display: grid; grid-template-columns: 3.6em minmax(0, 1fr); gap: 12px; padding: 7px 0; font-size: 15px; line-height: 1.65; color: var(--tekst-2); }
.dok__punkty b { font-weight: 500; color: var(--tekst-3); }
.dok__html { font-size: 15px; line-height: 1.7; color: var(--tekst-2); }
.dok__html > * + * { margin-top: 0.8em; }
.dok__html ul, .dok__html ol { padding-left: 1.3em; }
.dok__html a { color: var(--akcent-tekst); text-decoration: underline; }

/* ---------- Kryteria i FAQ (jak w panelu Kapituły) ---------- */
.kk-glowa { padding: calc(var(--naglowek-wys) + clamp(36px, 5vw, 72px)) 0 clamp(40px, 5vw, 72px); background: linear-gradient(90deg, var(--tlo) 0%, var(--tlo) 36%, color-mix(in srgb, var(--tlo) 55%, transparent) 60%, transparent 80%), url("/img/galeria/gala-grand-prix.webp") right center / cover no-repeat; }
.kk-glowa__siatka { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.kk-glowa__tekst { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.kk-glowa h1 { font: 700 clamp(2.4rem, 1.4rem + 3.4vw, 4.8rem)/1.02 var(--font-display); letter-spacing: -0.03em; }
.kk-glowa__lead { max-width: 60ch; font-size: clamp(1.02rem, 0.95rem + 0.3vw, 1.2rem); line-height: 1.6; color: var(--tekst-2); }
.kk-glowa__haslo { display: flex; flex-direction: column; gap: 4px; padding: 20px 24px; background: rgba(11, 10, 9, 0.7); font: 600 13px/1.5 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.3em; text-transform: uppercase; color: #f6f2eb; }
.kk-glowa__haslo i { width: 56px; height: 2px; margin-top: 10px; background: var(--akcent); }
.kk__kafle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); list-style: none; }
.kk__kafle li { position: relative; display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.4vw, 34px); background: var(--powierzchnia); border: 1px solid var(--linia-2); transition: transform 0.4s var(--ease-out-expo), box-shadow 0.4s ease; }
.kk__kafle li:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -32px rgba(40, 30, 10, 0.4); }
.kk__nr { font: 600 12px/1 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.14em; color: var(--tekst-3); }
.kk__ikona .ikona { width: 40px; height: 40px; color: var(--akcent); }
.kk__kafle h3 { font: 700 1.3rem/1.2 var(--font-display); }
.kk__kafle p { font-size: 14.5px; line-height: 1.6; color: var(--tekst-2); }
.kk__waga { position: absolute; top: clamp(18px, 2vw, 28px); right: clamp(18px, 2vw, 28px); display: flex; flex-direction: column; align-items: flex-end; font: 700 1.9rem/1 var(--font-display); color: var(--akcent-tekst); }
.kk__waga small { font: 600 10.5px/1.6 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-3); }
.kk-jak { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 96px); align-items: center; }
.kk-jak h2, .kk-obraz h2 { margin: 10px 0 16px; font: 700 clamp(2rem, 1.2rem + 2.4vw, 3.4rem)/1.05 var(--font-display); letter-spacing: -0.02em; }
.kk-jak p:not(.eyebrow), .kk-obraz p:not(.eyebrow) { font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.kk-jak__tabela table { width: 100%; border-collapse: collapse; background: var(--powierzchnia); border: 1px solid var(--linia-2); }
.kk-jak__tabela caption { padding-bottom: 10px; text-align: left; font: 600 12px/1.2 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-3); }
.kk-jak__tabela th, .kk-jak__tabela td { padding: 12px 16px; border-bottom: 1px solid var(--linia-2); text-align: left; font-weight: 400; font-size: 14.5px; }
.kk-jak__tabela td { text-align: right; font-variant-numeric: tabular-nums; }
.kk-jak__tabela thead th { font: 600 11.5px/1.2 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-3); }
.kk-jak__tabela thead th:not(:first-child) { text-align: right; }
.kk-jak__tabela tfoot th, .kk-jak__tabela tfoot td { border-bottom: 0; font: 700 1.3rem/1.2 var(--font-display); color: var(--akcent-tekst); }
.kk-obraz__siatka { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(28px, 5vw, 96px); align-items: center; }
.kk-obraz__statuetka { justify-self: center; width: 100%; max-width: 460px; aspect-ratio: 1 / 1.08; }

/* ---------- Jak przygotować zgłoszenie ---------- */
.struktura { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); list-style: none; }
.struktura li { position: relative; display: flex; flex-direction: column; gap: 10px; padding: clamp(22px, 2.4vw, 34px); background: var(--powierzchnia); border: 1px solid var(--linia-2); }
.struktura__nr { font: 700 clamp(2.2rem, 1.6rem + 1.6vw, 3.2rem)/1 var(--font-display); color: var(--akcent-tekst); }
.struktura h3 { font: 700 1.3rem/1.2 var(--font-display); }
.struktura__slajdy { align-self: flex-start; padding: 3px 10px; border: 1px solid var(--linia); font: 600 11.5px/1.5 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.1em; text-transform: uppercase; color: var(--akcent-tekst); }
.struktura p { font-size: 14.5px; line-height: 1.6; color: var(--tekst-2); }
.struktura__film { display: flex; align-items: flex-start; gap: 14px; max-width: 80ch; margin-top: clamp(24px, 3vw, 40px); padding: 18px 22px; border-left: 3px solid var(--akcent); background: var(--pole); font-size: 15px; line-height: 1.6; color: var(--tekst-2); }
.struktura__film .ikona { width: 22px; height: 22px; margin-top: 2px; fill: var(--akcent); stroke: none; }
.struktura__film b { color: var(--tekst); }
.rady { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); list-style: none; }
.rady li { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2vw, 28px); background: var(--tlo-2); }
.rady b { font: 600 11.5px/1.2 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.14em; text-transform: uppercase; color: var(--akcent-tekst); }
.rady h3 { font: 700 1.2rem/1.2 var(--font-display); }
.rady p { font-size: 14px; line-height: 1.6; color: var(--tekst-2); }
.jp-ocena { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.jp-ocena > div > p { max-width: 70ch; margin-bottom: 18px; font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.jp-ocena__lista { margin-bottom: 24px; list-style: none; border-top: 1px solid var(--linia-2); }
.jp-ocena__lista li { display: grid; grid-template-columns: minmax(140px, 0.4fr) minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--linia-2); font-size: 14.5px; line-height: 1.55; color: var(--tekst-2); }
.jp-ocena__lista b { font-weight: 600; color: var(--tekst); }
.jp-techniczne { position: sticky; top: calc(var(--naglowek-wys) + 24px); padding: clamp(22px, 2.4vw, 32px); background: var(--powierzchnia); border: 1px solid var(--linia-2); }
.jp-techniczne h3 { margin-bottom: 14px; font: 700 1.2rem/1.2 var(--font-display); }
.jp-techniczne ul { list-style: none; border-top: 1px solid var(--linia-2); }
.jp-techniczne li { display: grid; grid-template-columns: 6.2em minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--linia-2); font-size: 14px; color: var(--tekst-2); }
.jp-techniczne li b { color: var(--akcent-tekst); }
.jp-techniczne p { margin-top: 14px; font-size: 13px; line-height: 1.55; color: var(--tekst-3); }

/* ---------- Bilety ---------- */
.bilety { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); align-items: start; }
.bilet { display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 3vw, 44px); background: var(--powierzchnia); border: 1px solid var(--linia); }
.bilet h2 { font: 700 clamp(1.8rem, 1.2rem + 1.8vw, 3rem)/1.05 var(--font-display); }
.bilet__cena { font: 700 clamp(2.4rem, 1.6rem + 2.4vw, 4rem)/1 var(--font-display); color: var(--akcent-tekst); }
.bilet__cena small { font: 500 14px/1 var(--font-ui, "Inter", sans-serif); color: var(--tekst-3); }
.bilet__zawiera { display: flex; flex-direction: column; gap: 10px; list-style: none; }
.bilet__zawiera li { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.bilet__zawiera .ikona { width: 22px; height: 22px; color: var(--akcent); }
.bilety__obok { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.bilety__obok h3 { margin-top: 12px; font: 700 1.3rem/1.2 var(--font-display); }
.bilety__obok h3:first-child { margin-top: 0; }
.bilety__obok p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }
.bilety-glowa { min-height: 72svh; }

/* ---------- Galerie edycji ---------- */
.galerie-karty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); margin-top: clamp(32px, 4vw, 56px); list-style: none; }
.galeria-karta { display: flex; flex-direction: column; gap: 10px; }
.galeria-karta__foto { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; aspect-ratio: 16 / 10; }
.galeria-karta__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.galeria-karta__foto img:first-child { grid-row: span 2; }
.galeria-karta:hover .galeria-karta__foto img { transform: scale(1.03); }
.galeria-karta b { font: 700 1.3rem/1.2 var(--font-display); }
.galeria-karta > span:last-child { font-size: 13.5px; color: var(--akcent-tekst); }
.galeria-edycji__scena { position: relative; display: flex; flex-direction: column; gap: 14px; }
.galeria-edycji__scena img { width: 100%; max-height: 78vh; object-fit: contain; background: #0b0a09; }
.galeria-edycji__scena figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--tekst-3); }
.galeria-edycji__nawigacja { display: flex; gap: 10px; }
.galeria-edycji__miniatury { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin-top: 22px; list-style: none; }
.galeria-edycji__miniatury button { display: block; width: 100%; aspect-ratio: 3 / 2; padding: 0; border: 2px solid transparent; background: var(--powierzchnia); cursor: pointer; overflow: hidden; }
.galeria-edycji__miniatury button[aria-current] { border-color: var(--akcent); }
.galeria-edycji__miniatury img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease-out-expo), opacity 0.3s ease; }
.galeria-edycji__miniatury button:hover img { transform: scale(1.06); }
.galeria-edycji__inne { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(28px, 3vw, 44px); }

@media (max-width: 1180px) {
  .stopka__mapa { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stopka__gora { grid-template-columns: minmax(0, 1fr) auto; }
  .stopka__hasla { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .karty-cs--start, .karty-news, .kk__kafle, .struktura, .galerie-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rady { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pas-hasla__siatka { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-right: clamp(0px, 20vw, 200px); }
  .pas-manifest { grid-template-columns: minmax(0, 1fr); }
  .pas-manifest__foto { min-height: 360px; }
}
@media (max-width: 900px) {
  .naglowek-strony__znak { display: none; }
  .naglowek-strony:has(.naglowek-strony__znak) .naglowek-strony__tresc { padding-right: 0; }
  .dok__siatka, .kk-jak, .kk-obraz__siatka, .jp-ocena, .bilety, .artykul-strona__siatka, .zostan-partnerem { grid-template-columns: minmax(0, 1fr); }
  .dok__spis, .jp-techniczne, .artykul-strona__bok { position: static; }
  .dok-glowa__haslo, .kk-glowa__haslo { display: none; }
  .pas-manifest__tekst { grid-template-columns: minmax(0, 1fr); padding-inline: var(--pad); }
  .dok__tresc { padding-left: 22px; }
}
@media (max-width: 700px) {
  .stopka__mapa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stopka__dol { flex-direction: column; align-items: flex-start; }
  .karty-cs--start, .karty-news, .kk__kafle, .struktura, .rady, .galerie-karty { grid-template-columns: minmax(0, 1fr); }
  .pas-hasla { min-height: 460px; padding-block: 64px; background-position: 70% center; }
  .dok__sekcja summary { grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 12px; padding: 16px; }
  .dok__ikona { display: none; }
  .dok__punkty li { grid-template-columns: 3em minmax(0, 1fr); }
  .jp-ocena__lista li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .btn::before, .btn::after, .btn > span[aria-hidden="true"] { transition: none; }
}

:root[data-motyw="noc"] .partnerzy__loga li { background: #ece7df; }
:root[data-motyw="noc"] .partnerzy__loga span { color: rgba(26, 26, 26, 0.6); }

/* ---------- Wyniki: składy zespołów rozwijane w miejscu, linki jako przyciski ---------- */
.laury__sklad { margin-top: 6px; }
.laury__sklad summary { display: inline-flex; align-items: center; gap: 6px; list-style: none; font: 600 11.5px/1.4 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.08em; text-transform: uppercase; color: var(--akcent-tekst); cursor: pointer; }
.laury__sklad summary::-webkit-details-marker { display: none; }
.laury__sklad summary::after { content: "+"; font-size: 14px; transition: transform 0.3s var(--ease-out-expo); }
.laury__sklad[open] summary::after { transform: rotate(45deg); }
.laury .laury__sklad ul { margin-top: 8px; padding-left: 0; border: 0; list-style: none; }
.laury .laury__sklad li { display: block; padding: 3px 0; border: 0; font-size: 13px; line-height: 1.45; text-transform: none; color: var(--tekst-2); }
.edycje__linki { display: flex; flex-wrap: wrap; gap: 10px; }
.partnerzy__loga span { text-align: center; }

/* ---------- Kategoria: kto może się zgłosić (zakres z opisu kategorii konkursowych) ---------- */
.kat-zakres { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: clamp(18px, 2vw, 26px); background: var(--powierzchnia); border: 1px solid var(--linia-2); border-left: 3px solid var(--akcent); }
.kat-zakres h3 { font: 600 12px/1.3 var(--font-ui, "Inter", sans-serif); letter-spacing: 0.16em; text-transform: uppercase; color: var(--akcent-tekst); }
.kat-zakres p { font-size: 15px; line-height: 1.6; color: var(--tekst); }
.kat-zakres ul { display: flex; flex-direction: column; gap: 6px; padding-left: 0; list-style: none; }
.kat-zakres li { position: relative; padding-left: 20px; font-size: 14.5px; line-height: 1.55; color: var(--tekst-2); }
.kat-zakres li::before { content: ""; position: absolute; left: 2px; top: 0.62em; width: 8px; height: 1.5px; background: var(--akcent); }
.kat-zakres .kat-zakres__uwaga { font-size: 13.5px; color: var(--tekst-3); }

/* Czarny przycisk w nocy (ciemny jedwab): kość słoniowa zamiast czerni, złote wypełnienie po najechaniu. */
:root[data-motyw="noc"] .btn--czarny { background: #f3eee6; border-color: #f3eee6; color: #14110b; }
.eyebrow { flex-wrap: wrap; }

/* Nagłówek na telefonie: logo, skórka, dzień/noc i menu mieszczą się w 360 px. „Zgłoszenie” jest w menu
   i w ekranie tytułowym, więc na wąskim ekranie chowamy go z paska; „Menu” zostaje jako sama ikona. */
@media (max-width: 560px) {
  .akcje .btn--zloty { display: none; }
  .menu-przycisk { gap: 0; padding: 0 12px; font-size: 0; }
  .skorka-przycisk { padding: 0 9px; }
  .skorka-przycisk b { font-size: 11px; }
}

/* ---------- Przełącznik PL / EN (Paweł 24.09: „wersje PL / EN”) ---------- */
.jezyk-przycisk { display: inline-flex; align-items: center; height: 38px; border: 1px solid var(--linia-2); font: 600 11.5px/1 var(--font-ui, var(--font-display)); letter-spacing: 0.1em; color: var(--tekst-3); transition: border-color 0.2s ease; }
.jezyk-przycisk span { display: grid; place-items: center; height: 100%; padding: 0 9px; transition: background-color 0.2s ease, color 0.2s ease; }
.jezyk-przycisk span[aria-current] { background: var(--akcent-tlo); color: var(--na-akcencie); }
.jezyk-przycisk:hover { border-color: var(--akcent); }
.jezyk-przycisk:hover span:not([aria-current]) { color: var(--akcent-tekst); }
.menu__ustawienia { display: none; }
@media (max-width: 560px) {
  .akcje .skorka-przycisk { display: none; }
  .menu__ustawienia { display: flex; gap: 10px; padding-top: 16px; }
  .menu__ustawienia .skorka-przycisk { display: inline-flex; }
  .menu__ustawienia .skorka-przycisk__etykieta { display: inline; }
}

/* Adnotacje w wersji EN: treści dostępne tylko po polsku (regulamin, prywatność, informacje prasowe, Entry Kit). */
.dok__uwaga, .artykul-strona__uwaga, .entry-kit__uwaga { padding: 12px 16px; border-left: 3px solid var(--akcent); background: var(--pole); font-size: 14.5px; line-height: 1.55; color: var(--tekst-2); }
.dok__uwaga { margin-top: clamp(20px, 2.4vw, 32px); }
.artykul-strona__uwaga { margin-bottom: 1.2em; font-style: italic; }
.entry-kit__uwaga { margin-top: 16px; }
