/*
Theme Name: Performing Arts Study
Author: Natalia Bednarczyk
Version: 1.0
*/

/* ==========================================================================
   1. ZMIENNE I KONFIGURACJA (ROOT)
   ========================================================================== */
:root {
    --color-blue-dark: #1123D9;
    --color-blue-light: #D8EDF2;
    --color-red-bright: #D91111;
    --color-red-dark: #A62E2E;
    --color-black: #141010;
    --color-white: #F2F2F2;

    --font-notch: 'Stack Sans Notch', sans-serif;
    --font-headline: 'Stack Sans Headline', sans-serif;
    --font-text: 'Stack Sans Text', sans-serif;

    --fw-extralight: 200;
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    --space-xs: 0.625rem;
    --space-s: 1rem;
    --space-m: 2.5rem;
    --space-l: 5rem;
    --space-xl: 8rem;
    --space-xxl: 9.5rem;

    --space-lh-p: 1.2155rem;

    --sb-w: 3.5rem;
    --n-w: 2.5rem;
    --n-h: 1.25rem;
    --max-width: 1440px;
    --gap-grid: var(--space-xs);
    --gap-floating: 0.925rem;
    --decor-width: 6.6rem;
    --decor-height: 4.86rem;

    --pad-sb-x2: calc(var(--sb-w) * 2);
    --pad-sb-x3: calc(var(--sb-w) * 3);

    --facts-aside-h: calc(13.2rem * 1.414);
}

/* ==========================================================================
   2. STYLE BAZOWE (RESET & BASE)
   ========================================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

::selection {
    background-color: var(--color-red-bright);
    color: var(--color-blue-light);
}

html {
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

body {
    background-color: var(--color-white);
    color: var(--color-black);
    font-family: var(--font-text);
    font-weight: var(--fw-regular);
    font-size: 1.125rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    overflow-x: hidden;
}

h1, h2, h3 {
    font-family: var(--font-notch);
    line-height: 1;
    font-weight: var(--fw-semibold);
}

p {
    font-size: .935rem;
    line-height: 1.3;
    padding-bottom: var(--space-lh-p);
}

* > p:last-child {
    padding-bottom: 0;
}

em, italic, cite {
    font-style: normal;
    font-weight: var(--fw-extralight);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   3. TYPOGRAFIA I LINKI
   ========================================================================== */
.type-display,
.type-display p {
    font-family: var(--font-notch);
    font-weight: var(--fw-medium);
    line-height: 1;
}

.type-heading-l,
.type-heading-l p {
    font-family: var(--font-notch);
    font-size: clamp(2.25rem, 3.425vw, 3.125rem);
    line-height: 1;
    font-weight: var(--fw-semibold);
}

.type-heading-m,
.type-heading-m p {
    font-family: var(--font-headline);
    font-weight: var(--fw-light);
    font-size: 1.475rem;
    line-height: 1.2;
}

.type-heading-m--large,
.type-heading-m--large p {
    font-size: clamp(2.25rem, 3.425vw, 3.125rem);
    line-height: 1.1;
}

.type-label,
.type-label p {
    font-family: var(--font-headline);
    font-weight: var(--fw-regular);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
}

.type-label strong {
    font-weight: var(--fw-bold);
}

.type-copy,
.type-copy p {
    font-family: var(--font-text);
    font-size: .935rem;
    line-height: 1.3;
}

.type-desc,
.type-desc p {
    font-family: var(--font-headline);
    font-size: clamp(0rem, 1.64vw, 1.475rem);
    font-weight: var(--fw-semibold);
    line-height: 1.2;
    text-transform: none;
    text-align: left;
    letter-spacing: 0;
    margin: 0;
}

.type-bold {
    font-weight: var(--fw-semibold);
}

.color-accent {
    color: var(--color-red-bright);
}

a {
    color: var(--color-blue-dark);
    transition: background 0.3s ease;
    text-decoration: none;
}

a:hover {
    background: var(--color-blue-light);
}

.link-clean {
    color: inherit;
    transition: color 0.3s ease;
}

.link-clean:hover {
    background: none;
    color: var(--color-blue-dark);
}

.link-dark {
    color: var(--color-black);
    text-decoration: none;
}

.link-dark:hover {
    color: var(--color-blue-dark);
}

.pad-b-standard {
    padding-bottom: var(--space-lh-p);
}

.pad-b-clean {
    padding-bottom: 0 !important;
}

/* ==========================================================================
   4. KOMPONENTY WSPÓŁDZIELONE (SHARED)
   ========================================================================== */

/* --- SYSTEM WYCIĘĆ (NOTCHES) --- */
.hero__item--notch {
    --n-tl-w: 0px;
    --n-tl-h: 0px;
    --n-tr-w: 0px;
    --n-tr-h: 0px;
    --n-bl-w: 0px;
    --n-bl-h: 0px;
    --n-br-w: 0px;
    --n-br-h: 0px;
    clip-path: polygon(
        var(--n-tl-w) 0, 
        calc(100% - var(--n-tr-w)) 0, 
        calc(100% - var(--n-tr-w)) var(--n-tr-h), 
        100% var(--n-tr-h), 
        100% calc(100% - var(--n-br-h)), 
        calc(100% - var(--n-br-w)) calc(100% - var(--n-br-h)), 
        calc(100% - var(--n-br-w)) 100%, 
        var(--n-bl-w) 100%, 
        var(--n-bl-w) calc(100% - var(--n-bl-h)), 
        0 calc(100% - var(--n-bl-h)), 
        0 var(--n-tl-h), 
        var(--n-tl-w) var(--n-tl-h)
    );
}

.hero__item--tl { --n-tl-w: var(--n-w); --n-tl-h: var(--n-h); }
.hero__item--tr { --n-tr-w: var(--n-w); --n-tr-h: var(--n-h); }
.hero__item--bl { --n-bl-w: var(--n-w); --n-bl-h: var(--n-h); }
.hero__item--br { --n-br-w: var(--n-w); --n-br-h: var(--n-h); }

/* --- ELEMENTY PŁYWAJĄCE --- */
.floating-item {
    position: absolute;
    top: var(--t, auto);
    right: var(--r, auto);
    bottom: var(--b, auto);
    left: var(--l, auto);
    width: var(--w, var(--decor-width));
    margin: var(--m, 0);
    display: flex;
    flex-direction: column;
    gap: var(--gap-floating);
    z-index: 10;
}

.floating-item--v .floating-item__media { aspect-ratio: 1 / 1.414; }
.floating-item--h .floating-item__media { aspect-ratio: 1.414 / 1; }
.floating-item__media { width: 100%; }
.floating-item .floating-item__caption { width: 120%; }

/* --- KONTENERY WIZUALNE --- */
.visual-box {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.visual-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    display: block;
    flex: 1;
}

/* --- AKCENTY GRAFICZNE --- */
.accent-context {
    position: relative;
}

.accent-element {
    position: absolute;
    width: var(--acc-w, var(--decor-width));
    height: var(--acc-h, var(--decor-height));
    top: var(--acc-t, auto);
    right: var(--acc-r, auto);
    bottom: var(--acc-b, auto);
    left: var(--acc-l, auto);
    background-image: var(--acc-img, url('img/logo-accent-red.svg'));
    background-size: var(--acc-size, contain);
    background-repeat: var(--acc-rep, no-repeat);
    z-index: var(--acc-z, 1);
    pointer-events: none;
}

.accent-element.accent-element--2 {
    width: calc(var(--decor-width) * 2 + .35rem);
    background-size: var(--decor-width) var(--decor-height);
    background-repeat: space;
}

.accent-element.accent-element--3 {
    width: calc(var(--decor-width) * 3 + .35rem * 2);
    background-size: var(--decor-width) var(--decor-height);
    background-repeat: space;
}

.accent-element.accent-element--4 {
    width: calc(var(--decor-width) * 4 + .35rem * 3);
    background-size: var(--decor-width) var(--decor-height);
    background-repeat: space;
}

/* ==========================================================================
   5. STRUKTURA WITRYNY (LAYOUT)
   ========================================================================== */
.site-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.container--padded {
    padding-left: var(--pad-sb-x3);
    padding-right: var(--pad-sb-x2);
}

.container--narrow {
    max-width: 42.5vw;
    margin-left: auto;
    margin-right: auto;
}

.container--medium {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.container--regular{
    max-width: 768px;
    margin-left: auto;
    margin-right: auto;
}

.section-padding {
    padding-top: var(--section-pt, var(--space-xxl));
    padding-bottom: var(--section-pb, var(--space-xxl));
}

/* --- BANNER --- */
.site-banner {
    position: relative;
    margin-top: calc(var(--decor-height) * -1 / 2 + (var(--sb-w) * 2));
    width: 100%;
    display: flex;
    justify-content: center;
    overflow: visible;
    z-index: 1001;
}

.lang-en .site-banner {
    margin-top: calc(var(--sb-w) * 2);
}

.site-banner__svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}

.site-banner__svg path,
.site-banner__svg polygon,
.site-banner__svg .st0 {
    fill: none !important;
    stroke: var(--color-red-bright);
    stroke-width: 1px;
    vector-effect: non-scaling-stroke;
    stroke-linejoin: round;
    stroke-linecap: round;
}

/* --- SIDEBAR --- */
.sidebar-blue {
    position: fixed;
    left: 0;
    top: 0;
    width: var(--sb-w);
    height: 100vh;
    background-color: var(--color-blue-dark);
    z-index: 1000;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.sidebar-blue__marquee {
    display: flex;
    flex-direction: column;
    min-height: 200vh;
    animation: marquee-scroll-down 20s linear infinite;
}

.sidebar-blue__group {
    display: flex;
    flex-direction: column;
    flex: 1 0 100vh;
    justify-content: space-around;
    flex-shrink: 0;
}

.sidebar-blue__text {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
    font-family: var(--font-headline);
    font-weight: var(--fw-light);
    font-size: 0.875rem;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 1.25rem 0;
    display: block;
    margin: 0 auto;
}

@keyframes marquee-scroll-down {
    0% { transform: translateY(-50%); }
    100% { transform: translateY(0%); }
}

/* --- ANIMOWANE MACZUGI --- */
.juggling-clubs {
    position: fixed;
    left: 2rem;
    bottom: calc(-7rem + var(--lift, 0px));
    width: 14rem;
    height: 16rem;
    z-index: 9999;
    pointer-events: none;
    will-change: translate, bottom;
    transition: none;
}

.juggling-clubs--right {
    left: auto;
    right: -3.5rem;
}

.juggling-clubs__pulse-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    animation: clubs-group-pulse 5s ease-in-out infinite alternate;
}

.subpage--projekty .juggling-clubs {
    display: none !important;
}

@keyframes clubs-group-pulse {
    from { transform: scale(1); }
    to { transform: scale(1.15); }
}

.club {
    position: absolute;
    width: 1.8rem;
    height: 10.64rem;
    object-fit: contain;
    transform-origin: center center;
    transform: rotate(calc(var(--base-rot) + var(--scroll-rot, 0deg)));
}

.club--1 {
    --base-rot: -138.5deg;
    top: 4.5rem;
    left: 4.75rem;
    animation: club-wobble-1 7s ease-in-out infinite alternate-reverse;
}

.club--2 {
    --base-rot: -34deg;
    top: 2rem;
    left: 0rem;
    animation: club-wobble-2 6s ease-in-out infinite alternate;
}

.club--3 {
    --base-rot: 56.5deg;
    top: 2.8rem;
    left: 2.6rem;
    animation: club-wobble-3 6.5s ease-in-out infinite alternate;
}

@keyframes club-wobble-1 {
    0% { transform: rotate(calc(var(--base-rot) + var(--scroll-rot, 0deg))) translateX(0); }
    100% { transform: rotate(calc(var(--base-rot) - 3deg + var(--scroll-rot, 0deg))) translateX(6px); }
}

@keyframes club-wobble-2 {
    0% { transform: rotate(calc(var(--base-rot) + var(--scroll-rot, 0deg))) translateY(0); }
    100% { transform: rotate(calc(var(--base-rot) + 3deg + var(--scroll-rot, 0deg))) translateY(-6px); }
}

@keyframes club-wobble-3 {
    0% { transform: rotate(calc(var(--base-rot) + var(--scroll-rot, 0deg))) scale(1); }
    100% { transform: rotate(calc(var(--base-rot) + 4deg + var(--scroll-rot, 0deg))) scale(0.97); }
}

/* ==========================================================================
   6. NAWIGACJA (HEADER & NAV)
   ========================================================================== */
.header {
    padding: 1.25rem 0 0;
    position: relative;
    z-index: 2;
}

.header__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.logo {
    flex-shrink: 0;
    padding-left: var(--pad-sb-x2);
}

.logo-link {
    display: inline-block;
    line-height: 0;
    transition: opacity 0.3s ease;
}

.logo-img {
    width: 10rem;
    height: auto;
    display: block;
}

.header__nav {
    width: calc(50% + 3.3rem);
    padding-right: var(--n-w);
}

.nav__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    margin-top: 0.825rem;
}

.nav__item {
    margin: 0;
}

.nav__link {
    white-space: nowrap;
    display: flex;
    transition: color 0.3s ease;
}

.header a, .logo-link, .logo-link:hover, .hero a {
    background: none;
}

/* --- LANG SWITCHER --- */
.lang-switcher-abs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: .5rem;
    position: fixed;
    background: var(--color-red-dark);
    mix-blend-mode: exclusion;
    border-radius: 50%;
    top: .75rem;
    left: calc(var(--sb-w) / 2);
    width: 3.5rem;
    line-height: 1;
    aspect-ratio: 1 / 1;
    z-index: 10000;
}

.lang-switcher-abs__link {
    color: var(--color-white);
    text-decoration: none;
    transition: opacity 0.3s ease;
    padding: 0;
    font-weight: var(--fw-extralight);
}

.lang-switcher-abs__link.is-active {
    display: inline-flex;
    font-weight: var(--fw-bold);
}

.lang-switcher-abs__link:hover {
    color: var(--color-white);
    opacity: .5;
}

.back-to-top-abs {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    background: var(--color-red-dark);
    mix-blend-mode: exclusion;
    border-radius: 50%;
    bottom: .75rem;
    right: .75rem;
    width: 3.5rem;
    aspect-ratio: 1 / 1;
    z-index: 10000;
    cursor: pointer;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
}

.back-to-top-abs.is-visible {
    opacity: 1;
    visibility: visible;
}

.back-to-top-abs:hover {
    background: var(--color-red-dark);
    color: var(--color-white);
}

.back-to-top-abs svg {
    color: var(--color-white);
    transition: all 0.3s ease;
    width: 1.5rem;
    height: 1.5rem;
}

.back-to-top-abs:hover svg {
    opacity: .5;
}

/* ==========================================================================
   7. SEKCJA: HERO
   ========================================================================== */
.hero__container {
    display: grid;
    grid-template-columns: calc(50% - var(--gap-grid)) repeat(3, calc((50% - (2 * var(--gap-grid))) / 3));
    gap: var(--gap-grid);
    grid-template-rows: auto 1fr;
    max-width: var(--max-width);
    margin: -3.515rem auto 0;
    align-items: stretch;
    position: relative;
    overflow: visible;
}

.hero__content,
.hero__visuals,
.hero__content-grid,
.hero__visuals-grid {
    display: contents;
}

.hero__row-v1 {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    padding-right: var(--space-s);
    padding-left: var(--pad-sb-x2);
    margin: 0;
    margin-bottom: -0.35em;
}

.hero__row-v2 {
    grid-column: 1;
    grid-row: 2;
    padding-right: var(--space-s);
    padding-left: var(--pad-sb-x2);
}

.hero__title {
    margin: 0;
    font-size: clamp(2.25rem, 3.425vw, 3.125rem);
}

.hero__lead {
    padding-top: 3.425vw;
}

.hero__col-v1,
.hero__col-stack,
.hero__col-v2 {
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: var(--gap-grid);
    height: 100%;
    position: relative;
}

.hero__col-v1 {
    grid-column: 2;
    z-index: 5;
}

.hero__col-stack {
    grid-column: 3;
}

.hero__col-v2 {
    grid-column: 4;
}

.hero__col-v2 .hero__img {
    object-position: 25% bottom;
}

.hero__item {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    display: block;
    flex: 1;
}

.hero__img--spacer {
    pointer-events: none;
    display: block;
}

.hero__video-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - var(--sb-w) / 6 * 5 + var(--space-xs));
    z-index: 1;
    overflow: hidden;
    flex: 1;
}

.hero__video-wrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    min-width: 177.77%;
    min-height: 100%;
}

.hero__panorama-box {
    grid-column: 2 / span 3;
    grid-row: 2;
    height: 100%;
    display: flex;
    position: relative;
}

.hero__panorama-box .hero__item {
    aspect-ratio: 1.618 / 1;
}

.hero__video-panorama {
    border: none;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    aspect-ratio: 16 / 9;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    background: url(img/hero-panorama-placeholder--2.webp) no-repeat;
    background-size: contain;
    background-position: center center;
}

.hero__caption {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(var(--sb-w) / 6 * 5 - var(--space-xs));
    padding-top: .625rem;
    flex: 0 0 auto;
}

/* --- POPOUT --- */
.hero__item--popout-wrapper {
    overflow: visible !important;
    height: 100%;
    width: 100%;
}

.hero__base-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.hero__popout-img {
    position: absolute;
    width: 125% !important;
    height: 125% !important;
    max-width: none !important;
    left: -18.75%;
    top: -18.75%;
    object-fit: cover;
    overflow: hidden;
}

.hero__popout-img--top {
    z-index: 2;
    pointer-events: none;
}

/* ==========================================================================
   8. SEKCJA: O MNIE (ABOUT)
   ========================================================================== */
.about__container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
}

.collage-heading {
    padding: 0;
}

.collage-heading .type-display {
    font-size: clamp(3.5rem, 7.15vw, 6.5rem);
    width: 100%;
}

.collage-heading__row {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0.3em;
    justify-content: flex-start;
}

.collage-heading__row--full {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.collage-heading__inline-group {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    vertical-align: middle;
}

.collage-heading__inline-group .collage-heading__img-wrap {
    margin: 0;
    height: 0.715em;
}

.collage-heading__img-wrap {
    display: inline-block;
    vertical-align: middle;
    height: 0.715em;
    position: relative;
    top: 0;
    overflow: hidden;
}

.collage-heading__img-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    object-position: top center;
}

.collage-heading__img-wrap--v { aspect-ratio: 1 / 1.414; }
.collage-heading__img-wrap--h { aspect-ratio: 1.414 / 1; }

.collage-heading__word-overlap {
    position: relative;
    display: inline-block;
}

.collage-heading__word-overlap::after {
    content: "";
    position: absolute;
    height: 0.715em;
    aspect-ratio: 3 / 2;
    background-image: url('img/collage-about-08.webp');
    background-size: cover;
    background-position: center;
    left: calc(100% + 0.3em);
    top: 14.5%;
    z-index: 2;
    pointer-events: none;
}

.collage-heading h2.type-display {
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}

.about__content-grid {
    display: grid;
    grid-template-columns: min-content 1.125fr 0.875fr;
    align-items: stretch;
    row-gap: calc(var(--space-lh-p) * 4);
    margin-top: -1.95rem;
}

.about__lead,
.about__bio {
    align-self: start;
}

.about__lead {
    grid-column: 3;
    grid-row: 1;
}

.about__visual-col {
    grid-column: 1;
    grid-row: 2;
    margin-top: calc(var(--space-lh-p) * 2 + 0.75rem * 1.2 + 0.35em);
    margin-left: calc(var(--pad-sb-x3) * -1 + var(--sb-w) / 2);
    position: relative;
    z-index: 1001;
}

.about__video-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    display: block;
    background-color: var(--color-white);
    transform: scale(1.01);
}

.about__visual-col figure {
    aspect-ratio: 2.35 / 1;
    width: 19.8rem;
}

.about__visual-col .about__label {
    display: block;
    margin-top: var(--gap-floating);
    margin-left: calc(var(--sb-w) / 2 + 1.25rem);
    line-height: 1.4;
}

.about__portrait-col {
    grid-column: 2;
    grid-row: 1 / span 2;
    height: 0;
    min-height: 100%;
    position: relative;
    z-index: 5;
    pointer-events: none;
}

.about__portrait-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-end;
    height: calc(100% + var(--space-xxl));
    width: 100%;
    position: relative;
}

.about__portrait-img {
    object-fit: cover;
    overflow: hidden;
    object-position: top center;
    width: auto;
    height: calc(100% - 0.175em);
    margin-right: 20%;
}

.about__bio {
    grid-column: 3;
    grid-row: 2;
}

.about__bio .type-label {
    display: block;
    padding-bottom: calc(var(--space-lh-p) * 2);
}

.about__floating-group {
    position: relative;
}

/* ==========================================================================
   9. UOGÓLNIONE KOMPONENTY (GENERIC)
   ========================================================================== */

/* --- SPLIT BLOCK --- */
.split-block {
    padding-top: calc(var(--space-lh-p) * 4);
}

.split-block + .split-block {
    padding-top: calc(var(--space-lh-p) * 3);
}

.split-block__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sb-w);
    align-items: center;
}

.split-block__content {
    display: flex;
    flex-direction: column;
}

.content-list + div {
    margin-top: calc(var(--space-lh-p) * 3);
}

.split-block__header {
    margin-bottom: calc(var(--space-lh-p) * 2);
}

.split-block__visuals {
    position: relative;
    width: 100%;
}

.split-block__image-wrapper {
    position: relative;
    overflow: hidden;
    line-height: 0;
    aspect-ratio: 1 / 1.414;
}

.split-block__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

.split-block__video {
    position: absolute;
    top: auto !important; 
    bottom: -2px !important;
    left: 50% !important;
    transform: translate(-50%, 0) !important;
    aspect-ratio: 16 / 9;
    min-width: 127%; 
    min-height: 127%;
    width: auto;
    height: auto;     
    pointer-events: none;
    border: none;
}

.split-block--reverse .split-block__grid {
    direction: rtl;
}

.split-block--reverse .split-block__content,
.split-block--reverse .split-block__visuals {
    direction: ltr;
}

/* --- INFO STRIPE --- */
.info-stripe {
    background-color: var(--color-blue-dark);
    color: var(--color-blue-light);
    position: relative;
}

.info-stripe__container {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--space-m);
}

.info-stripe__content .info-stripe__q {
    padding-bottom: 3.425vw;
}

.info-stripe__lead {
    font-weight: var(--fw-semibold);
}

.info-stripe__btn {
    border-color: var(--color-blue-light);
    color: var(--color-blue-light);
    margin-top: 3.925vw;
}

.info-stripe__visuals {
    position: relative;
    height: 100%;
}

.info-stripe__image {
    position: absolute;
    bottom: -1rem;
    width: auto;
    max-width: none;
    height: 111%;
    z-index: 5;
}

.info-stripe__image img {
    width: auto;
    height: 100%;
}

.term-badania-wystepow-ulicznych .info-stripe__visuals {
    position: static;
}

.term-badania-wystepow-ulicznych .visual-wrapper--performances {
    background: url(img/decor-acrobat.webp) no-repeat;
    background-size: cover;
    background-position: 62% center;
    position: absolute;
    top: -.625rem;
    right: 0;
    bottom: -.625rem;
    left: 0;
    z-index: 1002;
    pointer-events: none;
}

.info-stripe__image--clown { left: 0; }
.info-stripe__image--stiltwalker { right: calc(var(--sb-w) * -1); }

/* --- PRZYCISKI --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46.666px;
    padding: 0.625rem var(--space-m);
    border: 2.5px solid;
    text-decoration: none;
    box-sizing: border-box;
    cursor: pointer;
    transition: 0.3s ease;
}

.btn:hover, .btn.type-label:hover {
    background: none;
}

.btn.color-accent:hover, .btn.color-accent.type-label:hover {
    border-color: var(--color-red-bright);
    color: var(--color-red-bright);
}

/* --- SYGNATURY --- */
.type-label__signature .type-label {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: absolute;
    z-index: 99;
    top: var(--lbl-t, auto);
    right: var(--lbl-r, auto);
    bottom: var(--lbl-b, auto);
    left: var(--lbl-l, auto);
}

.type-label__signature .type-label a {
    color: var(--color-white);
    font-size: .65rem;
}

.type-label__signature .type-label a:hover {
    background: none;
    color: var(--color-white);
}

/* --- VIDEO PLAYER --- */
.video-player {
    padding-top: calc(var(--sb-w) * 2);
/*    padding-bottom: calc(var(--sb-w) * 2 - var(--gap-floating) - .9rem);*/
    padding-bottom: calc(var(--sb-w) * 2);
}

.video-player + .video-player {
    padding-top: 0;
}

.video-player__media-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.video-player__media-box + .video-player__media-box {
    margin-top: calc(var(--space-lh-p) * 2 + 0.75rem);
}

.video-player__media-box figure,
.video-player__media-box > iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
}

.js-video-target {
    height: 100%;
}

.video-player__media-box.decor-logo::after {
    content: '';
    background: url(img/decor-logo.svg) no-repeat;
    position: absolute;
    bottom: -1.75rem;
    right: -2.33rem;
    width: 10rem;
    height: 7.1rem;
    pointer-events: none;
}

.video-player__video-wrapper {
    position: relative;
    cursor: pointer;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-white);
}

.video-player__embed-wrapper {
    position: relative;
    cursor: pointer;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-white);
    width: 100%;
}

.video-player__poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.video-player__play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    width: var(--sb-w);
    height: var(--sb-w);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-red-bright);
    mix-blend-mode: exclusion;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    will-change: transform;
    pointer-events: none;
}

.video-player__play-button svg {
    width: var(--space-m);
    height: var(--space-m);
    fill: white;
}

.video-player__video-wrapper:hover .video-player__play-button {
    transform: translate(-50%, -50%) scale(1.1);
}

.video-player__video-wrapper.is-playing .video-player__poster,
.video-player__video-wrapper.is-playing .video-player__play-button {
    display: none;
}

.video-player__label {
    display: block;
    margin-top: var(--gap-floating);
    margin-bottom: calc(var(--gap-floating) * -1 - .9rem);
}

/* --- INDEX LIST --- */
.idx-item__inner {
    display: block;
    padding-top: calc(var(--space-lh-p) * 4);
    padding-bottom: calc(var(--space-lh-p) * 1.5);
    padding-left: var(--pad-sb-x3);
    padding-right: var(--pad-sb-x2);
    text-decoration: none;
    position: relative;
}

.idx-item__inner--gap {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-lh-p) * 2);
}

.idx-item__inner::after {
    content: '';
    background: var(--color-red-bright);
    background-size: 100% 1px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: calc(var(--sb-w) / 2);
    right: var(--n-w);
    z-index: 1002;
}

.idx-item__meta {
    display: block;
    margin-bottom: var(--space-lh-p);
}

.idx-item__title {
    text-transform: none;
    margin: 0;
}

.idx-item__columns {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-l);
    align-items: center;
}

.idx-item__inner--gap .content-list {
    gap: calc(var(--space-lh-p) * 1.25);
}

/* --- CONTENT LIST --- */
.content-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-lh-p) * 2);
}

.content-list--bulleted p { padding-bottom: 0; }
.content-list--bulleted * + p { padding-top: var(--space-lh-p); }
.content-list__item { margin: 0; padding: 0; }
.item__title { margin: 0; padding-bottom: var(--space-lh-p); }
.item__desc { margin: 0; }

.accent-bullet {
    position: relative;
    padding-left: calc(var(--space-s) * 2);
}

.accent-bullet::before {
    content: '';
    background: url('img/accent-bullet.svg') no-repeat;
    background-size: var(--space-s) var(--space-s);
    background-position: center center;
    width: var(--space-s);
    height: var(--space-s);
    position: absolute;
    left: 0;
}

.accent-bullet--s::before { top: 2px; }
.accent-bullet--m::before { top: 5px; }
.accent-bullet--l::before { top: 7px; }

/* ==========================================================================
   10. SEKCJA: CIEKAWOSTKI (FACTS)
   ========================================================================== */
.facts {
    z-index: 1001;
}

.facts__label {
    color: var(--color-white);
    position: absolute;
    top: var(--gap-floating);
    left: var(--sb-w);
    z-index: 1002;
}

.facts__stage {
    position: relative;
    width: 100%;
}

.facts__bg .visual-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    overflow: hidden;
    display: block;
}

.facts__box {
    position: absolute;
    padding: var(--sb-w);
    width: fit-content;
    box-sizing: border-box;
    z-index: 10;
}

.facts__box--white {
    background-color: var(--color-white);
    color: var(--color-red-dark);
}

.facts__box--burgundy {
    background-color: var(--color-red-dark);
    color: white;
}

.facts__group {
    position: absolute;
    bottom: calc(var(--facts-aside-h) - 1.1rem);
    left: var(--pad-sb-x3);
    display: flex;
    flex-direction: row;
    width: auto;
    z-index: 12;
}

.facts__box p, .facts__group p {
    padding-bottom: 0;
}

.facts__group .facts__box {
    position: relative;
}

.facts__pos--1 { width: 337.833px; }
.facts__align-start { width: 329.5px; }
.facts__overlap-top { width: 339.267px; }
.facts__pos--4 { width: 437.983px; }
.facts__aside-item--top, .facts__aside-item--bottom { width: 340.483px; }

.facts__overlap-top {
    margin-left: -1.25rem;
    margin-bottom: 8.15rem;
    z-index: 2;
    align-self: flex-start;
}

.facts__align-start {
    align-self: flex-end;
    z-index: 1;
}

.facts__pos--1 {
    top: -1.25rem;
    left: calc(var(--pad-sb-x3) + var(--decor-width) * 2);
    z-index: 11;
}

.facts__pos--4 {
    bottom: 0;
    left: calc(var(--pad-sb-x3) + var(--decor-width) * 2);
    z-index: 16;
}

.facts__aside-wrapper {
    position: absolute;
    right: 0;
    bottom: -1.1rem;
    display: grid;
    grid-template-columns: 13.2rem 1fr;
    grid-template-rows: repeat(2, calc(13.2rem * 1.414));
}

.facts__aside-portrait {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 13.2rem;
    aspect-ratio: 1 / 1.414;
    margin: 0;
    z-index: 5;
}

.facts__aside-item--top {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: start;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    background: var(--color-white);
    color: var(--color-red-dark);
    padding: 0 var(--sb-w);
    height: 100%;
}

.facts__aside-item--bottom {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    background: var(--color-white);
    color: var(--color-red-dark);
    padding: 0 var(--sb-w) var(--sb-w);
}

/* ==========================================================================
   11. SEKCJA: COLOPHON (O STRONIE)
   ========================================================================== */
.colophon {
    position: relative;
}

.colophon__grid {
    padding: calc(var(--sb-w) * 2) var(--pad-sb-x2) calc(var(--sb-w) * 2) var(--pad-sb-x3);
    position: relative;
    display: grid;
    grid-template-columns: 1fr 25%;
    gap: var(--pad-sb-x2);
    align-items: end;
}

.colophon__label {
    padding-bottom: calc(var(--space-lh-p) * 2);
    display: block;
}

.colophon__stiltwalker-slot {
    position: relative;
    width: 100%;
    height: 100%;
}

.colophon__stiltwalker-lying img {
    position: absolute;
    top: calc(100% + 0.625rem);
    left: 0;
    width: auto;
    height: 50.35rem;
    z-index: 15;
    pointer-events: none;
    transform-origin: left top;
    transform: rotate(-90deg);
}

.colophon__funding {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: flex-start;
    margin-top: calc(var(--space-lh-p) * 2 - .625rem);
}

.colophon__funding a:hover {
    background: no-repeat;
}

.colophon__logo {
    height: calc(var(--sb-w) / 6 * 5);
}

.colophon__media {
    margin-top: -1rem;
}

.colophon__qr {
    width: 100%;
}

.colophon__qr img {
    width: 100%;
    height: auto;
}

/* ==========================================================================
   12. STOPKA (FOOTER)
   ========================================================================== */
.footer {
    background-color: #ECECEC;
    padding: calc(var(--sb-w) / 6 * 5) var(--sb-w) calc(var(--sb-w) / 6 * 5) var(--pad-sb-x2);
}

.footer__content {
    display: grid;
    grid-template-columns: max-content 1fr max-content;
    gap: 0;
    align-items: start;
}

.footer__brand {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 100%;
}

.footer__copyright {
    text-transform: none;
    font-family: var(--font-text);
    font-size: 0.75rem;
    letter-spacing: 0;
}

.footer__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sb-w);
}

.footer__menu,
.footer__submenu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer__menu > li { margin-bottom: var(--gap-floating); }

.footer__submenu {
    margin-top: var(--gap-floating);
    margin-left: 1.75rem;
}

.footer__submenu li { margin-bottom: var(--gap-floating); }

.footer__menu li:last-child,
.footer__submenu li:last-child {
    margin-bottom: 0;
}

.footer__submenu a { font-size: .65rem; }

.footer__extra {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    height: 100%;
}

.footer__author {
    text-transform: none;
    font-family: var(--font-text);
    font-size: 0.75rem;
    letter-spacing: 0;
}
.footer__designer-link { text-decoration: none; }

/* ==========================================================================
   13. STYLE PODSTRON (SUBPAGES)
   ========================================================================== */

/* --- GLOBALNE --- */
.subpage .logo { line-height: 0; }
.subpage .site-banner { margin-bottom: calc(var(--sb-w) * 2); }
.subpage .mobile-only { display: none; }

.subpage .sub-hero__container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding-top: var(--sb-w);
    position: relative;
}

.subpage .sub-hero__title {
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    font-size: clamp(3.5rem, 7.15vw, 6.5rem);
    line-height: 1;
}

.subpage .sub-hero__row {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.subpage .sub-hero__bracket {
    display: flex;
    height: 100%;
    font-size: 1em;
    margin: 0;
    transform: translateY(-0.0725em);
}

.subpage .sub-hero__inline-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    justify-content: center;
    text-align: center;
    padding: 0 0.2em;
    max-width: 5.725ch;
    white-space: normal;
}

/* --- WSPÓŁPRACA --- */
.subpage--wspolpraca .sub-hero__container { padding-left: var(--sb-w); }

.subpage--wspolpraca .sub-hero__inline-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: .13ch;
    padding: 0 0.2em;
}

.subpage--wspolpraca:not(.lang-en) .sub-hero__inline-group { max-width: 6.225ch; }

.subpage--wspolpraca .floating-cta {
    position: fixed;
    text-align: right;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    max-width: var(--max-width);
    z-index: 1000;
    pointer-events: none;
    top: 482px;
    transform: none;
    will-change: top;
}

.subpage--wspolpraca .floating-cta__btn {
    margin-right: var(--n-w);
    font-size: .935rem;
    color: var(--color-red-bright);
    pointer-events: auto;
}

.subpage--wspolpraca .sub-hero__container > .sub-hero-clown {
    background: url(img/decor-clown-04.webp) no-repeat;
    background-size: contain;
    background-position: left bottom;
    position: absolute;
    top: calc(var(--sb-w) + 7.5vw + var(--space-lh-p) * 4);
    bottom: 0;
    right: 0;
    left: calc(var(--sb-w) + 1.25rem);
    width: 100%;
    height: calc(100% - var(--sb-w) - var(--space-lh-p) * 4);
    z-index: 1001;
    pointer-events: none;
}

.subpage--wspolpraca .services__container {
    position: relative;
    text-align: left;
    margin-top: calc(var(--space-lh-p) * 4);
    width: 100%;
}

.subpage--wspolpraca .services__label {
    padding-bottom: calc(var(--space-lh-p) * 2);
    font-family: var(--font-text);
    font-weight: var(--fw-regular);
    font-size: .935rem;
    line-height: 1.3;
}

.subpage--wspolpraca .services__list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-lh-p) * 2);
    list-style: none;
    font-size: 1.125rem;
}

.subpage--wspolpraca .services__title {
    font-family: var(--font-headline);
    font-weight: var(--fw-semibold);
    font-size: 1.475rem;
    line-height: 1.2;
}

.subpage--wspolpraca .services__num {
    display: block;
    padding-bottom: var(--gap-floating);
}

.subpage--wspolpraca .split-block--1 .floating-item { z-index: auto; }
.subpage--wspolpraca .split-block--1 .floating-item img { object-position: center bottom; z-index: -1; }

.subpage--wspolpraca .split-block--1 .floating-item::after {
    content: '';
    background: url(img/marta-01.webp) no-repeat;
    background-size: cover;
    background-position: bottom center;
    position: absolute;
    top: calc(var(--sb-w) * 1.5);
    right: 0;
    bottom: 0;
    left: 0;
    mix-blend-mode: difference;
}

/* --- KONTAKT --- */
.subpage--kontakt .sub-hero__image,
.subpage--projekty .sub-hero__image {
    padding: 0;
    line-height: 1;
    position: relative;
    width: calc(5.75vw + 2rem);
}

.subpage--kontakt .sub-hero__image img,
.subpage--projekty .sub-hero__image img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 5.75vw;
    height: auto;
}

.subpage--kontakt .sub-hero__description { margin: calc(var(--space-lh-p) * 4) auto; }
.subpage--kontakt .content-list__item:last-child p { white-space: nowrap; }

.subpage--kontakt .sidebar-email-decor {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-content: flex-end;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    max-width: var(--max-width);
    z-index: 1000;
    pointer-events: none;
}

.subpage--kontakt .sidebar-email-decor__text {
    position: relative;
    writing-mode: vertical-rl;
    display: flex;
    flex-direction: row;
    gap: var(--sb-w);
    right: 1.95rem;
    top: 13.65vw;
    font-weight: var(--fw-semibold);
    color: var(--color-red-bright);
}

.subpage--kontakt .sidebar-email-decor__text span { white-space: nowrap; display: block; }
.subpage--kontakt .sidebar-email-decor__text a { pointer-events: auto; }

.subpage--kontakt .contact-cta p { padding-bottom: calc(var(--space-lh-p) * 2); }

.subpage--kontakt .contact-email-svg-link {
    display: block;
    width: 100%;
    line-height: 0;
}

.subpage--kontakt .contact-email-svg-link svg { width: 100%; height: auto; }
.subpage--kontakt .contact-form { position: relative; z-index: 5; }

.contact-form-section {
    position: relative;
    padding-top: var(--space-xxl);
    padding-left: var(--pad-sb-x2);
    padding-right: var(--sb-w);
}

.form-group:not(.form-group--consent) {
    display: flex;
    flex-direction: column;
    margin-bottom: calc(var(--space-lh-p) * 2);
    border-bottom: 2.5px solid var(--color-black);
}

.form-group:nth-of-type(2) { position: relative; }

.form-group:nth-of-type(2)::after {
    content: '';
    background: url(img/decor-clown-03.webp) no-repeat;
    background-size: contain;
    background-position: right bottom;
    position: absolute;
    bottom: 0;
    right: -6rem;
    height: 460%;
    width: 100%;
    pointer-events: none;
}

.form-group label {
    font-family: var(--font-headline);
    font-weight: var(--fw-regular);
    font-size: .935rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: .925rem;
    color: var(--color-black);
}

.form-group.form-group--consent label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    margin-bottom: calc(var(--space-lh-p) * 2 - 0.75rem);
    text-transform: none;
    font-family: var(--font-text);
    font-weight: var(--fw-regular);
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1.2;
}

.form-group input:not([type=checkbox]),
.form-group textarea {
    background: transparent;
    border: none;
    outline: none;
    font-family: var(--font-text);
    font-weight: var(--fw-regular);
    font-size: .935rem;
    padding: 0 0 0.75rem;
    width: 100%;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    font-weight: var(--fw-extralight);
    color: var(--color-black);
    opacity: 0.2;
}

.btn--submit {
    background-color: var(--color-red-bright);
    color: var(--color-white);
    border: var(--color-red-bright);
    margin-top: 0.75rem;
}

.btn--submit:hover {
    background-color: var(--color-red-bright) !important;
    color: var(--color-white) !important;
    border: var(--color-red-bright) !important;
}

/* --- CF7 OVERRIDES --- */
.wpcf7 .screen-reader-response,
.wpcf7 .screen-reader-response ul,
.wpcf7 .hidden-fields-container {
    display: none !important;
}

.wpcf7-not-valid-tip {
    color: var(--color-red-bright) !important;
    font-size: .65rem !important;
    font-weight: 400 !important;
    display: block !important;
    font-family: inherit;
    position: absolute;
    margin-top: 7px;
}

.wpcf7-response-output {
    margin: calc(var(--space-lh-p) * 2 + 0.5rem) 0 0 !important;
    padding: 0 !important;
    color: var(--color-red-bright) !important;
    font-size: .65rem !important;
}

/* --- PROJEKTY --- */
.subpage--projekty .sub-hero__image { width: calc(4.15vw + 2rem); }
.subpage--projekty .sub-hero__image img { width: 4.15vw; }
.subpage--projekty .sub-hero__title { justify-content: space-between; }

.subpage--projekty .text-center {
    text-align: right;
    margin-top: 2rem;
    font-weight: var(--fw-semibold);
}

.subpage--projekty .split-block { padding-bottom: calc(var(--space-lh-p) * 4); }
.subpage--projekty .info-stripe .info-stripe__container { grid-template-columns: 1.7fr 0.3fr; }

.subpage--projekty__category .info-stripe .info-stripe__container { grid-template-columns: 1.15fr 0.85fr; }

.subpage--projekty__category .info-stripe__content .type-heading-m {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-lh-p) * 2);
}

.subpage--projekty .info-stripe .info-stripe__image--stiltwalker { height: 118%; }
.subpage--projekty .info-stripe .info-stripe__image--circus { bottom: 0; height: 106%; }

.subpage--projekty .info-stripe .info-stripe__image--stiltwalker-2 {
    position: absolute;
    top: 70%;
    left: 3.5rem;
    width: auto;
    height: 50.35rem;
    z-index: 15;
    pointer-events: none;
    transform-origin: left top;
    transform: rotate(-90deg);
}

.subpage--projekty .split-block--publications {
    padding-top: calc(var(--sb-w) * 2);
    padding-bottom: calc(var(--sb-w) * 2);
    position: relative;
}

.subpage--projekty .split-block--publications .split-block__grid { grid-template-columns: 0.475fr 1.525fr; }

.subpage--projekty .split-block--publications .split-block__visuals {
    position: static;
    height: 100%;
}

.subpage--projekty .split-block--publications .split-block__img--clown {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 100%;
    max-width: var(--max-width);
    z-index: 99999;
    pointer-events: none;
}

.subpage--projekty .split-block--publications .split-block__img--clown::after {
    content: '';
    background: url(img/decor-clown-03.webp) no-repeat;
    background-size: contain;
    background-position: right top;
    position: absolute;
    top: -.625rem;
    right: 0;
    bottom: calc(var(--sb-w) * -2 - .95rem);
    left: calc(var(--sb-w) * .5);
    transform: scaleX(-1);
    pointer-events: none;
}

.subpage--projekty .projects-archive {
    background: var(--color-blue-light);
    padding-top: calc(var(--sb-w) * 2);
    padding-bottom: calc(var(--sb-w) * 2);
}

.subpage--projekty .projects-archive header {
    padding-left: var(--pad-sb-x3);
    padding-right: var(--n-w);
}

.subpage--projekty__category .video-player .video-player__media-box.decor-logo::after {
    display: none;
}

/*.subpage--projekty__category .video-player--1 .video-player__media-box.decor-logo::after {
    bottom: 0.1rem;
    left: -5.2rem;
}

.subpage--projekty__category .video-player--1 .video-player__media-box.decor-logo .video-player__label {
    text-align: right;
}

.subpage--projekty__category .video-player--2 .video-player__media-box.decor-logo::after,
.subpage--projekty__category .video-player--3 .video-player__media-box.decor-logo::after,
.subpage--projekty__category .video-player--4 .video-player__media-box.decor-logo::after,
.subpage--projekty__category .video-player--5 .video-player__media-box.decor-logo::after,
.subpage--projekty__category .video-player--6 .video-player__media-box.decor-logo::after {
    display: none;
}*/

/* ==========================================================================
   14. ACCESSIBILITY & UTILITIES
   ========================================================================== */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* ==========================================================================
   15. CONTENT EDITOR (SINGLE / ENTRY)
   ========================================================================== */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content blockquote {
    padding-bottom: var(--space-lh-p);
    font-family: var(--font-headline);
}

.entry-content h1 { font-size: var(--space-m); }
.entry-content h2 { font-size: calc(var(--space-m) * .75); }
.entry-content h3 { font-size: calc(var(--space-m) * .5); }
.entry-content h4 { font-size: calc(var(--space-m) * .25); }

.entry-content blockquote,
.entry-content blockquote p {
    font-size: calc(var(--space-m) * .75);
    font-family: var(--font-headline);
}

.entry-content .wp-block-pullquote {
    margin: 0;
    padding: var(--space-lh-p) 0 0;
    text-align: left;
}

.entry-content .wp-block-pullquote cite {
    font-family: var(--font-text);
    font-size: .935rem;
    line-height: 1.3;
}

.entry-content * + h1,
.entry-content * + h2,
.entry-content * + h3,
.entry-content * + h4,
.entry-content * + img,
.entry-content * + figure,
.entry-content * + ul,
.entry-content * + ol,
.entry-content * + p,
.entry-content * + .video-player__media-box,
.entry-content * + .video-standard-wrapper,
.entry-content * + .wp-block-pullquote,
.entry-content * + blockquote {
    padding-top: var(--space-lh-p);
}

.entry-content figcaption {
    font-family: var(--font-headline);
    font-weight: var(--fw-regular);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
}

.entry-content ul { list-style-type: none !important; }

.entry-content ol {
    list-style: none !important;
    counter-reset: custom-counter;
    padding-left: 0 !important;
    margin-left: 0;
}

.entry-content ol li {
    counter-increment: custom-counter;
    position: relative;
}

.entry-content ol li::before {
    content: counter(custom-counter) ".";
    background: none;
    position: absolute;
    top: 0;
    left: 0;
    color: var(--color-red-bright);
    font-variant-numeric: tabular-nums;
}

.entry-content > ul,
.entry-content > ol {
    padding-bottom: var(--space-lh-p);
}

.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ol,
.entry-content ol ul {
    padding-top: var(--space-lh-p);
    display: flex;
    flex-direction: column;
    gap: var(--space-lh-p);
}

.entry-content .content-list { gap: var(--space-lh-p); }
.entry-content > * { padding-bottom: var(--space-lh-p); }
.entry-content style + * { padding-top: calc(var(--space-lh-p) * 3); }

.entry-content .video-player__media-box,
.entry-content .video-standard-wrapper {
    margin-bottom: var(--space-lh-p);
}

.entry-content .video-player__media-box + .video-player__media-box,
.entry-content .video-player__media-box + .video-standard-wrapper,
.entry-content .video-standard-wrapper + .video-standard-wrapper,
.entry-content .video-standard-wrapper + .video-player__media-box {
    margin-top: calc(var(--space-lh-p) * .75);
}

.entry-content .video-player__media-box figure,
.entry-content .video-player__media-box > iframe {
    aspect-ratio: 16 / 9;
}