/* =========================================================
   EVENTS / WYDARZENIA
========================================================= */

.events-page {
    --events-black: #0b0b0b;
    --events-paper: #f2eee7;
    --events-line: rgba(0,0,0,.15);

    width: 100%;

    overflow: hidden;

    background: var(--events-paper);

    color: #111;
}


/* ---------------------------------------------------------
   COMMON
--------------------------------------------------------- */

.events-kicker {
    margin: 0 0 17px;

    font-size: 9px;
    line-height: 1.4;

    letter-spacing: .18em;

    text-transform: uppercase;
}

.events-kicker--light {
    color: rgba(255,255,255,.68);
}

.events-rule {
    display: block;

    width: 32px;
    height: 1px;

    margin: 26px 0;

    background: rgba(255,255,255,.7);
}

.events-link {
    display: inline-flex;

    align-items: center;

    gap: 20px;

    margin-top: 27px;

    color: #111 !important;

    font-size: 9px;
    line-height: 1;

    letter-spacing: .08em;

    text-transform: uppercase;
}

.events-link span {
    font-size: 18px;
}

.events-link--light {
    color: #fff !important;
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

.events-hero {
    width: 100%;
    min-height: 760px;

    position: relative;

    display: flex;
    align-items: center;

    box-sizing: border-box;

    padding:
        150px
        var(--pad)
        80px;

    background-color: #121212;

    background-size: cover;
    background-position: center;

    color: #fff;

    overflow: hidden;
}

.events-hero__content {
    width: 50%;

    position: relative;

    z-index: 3;
}

.events-hero h1 {
    margin: 0;

    font-family: var(--serif);

    font-size:
        clamp(
            66px,
            7.3vw,
            130px
        );

    font-weight: 400;

    line-height: .88;

    letter-spacing: -.045em;

    color: #fff !important;
}

.events-hero__lead {
    max-width: 350px;

    margin: 30px 0 0;

    font-size: 15px;

    line-height: 1.6;

    color: rgba(255,255,255,.80);
}

.events-hero__meta {
    position: absolute;

    z-index: 3;

    top: 195px;
    right: var(--pad);

    width: 145px;

    display: flex;

    flex-direction: column;

    gap: 34px;
}

.events-hero__meta > div {
    display: flex;

    flex-direction: column;
}

.events-hero__meta span {
    margin-bottom: 5px;

    font-size: 9px;

    color: rgba(255,255,255,.48);
}

.events-hero__meta strong {
    font-size: 10px;

    letter-spacing: .08em;

    font-weight: 500;

    color: #fff;
}

.events-hero__meta strong::after {
    content: "";

    display: block;

    width: 23px;
    height: 1px;

    margin-top: 10px;

    background: rgba(255,255,255,.56);
}


/* ---------------------------------------------------------
   TABS
--------------------------------------------------------- */

.events-tabs {
    min-height: 68px;

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    padding:
        0
        var(--pad);

    background: #0b0b0b;

    border-top:
        1px solid
        rgba(255,255,255,.10);

    border-bottom:
        1px solid
        rgba(255,255,255,.10);
}

.events-tabs a {
    position: relative;

    display: flex;

    justify-content: center;
    align-items: center;

    color: rgba(255,255,255,.52);

    font-size: 9px;

    letter-spacing: .08em;

    text-transform: uppercase;

    border-right:
        1px solid
        rgba(255,255,255,.10);
}

.events-tabs a:first-child {
    border-left:
        1px solid
        rgba(255,255,255,.10);
}

.events-tabs a:hover,
.events-tabs a.is-active {
    color: #fff;
}

.events-tabs a.is-active::after {
    content: "";

    position: absolute;

    bottom: 0;

    left: 25%;
    right: 25%;

    height: 1px;

    background: #fff;
}


/* ---------------------------------------------------------
   FEATURED
--------------------------------------------------------- */

.events-featured {
    display: grid;

    grid-template-columns:
        30%
        70%;

    grid-template-rows:
        minmax(520px,auto)
        220px;

    background:
        var(--events-paper);

    border-bottom:
        1px solid
        var(--events-line);
}

.events-featured__copy {
    grid-row:
        1 / 3;

    padding:
        70px
        55px
        55px
        var(--pad);

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.events-featured__copy h2 {
    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            48px,
            4.5vw,
            78px
        );

    line-height: .9;

    font-weight: 400;

    letter-spacing: -.04em;
}

.events-featured__type {
    margin:
        25px
        0
        0;

    font-size: 8px;

    letter-spacing: .12em;

    color: #666;
}

.events-featured__description {
    max-width: 340px;

    margin:
        28px
        0
        0;

    font-size: 12px;

    line-height: 1.65;

    color: #444;
}

.events-featured__main {
    min-height: 520px;

    background:
        linear-gradient(
            135deg,
            #202020,
            #605a54
        );

    background-size: cover;

    background-position: center;

    border-left:
        1px solid
        var(--events-line);
}

.events-featured__strip {
    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 3px;

    padding-top: 3px;

    border-left:
        1px solid
        var(--events-line);
}

.events-featured__strip > div {
    min-height: 217px;

    background:
        linear-gradient(
            135deg,
            #393939,
            #777068
        );

    background-size: cover;

    background-position: center;
}


/* ---------------------------------------------------------
   SELECTED EVENTS
--------------------------------------------------------- */

.events-selected {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    grid-auto-flow: dense;

    gap: 4px;

    padding:
        4px;

    background: #0b0b0b;
}

.events-selected__intro {
    min-height: 390px;

    padding:
        55px
        42px;

    box-sizing: border-box;

    background: #0b0b0b;

    color: #fff;
}

.events-selected__intro h2 {
    max-width: 360px;

    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            38px,
            3.4vw,
            58px
        );

    font-weight: 400;

    line-height: .96;
}

.events-selected__intro > p:not(.events-kicker) {
    max-width: 340px;

    margin:
        29px
        0
        0;

    font-size: 11px;

    line-height: 1.65;

    color:
        rgba(255,255,255,.60);
}

.events-card {
    min-height: 390px;

    position: relative;

    overflow: hidden;

    background: #262626;
}

.events-card--large {
    grid-column:
        span 2;

    grid-row:
        span 2;

    min-height: 784px;
}

.events-card--wide {
    grid-column:
        span 2;
}

.events-card__image {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            135deg,
            #262626,
            #6d6761
        );

    background-size: cover;

    background-position: center;

    transition:
        transform .65s ease;
}

.events-card__image::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.86) 0%,
            rgba(0,0,0,.08) 60%
        );
}

.events-card:hover
.events-card__image {
    transform:
        scale(1.025);
}

.events-card__content {
    position: absolute;

    z-index: 2;

    left: 28px;
    right: 28px;
    bottom: 27px;

    color: #fff;
}

.events-card__content > p {
    margin:
        0
        0
        10px;

    font-size: 8px;

    letter-spacing: .13em;

    color:
        rgba(255,255,255,.64);
}

.events-card__content h3 {
    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            28px,
            2.8vw,
            50px
        );

    font-weight: 400;

    line-height: .92;
}

.events-card__content span {
    display: block;

    max-width: 270px;

    margin-top: 15px;

    font-size: 10px;

    line-height: 1.5;

    color:
        rgba(255,255,255,.60);
}


/* ---------------------------------------------------------
   PHILOSOPHY
--------------------------------------------------------- */

.events-philosophy {
    display: grid;

    grid-template-columns:
        1.5fr
        repeat(3,1fr);

    padding:
        60px
        var(--pad);

    background: #0b0b0b;

    color: #fff;

    border-top:
        1px solid
        rgba(255,255,255,.12);
}

.events-philosophy__headline {
    padding-right: 60px;
}

.events-philosophy__headline h2 {
    max-width: 520px;

    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            40px,
            3.6vw,
            62px
        );

    font-weight: 400;

    line-height: .95;
}

.events-philosophy__item {
    padding:
        0
        35px;

    border-left:
        1px solid
        rgba(255,255,255,.15);
}

.events-philosophy__item > span {
    display: block;

    margin-bottom: 30px;

    font-family:
        var(--serif);

    font-size: 27px;

    color:
        rgba(255,255,255,.55);
}

.events-philosophy__item h3 {
    margin:
        0
        0
        14px;

    font-family:
        var(--serif);

    font-size: 30px;

    font-weight: 400;
}

.events-philosophy__item p {
    max-width: 220px;

    margin: 0;

    font-size: 10px;

    line-height: 1.55;

    color:
        rgba(255,255,255,.58);
}


/* ---------------------------------------------------------
   EVENT HEADSHOTS
--------------------------------------------------------- */

.events-headshots {
    display: grid;

    grid-template-columns:
        31%
        35%
        34%;

    min-height: 610px;

    background:
        var(--events-paper);

    border-bottom:
        1px solid
        var(--events-line);
}

.events-headshots__copy {
    padding:
        65px
        45px
        55px
        var(--pad);

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.events-headshots__copy h2 {
    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            42px,
            4vw,
            69px
        );

    line-height: .93;

    font-weight: 400;

    letter-spacing: -.035em;
}

.events-headshots__copy > p:not(.events-kicker) {
    max-width: 340px;

    margin:
        25px
        0
        0;

    font-size: 11px;

    line-height: 1.65;

    color: #444;
}

.events-headshots__studio {
    min-height: 610px;

    background:
        linear-gradient(
            135deg,
            #222,
            #6d655e
        );

    background-size: cover;

    background-position: center;

    border-left:
        1px solid
        var(--events-line);
}

.events-headshots__grid {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 3px;

    padding: 3px;

    border-left:
        1px solid
        var(--events-line);
}

.events-headshots__grid > div {
    min-height: 300px;

    background:
        linear-gradient(
            135deg,
            #59534e,
            #232323
        );

    background-size: cover;

    background-position: center;
}


/* ---------------------------------------------------------
   PROCESS
--------------------------------------------------------- */

.events-process {
    display: grid;

    grid-template-columns:
        1.35fr
        repeat(4,1fr);

    padding:
        60px
        var(--pad);

    background:
        var(--events-paper);
}

.events-process__intro {
    padding-right: 55px;
}

.events-process__intro h2 {
    margin: 0;

    font-family:
        var(--serif);

    font-size:
        clamp(
            36px,
            3vw,
            54px
        );

    line-height: .96;

    font-weight: 400;
}

.events-process__step {
    padding:
        0
        28px;

    border-left:
        1px solid
        rgba(0,0,0,.15);
}

.events-process__step > span {
    display: block;

    margin-bottom: 28px;

    font-family:
        var(--serif);

    font-size: 26px;
}

.events-process__step h3 {
    margin:
        0
        0
        14px;

    font-family:
        var(--serif);

    font-size: 26px;

    font-weight: 400;
}

.events-process__step p {
    max-width: 190px;

    margin: 0;

    font-size: 10px;

    line-height: 1.6;

    color: #555;
}


/* =========================================================
   EVENTS TABLET
========================================================= */

@media (max-width: 1100px) {

    .events-featured {
        grid-template-columns:
            36%
            64%;
    }


    .events-selected {
        grid-template-columns:
            repeat(2,1fr);
    }

    .events-card--large {
        min-height: 650px;
    }


    .events-philosophy {
        grid-template-columns:
            1fr
            1fr;
    }

    .events-philosophy__headline {
        grid-column:
            1 / -1;

        margin-bottom: 45px;
    }

    .events-philosophy__item {
        padding:
            30px
            0;

        border-left: 0;

        border-top:
            1px solid
            rgba(255,255,255,.15);
    }


    .events-headshots {
        grid-template-columns:
            1fr
            1fr;
    }

    .events-headshots__grid {
        grid-column:
            1 / -1;
    }


    .events-process {
        grid-template-columns:
            1fr
            1fr;
    }

    .events-process__intro {
        grid-column:
            1 / -1;

        margin-bottom: 40px;
    }

    .events-process__step {
        padding:
            30px
            0;

        border-left: 0;

        border-top:
            1px solid
            rgba(0,0,0,.15);
    }

}


/* =========================================================
   EVENTS MOBILE
========================================================= */

@media (max-width: 760px) {

    .events-hero {
        min-height: 700px;

        padding:
            135px
            22px
            60px;
    }

    .events-hero__content {
        width: 86%;
    }

    .events-hero h1 {
        font-size:
            17vw;
    }

    .events-hero__meta {
        display: none;
    }


    .events-tabs {
        display: flex;

        overflow-x: auto;

        padding:
            0
            22px;

        min-height: 62px;
    }

    .events-tabs a {
        min-width:
            max-content;

        padding:
            0
            24px;

        border-left: 0 !important;
    }


    .events-featured {
        display: block;
    }

    .events-featured__copy {
        padding:
            55px
            22px;
    }

    .events-featured__copy h2 {
        font-size: 14vw;
    }

    .events-featured__main {
        min-height: 100vw;

        border-left: 0;
    }

    .events-featured__strip {
        grid-template-columns:
            1fr
            1fr;

        border-left: 0;
    }

    .events-featured__strip > div {
        min-height: 62vw;
    }


    .events-selected {
        grid-template-columns:
            1fr
            1fr;
    }

    .events-selected__intro {
        grid-column:
            1 / -1;

        min-height: auto;

        padding:
            55px
            22px;
    }

    .events-card {
        min-height: 72vw;
    }

    .events-card--large {
        grid-column:
            span 2;

        grid-row:
            span 1;

        min-height: 105vw;
    }

    .events-card--wide {
        grid-column:
            span 2;

        min-height: 65vw;
    }

    .events-card__content {
        left: 17px;
        right: 17px;
        bottom: 17px;
    }

    .events-card__content h3 {
        font-size: 7vw;
    }


    .events-philosophy {
        display: block;

        padding:
            55px
            22px;
    }

    .events-philosophy__headline {
        margin-bottom: 35px;

        padding: 0;
    }

    .events-philosophy__item {
        padding:
            28px
            0;
    }


    .events-headshots {
        display: block;
    }

    .events-headshots__copy {
        padding:
            55px
            22px;
    }

    .events-headshots__copy h2 {
        font-size: 13.5vw;
    }

    .events-headshots__studio {
        min-height: 100vw;

        border-left: 0;
    }

    .events-headshots__grid {
        grid-template-columns:
            1fr
            1fr;

        border-left: 0;
    }

    .events-headshots__grid > div {
        min-height: 65vw;
    }


    .events-process {
        display: block;

        padding:
            55px
            22px;
    }

    .events-process__intro {
        margin-bottom: 35px;

        padding: 0;
    }

    .events-process__step {
        padding:
            28px
            0;
    }

}



.events-page {
    --event-bg: #f2eee7;
    --event-black: #090909;
    --event-line: rgba(15,15,15,.16);
    --event-muted: rgba(15,15,15,.62);
    --event-muted-light: rgba(255,255,255,.68);

    background: var(--event-bg);
    color: #0c0c0c;
}

.events-page * {
    box-sizing: border-box;
}

.events-page figure {
    margin: 0;
}

.events-page img {
    display: block;
    width: 100%;
}


/* =====================================================
   COMMON
===================================================== */

.events-kicker {
    margin: 0 0 20px;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
}

.events-kicker--light {
    color: rgba(255,255,255,.58);
}

.events-text-link {
    display: inline-flex;
    align-items: center;
    gap: 24px;

    margin-top: 28px;

    color: inherit;
    text-decoration: none;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.events-text-link span {
    font-size: 18px;
    font-weight: 400;
    transition: transform .2s ease;
}

.events-text-link:hover span {
    transform: translateX(5px);
}

.events-text-link--light {
    color: #fff;
}


/* =====================================================
   HERO
===================================================== */

.events-hero {
    min-height: 82vh;

    display: grid;
    grid-template-columns:
        minmax(400px,.88fr)
        minmax(0,1.12fr);

    background: var(--event-black);
    color: #fff;
}

.events-hero__copy {
    display: flex;
    align-items: center;

    padding:
        110px
        var(--pad)
        86px;
}

.events-hero__copy-inner {
    max-width: 650px;
}

.events-hero h1 {
    margin: 0;

    font-size: clamp(86px,8.5vw,164px);
    line-height: .78;
    letter-spacing: -.055em;
    font-weight: 400;
}

.events-hero__lead {
    max-width: 530px;

    margin: 42px 0 0;

    font-size: clamp(18px,1.45vw,25px);
    line-height: 1.4;

    color: rgba(255,255,255,.83);
}

.events-hero__meta {
    margin: 32px 0 0;

    color: rgba(255,255,255,.44);

    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.events-hero__visual {
    position: relative;
    min-height: 82vh;
    overflow: hidden;
}

.events-hero__visual img {
    height: 100%;
    object-fit: cover;
    object-position: 54% center;
}

/* HERO — podpis w prawym dolnym rogu jak na stronie LUDZIE */

.events-hero__caption {
    position: absolute !important;

    right: 34px !important;
    bottom: 25px !important;
    left: auto !important;

    z-index: 7 !important;

    width: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;

    gap: 3px !important;

    text-align: right !important;

    color: rgba(255,255,255,.55) !important;
}


.events-hero__caption span {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    line-height: 1.25 !important;

    letter-spacing: .09em !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;
}


.events-hero__caption span:first-child {
    color: rgba(255,255,255,.62) !important;
}


.events-hero__caption span:last-child {
    color: rgba(255,255,255,.45) !important;
}


@media (max-width: 720px) {

    .events-hero__caption {
        right: 18px !important;
        bottom: 16px !important;
    }

}


/* =====================================================
   INTRO
===================================================== */

.events-intro {
    display: grid;

    grid-template-columns:
        1.05fr
        .72fr;

    gap: 9vw;

    padding:
        105px
        var(--pad)
        0;
}

.events-intro__statement h2 {
    max-width: 800px;

    margin: 0;

    font-size: clamp(58px,6vw,108px);
    line-height: .91;
    letter-spacing: -.045em;
    font-weight: 400;
}

.events-intro__copy {
    max-width: 560px;

    align-self: end;
    padding-bottom: 8px;
}

.events-intro__lead {
    margin: 0 0 24px;

    font-size: clamp(18px,1.45vw,24px);
    line-height: 1.45;
}

.events-intro__copy p:not(.events-intro__lead) {
    color: var(--event-muted);
    line-height: 1.7;
}


/* NAV */

.events-anchor-nav {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: repeat(5,1fr);

    margin-top: 80px;

    border-top: 1px solid var(--event-line);
    border-bottom: 1px solid var(--event-line);
}

.events-anchor-nav a {
    min-height: 74px;

    display: flex;
    align-items: center;

    padding: 0 18px;

    color: #111;
    text-decoration: none;

    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;

    border-right: 1px solid var(--event-line);
}

.events-anchor-nav a:first-child {
    padding-left: 0;
}

.events-anchor-nav a:last-child {
    border-right: 0;
}


/* =====================================================
   CONFERENCE
===================================================== */

.events-conference {
    padding:
        120px
        var(--pad);
}

.events-section-heading {
    display: grid;

    grid-template-columns:
        1.1fr
        .62fr;

    gap: 9vw;

    align-items: end;

    margin-bottom: 70px;
}

.events-section-heading h2 {
    max-width: 860px;

    margin: 0;

    font-size: clamp(56px,5.3vw,98px);
    line-height: .92;
    letter-spacing: -.045em;
    font-weight: 400;
}

.events-section-heading__copy {
    max-width: 520px;

    color: var(--event-muted);
    line-height: 1.7;
}

.events-conference__grid {
    display: grid;

    grid-template-columns:
        1.18fr
        .82fr;

    gap: 2px;

    background: #111;
}

.events-conference__grid figure {
    overflow: hidden;
}

.events-conference__grid img {
    height: 100%;
    object-fit: cover;
}

.events-conference__networking,
.events-conference__press {
    aspect-ratio: 4 / 3;
}

.events-conference__press img {
    object-position: 52% center;
}

.events-conference__note {
    display: grid;

    grid-template-columns:
        90px
        1fr;

    gap: 28px;

    padding-top: 28px;
}

.events-conference__note span {
    font-size: 10px;
    letter-spacing: .08em;
}

.events-conference__note p {
    max-width: 720px;

    margin: 0;

    font-size: clamp(19px,1.7vw,28px);
    line-height: 1.35;
}


/* =====================================================
   SCALE / AGRO
===================================================== */

.events-scale {
    padding:
        110px
        var(--pad)
        120px;

    background: #0a0a0a;
    color: #fff;
}

.events-scale__heading {
    display: grid;

    grid-template-columns:
        1.15fr
        .62fr;

    gap: 9vw;

    align-items: end;

    margin-bottom: 66px;
}

.events-scale__heading h2 {
    max-width: 880px;

    margin: 0;

    font-size: clamp(58px,5.5vw,100px);
    line-height: .9;
    letter-spacing: -.045em;
    font-weight: 400;
}

.events-scale__copy {
    max-width: 520px;

    color: var(--event-muted-light);
    line-height: 1.7;
}


/* DRONE */

.events-scale__drone {
    height: min(64vw,830px);

    overflow: hidden;
}

.events-scale__drone img {
    height: 100%;

    object-fit: cover;
    object-position: center 46%;
}

.events-scale__drone figcaption {
    margin-top: 12px;

    color: rgba(255,255,255,.45);

    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* MOSAIC */

.events-scale__mosaic {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        .86fr;

    gap: 2px;

    margin-top: 52px;
}

.events-scale__mosaic figure {
    overflow: hidden;
    background: #131313;
}

.events-scale__mosaic img {
    height: 100%;
    object-fit: cover;
}


/* ALEJA */

.events-scale__walk {
    grid-column: 1 / 3;

    aspect-ratio: 16 / 8.4;
}

.events-scale__walk img {
    object-position: center 44%;
}


/* KROWA */

.events-scale__detail {
    grid-column: 3;

    aspect-ratio: 1 / 1;
}

.events-scale__detail img {
    object-position: center 45%;
}


/* DRUGI RZĄD */

.events-scale__tractor,
.events-scale__pull,
.events-scale__crowd {
    aspect-ratio: 4 / 3;
}

.events-scale__tractor img {
    object-position: center center;
}

.events-scale__pull img {
    object-position: center 46%;
}

.events-scale__crowd img {
    object-position: center center;
}


/* =====================================================
   SPORT
===================================================== */

.events-sport {
    padding:
        120px
        var(--pad);
}

.events-sport__heading {
    max-width: 980px;

    margin-bottom: 68px;
}

.events-sport__heading h2 {
    margin: 0;

    font-size: clamp(62px,6vw,112px);
    line-height: .9;
    letter-spacing: -.05em;
    font-weight: 400;
}

.events-sport__grid {
    display: grid;

    grid-template-columns:
        1fr
        .72fr;

    grid-template-rows:
        auto
        auto;

    gap: 2px;

    background: #0a0a0a;
}

.events-sport__grid figure {
    overflow: hidden;
}

.events-sport__grid img {
    height: 100%;
    object-fit: cover;
}


/* BIG */

.events-sport__action-main {
    grid-row: 1 / span 2;

    aspect-ratio: 3 / 4.1;
}


/* RIGHT */

.events-sport__action-secondary,
.events-sport__emotion {
    aspect-ratio: 4 / 3;
}

.events-sport__action-secondary img {
    object-position: center 40%;
}


/* CAPTION */

.events-sport__caption {
    display: grid;

    grid-template-columns:
        90px
        1fr;

    gap: 28px;

    margin-top: 28px;
}

.events-sport__caption span {
    font-size: 10px;
    letter-spacing: .08em;
}

.events-sport__caption p {
    max-width: 720px;

    margin: 0;

    font-size: clamp(19px,1.7vw,28px);
    line-height: 1.35;
}


/* =====================================================
   GALA
===================================================== */

.events-gala {
    padding:
        115px
        var(--pad)
        120px;

    background: #090909;
    color: #fff;
}

.events-gala__heading {
    display: grid;

    grid-template-columns:
        1.05fr
        .65fr;

    gap: 9vw;

    align-items: end;

    margin-bottom: 70px;
}

.events-gala__heading h2 {
    max-width: 900px;

    margin: 0;

    font-size: clamp(60px,5.8vw,106px);
    line-height: .9;
    letter-spacing: -.05em;
    font-weight: 400;
}

.events-gala__heading > p {
    max-width: 500px;

    color: var(--event-muted-light);
    line-height: 1.7;
}


/* GALLERY */

.events-gala__grid {
    display: grid;

    grid-template-columns:
        .76fr
        1.24fr;

    gap: 2px;
}

.events-gala__grid figure {
    overflow: hidden;
    background: #111;
}


/* WIDE */

.events-gala__wide {
    grid-column: 1 / -1;

    aspect-ratio: 16 / 8.3;
}

.events-gala__wide img {
    height: 100%;

    object-fit: cover;
    object-position: center 48%;
}


/* SPOTLIGHT */

.events-gala__spotlight {
    aspect-ratio: 3 / 4.15;
}

.events-gala__spotlight img {
    height: 100%;

    object-fit: cover;
    object-position: center 44%;
}


/* RIGHT COLUMN */

.events-gala__dance {
    display: grid;
    grid-template-rows: 1fr 1fr;

    gap: 2px;
}

.events-gala__dance figure {
    min-height: 0;
}

.events-gala__dance img {
    height: 100%;
    object-fit: cover;
}

.events-gala__dance figure:first-child img {
    object-position: center 48%;
}

.events-gala__dance figure:last-child img {
    object-position: center 42%;
}


/* =====================================================
   PROCESS
===================================================== */

.events-process {
    padding:
        112px
        var(--pad)
        120px;
}

.events-process__intro {
    display: grid;

    grid-template-columns:
        .42fr
        1fr;

    gap: 7vw;

    margin-bottom: 72px;
}

.events-process__intro h2 {
    max-width: 900px;

    margin: 0;

    font-size: clamp(54px,5vw,88px);
    line-height: .94;
    letter-spacing: -.045em;
    font-weight: 400;
}

.events-process__steps {
    display: grid;
    grid-template-columns: repeat(4,1fr);

    border-top: 1px solid var(--event-line);
    border-bottom: 1px solid var(--event-line);
}

.events-process__steps > div {
    padding:
        38px
        32px
        44px;

    border-right: 1px solid var(--event-line);
}

.events-process__steps > div:first-child {
    padding-left: 0;
}

.events-process__steps > div:last-child {
    border-right: 0;
}

.events-process__steps span {
    display: block;

    margin-bottom: 46px;

    color: rgba(15,15,15,.45);

    font-size: 9px;
    letter-spacing: .08em;
}

.events-process__steps h3 {
    margin: 0 0 18px;

    font-size: clamp(28px,2.2vw,42px);
    line-height: 1;

    font-weight: 400;
}

.events-process__steps p {
    margin: 0;

    color: var(--event-muted);
    line-height: 1.65;
}


/* =====================================================
   CTA
===================================================== */

.events-cta {
    padding:
        76px
        var(--pad)
        82px;

    background: #090909;
    color: #fff;
}

.events-cta__grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.3fr)
        minmax(280px,.55fr);

    gap: 72px;

    align-items: end;
}

.events-cta h2 {
    max-width: 1060px;

    margin: 14px 0 0;

    font-size: clamp(52px,5vw,86px);
    line-height: .92;
    letter-spacing: -.045em;
    font-weight: 400;
}

.events-cta__copy {
    max-width: 365px;

    justify-self: end;

    padding-bottom: 5px;
}

.events-cta__copy p {
    margin: 0 0 24px;

    color: rgba(255,255,255,.72);

    font-size: 15px;
    line-height: 1.6;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1100px) {

    .events-hero {
        grid-template-columns: 1fr;
    }

    .events-hero__copy {
        min-height: 62vh;
    }

    .events-hero__visual {
        min-height: 65vw;
    }


    .events-intro,
    .events-section-heading,
    .events-scale__heading,
    .events-gala__heading {
        grid-template-columns: 1fr;
        gap: 38px;
    }


    .events-anchor-nav {
        grid-template-columns: repeat(2,1fr);
    }

    .events-anchor-nav a {
        border-bottom: 1px solid var(--event-line);
    }


    .events-conference__grid {
        grid-template-columns: 1fr 1fr;
    }


    .events-scale__mosaic {
        grid-template-columns: 1fr 1fr;
    }

    .events-scale__walk,
    .events-scale__detail {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 8;
    }

    .events-scale__crowd {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 8;
    }


    .events-sport__grid {
        grid-template-columns: 1fr 1fr;
    }

    .events-sport__action-main {
        grid-row: auto;
        aspect-ratio: 4 / 5;
    }

    .events-sport__emotion {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 8;
    }


    .events-process__intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .events-process__steps {
        grid-template-columns: 1fr 1fr;
    }


    .events-cta__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .events-cta__copy {
        justify-self: start;
        max-width: 440px;
    }

}


@media (max-width: 720px) {

    .events-hero__copy {
        padding-top: 90px;
        padding-bottom: 70px;
    }

    .events-hero h1 {
        font-size: clamp(72px,22vw,110px);
    }

    .events-hero__visual {
        min-height: 92vw;
    }


    .events-intro {
        padding-top: 78px;
    }


    .events-intro__statement h2,
    .events-section-heading h2,
    .events-scale__heading h2,
    .events-sport__heading h2,
    .events-gala__heading h2 {
        font-size: clamp(48px,14vw,72px);
    }


    .events-anchor-nav {
        grid-template-columns: 1fr;

        margin-top: 56px;
    }

    .events-anchor-nav a {
        padding-left: 0;

        border-right: 0;
        border-bottom: 1px solid var(--event-line);
    }


    .events-conference,
    .events-sport {
        padding-top: 88px;
        padding-bottom: 88px;
    }

    .events-conference__grid {
        grid-template-columns: 1fr;
    }

    .events-conference__note,
    .events-sport__caption {
        grid-template-columns: 1fr;
        gap: 12px;
    }


    .events-scale,
    .events-gala {
        padding-top: 88px;
        padding-bottom: 88px;
    }


    .events-scale__drone {
        height: 75vw;
    }


    .events-scale__mosaic {
        grid-template-columns: 1fr;
    }

    .events-scale__walk,
    .events-scale__detail,
    .events-scale__tractor,
    .events-scale__pull,
    .events-scale__crowd {
        grid-column: auto;

        aspect-ratio: 4 / 3;
    }


    .events-sport__grid {
        grid-template-columns: 1fr;
    }

    .events-sport__action-main,
    .events-sport__action-secondary,
    .events-sport__emotion {
        grid-column: auto;

        aspect-ratio: 4 / 5;
    }


    .events-gala__grid {
        grid-template-columns: 1fr;
    }

    .events-gala__wide,
    .events-gala__spotlight {
        grid-column: auto;

        aspect-ratio: 4 / 5;
    }

    .events-gala__dance {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .events-gala__dance figure {
        aspect-ratio: 4 / 5;
    }


    .events-process {
        padding-top: 88px;
        padding-bottom: 88px;
    }

    .events-process__intro h2 {
        font-size: clamp(42px,12vw,64px);
    }

    .events-process__steps {
        grid-template-columns: 1fr;
    }

    .events-process__steps > div,
    .events-process__steps > div:first-child {
        padding:
            30px
            0
            34px;

        border-right: 0;
        border-bottom: 1px solid var(--event-line);
    }


    .events-cta {
        padding-top: 56px;
        padding-bottom: 60px;
    }

    .events-cta h2 {
        font-size: clamp(40px,11vw,58px);
    }

}

/* =====================================================
   EVENTS V2 — TYPOGRAFIA + PROPORCJE GALERII
===================================================== */


/* -----------------------------------------------------
   1. TYPOGRAFIA — dokładnie ten sam język co LUDZIE
----------------------------------------------------- */

.events-page h1,
.events-page h2,
.events-page h3 {
    font-family: var(--serif) !important;
    font-weight: 400 !important;
}

.events-page h1,
.events-page h2 {
    letter-spacing: -.035em !important;
}


/* Nieco spokojniejsze rozmiary nagłówków */

.events-intro__statement h2 {
    font-size: clamp(54px, 5.2vw, 94px) !important;
    line-height: .94 !important;
}

.events-section-heading h2 {
    font-size: clamp(52px, 4.8vw, 88px) !important;
    line-height: .94 !important;
}

.events-scale__heading h2 {
    font-size: clamp(54px, 5vw, 92px) !important;
    line-height: .93 !important;
}

.events-sport__heading h2 {
    font-size: clamp(56px, 5.3vw, 96px) !important;
    line-height: .92 !important;
}

.events-gala__heading h2 {
    font-size: clamp(54px, 5vw, 92px) !important;
    line-height: .92 !important;
}

.events-process__intro h2 {
    font-size: clamp(50px, 4.6vw, 82px) !important;
    line-height: .94 !important;
}

.events-cta h2 {
    font-size: clamp(52px, 5vw, 84px) !important;
    line-height: .92 !important;
}


/* -----------------------------------------------------
   2. KONFERENCJA
   Oba zdjęcia zawsze tej samej wysokości
----------------------------------------------------- */

.events-conference__grid {
    display: grid !important;
    grid-template-columns: 1.35fr .95fr !important;

    height: clamp(430px, 34vw, 650px) !important;

    gap: 2px !important;

    align-items: stretch !important;
}

.events-conference__networking,
.events-conference__press {
    width: 100% !important;
    height: 100% !important;

    aspect-ratio: auto !important;

    overflow: hidden !important;
}

.events-conference__networking img,
.events-conference__press img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}

.events-conference__networking img {
    object-position: 50% 50% !important;
}

.events-conference__press img {
    object-position: 53% 50% !important;
}


/* mniejszy dystans do podpisu */

.events-conference__note {
    padding-top: 22px !important;
}


/* -----------------------------------------------------
   3. AGRO / SKALA
   Jeden świadomy editorialowy raster
----------------------------------------------------- */

.events-scale__drone {
    position: relative !important;

    height: clamp(500px, 47vw, 800px) !important;

    margin: 0 !important;

    overflow: hidden !important;
}

.events-scale__drone img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}

.events-scale__drone figcaption {
    position: absolute !important;

    left: 18px !important;
    bottom: 15px !important;

    margin: 0 !important;

    color: rgba(255,255,255,.76) !important;

    z-index: 2;
}


/* 6-column editorial grid */

.events-scale__mosaic {
    display: grid !important;

    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

    grid-template-rows:
        clamp(340px, 28vw, 520px)
        clamp(280px, 23vw, 420px) !important;

    gap: 2px !important;

    margin-top: 2px !important;
}

.events-scale__mosaic figure {
    min-width: 0 !important;
    min-height: 0 !important;

    height: 100% !important;

    aspect-ratio: auto !important;

    overflow: hidden !important;
}

.events-scale__mosaic img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}


/* górny rząd */

.events-scale__walk {
    grid-column: 1 / 5 !important;
    grid-row: 1 !important;
}

.events-scale__detail {
    grid-column: 5 / 7 !important;
    grid-row: 1 !important;
}


/* dolny rząd */

.events-scale__tractor {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
}

.events-scale__pull {
    grid-column: 3 / 5 !important;
    grid-row: 2 !important;
}

.events-scale__crowd {
    grid-column: 5 / 7 !important;
    grid-row: 2 !important;
}


/* kadry */

.events-scale__walk img {
    object-position: 50% 45% !important;
}

.events-scale__detail img {
    object-position: 50% 46% !important;
}

.events-scale__tractor img {
    object-position: 50% 50% !important;
}

.events-scale__pull img {
    object-position: 50% 48% !important;
}

.events-scale__crowd img {
    object-position: 50% 48% !important;
}


/* -----------------------------------------------------
   4. SPORT
   Koniec z czarnymi dziurami pomiędzy zdjęciami
----------------------------------------------------- */

.events-sport__grid {
    display: grid !important;

    grid-template-columns: 1.17fr .83fr !important;
    grid-template-rows: 1fr 1fr !important;

    height: clamp(720px, 56vw, 1040px) !important;

    gap: 2px !important;

    background: transparent !important;
}

.events-sport__grid figure {
    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    aspect-ratio: auto !important;

    overflow: hidden !important;
}

.events-sport__grid img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}


/* lewa fotografia */

.events-sport__action-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
}

.events-sport__action-main img {
    object-position: 50% 46% !important;
}


/* prawa góra */

.events-sport__action-secondary {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.events-sport__action-secondary img {
    object-position: 50% 41% !important;
}


/* prawa dół */

.events-sport__emotion {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

.events-sport__emotion img {
    object-position: 50% 50% !important;
}


/* -----------------------------------------------------
   5. GALA
   Jeden szeroki + dwa logiczne piony i szeroki środek
----------------------------------------------------- */

.events-gala__grid {
    display: grid !important;

    grid-template-columns: .76fr 1.24fr !important;

    grid-template-rows:
        clamp(500px, 43vw, 780px)
        clamp(720px, 52vw, 980px) !important;

    gap: 2px !important;
}


/* górne szerokie */

.events-gala__wide {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;

    width: 100% !important;
    height: 100% !important;

    aspect-ratio: auto !important;
}

.events-gala__wide img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/* lewy pion */

.events-gala__spotlight {
    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 100% !important;
    height: 100% !important;

    aspect-ratio: auto !important;
}

.events-gala__spotlight img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 45% !important;
}


/* prawa kolumna — dokładnie połowa + połowa */

.events-gala__dance {
    grid-column: 2 !important;
    grid-row: 2 !important;

    display: grid !important;

    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr 1fr !important;

    height: 100% !important;

    gap: 2px !important;
}

.events-gala__dance figure {
    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;

    aspect-ratio: auto !important;

    overflow: hidden !important;
}

.events-gala__dance img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}

.events-gala__dance figure:first-child img {
    object-position: 50% 48% !important;
}

.events-gala__dance figure:last-child img {
    object-position: 50% 43% !important;
}


/* -----------------------------------------------------
   6. MNIEJ POWIETRZA TAM, GDZIE GO BYŁO ZA DUŻO
----------------------------------------------------- */

.events-section-heading,
.events-scale__heading,
.events-gala__heading {
    margin-bottom: 52px !important;
}

.events-sport__heading {
    margin-bottom: 52px !important;
}


/* -----------------------------------------------------
   7. TABLET
----------------------------------------------------- */

@media (max-width: 1100px) {

    .events-conference__grid {
        height: clamp(360px, 43vw, 520px) !important;
    }


    .events-scale__mosaic {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: none !important;
    }

    .events-scale__walk,
    .events-scale__detail,
    .events-scale__tractor,
    .events-scale__pull,
    .events-scale__crowd {
        grid-column: auto !important;
        grid-row: auto !important;

        aspect-ratio: 4 / 3 !important;

        height: auto !important;
    }


    .events-sport__grid {
        height: clamp(640px, 82vw, 900px) !important;
    }


    .events-gala__grid {
        grid-template-rows:
            clamp(400px, 53vw, 620px)
            clamp(620px, 75vw, 850px) !important;
    }

}


/* -----------------------------------------------------
   8. MOBILE
----------------------------------------------------- */

@media (max-width: 720px) {

    .events-conference__grid {
        grid-template-columns: 1fr !important;

        height: auto !important;

        gap: 2px !important;
    }

    .events-conference__networking,
    .events-conference__press {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }


    .events-scale__drone {
        height: 74vw !important;
    }

    .events-scale__mosaic {
        grid-template-columns: 1fr !important;
    }

    .events-scale__walk,
    .events-scale__detail,
    .events-scale__tractor,
    .events-scale__pull,
    .events-scale__crowd {
        aspect-ratio: 4 / 3 !important;
    }


    .events-sport__grid {
        display: grid !important;

        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;

        height: auto !important;
    }

    .events-sport__action-main,
    .events-sport__action-secondary,
    .events-sport__emotion {
        grid-column: auto !important;
        grid-row: auto !important;

        height: auto !important;
        aspect-ratio: 4 / 5 !important;
    }


    .events-gala__grid {
        display: grid !important;

        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;

        height: auto !important;
    }

    .events-gala__wide,
    .events-gala__spotlight,
    .events-gala__dance {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .events-gala__wide {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }

    .events-gala__spotlight {
        height: auto !important;
        aspect-ratio: 3 / 4 !important;
    }

    .events-gala__dance {
        height: auto !important;
    }

    .events-gala__dance figure {
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
    }

}

/* =====================================================
   EVENTS FINAL FIX
===================================================== */


/* =====================================================
   TYPOGRAFIA
===================================================== */

.events-page h1,
.events-page h2,
.events-page h3 {
    font-family: var(--serif) !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}


/* =====================================================
   1. HERO — usuwa wielką czarną pustkę pod zdjęciem
===================================================== */

.events-hero__visual {
    position: relative !important;
    min-height: 82vh !important;
    overflow: hidden !important;
}

.events-hero__visual > img {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 54% 50% !important;
}

.events-hero__caption {
    position: absolute !important;
    z-index: 3 !important;

    left: 28px !important;
    right: 28px !important;
    bottom: 24px !important;

    display: flex !important;
    justify-content: space-between !important;
}


/* =====================================================
   2. KONFERENCJA
   równe zdjęcia + podpis centralnie
===================================================== */

.events-conference {
    padding-bottom: 78px !important;
}

.events-conference__grid {
    display: grid !important;

    grid-template-columns:
        1.35fr
        .95fr !important;

    gap: 2px !important;

    align-items: stretch !important;
}

.events-conference__networking,
.events-conference__press {
    width: 100% !important;

    aspect-ratio: 4 / 3 !important;

    overflow: hidden !important;
}

.events-conference__networking img,
.events-conference__press img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}

.events-conference__networking img {
    object-position: 50% 50% !important;
}

.events-conference__press img {
    object-position: 52% 50% !important;
}


/* podpis konferencji */

.events-conference__note {
    display: flex !important;

    justify-content: center !important;
    align-items: baseline !important;

    gap: 24px !important;

    padding-top: 26px !important;

    text-align: center !important;
}

.events-conference__note span {
    flex: 0 0 auto !important;

    font-size: 10px !important;
}

.events-conference__note p {
    margin: 0 !important;

    max-width: none !important;

    font-size: clamp(20px, 1.5vw, 29px) !important;
    line-height: 1.25 !important;
}

@media (min-width: 1250px) {

    .events-conference__note p {
        white-space: nowrap !important;
    }

}


/* =====================================================
   3. SPORT
   zachowujemy czytelność wszystkich trzech zdjęć
===================================================== */

.events-sport {
    padding-bottom: 78px !important;
}

.events-sport__grid {
    display: grid !important;

    grid-template-columns:
        .95fr
        1.05fr !important;

    grid-template-rows:
        auto
        auto !important;

    gap: 2px !important;

    height: auto !important;

    background: transparent !important;
}

.events-sport__grid figure {
    min-width: 0 !important;
    min-height: 0 !important;

    height: auto !important;

    overflow: hidden !important;

    aspect-ratio: auto !important;
}


/* DUŻE ZDJĘCIE PO LEWEJ */

.events-sport__action-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;

    height: 100% !important;
}

.events-sport__action-main img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 49% 48% !important;
}


/* SKOK — PRAWA GÓRA */

.events-sport__action-secondary {
    grid-column: 2 !important;
    grid-row: 1 !important;

    aspect-ratio: 4 / 3 !important;
}

.events-sport__action-secondary img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 31% !important;
}


/* EMOCJA — PRAWY DÓŁ */

.events-sport__emotion {
    grid-column: 2 !important;
    grid-row: 2 !important;

    aspect-ratio: 4 / 3 !important;
}

.events-sport__emotion img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/* podpis sport */

.events-sport__caption {
    display: flex !important;

    justify-content: center !important;
    align-items: baseline !important;

    gap: 24px !important;

    margin-top: 26px !important;

    text-align: center !important;
}

.events-sport__caption span {
    flex: 0 0 auto !important;

    font-size: 10px !important;
}

.events-sport__caption p {
    margin: 0 !important;

    max-width: none !important;

    font-size: clamp(20px, 1.45vw, 28px) !important;
    line-height: 1.25 !important;
}

@media (min-width: 1350px) {

    .events-sport__caption p {
        white-space: nowrap !important;
    }

}


/* =====================================================
   4. GALA
   bez przypadkowego obcinania zdjęć
===================================================== */

.events-gala__grid {
    display: grid !important;

    grid-template-columns:
        1fr
        1fr !important;

    grid-template-rows: auto !important;

    gap: 2px !important;
}


/* SZEROKA GALA */

.events-gala__wide {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;

    width: 100% !important;

    aspect-ratio: 16 / 8.6 !important;

    overflow: hidden !important;
}

.events-gala__wide img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/*
   display: contents sprawia, że dwa zdjęcia znajdujące się
   w .events-gala__dance stają się elementami głównego grida.
*/

.events-gala__dance {
    display: contents !important;
}


/* BIAŁA PARA — LEWA */

.events-gala__spotlight {
    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 100% !important;

    aspect-ratio: 3 / 4 !important;

    overflow: hidden !important;
}

.events-gala__spotlight img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/* CZARNA PARA — PRAWA */

.events-gala__dance figure:last-child {
    grid-column: 2 !important;
    grid-row: 2 !important;

    width: 100% !important;

    aspect-ratio: 3 / 4 !important;

    overflow: hidden !important;
}

.events-gala__dance figure:last-child img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/* PARKIET — PEŁNA SZEROKOŚĆ NA DOLE */

.events-gala__dance figure:first-child {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;

    width: 100% !important;

    aspect-ratio: 16 / 8.6 !important;

    overflow: hidden !important;
}

.events-gala__dance figure:first-child img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: 50% 48% !important;
}


/* =====================================================
   5. PROCES
   dokładnie pod Twój istniejący HTML
===================================================== */

.events-process {
    display: grid !important;

    grid-template-columns:
        minmax(420px, .86fr)
        minmax(760px, 1.14fr) !important;

    gap: clamp(70px, 7vw, 130px) !important;

    align-items: start !important;

    padding-top: 105px !important;
    padding-bottom: 115px !important;
}


/* LEWA KOLUMNA */

.events-process__intro {
    display: block !important;

    grid-template-columns: none !important;

    margin: 0 !important;
}

.events-process__intro .events-kicker {
    margin-bottom: 26px !important;
}

.events-process__intro h2 {
    max-width: 650px !important;

    margin: 0 !important;

    font-size: clamp(50px, 4vw, 76px) !important;
    line-height: .96 !important;

    letter-spacing: -.035em !important;
}


/* PRAWA KOLUMNA */

.events-process__steps {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    width: 100% !important;

    margin: 0 !important;

    border-top: 1px solid var(--event-line) !important;
    border-bottom: 1px solid var(--event-line) !important;
}


/* WAŻNE:
   w Twoim PHP nie ma klasy .events-process__step.
   Elementami są zwykłe DIV-y.
*/

.events-process__steps > div {
    min-width: 0 !important;

    padding:
        34px
        24px
        38px !important;

    border-right:
        1px solid
        var(--event-line) !important;
}

.events-process__steps > div:first-child {
    padding-left: 0 !important;
}

.events-process__steps > div:last-child {
    border-right: 0 !important;
}


.events-process__steps span {
    display: block !important;

    margin-bottom: 44px !important;

    font-size: 9px !important;

    color:
        rgba(15,15,15,.42) !important;
}


.events-process__steps h3 {
    margin:
        0
        0
        18px !important;

    font-family: var(--serif) !important;

    font-size:
        clamp(28px, 2vw, 40px) !important;

    line-height: 1 !important;

    font-weight: 400 !important;
}


.events-process__steps p {
    margin: 0 !important;

    font-size: 15px !important;
    line-height: 1.7 !important;

    color:
        var(--event-muted) !important;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1333px) {

    .events-process {
        grid-template-columns: 1fr !important;

        gap: 48px !important;
    }


    .events-process__intro h2 {
        max-width: 800px !important;
    }


    .events-process__steps {
        grid-template-columns:
            repeat(2, 1fr) !important;
    }


    .events-process__steps > div:nth-child(2) {
        border-right: 0 !important;
    }


    .events-process__steps > div:nth-child(-n+2) {
        border-bottom:
            1px solid
            var(--event-line) !important;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 720px) {

    .events-conference__note,
    .events-sport__caption {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 10px !important;

        text-align: left !important;

        justify-content: start !important;
    }


    .events-conference__note p,
    .events-sport__caption p {
        white-space: normal !important;

        font-size: 21px !important;
    }


    /* SPORT */

    .events-sport__grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }


    .events-sport__action-main,
    .events-sport__action-secondary,
    .events-sport__emotion {
        grid-column: auto !important;
        grid-row: auto !important;

        height: auto !important;

        aspect-ratio: 4 / 5 !important;
    }


    /* GALA */

    .events-gala__grid {
        grid-template-columns: 1fr !important;
    }


    .events-gala__wide,
    .events-gala__spotlight,
    .events-gala__dance figure:first-child,
    .events-gala__dance figure:last-child {
        grid-column: auto !important;
        grid-row: auto !important;
    }


    .events-gala__wide,
    .events-gala__dance figure:first-child {
        aspect-ratio: 4 / 3 !important;
    }


    .events-gala__spotlight,
    .events-gala__dance figure:last-child {
        aspect-ratio: 3 / 4 !important;
    }


    /* PROCESS */

    .events-process {
        display: block !important;

        padding-top: 80px !important;
        padding-bottom: 88px !important;
    }


    .events-process__intro {
        margin-bottom: 42px !important;
    }


    .events-process__intro h2 {
        font-size:
            clamp(42px, 11vw, 60px) !important;
    }


    .events-process__steps {
        grid-template-columns: 1fr !important;
    }


    .events-process__steps > div,
    .events-process__steps > div:first-child {
        padding:
            28px
            0
            32px !important;

        border-right: 0 !important;

        border-bottom:
            1px solid
            var(--event-line) !important;
    }


    .events-process__steps > div:last-child {
        border-bottom: 0 !important;
    }

}

/* =====================================================
   FINAL — HERO + SPORT
===================================================== */


/* =====================================================
   HERO — czytelność menu
===================================================== */

.events-hero__visual {
    position: relative !important;
}


/* subtelne przyciemnienie prawej części zdjęcia */
.events-hero__visual::after {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 2 !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            90deg,
            transparent 45%,
            rgba(0,0,0,.10) 62%,
            rgba(0,0,0,.62) 100%
        ) !important;
}


/* pionowe menu */

.events-hero__topics {
    position: absolute !important;

    top: 72px !important;
    right: 48px !important;

    z-index: 6 !important;

    width: 220px !important;

    display: grid !important;
    gap: 24px !important;
}


.events-hero__topic {
    display: grid !important;
    justify-items: start !important;

    gap: 8px !important;
}


.events-hero__topic span {
    font-size: 11px !important;
    line-height: 1 !important;

    letter-spacing: .08em !important;

    color: rgba(255,255,255,.58) !important;
}


.events-hero__topic strong {
    font-size: 16px !important;
    line-height: 1.1 !important;

    font-weight: 400 !important;

    letter-spacing: .065em !important;

    color: rgba(255,255,255,.96) !important;

    text-transform: uppercase !important;

    text-shadow:
        0 1px 12px rgba(0,0,0,.45) !important;
}


.events-hero__topic::after {
    content: "" !important;

    display: block !important;

    width: 44px !important;
    height: 1px !important;

    margin-top: 4px !important;

    background: rgba(255,255,255,.6) !important;
}


/* =====================================================
   HERO — podpisy na dole
===================================================== */

.events-hero__caption {
    position: absolute !important;

    left: 30px !important;
    right: 30px !important;
    bottom: 22px !important;

    z-index: 7 !important;

    display: grid !important;
    grid-template-columns: 1fr auto !important;

    align-items: center !important;

    gap: 30px !important;

    width: auto !important;

    font-size: 9px !important;
    line-height: 1 !important;

    letter-spacing: .08em !important;

    color: rgba(255,255,255,.72) !important;
}


.events-hero__caption span {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
}


.events-hero__caption span:last-child {
    text-align: right !important;
}


/* =====================================================
   SPORT
===================================================== */

/*
   Prawy górny plik jest pionowy ~2:3.
   Nie wciskamy go już w 4:3 ani 4:5.
*/

.events-sport__grid {
    display: grid !important;

    grid-template-columns:
        1.08fr
        .70fr !important;

    grid-template-rows:
        auto
        auto !important;

    gap: 2px !important;

    height: auto !important;

    background: transparent !important;
}


/* duży kadr po lewej */

.events-sport__action-main {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;

    height: 100% !important;

    overflow: hidden !important;

    aspect-ratio: auto !important;
}


.events-sport__action-main img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    object-position: 50% 48% !important;
}


/* SKOK — prawy górny */

.events-sport__action-secondary {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;

    aspect-ratio: 2 / 3 !important;

    overflow: hidden !important;
}


.events-sport__action-secondary img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    object-position: 50% 0% !important;
}


/* emocja — prawy dół */

.events-sport__emotion {
    grid-column: 2 !important;
    grid-row: 2 !important;

    width: 100% !important;

    aspect-ratio: 4 / 3 !important;

    overflow: hidden !important;
}


.events-sport__emotion img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    object-position: 50% 48% !important;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1100px) {

    .events-hero__topics {
        top: 52px !important;
        right: 30px !important;

        width: 190px !important;

        gap: 20px !important;
    }


    .events-hero__topic strong {
        font-size: 14px !important;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 720px) {

    .events-hero__topics {
        display: none !important;
    }


    .events-hero__visual::after {
        background:
            linear-gradient(
                0deg,
                rgba(0,0,0,.40),
                transparent 45%
            ) !important;
    }


    .events-hero__caption {
        left: 18px !important;
        right: 18px !important;
        bottom: 16px !important;
    }


    .events-sport__grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }


    .events-sport__action-main,
    .events-sport__action-secondary,
    .events-sport__emotion {
        grid-column: auto !important;
        grid-row: auto !important;

        height: auto !important;
    }


    .events-sport__action-main,
    .events-sport__action-secondary {
        aspect-ratio: 2 / 3 !important;
    }


    .events-sport__emotion {
        aspect-ratio: 4 / 3 !important;
    }

}

/* HERO — FINALNY PODPIS PRAWY DÓŁ */

.events-page .events-hero .events-hero__caption {
    position: absolute !important;

    right: 34px !important;
    bottom: 25px !important;
    left: auto !important;

    width: auto !important;

    display: block !important;

    text-align: right !important;

    z-index: 20 !important;
}

.events-page .events-hero .events-hero__caption span {
    display: block !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9px !important;
    line-height: 1.3 !important;
    letter-spacing: .09em !important;

    text-align: right !important;
    text-transform: uppercase !important;

    white-space: nowrap !important;
}

.events-page .events-hero .events-hero__caption span:first-child {
    margin-bottom: 2px !important;

    color: rgba(255,255,255,.62) !important;
}

.events-page .events-hero .events-hero__caption span:last-child {
    color: rgba(255,255,255,.45) !important;
}

/* =====================================================
   HERO META — IDENTYCZNIE JAK BRANDS
===================================================== */

.people-page .people-hero__topics,
.events-page .events-hero__topics {
    position: absolute !important;

    z-index: 6 !important;

    top: 110px !important;
    right: var(--pad) !important;

    width: 140px !important;

    display: flex !important;
    flex-direction: column !important;

    gap: 32px !important;

    font-family: var(--sans) !important;
}


/* każdy element */

.people-page .people-hero__topic,
.events-page .events-hero__topic {
    display: flex !important;
    flex-direction: column !important;

    gap: 0 !important;
}


/* numer */

.people-page .people-hero__topic span,
.events-page .events-hero__topic span {
    margin-bottom: 5px !important;

    font-family: var(--sans) !important;

    font-size: 9px !important;
    line-height: 1.2 !important;

    font-weight: 400 !important;

    letter-spacing: 0 !important;

    color: rgba(255,255,255,.46) !important;
}


/* nazwa */

.people-page .people-hero__topic strong,
.events-page .events-hero__topic strong {
    font-family: var(--sans) !important;

    font-size: 10px !important;
    line-height: 1.3 !important;

    font-weight: 500 !important;

    letter-spacing: .08em !important;

    text-transform: uppercase !important;

    color: #fff !important;

    text-shadow: none !important;
}


/* kreska */

.people-page .people-hero__topic::after,
.events-page .events-hero__topic::after {
    content: "" !important;

    display: block !important;

    width: 23px !important;
    height: 1px !important;

    margin-top: 10px !important;

    background: rgba(255,255,255,.56) !important;
}


/* MOBILE — jak w Brands */

@media (max-width: 760px) {

    .people-page .people-hero__topics,
    .events-page .events-hero__topics {
        display: none !important;
    }

}

/* =====================================================
   EVENTS HERO META — POZYCJA 1:1 JAK BRANDS
===================================================== */

.events-page .events-hero__topics {
    position: absolute !important;

    top: 195px !important;
    right: var(--pad) !important;
    left: auto !important;

    width: 140px !important;

    z-index: 6 !important;

    display: flex !important;
    flex-direction: column !important;

    gap: 32px !important;
}

.events-page .events-hero__topic {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.events-page .events-hero__topic span {
    margin: 0 0 5px 0 !important;

    font-family: var(--sans) !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;

    letter-spacing: 0 !important;

    color: rgba(255,255,255,.46) !important;
}

.events-page .events-hero__topic strong {
    margin: 0 !important;

    font-family: var(--sans) !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;

    letter-spacing: .08em !important;

    color: #fff !important;

    text-transform: uppercase !important;
}

.events-page .events-hero__topic::after {
    content: "" !important;

    display: block !important;

    width: 23px !important;
    height: 1px !important;

    margin-top: 10px !important;

    background: rgba(255,255,255,.56) !important;
}


/* WAŻNE — kasujemy nasze wcześniejsze przesuwanie na tabletach */
@media (max-width: 1100px) and (min-width: 761px) {

    .events-page .events-hero__topics {
        top: 195px !important;
        right: var(--pad) !important;

        width: 140px !important;
        gap: 32px !important;
    }

    .events-page .events-hero__topic strong {
        font-size: 10px !important;
    }

}

/* =====================================================
   EVENTS HERO — FINALNA POZYCJA JAK BRANDS
===================================================== */

.events-page .events-hero {
    position: relative !important;
}

.events-page .events-hero__topics {
    position: absolute !important;

    top: 195px !important;
    right: var(--pad) !important;
    left: auto !important;

    width: 140px !important;

    z-index: 10 !important;
}


/* Responsive Fix 1 — końcowe nadpisanie topics tylko na mobile. */
@media (max-width: 760px) {
    .events-page .events-hero__topics {
        display: none !important;
    }
}

/* Responsive Fix 1 — szerokość hero na najmniejszych telefonach. */
@media (max-width: 430px) {
    .events-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .events-hero__copy,
    .events-hero__copy-inner,
    .events-hero__visual {
        min-width: 0;
        max-width: 100%;
    }

    .events-hero h1 {
        font-size: clamp(42px, 14vw, 60px);
    }
}

/* Responsive Fix 2 — tablet: mniej pustej przestrzeni, bez zmiany kadru. */
@media (min-width: 761px) and (max-width: 1100px) {
    .events-hero {
        min-height: 0;
        padding-top: 120px;
        padding-bottom: 0;
    }

    .events-hero__copy {
        min-height: 0;
        padding-top: 40px;
        padding-bottom: 56px;
    }
}
