/*
|--------------------------------------------------------------------------
| Huhu Template
|--------------------------------------------------------------------------
*/


/*
|--------------------------------------------------------------------------
| GLOBAL
|--------------------------------------------------------------------------
*/

.cms-template-huhu {
    background: #ffffff;
    color: #273750;

    font-size: 16px;
    line-height: 1.65;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.cms-template-huhu * {
    box-sizing: border-box;
}

.cms-template-huhu h1,
.cms-template-huhu h2,
.cms-template-huhu h3,
.cms-template-huhu h4 {
    color: #13295b;
    text-wrap: balance;
}

.cms-template-huhu p {
    text-wrap: pretty;
}


/*
|--------------------------------------------------------------------------
| CONTAINER
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-container {
    width: min(
        1240px,
        calc(100% - 48px)
    );

    margin-inline: auto;
}


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

.huhu-hero {
    position: relative;

    overflow: hidden;

    min-height: 470px;

    padding:
        54px
        0
        58px;

    background: #f7fbff;
}


/*
|--------------------------------------------------------------------------
| HERO CONTAINER
|--------------------------------------------------------------------------
*/

.huhu-hero .cms-container {
    position: relative;
    z-index: 3;

    width: min(
        1380px,
        calc(100% - 48px)
    );

    margin-inline: auto;
}


/*
|--------------------------------------------------------------------------
| HERO BACKGROUND
|--------------------------------------------------------------------------
*/

.huhu-hero__bg {
    position: absolute;

    inset: 0;

    z-index: 0;

    background-image:
        var(--huhu-hero-bg);

    background-repeat: no-repeat;

    background-size: cover;

    background-position:
        center right;
}


/*
|--------------------------------------------------------------------------
| HERO GRADIENT
|--------------------------------------------------------------------------
*/

.huhu-hero::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,

            rgba(
                255,
                255,
                255,
                0.99
            )
            0%,

            rgba(
                255,
                255,
                255,
                0.97
            )
            26%,

            rgba(
                255,
                255,
                255,
                0.91
            )
            40%,

            rgba(
                255,
                255,
                255,
                0.72
            )
            52%,

            rgba(
                255,
                255,
                255,
                0.32
            )
            64%,

            rgba(
                255,
                255,
                255,
                0
            )
            78%
        );
}


/*
|--------------------------------------------------------------------------
| HERO LIGHT EFFECT
|--------------------------------------------------------------------------
*/

.huhu-hero::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 2;

    pointer-events: none;

    background:
        radial-gradient(
            circle
            at 16% 18%,

            rgba(
                16,
                174,
                233,
                0.07
            ),

            transparent 30%
        );
}


/*
|--------------------------------------------------------------------------
| HERO CONTENT
|--------------------------------------------------------------------------
*/

.huhu-hero__content {
    position: relative;

    z-index: 4;

    width: 56%;
    max-width: 700px;
}


/*
|--------------------------------------------------------------------------
| EYEBROW
|--------------------------------------------------------------------------
*/

.huhu-eyebrow {
    display: inline-flex;

    margin-bottom: 12px;

    color: #10aee9;

    font-size: 12px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: 0.11em;

    text-transform: uppercase;
}


/*
|--------------------------------------------------------------------------
| HERO TITLE
|--------------------------------------------------------------------------
*/

.huhu-hero__title {
    margin: 0;

    color: #13295b;

    font-size:
        clamp(
            46px,
            4.2vw,
            62px
        );

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -0.045em;
}

.huhu-hero__title > span {
    display: block;

    white-space: nowrap;
}

.huhu-hero__title-accent {
    color: #169df8;
}


/*
|--------------------------------------------------------------------------
| HERO TEXT
|--------------------------------------------------------------------------
*/

.huhu-hero__text {
    max-width: 650px;

    margin-top: 20px;

    color: #22345f;

    font-size: 17px;

    line-height: 1.55;
}


/*
|--------------------------------------------------------------------------
| HERO BUTTONS
|--------------------------------------------------------------------------
*/

.huhu-hero__buttons {
    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 26px;
}


/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.huhu-button {
    display: inline-flex;

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

    gap: 10px;

    min-height: 52px;

    padding:
        0
        26px;

    border-radius: 13px;

    font-size: 15px;

    font-weight: 700;

    line-height: 1;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

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

.huhu-button--primary {
    color: #ffffff;

    background: #169df8;

    border: 1px solid #169df8;

    box-shadow:
        0
        12px
        28px
        rgba(
            22,
            157,
            248,
            0.22
        );
}

.huhu-button--primary:hover {
    color: #ffffff;

    background: #0d91eb;

    border-color: #0d91eb;
}

.huhu-button--secondary {
    color: #147ac5;

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

    border:
        1px solid
        rgba(
            22,
            157,
            248,
            0.32
        );

    backdrop-filter: blur(5px);
}

.huhu-button--secondary:hover {
    color: #169df8;

    background: #ffffff;

    border-color: #169df8;
}


/*
|--------------------------------------------------------------------------
| SECTION TYPOGRAPHY
|--------------------------------------------------------------------------
*/

.huhu-section-title {
    max-width: 760px;

    margin: 0;

    color: #13295b;

    font-size:
        clamp(
            34px,
            3vw,
            46px
        );

    line-height: 1.08;

    letter-spacing: -0.035em;

    font-weight: 800;
}

.huhu-section-intro {
    max-width: 690px;

    margin:
        16px
        0
        0;

    color: #68758a;

    font-size: 16px;

    line-height: 1.65;
}


/*
|--------------------------------------------------------------------------
| FEATURES
|--------------------------------------------------------------------------
*/

.huhu-features {
    position: relative;

    z-index: 5;

    padding:
        0
        0
        30px;

    background: #ffffff;
}

.huhu-features__grid {
    display: grid;

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

    gap: 16px;

    margin-top: -28px;
}

.huhu-feature {
    display: flex;

    align-items: center;

    gap: 18px;

    min-height: 112px;

    padding:
        24px
        28px;

    background: #ffffff;

    border:
        1px solid #e8eef4;

    border-radius: 18px;

    box-shadow:
        0
        12px
        35px
        rgba(
            28,
            62,
            91,
            0.08
        );
}

.huhu-feature__icon {
    display: flex;

    flex: 0 0 54px;

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

    width: 54px;
    height: 54px;

    border-radius: 16px;

    background:
        rgba(
            16,
            174,
            233,
            0.09
        );

    color: #10aee9;
}

.huhu-feature__icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.huhu-feature__icon img {
    width: 30px;
    height: 30px;

    object-fit: contain;
}

.huhu-feature__title {
    margin: 0;

    color: #13295b;

    font-size: 17px;
    font-weight: 800;
}

.huhu-feature__text {
    margin-top: 5px;

    color: #738095;

    font-size: 14px;

    line-height: 1.45;
}

.huhu-feature__text p {
    margin: 0;
}


/*
|--------------------------------------------------------------------------
| CARE
|--------------------------------------------------------------------------
*/

.huhu-care {
    padding:
        76px
        0;

    background: #ffffff;
}

.huhu-care__grid {
    display: grid;

    grid-template-columns:
        minmax(0, 0.88fr)
        minmax(0, 1.12fr);

    align-items: center;

    gap: 72px;
}

.huhu-care--image-left
.huhu-care__visual {
    order: -1;
}

.huhu-care__content {
    max-width: 560px;
}

.huhu-care__title {
    margin: 0;

    color: #13295b;

    font-size:
        clamp(
            36px,
            3.4vw,
            50px
        );

    line-height: 1.08;

    letter-spacing: -0.04em;

    font-weight: 800;
}

.huhu-care__text {
    margin-top: 22px;

    color: #68758a;

    font-size: 17px;

    line-height: 1.7;
}

.huhu-care__text p {
    margin:
        0
        0
        14px;
}

.huhu-care__text p:last-child {
    margin-bottom: 0;
}

.huhu-care__button {
    margin-top: 28px;
}

.huhu-care__visual {
    overflow: hidden;

    border-radius: 22px;

    box-shadow:
        0
        24px
        60px
        rgba(
            38,
            69,
            98,
            0.13
        );
}

.huhu-care__image {
    display: block;

    width: 100%;

    height: auto;

    aspect-ratio: 16 / 9;

    object-fit: cover;
}


/*
|--------------------------------------------------------------------------
| SERVICES
|--------------------------------------------------------------------------
*/

.huhu-services {
    padding:
        76px
        0
        82px;

    background:
        linear-gradient(
            180deg,
            #f7fbfe 0%,
            #ffffff 100%
        );
}

.huhu-services__header {
    display: flex;

    align-items: end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 30px;
}

.huhu-services__grid {
    display: grid;

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

    gap: 16px;
}

.huhu-service-card {
    display: flex;

    align-items: flex-start;

    gap: 18px;

    min-height: 136px;

    padding: 25px;

    background: #ffffff;

    border:
        1px solid #e8eef4;

    border-radius: 18px;

    box-shadow:
        0
        8px
        28px
        rgba(
            40,
            70,
            96,
            0.06
        );

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.huhu-service-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(
            16,
            174,
            233,
            0.26
        );

    box-shadow:
        0
        15px
        38px
        rgba(
            40,
            70,
            96,
            0.10
        );
}

.huhu-service-card__icon {
    display: flex;

    flex: 0 0 50px;

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

    width: 50px;
    height: 50px;

    border-radius: 14px;

    color: #10aee9;

    background:
        rgba(
            16,
            174,
            233,
            0.09
        );
}

.huhu-service-card__icon svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.huhu-service-card__icon img {
    width: 29px;
    height: 29px;

    object-fit: contain;
}

.huhu-service-card__title {
    margin:
        1px
        0
        0;

    color: #13295b;

    font-size: 17px;

    font-weight: 800;

    line-height: 1.3;
}

.huhu-service-card__text {
    margin:
        7px
        0
        0;

    color: #738095;

    font-size: 14px;

    line-height: 1.5;
}

.huhu-service-card__link {
    display: inline-block;

    margin-top: 10px;

    color: #10aee9;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;
}


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

.huhu-process {
    padding:
        28px
        0
        78px;

    background: #ffffff;
}

.huhu-process__panel {
    padding:
        48px
        48px
        50px;

    border:
        1px solid #e5f2f8;

    border-radius: 24px;

    background:
        linear-gradient(
            135deg,
            #f4fbff 0%,
            #edf8fd 55%,
            #f8fcfe 100%
        );
}

.huhu-process__header {
    margin-bottom: 34px;
}

.huhu-process__header
.huhu-section-intro {
    max-width: 640px;
}

.huhu-process__steps {
    display: grid;

    grid-template-columns:
        repeat(
            var(--huhu-process-columns),
            minmax(0, 1fr)
        );

    gap: 0;
}

.huhu-process__step {
    position: relative;

    display: grid;

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

    align-items: start;

    gap: 18px;

    padding:
        8px
        38px
        8px
        0;
}

.huhu-process__step:not(:first-child) {
    padding-left: 38px;
}

.huhu-process__number {
    display: flex;

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

    width: 58px;
    height: 58px;

    border-radius: 50%;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #27b6f2,
            #158ee8
        );

    box-shadow:
        0
        9px
        24px
        rgba(
            16,
            174,
            233,
            0.20
        );

    font-size: 20px;
    font-weight: 800;

    line-height: 1;
}

.huhu-process__content {
    padding-top: 4px;
}

.huhu-process__title {
    margin: 0;

    color: #13295b;

    font-size: 17px;

    font-weight: 800;

    line-height: 1.35;
}

.huhu-process__text {
    margin:
        7px
        0
        0;

    color: #708096;

    font-size: 14px;

    line-height: 1.55;
}

.huhu-process__arrow {
    position: absolute;

    top: 22px;
    right: 5px;

    color: #1aa6eb;

    font-size: 25px;

    font-weight: 400;

    line-height: 1;
}


/*
|--------------------------------------------------------------------------
| CONTACT + FAQ — 3 KOLUMNY
|--------------------------------------------------------------------------
*/

.huhu-contact-section {
    padding:
        62px
        0
        72px;

    background:
        linear-gradient(
            180deg,
            #f8fcff 0%,
            #ffffff 100%
        );
}


.huhu-contact-section .cms-container {
    width:
        min(
            1380px,
            calc(100% - 48px)
        );
}


/*
|--------------------------------------------------------------------------
| GRID
|--------------------------------------------------------------------------
*/

.huhu-contact-section__grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(220px, 0.72fr)
        minmax(320px, 1fr);

    align-items: stretch;

    gap: 16px;
}


/*
|--------------------------------------------------------------------------
| WSPÓLNA KARTA
|--------------------------------------------------------------------------
*/

.huhu-contact-section__faq,
.huhu-contact-section__info,
.huhu-contact-section__form {
    min-width: 0;

    background: #ffffff;

    border:
        1px solid #e8f0f6;

    border-radius: 20px;

    box-shadow:
        0
        12px
        38px
        rgba(
            36,
            70,
            102,
            0.055
        );
}


/*
|--------------------------------------------------------------------------
| FAQ COLUMN
|--------------------------------------------------------------------------
*/

.huhu-contact-section__faq {
    padding:
        26px
        24px;
}


/*
|--------------------------------------------------------------------------
| TITLES
|--------------------------------------------------------------------------
*/

.huhu-contact-section__title {
    margin: 0;

    color: #13295b;

    font-size:
        clamp(
            25px,
            2.1vw,
            31px
        );

    font-weight: 800;

    line-height: 1.1;

    letter-spacing: -0.035em;
}


.huhu-contact-section__faq-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}


/*
|--------------------------------------------------------------------------
| FAQ
|--------------------------------------------------------------------------
*/

.huhu-faq {
    display: flex;

    flex-direction: column;

    gap: 10px;

    margin: 0;
}


.huhu-faq__item {
    margin: 0;

    overflow: hidden;

    background: #ffffff;

    border:
        1px solid #dce8f1;

    border-radius: 11px;

    box-shadow: none;
}


.huhu-faq__question {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    min-height: 55px;

    padding:
        13px
        16px;

    cursor: pointer;

    list-style: none;

    color: #1e3b6d;

    font-size: 14px;

    font-weight: 550;

    line-height: 1.4;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}


.huhu-faq__question::-webkit-details-marker {
    display: none;
}


.huhu-faq__question::marker {
    content: "";
}


.huhu-faq__question:hover {
    color: #108fd9;

    background: #fbfdff;
}


/*
|--------------------------------------------------------------------------
| FAQ ARROW
|--------------------------------------------------------------------------
*/

.huhu-faq__chevron {
    display: flex;

    flex:
        0
        0
        24px;

    align-items: center;

    justify-content: center;

    width: 24px;

    height: 24px;

    color: #078ee8;

    transition:
        transform 0.2s ease;
}


.huhu-faq__chevron svg {
    width: 18px;

    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 2.2;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.huhu-faq__item[open]
.huhu-faq__chevron {
    transform:
        rotate(180deg);
}


/*
|--------------------------------------------------------------------------
| FAQ ANSWER
|--------------------------------------------------------------------------
*/

.huhu-faq__answer {
    padding:
        0
        16px
        15px;

    color: #687992;

    font-size: 13px;

    line-height: 1.6;
}


.huhu-faq__answer p {
    margin:
        0
        0
        10px;
}


.huhu-faq__answer p:last-child {
    margin-bottom: 0;
}


/*
|--------------------------------------------------------------------------
| CONTACT INFO COLUMN
|--------------------------------------------------------------------------
*/

.huhu-contact-section__info {
    position: relative;

    padding:
        27px
        25px
        25px;

    overflow: hidden;
}


/*
|--------------------------------------------------------------------------
| CONTACT LEAD
|--------------------------------------------------------------------------
*/

.huhu-contact-section__lead {
    margin:
        11px
        0
        22px;

    color: #6f819a;

    font-size: 12px;

    line-height: 1.55;
}


/*
|--------------------------------------------------------------------------
| CONTACT DETAILS
|--------------------------------------------------------------------------
*/

.huhu-contact-data {
    display: flex;

    flex-direction: column;

    gap: 13px;
}


.huhu-contact-data__item {
    display: flex;

    align-items: center;

    gap: 11px;

    color: #213c6c;

    font-size: 14px;

    font-weight: 550;

    line-height: 1.35;

    text-decoration: none;
}


a.huhu-contact-data__item:hover {
    color: #0d99e8;
}


/*
|--------------------------------------------------------------------------
| CONTACT ICONS
|--------------------------------------------------------------------------
*/

.huhu-contact-data__icon {
    display: flex;

    flex:
        0
        0
        25px;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 25px;

    color: #0a9cf0;
}


.huhu-contact-data__icon svg {
    width: 21px;

    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.9;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/*
|--------------------------------------------------------------------------
| MOTTO
|--------------------------------------------------------------------------
*/

.huhu-contact-motto {
    position: absolute;

    left: 27px;

    right: 20px;

    bottom: 23px;

    display: flex;

    flex-direction: column;

    color: #285ca4;

    font-family:
        "Comic Sans MS",
        "Segoe Print",
        cursive;

    font-size: 18px;

    line-height: 1.25;

    transform:
        rotate(-5deg);
}


.huhu-contact-motto span:nth-child(2) {
    margin-left: 12px;
}


.huhu-contact-motto__smile {
    position: absolute;

    right: 2px;

    bottom: 0;

    font-family:
        Arial,
        sans-serif;

    font-size: 34px;

    font-weight: 400;

    transform:
        rotate(5deg);
}


/*
|--------------------------------------------------------------------------
| FORM COLUMN
|--------------------------------------------------------------------------
*/

.huhu-contact-section__form {
    padding:
        13px;
}


.huhu-contact-form-panel {
    height: 100%;

    padding:
        0;

    background: transparent;
}


/*
|--------------------------------------------------------------------------
| RESET DOMYŚLNEGO CONTACT FORM
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel section {
    margin: 0 !important;

    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;
}


.huhu-contact-form-panel
.cms-container {
    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;
}


/*
|--------------------------------------------------------------------------
| UKRYJ NAGŁÓWEK FORMULARZA
|--------------------------------------------------------------------------
|
| W projekcie formularz jest trzecią kolumną bez dodatkowego H2.
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel
.cms-section-header,

.huhu-contact-form-panel
.cms-block-header {
    display: none !important;
}


/*
|--------------------------------------------------------------------------
| FORM
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel form {
    display: grid;

    gap: 10px;

    margin: 0;
}


/*
|--------------------------------------------------------------------------
| FORM LABEL
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel label {
    display: block;

    margin-bottom: 5px;

    color: #557197;

    font-size: 11px;

    font-weight: 550;
}


/*
|--------------------------------------------------------------------------
| INPUTS
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel
input:not([type="checkbox"]):not([type="radio"]),

.huhu-contact-form-panel
textarea,

.huhu-contact-form-panel
select {
    width: 100%;

    min-height: 47px;

    padding:
        10px
        13px;

    color: #1d385e;

    background: #ffffff;

    border:
        1px solid #dce8f1;

    border-radius: 9px;

    outline: none;

    font: inherit;

    font-size: 13px;

    box-shadow:
        inset
        0
        1px
        2px
        rgba(
            29,
            61,
            93,
            0.02
        );

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.huhu-contact-form-panel textarea {
    min-height: 100px;

    resize: vertical;
}


/*
|--------------------------------------------------------------------------
| FOCUS
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel
input:not([type="checkbox"]):not([type="radio"]):focus,

.huhu-contact-form-panel
textarea:focus,

.huhu-contact-form-panel
select:focus {
    border-color: #16a8ef;

    box-shadow:
        0
        0
        0
        3px
        rgba(
            16,
            168,
            239,
            0.09
        );
}


/*
|--------------------------------------------------------------------------
| CHECKBOX
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel
input[type="checkbox"] {
    accent-color: #0da3ed;
}


/*
|--------------------------------------------------------------------------
| BUTTON
|--------------------------------------------------------------------------
*/

.huhu-contact-form-panel
button[type="submit"] {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    width: 100%;

    min-height: 50px;

    padding:
        0
        20px;

    margin-top: 2px;

    border: 0;

    border-radius: 9px;

    cursor: pointer;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #2db8f2 0%,
            #0098ed 100%
        );

    font-size: 14px;

    font-weight: 700;

    box-shadow:
        0
        8px
        20px
        rgba(
            0,
            152,
            237,
            0.16
        );

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.huhu-contact-form-panel
button[type="submit"]:hover {
    transform:
        translateY(-1px);

    box-shadow:
        0
        11px
        25px
        rgba(
            0,
            152,
            237,
            0.22
        );
}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media (max-width: 1100px) {

    .huhu-contact-section__grid {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(220px, 0.8fr);

        gap: 16px;
    }


    .huhu-contact-section__form {
        grid-column:
            1 / -1;
    }


    .huhu-contact-motto {
        position: relative;

        left: auto;
        right: auto;
        bottom: auto;

        margin-top: 35px;
    }

}


/*
|--------------------------------------------------------------------------
| MOBILE / TABLET
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

    .huhu-contact-section {
        padding:
            54px
            0;
    }


    .huhu-contact-section__grid {
        grid-template-columns:
            1fr;
    }


    .huhu-contact-section__faq,
    .huhu-contact-section__info,
    .huhu-contact-section__form {
        border-radius: 16px;
    }


    .huhu-contact-section__faq {
        padding:
            23px
            18px;
    }


    .huhu-contact-section__info {
        padding:
            25px
            21px;
    }


    .huhu-contact-section__form {
        grid-column: auto;

        padding: 14px;
    }


    .huhu-contact-motto {
        margin-top: 35px;

        max-width: 220px;
    }

}

/*
|--------------------------------------------------------------------------
| FOOTER
|--------------------------------------------------------------------------
*/

.huhu-footer {
    background: #13295b;

    border-top:
        1px solid #e6edf5;
}

.huhu-footer .cms-container {
    width:
        min(
            1380px,
            calc(100% - 48px)
        );

    margin-inline: auto;
}


/*
|--------------------------------------------------------------------------
| FOOTER ROW
|--------------------------------------------------------------------------
*/

.huhu-footer__row {
    display: grid;

    grid-template-columns:
        minmax(190px, 1.15fr)
        minmax(400px, 2.6fr)
        auto
        minmax(150px, 0.8fr);

    align-items: center;

    gap: 38px;

    min-height: 110px;

    padding:
        14px
        0;
}


/*
|--------------------------------------------------------------------------
| FOOTER BRAND
|--------------------------------------------------------------------------
*/

.huhu-footer__brand {
    display: flex;

    flex-direction: column;

    align-items: flex-start;
}


/*
|--------------------------------------------------------------------------
| FOOTER LOGO
|--------------------------------------------------------------------------
*/

.huhu-footer__logo {
    display: inline-flex;

    align-items: center;

    text-decoration: none;
}

.huhu-footer__logo img {
    display: block;

    width: auto;

    max-width: 112px;
    max-height: 42px;

    object-fit: contain;
}

.huhu-footer__logo-text {
    padding:
        4px
        10px;

    border-radius: 9px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #169df8,
            #087bd7
        );

    font-size: 25px;

    font-weight: 800;

    line-height: 1;
}

.huhu-footer__logo-text span {
    margin-left: 5px;

    color: #2e66a8;

    background: #ffffff;
}


/*
|--------------------------------------------------------------------------
| FOOTER TAGLINE
|--------------------------------------------------------------------------
*/

.huhu-footer__tagline {
    margin-top: 8px;

    color: #6683af;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.3;

    white-space: nowrap;
}

.huhu-footer__tagline span {
    margin:
        0
        4px;

    color: #adc2d8;
}


/*
|--------------------------------------------------------------------------
| FOOTER MENU
|--------------------------------------------------------------------------
*/

.huhu-footer__nav {
    justify-self: center;
}

.huhu-footer__menu {
    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap:
        12px
        30px;

    margin: 0;

    padding: 0;

    list-style: none;
}

.huhu-footer__menu li {
    margin: 0;

    padding: 0;

    list-style: none;
}

.huhu-footer__menu a {
    color: #5578ab;

    font-size: 13px;

    font-weight: 500;

    line-height: 1.3;

    text-decoration: none;

    transition:
        color 0.2s ease;
}

.huhu-footer__menu a:hover {
    color: #10aee9;
}


/*
|--------------------------------------------------------------------------
| FOOTER SOCIAL
|--------------------------------------------------------------------------
*/

.huhu-footer__social {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    white-space: nowrap;
}

.huhu-footer__social-link {
    display: flex;

    align-items: center;

    justify-content: center;

    width: 27px;
    height: 27px;

    color: #ffffff;

    background: #1264ad;

    border-radius: 50%;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.huhu-footer__social-link:hover {
    background: #10aee9;

    transform: translateY(-2px);
}

.huhu-footer__social-link svg {
    width: 17px;
    height: 17px;

    fill: currentColor;
}


/*
|--------------------------------------------------------------------------
| FOOTER COPYRIGHT
|--------------------------------------------------------------------------
*/

.huhu-footer__copyright {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    justify-content: center;

    color: #6780a1;

    font-size: 11px;

    line-height: 1.45;

    white-space: nowrap;
}


/*
|--------------------------------------------------------------------------
| <= 1150px
|--------------------------------------------------------------------------
*/

@media (max-width: 1150px) {

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

    .huhu-hero__content {
        width: 58%;

        max-width: 620px;
    }

    .huhu-hero__title {
        font-size: 48px;
    }


    /*
    |--------------------------------------------------------------------------
    | FOOTER
    |--------------------------------------------------------------------------
    */

    .huhu-footer__row {
        grid-template-columns:
            minmax(180px, 1fr)
            minmax(330px, 2fr)
            auto;

        gap: 30px;
    }

    .huhu-footer__copyright {
        grid-column: 3;

        margin-top: -22px;

        transform: translateY(32px);
    }

}


/*
|--------------------------------------------------------------------------
| <= 1100px
|--------------------------------------------------------------------------
*/

@media (max-width: 1100px) {

    .huhu-hero {
        min-height: 450px;

        padding:
            52px
            0
            56px;
    }

    .huhu-hero__text {
        max-width: 580px;

        font-size: 16px;
    }

    .huhu-hero::before {
        background:
            linear-gradient(
                90deg,

                rgba(
                    255,
                    255,
                    255,
                    0.99
                )
                0%,

                rgba(
                    255,
                    255,
                    255,
                    0.96
                )
                30%,

                rgba(
                    255,
                    255,
                    255,
                    0.87
                )
                44%,

                rgba(
                    255,
                    255,
                    255,
                    0.60
                )
                58%,

                rgba(
                    255,
                    255,
                    255,
                    0.15
                )
                75%,

                rgba(
                    255,
                    255,
                    255,
                    0
                )
                100%
            );
    }

}


/*
|--------------------------------------------------------------------------
| <= 980px
|--------------------------------------------------------------------------
*/

@media (max-width: 980px) {

    /*
    |--------------------------------------------------------------------------
    | FEATURES
    |--------------------------------------------------------------------------
    */

    .huhu-features__grid {
        grid-template-columns: 1fr;

        margin-top: 0;
    }


    /*
    |--------------------------------------------------------------------------
    | CARE
    |--------------------------------------------------------------------------
    */

    .huhu-care__grid {
        grid-template-columns: 1fr;

        gap: 42px;
    }

    .huhu-care__content {
        max-width: 700px;
    }

    .huhu-care--image-left
    .huhu-care__visual {
        order: initial;
    }


    /*
    |--------------------------------------------------------------------------
    | SERVICES
    |--------------------------------------------------------------------------
    */

    .huhu-services__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


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

    .huhu-process {
        padding:
            20px
            0
            70px;
    }

    .huhu-process__panel {
        padding:
            40px
            34px;
    }

    .huhu-process__steps {
        grid-template-columns: 1fr;

        gap: 24px;
    }

    .huhu-process__step,
    .huhu-process__step:not(:first-child) {
        padding:
            0
            0
            24px;
    }

    .huhu-process__step:not(:last-child) {
        border-bottom:
            1px solid
            rgba(
                16,
                174,
                233,
                0.12
            );
    }

    .huhu-process__arrow {
        display: none;
    }


    /*
    |--------------------------------------------------------------------------
    | FAQ + CONTACT
    |--------------------------------------------------------------------------
    */

    .huhu-faq-contact {
        padding:
            70px
            0;
    }

    .huhu-faq-contact__grid {
        grid-template-columns: 1fr;

        gap: 52px;
    }

    .huhu-faq-contact__faq {
        max-width: 760px;
    }

    .huhu-contact-card {
        max-width: 760px;
    }

}


/*
|--------------------------------------------------------------------------
| <= 900px
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .huhu-footer__row {
        grid-template-columns:
            1fr
            auto;

        gap:
            26px
            30px;

        padding:
            28px
            0;
    }

    .huhu-footer__brand {
        grid-column: 1;
    }

    .huhu-footer__nav {
        grid-column:
            1 / -1;

        grid-row: 2;

        justify-self: start;
    }

    .huhu-footer__menu {
        justify-content: flex-start;
    }

    .huhu-footer__social {
        grid-column: 2;

        grid-row: 1;

        justify-self: end;
    }

    .huhu-footer__copyright {
        grid-column:
            1 / -1;

        grid-row: 3;

        margin: 0;

        transform: none;

        flex-direction: row;

        gap: 8px;
    }

}




/*
|--------------------------------------------------------------------------
| <= 767px
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

    /*
    |--------------------------------------------------------------------------
    | CONTAINER
    |--------------------------------------------------------------------------
    */

    .cms-template-huhu
    .cms-container {
        width:
            min(
                calc(100% - 32px),
                720px
            );
    }


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

    .huhu-hero {
        min-height: auto;

        padding:
            44px
            0
            48px;
    }

    .huhu-hero
    .cms-container {
        width:
            min(
                calc(100% - 32px),
                720px
            );
    }

    .huhu-hero__content {
        width: 100%;

        max-width: 100%;
    }

    .huhu-hero__title {
        font-size:
            clamp(
                38px,
                10vw,
                46px
            );

        line-height: 1.05;
    }

    .huhu-hero__title > span {
        white-space: normal;
    }

    .huhu-hero__text {
        max-width: 100%;

        margin-top: 20px;

        font-size: 16px;

        line-height: 1.6;
    }

    .huhu-hero__bg {
        background-position:
            68% center;
    }

    .huhu-hero::before {
        background:
            linear-gradient(
                180deg,

                rgba(
                    255,
                    255,
                    255,
                    0.94
                )
                0%,

                rgba(
                    255,
                    255,
                    255,
                    0.91
                )
                40%,

                rgba(
                    255,
                    255,
                    255,
                    0.84
                )
                100%
            );
    }

    .huhu-hero__buttons {
        margin-top: 24px;
    }

}


/*
|--------------------------------------------------------------------------
| <= 640px
|--------------------------------------------------------------------------
*/

@media (max-width: 640px) {

    /*
    |--------------------------------------------------------------------------
    | TYPOGRAPHY
    |--------------------------------------------------------------------------
    */

    .huhu-care__title,
    .huhu-section-title {
        font-size: 34px;
    }


    /*
    |--------------------------------------------------------------------------
    | FEATURES
    |--------------------------------------------------------------------------
    */

    .huhu-feature {
        min-height: auto;

        padding: 21px;
    }


    /*
    |--------------------------------------------------------------------------
    | CARE
    |--------------------------------------------------------------------------
    */

    .huhu-care {
        padding:
            60px
            0;
    }


    /*
    |--------------------------------------------------------------------------
    | SERVICES
    |--------------------------------------------------------------------------
    */

    .huhu-services {
        padding:
            62px
            0
            68px;
    }

    .huhu-services__grid {
        grid-template-columns: 1fr;
    }

    .huhu-service-card {
        min-height: auto;
    }


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

    .huhu-process {
        padding:
            10px
            0
            60px;
    }

    .huhu-process__panel {
        padding:
            32px
            22px;

        border-radius: 18px;
    }

    .huhu-process__header {
        margin-bottom: 30px;
    }

    .huhu-process__step {
        grid-template-columns:
            48px
            minmax(0, 1fr);

        gap: 15px;
    }

    .huhu-process__number {
        width: 48px;
        height: 48px;

        font-size: 17px;
    }

    .huhu-process__title {
        font-size: 16px;
    }

    .huhu-process__text {
        font-size: 14px;
    }


    /*
    |--------------------------------------------------------------------------
    | FAQ + CONTACT
    |--------------------------------------------------------------------------
    */

    .huhu-faq-contact {
        padding:
            58px
            0
            62px;
    }

    .huhu-faq-contact__grid {
        gap: 38px;
    }

    .huhu-faq__question {
        padding: 18px;

        font-size: 15px;
    }

    .huhu-faq__answer {
        padding:
            0
            18px
            18px;
    }

    .huhu-contact-card {
        padding:
            28px
            20px;

        border-radius: 18px;
    }

    .huhu-contact-card
    button[type="submit"] {
        width: 100%;
    }


    /*
    |--------------------------------------------------------------------------
    | FOOTER
    |--------------------------------------------------------------------------
    */

    .huhu-footer
    .cms-container {
        width:
            min(
                calc(100% - 32px),
                600px
            );
    }

    .huhu-footer__row {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 24px;

        min-height: auto;

        padding:
            34px
            0;
    }

    .huhu-footer__logo img {
        max-width: 110px;
    }

    .huhu-footer__menu {
        justify-content: flex-start;

        gap:
            10px
            22px;
    }

    .huhu-footer__social {
        justify-content: flex-start;
    }

    .huhu-footer__copyright {
        flex-direction: column;

        gap: 2px;

        width: 100%;

        padding-top: 16px;

        border-top:
            1px solid #edf2f7;
    }

}


/*
|--------------------------------------------------------------------------
| <= 560px
|--------------------------------------------------------------------------
*/

@media (max-width: 560px) {

    .huhu-hero {
        padding:
            38px
            0
            42px;
    }

    .huhu-hero__title {
        font-size: 38px;
    }

    .huhu-hero__buttons {
        flex-direction: column;

        gap: 10px;
    }

    .huhu-button {
        width: 100%;

        min-height: 50px;
    }

}


/*
|--------------------------------------------------------------------------
| INNER
|--------------------------------------------------------------------------
*/

.huhu-text__inner {
    width: 100%;
}


/*
|--------------------------------------------------------------------------
| WIDTH
|--------------------------------------------------------------------------
*/

.huhu-text--narrow
.huhu-text__inner {
    max-width: 760px;
}


.huhu-text--normal
.huhu-text__inner {
    max-width: 960px;
}


.huhu-text--wide
.huhu-text__inner {
    max-width: 1180px;
}


/*
|--------------------------------------------------------------------------
| ALIGNMENT
|--------------------------------------------------------------------------
*/

.huhu-text--left
.huhu-text__inner {
    margin-right: auto;

    text-align: left;
}


.huhu-text--center
.huhu-text__inner {
    margin-right: auto;
    margin-left: auto;

    text-align: center;
}


/*
|--------------------------------------------------------------------------
| TITLE
|--------------------------------------------------------------------------
*/

.huhu-text__title {
    margin:
        0
        0
        22px;

    color: #162d59;

    font-size:
        clamp(
            34px,
            3.3vw,
            46px
        );

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -0.035em;
}


/*
|--------------------------------------------------------------------------
| CONTENT
|--------------------------------------------------------------------------
*/

.huhu-text__content {
    color: #60728c;

    font-size: 16px;

    line-height: 1.75;
}


.huhu-text__content > *:first-child {
    margin-top: 0;
}


.huhu-text__content > *:last-child {
    margin-bottom: 0;
}


/*
|--------------------------------------------------------------------------
| PARAGRAPHS
|--------------------------------------------------------------------------
*/

.huhu-text__content p {
    margin:
        0
        0
        18px;
}


/*
|--------------------------------------------------------------------------
| H2 / H3 / H4 WEWNĄTRZ TREŚCI
|--------------------------------------------------------------------------
*/

.huhu-text__content h2,
.huhu-text__content h3,
.huhu-text__content h4 {
    color: #162d59;

    font-weight: 750;

    line-height: 1.2;

    letter-spacing: -0.025em;
}


.huhu-text__content h2 {
    margin:
        38px
        0
        17px;

    font-size: 30px;
}


.huhu-text__content h3 {
    margin:
        30px
        0
        14px;

    font-size: 24px;
}


.huhu-text__content h4 {
    margin:
        25px
        0
        12px;

    font-size: 20px;
}


/*
|--------------------------------------------------------------------------
| LISTS
|--------------------------------------------------------------------------
*/

.huhu-text__content ul,
.huhu-text__content ol {
    margin:
        20px
        0;

    padding-left: 24px;
}


.huhu-text__content li {
    margin-bottom: 8px;

    padding-left: 4px;
}


/*
|--------------------------------------------------------------------------
| Huhu — listy z ptaszkami
|--------------------------------------------------------------------------
*/

.huhu-text__content ul {
    list-style: none;
    padding-left: 0;
}


.huhu-text__content ul > li {
    position: relative;

    padding-left: 30px;

    margin-bottom: 10px;
}


.huhu-text__content ul > li::before {
    content: "✓";

    position: absolute;

    left: 0;
    top: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 20px;
    height: 20px;

    margin-top: 2px;

    color: #ffffff;

    background: #159ff1;

    border-radius: 50%;

    font-size: 12px;

    font-weight: 800;

    line-height: 1;
}

/*
|--------------------------------------------------------------------------
| LINKS
|--------------------------------------------------------------------------
*/

.huhu-text__content a {
    color: #0799ec;

    font-weight: 600;

    text-decoration: none;

    transition:
        color 0.2s ease;
}


.huhu-text__content a:hover {
    color: #0879c1;

    text-decoration: underline;
}


/*
|--------------------------------------------------------------------------
| STRONG
|--------------------------------------------------------------------------
*/

.huhu-text__content strong {
    color: #263d61;

    font-weight: 700;
}


/*
|--------------------------------------------------------------------------
| BLOCKQUOTE
|--------------------------------------------------------------------------
*/

.huhu-text__content blockquote {
    margin:
        28px
        0;

    padding:
        18px
        22px;

    color: #47627f;

    background: #f4faff;

    border-left:
        4px solid #17a5ef;

    border-radius:
        0
        10px
        10px
        0;
}


/*
|--------------------------------------------------------------------------
| CENTER ALIGNMENT
|--------------------------------------------------------------------------
*/

.huhu-text--center
.huhu-text__content ul,

.huhu-text--center
.huhu-text__content ol {
    display: inline-block;

    text-align: left;
}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

    .huhu-text {
        padding:
            54px
            0;
    }


    .huhu-text__title {
        margin-bottom: 18px;

        font-size:
            clamp(
                30px,
                9vw,
                38px
            );
    }


    .huhu-text__content {
        font-size: 15px;

        line-height: 1.7;
    }


    .huhu-text__content h2 {
        font-size: 26px;
    }


    .huhu-text__content h3 {
        font-size: 22px;
    }

}

/*
|--------------------------------------------------------------------------
| Huhu — listy numerowane w niebieskich kółkach
|--------------------------------------------------------------------------
*/

.huhu-text__content ol {
    list-style: none;
    padding-left: 0;
    counter-reset: huhu-counter;
}


.huhu-text__content ol > li {
    position: relative;

    padding-left: 38px;

    margin-bottom: 12px;

    counter-increment: huhu-counter;
}


.huhu-text__content ol > li::before {
    content: counter(huhu-counter);

    position: absolute;

    left: 0;
    top: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 24px;
    height: 24px;

    margin-top: 1px;

    color: #ffffff;

    background: #159ff1;

    border-radius: 50%;

    font-size: 12px;

    font-weight: 800;

    line-height: 1;
}

/*
|--------------------------------------------------------------------------
| Huhu — jednolite odstępy między sekcjami
|--------------------------------------------------------------------------
*/

.cms-template-huhu {
    --huhu-section-spacing: 26px;
}


.cms-template-huhu .huhu-text,
.cms-template-huhu .huhu-care,
.cms-template-huhu .huhu-services,
.cms-template-huhu .huhu-process,
.cms-template-huhu .huhu-contact-section {
    padding-top: var(--huhu-section-spacing);
    padding-bottom: var(--huhu-section-spacing);
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 767px) {

    .cms-template-huhu {
        --huhu-section-spacing: 22px;
    }

}


/*
|--------------------------------------------------------------------------
| Huhu — HEADER / MENU — FINAL
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-header {
    position: relative;
    z-index: 1000;

    width: 100%;

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

    box-shadow:
        0 4px 20px
        rgba(0, 0, 0, 0.08);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.cms-template-huhu .cms-header--solid {
    background: #13295b;
}

.cms-template-huhu .cms-header--sticky {
    position: sticky;
    top: 0;
}


/*
|--------------------------------------------------------------------------
| Header inner
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-header__inner {
    display: flex;

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

    gap: 36px;

    min-height: 74px;
}


/*
|--------------------------------------------------------------------------
| Logo
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-logo {
    display: flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none;
}

.cms-template-huhu .cms-logo__image {
    display: block;

    width: auto;

    max-width: 130px;
    max-height: 46px;

    object-fit: contain;
}

.cms-template-huhu .cms-logo__text {
    color: #ffffff;

    font-size: 27px;
    font-weight: 800;

    letter-spacing: -0.04em;
}


/*
|--------------------------------------------------------------------------
| Nawigacja desktop
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-nav {
    display: flex;

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

    gap: 28px;

    margin-left: auto;
}

.cms-template-huhu .cms-nav__mobile-header {
    display: none;
}

.cms-template-huhu .cms-nav__list {
    display: flex;

    align-items: center;

    column-gap: 28px;
    row-gap: 0;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cms-template-huhu .cms-nav__item {
    position: relative;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cms-template-huhu .cms-nav__link-row {
    display: flex;

    align-items: center;

    width: 100%;
}

.cms-template-huhu .cms-nav__link {
    position: relative;

    display: flex;

    align-items: center;

    min-height: 74px;

    padding: 0;

    color: #ffffff;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;
    white-space: nowrap;

    transition: color 0.2s ease;
}

.cms-template-huhu .cms-nav__link::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 17px;

    height: 2px;

    border-radius: 999px;

    background: #10aee9;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.2s ease;
}

.cms-template-huhu .cms-nav__link:hover,
.cms-template-huhu
.cms-nav__item--active
> .cms-nav__link-row
> .cms-nav__link,
.cms-template-huhu
.cms-nav__item--current
> .cms-nav__link-row
> .cms-nav__link,
.cms-template-huhu
.cms-nav__link[aria-current="page"] {
    color: #10aee9;
}

.cms-template-huhu .cms-nav__link:hover::after,
.cms-template-huhu
.cms-nav__item--active
> .cms-nav__link-row
> .cms-nav__link::after,
.cms-template-huhu
.cms-nav__item--current
> .cms-nav__link-row
> .cms-nav__link::after,
.cms-template-huhu
.cms-nav__link[aria-current="page"]::after {
    transform: scaleX(1);
}


/*
|--------------------------------------------------------------------------
| Strzałka submenu — desktop
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-submenu-toggle {
    display: inline-flex;

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

    flex: 0 0 28px;

    width: 28px;
    height: 40px;

    margin-left: 2px;
    padding: 0;

    color: rgba(255, 255, 255, 0.78);
    background: transparent;

    border: 0;

    cursor: pointer;

    transition: color 0.2s ease;
}

.cms-template-huhu .cms-submenu-toggle:hover,
.cms-template-huhu
.cms-nav__item:hover
> .cms-nav__link-row
> .cms-submenu-toggle {
    color: #10aee9;
}

.cms-template-huhu .cms-submenu-toggle svg {
    width: 17px;
    height: 17px;
}


/*
|--------------------------------------------------------------------------
| CTA w headerze
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-nav__cta {
    margin-left: 10px;
}

.cms-template-huhu .cms-header-cta {
    display: inline-flex;

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

    min-height: 42px;

    padding: 0 20px;

    color: #ffffff;

    background:
        linear-gradient(
            90deg,
            #2bb7f2 0%,
            #0699ec 100%
        );

    border: 0;
    border-radius: 9px;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 7px 18px
        rgba(10, 156, 234, 0.17);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.cms-template-huhu .cms-header-cta:hover {
    color: #ffffff;

    transform: translateY(-1px);

    box-shadow:
        0 10px 22px
        rgba(10, 156, 234, 0.24);
}


/*
|--------------------------------------------------------------------------
| Submenu desktop
|--------------------------------------------------------------------------
*/

@media (min-width: 851px) {

    .cms-template-huhu .cms-submenu {
        position: absolute;

        left: 50%;
        top: calc(100% - 8px);

        z-index: 1200;

        display: block;

        min-width: 220px;

        margin: 0;
        padding: 9px;

        color: #385578;
        background: #ffffff;

        border: 1px solid #e4edf5;
        border-radius: 13px;

        box-shadow:
            0 18px 45px
            rgba(34, 66, 98, 0.12);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

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

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0.18s ease;

        list-style: none;
    }

    .cms-template-huhu
    .cms-nav__item:hover
    > .cms-submenu,

    .cms-template-huhu
    .cms-nav__item:focus-within
    > .cms-submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

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

    .cms-template-huhu
    .cms-submenu
    .cms-nav__item {
        width: 100%;
    }

    .cms-template-huhu
    .cms-submenu
    .cms-nav__link-row {
        width: 100%;
    }

    .cms-template-huhu
    .cms-submenu
    .cms-nav__link {
        display: flex;

        width: 100%;

        min-height: auto;

        padding: 10px 13px;

        color: #385578;

        border-radius: 8px;

        font-size: 13px;
        font-weight: 550;
        line-height: 1.4;

        white-space: normal;
    }

    .cms-template-huhu
    .cms-submenu
    .cms-nav__link::after {
        display: none;
    }

    .cms-template-huhu
    .cms-submenu
    .cms-nav__link:hover {
        color: #078fdd;
        background: #f2f9fe;
    }

    .cms-template-huhu
    .cms-submenu
    .cms-submenu-toggle {
        color: #56738f;
    }

}


/*
|--------------------------------------------------------------------------
| Hamburger — desktop ukryty
|--------------------------------------------------------------------------
*/

.cms-template-huhu .cms-menu-toggle {
    display: none;
}


/*
|--------------------------------------------------------------------------
| Menu mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 850px) {

    .cms-template-huhu .cms-header__inner {
        min-height: 66px;
        gap: 16px;
    }

    .cms-template-huhu .cms-logo__image {
        width: auto;
        max-width: 115px;
        max-height: 42px;
    }


    /* Hamburger */

    .cms-template-huhu .cms-menu-toggle {
        display: inline-flex;

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

        gap: 8px;

        margin-left: auto;

        padding: 9px 12px;

        color: #ffffff;
        background: rgba(255, 255, 255, 0.08);

        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 9px;

        cursor: pointer;
    }

    .cms-template-huhu .cms-menu-toggle__icon {
        display: flex;

        flex-direction: column;

        width: 21px;

        gap: 4px;
    }

    .cms-template-huhu .cms-menu-toggle__icon span {
        display: block;

        width: 100%;
        height: 2px;

        background: #10aee9;

        border-radius: 20px;
    }

    .cms-template-huhu .cms-menu-toggle__label {
        display: inline;

        font-size: 13px;
        font-weight: 700;
    }


    /* Drawer */

    body.cms-template-huhu .cms-nav {
        position: fixed;

        top: 0;
        right: 0;
        bottom: 0;
        left: auto;

        z-index: 10003;

        display: flex;

        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;

        gap: 0;

        width: min(390px, 88vw);
        height: 100vh;
        height: 100dvh;

        margin: 0;
        padding: 0;

        overflow-x: hidden;
        overflow-y: auto;

        overscroll-behavior: contain;

        color: #29466f;
        background: #ffffff;

        box-shadow:
            -15px 0 45px
            rgba(20, 45, 70, 0.18);

        transform: none;

        clip-path: inset(0 0 0 100%);

        visibility: hidden;
        pointer-events: none;
        opacity: 1;

        transition:
            clip-path 0.25s ease,
            visibility 0s linear 0.25s;
    }

    body.cms-template-huhu .cms-nav.is-open {
        clip-path: inset(0 0 0 0);

        visibility: visible;
        pointer-events: auto;

        transition:
            clip-path 0.25s ease,
            visibility 0s linear 0s;
    }


    /* Header nad backdropem podczas otwartego menu */

    body.cms-template-huhu.cms-menu-open .cms-header {
        z-index: 10002;
    }


    /* Nagłówek drawer */

    body.cms-template-huhu .cms-nav__mobile-header {
        display: flex;

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

        flex-shrink: 0;

        min-height: 68px;

        margin: 0;
        padding: 13px 20px;

        border-bottom: 1px solid #e4edf5;
    }

    body.cms-template-huhu .cms-nav__mobile-title {
        color: #18365f;

        font-size: 18px;
        font-weight: 800;
    }

    body.cms-template-huhu .cms-nav__close {
        display: inline-flex;

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

        width: 40px;
        height: 40px;

        padding: 0;

        color: #315474;
        background: #f3f8fc;

        border: 0;
        border-radius: 50%;

        cursor: pointer;
    }

    body.cms-template-huhu .cms-nav__close svg {
        width: 21px;
        height: 21px;
    }


    /* Lista główna */

    body.cms-template-huhu .cms-nav__list {
        display: block;

        flex: 1 1 auto;

        width: 100%;

        margin: 0;
        padding: 12px 20px;

        list-style: none;
    }

    body.cms-template-huhu .cms-nav__item {
        position: relative;

        width: 100%;

        margin: 0;
        padding: 0;

        border-bottom: 1px solid #edf2f6;

        list-style: none;
    }

    body.cms-template-huhu .cms-nav__link-row {
        display: flex;

        align-items: center;

        width: 100%;

        border-radius: 8px;
    }

    body.cms-template-huhu .cms-nav__link {
        display: flex;

        align-items: center;

        flex: 1 1 auto;

        width: auto;

        min-height: 52px;

        padding: 8px 4px;

        color: #29466f;

        font-size: 15px;
        font-weight: 600;

        text-decoration: none;
    }

    body.cms-template-huhu .cms-nav__link::after {
        display: none;
    }

    body.cms-template-huhu .cms-nav__link:hover,
    body.cms-template-huhu
    .cms-nav__item--active
    > .cms-nav__link-row
    > .cms-nav__link,
    body.cms-template-huhu
    .cms-nav__item--current
    > .cms-nav__link-row
    > .cms-nav__link,
    body.cms-template-huhu
    .cms-nav__link[aria-current="page"] {
        color: #0798e7;
    }


    /* Strzałka submenu */

    body.cms-template-huhu .cms-submenu-toggle {
        display: inline-flex;

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

        flex: 0 0 44px;

        width: 44px;
        height: 44px;

        margin: 0;
        padding: 0;

        color: #56738f;
        background: transparent;

        border: 0;
        border-radius: 8px;

        cursor: pointer;
    }

    body.cms-template-huhu .cms-submenu-toggle:hover {
        color: #0798e7;
        background: #eef8fe;
    }

    body.cms-template-huhu .cms-submenu-toggle svg {
        width: 19px;
        height: 19px;

        transition: transform 0.2s ease;
    }

    body.cms-template-huhu
    .cms-submenu-toggle[aria-expanded="true"] svg {
        transform: rotate(180deg);
    }


    /* Submenu mobile */

    body.cms-template-huhu .cms-submenu {
        position: static;

        display: none;

        width: 100%;
        min-width: 0;

        margin: 0;
        padding: 0 0 10px 18px;

        color: inherit;
        background: transparent;

        border: 0;
        border-radius: 0;

        box-shadow: none;

        opacity: 1;
        visibility: visible;

        transform: none;

        list-style: none;
    }

    body.cms-template-huhu .cms-submenu.is-open {
        display: block;
    }

    body.cms-template-huhu
    .cms-nav__item:hover
    > .cms-submenu:not(.is-open),

    body.cms-template-huhu
    .cms-nav__item:focus-within
    > .cms-submenu:not(.is-open) {
        display: none;
    }

    body.cms-template-huhu
    .cms-submenu
    .cms-nav__item {
        border-bottom: 0;
    }

    body.cms-template-huhu
    .cms-submenu
    .cms-nav__link {
        min-height: 40px;

        padding: 7px 4px;

        color: #687f98;

        font-size: 14px;
        font-weight: 500;
    }

    body.cms-template-huhu
    .cms-submenu
    .cms-nav__link:hover {
        color: #0798e7;
        background: transparent;
    }


    /* CTA mobile */

    body.cms-template-huhu .cms-nav__cta {
        flex-shrink: 0;

        margin: 0;
        padding: 18px 20px 24px;

        border-top: 1px solid #e4edf5;
    }

    body.cms-template-huhu .cms-header-cta {
        display: flex;

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

        width: 100%;

        min-height: 48px;
    }


    /* Backdrop */

    body.cms-template-huhu .cms-nav-backdrop {
        position: fixed;

        inset: 0;

        z-index: 10001;

        display: block;

        width: 100%;
        height: 100%;

        padding: 0;

        background: rgba(17, 38, 61, 0.46);

        border: 0;

        opacity: 0;

        cursor: default;

        transition: opacity 0.2s ease;
    }

    body.cms-template-huhu .cms-nav-backdrop[hidden] {
        display: none;
    }

    body.cms-template-huhu .cms-nav-backdrop.is-visible {
        opacity: 1;
    }


    /* Scroll lock */

    body.cms-template-huhu.cms-menu-open {
        overflow: hidden;
        touch-action: none;
    }

}


/*
|--------------------------------------------------------------------------
| Małe telefony
|--------------------------------------------------------------------------
*/

@media (max-width: 520px) {

    body.cms-template-huhu .cms-menu-toggle__label {
        display: none;
    }

    body.cms-template-huhu .cms-menu-toggle {
        width: 44px;
        height: 44px;

        padding: 9px;
    }

}
