#wpadminbar {
    position: fixed;
    inset: 0 0 auto;
}

:root {
    --fs-11: 11px;
    --fs-13: 13px;
    --fs-14: 14px;
    --fs-15: 15px;
    --fs-16: 16px;
    --fs-18: clamp(16px, 1.95vw, 18px);
    --fs-20: clamp(18px, 1.95vw, 20px);
    --fs-21: clamp(18px, 2.05vw, 21px);
    --fs-22: clamp(18px, 2.1vw, 22px);
    --fs-24: clamp(21px, 2.1vw, 24px);
    --fs-28: clamp(21px, 2.3vw, 28px);
    --fs-32: clamp(20px, 2.5vw, 32px);
    --fs-37: clamp(23px, 3vw, 37px);
    --fs-40: clamp(23px, 3vw, 40px);
    --fs-48: clamp(30px, 3.65vw, 48px);
    --fs-56: clamp(32px, 4.3vw, 56px);
    --fs-64: clamp(40px, 5.3vw, 64px);
    --fs-72: clamp(48px, 6.3vw, 72px);
    --fs-80: clamp(56px, 6.3vw, 80px);
    --fs-88: clamp(56px, 6.3vw, 88px);
    --fs-180: clamp(80px, 12vw, 180px);
    scroll-behavior: smooth;
}

html { margin-top: 0!important; }

body {
    margin: 0;
    padding: 0;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "slnt" 0;
    line-height: 1.425;
    color: #445F7A;
}

*, ::before, ::after { box-sizing: border-box; }
body, button, input, select, textarea { font-family: "Inter", sans-serif; }
b, strong { font-weight: 600; }
main { min-height: calc(100vh - 550px); }
p, h1, h2, h3, h4, h5, h6, ol, ul, blockquote, dl, figure { margin: 0; }
ol, ul { padding: 0; }

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.038em;
    color: #02509D;
}

.c-title { color: #02509D; }
.c-text { color: #445F7A; }
.c-white { color: #fff; }
.c-gray { color: #88A9CA; }
.c-gray2 { color: #6590ba; }
.c-gray3 { color: #F0F6FE; }
.c-dark-green { color: #3B8EBD; }
.c-light-green { color: #73C8F3; }
.c-rgb {
    background: linear-gradient(94deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.c-gradient-header { background-image: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; -moz-background-clip: text; -moz-text-fill-color: transparent; }

.bg-white { background-color: #fff; }
.bg-primary { background-color: #02509D; }
.bg-secondary { background-color: #F9FBFF; }
.bg-image-1 { background-image: url(../images/about-us/background-block-1.webp); background-size: cover; background-position: center; background-repeat: no-repeat;  }
.bg-image-2 { background-image: url(../images/about-us/background-block-2.webp); background-size: cover; background-position: center; background-repeat: no-repeat; }
.bg-image-3 { background-image: url(../images/about-us/background-block-3.webp); background-size: cover; background-position: center; background-repeat: no-repeat; }
.bg-image-wrapper { position: relative; overflow: hidden; }
.bg-image-wrapper::after { content: ""; position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120%;
    background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0));
    pointer-events: none;
}
.bg-gradient-1 { background: linear-gradient(94.19deg, #3B8EBD 0%, #7BD0FB 100%);}

.flex-wrap { flex-wrap: wrap; }
.text-nowrap { text-wrap: nowrap; }
.fs-11 { font-size: var(--fs-11); }
.fs-13 { font-size: var(--fs-13); }
.fs-14 { font-size: var(--fs-14); }
.fs-15 { font-size: var(--fs-15); }
.fs-16 { font-size: var(--fs-16); }
.fs-18 { font-size: var(--fs-18); }
.fs-20 { font-size: var(--fs-20); }
.fs-21 { font-size: var(--fs-21); }
.fs-22 { font-size: var(--fs-22); }
.fs-24 { font-size: var(--fs-24); }
.fs-28 { font-size: var(--fs-28); }
.fs-32 { font-size: var(--fs-32); }
.fs-37 { font-size: var(--fs-37); }
.fs-40 { font-size: var(--fs-40); }
.fs-48 { font-size: var(--fs-48); }
.fs-56 { font-size: var(--fs-56); }
.fs-64 { font-size: var(--fs-64); }
.fs-72 { font-size: var(--fs-72); }
.fs-80 { font-size: var(--fs-80); }
.fs-88 { font-size: var(--fs-88); }
.fs-180 { font-size: var(--fs-180); }

.fs-custom-1 { font-size: 20px; }

.fw-300 { font-weight: 300; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

.w-100 { width: 100%; }
.h-100 { height: 100%; }

.portrait-item { padding: 4px; }

.container-custom-1 { padding-bottom: 250px!important; margin-bottom: -510px; margin-top: 64px; }
.p-relative { position: relative; }

.text-decoration-none { text-decoration: none; }
.text-decoration-underline { text-decoration: underline; }
.link-color-none { color: inherit; }
.text-center { text-align: center; }
.text-end { text-align: end; }

.rounded-16 { border-radius: 16px; }
.rounded-32 { border-radius: 32px; }
.rounded-48 { border-radius: 48px; }

.about-us-block-2 { height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.679) 100%); border: 1px solid; border-image-source: linear-gradient(134.37deg, #FFFFFF 1.07%, rgba(255, 255, 255, 0.49) 100%); backdrop-filter: blur(12.300000190734863px); box-shadow: 0px 4px 9px 0px #1A237B0F; }

.about-us-calendar-block { background: url(../images/about-us/calendar-background.webp) no-repeat center center; background-size: cover; margin-top: 108px; padding: 69px; border-radius: 40px; }

.about-us-block-3 { min-height: 422px;  border: 1px solid #eee; }
.about-us-block-4 { min-height: 533px;  border: 1px solid #eee;}

/* About us - vertical timeline */
.history-timeline {
    --dot-size: 25px;
    --line-width: 3px;
    --row-gap: 100px;
    --dot-text-gap: 47px;
    --active-dot-width: 57px;
    --active-dot-height: 37px;
    --line-segment-height: 71px;
}
.history-timeline-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.history-timeline .year-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--dot-text-gap);
    height: var(--row-gap);
    padding-left: var(--active-dot-width); /* Allocate space for widest element */
}
/* Line Segment */
.history-timeline .year-item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: calc(var(--active-dot-width) / 2 - var(--line-width) / 2);
    top: 50%;
    transform: translateY(calc(var(--dot-size) / 2 + (var(--row-gap) - var(--dot-size) - var(--line-segment-height)) / 2));
    height: var(--line-segment-height);
    width: var(--line-width);
    background: linear-gradient(180deg, rgba(136, 169, 202, 0) 0%, #88A9CA 50%, rgba(136, 169, 202, 0) 100%);
}
/* Adjust line position when the active item (taller) is next */
.history-timeline .year-item.active + .year-item::after {
    transform: translateY(calc(var(--active-dot-height) / 2 + (var(--row-gap) - var(--active-dot-height) - var(--line-segment-height)) / 2));
}
.history-timeline .year-item .dot {
    position: absolute;
    left: calc((var(--active-dot-width) - var(--dot-size)) / 2);
    top: 50%;
    transform: translateY(-50%);
    width: var(--dot-size);
    height: var(--dot-size);
    border-radius: 8px;
    background: linear-gradient(134.37deg, #88A9CA 1.07%, #88A9CA 100%);
    border: 1px solid #88A9CA;
    z-index: 1;
}
.history-timeline .year-item .year-label {
    font-size: 32px;
    font-weight: 700;
    color: #88A9CA;
    margin-left: 35px;
}
/* Active State */
.history-timeline .year-item.active .dot {
    width: var(--active-dot-width);
    height: var(--active-dot-height);
    left: 6px;
    border-radius: 10px;
    background: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    border: 1px solid;
    border-image-slice: 1;
    backdrop-filter: blur(12.3px);
    box-shadow: 0px 4px 9px 0px #1A237B0F, 0px 0px 4px 0px #FFFFFFF0 inset;
}
.history-timeline .year-item.active .year-label {
    font-size: 56px;
    font-weight: 700;
    color: #fff;
    margin-left: 54px;
}

/* Transitions for smooth animation */
.history-timeline .year-item,
.history-timeline .dot,
.history-timeline .year-label {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.events-carousel-container {
    height: 600px; /* Accommodates 5 items with peeking effect */
    -ms-overflow-style: none;
    scrollbar-width: none;
    position: relative;
    mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
    transition: mask-image 0.3s ease, -webkit-mask-image 0.3s ease;
}

.events-carousel-controls { 
    display: flex; 
    justify-content: center; 
    align-items: center;
    gap: 12px; /* Space between buttons */
    position: relative; 
    z-index: 2; 
}

.events-prev-button,
.events-next-button {
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 8px;
    border: 1px solid var(--300, #88A9CA);
    background: linear-gradient(134.37deg, #88A9CA 1.07%, rgba(136, 169, 202, 0.5) 100%);
    box-shadow: inset 0 0 10px 0 #FFFFFF40;
    backdrop-filter: blur(12.3px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.events-prev-button img,
.events-next-button img { 
    width: 12px; 
    height: 12px; 
    display: block; 
}

.events-prev-button:hover,
.events-next-button:hover { 
    filter: brightness(1.05); 
}

.events-prev-button:disabled,
.events-next-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.events-prev-button:disabled:hover,
.events-next-button:disabled:hover {
    transform: none;
    box-shadow: none;
}

.events-carousel-container.mask-disabled {
    mask-image: none;
    -webkit-mask-image: none;
}

.events-carousel-container.mask-top-only {
    mask-image: linear-gradient(to bottom, black 0%, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 0%, black 80%, transparent 100%);
}

.tns-vertical .tns-inner { padding: 0; }
.tns-vertical .tns-item { padding: 0 10px; }

.events-carousel-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.events-carousel {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Click affordances */
.history-timeline-list .year-item {
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    transform-origin: center;
}
.history-timeline-list .year-item:hover,
.history-timeline-list .year-item:focus-visible {
    transform: scale(1.02);
}

.event-item {
    opacity: 0.3;
    transition: opacity 0.4s ease, transform 0.2s ease;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    cursor: pointer;
    transform-origin: center;
    will-change: transform;
}

.event-item:hover,
.event-item:focus-visible {
    transform: scale(1.01);
}

.event-item.is-truly-active {
    opacity: 1;
}

.event-item .event-date {
    color: #BFD5EC;
    font-size: clamp(14px, 2vw, 16px);
    font-weight: 700;
    margin-bottom: 8px;
}

.event-item .event-description {
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.05;
}

.about-us-row-reverse { flex-direction: row; }

/* Scroll Animations - tylko na desktop */
@media (min-width: 768px) {
    .fade-in {
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .fade-in.visible {
        opacity: 1;
        transform: translateY(0);
    }

    .fade-in-left {
        opacity: 0;
        transform: translateX(-50px);
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .fade-in-left.visible {
        opacity: 1;
        transform: translateX(0);
    }

    .fade-in-right {
        opacity: 0;
        transform: translateX(50px);
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .fade-in-right.visible {
        opacity: 1;
        transform: translateX(0);
    }

    .fade-in-scale {
        opacity: 0;
        transform: scale(0.8);
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .fade-in-scale.visible {
        opacity: 1;
        transform: scale(1);
    }
}

/* Na mobile - elementy zawsze widoczne */
@media (max-width: 767px) {
    .fade-in,
    .fade-in-left,
    .fade-in-right,
    .fade-in-scale {
        opacity: 1 !important;
        transform: none !important;
    }
}

.fade-in-delay-1 { transition-delay: 0.1s; }
.fade-in-delay-2 { transition-delay: 0.2s; }
.fade-in-delay-3 { transition-delay: 0.3s; }
.fade-in-delay-4 { transition-delay: 0.4s; }
.fade-in-delay-5 { transition-delay: 0.5s; }


.gap-custom-1 { gap: 80px; }
.gap-custom-2 { gap: 80px; }

.p-custom-1 { padding: 32px; }
.p-custom-2 { padding: 46px 40px; }
.p-custom-3 { padding: 32px; }
.p-custom-4 { padding: 46px 40px; }
.pt-custom-1 { padding-top: 60px; }
.mt-custom-1 { margin-top: 200px; }
.mt-custom-2 { margin-top: -72px; }
.mt-custom-3 { margin-top: 154px; }
.mt-custom-4 { margin-top: -81px; }
.mt-custom-5 { margin-top: 136px; }
.mt-custom-6 { margin-top: 120px; }
.mt-13 { margin-top: 13px; }
.ml-custom-1 { margin-left: -195px; }
.ms-custom-1 { margin-left: 150px; }

.col-custom-1 { max-width: 422px; }
.col-custom-2 { max-width: 430px; }

.button, .gradient-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    min-height: 63px;
    padding: 18px clamp(12px, 3vw, 32px);
    font-size: var(--fs-18);
    font-weight: 600;
    border: 0;
    border-radius: 32px;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
}

.btn-secondary {
    background: #fff;
    color: #02509D!important;
    border: 2px solid #2583df;
    box-shadow: 0px 26px 24px -16px #03519E38;
}

.gradient-button {
    position: relative;
    z-index: 0;
    color: #fff;
    transition: transform 0.35s linear;
}

.gradient-button::before, .gradient-button::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: var(--gradient-shadow);
    content: '';
}

.gradient-button::before {
    z-index: -2;
    background: var(--button-bg);
}

.gradient-button::after {
    z-index: -1;
    background: var(--gradient-bg);
    transition: opacity 0.35s ease, transform 0.625s ease;
}

.purple-button {
    --button-bg: #02509D;
    --gradient-bg: linear-gradient(94deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    --gradient-shadow: 0px 0px 19px 0px rgba(55, 66, 142, 0.50) inset, 0px 26px 24px -16px rgba(3, 81, 158, 0.22); 
}

.green-button {
    --button-bg: #15B0BC;
    --gradient-bg: linear-gradient(94deg, #15B0BC 0%, #10D985 63.54%, #00D398 100%);
    --gradient-shadow: 0px 0px 19px 0px rgba(55, 66, 142, 0.20) inset, 0px 26px 26.7px -16px rgba(17, 105, 203, 0.22);
}

.gold-button {
    --button-bg: #EDC125;
    --gradient-bg: linear-gradient(94deg, #EDC125 35.42%, #FCA136 91.67%);
    --gradient-shadow: 0px 0px 19px 0px rgba(55, 66, 142, 0.11) inset, 0px 26px 26.7px -16px rgba(249, 166, 51, 0.22);

    color: #000;
}

.line-gradient {
    background: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    width: 35px;
    height: 6px;
    border-radius: 16px
}


.link {
    text-decoration: none;
    color: inherit;
    transition: color 0.35s ease;
}

.full-link::before {
    position: absolute;
    inset: 0;
    content: '';
}

.section-fade-wrapper {
    position: relative;
}

.section-fade-wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 170px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 100%);
    pointer-events: none;
    transition: opacity 0.4s ease;
}
.section-fade-wrapper.expanded::after {
    opacity: 0;
}

.header {
    position: sticky;
    top: 0;
    z-index: 20;
}

#wpadminbar { opacity: 0.01; }
#wpadminbar:hover { opacity: 1; }

.header-first-line {
    padding: 4px 0 8px;
    background: #fff;
}

.text-hover-inherit:hover { color: inherit!important;}

.proces-section { padding-bottom: 355px; border-radius: 40px; overflow: visible; position: relative; }
.proces { gap: 34px; align-items: flex-start; }
.proces-block { background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.63) 100%); border-radius: 16px; border: 1px solid; border-image-source: linear-gradient(134.37deg, #FFFFFF 1.07%, rgba(255, 255, 255, 0.49) 100%); backdrop-filter: blur(12.300000190734863px); box-shadow: 0px 4px 9px 0px #1A237B0F; box-shadow: 0px 0px 10px 0px #FFFFFF40 inset; padding: 10px 20px; padding-bottom: 10px; font-weight: 700; color: #02509D; max-width: 247px; line-height: 115%; } 
.proces-block.disabled { opacity: 50%; }
.proces-block-circle { width: 320px; height: 320px; border-radius: 50%; margin-top: 0; background: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%); border: 45px solid #fff; }
.proces-block-line { width: 100%; height: 6px; border-radius: 16px; background: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%); }
.proces-absolute { position: absolute; bottom: -300px; left: 50%; transform: translateX(-50%); }
.proces-block.mt-60 { margin-top: 80px; }
.orbit-container { position: absolute; width: 550px; height: 550px; margin: -300px auto 0; left: 50%; transform: translateX(-50%); bottom: -357px; }
.orbit-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; }
.orbit-item { position: absolute; top: 74%; left: 50%; width: 700px; height: 700px; transform-origin: 50% 50%; animation: orbit 24s linear infinite; }
.orbit-item:nth-child(1) { transform: translate(-50%, -50%); animation-delay: 0s; }
.orbit-item:nth-child(2) { transform: translate(-50%, -50%); animation-delay: -3s; }
.orbit-item:nth-child(3) { transform: translate(-50%, -50%); animation-delay: -6s; }
.orbit-item:nth-child(4) { transform: translate(-50%, -50%); animation-delay: -9s; }
.orbit-item:nth-child(5) { transform: translate(-50%, -50%); animation-delay: -12s; }
.orbit-item:nth-child(6) { transform: translate(-50%, -50%); animation-delay: -15s; }
.orbit-item:nth-child(7) { transform: translate(-50%, -50%); animation-delay: -18s; }
.orbit-item:nth-child(8) { transform: translate(-50%, -50%); animation-delay: -21s; }
.orbit-block { position: absolute; top: -25px; left: 150px; transform: translate(-50%, -50%); animation: counter-rotate 24s linear infinite; animation-delay: inherit; text-align: center;}

@keyframes orbit {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes counter-rotate {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(-360deg);
    }
}


.skills {
    --skill-block: clamp(110px, 20vw, 185px);

    position: relative;
    display: flex;
    width: fit-content;
    max-width: 677px;
    margin: 30px auto 0;
    background: radial-gradient(50% 50% at 50% 50%, rgba(112, 197, 240, 0.3125) 0%, rgba(112, 197, 240, 0.00) 100%);
}

.skills .shield img {
    position: relative;
    z-index: 2;
    width: 200px;
    height: 200px;
}

.skills .block {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--skill-block);
    height: var(--skill-block);
    padding: 0 5px;
    font-size: clamp(11px, 2.5vw, 24px);
    font-weight: 700;
    line-height: 1.3;
    border: 1px solid #F3F7FF;
    border-radius: 32px;
    text-align: center;
    color: #02509D;
    background: linear-gradient(134deg, #FFF 1.07%, rgba(255, 255, 255, 0.49) 100%);
    box-shadow: 0px 0px 10px 0px rgba(255, 255, 255, 0.25) inset;
    backdrop-filter: blur(6.15px);
}

.skills .block::after {
    position: absolute;
    inset: auto 28px 11px;
    height: 6px;
    border-radius: 16px;
    background: linear-gradient(94deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    content: '';
}

.skills .block.top { top: calc(var(--skill-block) * -0.15); }
.skills .block.right { right: calc(var(--skill-block) * -0.6); }
.skills .block.bottom { bottom: calc(var(--skill-block) * -0.15); }
.skills .block.left { left: calc(var(--skill-block) * -0.6); }


.case-study-grid {
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 12px;
}


.white-block {
    border-radius: 16px;
    background: #fff;
    box-shadow: 0px 4px 9px 0px rgba(26, 35, 123, 0.06);
}

.blue-block {
    border-radius: 16px;
    background: #F5F8FE;
}

.light-blue-block {
    border-radius: 16px;
    background: rgba(245, 248, 254, 0.4);
}


.post-content > *:not(:first-child):not(h2):not(h3) {
  margin-top: 24px;
}

.post-content h2 { 
    font-size: var(--fs-40); 
}

.post-content h2:not(:first-child) { 
    margin-top: 48px; 
}

.post-content h3, .post-content h4, .post-content h5, .post-content h6 { 
    margin-top: 48px; 
    font-size: var(--fs-24); 
}

.post-content ul, .post-content ol, .post-content p { 
    font-size: var(--fs-20); 
}

.post-content ul, .post-content ol {
    padding-left: 30px;
}

.post-content ul {
    list-style: url(../images/content/list-icon.svg);
}

.post-content ul li {
    padding-left: 3px;
}

.post-content li:not(:first-child) {
    margin-top: 12px;
}

.post-content a {
    color: #02509D;
    text-underline-offset: 5px;
    word-wrap: break-word;
    transition: color 0.35s ease;
}

.post-content blockquote {
    padding: 5px 0 5px 15px;
    border-left: 5px solid #47bbc5;
}

.post-content blockquote * {
    font-size: var(--fs-18);
}

.post-content iframe {
    width: 100%;
    aspect-ratio: 1.77;
    height: auto;
}

.post-content img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.post-content .gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.post-content .gallery br {
    display: none;
}

.post-content table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.post-content table * {
    font-size: var(--fs-16);
}

.post-content table td, .post-content table th {
    padding: 8px;
    border: 1px solid #02509D;
    vertical-align: top;
}

.article-background, .article-preview {
    position: relative;
    line-height: 0;
    overflow: hidden;
    width: 100%;
}

.article-background::after, .article-preview::after {
    position: absolute;
    inset: auto 0 -2px auto;
    width: 92px;
    height: 38px;
    background: url(../images/article/article-small-background.webp);
    content: '';
}

.article-preview {
    border-radius: 16px 16px 0 0;
}


.help-section .post-content ul,
.help-section .post-content ol {
    max-width: 700px;
    margin: 0 auto;
    padding: 0;
    font-weight: 700;
    list-style: none;
    counter-reset: help;
}

.help-section .post-content li {
    position: relative;
    min-height: clamp(30px, 7vw, 80px);
    padding-left: calc(clamp(30px, 7vw, 80px) + clamp(20px, 7vw, 90px));
    color: #02509D;
    counter-increment: help;
}

.help-section .post-content li:not(:first-child) {
    margin-top: 25px;
}

.help-section .post-content li::before {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    display: flex; 
    align-items: center;
    font-size: clamp(30px, 7vw, 100px);
    color: #E7EDFA;
    content: "0" counter(help);
}

.help-section .post-content li:nth-child(n+10)::before {
    content: counter(help);
}


.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    list-style: none;
}

.page-numbers li > a, .page-numbers li > span {
    display: block;
    padding: 14px 11px;
    color: inherit;
    text-decoration: none;
    background: #F0F6FE;
}

.page-numbers li > a {
    transition: color 0.35s ease;
}

.page-numbers li > span {
    font-weight: 600;
}


.wpcf7-form {
    display: grid;
    gap: 16px;
    color: #02509D;
}

.wpcf7-form label {
    font-weight: 600;
}

.wpcf7-form input, .wpcf7-form input:placeholder-shown, .wpcf7-form select, .wpcf7-form textarea,  .wpcf7-form textarea:placeholder-shown {
    display: block;
    width: 100%;
    padding: 12px 16px;
    margin: 4px 0;
    border: 1px solid #BFD5EC;
    border-radius: 8px;
    outline: none;
    color: #445F7A;
}

.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus {
    color: #000;
    border-color: #6590ba;
}

.wpcf7-form .gradient-button {
    width: 100%;
}

.wpcf7-form textarea {
    min-height: 100px;
    resize: vertical;
}

.wpcf7-form select {
    appearance: none;
}

.wpcf7-form .select-wrapper {
    position: relative;
}

.wpcf7-form .select-wrapper::after {
    position: absolute;
    top: 0;
    right: 16px;
    display: flex;
    align-items: center;
    height: 42px;
    font-size: 0.85rem;
    content: "▼";
    pointer-events: none;
}

.wpcf7-form .wpcf7-not-valid-tip, .wpcf7-form.invalid .wpcf7-response-output {
    font-size: var(--fs-14);
    color: #ff0000;
}

.wpcf7-form.sent .wpcf7-response-output {
    font-size: var(--fs-14);
    color: #000;
}

.wpcf7 .screen-reader-response {
    font-size: 1px;
    color: transparent;
    opacity: 0;
    position: absolute;
}

.wpcf7-form br, .wpcf7-form:not(.invalid, .sent) .wpcf7-response-output {
    display: none;
}


.footer a {
    font-weight: 500;
    text-decoration: none;
    color: #02509D;
    transition: color 0.35s ease;
}

.footer ul {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}


.list {
    display: grid;
    gap: 13px;
    list-style: none;
}

.list li {
    position: relative;
    padding-left: 24px;
    font-weight: 700;
    line-height: 1.15;
    color: #96B7D8;
}

.list li::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    border-radius: 16px;
    box-shadow: 0px 4px 9px 0px rgba(26, 35, 123, 0.06);
    background: #2C65D5;
    content: '';
}

.list .list-active-item {
    color: #02509D;
}

.list .list-active-item::before {
    width: 12px;
}

.list .list-active-item ~ li::before {
    opacity: 0.4;
}

#article-slider {
    display: flex;
    gap: 15px;
}

/* Testimonials slider styles (moved from inline) */
#testimonials-slider { margin-top: 25px; }

#testimonials-controls button {
    width: 48px;
    height: 48px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid #F1F1F1;
    backdrop-filter: blur(22.4px);
    background-color: #FFFFFF;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    font-size: 0;
    line-height: 1;
    color: transparent;
    cursor: pointer;
}

#testimonials-controls [data-controls="prev"] { background-image: url('../images/arrow-left.svg'); }
#testimonials-controls [data-controls="next"] { background-image: url('../images/arrow-right.svg'); }

#testimonials-controls .testimonials-arrows { gap: 8px; }

#testimonials-nav [aria-controls] {
    appearance: none;
    display: inline-block;
    padding: 0;
    margin: 0 6px;
    width: 14px;
    height: 12px;
    border-radius: 8px;
    border: 1px solid var(--300, #88A9CA);
    background: linear-gradient(134.37deg, #88A9CA 1.07%, rgba(136, 169, 202, 0.5) 100%);
    box-shadow: inset 0 0 10px 0 #FFFFFF40;
    backdrop-filter: blur(12.3px);
    line-height: 0;
    transition: width .35s ease, height .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
}

#testimonials-nav .tns-nav-active {
    width: 119px;
    height: 16px;
    border-radius: 16px;
    border: 1px solid transparent;
    background-image: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%),
                      linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    box-shadow: 0px 4px 9px 0px #1A237B0F, inset 0px 0px 4px 0px #FFFFFFF0;
    backdrop-filter: blur(12.3px);
}

@media (prefers-reduced-motion: reduce) {
    #testimonials-nav [aria-controls] { transition: none; }
}

@media (min-width: 768px) {
    #testimonials-slider .fade-in,
    #testimonials-slider .fade-in-left,
    #testimonials-slider .fade-in-right,
    #testimonials-slider .fade-in-scale {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    #testimonials-controls { justify-content: center !important; }
    #testimonials-nav { display: none !important; }
}

.video-16x9 {
    display: block;
    width: 100%;
    height: auto;
    max-width: 1280px;
    aspect-ratio: 16 / 9;
}


.contact-background {
    position: relative;
}

.contact-media-block { border: 1px solid #88A9CA; min-width: 161px; border-radius: 32px; box-shadow: 0px 26px 26.7px -16px #F9A63338; gap: 5px; transition: all 0.3s ease-in-out; }
.contact-media-block:hover { transform: scale(1.02); }

.service-radio > .wpcf7-list-item{ flex: 0 0 calc(50% - 6px); max-width: 50%; box-sizing: border-box; }
.service-radio { display: flex; flex-wrap: wrap; gap: 12px;  margin-top: 8px;}
.service-radio input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; width: 0; }  
.service-radio label { height: 100%; text-align: center; display:flex; flex-direction:column; align-items:center; border: 1px solid #E3E3E3; border-radius: 8px; width: 100%; cursor:pointer; transition:.25s; background:#fff; padding: 12px 16px; box-shadow: 0px 4px 9px 0px #1A237B0F; box-shadow: 0px 0px 8px 0px #3F498F14 inset; gap: 8px; font-size: 14px; justify-content: center;}
.service-radio label:hover{ border-color:#16a34a;}
.service-radio label.checked{
    border-color:#16a34a;
    box-shadow:0 0 0 2px #16a34a inset;
}

.mobile-language-select-wrapper { position: relative; }  
.mobile-language-select-wrapper::after { content: ''; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-left: 5px solid transparent;
border-right: 5px solid transparent; border-top: 5px solid #02509D; pointer-events: none; }
.mobile-language-select { appearance: none; -webkit-appearance: none; -moz-appearance: none; width: 61px; height: 100%; border-radius: 12px;  padding: 12px;  border: 1px solid #F1F1F1; }

.primary-navigation * { list-style: none; }

.menu-element { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 0; font-weight: 600; border: 0; text-decoration: none; background: transparent; cursor: pointer; text-align: start;}

.menu-element.level-2.parent-link,.menu-element.level-3.parent-link  { font-size: 1.1rem; color: #02509D; font-weight: 600; }
.parent-link-item.level-2 .parent-link-border, .parent-link-item.level-3 .parent-link-border { width: 210px; height: 2px; background-color: #C6D0DF; margin-top: 8px; }
.parent-link-item.level-2, .parent-link-item.level-3 { margin-bottom: 8px; }
.menu-item-description { font-size: var(--fs-14);  color: #02509D; font-weight: 300; margin-bottom: 13px;}

.menu-item-has-children > .menu-element::after, .menu-element.parent-link::after { width: 9px; height: 9px; border-right: 2px solid #02509D; border-bottom: 2px solid #02509D; transform: translateY(-3px) rotate(-45deg); content: ' '; }
.menu-element.level-1 { font-size: var(--fs-14); border-radius: 12px 12px 0 0; color: #02509D; font-weight: 600; }
.menu-item.level-1.open .menu-element.level-1 { text-decoration: underline; }
    
.menu-element.level-2, .menu-element.level-3 { font-size: var(--fs-14); color: #02509D; padding-top: 8px; padding-bottom: 8px; transition: padding 0.3s ease; }

.menu-item.open > .sub-navigation.level-4 { display: none!important;}

.about-us-blocks { margin-top: 0; }
.about-us-block { height: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.63) 100%); box-shadow: 7px 11px 15px -18px rgba(66, 68, 90, 1); text-align: center; border-radius: 48px; }
.about-us-block > p { line-height: 1.15; }

@media (max-width: 575.99px) {

    .fs-mobile-14 {
        font-size: var(--fs-14);
    }

    .proces-section { padding-bottom: 50px; border-radius: 0;}
    .proces { gap: 20px;}
    .proces-block-circle { width: 300px; height: 300px; border: 35px solid #fff; }

    .w-mobile-100 { width: 100%; }
    .orbit-item { width: 400px; height: 400px; top: 51%; }

    .fs-mobile-30 { 
        font-size: 30px;
    }

}

@media (max-width: 991.99px) {
    .ml-custom-1 { margin-left: 0; }
    .gap-custom-1 { gap: 12px; }
    .mt-custom-2 { margin-top: -32px; }
    .mt-custom-3 { margin-top: 48px; }
    .mt-custom-4 { margin-top: 16px; }
    .mt-custom-6 { margin-top: 80px; }
    .p-custom-1 { padding: 0 12px; }
    .p-custom-2 { padding: 24px 0; }
    .p-custom-4 { padding: 24px; }

    .fs-custom-1 { font-size: 16px; }

    .col-custom-1 { max-width: 100%; }
    .col-custom-2 { max-width: 100%; }

    .about-us-block-3 { min-height: auto; }
    .about-us-block-4 { min-height: auto; }

    .about-us-block-2 { background: transparent; box-shadow: none; border: none;}
    .about-us-calendar-block { padding: 24px 16px; border-radius: 0; margin-top: 64px; }
    .event-item .event-description { font-size: 24px; }
    .about-us-calendar-block .tns-item { margin-bottom: 16px!important; }
    .events-carousel-container { height: 350px; }

    .primary-navigation { display: none; }
    .primary-navigation.is-open { display: flex; flex-direction: column; gap: 18px; padding-top: 24px; padding-left: 0; padding-right: 0; left: 50%; transform: translateX(-50%); top: 96px;}
    .primary-navigation{ position: fixed; width: 100%; height: 100vh; background: linear-gradient(180deg, #F9FBFF 0%, rgba(249, 251, 255, 0.8) 100%); z-index: 100;}
    .primary-navigation .sub-navigation { display: none !important; list-style: none;}
    .menu-item.open > .sub-navigation { display: flex !important; flex-direction: column; z-index: 101; position: fixed; background: linear-gradient(180deg, #F9FBFF 0%, rgba(249, 251, 255, 1) 100%); width: 100%; top: 0; left: 0; height: 100vh; overflow: scroll;}

    .primary-navigation .menu-element:not(.grandparent-link), .menu-item-description { padding-left: 24px; padding-right: 24px; }
    .parent-link-border { margin-left: 24px; margin-right: 24px; }
    .parent-link { margin-top: 16px; }
    .menu-item-description { margin-top: 24px; margin-bottom: 0px; }

    .grandparent-tmp { position: relative; }
    .grandparent-tmp::after { position: absolute; left: 23px; width: 11px; height: 11px; border-right: 2px solid #02509D; border-bottom: 2px solid #02509D; transform: translateY(-3px) rotate(-227deg); content: ' '; opacity: 30%; }
    .header-first-line { padding: 24px 16px; }

    .proces-section { padding-bottom: 212px; }

    .container-custom-1 { padding-bottom: 32px!important; margin-bottom: 0; padding-top: 32px!important; border-radius: 24px!important;  }
    .mt-custom-1 { margin-top: 48px; }

    .text-mobile-center { text-align: center; }

    .about-us-row-reverse { flex-direction: column-reverse; }

}

@media (max-width: 1199.99px) {

    .gap-custom-2 { gap: 40px; }
}

@media (max-width: 1400px) {
    .mt-custom-5 { margin-top: 24px; }
    .ms-custom-1 { margin-left: 110px; }
}



@media (min-width: 576px) {
    .orbit-item { width: 425px; height: 425px; top: 51%; }

    .flex-sm-row { flex-direction: row!important; }

    .proces-block { 
        font-size: 21px;
    }

    .skills { 
        margin-top: -40px;
        width: 81%;
    }

    .skills .shield {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1 1;
        height: clamp(500px, 67vw, 648px);
        background: radial-gradient(50% 50% at 50% 50%, rgba(204, 221, 255, 0.05) 0%, transparent 100%),
                    url(../images/shield.webp) no-repeat center;
    }

    .skills .shield img { 
        width: auto; 
        height: auto;
    }

    .skills .line {
        position: absolute;
        width: calc(var(--skill-block) * 1.75); 
        height: 6px;
        border-radius: 16px;
        background: linear-gradient(94deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
    }

    .skills .block.top { top: calc(var(--skill-block) * 0.55); }
    .skills .block.bottom { bottom: calc(var(--skill-block) * -0.1); }
    
    .skills .line.top { top: calc(var(--skill-block) * 1.35); }
    .skills .line.right { right: calc(var(--skill-block) * -0.2); }
    .skills .line.bottom { bottom: calc(var(--skill-block) * 0.7); }
    .skills .line.left { left: calc(var(--skill-block) * -0.2); }

    .skills .line.top.left, .skills .line.bottom.right { transform: rotate(21deg); }
    .skills .line.bottom.left, .skills .line.top.right { transform: rotate(-21deg); }


    .page-numbers li > a, .page-numbers li > span {
        padding: 14px 30px;
    }


    .post-content .gallery {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .text-lg-start { text-align: start!important; }
    .flex-lg-row { flex-direction: row!important; }
    .proces { flex-direction: row; }
    .proces-block { padding: 37px 22px; }
    .proces-absolute { position: absolute; bottom: -320px; left: 50%; transform: translateX(-50%); }
    .proces-block.mt-60 { margin-top: 140px; }

    .contact-form { position: absolute; top: 50px; left: 50px; }
    .contact-form .wpcf7 { width: 330px; }

    .flex-md-column { flex-direction: column!important; }

    
    .sticky-lg-left { position: sticky; top: 170px; align-self: flex-start; z-index: 2; }

    .timeline-col {
        max-width: 335px;        
    }

    .timeline {
        position: absolute;
        inset: 0 0 auto 0;
        z-index: 5;
    }

    .border-lg {
        border-radius: 40px;
    }

    .case-study-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }


    .skills { 
        margin-top: -20px;
        width: 100%;
    }


    .button, .gradient-button {
        display: inline-flex;
    }


    .post-content .gallery {
        grid-template-columns: 1fr 1fr 1fr;
    }


    .article-background,
    .video-16x9 {
        border-radius: 40px;
    }

    .article-background::after {
        width: 611px;
        height: 221px;
        background: url(../images/article/article-background.webp);
    }

    .article-preview::after {
        width: 293px;
        height: 99px;
        background: url(../images/article/article-preview.webp);
    }

    .wpcf7 {
        width: 400px;
    }


    .help-section .post-content ol,
    .help-section .post-content ul {
        font-size: var(--fs-24);
    }


    .header .gradient-button {
        min-height: 43px;
        font-size: 15px;
    }

    .header-second-line {
        transition: box-shadow 0.3s ease;
        background: #fff;
    }

    body.scroll .header-second-line {
        box-shadow: 0 3px 0 0 rgba(187, 187, 187, 0.11);
    }

    .menu-element.level-1 { padding: 21px 15px; }

    .primary-navigation {
        position: relative;
        display: flex;
        gap: 8px;
        list-style: none;
    }

    .primary-navigation .sub-navigation {
        visibility: hidden!important;
        list-style: none;
    }

    .menu-item.open > .sub-navigation {
        display: flex !important;
        visibility: visible!important;
        flex-direction: column;
        max-height: 55vh;
        min-width: 400px;
    }

    .menu-element.level-1 { font-size: var(--fs-13); }

    .menu-item-has-children > .menu-element::after, .menu-element.parent-link::after {
        transform: translateY(-3px) rotate(45deg);
    }

    .menu-item-has-children.level-2 .menu-element::after, .menu-element.parent-link::after {
        transform: rotate(-45deg)!important;
    }

    .grandparent-link-item { display: none!important; }

    .sub-navigation.level-2 { position: absolute; top: 100%; left: 0; right: auto;  gap: 8px; border-radius: 16px 0 0 16px;  padding: 32px; padding-left: 56px; background: linear-gradient(137.02deg,#02509D 33.01%,#3B8EBD 53.24%,#7BD0FB 75.88%) left top / 6px 100% no-repeat, linear-gradient(180deg, #F9FBFF 0%, rgba(249, 251, 255, 0.8) 100%); background-attachment: local; max-height: 0; transition:  max-height .35s ease; box-sizing: border-box;}
    /* .sub-navigation.level-2::after { content: ''; position: absolute; top: 0; left: 2px; height: 100%; width: 6px; background: linear-gradient(137.02deg, #02509D 33.01%, #3B8EBD 53.24%, #7BD0FB 75.88%); border-radius: 16px 0 0 16px; } */

    
    .sub-navigation.level-2::before { position: fixed; inset: 0; z-index: -1; cursor: pointer; background: rgba(255, 255, 255, 0.9); content: ''; }

    .menu-element.level-2:not(.parent-link):hover, .menu-element.level-3:not(.parent-link):hover {
        padding-left: 12px;
    }

    .menu-item.level-2.open .menu-element.level-2 {
        text-decoration: underline;
    }
    
    .menu-item.level-2.open .menu-element.level-2::after {
        border-color: #02509D;
    }

    .menu-item.level-2 .menu-element.level-2::after {
        border-color: #B2C4D5;
    }

    .menu-element.parent-link::after {
        border-color: #B2C4D5!important;
    }

    .sub-navigation.level-3 { position: absolute; top: 0; left: 500px; right: auto; flex-direction: column; gap: 8px; padding: 32px; border-top-right-radius: 16px; border-bottom-right-radius: 16px; background: linear-gradient(180deg, #EAF0FA 0%, rgba(234, 240, 250, 0.8) 100%); backdrop-filter: blur(45); width: 500px; height: 100%; box-sizing: border-box; }
    
    .menu-element.level-3::after {
        transform: rotate(-45deg);
    }

    .menu-item.level-3:not(.open) .menu-element.level-3:not(.parent-link)::after {
        display: none;
    }

    .sub-navigation { overflow-y: auto; overflow-x: hidden; width: auto; }
    .sub-navigation.is-opening { overflow: hidden; }
    .menu-item.level-1.has-open-level-2 > .sub-navigation.level-2 { width: 1000px!important; max-width: 1000px!important; }
    .sub-navigation li { max-width: 400px!important;}

    .level-1.not-open * { color: #B2C4D5!important; }
    .level-1.not-open .menu-element::after { border-color: #B2C4D5!important; }
    
    .about-us-blocks { margin-top: -55px; }

    .flex-lg-row-reverse { flex-direction: row-reverse; }

    .orbit-item { width: 700px; height: 700px; top: 74%; }

    /* START: Traditional Dropdown Menu Styles */
    .primary-navigation > .menu-item.menu-item-has-children {
        position: relative;
    }

    /* Override mega-menu styles for a simple dropdown */
    .sub-navigation.level-2 {
        left: 0;
        top: calc(100% + 5px);
        width: auto;
        min-width: 300px;
        border-radius: 16px;
        padding: 24px;
        padding-left: 32px;
        padding-right: 16px;
        background: linear-gradient(137.02deg,#02509D 33.01%,#3B8EBD 53.24%,#7BD0FB 75.88%) left top / 6px 100% no-repeat, linear-gradient(180deg, #F9FBFF 0%, rgba(249, 251, 255, 0.95) 100%);
        background-attachment: local;
        backdrop-filter: blur(10px);
        box-shadow: 0px 8px 24px rgba(2, 80, 157, 0.1);
        max-height: 65vh;
        overflow-y: auto;
        transition: opacity 0.25s ease, transform 0.25s ease;
        opacity: 0;
        transform: translateY(10px);
        pointer-events: none;
        display: flex;
        flex-direction: column;
        gap: 4px;
        right: auto;
    }

    .menu-item.open > .sub-navigation.level-2 {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    /* Reset width override from mega-menu */
    .menu-item.level-1.has-open-level-2 > .sub-navigation.level-2 {
        width: auto !important;
        max-width: none !important;
    }

    /* Hide mobile-specific elements on desktop */
    .sub-navigation.level-2 .grandparent-link-item {
        display: none;
    }
    
    /* Restore parent link header styles */
    .sub-navigation.level-2 .parent-link-item {
        margin-bottom: 16px;
    }

    .sub-navigation.level-2 .parent-link-item .parent-link-border {
        width: 100%;
        margin-top: 12px;
    }
    
    /* Hide fullscreen overlay on desktop */
    .sub-navigation.level-2::before {
        display: none;
    }
    
    /* Reset list item constraints */
    .sub-navigation.level-2 li:not(.parent-link-item) {
        max-width: none !important;
    }
    
    /* Style dropdown items */
    .sub-navigation.level-2 .menu-element.level-2:not(.parent-link) {
        padding: 10px 16px;
        border-radius: 8px;
        transition: padding 0.3s ease, background-color 0.3s ease;
        width: 100%;
        text-align: left;
    }

    .sub-navigation.level-2 .menu-element.level-2:not(.parent-link):hover {
        background-color: rgba(2, 80, 157, 0.05);
        padding-left: 20px;
    }
    
    /* Adjust position for the last dropdown menu to prevent overflow */
    .primary-navigation > .menu-item.last-menu-item > .sub-navigation.level-2 {
        left: auto;
        right: 0;
    }
    
    /* Hide level 3+ on desktop for now */
    .sub-navigation.level-3 {
        display: none !important;
    }

    /* Custom Scrollbar for Dropdown */
    .sub-navigation.level-2::-webkit-scrollbar {
        width: 4px;
    }
    .sub-navigation.level-2::-webkit-scrollbar-track {
        background: transparent;
    }
    .sub-navigation.level-2::-webkit-scrollbar-thumb {
        background-color: rgba(2, 80, 157, 0.2);
        border-radius: 4px;
        transition: background-color 0.2s ease;
    }
    .sub-navigation.level-2::-webkit-scrollbar-thumb:hover {
        background-color: rgba(2, 80, 157, 0.4);
    }
    /* END: Traditional Dropdown Menu Styles */
}

/* Mobile timeline chips */
@media (max-width: 991.98px) {
    .history-timeline { position: relative; }
    .history-timeline-list {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap; /* wrap years instead of scrolling */
        gap: 8px 12px;
        overflow: visible; /* no horizontal scrollbar */
        padding: 0;
        margin: 0 0 12px 0;
        scroll-snap-type: none; /* disable snap when wrapping */
        align-items: center;
    }
    .history-timeline-list .year-item {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: auto;
        height: 40px;
        padding: 0 12px;
        border-radius: 999px;
        background: rgba(136,169,202,0.12);
        border: none !important; /* remove borders */
        box-shadow: none !important; /* remove inset borders */
        transform: none;
    }
    .history-timeline-list .year-item.active {
        background: linear-gradient(94.19deg, #02509D 17.19%, #3B8EBD 56.25%, #7BD0FB 100%);
        box-shadow: 0 4px 9px rgba(26,35,123,0.06), inset 0 0 4px rgba(255,255,255,0.94);
        color: #fff;
    }
    /* hide vertical dots/lines on mobile if they use ::before/::after */
    .history-timeline-list .year-item::before,
    .history-timeline-list .year-item::after { display: none !important; }
    /* hide dot elements inside year items */
    .history-timeline-list .year-item .dot { display: none !important; }
}


@media (min-width: 1200px) {
    .contact-form .wpcf7 { width: 400px; }

    .portrait {
        top: 81px;
        left: 15px;
        width: auto !important;
    }


    .wpcf7-form input[type="submit"] {
        margin-top: 16px;
    }
}

@media (min-width: 1400px) {
    .max-w-custom-1 { max-width: 1352px; } 

    .blue-circle {
        position: relative;
    }

    .blue-circle::before {
        position: absolute;
        left: -485px;
        width: 672px;
        height: 672px;
        background: radial-gradient(50% 50% at 50% 50%, #70C5F0 0%, rgba(112, 197, 240, 0.00) 100%);
        content: '';
        opacity: 0.2;
    }


    .sub-navigation.level-2 {
        left: -24px;
        right: -24px;
    }
}

@media (min-width: 1650px) {
    .opinion-2 {
        position: relative;
        left: 147px;
    }

    .opinion-3 {
        position: relative;
        left: 38px;
    }
}

@media (min-width: 1200px) and (max-width: 1400px) {
    .menu-element { width: max-content; max-width: 286px; }
}

/* istniejące keyframes */
  @keyframes Show {
    from { opacity: 0; }
    to   { opacity: 1; }
  }

  @keyframes MovePortrait {
    from { transform: none; }
    to   { transform: translate(var(--potrait-move-x, 0px), var(--potrait-move-y, 0px)); }
  }

  /* skalowanie od/do 0 z/do 1 */
  @keyframes ScaleInFromBL {
    from {
      opacity: 0;
      transform: scale(0);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  @keyframes ScaleOutToBL {
    from {
      opacity: 1;
      transform: scale(1);
    }
    to {
      opacity: 0;
      transform: scale(0);
    }
  }

@keyframes LogoG1Hide {
    from { transform: translate(0,0) scale(1); opacity:1; }
    to { transform: translate(35px, -35px) scale(1.1); opacity:1; }
}
@keyframes LogoG1Show {
    from { transform: translate(35px,-35px) scale(1.1); opacity:1; }
    to { transform: translate(0,0) scale(1); opacity:1; }
}
  
@keyframes LogoG2Hide {
    from { transform: translate(0,0) scale(1); }
    to   { transform: translate(-30px,-35px) scale(0.9); }
}
  
@keyframes LogoG2Show {
    from { transform: translate(-30px,-35px) scale(0.9); }
    to   { transform: translate(0,0)     scale(1);   }
}
  
@keyframes BlurG1Hide {
    from { transform: translate(0,0); opacity:1; }
    to   { transform: translate(35px,-35px); opacity:0.8; }
}

@keyframes BlurG1Show {
    from { transform: translate(35px,-35px); opacity:0.8; }
    to   { transform: translate(0,0); opacity:1; }
}
  
@keyframes BlurG2Hide {
    0%   { transform: translate(0, 0) scale(1); opacity:1; }
    100% { transform: translate(-25px,-75px) scale(1.25); opacity:0.8; }
}
 
@keyframes BlurG2Show {
    from { transform: translate(-25px,-75px) scale(1.25); opacity:0.8; }
    to   { transform: translate(0,0) scale(1); opacity:1; }
}
  
  /* helper-klasy */
  .logo-hide-g1  { animation: LogoG1Hide 1s forwards; }
  .logo-show-g1  { animation: LogoG1Show 1s forwards; }
  .logo-hide-g2  { animation: LogoG2Hide 1s forwards; }
  .logo-show-g2  { animation: LogoG2Show 1s forwards; }
  
  .blur-hide-g1  { animation: BlurG1Hide 1s forwards; }
  .blur-show-g1  { animation: BlurG1Show 1s forwards; }
  .blur-hide-g2  { animation: BlurG2Hide 1s forwards; }
  .blur-show-g2  { animation: BlurG2Show 1s forwards; }
  

  /* wiggle+scale dla small-logo, jeśli używasz */
  @keyframes wiggleScale {
    0%, 100% { transform: translate(0,0) scale(1); }
    10%      { transform: translate(-5px,-5px) scale(1); }
    20%      { transform: translate(0,0)    scale(1); }
    30%      { transform: translate(-5px,-5px) scale(1); }
    40%      { transform: translate(0,0)    scale(1); }
    60%      { transform: translate(0,0)    scale(1.1); }
    80%      { transform: translate(0,0)    scale(1); }
  }

  /* helper-klasy do JS */
  .scale-out {
    animation: ScaleOutToBL 1s forwards;
  }
  .scale-in {
    animation: ScaleInFromBL 1s forwards;
  }

  

@media (hover: hover) and (pointer: fine) {
    .gradient-button:hover {
        transform: translateY(-3px);
    }

    .gradient-button:hover::after {
        opacity: 0;
        transform: translateX(-77%);
    }


    .link:hover, .post-content a:hover, .page-numbers a:hover, .footer a:hover {
        color: #000;
    }

    .c-white .link:hover {
        color: #73C8F3;
    }
}

@media not ((hover: hover) and (pointer: fine)) {
    .gradient-button:active {
        transform: translateY(-3px);
    }

    .gradient-button:active::after {
        opacity: 0;
        transform: translateX(-77%);
    }


    .link:active, .post-content a:active, .page-numbers a:active, .footer a:active {
        color: #000;
    }

    .c-white .link:active {
        color: #73C8F3;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
      transition: none !important;
      animation: none !important;
    }

    a {
        text-decoration: underline !important;
    }

    .portrait * {
        opacity: 1 !important;
    }
}

.zoom-hover-container .blue-block {
    transition: transform 0.3s ease-in-out;
}

.zoom-hover-container:hover .blue-block {
    transform: scale(1.05);
}

