/* =========================================================
   IRGO PRZELEWICE
   PREMIUM WEBSITE
========================================================= */

:root {

    --bg: #090908;
    --bg2: #11100e;
    --bg3: #191713;

    --cream: #f3eadb;
    --white: #fffaf2;

    --gold: #c99a52;
    --gold2: #efc77e;

    --red: #821f1a;

    --muted: #aaa196;

    --border:
        rgba(255,255,255,.11);

    --shadow:
        0 28px 80px
        rgba(0,0,0,.35);

    --radius: 30px;

    --max: 1280px;

}


/* =========================================================
   RESET
========================================================= */

* {

    box-sizing: border-box;
    margin: 0;
    padding: 0;

}


html {

    scroll-behavior: smooth;

}


body {

    background: var(--bg);

    color: var(--white);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    line-height: 1.55;

    overflow-x: hidden;

}


body.menu-open {

    overflow: hidden;

}


a {

    color: inherit;
    text-decoration: none;

}


button {

    font: inherit;

}


img {

    display: block;
    max-width: 100%;

}


.container {

    width:
        min(
            92%,
            var(--max)
        );

    margin-inline: auto;

}


section {

    padding: 115px 0;

}


/* =========================================================
   PROGRESS BAR
========================================================= */

#progress {

    position: fixed;

    top: 0;
    left: 0;

    width: 0;
    height: 3px;

    z-index: 5000;

    background:
        linear-gradient(
            90deg,
            var(--gold),
            var(--gold2),
            var(--red)
        );

}


/* =========================================================
   NAVIGATION
========================================================= */

.nav {

    position: fixed;

    top: 0;
    left: 0;
    right: 0;

    z-index: 1000;

    transition:
        background .3s ease,
        border-color .3s ease,
        backdrop-filter .3s ease;

}


.nav.scrolled {

    background:
        rgba(9,9,8,.87);

    backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid var(--border);

}


.nav-inner {

    min-height: 98px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 25px;

}


/* =========================================================
   LOGO
========================================================= */

.brand {

    display: inline-flex;

    align-items: center;

}


.logo-img {

    width: auto;
    height: 82px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 10px 20px
            rgba(0,0,0,.4)
        );

    transition:
        transform .25s ease;

}


.brand:hover .logo-img {

    transform:
        scale(1.05)
        rotate(-1deg);

}


/* =========================================================
   MENU
========================================================= */

.nav-links {

    display: flex;

    align-items: center;

    gap: 28px;

}


.nav-links a {

    color: #d3cbc0;

    font-size: .88rem;

    transition:
        color .2s ease;

}


.nav-links a:hover {

    color: var(--gold2);

}


.nav-order {

    padding:
        12px 20px;

    border-radius:
        999px;

    background:
        var(--cream);

    color:
        #17130f !important;

    font-weight:
        800;

}


.menu-btn {

    display: none;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    border:
        1px solid var(--border);

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

    color: white;

    cursor: pointer;

}


/* =========================================================
   SHARED TYPOGRAPHY
========================================================= */

.label {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color:
        var(--gold2);

    font-size: .72rem;

    font-weight: 800;

    letter-spacing: .22em;

    text-transform:
        uppercase;

}


.label::before {

    content: "";

    width: 35px;
    height: 1px;

    background:
        currentColor;

}


.title {

    max-width:
        980px;

    font-size:
        clamp(
            2.8rem,
            6vw,
            6rem
        );

    line-height: .95;

    letter-spacing:
        -.06em;

}


.title em {

    color:
        var(--gold2);

    font-family:
        Georgia,
        serif;

    font-weight: 400;

}


.intro {

    max-width: 660px;

    margin-top: 25px;

    color:
        var(--muted);

    font-size: 1.04rem;

}


/* =========================================================
   BUTTONS
========================================================= */

.btn {

    min-height: 55px;

    padding:
        0 27px;

    border:
        1px solid transparent;

    border-radius:
        999px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap: 10px;

    font-weight: 800;

    cursor: pointer;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;

}


.btn:hover {

    transform:
        translateY(-3px);

}


.btn-gold {

    background:
        var(--gold2);

    color:
        #17130e;

}


.btn-outline {

    border-color:
        rgba(
            255,
            255,
            255,
            .3
        );

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

    backdrop-filter:
        blur(10px);

}


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

.hero {

    min-height:
        100svh;

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content:
        flex-end;

    overflow: hidden;

    background:
        var(--bg);

}


.hero-slider {

    position: absolute;

    inset: 0;

    z-index: 0;

}


.hero-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transform:
        scale(1.08);

    background-position:
        center;

    background-size:
        cover;

    background-repeat:
        no-repeat;

    transition:

        opacity
        1.5s
        ease,

        transform
        7s
        ease;

}


.hero-slide.active {

    opacity: 1;

    transform:
        scale(1);

}


.hero-overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:

        linear-gradient(
            90deg,

            rgba(6,6,5,.97)
            0%,

            rgba(6,6,5,.80)
            40%,

            rgba(6,6,5,.38)
            72%,

            rgba(6,6,5,.17)
            100%
        ),

        linear-gradient(
            0deg,

            var(--bg)
            0%,

            transparent
            45%
        );

}


.hero-glow {

    position: absolute;

    z-index: 1;

    width: 650px;
    height: 650px;

    right: -150px;
    top: 80px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(201,154,82,.13),
            transparent 68%
        );

    animation:
        breathe
        7s
        ease-in-out
        infinite;

    pointer-events: none;

}


@keyframes breathe {

    50% {

        transform:
            scale(1.18);

        opacity:
            .55;

    }

}


.hero-content {

    position: relative;

    z-index: 3;

    max-width:
        1000px;

    padding:
        190px 0 85px;

}


.kicker {

    display: flex;

    align-items:
        center;

    gap: 15px;

    margin-bottom:
        28px;

    color:
        var(--gold2);

    font-size:
        .72rem;

    font-weight:
        800;

    letter-spacing:
        .28em;

    text-transform:
        uppercase;

}


.kicker::before {

    content: "";

    width: 55px;

    height: 1px;

    background:
        currentColor;

}


.hero h1 {

    font-size:
        clamp(
            4.2rem,
            10vw,
            9rem
        );

    line-height:
        .8;

    letter-spacing:
        -.07em;

}


.hero h1 span {

    display: block;

    margin-top:
        27px;

    color:
        var(--gold2);

    font-family:
        Georgia,
        serif;

    font-style:
        italic;

    font-weight:
        400;

}


.hero-description {

    max-width:
        590px;

    margin-top:
        40px;

    color:
        #cec6bb;

    font-size:
        1.12rem;

}


.hero-buttons {

    display: flex;

    flex-wrap:
        wrap;

    gap: 14px;

    margin-top:
        38px;

}


.hero-dots {

    position: absolute;

    z-index: 10;

    right: 5%;

    bottom: 135px;

    display: flex;

    align-items:
        center;

    gap: 8px;

}


.hero-dot {

    width: 9px;
    height: 9px;

    padding: 0;

    border: 0;

    border-radius:
        50%;

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

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease;

}


.hero-dot.active {

    width: 30px;

    border-radius:
        999px;

    background:
        var(--gold2);

}


.hero-stats {

    position: relative;

    z-index: 3;

    display: grid;

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

    border-top:
        1px solid var(--border);

}


.stat {

    padding:
        26px 30px;

    border-right:
        1px solid var(--border);

    backdrop-filter:
        blur(10px);

}


.stat strong {

    display: block;

    color:
        var(--gold2);

}


.stat span {

    color:
        #91887c;

    font-size:
        .8rem;

}


/* =========================================================
   MARQUEE
========================================================= */

.marquee {

    overflow:
        hidden;

    padding:
        19px 0;

    background:
        var(--bg2);

    border-block:
        1px solid var(--border);

}


.marquee-track {

    width:
        max-content;

    display:
        flex;

    animation:
        marquee
        27s
        linear
        infinite;

}


.marquee-content {

    display: flex;

    align-items:
        center;

    gap: 30px;

    padding-right:
        30px;

    white-space:
        nowrap;

    color:
        #8d8579;

    font-size:
        .7rem;

    font-weight:
        800;

    letter-spacing:
        .22em;

}


.marquee-content b {

    color:
        var(--red);

}


@keyframes marquee {

    to {

        transform:
            translateX(-50%);

    }

}


/* =========================================================
   PRODUCTS
========================================================= */

.product-heading {

    display: flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap: 50px;

    margin-bottom:
        60px;

}


.product-heading .intro {

    max-width:
        390px;

}


.products {

    display: grid;

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

    gap: 20px;

}


.product {

    min-height:
        560px;

    position:
        relative;

    overflow:
        hidden;

    border-radius:
        var(--radius);

    border:
        1px solid var(--border);

    background:
        var(--bg3);

    box-shadow:
        var(--shadow);

}


.product:nth-child(1),
.product:nth-child(4) {

    grid-column:
        span 7;

}


.product:nth-child(2),
.product:nth-child(3) {

    grid-column:
        span 5;

}


.product img {

    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform
        .8s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        );

}


.product:hover img {

    transform:
        scale(1.06);

}


.product::after {

    content: "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            0deg,

            rgba(
                5,
                5,
                4,
                .98
            ),

            transparent
            75%
        );

}


.product-copy {

    position:
        absolute;

    z-index: 2;

    left: 34px;

    right: 34px;

    bottom: 34px;

}


.product-copy small {

    color:
        var(--gold2);

    letter-spacing:
        .17em;

    font-weight:
        800;

}


.product-copy h3 {

    margin-top:
        8px;

    font-size:
        clamp(
            2rem,
            4vw,
            3.6rem
        );

    line-height:
        .95;

    letter-spacing:
        -.05em;

}


.product-copy p {

    max-width:
        430px;

    margin-top:
        12px;

    color:
        #aaa196;

}


/* =========================================================
   STORY
========================================================= */

.story {

    background:
        radial-gradient(
            circle at 85% 50%,

            rgba(
                130,
                31,
                26,
                .13
            ),

            transparent 35%
        );

}


.story-grid {

    display: grid;

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

    gap: 85px;

    align-items:
        center;

}


.story-photo {

    min-height:
        690px;

    border-radius:
        35px;

    background:

        linear-gradient(
            0deg,

            rgba(
                0,
                0,
                0,
                .7
            ),

            transparent
            45%
        ),

        url("../images/historia.webp")

        center / cover;

    box-shadow:
        var(--shadow);

}


.story-copy p {

    max-width:
        590px;

    margin-top:
        20px;

    color:
        var(--muted);

}


.timeline {

    margin-top:
        40px;

    padding-left:
        28px;

    border-left:
        1px solid
        rgba(
            201,
            154,
            82,
            .4
        );

}


.timeline-item {

    position:
        relative;

    padding:
        0 0 29px 8px;

}


.timeline-item::before {

    content: "";

    position:
        absolute;

    left:
        -33px;

    top:
        7px;

    width:
        10px;

    height:
        10px;

    border-radius:
        50%;

    background:
        var(--gold2);

}


.timeline-item strong {

    display:
        block;

}


.timeline-item span {

    color:
        #81796f;

    font-size:
        .8rem;

}


/* =========================================================
   GOOGLE REVIEWS
========================================================= */

.google-reviews {

    position:
        relative;

    overflow:
        hidden;

    background:

        radial-gradient(
            circle at 10% 30%,
            rgba(201,154,82,.10),
            transparent 30%
        ),

        radial-gradient(
            circle at 90% 80%,
            rgba(130,31,26,.12),
            transparent 30%
        ),

        var(--bg);

}


.google-reviews::before {

    content:
        "★★★★★";

    position:
        absolute;

    top:
        30px;

    right:
        -30px;

    color:
        rgba(
            239,
            199,
            126,
            .025
        );

    font-size:
        12rem;

    letter-spacing:
        -.08em;

    pointer-events:
        none;

}


.reviews-heading {

    display: grid;

    grid-template-columns:
        1fr auto;

    align-items:
        flex-end;

    gap:
        60px;

    margin-bottom:
        55px;

}


.google-score {

    min-width:
        270px;

    padding:
        28px;

    border-radius:
        24px;

    border:
        1px solid var(--border);

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

    box-shadow:
        var(--shadow);

}


.google-logo {

    margin-bottom:
        16px;

    font-size:
        1.1rem;

    font-weight:
        700;

    color:
        #ddd5ca;

}


.google-logo .g {

    display:
        inline-grid;

    place-items:
        center;

    width:
        28px;

    height:
        28px;

    margin-right:
        5px;

    border-radius:
        50%;

    background:
        white;

    color:
        #4285f4;

    font-weight:
        900;

}


.score-row {

    display:
        flex;

    align-items:
        center;

    gap:
        18px;

}


.score-row > strong {

    color:
        white;

    font-family:
        Georgia,
        serif;

    font-size:
        3rem;

    line-height:
        1;

}


.stars,
.review-stars,
.trust-stars {

    color:
        var(--gold2);

    letter-spacing:
        3px;

}


.score-row span {

    display:
        block;

    margin-top:
        3px;

    color:
        var(--muted);

    font-size:
        .74rem;

}


.reviews-grid {

    display:
        flex;

    align-items:
        stretch;

    gap:
        18px;

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

    will-change:
        transform;

}


.google-reviews .container {

    overflow:
        hidden;

}


.review-card {

    flex:
        0 0
        calc(
            (100% - 36px)
            /
            3
        );

}


.review-card {

    position:
        relative;

    min-height:
        345px;

    padding:
        30px;

    border-radius:
        25px;

    border:
        1px solid var(--border);

    background:
        linear-gradient(
            145deg,

            rgba(
                255,
                255,
                255,
                .045
            ),

            rgba(
                255,
                255,
                255,
                .015
            )
        );

    transition:
        transform .3s ease,
        border-color .3s ease,
        background .3s ease;

}


.review-card:hover {

    transform:
        translateY(-7px);

    border-color:
        rgba(
            239,
            199,
            126,
            .4
        );

    background:
        linear-gradient(
            145deg,

            rgba(
                201,
                154,
                82,
                .09
            ),

            rgba(
                255,
                255,
                255,
                .015
            )
        );

}


.featured-review {

    border-color:
        rgba(
            239,
            199,
            126,
            .35
        );

    background:
        linear-gradient(
            145deg,

            rgba(
                201,
                154,
                82,
                .11
            ),

            rgba(
                130,
                31,
                26,
                .07
            )
        );

}


.recommended-badge {

    position:
        absolute;

    top:
        20px;

    right:
        20px;

    padding:
        6px 10px;

    border-radius:
        999px;

    background:
        var(--gold2);

    color:
        #17130e;

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;

}


.review-top {

    display:
        flex;

    align-items:
        center;

    gap:
        13px;

}


.review-avatar {

    width:
        47px;

    height:
        47px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        linear-gradient(
            135deg,
            var(--gold2),
            #8b5723
        );

    color:
        #17130e;

    font-family:
        Georgia,
        serif;

    font-size:
        1.25rem;

    font-weight:
        900;

}


.review-top strong {

    display:
        block;

    font-size:
        .9rem;

}


.review-top span {

    color:
        #777066;

    font-size:
        .7rem;

}


.google-g {

    margin-left:
        auto;

    color:
        #4285f4;

    font-size:
        1.3rem;

    font-weight:
        900;

}


.review-stars {

    margin-top:
        25px;

    font-size:
        .9rem;

}


.review-card p {

    margin-top:
        18px;

    color:
        #c1b8ac;

    font-family:
        Georgia,
        serif;

    font-size:
        1.03rem;

    line-height:
        1.7;

}


.review-source {

    position:
        absolute;

    left:
        30px;

    bottom:
        24px;

    color:
        #777066;

    font-size:
        .68rem;

}


.reviews-bottom {

    margin-top:
        20px;

    padding:
        25px 28px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    border:
        1px solid var(--border);

    border-radius:
        22px;

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

}


.reviews-trust {

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

}


.trust-stars {

    white-space:
        nowrap;

}


.reviews-trust strong {

    display:
        block;

}


.reviews-trust span {

    display:
        block;

    margin-top:
        3px;

    color:
        var(--muted);

    font-size:
        .78rem;

}


.btn-google {

    flex-shrink:
        0;

    background:
        var(--cream);

    color:
        #17130e;

}



.reviews-carousel-controls {

    margin-top:
        24px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;

}


.reviews-carousel-btn {

    width:
        46px;

    height:
        46px;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        rgba(239,199,126,.28);

    border-radius:
        50%;

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

    color:
        var(--gold2);

    cursor:
        pointer;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;

}


.reviews-carousel-btn:hover {

    transform:
        translateY(-2px);

    border-color:
        rgba(239,199,126,.65);

    background:
        rgba(201,154,82,.08);

}


.reviews-carousel-dots {

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

}


.reviews-carousel-dot {

    width:
        8px;

    height:
        8px;

    padding:
        0;

    border:
        0;

    border-radius:
        999px;

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

    cursor:
        pointer;

    transition:
        width .25s ease,
        background .25s ease;

}


.reviews-carousel-dot.active {

    width:
        26px;

    background:
        var(--gold2);

}


/* =========================================================
   ROUTES
========================================================= */

.routes {

    background:

        radial-gradient(
            circle at 85% 10%,

            rgba(
                130,
                31,
                26,
                .2
            ),

            transparent
            35%
        ),

        var(--bg2);

}


.route-live {

    margin-top:
        55px;

    padding:
        34px;

    border:
        1px solid
        rgba(
            239,
            199,
            126,
            .3
        );

    border-radius:
        var(--radius);

    background:

        linear-gradient(
            135deg,

            rgba(
                201,
                154,
                82,
                .10
            ),

            rgba(
                130,
                31,
                26,
                .10
            )
        ),

        rgba(
            255,
            255,
            255,
            .025
        );

    box-shadow:
        var(--shadow);

}


.route-live-head {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        24px;

    padding-bottom:
        24px;

    border-bottom:
        1px solid var(--border);

}


.live-badge {

    color:
        var(--gold2);

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .2em;

    text-transform:
        uppercase;

}


.route-live h3 {

    margin-top:
        6px;

    font-size:
        clamp(
            2rem,
            4vw,
            3.4rem
        );

    letter-spacing:
        -.05em;

}


.poland-clock {

    text-align:
        right;

    color:
        var(--muted);

}


.poland-clock strong {

    display:
        block;

    color:
        white;

    font-size:
        1.35rem;

    font-variant-numeric:
        tabular-nums;

}


.today-cars {

    display:
        grid;

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

    gap:
        16px;

    margin-top:
        24px;

}


.today-car {

    position:
        relative;

    overflow:
        hidden;

    padding:
        27px;

    border-radius:
        22px;

    border:
        1px solid var(--border);

    background:
        var(--bg3);

}


.today-car::after {

    content: "";

    position:
        absolute;

    width:
        180px;

    height:
        180px;

    right:
        -70px;

    bottom:
        -80px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,

            rgba(
                239,
                199,
                126,
                .12
            ),

            transparent
            70%
        );

}


.car-tag {

    color:
        var(--gold2);

    font-size:
        .67rem;

    font-weight:
        800;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;

}


.today-car h4 {

    margin:
        8px 0 10px;

    font-size:
        1.55rem;

}


.route-count {

    display:
        inline-block;

    margin-bottom:
        14px;

    color:
        #81796f;

    font-size:
        .78rem;

}


.route-chips {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

}


.route-chip {

    padding:
        7px 10px;

    border-radius:
        999px;

    border:
        1px solid var(--border);

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

    color:
        #c7beb2;

    font-size:
        .78rem;

}


.closed-card {

    grid-column:
        1 / -1;

    text-align:
        center;

}


/* =========================================================
   DAY BROWSER
========================================================= */

.day-browser {

    margin-top:
        65px;

}


.day-browser-head {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        24px;

    margin-bottom:
        20px;

}


.day-browser h3 {

    font-size:
        2rem;

    letter-spacing:
        -.04em;

}


.day-tabs {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

}


.day-tab {

    padding:
        10px 14px;

    border:
        1px solid var(--border);

    border-radius:
        999px;

    background:
        transparent;

    color:
        #aaa196;

    cursor:
        pointer;

    transition:
        .2s;

}


.day-tab:hover,
.day-tab.active {

    background:
        var(--gold2);

    border-color:
        var(--gold2);

    color:
        #17130e;

}


.selected-day-grid {

    display:
        grid;

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

    gap:
        18px;

}


.route-card {

    padding:
        30px;

    border-radius:
        24px;

    border:
        1px solid var(--border);

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

}


.route-card-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    margin-bottom:
        18px;

}


.route-card h4 {

    font-size:
        1.7rem;

}


.car-number {

    width:
        52px;

    height:
        52px;

    border-radius:
        50%;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        rgba(
            239,
            199,
            126,
            .4
        );

    color:
        var(--gold2);

    font-family:
        Georgia,
        serif;

}


/* =========================================================
   WEEKLY SCHEDULE
========================================================= */

.weekly-wrap {

    margin-top:
        28px;

}


.weekly-details {

    border:
        1px solid var(--border);

    border-radius:
        24px;

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

    overflow:
        hidden;

}


.weekly-details summary {

    padding:
        21px 24px;

    cursor:
        pointer;

    color:
        var(--gold2);

    font-weight:
        800;

    list-style:
        none;

}


.weekly-details summary::-webkit-details-marker {

    display:
        none;

}


.weekly-tables {

    display:
        grid;

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

    gap:
        18px;

    padding:
        0 20px 20px;

}


.schedule-table {

    border:
        1px solid var(--border);

    border-radius:
        18px;

    overflow:
        hidden;

}


.schedule-table h4 {

    padding:
        18px 20px;

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

}


.schedule-row {

    display:
        grid;

    grid-template-columns:
        105px
        1fr;

    gap:
        18px;

    padding:
        16px 20px;

    border-top:
        1px solid var(--border);

}


.schedule-day {

    color:
        var(--gold2);

    font-weight:
        800;

}


.schedule-places {

    color:
        var(--muted);

    font-size:
        .86rem;

    line-height:
        1.65;

}


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

.shop-cta {

    position:
        relative;

    overflow:
        hidden;

    padding:
        125px 0;

    background:

        radial-gradient(
            circle at 82% 35%,
            rgba(201,154,82,.16),
            transparent 34%
        ),

        radial-gradient(
            circle at 15% 85%,
            rgba(130,31,26,.14),
            transparent 30%
        ),

        var(--bg);

}


.shop-cta::before {

    content:
        "SKLEP IRGO";

    position:
        absolute;

    right:
        -30px;

    top:
        28px;

    color:
        rgba(239,199,126,.025);

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            5rem,
            12vw,
            11rem
        );

    white-space:
        nowrap;

    pointer-events:
        none;

}


.shop-cta-card {

    position:
        relative;

    min-height:
        560px;

    display:
        grid;

    grid-template-columns:
        .92fr
        1.08fr;

    align-items:
        stretch;

    overflow:
        hidden;

    border:
        1px solid
        rgba(239,199,126,.24);

    border-radius:
        38px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.015)
        );

    box-shadow:
        var(--shadow);

}


.shop-cta-copy {

    position:
        relative;

    z-index:
        3;

    padding:
        64px 58px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

}


.shop-cta-copy .title {

    max-width:
        720px;

}


.shop-cta-copy .intro {

    max-width:
        560px;

}


.shop-benefits {

    display:
        grid;

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

    gap:
        10px;

    margin-top:
        32px;

}


.shop-benefit {

    min-height:
        105px;

    padding:
        17px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        space-between;

    gap:
        12px;

    border:
        1px solid var(--border);

    border-radius:
        16px;

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

}


.shop-benefit span {

    font-size:
        1.35rem;

}


.shop-benefit strong {

    color:
        #d9d0c4;

    font-size:
        .78rem;

    line-height:
        1.35;

}


.shop-cta-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        32px;

}


.shop-cta-visual {

    position:
        relative;

    min-height:
        560px;

    overflow:
        hidden;

}


.shop-cta-visual::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            90deg,
            var(--bg) 0%,
            rgba(9,9,8,.44) 18%,
            transparent 48%
        );

    pointer-events:
        none;

}


.shop-cta-visual img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform
        .9s
        cubic-bezier(.16,1,.3,1);

}


.shop-cta-card:hover
.shop-cta-visual img {

    transform:
        scale(1.045);

}


.shop-floating-card {

    position:
        absolute;

    z-index:
        4;

    right:
        28px;

    bottom:
        28px;

    width:
        min(
            330px,
            calc(100% - 56px)
        );

    padding:
        24px;

    border:
        1px solid
        rgba(239,199,126,.28);

    border-radius:
        20px;

    background:
        rgba(11,11,9,.72);

    backdrop-filter:
        blur(16px);

    box-shadow:
        0 20px 60px
        rgba(0,0,0,.35);

}


.shop-floating-card small {

    color:
        var(--gold2);

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;

}


.shop-floating-card strong {

    display:
        block;

    margin-top:
        6px;

    font-size:
        1.45rem;

}


.shop-floating-card p {

    margin-top:
        6px;

    color:
        #9e968a;

    font-size:
        .78rem;

}


/* =========================================================
   LOYALTY
========================================================= */

.loyalty-card {

    min-height:
        480px;

    padding:
        60px;

    border-radius:
        38px;

    display:
        flex;

    align-items:
        flex-end;

    background:

        linear-gradient(
            90deg,

            rgba(
                100,
                20,
                15,
                .98
            ),

            rgba(
                100,
                20,
                15,
                .55
            )
        ),

        url("../images/boczek.webp")

        center / cover;

    box-shadow:
        var(--shadow);

}


.loyalty-content {

    max-width:
        700px;

}


.loyalty-content h2 {

    font-size:
        clamp(
            3rem,
            6vw,
            5.7rem
        );

    line-height:
        .92;

    letter-spacing:
        -.06em;

}


.loyalty-content p {

    max-width:
        520px;

    margin-top:
        20px;

    color:
        #e6cbc2;

}


.stamps {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px;

    margin-top:
        28px;

}


.stamp {

    width:
        45px;

    height:
        45px;

    border-radius:
        50%;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .45
        );

    display:
        grid;

    place-items:
        center;

}


.stamp:last-child {

    border-color:
        var(--gold2);

    background:
        var(--gold2);

    color:
        #1a1510;

}


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

.final {

    padding:
        140px 20px;

    text-align:
        center;

}


.final h2 {

    font-size:
        clamp(
            3.4rem,
            9vw,
            8.5rem
        );

    line-height:
        .83;

    letter-spacing:
        -.07em;

}


.final h2 span {

    display:
        block;

    margin-top:
        22px;

    color:
        var(--gold2);

    font-family:
        Georgia,
        serif;

    font-style:
        italic;

    font-weight:
        400;

}


.final .btn {

    margin-top:
        40px;

}


/* =========================================================
   FOOTER
========================================================= */

footer {

    padding:
        65px 0 30px;

    border-top:
        1px solid var(--border);

    background:
        #080807;

}


.footer-grid {

    display:
        grid;

    grid-template-columns:
        1.4fr .6fr .6fr;

    gap:
        50px;

}


.footer-brand-row {

    display:
        flex;

    align-items:
        center;

    gap:
        20px;

}


.footer-logo {

    width:
        110px;

    height:
        auto;

    filter:
        drop-shadow(
            0 10px 20px
            rgba(
                0,
                0,
                0,
                .35
            )
        );

}


.footer-title {

    font-size:
        clamp(
            2.2rem,
            4vw,
            4.3rem
        );

    line-height:
        .94;

    letter-spacing:
        -.06em;

}


.footer-title em {

    display:
        block;

    color:
        var(--gold2);

    font-family:
        Georgia,
        serif;

    font-weight:
        400;

}


.footer-col strong {

    display:
        block;

    margin-bottom:
        14px;

    color:
        var(--gold2);

    font-size:
        .72rem;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;

}


.footer-col a,
.footer-col p {

    display:
        block;

    margin:
        8px 0;

    color:
        #8e867b;

    font-size:
        .83rem;

}


.footer-bottom {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        60px;

    padding-top:
        20px;

    border-top:
        1px solid var(--border);

    color:
        #635d55;

    font-size:
        .75rem;

}


/* =========================================================
   REVEAL
========================================================= */

.reveal {

    opacity:
        0;

    transform:
        translateY(35px);

    transition:

        opacity
        .75s
        ease,

        transform
        .75s
        cubic-bezier(
            .16,
            1,
            .3,
            1
        );

}


.reveal.visible {

    opacity:
        1;

    transform:
        translateY(0);

}


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

@media(max-width:950px) {


    .nav-links {

        position:
            fixed;

        inset:
            0;

        padding:
            50px;

        flex-direction:
            column;

        align-items:
            flex-start;

        justify-content:
            center;

        background:
            rgba(
                8,
                8,
                7,
                .98
            );

        transform:
            translateX(100%);

        transition:
            transform .35s;

    }


    .nav-links.open {

        transform:
            translateX(0);

    }


    .nav-links a {

        font-size:
            1.7rem;

    }


    .menu-btn {

        display:
            block;

        position:
            relative;

        z-index:
            1001;

    }


    .story-grid {

        grid-template-columns:
            1fr;

    }


    .weekly-tables {

        grid-template-columns:
            1fr;

    }


    .reviews-heading {

        grid-template-columns:
            1fr;

    }


    .google-score {

        width:
            100%;

    }


    .review-card {

        flex-basis:
            calc(
                (100% - 18px)
                /
                2
            );

    }


    .shop-cta-card {

        grid-template-columns:
            1fr;

    }


    .shop-cta-copy {

        padding:
            48px 34px;

    }


    .shop-cta-visual {

        min-height:
            440px;

    }


}


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

@media(max-width:720px) {


    section {

        padding:
            80px 0;

    }


    .nav-inner {

        min-height:
            82px;

    }


    .logo-img {

        height:
            66px;

    }


    .hero h1 {

        font-size:
            clamp(
                4rem,
                18vw,
                6rem
            );

    }


    .hero-dots {

        right:
            4%;

        bottom:
            265px;

    }


    .hero-stats,
    .today-cars,
    .selected-day-grid {

        grid-template-columns:
            1fr;

    }


    .stat {

        border-bottom:
            1px solid var(--border);

    }


    .product-heading,
    .route-live-head,
    .day-browser-head {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .products {

        grid-template-columns:
            1fr;

    }


    .product:nth-child(n) {

        grid-column:
            auto;

        min-height:
            470px;

    }


    .story-photo {

        min-height:
            450px;

    }


    .poland-clock {

        text-align:
            left;

    }


    .loyalty-card {

        padding:
            35px 25px;

    }


    .reviews-bottom {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .review-card {

        flex-basis:
            100%;

    }


    .reviews-carousel-controls {

        margin-top:
            20px;

    }


    .reviews-trust {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .footer-grid {

        grid-template-columns:
            1fr;

    }


    .footer-brand-row {

        align-items:
            flex-start;

    }


    .footer-bottom {

        flex-direction:
            column;

    }


    .shop-cta {

        padding:
            80px 0;

    }


    .shop-cta-card {

        border-radius:
            28px;

    }


    .shop-benefits {

        grid-template-columns:
            1fr;

    }


    .shop-cta-copy {

        padding:
            36px 24px;

    }


    .shop-cta-visual {

        min-height:
            390px;

    }


    .shop-floating-card {

        right:
            18px;

        bottom:
            18px;

        width:
            calc(100% - 36px);

    }


}


@media(max-width:520px) {


    .route-live {

        padding:
            24px;

    }


    .schedule-row {

        grid-template-columns:
            1fr;

        gap:
            6px;

    }


    .footer-brand-row {

        flex-direction:
            column;

    }


}


/* =========================================================
   REDUCED MOTION
========================================================= */

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


    html {

        scroll-behavior:
            auto;

    }


    *,
    *::before,
    *::after {

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .01ms !important;

    }


    .reveal {

        opacity:
            1;

        transform:
            none;

    }


}


/* =========================================================
   ROUTE TIMES FROM SUPABASE
========================================================= */

.route-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.route-chip-time {
    color: var(--gold2);
    font-size: .66rem;
    font-weight: 800;
    white-space: nowrap;
}


/* IRGO FINAL UX - approved desktop direction */
:root{--paper:#eadfcd;--ink:#17110d;--wine:#781713;--bronze:#b98a47;--max:1480px;}
.container{width:min(94%,var(--max));}
.nav{background:linear-gradient(180deg,rgba(4,4,3,.96),rgba(4,4,3,.72));border-bottom:1px solid rgba(201,154,82,.13)}
.nav-inner{min-height:78px}.logo-img{height:68px}.nav-links{gap:23px}.nav-links a{font-size:.69rem;text-transform:uppercase;letter-spacing:.065em;font-weight:700}.nav-order{border-radius:0;background:var(--wine);color:#fff!important;padding:14px 20px}
.hero{min-height:720px}.hero-overlay{background:linear-gradient(90deg,rgba(5,5,4,.98) 0%,rgba(5,5,4,.84) 39%,rgba(5,5,4,.24) 72%,rgba(5,5,4,.13) 100%),linear-gradient(0deg,rgba(5,5,4,.9),transparent 38%)}
.hero-content{padding:165px 0 70px;max-width:980px}.kicker{color:#eee3d3;margin-bottom:14px}.kicker:before{display:none}.hero h1{font-family:Georgia,serif;font-size:clamp(4.5rem,7.3vw,7.6rem);line-height:.82;letter-spacing:.01em}.hero h1 span{font-style:normal;text-transform:uppercase;color:var(--gold);margin-top:12px}.hero-description{max-width:690px;margin-top:24px;font-size:.95rem}.hero-buttons{margin-top:24px}.btn{border-radius:0;min-height:47px;text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}.btn-gold{background:var(--wine);color:#fff}.hero-stats{grid-template-columns:repeat(3,1fr);max-width:920px;border:0;margin-left:max(3%,calc((100% - var(--max))/2));margin-bottom:18px}.stat{padding:16px 22px;border:0;border-left:1px solid rgba(201,154,82,.35);backdrop-filter:none}.stat strong{color:#f0e7db;text-transform:uppercase;font-size:.68rem}.stat span{font-size:.64rem}.hero-dots{bottom:34px}
.marquee{display:none}
.awards-final{padding:20px 0;background:var(--paper);color:var(--ink);border-block:1px solid #c8b69b}.awards-final-grid{display:grid;grid-template-columns:280px 1fr;gap:24px}.awards-final-copy{padding-right:24px;border-right:1px solid #c5b397}.awards-final-copy .label{color:#861e18;margin-bottom:8px}.awards-final-copy h2{font-family:Georgia,serif;font-size:1.45rem;line-height:1.08;font-weight:400}.awards-final-copy h2 em{color:#861e18;font-style:normal;font-weight:700}.award-link{display:inline-block;margin-top:15px;border:1px solid #80715e;padding:8px 12px;font-size:.6rem;font-weight:800}.awards-final-list{display:grid;grid-template-columns:repeat(10,1fr);overflow-x:auto}.awards-final-list article{min-width:105px;padding:4px 9px;text-align:center;border-right:1px solid #c7b69d}.awards-final-list article:last-child{border:0}.awards-final-list b{display:block;color:#861e18;font-size:.65rem;margin-bottom:22px;position:relative}.awards-final-list b:after{content:'';position:absolute;width:1px;height:15px;background:#a48f71;top:18px;left:50%}.awards-final-list strong{display:block;font-family:Georgia,serif;font-size:.72rem;line-height:1.12}.awards-final-list span{display:block;margin-top:5px;font-size:.58rem;line-height:1.25;color:#493d32}
#wyroby{padding:72px 0}.product-heading{margin-bottom:35px}.product{min-height:440px;border-radius:0}.product-copy h3{font-family:Georgia,serif}.story{padding:85px 0}.story-photo{min-height:570px;border-radius:0}.title{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5rem)}
.routes{padding:85px 0}.route-live,.route-card,.weekly-details{border-radius:0}.google-reviews{padding:85px 0}.review-card,.google-score,.reviews-bottom{border-radius:0}.loyalty-card,.shop-cta-card{border-radius:0}.shop-cta{padding:85px 0}.final{padding:100px 20px}footer{padding-top:38px}
@media(max-width:1100px){.awards-final-grid{grid-template-columns:220px 1fr}.awards-final-list{grid-template-columns:repeat(10,120px)}}
@media(max-width:950px){.awards-final-grid{grid-template-columns:1fr}.awards-final-copy{border-right:0;border-bottom:1px solid #c5b397;padding-bottom:18px}.hero-stats{margin-left:4%;margin-right:4%}}
@media(max-width:720px){.hero{min-height:760px}.hero-content{padding-top:135px}.hero h1{font-size:clamp(3.6rem,17vw,5.6rem)}.hero-stats{grid-template-columns:1fr}.awards-final{padding:28px 0}}


/* =========================================================
   IRGO FINAL UX - ETAP 2
   Responsive polish: tablet + mobile
========================================================= */
@media (max-width: 1180px){
  .nav-inner{min-height:72px;}
  .nav-links{gap:16px;}
  .nav-links a{font-size:.62rem;}
  .nav-order{padding:27px 17px!important;}
  .hero-layout{grid-template-columns:minmax(0,1fr) 255px;gap:22px;}
  .final-hero h1{font-size:clamp(3.7rem,6.4vw,6rem);}
  .hero-values{gap:11px;}
  .awards-layout{grid-template-columns:220px 1fr;}
  .awards-timeline article{min-width:112px;}
}

@media (max-width: 950px){
  .nav{background:rgba(6,6,5,.94);backdrop-filter:blur(16px);}
  .nav-inner{min-height:76px;}
  .nav-links{padding:110px 34px 40px;gap:0;justify-content:flex-start;overflow-y:auto;}
  .nav-links a{width:100%;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem;letter-spacing:.08em;}
  .nav-links a.active{padding-bottom:16px;border-bottom:1px solid rgba(201,154,82,.35);}
  .nav-account{padding-left:0;border-left:0;}
  .nav-order{margin-top:18px!important;width:auto!important;align-self:flex-start;border:1px solid rgba(201,154,82,.35)!important;padding:14px 18px!important;}

  .final-hero{min-height:760px;height:auto;}
  .hero-layout{padding-top:92px;}
  .final-hero .hero-content{max-width:760px;padding:78px 0 54px;}
  .final-hero h1{font-size:clamp(3.8rem,10vw,6.5rem);}
  .final-hero .hero-description{max-width:620px;font-size:.95rem;}
  .hero-values{max-width:680px;}
  .hero-route-panel{display:none;}
  .final-hero .hero-dots{bottom:18px;right:24px;}

  .awards-strip{padding:24px 0;}
  .awards-layout{grid-template-columns:1fr;gap:16px;}
  .awards-intro{padding:0 0 17px;border-right:0;border-bottom:1px solid #c9b99f;}
  .awards-intro h2{max-width:680px;font-size:1.65rem;}
  .awards-timeline{grid-template-columns:repeat(10,128px);padding-bottom:8px;scroll-snap-type:x proximity;}
  .awards-timeline article{min-width:128px;scroll-snap-align:start;}

  .showcase-grid{grid-template-columns:1fr;}
  .route-map-card,.flagship-card{min-height:330px;}
  .flagship-copy{padding:36px 0 36px 6vw;}
  .flagship-copy h2{font-size:2rem;}

  .story{padding:78px 0;}
  .story-grid{gap:42px;}
  .story-photo{min-height:500px;}

  .route-section-head{align-items:flex-start;flex-direction:column;}
  .poland-clock{text-align:left;}
  .day-browser-head{align-items:flex-start;flex-direction:column;}
  .day-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;}
  .day-tab{flex:0 0 auto;}

  .service-grid{grid-template-columns:1fr 1fr;}
  .service-grid article{min-height:130px;}
  .service-grid article:nth-child(2){border-right:0;}
  .service-grid article:nth-child(-n+2){border-bottom:1px solid #c7b79f;}
  .loyalty-mini{grid-column:1/-1;border-top:0!important;}

  .reviews-heading{gap:28px;}
  .google-score{max-width:360px;}
  .footer-final{grid-template-columns:1fr 1fr;}
}

@media (max-width: 720px){
  :root{--radius:22px;}
  .container{width:min(91%,1480px);}
  section{padding:64px 0;}

  .logo-img{height:60px;}
  .menu-btn{width:44px;height:44px;}

  .final-hero{min-height:700px;}
  .hero-layout{padding-top:78px;}
  .final-hero .hero-content{padding:74px 0 62px;}
  .final-hero .kicker{font-size:.65rem;letter-spacing:.18em;}
  .final-hero h1{font-size:clamp(3.25rem,15.5vw,5.5rem);line-height:.84;}
  .final-hero h1 span{margin-top:8px;}
  .final-hero .hero-description{margin-top:18px;font-size:.88rem;line-height:1.6;}
  .hero-buttons{display:grid;grid-template-columns:1fr;gap:10px;}
  .hero-buttons .btn{width:100%;}
  .hero-values{grid-template-columns:1fr 1fr;gap:14px 10px;margin-top:26px;}
  .hero-values>div{padding-left:10px;}
  .hero-values b{font-size:.61rem;}
  .hero-values span{font-size:.56rem;}
  .final-hero .hero-dots{bottom:14px;right:18px;}

  .awards-intro h2{font-size:1.42rem;}
  .awards-intro .small-outline{width:100%;justify-content:space-between;}
  .awards-timeline{margin-right:-4.5vw;padding-right:4.5vw;}

  .route-map-card{padding:26px 5vw;min-height:360px;}
  .map-art{margin-top:48px;gap:5px;transform:scale(.94);transform-origin:center;}
  .map-art i{width:25px;}
  .flagship-card{min-height:400px;}
  .flagship-copy{width:78%;padding:32px 0 32px 24px;}
  .flagship-copy h2{font-size:1.75rem;}
  .flagship-awards{max-width:290px;line-height:1.6;}
  .flagship-card img{width:64%;opacity:.88;}

  .story-photo{min-height:430px;}
  .title{font-size:clamp(2.55rem,12vw,4.4rem);}

  .routes{padding:68px 0;}
  .route-card,.today-car{padding:22px;}
  .selected-day-grid{grid-template-columns:1fr;}
  .weekly-tables{grid-template-columns:1fr;}

  .service-strip{padding:0;}
  .service-grid{grid-template-columns:1fr;}
  .service-grid article{min-height:auto;padding:22px 10px;border-right:0;border-bottom:1px solid #c7b79f;}
  .service-grid article:last-child{border-bottom:0;}
  .loyalty-mini{grid-column:auto;}
  .mini-stamps{gap:7px;flex-wrap:wrap;}

  .google-reviews{padding:68px 0;}
  .reviews-heading{margin-bottom:36px;}
  .google-score{max-width:none;min-width:0;}
  .review-card{min-height:330px;padding:24px;}
  .review-source{left:24px;bottom:20px;}
  .reviews-bottom{padding:20px;}
  .btn-google{width:100%;}

  footer{padding-top:28px;}
  .footer-final{grid-template-columns:1fr;gap:28px;}
  .footer-brand-row{flex-direction:row;align-items:center;}
  .footer-logo{width:92px;}
  .footer-bottom{margin-top:36px;}
}

@media (max-width: 480px){
  .container{width:92%;}
  .nav-inner{min-height:70px;}
  .logo-img{height:55px;}
  .final-hero{min-height:680px;}
  .final-hero .hero-content{padding-top:68px;}
  .final-hero h1{font-size:clamp(3rem,16.2vw,4.6rem);}
  .hero-values{grid-template-columns:1fr;}
  .hero-values>div{padding:7px 0 7px 11px;}
  .awards-timeline{grid-template-columns:repeat(10,118px);}
  .awards-timeline article{min-width:118px;}
  .flagship-copy{width:88%;}
  .flagship-card img{width:72%;opacity:.72;}
  .route-map-card h2{font-size:1.32rem;}
  .map-art{font-size:.56rem;}
  .map-art strong{font-size:.52rem;}
  .day-browser h3{font-size:1.55rem;}
  .schedule-row{grid-template-columns:1fr;gap:5px;}
  .footer-brand-row{align-items:flex-start;}
}

@media (hover:none){
  .btn:hover,.brand:hover .logo-img,.review-card:hover{transform:none;}
}

/* =========================================================
   IRGO FINAL UX - ETAP 3 / DESKTOP PIXEL POLISH
========================================================= */
@media (min-width: 1181px){
  :root{--max:1600px;}
  body{font-size:15px;}
  .container{width:min(96%,1600px);}
  .nav-inner{min-height:78px;}
  .nav .container{width:min(97%,1660px);}
  .brand{min-width:178px;justify-content:center;border-inline:1px solid rgba(201,154,82,.14);align-self:stretch;}
  .logo-img{height:70px;}
  .nav-links{flex:1;justify-content:flex-end;gap:28px;}
  .nav-links a{font-size:.66rem;letter-spacing:.07em;white-space:nowrap;}
  .nav-order{min-width:148px;text-align:center;justify-content:center;}

  .final-hero{min-height:700px;height:700px;}
  .final-hero .hero-slide{background-position:center 45%;}
  .hero-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding-top:72px;}
  .final-hero .hero-content{padding:48px 0 0;max-width:1030px;}
  .final-hero h1{font-size:6.05rem;line-height:.83;max-width:930px;}
  .final-hero h1 span{font-size:.78em;letter-spacing:.025em;}
  .final-hero .hero-description{max-width:620px;font-size:.88rem;line-height:1.45;}
  .hero-values{max-width:850px;margin-top:31px;gap:14px;}
  .hero-route-panel{min-height:365px;margin-top:18px;}
  .route-script{font-size:1.25rem;text-align:center;}

  .awards-strip{padding:15px 0 17px;}
  .awards-layout{grid-template-columns:280px minmax(0,1fr);gap:22px;}
  .awards-intro h2{font-size:1.52rem;}
  .awards-timeline article{min-width:0;padding-inline:10px;}
  .awards-timeline b{margin-bottom:27px;}

  .showcase-grid{grid-template-columns:1.22fr .98fr;}
  .route-map-card,.flagship-card{min-height:300px;}
  .route-map-card{padding:28px 4vw;}
  .map-art{max-width:720px;margin-top:44px;}
  .flagship-copy{padding-left:38px;}
  .flagship-copy h2{font-size:1.9rem;}

  .story{padding:96px 0;}
  .story-grid{grid-template-columns:.9fr 1.1fr;gap:95px;}
  .story-photo{min-height:610px;}

  .routes{padding:88px 0;}
  .day-browser{margin-top:42px;}
  .selected-day-grid{gap:14px;}
  .route-card{padding:25px;}

  .service-grid{grid-template-columns:.72fr .72fr .72fr 1.65fr;}
  .service-grid article{padding-inline:30px;}

  .google-reviews{padding:82px 0;}
  .reviews-heading{margin-bottom:44px;}
  .review-card{min-height:310px;padding:27px;}
  .review-card p{font-size:.96rem;line-height:1.58;}
  .review-source{left:27px;bottom:21px;}

  footer{padding:30px 0 24px;}
  .footer-final{grid-template-columns:1.45fr .9fr .9fr .8fr;gap:46px;}
  .footer-bottom{margin-top:32px;}
}

/* approved visual: flatter, editorial panels */
.awards-strip,.service-strip{-webkit-font-smoothing:antialiased;}
.small-outline,.route-panel-link{transition:background .2s ease,color .2s ease,border-color .2s ease;}
.small-outline:hover,.route-panel-link:hover{background:var(--gold2);border-color:var(--gold2);color:#17130e;}
.flagship-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,6,5,.28),transparent 58%);}
.flagship-copy{z-index:3;}


/* =========================================================
   IRGO APP PROMO - STRONA GŁÓWNA
========================================================= */
.home-app-promo {
    position: relative;
    overflow: hidden;
    padding: 110px 24px;
    background:
        radial-gradient(circle at 78% 36%, rgba(201,154,82,.15), transparent 34%),
        linear-gradient(180deg, #0c0b09 0%, #11100e 100%);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.home-app-promo::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 84px 100%;
    mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.home-app-promo-inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--max));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr);
    align-items: center;
    gap: 80px;
}

.home-app-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--gold2);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.home-app-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
}

.home-app-promo h2 {
    margin: 0;
    color: var(--cream);
    font-size: clamp(3rem, 6.2vw, 6.5rem);
    line-height: .92;
    letter-spacing: -.055em;
}

.home-app-promo h2 em {
    color: var(--gold2);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.home-app-promo p {
    max-width: 620px;
    margin: 26px 0 0;
    color: var(--muted);
    font-size: 1.02rem;
    line-height: 1.8;
}

.home-app-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.home-app-primary,
.home-app-secondary {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.home-app-primary {
    background: var(--gold2);
    color: #17120c;
}

.home-app-secondary {
    border: 1px solid rgba(255,255,255,.18);
    color: var(--cream);
    background: rgba(255,255,255,.035);
}

.home-app-primary:hover,
.home-app-secondary:hover {
    transform: translateY(-2px);
}

.home-app-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.home-app-points span {
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    color: #c7beb2;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.home-app-promo-phone {
    display: flex;
    justify-content: center;
}

.home-app-phone-shell {
    position: relative;
    width: min(330px, 82vw);
    aspect-ratio: 9 / 18.5;
    padding: 9px;
    border: 1px solid rgba(239,199,126,.25);
    border-radius: 48px;
    background: linear-gradient(145deg, #2b2721, #0d0c0a);
    box-shadow:
        0 40px 90px rgba(0,0,0,.55),
        0 0 70px rgba(201,154,82,.08);
    transform: rotate(4deg);
}

.home-app-phone-notch {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 50%;
    width: 36%;
    height: 24px;
    transform: translateX(-50%);
    border-radius: 0 0 16px 16px;
    background: #050504;
}

.home-app-phone-screen {
    height: 100%;
    padding: 76px 24px 22px;
    display: flex;
    flex-direction: column;
    border-radius: 39px;
    background:
        radial-gradient(circle at 50% 10%, rgba(201,154,82,.17), transparent 30%),
        #0b0a08;
    overflow: hidden;
}

.home-app-phone-screen img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    margin-bottom: 16px;
}

.home-app-phone-screen > span {
    color: var(--gold2);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.home-app-phone-screen > strong {
    max-width: 220px;
    margin-top: 12px;
    color: var(--cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    line-height: 1.02;
}

.home-app-mini-card {
    margin-top: 34px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(130,31,26,.9), rgba(63,17,15,.95));
}

.home-app-mini-card small,
.home-app-mini-card b {
    display: block;
}

.home-app-mini-card small {
    color: #e7cba0;
    font-size: .63rem;
    letter-spacing: .12em;
}

.home-app-mini-card b {
    margin-top: 6px;
    color: #fff7eb;
    font-size: .93rem;
}

.home-app-mini-nav {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    gap: 9px;
    padding-top: 22px;
}

.home-app-mini-nav i {
    flex: 1;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
}

.home-app-mini-nav i:first-child {
    background: var(--gold2);
}

.nav-app-link {
    color: var(--gold2) !important;
}

@media (max-width: 900px) {
    .home-app-promo {
        padding: 82px 20px;
    }

    .home-app-promo-inner {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .home-app-promo-phone {
        justify-content: flex-start;
        padding-left: 18px;
    }

    .home-app-phone-shell {
        width: min(290px, 78vw);
    }
}

@media (max-width: 560px) {
    .home-app-promo {
        padding: 68px 18px 80px;
    }

    .home-app-promo h2 {
        font-size: clamp(3rem, 16vw, 4.6rem);
    }

    .home-app-actions {
        flex-direction: column;
    }

    .home-app-primary,
    .home-app-secondary {
        width: 100%;
    }

    .home-app-promo-phone {
        justify-content: center;
        padding-left: 0;
    }
}


/* =========================================================
   IRGO APP - BEZPOŚREDNIA INSTALACJA
========================================================= */
button.home-app-primary {
    border: 0;
    font: inherit;
    cursor: pointer;
}

button.home-app-primary:disabled {
    opacity: .72;
    cursor: default;
    transform: none;
}
