:root {
    --black: #050505;
    --black-soft: #0a0a0a;
    --panel: #10100f;
    --panel-light: #171612;
    --white: #f4f1e9;
    --muted: #9b978d;
    --gold: #d8a928;
    --gold-light: #f1cf68;
    --gold-dark: #8f6814;
    --line: rgba(216, 169, 40, 0.22);
    --line-white: rgba(255, 255, 255, 0.10);
    --page-padding: clamp(24px, 5vw, 90px);
    --max-width: 1600px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--black);
}

body {
    margin: 0;
    min-width: 320px;
    background:
        radial-gradient(circle at 50% 0%, rgba(216,169,40,.07), transparent 35%),
        var(--black);
    color: var(--white);
    font-family:
        "Helvetica Neue",
        Helvetica,
        Arial,
        sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body::selection {
    background: var(--gold);
    color: #000;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    font: inherit;
}

.site-shell {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.site-header {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    min-height: 92px;
    padding: 0 var(--page-padding);
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(
        180deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.20) 75%,
        transparent 100%
    );
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    width: max-content;
}

.brand-logo {
    display: block;
    width: auto;
    height: 46px;
    object-fit: contain;
    filter:
        drop-shadow(0 5px 14px rgba(0,0,0,.65))
        drop-shadow(0 0 18px rgba(216,169,40,.12));
}

.main-nav {
    display: flex;
    align-items: center;
    gap: clamp(24px, 3vw, 54px);
}

.main-nav a {
    position: relative;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    transition:
        color .25s ease,
        transform .25s ease;
}

.main-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -11px;
    left: 0;
    height: 1px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}

.main-nav a:hover {
    color: var(--white);
}

.main-nav a:hover::after {
    transform: scaleX(1);
}

.header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 28px;
}

.language-switcher {
    display: flex;
    gap: 3px;
}

.language-button {
    padding: 7px 6px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.38);
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    transition: color .2s ease;
}

.language-button:hover,
.language-button.is-active {
    color: var(--gold-light);
}

.header-contact {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 40px;
    padding: 0 21px;
    border: 1px solid rgba(216,169,40,.48);
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    transition:
        background .25s ease,
        color .25s ease;
}

.header-contact:hover {
    background: var(--gold);
    color: #050505;
}


/* HERO */

.hero {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100svh;
    isolation: isolate;
    overflow: hidden;
    padding:
        120px
        var(--page-padding)
        285px;
    background: #050505;
}

.hero-background,
.hero-image,
.hero-shade,
.hero-glow,
.hero-grid {
    position: absolute;
    inset: 0;
}

.hero-background {
    z-index: -5;
}

.hero-image {
    background-image: url("/assets/images/hero/nick-ppf-hero.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.015);
}

.hero-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.68) 0%,
            rgba(0,0,0,.18) 30%,
            rgba(0,0,0,.05) 58%,
            rgba(0,0,0,.36) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.48) 0%,
            transparent 28%,
            transparent 67%,
            rgba(0,0,0,.78) 100%
        );
}

.hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        ellipse at center,
        transparent 35%,
        rgba(0,0,0,.18) 68%,
        rgba(0,0,0,.52) 100%
    );
}

.hero-shade {
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.18),
            transparent 25%,
            transparent 62%,
            #050505 100%
        ),
        radial-gradient(
            circle at center,
            transparent 15%,
            rgba(0,0,0,.24) 65%,
            rgba(0,0,0,.80) 100%
        );
}

.hero-glow {
    top: auto;
    right: auto;
    bottom: 8%;
    left: 50%;
    width: 70vw;
    height: 35vh;
    background: radial-gradient(
        ellipse,
        rgba(216,169,40,.13),
        transparent 67%
    );
    filter: blur(35px);
    transform: translateX(-50%);
}

.hero-grid {
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(
        to bottom,
        transparent,
        black 28%,
        black 65%,
        transparent
    );
}

.hero-film-overlay {
    position: absolute;
    z-index: 7;
    right: clamp(-105px, -5vw, -55px);
    bottom: -35px;
    width: clamp(520px, 42vw, 800px);
    height: auto;
    pointer-events: none;
    user-select: none;
    opacity: .88;
    filter:
        drop-shadow(-28px 18px 34px rgba(0,0,0,.72))
        drop-shadow(0 0 16px rgba(255,255,255,.05));
    transform: rotate(-2deg);
    transform-origin: right bottom;
}

.hero-content {
    position: relative;
    z-index: 3;
    width: min(100%, 1100px);
    padding-top: clamp(70px, 10vh, 120px);
    text-align: center;
}

.eyebrow,
.section-kicker {
    margin: 0;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.hero-logo-stage {
    position: relative;
    width: min(72vw, 900px);
    margin: 28px auto 0;
    perspective: 1400px;
    transform-style: preserve-3d;
}

.hero-logo-stage::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 88%;
    height: 95%;
    border-radius: 50%;
    background: radial-gradient(
        ellipse,
        rgba(216,169,40,.22) 0%,
        rgba(216,169,40,.08) 38%,
        transparent 72%
    );
    filter: blur(42px);
    transform: translate(-50%, -50%);
}

.hero-logo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    transform:
        rotateX(2deg)
        rotateY(-10deg)
        rotateZ(-1deg);
    transform-origin: center center;
    filter:
        drop-shadow(0 3px 0 rgba(255,255,255,.12))
        drop-shadow(0 8px 2px rgba(0,0,0,.70))
        drop-shadow(18px 22px 28px rgba(0,0,0,.72))
        drop-shadow(0 0 28px rgba(216,169,40,.20));
}

.hero-content > .eyebrow {
    display: table;
    margin: 0 auto;
    padding: 7px 13px 6px;
    border-left: 2px solid var(--gold);
    border-right: 2px solid var(--gold);
    background: rgba(0,0,0,.72);
    color: var(--gold-light);
    font-size: clamp(9px, .72vw, 12px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .24em;
    text-shadow: 0 2px 8px #000;
    backdrop-filter: blur(5px);
}

.hero-tagline {
    display: table;
    margin: 16px auto 0;
    padding: 7px 15px 6px;
    background: rgba(0,0,0,.68);
    color: rgba(255,255,255,.92);
    font-size: clamp(9px, .78vw, 13px);
    font-weight: 850;
    line-height: 1;
    letter-spacing: .38em;
    text-shadow: 0 2px 8px #000;
    backdrop-filter: blur(5px);
}

.hero-copy {
    width: min(100%, 760px);
    margin: clamp(42px, 5vh, 62px) auto 0;
}

.hero-flag {
    margin: 0 0 16px;
    font-size: 21px;
}

.hero h1 {
    margin: 0;
    font-size: clamp(40px, 4.6vw, 72px);
    line-height: .92;
    font-weight: 900;
    letter-spacing: -.055em;
}

.hero h1 span,
.hero h1 strong {
    display: block;
}

.hero h1 strong {
    margin-top: 7px;
    color: var(--gold-light);
    font-weight: 900;
}

.hero-description {
    max-width: 620px;
    margin: 28px auto 0;
    color: rgba(255,255,255,.57);
    font-size: clamp(13px, 1.15vw, 17px);
    line-height: 1.75;
}

.hero-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 35px;
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 175px;
    min-height: 51px;
    padding: 0 25px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button-primary {
    border: 1px solid var(--gold);
    background: var(--gold);
    color: #070707;
}

.button-primary:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
}

.button-secondary {
    border: 1px solid rgba(255,255,255,.20);
    background: rgba(255,255,255,.025);
    color: rgba(255,255,255,.85);
    backdrop-filter: blur(10px);
}

.button-secondary:hover {
    border-color: rgba(216,169,40,.55);
    color: var(--gold-light);
}

.hero-side {
    position: absolute;
    z-index: 3;
    top: 50%;
    color: rgba(255,255,255,.29);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .22em;
    transform: translateY(-50%);
}

.hero-side p {
    margin: 0;
}

.hero-side > span {
    display: block;
    width: 1px;
    height: 55px;
    margin: 18px 0;
    background: linear-gradient(var(--gold), transparent);
}

.hero-side-left {
    left: var(--page-padding);
}

.hero-side-right {
    right: var(--page-padding);
    text-align: right;
}

.hero-side-right > span {
    margin-left: auto;
}

.hero-launch {
    position: absolute;
    z-index: 3;
    right: clamp(150px, 13vw, 245px);
    bottom: 205px;
    left: clamp(70px, 7vw, 125px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    background: transparent;
}

.hero-launch-item {
    position: relative;
    min-width: 0;
    padding: 0 clamp(18px, 2vw, 38px) 13px;
    text-align: center;
    text-shadow: 0 3px 15px rgba(0,0,0,.95);
}

.hero-launch-item + .hero-launch-item::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 8px;
    left: 0;
    width: 2px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        var(--gold) 12%,
        var(--gold-light) 50%,
        var(--gold) 88%,
        transparent 100%
    );
    box-shadow: 0 0 10px rgba(216,169,40,.18);
}

.hero-launch-flag {
    display: block;
    width: 38px;
    height: 24px;
    margin: 0 auto 10px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,.55);
    box-shadow:
        0 4px 12px rgba(0,0,0,.75),
        0 0 8px rgba(255,255,255,.06);
}

.hero-launch h1,
.hero-launch h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(16px, 1.42vw, 25px);
    line-height: .98;
    font-weight: 900;
    letter-spacing: -.025em;
}

.hero-launch h1 strong,
.hero-launch h2 strong {
    display: block;
    margin-top: 4px;
    color: var(--gold-light);
    font-weight: 900;
}

.hero-launch p {
    margin: 9px 0 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(7px, .58vw, 10px);
    line-height: 1.5;
    letter-spacing: .055em;
}

.hero-film-signature {
    position: absolute;
    z-index: 8;
    right: clamp(22px, 3.7vw, 68px);
    bottom: clamp(150px, 17vh, 190px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 13px 15px 11px 14px;
    border-left: 1px solid rgba(255,255,255,.24);
    color: rgba(255,255,255,.82);
    background: linear-gradient(
        90deg,
        rgba(0,0,0,.58),
        rgba(0,0,0,.12)
    );
    text-shadow: 0 3px 12px rgba(0,0,0,.95);
    transform: rotate(-2deg);
    transform-origin: left center;
    pointer-events: none;
}

.hero-film-signature strong {
    margin-bottom: 2px;
    color: #fff;
    font-size: clamp(14px, 1.05vw, 19px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .11em;
}

.hero-film-signature span {
    font-size: clamp(7px, .52vw, 10px);
    line-height: 1.15;
    font-weight: 750;
    letter-spacing: .22em;
}

.hero-film-signature i {
    width: 26px;
    height: 3px;
    margin-top: 8px;
    background: var(--gold);
    box-shadow: 0 0 10px rgba(216,169,40,.22);
}

.hero-partner-cta {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 42px;
    left: clamp(70px, 7vw, 125px);

    display: grid;
    grid-template-columns:
        .78fr
        1px
        .78fr
        1px
        .68fr
        clamp(310px, 24vw, 430px);
    align-items: center;
    min-height: 56px;
    padding: 0 18px;

    border-top: 1px solid rgba(216,169,40,.76);
    border-bottom: 1px solid rgba(216,169,40,.38);
    background: rgba(3,3,3,.66);
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
    color: #fff;
    backdrop-filter: blur(7px);

    transition:
        background .25s ease,
        border-color .25s ease;
}

.hero-partner-cta:hover {
    background: rgba(216,169,40,.09);
    border-color: rgba(241,207,104,.95);
}

.hero-partner-email {
    grid-column: 6;
    grid-row: 1;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 0 18px;
    white-space: nowrap;
    transform: translateX(clamp(-105px, -6vw, -75px));
}

.hero-partner-email-icon {
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    width: 34px;
    height: 26px;
    border: 1px solid rgba(255,255,255,.72);
    color: var(--gold-light);
    font-size: 16px;
    line-height: 1;
}

.hero-partner-email strong {
    color: #fff;
    font-size: clamp(12px, 1vw, 17px);
    font-weight: 800;
    letter-spacing: .015em;
    text-shadow: 0 3px 12px rgba(0,0,0,.95);
}

.hero-partner-divider {
    width: 1px;
    height: 30px;
    background: rgba(216,169,40,.75);
}

.hero-partner-label {
    padding: 0 clamp(10px, 1.3vw, 22px);
    color: rgba(255,255,255,.76);
    font-size: clamp(7px, .55vw, 9px);
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: .075em;
    text-align: center;
}

.hero-partner-label strong {
    display: block;
    margin-top: 3px;
    color: var(--gold-light);
    font-size: clamp(11px, .9vw, 15px);
    font-weight: 900;
    letter-spacing: .025em;
}

.hero-partner-arrow {
    display: none;
}


@media (max-width: 1100px) {
    .hero-film-signature {
        right: 18px;
        bottom: 145px;
    }

    .hero-partner-cta {
        right: 35px;
        left: 35px;
    }
}

@media (max-width: 700px) {
    .hero-film-signature {
        right: 12px;
        bottom: 105px;
        padding: 9px 10px;
        opacity: .72;
    }

    .hero-partner-cta {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        grid-template-columns: 44px 1fr;
        gap: 8px;
        width: 100%;
        min-height: 70px;
        margin-top: 14px;
        padding: 10px 12px;
    }

    .hero-partner-divider,
    .hero-partner-label:nth-of-type(2),
    .hero-partner-label:nth-of-type(3),
    .hero-partner-cta .hero-partner-arrow {
        display: none;
    }

}

.hero-bottom {
    position: absolute;
    z-index: 3;
    right: clamp(220px, 17vw, 320px);
    bottom: 118px;
    left: clamp(220px, 17vw, 320px);
    display: grid;
    grid-template-columns:
        minmax(70px, 1fr)
        auto
        38px
        auto
        38px
        auto
        minmax(70px, 1fr);
    align-items: center;
    gap: 22px;
    color: rgba(255,255,255,.72);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .24em;
    text-shadow: 0 2px 12px rgba(0,0,0,.9);
}

.hero-bottom::before,
.hero-bottom::after {
    content: "";
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--gold)
    );
}

.hero-bottom::before {
    grid-column: 1;
}

.hero-bottom::after {
    grid-column: 7;
    background: linear-gradient(
        90deg,
        var(--gold),
        transparent
    );
}

.hero-bottom span:nth-of-type(1) {
    grid-column: 2;
}

.hero-bottom i:nth-of-type(1) {
    grid-column: 3;
}

.hero-bottom span:nth-of-type(2) {
    grid-column: 4;
}

.hero-bottom i:nth-of-type(2) {
    grid-column: 5;
}

.hero-bottom span:nth-of-type(3) {
    grid-column: 6;
}

.hero-bottom i {
    width: 38px;
    height: 1px;
    background: var(--gold);
}


/* GLOBAL PROOF */

.proof {
    position: relative;
    max-width: none;
    margin: 0;
    overflow: hidden;
    padding:
        clamp(110px, 10vw, 170px)
        var(--page-padding)
        clamp(95px, 9vw, 150px);
    border-top: 1px solid rgba(216,169,40,.22);
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(216,169,40,.09),
            transparent 28%
        ),
        linear-gradient(
            115deg,
            #050505 0%,
            #090806 52%,
            #050505 100%
        );
}

.proof::before {
    content: "NICK";
    position: absolute;
    z-index: 0;
    top: 18px;
    right: -1.5vw;
    color: transparent;
    font-size: clamp(170px, 25vw, 430px);
    line-height: .75;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.10em;
    -webkit-text-stroke: 1px rgba(216,169,40,.07);
    pointer-events: none;
}

.proof::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    left: var(--page-padding);
    width: 1px;
    height: 74px;
    background: linear-gradient(
        180deg,
        var(--gold),
        transparent
    );
}

.proof-intro,
.proof-grid {
    position: relative;
    z-index: 1;
    width: min(100%, var(--max-width));
    margin-right: auto;
    margin-left: auto;
}

.proof-intro {
    display: grid;
    grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr);
    align-items: start;
    gap: clamp(45px, 7vw, 120px);
}

.proof-intro .section-kicker {
    padding-top: 12px;
}

.proof-intro h2 {
    max-width: 1050px;
    margin: 0;
    color: #f5f2ea;
    font-size: clamp(46px, 5.7vw, 92px);
    line-height: .88;
    font-weight: 850;
    letter-spacing: -.065em;
}

.proof-intro h2::after {
    content: "GLOBAL EXPERIENCE / EUROPEAN CHAPTER";
    display: block;
    width: max-content;
    max-width: 100%;
    margin-top: 30px;
    color: rgba(255,255,255,.34);
    font-size: clamp(8px, .65vw, 11px);
    line-height: 1.4;
    font-weight: 750;
    letter-spacing: .28em;
}

.proof-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: clamp(75px, 8vw, 125px);
    border-top: 1px solid rgba(216,169,40,.40);
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.stat {
    position: relative;
    min-height: 220px;
    padding:
        clamp(32px, 3vw, 48px)
        clamp(20px, 2.4vw, 38px)
        34px;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.10);
}

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

.stat::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 42px;
    height: 2px;
    background: var(--gold);
    box-shadow: 0 0 16px rgba(216,169,40,.25);
}

.stat strong {
    display: block;
    color: #f3cf65;
    font-size: clamp(50px, 5vw, 82px);
    line-height: .9;
    font-weight: 300;
    letter-spacing: -.065em;
}

.stat span {
    display: block;
    max-width: 190px;
    margin-top: 30px;
    color: rgba(255,255,255,.48);
    font-size: 10px;
    line-height: 1.65;
    font-weight: 600;
    letter-spacing: .075em;
}


/* GLOBAL PROOF — TABLET */

@media (max-width: 1100px) {
    .proof-intro {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .proof-intro .section-kicker {
        padding-top: 0;
    }

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

    .stat:nth-child(2) {
        border-right: 1px solid rgba(255,255,255,.10);
    }

    .stat:nth-child(3) {
        border-top: 1px solid rgba(255,255,255,.10);
        border-left: 1px solid rgba(255,255,255,.10);
    }

    .stat:nth-child(4) {
        border-top: 1px solid rgba(255,255,255,.10);
    }
}


/* GLOBAL PROOF — MOBILE */

@media (max-width: 700px) {
    .proof {
        padding:
            88px
            var(--page-padding)
            80px;
    }

    .proof::before {
        top: 30px;
        right: -35px;
        font-size: 180px;
        opacity: .8;
    }

    .proof::after {
        height: 48px;
    }

    .proof-intro {
        gap: 25px;
    }

    .proof-intro h2 {
        max-width: 330px;
        font-size: clamp(40px, 12vw, 55px);
        line-height: .91;
    }

    .proof-intro h2::after {
        width: auto;
        margin-top: 22px;
        font-size: 7px;
        line-height: 1.6;
        letter-spacing: .20em;
    }

    .proof-grid {
        grid-template-columns: 1fr 1fr;
        margin-top: 58px;
    }

    .stat {
        min-height: 150px;
        padding: 27px 16px 24px;
    }

    .stat strong {
        font-size: clamp(38px, 11vw, 48px);
    }

    .stat span {
        margin-top: 17px;
        font-size: 8px;
        line-height: 1.5;
        letter-spacing: .035em;
    }
}



/* GLOBAL PROOF — HIGH LEVEL POLISH */

.proof {
    background:
        radial-gradient(
            ellipse at 72% 24%,
            rgba(216,169,40,.105) 0%,
            rgba(216,169,40,.025) 28%,
            transparent 56%
        ),
        radial-gradient(
            ellipse at 12% 78%,
            rgba(255,255,255,.025),
            transparent 34%
        ),
        linear-gradient(115deg, #030303 0%, #090806 53%, #030303 100%);
}

.proof::before {
    top: -20px;
    right: -5vw;
    font-size: clamp(240px, 31vw, 530px);
    line-height: .72;
    -webkit-text-stroke: 1px rgba(216,169,40,.095);
    opacity: .9;
    transform: skewX(-7deg);
}

.proof-intro::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 46%;
    right: -12vw;
    width: 75vw;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(216,169,40,.10) 25%,
        rgba(241,207,104,.40) 60%,
        transparent
    );
    box-shadow: 0 0 34px rgba(216,169,40,.16);
    transform: rotate(-4deg);
    pointer-events: none;
}

.proof-intro h2 {
    position: relative;
    text-shadow: 0 16px 50px rgba(0,0,0,.65);
}

.proof-intro h2::before {
    content: "WORLDWIDE / 60+ COUNTRIES";
    position: absolute;
    right: 0;
    bottom: -58px;
    color: rgba(241,207,104,.52);
    font-size: 8px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .27em;
    white-space: nowrap;
}

.proof-grid {
    position: relative;
    margin-top: clamp(95px, 9vw, 145px);
    border-top: 1px solid rgba(216,169,40,.34);
    border-bottom: 1px solid rgba(255,255,255,.075);
}

.proof-grid::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -70px;
    right: 8%;
    left: 8%;
    height: 130px;
    background: radial-gradient(
        ellipse,
        rgba(216,169,40,.075),
        transparent 68%
    );
    filter: blur(24px);
    pointer-events: none;
}

.stat {
    min-height: 235px;
    padding:
        clamp(38px, 3.4vw, 55px)
        clamp(24px, 2.5vw, 42px)
        38px;
    border-right-color: rgba(255,255,255,.075);
    transition:
        background .35s ease,
        transform .35s ease;
}

.stat:first-child {
    border-left-color: rgba(255,255,255,.075);
}

.stat::before {
    width: 32px;
    height: 1px;
    background: var(--gold-light);
    box-shadow:
        0 0 10px rgba(216,169,40,.30),
        0 0 25px rgba(216,169,40,.12);
    transition: width .35s ease;
}

.stat:hover {
    background: linear-gradient(
        180deg,
        rgba(216,169,40,.045),
        rgba(216,169,40,.012) 48%,
        transparent
    );
    transform: translateY(-4px);
}

.stat:hover::before {
    width: 72px;
}

.stat strong {
    color: #f4ca4e;
    font-size: clamp(58px, 5.5vw, 92px);
    line-height: .82;
    font-weight: 250;
    letter-spacing: -.075em;
    text-shadow:
        0 0 32px rgba(216,169,40,.06),
        0 12px 30px rgba(0,0,0,.45);
}

.stat span {
    margin-top: 34px;
    color: rgba(255,255,255,.46);
    font-size: 9px;
    line-height: 1.7;
    letter-spacing: .09em;
}


/* GLOBAL PROOF — HIGH LEVEL MOBILE */

@media (max-width: 700px) {

    .proof::before {
        top: 20px;
        right: -75px;
        font-size: 205px;
        opacity: .65;
    }

    .proof-intro::after {
        display: none;
    }

    .proof-intro h2::before {
        position: static;
        display: block;
        margin-top: 28px;
        color: rgba(241,207,104,.45);
        font-size: 6px;
        letter-spacing: .18em;
    }

    .proof-grid {
        margin-top: 62px;
    }

    .stat {
        min-height: 155px;
        padding: 28px 16px 24px;
        transform: none;
    }

    .stat:hover {
        transform: none;
    }

    .stat strong {
        font-size: clamp(40px, 12vw, 52px);
    }

    .stat span {
        margin-top: 19px;
        font-size: 7.5px;
        line-height: 1.55;
        letter-spacing: .035em;
    }
}



/* GLOBAL PROOF — FINAL READABILITY */

.stat span {
    max-width: 240px;
    font-size: clamp(11px, .78vw, 13px);
    line-height: 1.55;
    letter-spacing: .045em;
}

@media (max-width: 700px) {

    .proof-intro h2 {
        max-width: 100%;

        font-size: clamp(30px, 9vw, 40px);
        line-height: .92;
        letter-spacing: -.055em;

        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }

    .stat span {
        max-width: 145px;
        margin-top: 17px;
        font-size: 9px;
        line-height: 1.45;
        letter-spacing: .02em;
    }
}


/* TECHNOLOGY */

.technology {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 850px;
    border-top: 1px solid var(--line-white);
    border-bottom: 1px solid var(--line-white);
    background:
        radial-gradient(circle at 75% 50%, rgba(216,169,40,.08), transparent 32%),
        #080808;
}

.section-number {
    position: absolute;
    top: 38px;
    left: var(--page-padding);
    color: rgba(255,255,255,.15);
    font-size: 10px;
    letter-spacing: .18em;
}

.technology-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:
        120px
        clamp(45px, 7vw, 120px)
        120px
        var(--page-padding);
}

.technology h2 {
    margin-top: 30px;
}

.technology h2 em,
.products h2 em,
.europe h2 em,
.partner h2 em {
    display: block;
    color: var(--gold-light);
    font-style: normal;
}

.technology-copy > p:not(.section-kicker) {
    max-width: 560px;
    margin: 38px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.technology-features {
    margin-top: 60px;
    border-top: 1px solid var(--line-white);
}

.technology-features > div {
    display: grid;
    grid-template-columns: 55px 1fr;
    align-items: center;
    min-height: 61px;
    border-bottom: 1px solid var(--line-white);
}

.technology-features span {
    color: var(--gold);
    font-size: 9px;
}

.technology-features p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    letter-spacing: .06em;
}

.technology-visual {
    position: relative;
    overflow: hidden;
    border-left: 1px solid var(--line-white);
    background:
        linear-gradient(145deg, #111 0%, #080808 48%, #16130b 100%);
}

.technology-visual::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    height: 70%;
    border-radius: 50%;
    background: rgba(216,169,40,.10);
    filter: blur(90px);
    transform: translate(-50%, -50%);
}

.film-sheet {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(58%, 430px);
    aspect-ratio: .75;
    border: 1px solid rgba(255,255,255,.22);
    background:
        linear-gradient(
            130deg,
            rgba(255,255,255,.20),
            rgba(255,255,255,.025) 25%,
            rgba(216,169,40,.08) 55%,
            rgba(255,255,255,.02)
        );
    box-shadow:
        0 40px 100px rgba(0,0,0,.75),
        inset 0 0 70px rgba(255,255,255,.025);
    backdrop-filter: blur(7px);
}

.film-sheet::after {
    content: "";
    position: absolute;
    inset: 12%;
    border: 1px solid rgba(216,169,40,.18);
}

.film-sheet-back {
    transform:
        translate(-64%, -49%)
        rotate(-11deg);
    opacity: .35;
}

.film-sheet-front {
    transform:
        translate(-40%, -50%)
        rotate(7deg);
}

.technology-badge {
    position: absolute;
    right: 8%;
    bottom: 8%;
    padding: 17px 20px;
    border-left: 2px solid var(--gold);
    background: rgba(0,0,0,.42);
    backdrop-filter: blur(8px);
}

.technology-badge span {
    display: block;
    font-size: 27px;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -.06em;
}

.technology-badge small {
    display: block;
    margin-top: 5px;
    color: var(--gold-light);
    font-size: 7px;
    letter-spacing: .22em;
}



/* TECHNOLOGY — PREMIUM FILM VISUAL */

.technology-visual {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(
            circle at 58% 45%,
            rgba(216,169,40,.13),
            transparent 31%
        ),
        radial-gradient(
            circle at 75% 72%,
            rgba(255,255,255,.035),
            transparent 28%
        ),
        linear-gradient(135deg, #090909 0%, #0b0a07 52%, #050505 100%);
}

/* ogromny techniczny znak w tle */
.technology-visual::before {
    content: "PPF";
    position: absolute;
    z-index: 0;
    top: 7%;
    right: -5%;
    color: transparent;
    font-size: clamp(170px, 20vw, 330px);
    line-height: .8;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.09em;
    -webkit-text-stroke: 1px rgba(216,169,40,.07);
    transform: skewX(-7deg);
    pointer-events: none;
}

/* diagonalny refleks światła */
.technology-visual::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -30%;
    left: 45%;
    width: 22%;
    height: 160%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.025),
        rgba(255,245,205,.11),
        rgba(255,255,255,.025),
        transparent
    );
    filter: blur(12px);
    transform: rotate(17deg);
    pointer-events: none;
}

.film-sheet {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    width: min(44%, 340px);
    aspect-ratio: .78;
    border: 1px solid rgba(255,255,255,.24);
    background:
        linear-gradient(
            115deg,
            rgba(255,255,255,.10) 0%,
            rgba(255,255,255,.018) 27%,
            rgba(216,169,40,.065) 58%,
            rgba(255,255,255,.035) 100%
        );
    box-shadow:
        inset 1px 1px 0 rgba(255,255,255,.13),
        inset -1px -1px 0 rgba(216,169,40,.07),
        0 38px 80px rgba(0,0,0,.55),
        0 0 55px rgba(216,169,40,.055);
    backdrop-filter: blur(2px);
}

.film-sheet::before {
    content: "";
    position: absolute;
    inset: 8%;
    border: 1px solid rgba(216,169,40,.20);
    background: linear-gradient(
        135deg,
        rgba(255,255,255,.018),
        transparent 42%,
        rgba(216,169,40,.035)
    );
}

.film-sheet::after {
    content: "";
    position: absolute;
    top: 0;
    right: 13%;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        180deg,
        transparent,
        rgba(255,255,255,.30),
        rgba(216,169,40,.20),
        transparent
    );
    opacity: .55;
}

.film-sheet-back {
    opacity: .38;
    transform:
        translate(-62%, -48%)
        rotate(-10deg);
}

.film-sheet-front {
    z-index: 3;
    opacity: .92;
    transform:
        translate(-32%, -52%)
        rotate(8deg);
}

/* światło przechodzące przez folię */
.film-sheet-front::after {
    width: 34%;
    height: 100%;
    right: 7%;
    border: 0;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.12),
        rgba(241,207,104,.07),
        transparent
    );
    filter: blur(9px);
    transform: skewX(-12deg);
}

/* premium technical badge */
.technology-badge {
    position: absolute;
    z-index: 5;
    right: clamp(28px, 5vw, 80px);
    bottom: clamp(30px, 5vw, 70px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 150px;
    padding: 17px 0 0;
    border-top: 1px solid rgba(216,169,40,.55);
    background: transparent;
    text-align: left;
}

.technology-badge::before {
    content: "01 / MATERIAL";
    margin-bottom: 10px;
    color: rgba(216,169,40,.62);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .22em;
}

.technology-badge strong {
    color: #fff;
    font-size: clamp(18px, 1.6vw, 27px);
    line-height: .9;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -.04em;
}

.technology-badge span {
    margin-top: 8px;
    color: rgba(255,255,255,.36);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .14em;
}


/* TECHNOLOGY — MOBILE */

@media (max-width: 700px) {

    .technology-visual {
        min-height: 430px;
    }

    .technology-visual::before {
        top: 13%;
        right: -12%;
        font-size: 180px;
    }

    .film-sheet {
        width: 46%;
        max-width: 190px;
    }

    .film-sheet-back {
        transform:
            translate(-68%, -54%)
            rotate(-10deg);
    }

    .film-sheet-front {
        transform:
            translate(-25%, -50%)
            rotate(8deg);
    }

    .technology-badge {
        right: 24px;
        bottom: 25px;
        min-width: 125px;
    }

    .technology-badge strong {
        font-size: 19px;
    }
}


/* PRODUCTS */

.products {
    max-width: var(--max-width);
    margin: 0 auto;
    padding:
        clamp(110px, 13vw, 200px)
        var(--page-padding);
}

.products-heading {
    display: grid;
    grid-template-columns: 1.5fr .5fr;
    gap: 80px;
    align-items: end;
}

.products-heading h2 {
    margin-top: 28px;
}

.products-heading > p {
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.8;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 90px;
}

.product-card {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    padding: 35px 28px;
    border: 1px solid var(--line-white);
    border-right: 0;
    background:
        linear-gradient(
            155deg,
            rgba(255,255,255,.025),
            transparent 50%
        );
    transition:
        background .35s ease,
        transform .35s ease;
}

.product-card:last-child {
    border-right: 1px solid var(--line-white);
}

.product-card::before {
    content: "";
    position: absolute;
    right: -30%;
    bottom: -25%;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(216,169,40,.12);
    box-shadow:
        0 0 0 30px rgba(216,169,40,.015),
        0 0 0 70px rgba(216,169,40,.01);
    transition: transform .5s ease;
}

.product-card:hover {
    z-index: 2;
    background:
        linear-gradient(
            145deg,
            rgba(216,169,40,.10),
            rgba(255,255,255,.025) 45%,
            transparent
        );
    transform: translateY(-8px);
}

.product-card:hover::before {
    transform: scale(1.15);
}

.product-index {
    color: var(--gold);
    font-size: 9px;
    letter-spacing: .2em;
}

.product-card h3 {
    max-width: 220px;
    margin: 105px 0 0;
    font-size: clamp(20px, 2vw, 29px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.product-card p {
    max-width: 220px;
    margin: 20px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.65;
}

.product-line {
    position: absolute;
    right: 28px;
    bottom: 30px;
    left: 28px;
    height: 1px;
    background: linear-gradient(
        90deg,
        var(--gold),
        rgba(216,169,40,.05)
    );
}


/* EUROPE */

.europe {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    min-height: 850px;
    overflow: hidden;
    padding:
        120px
        var(--page-padding);
    border-top: 1px solid var(--line-white);
    border-bottom: 1px solid var(--line-white);
    background:
        radial-gradient(circle at 25% 50%, rgba(216,169,40,.11), transparent 35%),
        linear-gradient(110deg, #090909, #050505);
}

.europe-map {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 580px;
}

.europe-map::before,
.europe-map::after {
    content: "";
    position: absolute;
    width: min(35vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(216,169,40,.10);
}

.europe-map::after {
    width: min(27vw, 400px);
}

.map-outline {
    position: relative;
    color: transparent;
    font-size: clamp(70px, 10vw, 170px);
    font-weight: 950;
    letter-spacing: -.09em;
    -webkit-text-stroke: 1px rgba(216,169,40,.25);
    transform: rotate(-7deg);
}

.map-outline::after {
    content: "EUROPE";
    position: absolute;
    inset: 0;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.05);
    transform: translate(8px, 8px);
}

.europe-content {
    position: relative;
    z-index: 2;
    max-width: 680px;
}

.europe h2 {
    margin-top: 30px;
}

.europe-content > p:not(.section-kicker) {
    max-width: 570px;
    margin: 38px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.europe-languages {
    display: flex;
    gap: 9px;
    margin-top: 45px;
}

.europe-languages span {
    padding: 10px 14px;
    border: 1px solid rgba(216,169,40,.20);
    color: rgba(255,255,255,.48);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .18em;
}


/* VALUES */

.values {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    max-width: var(--max-width);
    margin: 0 auto;
    padding:
        0
        var(--page-padding)
        clamp(110px, 12vw, 180px);
}

.value {
    min-height: 220px;
    padding: 42px 20px;
    border-right: 1px solid var(--line-white);
    text-align: center;
}

.value:first-child {
    border-left: 1px solid var(--line-white);
}

.value-icon {
    display: grid;
    place-items: center;
    height: 70px;
    color: var(--gold-light);
    font-size: 36px;
    font-weight: 200;
}

.value h3 {
    margin: 27px 0 0;
    font-size: 10px;
    letter-spacing: .20em;
}

.value p {
    margin: 9px 0 0;
    color: rgba(255,255,255,.30);
    font-size: 7px;
    letter-spacing: .14em;
}


/* PARTNER */

.partner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(70px, 9vw, 160px);
    align-items: center;

    min-height: 620px;
    overflow: hidden;

    padding:
        clamp(95px, 9vw, 145px)
        var(--page-padding);

    border-top: 1px solid rgba(216,169,40,.22);

    background:
        radial-gradient(
            ellipse at 72% 48%,
            rgba(216,169,40,.09),
            transparent 35%
        ),
        linear-gradient(
            115deg,
            #080806 0%,
            #050505 48%,
            #0b0905 100%
        );
}


/* monumental NICK signature */

.partner::before {
    content: "NICK";

    position: absolute;
    right: -1.5vw;
    bottom: -2.5vw;

    color: rgba(216,169,40,.035);

    font-size: clamp(230px, 31vw, 540px);
    line-height: .67;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.105em;

    pointer-events: none;
}


/* subtle vertical light */

.partner::after {
    content: "";

    position: absolute;
    top: 12%;
    left: 50%;

    width: 1px;
    height: 76%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(216,169,40,.24),
            transparent
        );

    opacity: .6;
}


.partner-glow {
    position: absolute;

    top: 48%;
    left: 72%;

    width: 42vw;
    height: 42vw;

    border-radius: 50%;

    background: rgba(216,169,40,.055);
    filter: blur(120px);

    transform: translate(-50%, -50%);

    pointer-events: none;
}


.partner-copy,
.partner-contact {
    position: relative;
    z-index: 2;
}


.partner-copy {
    max-width: 620px;
}


.partner .section-kicker {
    margin-bottom: 26px;
}


.partner h2 {
    max-width: 650px;
    margin: 0;

    font-size: clamp(42px, 4.5vw, 78px);
    line-height: .88;
    letter-spacing: -.055em;
}


.partner h2 span,
.partner h2 em {
    display: block;
}


.partner-copy > p:not(.section-kicker) {
    max-width: 510px;

    margin: 34px 0 0;

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

    font-size: clamp(12px, .85vw, 14px);
    line-height: 1.85;
}


/* MAIN CTA */

.partner-contact {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;

    min-height: 210px;

    padding:
        40px
        clamp(5px, 1vw, 18px)
        38px
        0;

    overflow: hidden;

    border-top: 1px solid rgba(216,169,40,.60);
    border-bottom: 1px solid rgba(216,169,40,.25);

    transition:
        padding .55s cubic-bezier(.16,1,.3,1),
        background .55s ease;
}


.partner-contact::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(216,169,40,.09),
            transparent 70%
        );

    opacity: 0;

    transform: translateX(-25%);

    transition:
        opacity .55s ease,
        transform .65s cubic-bezier(.16,1,.3,1);
}


.partner-contact small,
.partner-contact strong,
.partner-contact > span {
    position: relative;
    z-index: 2;
}


.partner-contact small {
    grid-column: 1 / -1;

    align-self: end;

    color: var(--gold-light);

    font-size: 8px;
    font-weight: 900;
    letter-spacing: .26em;
}


.partner-contact strong {
    align-self: start;

    margin-top: 17px;

    color: #f4f1e9;

    font-size: clamp(30px, 3.15vw, 54px);
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.055em;

    transition:
        color .35s ease,
        transform .55s cubic-bezier(.16,1,.3,1);
}


.partner-contact > span {
    align-self: center;

    display: grid;
    place-items: center;

    width: 62px;
    height: 62px;

    margin: 14px 0 0 30px;

    border: 1px solid rgba(216,169,40,.42);
    border-radius: 50%;

    color: var(--gold-light);

    font-size: 28px;

    transition:
        transform .55s cubic-bezier(.16,1,.3,1),
        background .35s ease,
        color .35s ease;
}


@media (hover:hover) {

    .partner-contact:hover {
        padding-left: 22px;
        padding-right: 22px;

        background: rgba(216,169,40,.025);
    }

    .partner-contact:hover::before {
        opacity: 1;
        transform: translateX(0);
    }

    .partner-contact:hover strong {
        color: #fff;
        transform: translateX(5px);
    }

    .partner-contact:hover > span {
        color: #050505;
        background: var(--gold-light);

        transform:
            translateX(5px)
            rotate(45deg);
    }
}


/* FOOTER */

.site-footer {
    position: relative;

    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    min-height: 105px;

    padding:
        25px
        var(--page-padding);

    border-top: 1px solid rgba(216,169,40,.18);

    background:
        linear-gradient(
            180deg,
            #030303,
            #010101
        );
}


.footer-brand {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}


.footer-brand strong {
    color: #f4f1e9;

    font-size: 28px;
    line-height: 1;
    font-style: italic;
    font-weight: 950;
    letter-spacing: -.08em;
}


.footer-brand span {
    margin-top: 2px;

    color: var(--gold);

    font-size: 7px;
    font-weight: 900;
    letter-spacing: .15em;
}


.site-footer > p {
    display: flex;
    align-items: center;
    gap: 13px;

    margin: 0;

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

    font-size: 7px;
    font-weight: 800;
    letter-spacing: .20em;
}


.site-footer > p:not(.copyright) {
    color: rgba(255,255,255,.42);
}


.site-footer p i {
    width: 3px;
    height: 3px;

    flex: 0 0 3px;

    border-radius: 50%;

    background: var(--gold);
    box-shadow: 0 0 8px rgba(216,169,40,.35);
}


.site-footer .copyright {
    justify-self: end;

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


/* PARTNER + FOOTER MOBILE */

@media (max-width:700px) {

    .partner {
        display: block;

        min-height: auto;

        padding:
            90px
            var(--page-padding)
            75px;
    }

    .partner::before {
        right: -8vw;
        bottom: 2%;

        font-size: 58vw;

        opacity: .8;
    }

    .partner::after {
        display: none;
    }

    .partner-glow {
        top: 68%;
        left: 65%;

        width: 90vw;
        height: 90vw;
    }

    .partner h2 {
        max-width: 340px;

        font-size: clamp(42px, 12vw, 56px);
        line-height: .88;
    }

    .partner-copy > p:not(.section-kicker) {
        max-width: 330px;

        margin-top: 27px;

        font-size: 11px;
        line-height: 1.7;
    }

    .partner-contact {
        min-height: 165px;

        margin-top: 65px;

        padding: 30px 0;

        grid-template-columns: minmax(0,1fr) auto;
    }

    .partner-contact small {
        font-size: 6px;
        letter-spacing: .19em;
    }

    .partner-contact strong {
        margin-top: 14px;

        font-size: clamp(24px, 7.3vw, 32px);
    }

    .partner-contact > span {
        width: 48px;
        height: 48px;

        margin-left: 12px;

        font-size: 22px;
    }


    .site-footer {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 24px;

        min-height: 130px;

        padding:
            28px
            var(--page-padding)
            88px;
    }

    .footer-brand strong {
        font-size: 24px;
    }

    .site-footer > p:not(.copyright) {
        grid-column: 1 / -1;
        grid-row: 2;

        justify-self: start;

        font-size: 5.5px;
        letter-spacing: .12em;
    }

    .site-footer .copyright {
        grid-column: 2;
        grid-row: 1;

        align-self: center;

        font-size: 5.5px;
        letter-spacing: .10em;
    }
}


/* JS REVEAL SUPPORT */

.reveal {
    opacity: 1;
    transform: none;
}

.js-enabled .reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .8s cubic-bezier(.2,.7,.2,1),
        transform .8s cubic-bezier(.2,.7,.2,1);
}

.js-enabled .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* TABLET */

@media (max-width: 1100px) {
    .site-header {
        grid-template-columns: 1fr auto;
    }

    .main-nav {
        display: none;
    }

    .hero-side {
        display: none;
    }

    .hero-launch {
        right: 35px;
        left: 35px;
    }

    .hero-launch-item {
        padding-right: 16px;
        padding-left: 16px;
    }

    .proof-intro {
        grid-template-columns: 1fr;
    }

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

    .stat:nth-child(2) {
        border-right: 1px solid var(--line-white);
    }

    .stat:nth-child(3) {
        border-left: 1px solid var(--line-white);
        border-top: 1px solid var(--line-white);
    }

    .stat:nth-child(4) {
        border-top: 1px solid var(--line-white);
    }

    .technology {
        grid-template-columns: 1fr;
    }

    .technology-visual {
        min-height: 680px;
        border-top: 1px solid var(--line-white);
        border-left: 0;
    }

    .products-heading {
        grid-template-columns: 1fr;
        gap: 35px;
    }

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

    .product-card:nth-child(2) {
        border-right: 1px solid var(--line-white);
    }

    .product-card:nth-child(3),
    .product-card:nth-child(4) {
        border-top: 0;
    }

    .europe {
        grid-template-columns: 1fr;
    }

    .europe-map {
        min-height: 420px;
    }

    .europe-map::before {
        width: 430px;
    }

    .europe-map::after {
        width: 330px;
    }

    .values {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .partner {
        grid-template-columns: 1fr;
    }

    .site-footer {
        grid-template-columns: 1fr 1fr;
        gap: 25px;
    }

    .site-footer > p:not(.copyright) {
        display: none;
    }
}


/* MOBILE */

@media (max-width: 700px) {
    :root {
        --page-padding: 20px;
    }

    .site-header {
        min-height: 72px;
    }

    .brand-logo {
        height: 36px;
    }

    .header-actions {
        gap: 10px;
    }

    .header-contact {
        display: none;
    }

    .language-button {
        padding: 7px 5px;
    }

    .hero {
        min-height: 820px;
        padding-top: 115px;
        padding-bottom: 85px;
    }

    .hero-film-overlay {
        right: -175px;
        bottom: -35px;
        width: 390px;
        opacity: .52;
    }

    .hero-launch {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        z-index: 3;
        grid-template-columns: 1fr;
        width: 100%;
        margin-top: 330px;
        border-top: 1px solid rgba(216,169,40,.58);
    }

    .hero-launch-item {
        padding: 18px 12px;
    }

    .hero-launch-item + .hero-launch-item {
        border-top: 1px solid rgba(216,169,40,.28);
        border-left: 0;
    }

    .hero-launch h1,
    .hero-launch h2 {
        font-size: 22px;
    }

    .hero-launch p {
        font-size: 9px;
    }

    .hero-logo-stage {
        width: min(88vw, 620px);
        margin-top: 28px;
    }

    .hero-logo {
        transform:
            rotateX(1deg)
            rotateY(-6deg)
            rotateZ(-.5deg);
    }

    .hero-content > .eyebrow {
        font-size: 8px;
        letter-spacing: .16em;
    }

    .hero-tagline {
        margin-top: 12px;
        font-size: 8px;
        letter-spacing: .22em;
    }

    .hero-copy {
        margin-top: 75px;
    }

    .hero h1 {
        font-size: clamp(43px, 14vw, 67px);
    }

    .hero-description {
        max-width: 92%;
        font-size: 12px;
        line-height: 1.7;
    }

    .hero-actions {
        flex-direction: column;
        width: min(100%, 310px);
        margin-right: auto;
        margin-left: auto;
    }

    .button {
        width: 100%;
    }

    .hero-bottom {
        right: 20px;
        bottom: 22px;
        left: 20px;
        gap: 10px;
        font-size: 5.5px;
        letter-spacing: .11em;
    }

    .hero-bottom i {
        width: 8px;
    }

    .proof {
        padding-top: 95px;
        padding-bottom: 95px;
    }

    .proof-intro h2,
    .technology h2,
    .products h2,
    .europe h2,
    .partner h2 {
        font-size: clamp(39px, 12vw, 60px);
    }

    .proof-grid {
        grid-template-columns: 1fr 1fr;
        margin-top: 60px;
    }

    .stat {
        min-height: 160px;
        padding: 28px 18px;
    }

    .stat strong {
        font-size: 41px;
    }

    .stat span {
        margin-top: 17px;
        font-size: 9px;
    }

    .technology-copy {
        padding:
            100px
            var(--page-padding)
            80px;
    }

    .technology-visual {
        min-height: 520px;
    }

    .film-sheet {
        width: 56%;
    }

    .technology-badge {
        right: 20px;
        bottom: 25px;
    }

    .products {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .product-grid {
        grid-template-columns: 1fr;
        margin-top: 60px;
    }

    .product-card {
        min-height: 285px;
        border-right: 1px solid var(--line-white);
        border-bottom: 0;
    }

    .product-card:nth-child(3),
    .product-card:nth-child(4) {
        border-top: 1px solid var(--line-white);
    }

    .product-card:last-child {
        border-bottom: 1px solid var(--line-white);
    }

    .product-card h3 {
        margin-top: 70px;
    }

    .europe {
        min-height: auto;
        padding-top: 80px;
        padding-bottom: 100px;
    }

    .europe-map {
        min-height: 330px;
    }

    .europe-map::before {
        width: 290px;
    }

    .europe-map::after {
        width: 220px;
    }

    .map-outline {
        font-size: 23vw;
    }

    .europe-languages {
        flex-wrap: wrap;
    }

    .values {
        grid-template-columns: 1fr 1fr;
        padding-bottom: 90px;
    }

    .value {
        min-height: 175px;
        border-bottom: 1px solid var(--line-white);
    }

    .value:nth-child(odd) {
        border-left: 1px solid var(--line-white);
    }

    .value:nth-child(even) {
        border-left: 0;
    }

    .value:last-child {
        grid-column: 1 / -1;
        border-right: 1px solid var(--line-white);
    }

    .partner {
        min-height: 720px;
        gap: 75px;
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .partner-contact {
        min-height: 130px;
    }

    .partner-contact strong {
        font-size: 21px;
    }

    .site-footer {
        min-height: 100px;
    }

    .footer-brand strong {
        font-size: 21px;
    }

    .site-footer .copyright {
        font-size: 6px;
        text-align: right;
    }
}



/* MOBILE HERO V2 + FIXED CTA */

.mobile-cta {
    display: none;
}

@media (max-width: 700px) {

    body {
        padding-bottom: 64px;
    }

    .site-header {
        min-height: 64px;
        padding-right: 16px;
        padding-left: 16px;
    }

    .brand-logo {
        height: 32px;
    }

    /*
     * Mobile hero is intentionally independent from desktop composition.
     */
    .hero {
        display: block;
        min-height: auto;
        padding: 0 0 30px;
        overflow: hidden;
    }

    .hero-background {
        position: relative;
        z-index: 0;
        width: 100%;
        height: 56svh;
        min-height: 390px;
        max-height: 520px;
    }

    .hero-image {
        background-position: 50% center;
        transform: none;
    }

    .hero-image::before {
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.22) 0%,
                rgba(0,0,0,.03) 45%,
                #050505 100%
            );
    }

    .hero-image::after {
        background: linear-gradient(
            90deg,
            rgba(0,0,0,.20),
            transparent 35%,
            rgba(0,0,0,.10)
        );
    }

    .hero-shade,
    .hero-glow,
    .hero-grid {
        display: none;
    }

    .hero-film-overlay {
        z-index: 1;
        right: -135px;
        bottom: 285px;
        width: 340px;
        opacity: .42;
    }

    .hero-film-signature,
    .hero-side,
    .hero-partner-cta,
    .hero-bottom {
        display: none;
    }

    .hero-launch {
        position: relative;
        z-index: 3;
        right: auto;
        bottom: auto;
        left: auto;

        display: grid;
        grid-template-columns: 1fr;
        width: auto;
        margin: -45px 20px 0;
        border: 0;
        background: #050505;
    }

    .hero-launch-item {
        position: relative;
        min-height: 0;
        padding: 28px 8px 25px;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.10);
        text-align: left;
    }

    .hero-launch-item:first-child {
        padding-top: 32px;
        border-top: 1px solid rgba(216,169,40,.70);
    }

    .hero-launch-item + .hero-launch-item {
        border-top: 0;
    }

    .hero-launch-item + .hero-launch-item::before {
        display: none;
    }

    .hero-launch-flag {
        width: 31px;
        height: 20px;
        margin: 0 0 13px;
    }

    .hero-launch h1,
    .hero-launch h2 {
        max-width: 100%;
        margin: 0;
        font-size: clamp(27px, 8.6vw, 35px);
        line-height: .92;
        letter-spacing: -.045em;
        overflow-wrap: normal;
        word-break: normal;
    }

    .hero-launch h1 strong,
    .hero-launch h2 strong {
        display: block;
        margin-top: 4px;
    }

    .hero-launch p {
        margin-top: 13px;
        color: rgba(255,255,255,.52);
        font-size: 8px;
        line-height: 1.55;
        letter-spacing: .08em;
    }

    /*
     * Fixed mobile conversion bar.
     */
    .mobile-cta {
        position: fixed;
        z-index: 1000;
        right: 0;
        bottom: 0;
        left: 0;

        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 64px;

        border-top: 1px solid rgba(216,169,40,.75);
        background: rgba(5,5,5,.96);
        box-shadow: 0 -12px 35px rgba(0,0,0,.50);
        backdrop-filter: blur(14px);
    }

    .mobile-cta > a {
        display: flex;
        justify-content: center;
        align-items: center;
        min-width: 0;
    }

    .mobile-cta-partner {
        flex-direction: column;
        background: var(--gold);
        color: #050505;
    }

    .mobile-cta-partner small {
        font-size: 7px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: .20em;
    }

    .mobile-cta-partner strong {
        margin-top: 4px;
        font-size: 12px;
        line-height: 1;
        font-weight: 950;
        letter-spacing: .09em;
    }

    .mobile-cta-contact {
        gap: 9px;
        border-left: 1px solid rgba(255,255,255,.12);
        color: #fff;
    }

    .mobile-cta-contact span {
        color: var(--gold-light);
        font-size: 16px;
    }

    .mobile-cta-contact strong {
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .08em;
        white-space: nowrap;
    }
}



/* GLOBAL PROOF — MOBILE HEADLINE FINAL */

@media (max-width: 700px) {
    .proof-intro h2 {
        max-width: 330px;
        font-size: clamp(32px, 9.4vw, 40px);
    }
}


/* TECHNOLOGY — TYPOGRAPHY + SCROLL REVEAL POLISH */

.technology-copy {
    padding-right: clamp(55px, 7vw, 125px);
}

.technology .section-kicker {
    font-size: clamp(10px, .72vw, 13px);
    letter-spacing: .30em;
}

.technology h2 {
    max-width: 650px;
    margin-top: 30px;
    font-size: clamp(48px, 4.7vw, 78px);
    line-height: .90;
    font-weight: 900;
    letter-spacing: -.055em;
}

.technology-copy > p:not(.section-kicker) {
    max-width: 620px;
    margin-top: 42px;
    font-size: clamp(14px, 1.05vw, 18px);
    line-height: 1.75;
}

.technology-features {
    margin-top: 55px;
}

.technology-features > div {
    grid-template-columns: 62px 1fr;
    min-height: 72px;
}

.technology-features span {
    font-size: 10px;
    font-weight: 900;
}

.technology-features p {
    font-size: clamp(11px, .82vw, 14px);
    font-weight: 650;
    letter-spacing: .035em;
}


/* Global scroll reveal — sections enter while scrolling */

.js-enabled .proof-intro,
.js-enabled .proof-grid,
.js-enabled .technology-copy,
.js-enabled .technology-visual,
.js-enabled .products-heading,
.js-enabled .product-grid,
.js-enabled .europe-map,
.js-enabled .europe-content,
.js-enabled .values,
.js-enabled .partner-copy,
.js-enabled .partner-contact {
    opacity: 0;
    transform: translateY(52px);
    transition:
        opacity .9s cubic-bezier(.2,.7,.2,1),
        transform .9s cubic-bezier(.2,.7,.2,1);
    will-change: opacity, transform;
}

.js-enabled .technology-visual,
.js-enabled .europe-map {
    transform: translateY(30px) scale(.975);
}

.js-enabled .proof-intro.is-visible,
.js-enabled .proof-grid.is-visible,
.js-enabled .technology-copy.is-visible,
.js-enabled .technology-visual.is-visible,
.js-enabled .products-heading.is-visible,
.js-enabled .product-grid.is-visible,
.js-enabled .europe-map.is-visible,
.js-enabled .europe-content.is-visible,
.js-enabled .values.is-visible,
.js-enabled .partner-copy.is-visible,
.js-enabled .partner-contact.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* NICK GLOBAL — numbers appear progressively */

.js-enabled .stat {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity .65s ease,
        transform .65s cubic-bezier(.2,.7,.2,1),
        background .35s ease;
}

.js-enabled .proof-grid.is-visible .stat {
    opacity: 1;
    transform: translateY(0);
}

.js-enabled .proof-grid.is-visible .stat:nth-child(1) {
    transition-delay: .08s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(2) {
    transition-delay: .16s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(3) {
    transition-delay: .24s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(4) {
    transition-delay: .32s;
}


/* TECHNOLOGY — feature rows progressively */

.js-enabled .technology-features > div {
    opacity: 0;
    transform: translateX(-22px);
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.2,.7,.2,1);
}

.js-enabled .technology-copy.is-visible .technology-features > div {
    opacity: 1;
    transform: translateX(0);
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(1) {
    transition-delay: .20s;
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(2) {
    transition-delay: .32s;
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(3) {
    transition-delay: .44s;
}


@media (max-width: 700px) {

    .technology h2 {
        max-width: 350px;
        font-size: clamp(39px, 11.5vw, 52px);
        line-height: .91;
    }

    .technology-copy > p:not(.section-kicker) {
        font-size: 13px;
        line-height: 1.7;
    }

    .technology-features > div {
        min-height: 67px;
    }

    .technology-features p {
        font-size: 10px;
    }

    .js-enabled .proof-intro,
    .js-enabled .proof-grid,
    .js-enabled .technology-copy,
    .js-enabled .technology-visual,
    .js-enabled .products-heading,
    .js-enabled .product-grid,
    .js-enabled .europe-map,
    .js-enabled .europe-content,
    .js-enabled .values,
    .js-enabled .partner-copy,
    .js-enabled .partner-contact {
        transform: translateY(30px);
    }
}



/* SCROLL REVEAL — STRONGER CINEMATIC MOTION */

.js-enabled .proof-intro,
.js-enabled .proof-grid,
.js-enabled .technology-copy,
.js-enabled .technology-visual,
.js-enabled .products-heading,
.js-enabled .product-grid,
.js-enabled .europe-map,
.js-enabled .europe-content,
.js-enabled .values,
.js-enabled .partner-copy,
.js-enabled .partner-contact {
    opacity: 0;
    transform: translateY(95px);
    filter: blur(7px);
    transition:
        opacity 1.05s cubic-bezier(.16,1,.3,1),
        transform 1.05s cubic-bezier(.16,1,.3,1),
        filter .85s ease;
}

.js-enabled .technology-visual,
.js-enabled .europe-map {
    transform: translateY(70px) scale(.94);
}

.js-enabled .proof-intro.is-visible,
.js-enabled .proof-grid.is-visible,
.js-enabled .technology-copy.is-visible,
.js-enabled .technology-visual.is-visible,
.js-enabled .products-heading.is-visible,
.js-enabled .product-grid.is-visible,
.js-enabled .europe-map.is-visible,
.js-enabled .europe-content.is-visible,
.js-enabled .values.is-visible,
.js-enabled .partner-copy.is-visible,
.js-enabled .partner-contact.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}


/* NICK GLOBAL — numbers enter one after another */

.js-enabled .stat {
    opacity: 0;
    transform: translateY(65px) scale(.94);
    filter: blur(5px);
    transition:
        opacity .8s cubic-bezier(.16,1,.3,1),
        transform .8s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

.js-enabled .proof-grid.is-visible .stat {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.js-enabled .proof-grid.is-visible .stat:nth-child(1) {
    transition-delay: .15s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(2) {
    transition-delay: .35s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(3) {
    transition-delay: .55s;
}

.js-enabled .proof-grid.is-visible .stat:nth-child(4) {
    transition-delay: .75s;
}


/* TECHNOLOGY — rows enter clearly one by one */

.js-enabled .technology-features > div {
    opacity: 0;
    transform: translateX(-55px);
    filter: blur(4px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .65s ease;
}

.js-enabled .technology-copy.is-visible .technology-features > div {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(1) {
    transition-delay: .35s;
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(2) {
    transition-delay: .60s;
}

.js-enabled .technology-copy.is-visible .technology-features > div:nth-child(3) {
    transition-delay: .85s;
}


@media (max-width: 700px) {
    .js-enabled .proof-intro,
    .js-enabled .proof-grid,
    .js-enabled .technology-copy,
    .js-enabled .technology-visual,
    .js-enabled .products-heading,
    .js-enabled .product-grid,
    .js-enabled .europe-map,
    .js-enabled .europe-content,
    .js-enabled .values,
    .js-enabled .partner-copy,
    .js-enabled .partner-contact {
        transform: translateY(65px);
    }

    .js-enabled .technology-visual,
    .js-enabled .europe-map {
        transform: translateY(55px) scale(.95);
    }
}

@media (prefers-reduced-motion: reduce) {
    .js-enabled .proof-intro,
    .js-enabled .proof-grid,
    .js-enabled .technology-copy,
    .js-enabled .technology-visual,
    .js-enabled .products-heading,
    .js-enabled .product-grid,
    .js-enabled .europe-map,
    .js-enabled .europe-content,
    .js-enabled .values,
    .js-enabled .partner-copy,
    .js-enabled .partner-contact,
    .js-enabled .stat,
    .js-enabled .technology-features > div {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}



/* TECHNOLOGY — FINAL MATERIAL ART */

.technology-visual {
    background:
        radial-gradient(
            ellipse at 52% 48%,
            rgba(216,169,40,.14) 0%,
            rgba(216,169,40,.035) 32%,
            transparent 62%
        ),
        linear-gradient(135deg,#050505 0%,#0c0b08 54%,#050505 100%);
}

/* duży techniczny PPF w tle */
.technology-visual::before {
    content: "PPF";
    top: 9%;
    right: -5%;
    color: transparent;
    font-size: clamp(190px,22vw,360px);
    line-height: .75;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.10em;
    -webkit-text-stroke: 1px rgba(216,169,40,.085);
    transform: skewX(-8deg);
}

/* szeroki refleks przechodzący przez materiał */
.technology-visual::after {
    top: -30%;
    left: 43%;
    width: 18%;
    height: 165%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.025),
            rgba(255,244,201,.14),
            rgba(255,255,255,.035),
            transparent
        );
    filter: blur(16px);
    transform: rotate(18deg);
}


/*
 * Tylna "kartka" znika.
 * Zostawiamy tylko jej delikatny cień / drugą warstwę materiału.
 */
.film-sheet-back {
    z-index: 1;
    top: 50%;
    left: 52%;
    width: min(59%,460px);
    aspect-ratio: .82;
    border: 0;
    border-radius: 4px 26px 8px 18px;
    opacity: .14;
    background:
        linear-gradient(
            118deg,
            transparent 0%,
            rgba(255,255,255,.08) 44%,
            rgba(216,169,40,.08) 65%,
            transparent 100%
        );
    box-shadow: none;
    backdrop-filter: none;
    transform:
        translate(-50%,-48%)
        rotate(-5deg)
        skewY(-2deg);
}

.film-sheet-back::before,
.film-sheet-back::after {
    display: none;
}


/* właściwa tafla PPF */
.film-sheet-front {
    z-index: 3;
    top: 49%;
    left: 51%;
    width: min(61%,475px);
    aspect-ratio: .82;
    overflow: hidden;

    border: 0;
    border-top: 1px solid rgba(255,255,255,.38);
    border-left: 1px solid rgba(255,255,255,.20);
    border-radius:
        5px
        38px
        12px
        22px;

    opacity: .94;

    background:
        linear-gradient(
            112deg,
            rgba(255,255,255,.11) 0%,
            rgba(255,255,255,.018) 23%,
            transparent 41%,
            rgba(241,207,104,.055) 64%,
            rgba(255,255,255,.018) 82%,
            transparent 100%
        );

    box-shadow:
        -25px 42px 80px rgba(0,0,0,.50),
        inset 16px 0 35px rgba(255,255,255,.018),
        inset -12px -15px 35px rgba(216,169,40,.035);

    backdrop-filter: blur(1.5px);

    transform:
        translate(-47%,-51%)
        rotate(5deg)
        skewY(-1deg);
}


/* wewnętrzna linia materiału */
.film-sheet-front::before {
    display: block;
    content: "";
    position: absolute;
    inset: 8% 7% 10% 9%;
    border: 0;
    border-top: 1px solid rgba(241,207,104,.20);
    border-right: 1px solid rgba(241,207,104,.12);
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.018),
            transparent 45%
        );
}


/* załamany / podwinięty bok folii */
.film-sheet-front::after {
    display: block;
    content: "";
    position: absolute;
    top: -4%;
    right: -4%;
    width: 25%;
    height: 112%;

    background:
        linear-gradient(
            100deg,
            transparent 0%,
            rgba(255,255,255,.035) 28%,
            rgba(255,255,255,.18) 52%,
            rgba(241,207,104,.10) 67%,
            rgba(0,0,0,.08) 100%
        );

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

    filter:
        drop-shadow(-8px 0 15px rgba(255,255,255,.035));

    transform:
        skewX(-7deg);

    opacity: .78;
}


/* mocniejszy podpis materiału */
.technology-badge {
    right: clamp(30px,5vw,78px);
    bottom: clamp(34px,5vw,68px);
    min-width: 205px;
    padding-top: 15px;
    border-top: 1px solid rgba(241,207,104,.72);
}

.technology-badge::before {
    margin-bottom: 11px;
    color: rgba(241,207,104,.68);
    font-size: 8px;
}

.technology-badge strong {
    font-size: clamp(24px,2vw,34px);
    line-height: .86;
}

.technology-badge span {
    margin-top: 9px;
    color: rgba(241,207,104,.66);
    font-size: 8px;
    letter-spacing: .17em;
}


/* TECHNOLOGY FINAL — MOBILE */

@media (max-width:700px) {

    .technology-visual {
        min-height: 470px;
    }

    .technology-visual::before {
        top: 14%;
        right: -18%;
        font-size: 190px;
    }

    .film-sheet-back {
        left: 50%;
        width: 72%;
        max-width: 285px;
    }

    .film-sheet-front {
        top: 47%;
        left: 49%;
        width: 74%;
        max-width: 295px;
        transform:
            translate(-47%,-50%)
            rotate(5deg)
            skewY(-1deg);
    }

    .technology-badge {
        right: 20px;
        bottom: 24px;
        min-width: 165px;
    }

    .technology-badge strong {
        font-size: 24px;
    }
}



/* TECHNOLOGY — REAL HERO PPF ASSET */

.technology-visual {
    min-height: 850px;
    overflow: hidden;
    background:
        radial-gradient(
            ellipse at 60% 48%,
            rgba(216,169,40,.16),
            transparent 43%
        ),
        linear-gradient(135deg,#050505,#0c0a06 60%,#050505);
}

/* duży PPF outline */
.technology-visual::before {
    content: "PPF";
    position: absolute;
    z-index: 0;
    top: 9%;
    right: -4%;
    color: transparent;
    font-size: clamp(190px,21vw,350px);
    line-height: .8;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.10em;
    -webkit-text-stroke: 1px rgba(216,169,40,.10);
    transform: skewX(-8deg);
    pointer-events: none;
}

/* światło */
.technology-visual::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -25%;
    left: 44%;
    width: 22%;
    height: 155%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.02),
        rgba(255,236,174,.12),
        rgba(255,255,255,.025),
        transparent
    );
    filter: blur(22px);
    transform: rotate(16deg);
    pointer-events: none;
}


/* usuwamy sztuczną tylną taflę */
.film-sheet-back {
    display: none !important;
}


/*
 * Istniejący element front wykorzystujemy jako kontener
 * dla prawdziwego assetu folii z HERO.
 */
.film-sheet-front {
    display: block;
    position: absolute;
    z-index: 3;

    top: 48%;
    left: 50%;

    width: min(88%, 720px);
    height: 82%;

    border: 0;
    border-radius: 0;

    background:
        url("/assets/images/hero/ppf-film-overlay.png")
        center center / contain
        no-repeat;

    box-shadow: none;
    backdrop-filter: none;

    opacity: .90;

    transform:
        translate(-50%,-50%)
        rotate(-3deg);

    filter:
        contrast(1.12)
        brightness(1.08)
        drop-shadow(0 35px 45px rgba(0,0,0,.55))
        drop-shadow(0 0 35px rgba(216,169,40,.10));
}


/* wyłączamy stare pseudo-elementy tafli */
.film-sheet-front::before,
.film-sheet-front::after {
    display: none !important;
}


/* poprawiony badge */

.technology-badge {
    position: absolute;
    z-index: 8;

    right: clamp(34px,5vw,75px);
    bottom: clamp(38px,5vw,70px);

    width: min(230px,32%);
    min-width: 190px;

    padding: 17px 0 0;

    border: 0;
    border-top: 1px solid rgba(216,169,40,.72);

    background: transparent;

    text-align: left;
    transform: none;
}

.technology-badge::before {
    content: "01 / MATERIAL";

    display: block;
    margin: 0 0 15px;

    color: #d8a928;

    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .22em;
}

.technology-badge strong {
    display: block;

    color: #fff;

    font-size: clamp(22px,1.8vw,30px);
    line-height: .9;

    font-weight: 950;
    font-style: italic;
    letter-spacing: -.045em;
}

.technology-badge span {
    display: block;

    margin-top: 9px;

    color: #d8a928;

    font-size: 8px;
    line-height: 1.35;

    font-weight: 800;
    letter-spacing: .16em;
}


/* TECHNOLOGY — REAL PPF MOBILE */

@media (max-width:700px) {

    .technology-visual {
        min-height: 500px;
    }

    .technology-visual::before {
        top: 12%;
        right: -18%;
        font-size: 190px;
    }

    .film-sheet-front {
        top: 43%;
        left: 50%;

        width: 125%;
        max-width: none;
        height: 82%;

        opacity: .88;

        transform:
            translate(-50%,-50%)
            rotate(-4deg);
    }

    .technology-badge {
        right: 22px;
        bottom: 25px;

        width: 180px;
        min-width: 0;

        padding-top: 13px;
    }

    .technology-badge::before {
        margin-bottom: 10px;
        font-size: 7px;
    }

    .technology-badge strong {
        font-size: 21px;
    }

    .technology-badge span {
        margin-top: 7px;
        font-size: 7px;
    }
}



/* MOBILE SCROLL REVEAL — FINAL STATE FIX */

@media (max-width: 700px) {

    .js-enabled .proof-intro.is-visible,
    .js-enabled .proof-grid.is-visible,
    .js-enabled .technology-copy.is-visible,
    .js-enabled .technology-visual.is-visible,
    .js-enabled .products-heading.is-visible,
    .js-enabled .product-grid.is-visible,
    .js-enabled .europe-map.is-visible,
    .js-enabled .europe-content.is-visible,
    .js-enabled .values.is-visible,
    .js-enabled .partner-copy.is-visible,
    .js-enabled .partner-contact.is-visible {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }

    .js-enabled .proof-grid.is-visible .stat {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }

    .js-enabled .technology-copy.is-visible
    .technology-features > div {
        opacity: 1;
        transform: translateX(0);
        filter: blur(0);
    }
}


/* PRODUCTS — PREMIUM EDITORIAL V2 */

.products {
    position: relative;
    overflow: hidden;
    padding: clamp(105px, 9vw, 155px) var(--page-padding)
             clamp(115px, 10vw, 175px);
    border-bottom: 1px solid var(--line-white);
    background:
        radial-gradient(circle at 78% 28%,
            rgba(216,169,40,.075),
            transparent 28%),
        radial-gradient(circle at 16% 85%,
            rgba(216,169,40,.035),
            transparent 25%),
        #050505;
}

.products::before {
    content: "04";
    position: absolute;
    right: -1vw;
    top: 20px;
    color: transparent;
    font-size: clamp(210px, 27vw, 470px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: -.10em;
    -webkit-text-stroke: 1px rgba(255,255,255,.025);
    pointer-events: none;
}

.products-heading {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
    gap: clamp(60px, 8vw, 145px);
    align-items: end;
    margin-bottom: clamp(75px, 7vw, 115px);
}

.products .section-kicker {
    margin: 0 0 27px;
    color: var(--gold-light);
    font-size: clamp(10px, .72vw, 13px);
    font-weight: 900;
    letter-spacing: .32em;
}

.products h2 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(52px, 5.8vw, 94px);
    line-height: .88;
    font-weight: 950;
    letter-spacing: -.06em;
}

.products h2 em {
    display: block;
    color: var(--gold-light);
}

.products-heading > p {
    position: relative;
    max-width: 390px;
    margin: 0 0 5px;
    padding: 24px 0 0 25px;
    color: rgba(255,255,255,.52);
    border-left: 1px solid rgba(216,169,40,.55);
    font-size: clamp(13px, .9vw, 16px);
    line-height: 1.75;
}

.products-heading > p::before {
    content: "NICK / PRODUCT SYSTEM";
    position: absolute;
    top: 0;
    left: 25px;
    color: var(--gold);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .24em;
}


/* PRODUCT GRID */

.product-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.15);
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.product-card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-height: clamp(430px, 37vw, 570px);
    padding: clamp(30px, 2.5vw, 44px);
    overflow: hidden;
    border-right: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(180deg,
            rgba(255,255,255,.012),
            transparent 35%,
            rgba(216,169,40,.015));
    transition:
        background .55s ease,
        transform .55s cubic-bezier(.16,1,.3,1);
}

.product-card:first-child {
    border-left: 1px solid rgba(255,255,255,.12);
}

.product-card::before {
    content: "";
    position: absolute;
    z-index: -2;
    width: 130%;
    aspect-ratio: 1;
    left: 23%;
    top: 25%;
    border: 1px solid rgba(216,169,40,.10);
    border-radius: 50%;
    transition:
        transform .8s cubic-bezier(.16,1,.3,1),
        border-color .5s ease;
}

.product-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: 0;
    background:
        radial-gradient(circle at 50% 65%,
            rgba(216,169,40,.12),
            transparent 47%);
    transition: opacity .5s ease;
}

.product-index {
    display: block;
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .22em;
}

.product-card h3 {
    max-width: 290px;
    margin: auto 0 20px;
    color: #f4f1e9;
    font-size: clamp(28px, 2.25vw, 40px);
    line-height: .91;
    font-weight: 950;
    letter-spacing: -.055em;
}

.product-card p {
    max-width: 260px;
    min-height: 52px;
    margin: 0 0 35px;
    color: rgba(255,255,255,.48);
    font-size: clamp(11px, .75vw, 13px);
    line-height: 1.65;
}

.product-line {
    position: relative;
    width: 100%;
    height: 1px;
    margin-top: 0;
    background: rgba(255,255,255,.13);
}

.product-line::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 25%;
    background: var(--gold);
    transition: width .65s cubic-bezier(.16,1,.3,1);
}

@media (hover:hover) {
    .product-card:hover {
        background:
            linear-gradient(180deg,
                rgba(216,169,40,.035),
                transparent 38%,
                rgba(216,169,40,.055));
        transform: translateY(-9px);
    }

    .product-card:hover::before {
        border-color: rgba(216,169,40,.24);
        transform: scale(1.08) translate(-3%,-3%);
    }

    .product-card:hover::after {
        opacity: 1;
    }

    .product-card:hover .product-line::before {
        width: 100%;
    }
}


/* PRODUCTS — STAGGER */

.js-enabled .product-card {
    opacity: 0;
    transform: translateY(70px);
    filter: blur(5px);
    transition:
        opacity .75s cubic-bezier(.16,1,.3,1),
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .65s ease,
        background .5s ease;
}

.js-enabled .product-grid.is-visible .product-card {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

.js-enabled .product-grid.is-visible .product-card:nth-child(1) {
    transition-delay: .10s;
}
.js-enabled .product-grid.is-visible .product-card:nth-child(2) {
    transition-delay: .25s;
}
.js-enabled .product-grid.is-visible .product-card:nth-child(3) {
    transition-delay: .40s;
}
.js-enabled .product-grid.is-visible .product-card:nth-child(4) {
    transition-delay: .55s;
}


/* PRODUCTS — TABLET */

@media (max-width:1100px) {
    .products-heading {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .products-heading > p {
        max-width: 500px;
    }

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

    .product-card {
        min-height: 410px;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }
}


/* PRODUCTS — MOBILE */

@media (max-width:700px) {
    .products {
        padding:
            95px var(--page-padding)
            105px;
    }

    .products::before {
        top: 90px;
        right: -45px;
        font-size: 190px;
    }

    .products-heading {
        gap: 32px;
        margin-bottom: 58px;
    }

    .products .section-kicker {
        margin-bottom: 21px;
        font-size: 9px;
    }

    .products h2 {
        max-width: 355px;
        font-size: clamp(39px, 11.4vw, 52px);
        line-height: .91;
    }

    .products-heading > p {
        max-width: 330px;
        padding: 21px 0 0 17px;
        font-size: 12px;
        line-height: 1.65;
    }

    .products-heading > p::before {
        left: 17px;
        font-size: 6px;
    }

    .product-grid {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .product-card,
    .product-card:first-child {
        min-height: 310px;
        padding: 27px 24px;
        border-left: 1px solid rgba(255,255,255,.12);
        border-right: 1px solid rgba(255,255,255,.12);
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .product-card::before {
        width: 90%;
        left: 48%;
        top: 5%;
    }

    .product-card h3 {
        max-width: 260px;
        margin: auto 0 15px;
        font-size: clamp(29px, 9vw, 38px);
    }

    .product-card p {
        max-width: 270px;
        min-height: 0;
        margin-bottom: 24px;
        font-size: 11px;
    }

    .js-enabled .product-card {
        transform: translateY(55px);
    }

    .js-enabled .product-grid.is-visible .product-card {
        transform: translateY(0);
    }
}



/* PRODUCTS — READABILITY + STRONG CARD REVEAL */

.product-card p {
    max-width: 285px;
    min-height: 62px;
    margin: 0 0 34px;

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

    font-size: clamp(13px, .92vw, 16px);
    line-height: 1.62;
    letter-spacing: -.01em;
}


/* mocniejsze wejście pojedynczych kafelków */

.js-enabled .product-card {
    opacity: 0;
    transform:
        translateY(105px)
        scale(.94);

    filter: blur(9px);

    transition:
        opacity .85s cubic-bezier(.16,1,.3,1),
        transform .95s cubic-bezier(.16,1,.3,1),
        filter .75s ease,
        background .5s ease;
}


/*
 * product-grid dostaje is-visible z obecnego IntersectionObserver.
 * Po jego wejściu uruchamiamy każdy kafelek osobno.
 */

.js-enabled .product-grid.is-visible .product-card {
    opacity: 1;

    transform:
        translateY(0)
        scale(1);

    filter: blur(0);
}


/* wyraźna sekwencja 01 → 04 */

.js-enabled .product-grid.is-visible .product-card:nth-child(1) {
    transition-delay: .10s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(2) {
    transition-delay: .32s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(3) {
    transition-delay: .54s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(4) {
    transition-delay: .76s;
}


/* podczas wejścia złota linia również się rozwija */

.js-enabled .product-card .product-line::before {
    width: 0;
    transition:
        width .85s cubic-bezier(.16,1,.3,1);
}

.js-enabled
.product-grid.is-visible
.product-card .product-line::before {
    width: 25%;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(1) .product-line::before {
    transition-delay: .55s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(2) .product-line::before {
    transition-delay: .77s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(3) .product-line::before {
    transition-delay: .99s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(4) .product-line::before {
    transition-delay: 1.21s;
}


/* MOBILE */

@media (max-width:700px) {

    .product-card p {
        max-width: 290px;
        min-height: 0;

        margin-bottom: 27px;

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

    .js-enabled .product-card {
        transform:
            translateY(75px)
            scale(.96);

        filter: blur(6px);
    }

    .js-enabled
    .product-grid.is-visible
    .product-card {
        transform:
            translateY(0)
            scale(1);

        filter: blur(0);
    }

    /*
     * Mobile ma dłuższy grid, dlatego animacja jest trochę szybsza.
     */
    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(1) {
        transition-delay: .08s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(2) {
        transition-delay: .22s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(3) {
        transition-delay: .36s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(4) {
        transition-delay: .50s;
    }
}


/* accessibility */

@media (prefers-reduced-motion: reduce) {

    .js-enabled .product-card {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }

    .js-enabled .product-card .product-line::before {
        width: 25%;
        transition: none;
    }
}



/* PRODUCTS — SLOWER CINEMATIC REVEAL */

.js-enabled .product-card {
    transition:
        opacity 1.35s cubic-bezier(.16,1,.3,1),
        transform 1.45s cubic-bezier(.16,1,.3,1),
        filter 1.10s ease,
        background .5s ease;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(1) {
    transition-delay: .15s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(2) {
    transition-delay: .60s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(3) {
    transition-delay: 1.05s;
}

.js-enabled .product-grid.is-visible .product-card:nth-child(4) {
    transition-delay: 1.50s;
}

/* złote linie dopiero po wejściu kafelka */

.js-enabled
.product-grid.is-visible
.product-card:nth-child(1) .product-line::before {
    transition-delay: .85s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(2) .product-line::before {
    transition-delay: 1.30s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(3) .product-line::before {
    transition-delay: 1.75s;
}

.js-enabled
.product-grid.is-visible
.product-card:nth-child(4) .product-line::before {
    transition-delay: 2.20s;
}


/* MOBILE — również wolniej, ale bez czekania kilku sekund */

@media (max-width:700px) {

    .js-enabled .product-card {
        transition:
            opacity 1.15s cubic-bezier(.16,1,.3,1),
            transform 1.25s cubic-bezier(.16,1,.3,1),
            filter .95s ease,
            background .5s ease;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(1) {
        transition-delay: .10s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(2) {
        transition-delay: .42s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(3) {
        transition-delay: .74s;
    }

    .js-enabled
    .product-grid.is-visible
    .product-card:nth-child(4) {
        transition-delay: 1.06s;
    }
}



/* EUROPE — PREMIUM EDITORIAL */

.europe {
    position: relative;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    min-height: 900px;
    overflow: hidden;
    padding:
        clamp(110px, 9vw, 155px)
        var(--page-padding);

    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(216,169,40,.18);

    background:
        radial-gradient(
            ellipse at 25% 48%,
            rgba(216,169,40,.12),
            rgba(216,169,40,.025) 31%,
            transparent 58%
        ),
        radial-gradient(
            ellipse at 80% 20%,
            rgba(255,255,255,.025),
            transparent 32%
        ),
        linear-gradient(
            110deg,
            #050505 0%,
            #090806 52%,
            #030303 100%
        );
}


/* LEWA STRONA */

.europe-map {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 620px;
    overflow: visible;
}

.europe-map::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 32%;

    width: min(33vw, 540px);
    aspect-ratio: 1;

    border: 1px solid rgba(216,169,40,.14);
    border-radius: 50%;

    box-shadow:
        0 0 0 48px rgba(216,169,40,.018),
        0 0 90px rgba(216,169,40,.035);

    transform: translate(-50%,-50%);
}

.europe-map::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 32%;

    width: min(25vw, 410px);
    aspect-ratio: 1;

    border: 1px solid rgba(216,169,40,.10);
    border-radius: 50%;

    transform: translate(-50%,-50%);
}

.map-outline {
    position: relative;
    z-index: 2;

    margin-left: clamp(-10px, 1vw, 15px);

    color: transparent;

    font-size: clamp(105px, 12.5vw, 215px);
    line-height: .78;
    font-weight: 950;
    font-style: italic;
    letter-spacing: -.095em;

    -webkit-text-stroke:
        1px rgba(216,169,40,.30);

    text-shadow:
        0 0 35px rgba(216,169,40,.025);

    transform:
        rotate(-7deg)
        skewX(-5deg);
}

.map-outline::before {
    content: "EU / 2026";

    position: absolute;
    top: -42px;
    left: 9px;

    color: rgba(241,207,104,.58);

    font-size: 8px;
    line-height: 1;
    font-weight: 900;
    font-style: normal;
    letter-spacing: .28em;

    -webkit-text-stroke: 0;

    transform:
        rotate(7deg)
        skewX(5deg);
}

.map-outline::after {
    content: "EUROPE";

    position: absolute;
    inset: 0;

    color: transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,.055);

    transform: translate(9px,9px);
}


/* PRAWA STRONA */

.europe-content {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 720px;

    padding-left: clamp(15px, 3vw, 55px);
}

.europe-content::before {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 1px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(216,169,40,.72) 18%,
            rgba(216,169,40,.18) 72%,
            transparent
        );
}

.europe .section-kicker {
    margin: 0 0 31px;

    color: var(--gold-light);

    font-size: clamp(10px,.72vw,13px);
    font-weight: 900;
    letter-spacing: .32em;
}

.europe h2 {
    max-width: 760px;
    margin: 0;

    color: #f4f1e9;

    font-size: clamp(52px,5.2vw,88px);
    line-height: .88;
    font-weight: 950;
    letter-spacing: -.06em;
}

.europe h2 span {
    display: block;
}

.europe h2 em {
    display: block;

    margin-top: 4px;

    color: var(--gold-light);
    font-style: normal;
}

.europe-content > p:not(.section-kicker) {
    max-width: 590px;

    margin: 43px 0 0;

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

    font-size: clamp(14px,1vw,17px);
    line-height: 1.75;
}


/* JĘZYKI */

.europe-languages {
    display: flex;
    gap: 10px;

    margin-top: 48px;
}

.europe-languages span {
    position: relative;

    min-width: 94px;

    padding: 12px 17px;

    border: 1px solid rgba(216,169,40,.25);

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

    font-size: 8px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .20em;
    text-align: center;

    background: rgba(255,255,255,.008);

    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease;
}

.europe-languages span:first-child {
    border-color: rgba(216,169,40,.65);
    color: var(--gold-light);

    background:
        rgba(216,169,40,.045);
}

@media (hover:hover) {
    .europe-languages span:hover {
        border-color: rgba(216,169,40,.65);
        color: var(--gold-light);
        background: rgba(216,169,40,.045);
    }
}


/* EUROPE — CINEMATIC REVEAL */

.js-enabled .europe-map {
    opacity: 0;

    transform:
        translateX(-90px)
        scale(.94);

    filter: blur(8px);

    transition:
        opacity 1.25s cubic-bezier(.16,1,.3,1),
        transform 1.35s cubic-bezier(.16,1,.3,1),
        filter 1s ease;
}

.js-enabled .europe-map.is-visible {
    opacity: 1;

    transform:
        translateX(0)
        scale(1);

    filter: blur(0);
}

.js-enabled .europe-content {
    opacity: 0;

    transform: translateX(75px);

    filter: blur(7px);

    transition:
        opacity 1.15s .25s cubic-bezier(.16,1,.3,1),
        transform 1.30s .25s cubic-bezier(.16,1,.3,1),
        filter .95s .25s ease;
}

.js-enabled .europe-content.is-visible {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
}


/* EUROPE — MOBILE */

@media (max-width:700px) {

    .europe {
        grid-template-columns: 1fr;

        min-height: auto;

        padding:
            85px
            var(--page-padding)
            105px;
    }

    .europe-map {
        min-height: 315px;
        margin-bottom: 35px;
    }

    .europe-map::before {
        left: 50%;

        width: 285px;

        box-shadow:
            0 0 0 30px rgba(216,169,40,.015),
            0 0 65px rgba(216,169,40,.035);
    }

    .europe-map::after {
        left: 50%;
        width: 215px;
    }

    .map-outline {
        width: 100%;
        margin: 0;

        font-size: clamp(72px,23vw,100px);
        text-align: center;

        transform:
            rotate(-5deg)
            skewX(-4deg);
    }

    .map-outline::before {
        top: -31px;
        left: 50%;

        font-size: 6px;

        transform:
            translateX(-50%)
            rotate(5deg)
            skewX(4deg);
    }

    .europe-content {
        max-width: 100%;

        padding:
            34px
            0
            0;
    }

    .europe-content::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;

        width: 48px;
        height: 1px;

        background: var(--gold);
    }

    .europe .section-kicker {
        margin-bottom: 23px;

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

    .europe h2 {
        max-width: 350px;

        font-size: clamp(39px,11vw,50px);
        line-height: .90;
    }

    .europe-content > p:not(.section-kicker) {
        max-width: 340px;

        margin-top: 31px;

        font-size: 13px;
        line-height: 1.7;
    }

    .europe-languages {
        gap: 7px;

        margin-top: 37px;
    }

    .europe-languages span {
        flex: 1;

        min-width: 0;

        padding:
            11px
            7px;

        font-size: 7px;
        letter-spacing: .12em;
    }

    .js-enabled .europe-map {
        transform:
            translateY(65px)
            scale(.93);
    }

    .js-enabled .europe-map.is-visible {
        transform:
            translateY(0)
            scale(1);
    }

    .js-enabled .europe-content {
        transform: translateY(60px);
    }

    .js-enabled .europe-content.is-visible {
        transform: translateY(0);
    }
}


/* EUROPE — REDUCED MOTION */

@media (prefers-reduced-motion:reduce) {

    .js-enabled .europe-map,
    .js-enabled .europe-content {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}


/* VALUES — BRAND PILLARS PREMIUM */

.values {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    max-width: none;
    margin: 0;
    padding: 0 var(--page-padding);
    overflow: hidden;

    border-top: 1px solid rgba(216,169,40,.25);
    border-bottom: 1px solid rgba(216,169,40,.16);

    background:
        radial-gradient(ellipse at 50% 100%,
            rgba(216,169,40,.07),
            transparent 45%),
        #050505;
}

.values::before {
    content: "NICK / FIVE PILLARS";
    position: absolute;
    top: 32px;
    left: var(--page-padding);
    color: rgba(241,207,104,.42);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .28em;
}

.value {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    min-height: 430px;
    padding: 75px 22px 55px;

    border: 0;
    border-right: 1px solid rgba(255,255,255,.09);

    text-align: center;

    transition:
        background .45s ease,
        transform .45s cubic-bezier(.16,1,.3,1);
}

.value:first-child {
    border-left: 1px solid rgba(255,255,255,.09);
}

.value::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;

    width: 0;
    height: 2px;

    background: var(--gold-light);
    box-shadow: 0 0 18px rgba(216,169,40,.35);

    transform: translateX(-50%);
    transition: width .55s cubic-bezier(.16,1,.3,1);
}

.value-icon {
    display: grid;
    place-items: center;

    width: 96px;
    height: 96px;

    color: var(--gold-light);

    font-size: clamp(42px,3.2vw,58px);
    font-weight: 200;
    line-height: 1;

    text-shadow: 0 0 30px rgba(216,169,40,.12);

    transition:
        transform .55s cubic-bezier(.16,1,.3,1),
        text-shadow .45s ease;
}

.value h3 {
    margin: 37px 0 0;

    color: #f4f1e9;

    font-size: clamp(14px,1.05vw,18px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .17em;
}

.value p {
    margin: 14px 0 0;

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

    font-size: clamp(9px,.65vw,11px);
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .10em;
}

@media (hover:hover) {
    .value:hover {
        background:
            linear-gradient(
                180deg,
                rgba(216,169,40,.055),
                rgba(216,169,40,.012) 48%,
                transparent
            );
        transform: translateY(-6px);
    }

    .value:hover::before {
        width: 70%;
    }

    .value:hover .value-icon {
        transform: translateY(-7px) scale(1.08);
        text-shadow:
            0 0 22px rgba(216,169,40,.28),
            0 0 55px rgba(216,169,40,.12);
    }
}


/* VALUES — SEQUENTIAL REVEAL */

.js-enabled .values {
    opacity: 1;
    transform: none;
    filter: none;
}

.js-enabled .value {
    opacity: 0;
    transform: translateY(85px) scale(.94);
    filter: blur(7px);

    transition:
        opacity 1.15s cubic-bezier(.16,1,.3,1),
        transform 1.25s cubic-bezier(.16,1,.3,1),
        filter .95s ease,
        background .45s ease;
}

.js-enabled .values.is-visible .value {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.js-enabled .values.is-visible .value:nth-child(1) {
    transition-delay: .12s;
}

.js-enabled .values.is-visible .value:nth-child(2) {
    transition-delay: .42s;
}

.js-enabled .values.is-visible .value:nth-child(3) {
    transition-delay: .72s;
}

.js-enabled .values.is-visible .value:nth-child(4) {
    transition-delay: 1.02s;
}

.js-enabled .values.is-visible .value:nth-child(5) {
    transition-delay: 1.32s;
}


/* VALUES — MOBILE */

@media (max-width:700px) {

    .values {
        grid-template-columns: 1fr 1fr;
        padding:
            48px
            var(--page-padding)
            90px;
    }

    .values::before {
        top: 22px;
        font-size: 6px;
    }

    .value,
    .value:first-child {
        min-height: 230px;
        padding: 42px 12px 34px;

        border-left: 1px solid rgba(255,255,255,.09);
        border-right: 1px solid rgba(255,255,255,.09);
        border-bottom: 1px solid rgba(255,255,255,.09);
    }

    .value-icon {
        width: 66px;
        height: 66px;
        font-size: 38px;
    }

    .value h3 {
        margin-top: 24px;
        font-size: 11px;
        letter-spacing: .12em;
    }

    .value p {
        margin-top: 10px;
        font-size: 7px;
        letter-spacing: .06em;
    }

    .value:last-child {
        grid-column: 1 / -1;
        min-height: 210px;
    }

    .js-enabled .value {
        transform: translateY(55px) scale(.96);
    }

    .js-enabled .values.is-visible .value {
        transform: translateY(0) scale(1);
    }

    .js-enabled .values.is-visible .value:nth-child(1) {
        transition-delay: .08s;
    }

    .js-enabled .values.is-visible .value:nth-child(2) {
        transition-delay: .28s;
    }

    .js-enabled .values.is-visible .value:nth-child(3) {
        transition-delay: .48s;
    }

    .js-enabled .values.is-visible .value:nth-child(4) {
        transition-delay: .68s;
    }

    .js-enabled .values.is-visible .value:nth-child(5) {
        transition-delay: .88s;
    }
}



/* VALUES — SLOW SEQUENTIAL REVEAL */

.js-enabled .values.is-visible .value:nth-child(1) {
    transition-delay: .10s;
}

.js-enabled .values.is-visible .value:nth-child(2) {
    transition-delay: .65s;
}

.js-enabled .values.is-visible .value:nth-child(3) {
    transition-delay: 1.20s;
}

.js-enabled .values.is-visible .value:nth-child(4) {
    transition-delay: 1.75s;
}

.js-enabled .values.is-visible .value:nth-child(5) {
    transition-delay: 2.30s;
}


/* MOBILE — pojedynczo, ale trochę szybciej */

@media (max-width: 700px) {

    .js-enabled .values.is-visible .value:nth-child(1) {
        transition-delay: .10s;
    }

    .js-enabled .values.is-visible .value:nth-child(2) {
        transition-delay: .45s;
    }

    .js-enabled .values.is-visible .value:nth-child(3) {
        transition-delay: .80s;
    }

    .js-enabled .values.is-visible .value:nth-child(4) {
        transition-delay: 1.15s;
    }

    .js-enabled .values.is-visible .value:nth-child(5) {
        transition-delay: 1.50s;
    }
}



/* VALUES — EXTRA SLOW SEQUENTIAL REVEAL */

.js-enabled .value {
    transition:
        opacity 1.55s cubic-bezier(.16,1,.3,1),
        transform 1.65s cubic-bezier(.16,1,.3,1),
        filter 1.30s ease,
        background .45s ease;
}

.js-enabled .values.is-visible .value:nth-child(1) {
    transition-delay: .15s;
}

.js-enabled .values.is-visible .value:nth-child(2) {
    transition-delay: 1.05s;
}

.js-enabled .values.is-visible .value:nth-child(3) {
    transition-delay: 1.95s;
}

.js-enabled .values.is-visible .value:nth-child(4) {
    transition-delay: 2.85s;
}

.js-enabled .values.is-visible .value:nth-child(5) {
    transition-delay: 3.75s;
}


/* MOBILE */

@media (max-width: 700px) {

    .js-enabled .values.is-visible .value:nth-child(1) {
        transition-delay: .10s;
    }

    .js-enabled .values.is-visible .value:nth-child(2) {
        transition-delay: .70s;
    }

    .js-enabled .values.is-visible .value:nth-child(3) {
        transition-delay: 1.30s;
    }

    .js-enabled .values.is-visible .value:nth-child(4) {
        transition-delay: 1.90s;
    }

    .js-enabled .values.is-visible .value:nth-child(5) {
        transition-delay: 2.50s;
    }
}



/* VALUES — INDIVIDUAL OBSERVER FIX */

.js-enabled .value {
    opacity: 0 !important;
    transform: translateY(85px) scale(.94) !important;
    filter: blur(7px) !important;

    transition:
        opacity 1.45s cubic-bezier(.16,1,.3,1),
        transform 1.55s cubic-bezier(.16,1,.3,1),
        filter 1.20s ease,
        background .45s ease !important;
}

/* Każdy kafelek odsłania WYŁĄCZNIE własna klasa z JS */
.js-enabled .value.is-visible {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    filter: blur(0) !important;
    transition-delay: 0s !important;
}


/* kasujemy wpływ starych opóźnień sekcji */
.js-enabled .values.is-visible .value:nth-child(1),
.js-enabled .values.is-visible .value:nth-child(2),
.js-enabled .values.is-visible .value:nth-child(3),
.js-enabled .values.is-visible .value:nth-child(4),
.js-enabled .values.is-visible .value:nth-child(5) {
    transition-delay: 0s !important;
}


@media (max-width:700px) {

    .js-enabled .value {
        transform: translateY(60px) scale(.95) !important;
    }

    .js-enabled .value.is-visible {
        transform: translateY(0) scale(1) !important;
    }
}


@media (prefers-reduced-motion:reduce) {

    .js-enabled .value {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}



/* HERO — LANGUAGE SEQUENCE */

.js-enabled .hero-launch-item {
    opacity: 0;
    transform: translateY(38px);
    filter: blur(5px);

    transition:
        opacity 1.25s cubic-bezier(.16,1,.3,1),
        transform 1.35s cubic-bezier(.16,1,.3,1),
        filter 1.05s ease;
}

.js-enabled .hero-launch-item.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

@media (max-width:700px) {
    .js-enabled .hero-launch-item {
        transform: translateY(28px);
    }

    .js-enabled .hero-launch-item.is-visible {
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion:reduce) {
    .js-enabled .hero-launch-item {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}



/* GLOBAL PROOF — INDIVIDUAL STAT REVEAL */

.js-enabled .proof .stat {
    opacity: 0;
    transform: translateY(55px) scale(.97);
    filter: blur(5px);

    transition:
        opacity 1.25s cubic-bezier(.16,1,.3,1),
        transform 1.35s cubic-bezier(.16,1,.3,1),
        filter 1.05s ease,
        background .35s ease;
}

.js-enabled .proof .stat.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

@media (hover:hover) {
    .js-enabled .proof .stat.is-visible:hover {
        transform: translateY(-4px) scale(1);
    }
}

@media (max-width:700px) {
    .js-enabled .proof .stat {
        transform: translateY(38px) scale(.98);
    }

    .js-enabled .proof .stat.is-visible {
        transform: translateY(0) scale(1);
    }
}

@media (prefers-reduced-motion:reduce) {
    .js-enabled .proof .stat {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}



/* TECHNOLOGY FEATURES — SEQUENTIAL REVEAL */

.js-enabled .technology-features > div {
    opacity: 0;
    transform: translateX(-32px);
    filter: blur(4px);

    transition:
        opacity 1.1s cubic-bezier(.16,1,.3,1),
        transform 1.25s cubic-bezier(.16,1,.3,1),
        filter .9s ease,
        border-color .35s ease;
}

.js-enabled .technology-features > div.is-visible {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
}

@media (max-width:700px) {
    .js-enabled .technology-features > div {
        transform: translateY(24px);
    }

    .js-enabled .technology-features > div.is-visible {
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion:reduce) {
    .js-enabled .technology-features > div {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}


/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .js-enabled .reveal {
        opacity: 1;
        transform: none;
    }
}


/* FOOTER — TYPOGRAPHY FINAL */

.site-footer > p {
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .16em;
}

.site-footer .copyright {
    font-size: 10px;
}

.site-footer p i {
    width: 4px;
    height: 4px;
}

@media (max-width:700px) {
    .site-footer > p {
        font-size: 9px;
        line-height: 1.6;
    }

    .site-footer .copyright {
        font-size: 8px;
    }
}



/* FOOTER — BACK TO TOP ALIGNMENT FIX */

.site-footer .footer-end {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    gap: 16px;
    white-space: nowrap;
}

.site-footer .footer-end .copyright {
    display: block;
    margin: 0;
    color: rgba(255,255,255,.32);
    font-size: 9px;
    letter-spacing: .08em;
}

.site-footer .footer-back-top {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding-left: 16px;

    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .10em;
}

.site-footer .footer-back-top::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 12px;
    background: rgba(216,169,40,.35);
    transform: translateY(-50%);
}

.site-footer .footer-back-top span {
    color: var(--gold);
    font-size: 12px;
}

@media (max-width:700px) {
    .site-footer .footer-end {
        justify-self: center;
        justify-content: center;
        gap: 12px;
    }

    .site-footer .footer-end .copyright,
    .site-footer .footer-back-top {
        font-size: 8px;
    }
}



/* FOOTER — MOBILE FINAL CLEAN */

@media (max-width:700px) {

    .site-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        min-height: 0;

        padding:
            38px
            var(--page-padding)
            42px;

        gap: 22px;

        text-align: center;
    }

    .site-footer .footer-brand {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .site-footer .footer-logo {
        display: block;
        width: auto;
        height: 42px;
        max-width: 180px;
    }

    /*
     * PEOPLE • CARS • A BRIGHTER TOMORROW
     * Nadpisuje regułę tabletową, która go ukrywa.
     */
    .site-footer > p:not(.copyright) {
        display: flex;
        grid-column: auto;
        grid-row: auto;

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

        width: 100%;
        margin: 0;

        gap: 9px;

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

        font-size: 8px;
        line-height: 1.5;
        font-weight: 750;
        letter-spacing: .11em;

        white-space: nowrap;
    }

    .site-footer p i {
        width: 3px;
        height: 3px;
        flex: 0 0 3px;
    }

    .site-footer .footer-end {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        justify-self: auto;

        width: 100%;
        gap: 13px;

        white-space: normal;
    }

    .site-footer .footer-end .copyright {
        display: block;

        margin: 0;

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

        font-size: 7px;
        line-height: 1.4;
        letter-spacing: .08em;

        text-align: center;
    }

    .site-footer .footer-back-top {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        margin: 0;
        padding: 0;

        gap: 7px;

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

        font-size: 8px;
        font-weight: 800;
        letter-spacing: .10em;
    }

    .site-footer .footer-back-top::before {
        display: none;
    }

    .site-footer .footer-back-top span:last-child {
        color: var(--gold);
        font-size: 12px;
    }
}



/* MOBILE HERO — ACTIVE LANGUAGE ONLY */

@media (max-width:700px) {

    /*
     * Mobile pokazuje tylko komunikat odpowiadający
     * językowi wybranemu w headerze.
     *
     * 1 = PL
     * 2 = EN
     * 3 = DE
     */
    .hero-launch .hero-launch-item {
        display: none;
    }

    html[data-lang="pl"]
    .hero-launch .hero-launch-item:nth-child(1),

    html[data-lang="en"]
    .hero-launch .hero-launch-item:nth-child(2),

    html[data-lang="de"]
    .hero-launch .hero-launch-item:nth-child(3) {
        display: block;
    }

    /*
     * Jedna karta zamiast trzech —
     * mocniejsza kompozycja pierwszego ekranu.
     */
    .hero-launch {
        margin: -54px 20px 0;
        border-top: 1px solid rgba(216,169,40,.72);
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .hero-launch .hero-launch-item {
        min-height: 215px;
        padding: 31px 8px 30px;

        border: 0;
    }

    .hero-launch .hero-launch-item:first-child {
        padding-top: 31px;
        border-top: 0;
    }

    .hero-launch-flag {
        width: 34px;
        height: 22px;
        margin-bottom: 15px;
    }

    .hero-launch h1,
    .hero-launch h2 {
        max-width: 280px;

        font-size: clamp(31px, 9.7vw, 39px);
        line-height: .90;
        letter-spacing: -.05em;
    }

    .hero-launch p {
        max-width: 270px;
        margin-top: 16px;

        font-size: 8px;
        line-height: 1.6;
        letter-spacing: .09em;
    }
}



/* MOBILE HERO — CINEMATIC INTRO */

@media (max-width:700px) {

    .js-enabled .hero-background {
        overflow: hidden;
    }

    .js-enabled .hero-image {
        opacity: 0;
        transform: scale(1.075);
        filter: brightness(.58) blur(2px);

        animation:
            mobileHeroImageIn
            1.65s
            cubic-bezier(.16,1,.3,1)
            .10s
            forwards;
    }

    .js-enabled .site-header {
        opacity: 0;
        transform: translateY(-18px);

        animation:
            mobileHeroHeaderIn
            .9s
            cubic-bezier(.16,1,.3,1)
            .45s
            forwards;
    }

    .js-enabled .hero-launch {
        opacity: 0;
        transform: translateY(30px);

        animation:
            mobileHeroPanelIn
            1.05s
            cubic-bezier(.16,1,.3,1)
            .85s
            forwards;
    }

    .js-enabled .mobile-cta {
        opacity: 0;
        transform: translateY(100%);

        animation:
            mobileHeroCtaIn
            .8s
            cubic-bezier(.16,1,.3,1)
            1.25s
            forwards;
    }
}


@keyframes mobileHeroImageIn {
    from {
        opacity: 0;
        transform: scale(1.075);
        filter: brightness(.58) blur(2px);
    }

    to {
        opacity: 1;
        transform: scale(1);
        filter: brightness(1) blur(0);
    }
}


@keyframes mobileHeroHeaderIn {
    from {
        opacity: 0;
        transform: translateY(-18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes mobileHeroPanelIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes mobileHeroCtaIn {
    from {
        opacity: 0;
        transform: translateY(100%);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@media (max-width:700px) and
(prefers-reduced-motion:reduce) {

    .js-enabled .hero-image,
    .js-enabled .site-header,
    .js-enabled .hero-launch,
    .js-enabled .mobile-cta {
        opacity: 1;
        transform: none;
        filter: none;
        animation: none;
    }
}



/* DESKTOP HERO — CINEMATIC INTRO */

@media (min-width:701px) {

    /* TŁO — powolne otwarcie kadru */
    .js-enabled .hero-image {
        opacity: 0;
        transform: scale(1.09);
        filter: brightness(.48) blur(3px);

        animation:
            desktopHeroImageIn
            1.8s
            cubic-bezier(.16,1,.3,1)
            .05s
            forwards;
    }

    /* HEADER */
    .js-enabled .site-header {
        opacity: 0;
        transform: translateY(-24px);

        animation:
            desktopHeroHeaderIn
            .9s
            cubic-bezier(.16,1,.3,1)
            .40s
            forwards;
    }

    /* DELIKATNE ŚWIATŁO / GRID */
    .js-enabled .hero-glow,
    .js-enabled .hero-grid {
        opacity: 0;

        animation:
            desktopHeroAtmosphereIn
            1.4s
            ease
            .65s
            forwards;
    }

    /* FOLIA — wjeżdża z prawej */
    .js-enabled .hero-film-overlay {
        opacity: 0;
        transform:
            translate3d(150px, 35px, 0)
            rotate(3deg)
            scale(.94);

        animation:
            desktopHeroFilmIn
            1.45s
            cubic-bezier(.16,1,.3,1)
            .72s
            forwards;
    }

    /* GŁÓWNA TREŚĆ HERO */
    .js-enabled .hero-content {
        opacity: 0;
        transform: translateY(34px);

        animation:
            desktopHeroContentIn
            1.15s
            cubic-bezier(.16,1,.3,1)
            .82s
            forwards;
    }
}


@keyframes desktopHeroImageIn {
    from {
        opacity: 0;
        transform: scale(1.09);
        filter: brightness(.48) blur(3px);
    }

    to {
        opacity: 1;
        transform: scale(1.015);
        filter: brightness(1) blur(0);
    }
}


@keyframes desktopHeroHeaderIn {
    from {
        opacity: 0;
        transform: translateY(-24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes desktopHeroAtmosphereIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


@keyframes desktopHeroFilmIn {
    from {
        opacity: 0;
        transform:
            translate3d(150px, 35px, 0)
            rotate(3deg)
            scale(.94);
    }

    to {
        opacity: .88;
        transform:
            translate3d(0, 0, 0)
            rotate(-2deg)
            scale(1);
    }
}


@keyframes desktopHeroContentIn {
    from {
        opacity: 0;
        transform: translateY(34px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@media (min-width:701px) and
(prefers-reduced-motion:reduce) {

    .js-enabled .hero-image,
    .js-enabled .site-header,
    .js-enabled .hero-glow,
    .js-enabled .hero-grid,
    .js-enabled .hero-film-overlay,
    .js-enabled .hero-content {
        opacity: revert;
        transform: revert;
        filter: revert;
        animation: none;
    }
}



/* DESKTOP PARTNER CTA — ACTIVE LANGUAGE */

@media (min-width:701px) {

    .hero-partner-label {
        align-self: stretch;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        transition:
            background .35s ease,
            color .35s ease,
            box-shadow .35s ease,
            transform .35s ease;
    }

    /*
     * Aktywny język = główne CTA.
     * 1 = PL, 2 = EN, 3 = DE.
     */
    html[data-lang="pl"]
    .hero-partner-label:nth-of-type(1),

    html[data-lang="en"]
    .hero-partner-label:nth-of-type(3),

    html[data-lang="de"]
    .hero-partner-label:nth-of-type(5) {
        background:
            linear-gradient(
                135deg,
                var(--gold-light),
                var(--gold)
            );

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

        box-shadow:
            0 0 32px rgba(216,169,40,.18),
            inset 0 1px rgba(255,255,255,.20);
    }

    html[data-lang="pl"]
    .hero-partner-label:nth-of-type(1) strong,

    html[data-lang="en"]
    .hero-partner-label:nth-of-type(3) strong,

    html[data-lang="de"]
    .hero-partner-label:nth-of-type(5) strong {
        color: #050505;
        font-size: clamp(12px, 1vw, 16px);
    }

    html[data-lang="pl"]
    .hero-partner-label:nth-of-type(1):hover,

    html[data-lang="en"]
    .hero-partner-label:nth-of-type(3):hover,

    html[data-lang="de"]
    .hero-partner-label:nth-of-type(5):hover {
        transform: translateY(-2px);
    }

    /*
     * Pozostałe języki zostają spokojniejsze,
     * żeby primary CTA było jednoznaczne.
     */
    .hero-partner-label:not(:hover) {
        border-color: transparent;
    }
}



/* DESKTOP PARTNER CTA — 3 LANG + EMAIL */

@media (min-width:701px) {

    .hero-partner-cta {
        grid-template-columns:
            minmax(150px, 1fr)
            1px
            minmax(150px, 1fr)
            1px
            minmax(150px, 1fr)
            minmax(300px, .95fr);

        padding-right: 0;
    }

    .hero-partner-email {
        grid-column: 6;
        align-self: stretch;

        justify-content: center;

        min-width: 300px;
        padding: 0 24px;

        border-left: 1px solid rgba(216,169,40,.55);
        background: rgba(0,0,0,.72);

        transform: none;
    }

    .hero-partner-email-icon {
        flex: 0 0 34px;
    }

    .hero-partner-email strong {
        font-size: clamp(12px, .95vw, 16px);
    }
}



/* DESKTOP PARTNER CTA — ABOVE FILM */

@media (min-width:701px) {
    .hero-partner-cta {
        z-index: 8;
    }
}



/* NICK GLOBAL — MOBILE FINAL */
@media (max-width:700px) {

    .proof {
        padding:
            82px
            22px
            76px;
    }

    .proof::before {
        top: 26px;
        right: -72px;
        font-size: 190px;
        opacity: .52;
    }

    .proof::after {
        left: 22px;
        height: 44px;
    }

    .proof-intro {
        gap: 22px;
    }

    .proof-intro .section-kicker {
        font-size: 9px;
        letter-spacing: .28em;
    }

    .proof-intro h2 {
        max-width: 340px;
        font-size: clamp(34px, 10.5vw, 44px);
        line-height: .92;
        letter-spacing: -.055em;
    }

    .proof-intro h2::before {
        margin-top: 24px;
        font-size: 6px;
        line-height: 1.5;
        letter-spacing: .17em;
    }

    .proof-intro h2::after {
        margin-top: 13px;
        font-size: 6px;
        line-height: 1.5;
        letter-spacing: .16em;
    }

    .proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 48px;
        border-top-color: rgba(216,169,40,.34);
    }

    .stat {
        min-height: 154px;
        padding: 27px 14px 23px;
    }

    .stat strong {
        font-size: clamp(39px, 11.5vw, 50px);
        line-height: .86;
    }

    .stat span {
        max-width: 135px;
        margin-top: 17px;
        font-size: 9px;
        line-height: 1.42;
        letter-spacing: .015em;
    }

    .stat::before {
        width: 26px;
    }
}


/* TECHNOLOGY — MOBILE FINAL */
@media (max-width:700px) {

    .technology {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .technology-copy {
        padding:
            88px
            22px
            72px;
    }

    .technology-copy .section-kicker {
        font-size: 9px;
        letter-spacing: .28em;
    }

    .technology h2 {
        margin-top: 24px;
        font-size: clamp(38px, 11vw, 48px);
        line-height: .91;
        letter-spacing: -.055em;
    }

    .technology-copy > p:not(.section-kicker) {
        margin-top: 28px;
        font-size: 13px;
        line-height: 1.7;
    }

    .technology-features {
        margin-top: 42px;
    }

    .technology-features > div {
        grid-template-columns: 42px 1fr;
        min-height: 58px;
    }

    .technology-features p {
        font-size: 10px;
        line-height: 1.45;
    }

    .technology-visual {
        min-height: 460px;
        border-top: 1px solid rgba(255,255,255,.10);
        border-left: 0;
    }

    .technology-visual::before {
        top: 11%;
        right: -20%;
        font-size: 175px;
        opacity: .72;
    }

    .film-sheet-front {
        top: 43%;
        left: 50%;
        width: 118%;
        max-width: none;
        height: 78%;
        opacity: .90;
        transform:
            translate(-50%,-50%)
            rotate(-4deg);
    }

    .technology-badge {
        right: 22px;
        bottom: 25px;
        width: 170px;
        min-width: 0;
        padding-top: 12px;
    }

    .technology-badge::before {
        margin-bottom: 9px;
        font-size: 7px;
    }

    .technology-badge strong {
        font-size: 21px;
    }

    .technology-badge span {
        margin-top: 7px;
        font-size: 7px;
    }
}


/* PRODUCTS — MOBILE FINAL */
@media (max-width:700px) {

    .products {
        padding: 82px 22px 88px;
    }

    .products::before {
        top: 70px;
        right: -48px;
        font-size: 170px;
        opacity: .72;
    }

    .products-heading {
        gap: 28px;
        margin-bottom: 46px;
    }

    .products .section-kicker {
        margin-bottom: 19px;
        font-size: 9px;
        letter-spacing: .28em;
    }

    .products h2 {
        max-width: 340px;
        font-size: clamp(38px, 10.8vw, 47px);
        line-height: .91;
        letter-spacing: -.055em;
    }

    .products-heading > p {
        max-width: 320px;
        padding: 20px 0 0 16px;
        font-size: 12px;
        line-height: 1.65;
    }

    .products-heading > p::before {
        left: 16px;
        font-size: 6px;
        letter-spacing: .20em;
    }

    .product-grid {
        grid-template-columns: 1fr;
        margin-top: 0;
        border-bottom: 0;
    }

    .product-card,
    .product-card:first-child {
        min-height: 275px;
        padding: 25px 22px;
        border-right: 1px solid rgba(255,255,255,.12);
        border-bottom: 1px solid rgba(255,255,255,.12);
        border-left: 1px solid rgba(255,255,255,.12);
    }

    .product-card::before {
        top: 8%;
        left: 52%;
        width: 82%;
    }

    .product-index {
        font-size: 8px;
    }

    .product-card h3 {
        max-width: 270px;
        margin: auto 0 13px;
        font-size: clamp(28px, 8.5vw, 36px);
        line-height: .93;
    }

    .product-card p {
        max-width: 275px;
        min-height: 0;
        margin: 0 0 21px;
        font-size: 11px;
        line-height: 1.55;
    }

    .js-enabled .product-card {
        transform: translateY(42px);
    }
}


/* EUROPE — MOBILE FINAL */
@media (max-width:700px) {

    .europe {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 76px 22px 88px;
    }

    .europe-map {
        min-height: 275px;
        margin-bottom: 30px;
    }

    .europe-map::before {
        left: 50%;
        width: 260px;
        box-shadow:
            0 0 0 26px rgba(216,169,40,.015),
            0 0 58px rgba(216,169,40,.035);
    }

    .europe-map::after {
        left: 50%;
        width: 195px;
    }

    .map-outline {
        width: 100%;
        margin: 0;
        font-size: clamp(70px,22vw,94px);
        text-align: center;
        transform:
            rotate(-5deg)
            skewX(-4deg);
    }

    .map-outline::before {
        top: -28px;
        left: 50%;
        font-size: 6px;
        transform:
            translateX(-50%)
            rotate(5deg)
            skewX(4deg);
    }

    .europe-content {
        max-width: 100%;
        padding: 30px 0 0;
    }

    .europe-content::before {
        top: 0;
        right: auto;
        bottom: auto;
        left: 0;
        width: 44px;
        height: 1px;
        background: var(--gold);
    }

    .europe .section-kicker {
        margin-bottom: 21px;
        font-size: 9px;
        letter-spacing: .28em;
    }

    .europe h2 {
        max-width: 340px;
        font-size: clamp(38px,10.7vw,47px);
        line-height: .91;
        letter-spacing: -.055em;
    }

    .europe-content > p:not(.section-kicker) {
        max-width: 335px;
        margin-top: 27px;
        font-size: 12px;
        line-height: 1.68;
    }

    .europe-languages {
        gap: 7px;
        margin-top: 32px;
    }

    .europe-languages span {
        flex: 1;
        min-width: 0;
        padding: 11px 6px;
        font-size: 7px;
        letter-spacing: .10em;
    }

    .js-enabled .europe-map {
        transform:
            translateY(48px)
            scale(.95);
    }

    .js-enabled .europe-map.is-visible {
        transform:
            translateY(0)
            scale(1);
    }

    .js-enabled .europe-content {
        transform: translateY(44px);
    }

    .js-enabled .europe-content.is-visible {
        transform: translateY(0);
    }
}


/* VALUES — MOBILE FINAL */
@media (max-width:700px) {

    .values {
        grid-template-columns: repeat(2, minmax(0,1fr));
        padding: 46px 22px 76px;
    }

    .values::before {
        top: 19px;
        left: 22px;
        font-size: 6px;
        letter-spacing: .22em;
    }

    .value,
    .value:first-child {
        min-height: 205px;
        padding: 34px 10px 28px;
        border-left: 1px solid rgba(255,255,255,.09);
        border-right: 1px solid rgba(255,255,255,.09);
        border-bottom: 1px solid rgba(255,255,255,.09);
    }

    .value-icon {
        width: 58px;
        height: 58px;
        font-size: 34px;
    }

    .value h3 {
        margin-top: 20px;
        font-size: 10px;
        line-height: 1.15;
        letter-spacing: .10em;
    }

    .value p {
        margin-top: 9px;
        font-size: 7px;
        line-height: 1.4;
        letter-spacing: .045em;
    }

    .value:last-child {
        grid-column: 1 / -1;
        min-height: 185px;
    }

    .js-enabled .value {
        transform: translateY(48px) scale(.96) !important;
    }

    .js-enabled .value.is-visible {
        transform: translateY(0) scale(1) !important;
    }
}


/* PARTNER — MOBILE FINAL */
@media (max-width:700px) {

    .partner {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 52px;
        padding: 82px 22px 78px;
    }

    .partner::before {
        right: -65px;
        bottom: -15px;
        font-size: 205px;
        opacity: .72;
    }

    .partner::after {
        top: 0;
        left: 22px;
        width: 1px;
        height: 46px;
    }

    .partner-glow {
        top: 70%;
        left: 70%;
        width: 90vw;
        height: 90vw;
    }

    .partner-copy {
        max-width: 100%;
    }

    .partner .section-kicker {
        margin-bottom: 22px;
        font-size: 9px;
        letter-spacing: .28em;
    }

    .partner h2 {
        max-width: 345px;
        font-size: clamp(38px,10.8vw,47px);
        line-height: .91;
        letter-spacing: -.055em;
    }

    .partner-copy > p:not(.section-kicker) {
        max-width: 335px;
        margin-top: 27px;
        font-size: 12px;
        line-height: 1.7;
    }

    .partner-contact {
        grid-template-columns: minmax(0,1fr) auto;
        min-height: 150px;
        padding: 28px 0 27px;
    }

    .partner-contact small {
        font-size: 7px;
        letter-spacing: .20em;
    }

    .partner-contact strong {
        margin-top: 14px;
        font-size: clamp(25px,7.8vw,32px);
        line-height: 1;
    }

    .partner-contact > span {
        width: 48px;
        height: 48px;
        margin: 12px 0 0 14px;
        font-size: 22px;
    }
}


/* FOOTER — MOBILE CTA SAFE AREA FIX */
@media (max-width:700px) {
    .site-footer {
        padding-bottom: 110px;
    }
}


/* CONTACT FLOAT + MODAL */

.contact-float {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 900;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(201, 164, 92, .75);
    border-radius: 50%;
    background: rgba(12, 12, 12, .92);
    color: #c9a45c;
    font: inherit;
    font-size: 23px;
    cursor: pointer;
    box-shadow:
        0 14px 40px rgba(0, 0, 0, .35),
        0 0 0 1px rgba(201, 164, 92, .08);
    backdrop-filter: blur(12px);
    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.contact-float:hover {
    transform: translateY(-4px);
    background: #c9a45c;
    color: #080808;
    border-color: #c9a45c;
}

.contact-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.contact-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.contact-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(8px);
}

.contact-modal-panel {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 58px 54px 52px;
    border: 1px solid rgba(201, 164, 92, .30);
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(201, 164, 92, .10),
            transparent 42%
        ),
        #0b0b0b;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .65);
    transform: translateY(24px) scale(.98);
    transition: transform .35s ease;
}

.contact-modal.is-open .contact-modal-panel {
    transform: translateY(0) scale(1);
}

.contact-modal-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.contact-modal-panel .section-kicker {
    margin: 0 0 17px;
    color: #c9a45c;
    font-size: 9px;
    letter-spacing: .28em;
}

.contact-modal-panel h2 {
    margin: 0 0 38px;
    color: #fff;
    font-size: clamp(38px, 5vw, 58px);
    line-height: .95;
    letter-spacing: -.045em;
}

.contact-form {
    display: grid;
    gap: 25px;
}

.contact-form label {
    display: grid;
    gap: 9px;
}

.contact-form label > span {
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    letter-spacing: .20em;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    border-radius: 0;
    outline: 0;
    padding: 11px 0 13px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 16px;
    transition: border-color .2s ease;
}

.contact-form textarea {
    min-height: 105px;
    resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #c9a45c;
}

.contact-form-submit {
    min-height: 58px;
    margin-top: 8px;
    padding: 0 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #c9a45c;
    background: #c9a45c;
    color: #090909;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    cursor: pointer;
    transition:
        background .2s ease,
        color .2s ease;
}

.contact-form-submit:hover {
    background: transparent;
    color: #c9a45c;
}

.contact-form-submit span {
    font-size: 20px;
}

.contact-form-status {
    min-height: 18px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 11px;
    line-height: 1.5;
}

body.contact-modal-open {
    overflow: hidden;
}

@media (max-width:700px) {
    .contact-float {
        right: 18px;
        bottom: 92px;
        width: 54px;
        height: 54px;
        font-size: 20px;
    }

    .contact-modal {
        padding: 14px;
    }

    .contact-modal-panel {
        max-height: calc(100dvh - 28px);
        padding: 50px 24px 34px;
    }

    .contact-modal-panel h2 {
        margin-bottom: 30px;
        font-size: 39px;
    }

    .contact-form {
        gap: 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-float,
    .contact-modal,
    .contact-modal-panel {
        transition: none;
    }
}

/* CONTACT FORM STATUS */

.contact-form-status.is-success {
    color: #55d978;
    font-weight: 600;
}

.contact-form-status.is-error {
    color: #ff6b6b;
    font-weight: 600;
}

/* CONTACT FLOAT — SHOW AFTER SCROLL */

.contact-float {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(18px);
}

.contact-float.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.contact-float.is-visible:hover {
    transform: translateY(-4px);
}

/* CONTACT BUSINESS FORM */

.contact-modal-panel {
    width: min(820px, 100%);
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px 28px;
}

.contact-field {
    min-width: 0;
}

.contact-field-wide {
    grid-column: 1 / -1;
}

.contact-field > span,
.contact-radio > legend {
    display: block;
    margin-bottom: 9px;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .16em;
}

.contact-radio {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.contact-radio > div {
    min-height: 45px;
    display: flex;
    align-items: center;
    gap: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.contact-radio label {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.contact-radio label > span {
    margin: 0;
    color: #fff;
    font-size: 14px;
    letter-spacing: .04em;
}

.contact-radio input {
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #c9a45c;
}

.contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.contact-form-submit {
    width: min(280px, 100%);
}

@media (max-width:700px) {
    .contact-form-grid {
        grid-template-columns: 1fr;
        gap: 21px;
    }

    .contact-field-wide {
        grid-column: auto;
    }

    .contact-modal-panel {
        padding-top: 50px;
    }

    .contact-radio > div {
        min-height: 42px;
    }

    .contact-form-submit {
        width: 100%;
    }
}

/* CONTACT BUSINESS FORM — COMPACT DESKTOP */

@media (min-width:701px) {
    .contact-modal {
        padding: 18px;
    }

    .contact-modal-panel {
        width: min(820px, 100%);
        max-height: calc(100vh - 36px);
        padding: 34px 42px 30px;
    }

    .contact-modal-panel .section-kicker {
        margin-bottom: 10px;
    }

    .contact-modal-panel h2 {
        margin-bottom: 24px;
        font-size: clamp(34px, 4vw, 46px);
    }

    .contact-form {
        gap: 18px;
    }

    .contact-form-grid {
        gap: 16px 22px;
    }

    .contact-field > span,
    .contact-radio > legend {
        margin-bottom: 5px;
        font-size: 9px;
    }

    .contact-form input,
    .contact-form textarea {
        padding-top: 8px;
        padding-bottom: 8px;
        font-size: 14px;
    }

    .contact-form input {
        min-height: 36px;
    }

    .contact-radio > div {
        min-height: 36px;
    }

    .contact-form textarea {
        min-height: 58px;
        max-height: 90px;
    }

    .contact-form-submit {
        min-height: 42px;
        width: 220px;
    }
}

/* CONTACT FLOAT — STRONGER CTA */

.contact-float,
.contact-float.is-visible {
    background: #f5c400;
    color: #111;
    border-color: #f5c400;
    box-shadow:
        0 12px 32px rgba(0, 0, 0, .35),
        0 0 24px rgba(245, 196, 0, .18);
}

.contact-float.is-visible:hover {
    background: #ffd21a;
    color: #080808;
    border-color: #ffd21a;
    transform: translateY(-4px) scale(1.05);
}


/* NICK MOBILE NAV — COMPONENT */

.mobile-header-actions {
    display: none;
}

.mobile-nav {
    display: none;
}

.mobile-nav-toggle {
    position: relative;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(216,169,40,.38);
    background: rgba(5,5,5,.62);
    color: var(--gold-light);
    cursor: pointer;
    backdrop-filter: blur(12px);
}

.mobile-nav-toggle::before,
.mobile-nav-toggle::after,
.mobile-nav-toggle span {
    content: "";
    position: absolute;
    left: 12px;
    width: 18px;
    height: 1px;
    background: currentColor;
    transition:
        transform .28s ease,
        top .28s ease,
        opacity .2s ease;
}

.mobile-nav-toggle::before {
    top: 14px;
}

.mobile-nav-toggle span {
    top: 21px;
}

.mobile-nav-toggle::after {
    top: 28px;
}

.mobile-nav[open] .mobile-nav-toggle::before {
    top: 21px;
    transform: rotate(45deg);
}

.mobile-nav[open] .mobile-nav-toggle span {
    opacity: 0;
}

.mobile-nav[open] .mobile-nav-toggle::after {
    top: 21px;
    transform: rotate(-45deg);
}

.mobile-nav-toggle::-webkit-details-marker {
    display: none;
}

.mobile-nav-toggle::marker {
    content: "";
}

.mobile-nav-panel {
    position: fixed;
    z-index: 99;
    top: 76px;
    right: 0;
    left: 0;

    display: grid;
    gap: 0;

    padding:
        22px
        var(--page-padding)
        28px;

    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(216,169,40,.22);

    background:
        radial-gradient(
            circle at 100% 0,
            rgba(216,169,40,.10),
            transparent 34%
        ),
        rgba(5,5,5,.97);

    box-shadow: 0 24px 60px rgba(0,0,0,.55);
    backdrop-filter: blur(20px);
}

.mobile-nav-panel a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 58px;

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

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

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.mobile-nav-panel a::after {
    content: "›";
    color: var(--gold);
    font-size: 20px;
    line-height: 1;
}

.mobile-nav-panel a:last-child {
    border-bottom: 0;
}

.mobile-nav-language {
    display: flex;
    gap: 8px;
    margin-top: 22px;
}

.mobile-nav-language .language-button {
    min-width: 44px;
    min-height: 38px;
    border: 1px solid rgba(255,255,255,.12);
}

@media (max-width: 900px) {

    .site-header {
        grid-template-columns: 1fr auto;
        min-height: 76px;
        padding:
            0
            clamp(18px, 5vw, 36px);
    }

    .brand-logo {
        height: 38px;
    }

    .site-header > .main-nav,
    .site-header > .header-actions {
        display: none;
    }

    .mobile-header-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        justify-self: end;
        margin-left: auto;
    }

    .mobile-language-switcher {
        display: flex;
        align-items: center;
        gap: 3px;
    }

    .mobile-language-switcher .language-button {
        min-width: 25px;
        min-height: 30px;
        padding: 0 3px;
        font-size: 9px;
    }

    .mobile-nav {
        display: block;
        flex: 0 0 auto;
    }
}

@media (max-width: 420px) {

    .mobile-nav-panel {
        top: 72px;
        padding:
            18px
            18px
            24px;
    }

    .mobile-nav-panel a {
        min-height: 54px;
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .mobile-nav-toggle::before,
    .mobile-nav-toggle::after,
    .mobile-nav-toggle span {
        transition: none;
    }
}

/* =========================================
   HERO — CERTAINTY SLOGAN V2
========================================= */

.hero-slogan {
    position: absolute;
    z-index: 9;

    right: clamp(230px, 18vw, 350px);
    bottom: 150px;
    left: clamp(70px, 7vw, 125px);

    pointer-events: none;
}


/* kicker */

.hero-slogan-kicker {
    margin: 0 0 19px;

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

    font-size: clamp(8px, .58vw, 11px);
    font-weight: 850;
    letter-spacing: .34em;

    opacity: 0;
    transform: translateY(14px);
}


/* headline */

.hero-slogan h1 {
    max-width: 1320px;
    margin: 0;

    color: #fff;

    font-size: clamp(47px, 5.35vw, 102px);
    font-weight: 950;
    line-height: .79;
    letter-spacing: -.065em;

    text-shadow:
        0 10px 38px rgba(0,0,0,.82);
}


.hero-slogan-line {
    --line-delay: .65s;

    position: relative;

    display: block;
    overflow: hidden;

    width: fit-content;
    max-width: 100%;

    padding:
        .05em
        .08em
        .09em
        0;
}


.hero-slogan-line:nth-child(2) {
    --line-delay: 1.20s;
}


.hero-slogan-line:nth-child(3) {
    --line-delay: 1.75s;

    margin-top: .16em;
}


.hero-slogan-line:nth-child(4) {
    --line-delay: 2.30s;
}


.hero-slogan-line > span {
    position: relative;
    z-index: 2;

    display: block;

    opacity: 0;

    transform:
        translate3d(0, 125%, 0)
        skewY(5deg);

    filter: blur(9px);
}


.hero-slogan-line--secondary {
    color: rgba(255,255,255,.92);
}


.hero-slogan-line--accent {
    color: var(--gold-light);

    text-shadow:
        0 0 36px rgba(216,169,40,.20),
        0 10px 38px rgba(0,0,0,.82);
}


/* złote cięcie przechodzące przez każdą linię */

.hero-slogan-line::after {
    content: "";

    position: absolute;
    z-index: 3;

    top: 50%;
    left: 0;

    width: 0;
    height: 2px;

    transform: translateY(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold-light) 20%,
            #fff3b7 50%,
            var(--gold) 78%,
            transparent
        );

    box-shadow:
        0 0 14px rgba(216,169,40,.58);

    opacity: 0;

    pointer-events: none;
}


/* dolna linia */

.hero-slogan-rule {
    display: block;

    width: 0;
    height: 1px;

    margin-top: 25px;

    background:
        linear-gradient(
            90deg,
            var(--gold-light),
            rgba(216,169,40,.50),
            transparent
        );

    opacity: 0;
}


/* =========================================
   PLAY
========================================= */

.hero-slogan--play .hero-slogan-kicker {
    animation:
        heroSloganKickerV2
        .65s
        ease
        .18s
        forwards;
}


.hero-slogan--play
.hero-slogan-line > span {
    animation:
        heroSloganLineV2
        1.12s
        cubic-bezier(.16,1,.3,1)
        var(--line-delay)
        forwards;
}


.hero-slogan--play
.hero-slogan-line::after {
    animation:
        heroSloganScanV2
        .92s
        cubic-bezier(.2,.75,.2,1)
        calc(var(--line-delay) - .16s)
        forwards;
}


.hero-slogan--play
.hero-slogan-rule {
    animation:
        heroSloganRuleV2
        1.05s
        cubic-bezier(.16,1,.3,1)
        3.35s
        forwards;
}


/* =========================================
   KEYFRAMES
========================================= */

@keyframes heroSloganKickerV2 {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes heroSloganLineV2 {

    0% {
        opacity: 0;

        transform:
            translate3d(0, 125%, 0)
            skewY(5deg);

        filter: blur(9px);
    }

    45% {
        opacity: 1;
    }

    100% {
        opacity: 1;

        transform:
            translate3d(0, 0, 0)
            skewY(0);

        filter: blur(0);
    }
}


@keyframes heroSloganScanV2 {

    0% {
        width: 0;
        opacity: 0;
    }

    18% {
        opacity: 1;
    }

    70% {
        width: 105%;
        opacity: .88;
    }

    100% {
        width: 115%;
        opacity: 0;
    }
}


@keyframes heroSloganRuleV2 {

    from {
        width: 0;
        opacity: 0;
    }

    to {
        width: min(420px, 34vw);
        opacity: 1;
    }
}


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

@media (max-width: 700px) {

    .hero-slogan {
        position: relative;

        right: auto;
        bottom: auto;
        left: auto;

        align-self: stretch;

        margin:
            -44px
            20px
            0;

        padding:
            31px
            0
            30px;

        border-top:
            1px solid rgba(216,169,40,.58);

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


    .hero-slogan-kicker {
        margin-bottom: 17px;

        font-size: 8px;
    }


    .hero-slogan h1 {
        max-width: 360px;

        font-size:
            clamp(
                34px,
                10.7vw,
                49px
            );

        line-height: .82;
    }


    .hero-slogan-line:nth-child(3) {
        margin-top: .20em;
    }


    .hero-slogan-rule {
        margin-top: 21px;
    }


    @keyframes heroSloganRuleV2 {

        from {
            width: 0;
            opacity: 0;
        }

        to {
            width: 145px;
            opacity: 1;
        }
    }
}


/* =========================================
   REDUCED MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .hero-slogan-kicker,
    .hero-slogan-line > span,
    .hero-slogan-rule {
        opacity: 1;
        transform: none;
        filter: none;
    }

    .hero-slogan-line::after {
        display: none;
    }

    .hero-slogan-rule {
        width: 220px;
    }
}

