:root {
    --stereo-primary: #4584a1;
    --stereo-primary-rgb: 69, 132, 161;
    --stereo-primary-light: #78bad8;
    --stereo-primary-dark: #285a70;

    --stereo-bg: #061015;
    --stereo-panel: #0b1c24;
    --stereo-text: #f4f8fa;
    --stereo-muted: #91a6af;

    --stereo-border:
        rgba(255, 255, 255, 0.085);

    --stereo-shadow:
        0 34px 100px rgba(0, 0, 0, 0.42);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.aves-stereo {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    overflow-x: hidden;

    background:
        var(--stereo-bg);

    color:
        var(--stereo-text);

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

.aves-stereo button,
.aves-stereo input,
.aves-stereo textarea,
.aves-stereo select {
    font-family: inherit;
}

body.aves-stereo::selection {
    background:
        rgba(var(--stereo-primary-rgb), 0.42);

    color:
        #ffffff;
}

.audio-equalizer {
    display: none !important;
}

/* =========================================
   HEADER
========================================= */

.aves-stereo .site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.07);

    background:
        rgba(4, 12, 17, 0.72);

    backdrop-filter:
        blur(22px);

    transition:
        background 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.aves-stereo .site-header.scrolled {
    border-color:
        rgba(var(--stereo-primary-rgb), 0.24);

    background:
        rgba(4, 12, 17, 0.94);

    box-shadow:
        0 16px 45px rgba(0, 0, 0, 0.18);
}

.aves-stereo .nav {
    width:
        min(1180px, calc(100% - 40px));

    min-height:
        78px;

    margin:
        0 auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        28px;
}

.aves-stereo .brand {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        12px;

    color:
        inherit;

    text-decoration:
        none;
}

.aves-stereo .brand-logo {
    width:
        44px;

    height:
        44px;

    display:
        grid;

    place-items:
        center;

    flex:
        0 0 auto;

    border:
        1px solid rgba(
            var(--stereo-primary-rgb),
            0.42
        );

    border-radius:
        13px;

    background:
        linear-gradient(
            145deg,
            rgba(var(--stereo-primary-rgb), 0.22),
            rgba(var(--stereo-primary-rgb), 0.04)
        );
}

.aves-stereo .brand-logo img {
    width:
        31px;

    height:
        31px;

    object-fit:
        contain;
}

.aves-stereo .brand-copy {
    display:
        grid;

    gap:
        1px;
}

.aves-stereo .brand-copy strong {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        16px;

    font-weight:
        800;

    line-height:
        1.1;

    letter-spacing:
        0.02em;
}

.aves-stereo .brand-copy small {
    margin:
        0;

    color:
        var(--stereo-muted);

    font-size:
        10px;

    font-weight:
        700;

    line-height:
        1.1;

    letter-spacing:
        0.2em;
}

.aves-stereo .nav-links {
    margin:
        0;

    padding:
        0;

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    list-style:
        none;
}

.aves-stereo .nav-links a {
    position:
        relative;

    display:
        block;

    padding:
        11px 16px;

    border-radius:
        10px;

    color:
        #94a7b0;

    font-size:
        13px;

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        color 160ms ease,
        background 160ms ease;
}

.aves-stereo .nav-links a::after {
    content:
        "";

    position:
        absolute;

    left:
        16px;

    right:
        16px;

    bottom:
        5px;

    height:
        2px;

    border-radius:
        99px;

    background:
        var(--stereo-primary-light);

    transform:
        scaleX(0);

    transform-origin:
        left;

    transition:
        transform 160ms ease;
}

.aves-stereo .nav-links a:hover,
.aves-stereo .nav-links a.active {
    color:
        #ffffff;

    background:
        rgba(var(--stereo-primary-rgb), 0.09);
}

.aves-stereo .nav-links a:hover::after,
.aves-stereo .nav-links a.active::after {
    transform:
        scaleX(1);
}

.aves-stereo .menu-toggle {
    display:
        none;

    min-width:
        76px;

    padding:
        10px 14px;

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

    border-radius:
        10px;

    background:
        rgba(255, 255, 255, 0.03);

    color:
        #ffffff;

    font:
        inherit;

    font-size:
        12px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    cursor:
        pointer;
}

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

.stereo-main {
    overflow:
        hidden;
}

.stereo-hero {
    position:
        relative;

    min-height:
        100svh;

    padding:
        90px 20px 30px;

    display:
        grid;

    place-items:
        center;

    isolation:
        isolate;

    overflow:
        hidden;
}

.stereo-background {
    position:
        absolute;

    inset:
        0;

    z-index:
        -5;

    overflow:
        hidden;

    pointer-events:
        none;
}

.stereo-background::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            90deg,
            rgba(6, 16, 21, 0.04),
            rgba(6, 16, 21, 0.36),
            rgba(6, 16, 21, 0.05)
        ),
        linear-gradient(
            to bottom,
            transparent 52%,
            var(--stereo-bg)
        );
}

.stereo-grid {
    position:
        absolute;

    inset:
        0;

    opacity:
        0.3;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.03) 1px,
            transparent 1px
        );

    background-size:
        64px 64px;

    mask-image:
        linear-gradient(
            to bottom,
            #000000 4%,
            transparent 94%
        );
}

.stereo-glow {
    position:
        absolute;

    border-radius:
        50%;

    filter:
        blur(115px);
}

.stereo-glow-left {
    top:
        4%;

    left:
        -190px;

    width:
        540px;

    height:
        540px;

    background:
        rgba(var(--stereo-primary-rgb), 0.14);
}

.stereo-glow-right {
    top:
        20%;

    right:
        -180px;

    width:
        580px;

    height:
        580px;

    background:
        rgba(var(--stereo-primary-rgb), 0.1);
}

.stereo-wordmark {
    position:
        absolute;

    right:
        -0.05em;

    bottom:
        -0.13em;

    color:
        rgba(255, 255, 255, 0.018);

    font-size:
        clamp(180px, 26vw, 490px);

    font-weight:
        900;

    line-height:
        0.8;

    letter-spacing:
        -0.08em;
}

.stereo-card-wrap {
    width:
        min(780px, 100%);

    display:
        grid;

    justify-items:
        center;

    transform:
        translateY(-12px);
}

.stereo-status {
    position:
        relative;

    z-index:
        4;

    width:
        fit-content;

    margin-bottom:
        14px;

    padding:
        9px 14px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        9px;

    border:
        1px solid rgba(
            var(--stereo-primary-rgb),
            0.28
        );

    border-radius:
        999px;

    background:
        rgba(5, 17, 23, 0.84);

    color:
        #a9cbd9;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        0.17em;

    backdrop-filter:
        blur(16px);
}

.stereo-status-dot {
    width:
        7px;

    height:
        7px;

    flex:
        0 0 auto;

    border-radius:
        50%;

    background:
        var(--stereo-primary-light);

    box-shadow:
        0 0 0 5px
        rgba(var(--stereo-primary-rgb), 0.08),
        0 0 16px
        rgba(var(--stereo-primary-rgb), 0.7);
}

/* =========================================
   KARTA
========================================= */

.download-card {
    position:
        relative;

    width:
        100%;

    min-width:
        0;

    padding:
        clamp(30px, 4vw, 44px)
        clamp(24px, 5vw, 48px)
        28px;

    border:
        1px solid rgba(
            var(--stereo-primary-rgb),
            0.25
        );

    border-radius:
        30px;

    background:
        linear-gradient(
            155deg,
            rgba(var(--stereo-primary-rgb), 0.14),
            rgba(255, 255, 255, 0.012) 44%
        ),
        rgba(8, 21, 28, 0.96);

    box-shadow:
        var(--stereo-shadow);

    overflow:
        hidden;
}

.download-card::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    opacity:
        0.22;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.025) 1px,
            transparent 1px
        );

    background-size:
        38px 38px;

    mask-image:
        linear-gradient(
            145deg,
            #000000,
            transparent 65%
        );

    pointer-events:
        none;
}

.download-card-glow {
    position:
        absolute;

    top:
        -130px;

    right:
        -120px;

    width:
        300px;

    height:
        300px;

    border-radius:
        50%;

    background:
        rgba(var(--stereo-primary-rgb), 0.17);

    filter:
        blur(60px);

    pointer-events:
        none;
}

.download-card-header {
    position:
        relative;

    z-index:
        2;

    display:
        grid;

    grid-template-columns:
        76px minmax(0, 1fr) 76px;

    align-items:
        center;

    gap:
        22px;
}

.download-header-space {
    width:
        76px;

    height:
        76px;
}

.download-icon {
    width:
        76px;

    height:
        76px;

    margin:
        0;

    display:
        grid;

    place-items:
        center;

    border:
        0;

    border-radius:
        21px;

    background:
        linear-gradient(
            145deg,
            rgba(var(--stereo-primary-rgb), 0.28),
            rgba(var(--stereo-primary-rgb), 0.08)
        );

    color:
        var(--stereo-primary-light);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.08),
        0 16px 32px
        rgba(var(--stereo-primary-rgb), 0.12);
}

.download-icon svg {
    width:
        31px;

    height:
        31px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.download-title {
    min-width:
        0;

    text-align:
        center;
}

.download-kicker {
    margin:
        0 0 8px;

    color:
        var(--stereo-primary-light);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        0.22em;
}

.download-card h1 {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(36px, 5vw, 52px);

    font-weight:
        800;

    line-height:
        1;

    letter-spacing:
        -0.05em;

    white-space:
        nowrap;
}

.download-card h1 span {
    color:
        var(--stereo-primary-light);
}

.download-description {
    position:
        relative;

    z-index:
        2;

    max-width:
        570px;

    margin:
        28px auto 29px;

    color:
        var(--stereo-muted);

    font-size:
        clamp(13px, 1.4vw, 15px);

    line-height:
        1.75;

    text-align:
        center;
}

/* =========================================
   FORMULARZ
========================================= */

.download-form {
    position:
        relative;

    z-index:
        2;

    width:
        100%;

    text-align:
        left;
}

.download-form label {
    display:
        block;

    margin-bottom:
        10px;

    color:
        #e4edf1;

    font-size:
        14px;

    font-weight:
        800;

    line-height:
        1.4;
}

.download-input {
    position:
        relative;

    width:
        100%;
}

.download-input-icon {
    position:
        absolute;

    top:
        7px;

    bottom:
        7px;

    left:
        7px;

    z-index:
        2;

    width:
        50px;

    height:
        auto;

    display:
        grid;

    place-items:
        center;

    border-radius:
        12px;

    background:
        rgba(var(--stereo-primary-rgb), 0.1);

    color:
        #7da7b9;

    pointer-events:
        none;
}

.download-input-icon svg {
    width:
        21px;

    height:
        21px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.download-input input {
    width:
        100%;

    min-width:
        0;

    min-height:
        64px;

    padding:
        0 20px 0 74px;

    border:
        1px solid rgba(255, 255, 255, 0.09);

    border-radius:
        16px;

    outline:
        none;

    color:
        #ffffff;

    background:
        rgba(3, 12, 16, 0.86);

    font-size:
        14px;

    line-height:
        1;

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background 160ms ease;
}

.download-input input::placeholder {
    color:
        #617984;

    opacity:
        1;
}

.download-input input:focus {
    border-color:
        rgba(var(--stereo-primary-rgb), 0.65);

    background:
        rgba(4, 15, 20, 0.97);

    box-shadow:
        0 0 0 4px
        rgba(var(--stereo-primary-rgb), 0.1);
}

.download-input input:disabled {
    opacity:
        0.65;

    cursor:
        wait;
}

.download-form-meta {
    margin-top:
        10px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    color:
        #6e8893;

    font-size:
        10px;

    line-height:
        1.5;
}

.download-form-meta span:last-child {
    color:
        #769cab;
}

.download-submit {
    position:
        relative;

    width:
        100%;

    min-height:
        62px;

    margin-top:
        20px;

    padding:
        0 22px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    border:
        0;

    border-radius:
        16px;

    background:
        linear-gradient(
            135deg,
            var(--stereo-primary),
            #62a8c7
        );

    color:
        #ffffff;

    font-size:
        15px;

    font-weight:
        900;

    letter-spacing:
        0.04em;

    box-shadow:
        0 18px 38px
        rgba(var(--stereo-primary-rgb), 0.25);

    cursor:
        pointer;

    overflow:
        hidden;

    transition:
        transform 170ms ease,
        box-shadow 170ms ease,
        opacity 170ms ease;
}

.download-submit::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        -80%;

    width:
        55%;

    height:
        100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.15),
            transparent
        );

    transform:
        skewX(-20deg);

    transition:
        left 420ms ease;
}

.download-submit:hover::before {
    left:
        130%;
}

.download-submit:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 22px 46px
        rgba(var(--stereo-primary-rgb), 0.34);
}

.download-submit:disabled {
    opacity:
        0.72;

    cursor:
        wait;

    transform:
        none;
}

.button-main-icon {
    width:
        21px;

    height:
        21px;

    display:
        grid;

    place-items:
        center;
}

.button-main-icon svg {
    width:
        21px;

    height:
        21px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.download-submit.loading .button-main-icon {
    display:
        none;
}

.button-loader {
    width:
        18px;

    height:
        18px;

    display:
        none;

    border:
        2px solid rgba(255, 255, 255, 0.28);

    border-top-color:
        #ffffff;

    border-radius:
        50%;

    animation:
        stereo-button-spin
        0.75s linear infinite;
}

.button-loader.show {
    display:
        block;
}

/* =========================================
   LIMITY
========================================= */

.stereo-limits {
    position:
        relative;

    z-index:
        2;

    width:
        100%;

    margin-top:
        16px;

    display:
        grid;

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

    gap:
        10px;

    align-items:
        stretch;
}

.stereo-limits article {
    min-width:
        0;

    min-height:
        72px;

    padding:
        10px 12px;

    display:
        grid;

    grid-template-columns:
        38px minmax(0, 1fr) 38px;

    align-items:
        center;

    gap:
        10px;

    border:
        1px solid rgba(255, 255, 255, 0.06);

    border-radius:
        14px;

    background:
        rgba(255, 255, 255, 0.018);

    text-align:
        center;
}

.stereo-limits article::after {
    content:
        "";

    width:
        38px;

    height:
        38px;

    display:
        block;
}

.stereo-limits .limit-icon {
    width:
        38px;

    height:
        38px;

    margin:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        11px;

    background:
        rgba(var(--stereo-primary-rgb), 0.11);

    color:
        var(--stereo-primary-light);
}

.stereo-limits .limit-icon svg {
    width:
        19px;

    height:
        19px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.7;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.stereo-limits article > div {
    min-width:
        0;

    width:
        100%;

    display:
        grid;

    justify-items:
        center;

    align-content:
        center;

    gap:
        4px;

    text-align:
        center;
}

.stereo-limits small {
    width:
        100%;

    margin:
        0;

    display:
        block;

    color:
        #6f8b97;

    font-size:
        7px;

    font-weight:
        900;

    line-height:
        1.2;

    letter-spacing:
        0.1em;

    text-align:
        center;

    white-space:
        nowrap;
}

.stereo-limits strong {
    width:
        100%;

    margin:
        0;

    display:
        block;

    color:
        #ffffff;

    font-size:
        11px;

    font-weight:
        900;

    line-height:
        1.2;

    text-align:
        center;

    white-space:
        nowrap;
}

/* =========================================
   BLAD
========================================= */

.download-error {
    position:
        relative;

    z-index:
        2;

    display:
        none;

    margin-top:
        16px;

    padding:
        15px 16px;

    border:
        1px solid rgba(215, 115, 109, 0.38);

    border-radius:
        14px;

    color:
        #ff9b94;

    background:
        rgba(215, 115, 109, 0.075);

    font-size:
        13px;

    line-height:
        1.6;

    text-align:
        left;
}

.download-error.show {
    display:
        block;
}

/* =========================================
   WYNIK
========================================= */

.download-result {
    position:
        relative;

    z-index:
        2;

    display:
        none;

    margin-top:
        16px;

    padding:
        19px;

    border:
        1px solid rgba(
            var(--stereo-primary-rgb),
            0.28
        );

    border-radius:
        16px;

    background:
        linear-gradient(
            145deg,
            rgba(var(--stereo-primary-rgb), 0.1),
            rgba(255, 255, 255, 0.018)
        );

    text-align:
        left;
}

.download-result.show {
    display:
        block;

    animation:
        stereo-result-in
        250ms ease both;
}

.result-heading {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        17px;
}

.result-check {
    width:
        44px;

    height:
        44px;

    display:
        grid;

    place-items:
        center;

    flex:
        0 0 auto;

    border-radius:
        13px;

    background:
        rgba(var(--stereo-primary-rgb), 0.13);

    color:
        var(--stereo-primary-light);
}

.result-check svg {
    width:
        23px;

    height:
        23px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        2;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.result-heading > div {
    min-width:
        0;
}

.result-heading strong,
.result-heading small {
    display:
        block;
}

.result-heading strong {
    color:
        #ffffff;

    font-size:
        14px;
}

.result-heading small {
    max-width:
        100%;

    margin-top:
        4px;

    overflow:
        hidden;

    color:
        var(--stereo-muted);

    font-size:
        11px;

    line-height:
        1.5;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}

.result-label {
    display:
        block;

    margin-bottom:
        7px;

    color:
        #758c96;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}

.result-link-row {
    display:
        grid;

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

    gap:
        8px;
}

.result-link-row input {
    min-width:
        0;

    height:
        48px;

    padding:
        0 14px;

    border:
        1px solid rgba(255, 255, 255, 0.09);

    border-radius:
        12px;

    outline:
        none;

    color:
        var(--stereo-primary-light);

    background:
        rgba(3, 12, 16, 0.8);

    font-family:
        Consolas,
        "Courier New",
        monospace;

    font-size:
        11px;
}

.copy-button {
    min-width:
        94px;

    padding:
        0 14px;

    border:
        1px solid rgba(
            var(--stereo-primary-rgb),
            0.27
        );

    border-radius:
        12px;

    color:
        #dce8ed;

    background:
        rgba(var(--stereo-primary-rgb), 0.08);

    font-size:
        12px;

    font-weight:
        800;

    cursor:
        pointer;
}

.result-download {
    min-height:
        50px;

    margin-top:
        10px;

    padding:
        0 17px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    border:
        1px solid rgba(255, 255, 255, 0.1);

    border-radius:
        12px;

    color:
        #ffffff;

    background:
        rgba(255, 255, 255, 0.035);

    font-size:
        13px;

    font-weight:
        800;

    text-decoration:
        none;
}

.result-download span,
.result-download svg {
    width:
        18px;

    height:
        18px;
}

.result-download svg {
    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.download-security {
    position:
        relative;

    z-index:
        2;

    margin-top:
        18px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    color:
        #6d8691;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        0.06em;

    text-align:
        center;
}

.download-security span,
.download-security svg {
    width:
        16px;

    height:
        16px;
}

.download-security svg {
    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.7;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

/* =========================================
   JAK TO DZIALA
========================================= */

.stereo-guide {
    position:
        relative;

    padding:
        110px 20px 120px;

    background:
        radial-gradient(
            circle at 50% 20%,
            rgba(var(--stereo-primary-rgb), 0.07),
            transparent 34rem
        ),
        linear-gradient(
            to bottom,
            var(--stereo-bg),
            #08171e,
            var(--stereo-bg)
        );
}

.stereo-guide-shell {
    width:
        min(1180px, 100%);

    margin:
        0 auto;
}

.guide-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, 0.58fr);

    align-items:
        end;

    gap:
        70px;
}

.guide-heading > p {
    grid-column:
        1 / -1;

    margin:
        0 0 -48px;

    color:
        var(--stereo-primary-light);

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        0.22em;
}

.guide-heading h2 {
    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(40px, 5vw, 64px);

    font-weight:
        800;

    line-height:
        1.04;

    letter-spacing:
        -0.05em;
}

.guide-heading h2 span {
    color:
        var(--stereo-primary-light);
}

.guide-heading > div {
    color:
        var(--stereo-muted);

    font-size:
        15px;

    line-height:
        1.75;
}

.guide-grid {
    margin-top:
        65px;

    display:
        grid;

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

    align-items:
        center;

    gap:
        17px;
}

.guide-card {
    position:
        relative;

    min-height:
        285px;

    padding:
        28px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        flex-end;

    border:
        1px solid rgba(255, 255, 255, 0.07);

    border-radius:
        24px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 38, 49, 0.94),
            rgba(6, 18, 24, 0.97)
        );

    overflow:
        hidden;

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.guide-card:hover {
    transform:
        translateY(-7px);

    border-color:
        rgba(var(--stereo-primary-rgb), 0.3);

    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.3);
}

.guide-card-active {
    min-height:
        320px;

    border-color:
        rgba(var(--stereo-primary-rgb), 0.31);

    background:
        linear-gradient(
            145deg,
            rgba(var(--stereo-primary-rgb), 0.2),
            rgba(7, 21, 28, 0.98)
        );
}

.guide-number {
    position:
        absolute;

    top:
        25px;

    right:
        25px;

    color:
        rgba(var(--stereo-primary-rgb), 0.25);

    font-size:
        34px;

    font-weight:
        900;
}

.guide-icon {
    position:
        absolute;

    top:
        27px;

    left:
        27px;

    width:
        55px;

    height:
        55px;

    display:
        grid;

    place-items:
        center;

    border-radius:
        17px;

    background:
        rgba(var(--stereo-primary-rgb), 0.12);

    color:
        var(--stereo-primary-light);
}

.guide-icon svg {
    width:
        26px;

    height:
        26px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}

.guide-card h3 {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 12px;

    color:
        #ffffff;

    font-size:
        24px;

    font-weight:
        800;

    letter-spacing:
        -0.03em;
}

.guide-card p {
    position:
        relative;

    z-index:
        2;

    margin:
        0;

    color:
        var(--stereo-muted);

    font-size:
        14px;

    line-height:
        1.7;
}

/* =========================================
   STOPKA
========================================= */

.stereo-footer {
    border-top:
        1px solid rgba(255, 255, 255, 0.075);

    background:
        #040c10;
}

.stereo-footer-inner {
    width:
        min(1180px, calc(100% - 40px));

    min-height:
        110px;

    margin:
        0 auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;
}

.stereo-footer-brand {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;
}

.stereo-footer-brand img {
    width:
        38px;

    height:
        38px;

    object-fit:
        contain;
}

.stereo-footer-brand > div {
    display:
        grid;

    gap:
        2px;
}

.stereo-footer-brand strong {
    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        800;
}

.stereo-footer-brand span,
.stereo-footer-inner > p {
    margin:
        0;

    color:
        #647983;

    font-size:
        11px;
}

/* =========================================
   ANIMACJE
========================================= */

@keyframes stereo-button-spin {
    to {
        transform:
            rotate(360deg);
    }
}

@keyframes stereo-result-in {
    from {
        opacity:
            0;

        transform:
            translateY(8px);
    }

    to {
        opacity:
            1;

        transform:
            translateY(0);
    }
}

/* =========================================
   NISKIE EKRANY KOMPUTEROWE
========================================= */

@media (
    max-height: 820px
) and (
    min-width: 721px
) {
    .stereo-hero {
        padding-top:
            86px;

        padding-bottom:
            24px;
    }

    .stereo-card-wrap {
        transform:
            translateY(-4px);
    }

    .download-card {
        padding-top:
            28px;

        padding-bottom:
            22px;
    }

    .download-icon,
    .download-header-space {
        width:
            66px;

        height:
            66px;
    }

    .download-card-header {
        grid-template-columns:
            66px minmax(0, 1fr) 66px;
    }

    .download-description {
        margin-top:
            21px;

        margin-bottom:
            22px;
    }

    .download-input input {
        min-height:
            58px;
    }

    .download-submit {
        min-height:
            56px;
    }
}

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

@media (max-width: 900px) {
    .guide-heading {
        grid-template-columns:
            1fr;

        gap:
            25px;
    }

    .guide-heading > p {
        margin:
            0;
    }

    .guide-heading > div {
        max-width:
            650px;
    }

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

    .guide-card,
    .guide-card-active {
        min-height:
            245px;
    }
}

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

@media (max-width: 850px) {
    .aves-stereo .nav {
        width:
            min(calc(100% - 28px), 1180px);

        min-height:
            70px;
    }

    .aves-stereo .menu-toggle {
        display:
            inline-flex;

        align-items:
            center;

        justify-content:
            center;
    }

    .aves-stereo .nav-links {
        position:
            absolute;

        top:
            calc(100% + 10px);

        left:
            14px;

        right:
            14px;

        padding:
            10px;

        display:
            grid;

        gap:
            4px;

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

        border-radius:
            15px;

        background:
            rgba(5, 15, 20, 0.98);

        box-shadow:
            0 20px 55px rgba(0, 0, 0, 0.4);

        opacity:
            0;

        visibility:
            hidden;

        transform:
            translateY(-8px);

        transition:
            opacity 160ms ease,
            visibility 160ms ease,
            transform 160ms ease;
    }

    .aves-stereo .nav-links.open {
        opacity:
            1;

        visibility:
            visible;

        transform:
            translateY(0);
    }

    .aves-stereo .nav-links a {
        padding:
            13px 14px;
    }
}

/* =========================================
   TELEFON
========================================= */

@media (max-width: 720px) {
    .stereo-footer-inner {
        width:
            min(calc(100% - 28px), 1180px);
    }

    .stereo-hero {
        min-height:
            auto;

        padding:
            103px 14px 70px;
    }

    .stereo-card-wrap {
        transform:
            none;
    }

    .stereo-status {
        font-size:
            8px;

        letter-spacing:
            0.12em;
    }

    .download-card {
        padding:
            27px 22px 24px;

        border-radius:
            24px;
    }

    .download-card-header {
        grid-template-columns:
            1fr;

        justify-items:
            center;

        gap:
            14px;
    }

    .download-header-space {
        display:
            none;
    }

    .download-icon {
        width:
            62px;

        height:
            62px;

        border-radius:
            18px;
    }

    .download-title {
        width:
            100%;
    }

    .download-card h1 {
        font-size:
            clamp(30px, 9vw, 40px);

        white-space:
            normal;
    }

    .download-description {
        margin-top:
            22px;

        font-size:
            13px;
    }

    .download-form label {
        font-size:
            13px;
    }

    .download-input input {
        min-height:
            60px;

        padding-left:
            69px;

        font-size:
            13px;
    }

    .download-form-meta {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            2px;
    }

    .download-submit {
        min-height:
            58px;

        font-size:
            14px;
    }

    .stereo-limits {
        grid-template-columns:
            1fr;
    }

    .stereo-limits article {
        min-height:
            70px;

        padding:
            10px 12px;

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

    .stereo-limits small {
        font-size:
            8px;
    }

    .result-link-row {
        grid-template-columns:
            1fr;
    }

    .copy-button {
        min-height:
            44px;
    }

    .stereo-guide {
        padding:
            85px 14px 95px;
    }

    .stereo-footer-inner {
        padding:
            28px 0;

        flex-direction:
            column;

        align-items:
            flex-start;
    }
}

@media (max-width: 480px) {
    .download-card {
        padding:
            25px 17px 22px;
    }

    .download-icon {
        width:
            57px;

        height:
            57px;
    }

    .download-card h1 {
        font-size:
            29px;
    }

    .download-input-icon {
        top:
            6px;

        bottom:
            6px;

        left:
            6px;

        width:
            45px;
    }

    .download-input input {
        min-height:
            57px;

        padding:
            0 13px 0 63px;

        font-size:
            12px;
    }

    .download-submit {
        font-size:
            13px;
    }

    .stereo-limits article {
        grid-template-columns:
            36px minmax(0, 1fr) 36px;

        gap:
            8px;
    }

    .stereo-limits article::after {
        width:
            36px;

        height:
            36px;
    }

    .stereo-limits .limit-icon {
        width:
            36px;

        height:
            36px;
    }

    .guide-heading h2 {
        font-size:
            38px;
    }

    .guide-card {
        padding:
            24px;
    }
}

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

    *,
    *::before,
    *::after {
        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            0.01ms !important;

        scroll-behavior:
            auto !important;
    }
}