.pac-container {
    border-radius: 16px !important;
    border: 1px solid rgba(20, 16, 0, 0.1) !important;
    box-shadow: 0 4px 24px rgba(20, 16, 0, 0.08), 0 2px 8px rgba(20, 16, 0, 0.04) !important;
    font-family: 'Sora', sans-serif !important;
    padding: 12px 0 8px 0 !important;
    margin-top: 4px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.pac-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    color: rgba(20, 16, 0, 0.75) !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, font-weight 0.2s ease !important;
    border: none !important;
    border-bottom: 1px solid rgba(20, 16, 0, 0.05) !important;
}

.pac-item:last-child {
    border-bottom: none !important;
}

.pac-item .pac-item-query {
    font-weight: 400 !important;
    color: #141000 !important;
    font-size: 14px !important;
    line-height: 20px !important;
    transition: font-weight 0.2s ease !important;
}

/* All child elements in pac-item-query inherit base styles */
.pac-item .pac-item-query > * {
    font-size: 14px !important;
    color: #141000 !important;
    line-height: 20px !important;
}

/* Matched text (b, strong tags or .pac-matched) - same size and color, only font-weight 500 (medium) */
.pac-item .pac-item-query b,
.pac-item .pac-item-query strong,
.pac-item .pac-item-query .pac-matched,
.pac-item .pac-item-query b.pac-matched,
.pac-item .pac-item-query strong.pac-matched,
.pac-item .pac-matched {
    color: #141000 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    line-height: 20px !important;
    display: inline !important;
}

.pac-item:hover .pac-item-query,
.pac-item-selected .pac-item-query {
    font-weight: 500 !important;
}

.pac-item:hover .pac-item-query .pac-matched,
.pac-item-selected .pac-item-query .pac-matched,
.pac-item:hover .pac-item-query b,
.pac-item-selected .pac-item-query b,
.pac-item:hover .pac-item-query strong,
.pac-item-selected .pac-item-query strong {
    font-weight: 500 !important;
}

.pac-item span:not(.pac-item-query) {
    color: rgba(20, 16, 0, 0.6) !important;
    font-size: 12px !important;
    line-height: 18px !important;
}

.pac-item::before {
    content: '' !important;
    width: 20px !important;
    height: 20px !important;
    background: url('assets/icon-location-pin.svg') no-repeat center / contain !important;
    flex-shrink: 0 !important;
}

/* All items hover state - same gray color */
.pac-item:hover,
.pac-item-selected {
    background: rgba(20, 16, 0, 0.03) !important;
}

.pac-icon {
    display: none !important;
}

/* Google logo styling at bottom */
.pac-logo {
    padding: 12px 0 8px !important;
    text-align: right !important;
    border-top: 1px solid rgba(20, 16, 0, 0.05) !important;
    margin-top: 0 !important;
    font-family: 'Sora', sans-serif !important;
}

.pac-logo img {
    height: 14px !important;
    width: auto !important;
    margin-right: 12px !important;
}
:root {
    --delivery-area-vw: clamp(1140px, 100vw, 1440px);
}

/* Ensure consistent 48px gaps around icons between 641px and 390px */
@media (max-width: 641px) and (min-width: 391px) {
    .contact-info { margin-top: 48px !important; margin-bottom: 48px !important; }
    .cta-section { margin-top: 0 !important; }
}
/* Set both gaps to 40px specifically for >393px up to 480px */
@media (max-width: 480px) and (min-width: 394px) {
    .contact-info { margin-top: 40px !important; margin-bottom: 40px !important; }
    .cta-section { margin-top: 0 !important; }
}
/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --color-dark: #141000;
    --color-menu-bg: #edefec;
    --color-menu-active: #d1d6d2;
    --color-white: #ffffff;
}

body {
    font-family: 'Sora', sans-serif;
    background: #ffffff;
    margin: 0;
    padding: 0;
}

/* Header */
@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.header {
    position: relative;
    width: 100%;
    padding: 32px 48px;
    animation: slideDown 0.6s ease-out;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: 100%;
    max-width: 1344px;
    margin: 0 auto;
}

/* Logo */
.logo {
    width: 184px;
    height: 28px;
    flex-shrink: 0;
}

.logo-img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Menu */
.menu {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--color-menu-bg);
    border-radius: 12px;
    padding: 8px 10px;
    z-index: 9;
}


/* Keep logo and right header group above the blur overlay (no blur) - for all browsers */
.logo,
.header-right {
    position: relative;
    z-index: 10;
    filter: none !important;
    -webkit-filter: none !important;
}

/* Blur overlay with strong blur for all browsers */
.blur-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    background: rgba(237,239,236,0.4);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    pointer-events: none;
    opacity: 0;
    transition: height 300ms ease, opacity 220ms ease;
    z-index: 6;
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
    overflow: hidden; /* clip blur to rounded corners */
    border: 1px solid rgba(255, 255, 255, 0.3); /* glass border */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5); /* glass effect with inner highlight only */
}

/* Safari fallback: blur only background, not logo and buttons */
/* Fallback only when backdrop-filter is NOT supported */
/* Logo and buttons should remain visible - blur only applies to background via blur-overlay */

/* Add the same tint as overlay so Safari fallback matches visuals */
/* remove header tint; overlay handles tint across browsers */
/* Mega Dropdown Curtain */
.mega-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    pointer-events: none; /* enabled when open */
    opacity: 1; /* keep wrapper fully opaque to avoid Safari backdrop bug */
    transition: none;
    z-index: 7; /* above blur overlay (6), below menu (9) */
}

.mega-dropdown.open { pointer-events: auto; }

/* (removed body overlay to simplify and avoid stacking issues) */

/* (removed duplicate .mega-dropdown.open rule) */

.mega-backdrop { display: none; }

.mega-container {
    position: absolute; /* stack on top of backdrop */
    left: 50%;
    transform: translateX(-50%);
    top: 0; /* set from JS to header bottom */
    width: 100%;
    max-width: 1344px;
    margin: 0 auto;
    padding: 0 48px; /* align with layout gutters */
    opacity: 0;
    transform: translate(-50%, -8px);
    transition: opacity 220ms ease, transform 220ms ease;
    will-change: opacity, transform;
    z-index: 8; /* above blur overlay */
    border-radius: 0 0 32px 32px; /* rounded only at the bottom */
}
.mega-dropdown.open .mega-container { opacity: 1; transform: translate(-50%, 0); }

.mega-list {
    list-style: none;
    margin: 0;
    padding: 0 0 12px 0; /* top = 0, bottom = 12 */
    display: grid;
    grid-template-columns: repeat(3, max-content);
    grid-template-rows: repeat(3, max-content);
    grid-auto-flow: column; /* fill down each column first */
    column-gap: 64px; /* figma gap between columns */
    row-gap: 16px; /* figma vertical gap */
    text-align: left;
}

.mega-item {
    display: inline-block;
    padding: 0;
    border-radius: 0;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #141000;
    white-space: nowrap;
    text-decoration: none;
    position: relative; /* for width reservation pseudo */
}

.mega-item:hover { text-decoration: none; font-weight: 500; }

/* Use Noto Sans for Ukrainian and Russian languages in mega dropdown */
body.lang-uk .mega-item[data-i18n],
body.lang-ru .mega-item[data-i18n] {
    font-family: 'Noto Sans', sans-serif;
    font-size: 13.5px;
    line-height: 18px;
}

/* Reserve width for bold state to avoid layout shift */
.mega-item::after {
    content: attr(data-text);
    font-weight: 500; /* bold state */
    visibility: hidden;
    display: block;
    height: 0;
    overflow: hidden;
}

@media (max-width: 1220px) {
    .mega-dropdown { display: none; }
}
/* Dropdown removed */

/* Header Right Group */
.header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Mobile Call Button */
.mobile-call-button {
    display: none;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #141000;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    text-decoration: none;
    color: inherit;
}

.mobile-call-button:hover {
    background: #2a2a2a;
}

.call-icon {
    width: 23px;
    height: 23px;
    filter: brightness(0) invert(1);
}

/* Fixed Call Button (appears on scroll when header is hidden) */
.fixed-call-button {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    background: #141000;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
}

.fixed-call-button:hover {
    background: #2a2a2a;
    box-shadow: 0 6px 16px rgba(20, 16, 0, 0.2);
}

.fixed-call-button:active {
    background: #141000;
    box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
}

.fixed-call-button.visible {
    display: flex;
}

/* On touch devices, avoid sticky hover state */
@media (hover: none) and (pointer: coarse) {
    .fixed-call-button:hover {
        background: #141000;
        box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
    }
    
    .fixed-call-button:active {
        background: #2a2a2a;
        box-shadow: 0 6px 16px rgba(20, 16, 0, 0.2);
    }
}

@media (max-width: 678px) {
    .fixed-call-button.visible {
        display: flex;
    }
}

/* Floating stack (index, articles, kontakt, naprawa hub): phone bottom, WhatsApp above (Figma 984-3605) */
.site-fixed-actions {
    position: fixed;
    right: 20px;
    bottom: max(20px, env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 12px;
    z-index: 1000;
    pointer-events: none;
}

.site-fixed-actions > a {
    pointer-events: auto;
}

.site-fixed-actions .fixed-call-button {
    position: static;
    bottom: auto;
    right: auto;
    z-index: auto;
}

.site-fixed-actions .fixed-whatsapp-button {
    display: flex;
    position: static;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.site-fixed-actions .fixed-whatsapp-button:hover {
    background: #20bd5a;
    color: #fff;
    box-shadow: 0 6px 16px rgba(20, 16, 0, 0.2);
    transform: scale(1.04);
}

.site-fixed-actions .fixed-whatsapp-button:active {
    transform: scale(0.98);
    box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
}

.site-fixed-actions .fixed-whatsapp-button__icon {
    display: block;
    flex-shrink: 0;
}

/* Mobile: tighter inset; WhatsApp shadow matches desktop (neutral) */
@media (max-width: 678px) {
    .site-fixed-actions {
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom, 0px));
    }
}

@media (hover: none) and (pointer: coarse) {
    .site-fixed-actions .fixed-whatsapp-button:hover {
        background: #25d366;
        box-shadow: 0 4px 12px rgba(20, 16, 0, 0.15);
        transform: none;
    }

    .site-fixed-actions .fixed-whatsapp-button:active {
        background: #20bd5a;
        box-shadow: 0 6px 16px rgba(20, 16, 0, 0.2);
        transform: scale(0.98);
    }
}

@media (min-width: 679px) {
    .site-fixed-actions {
        right: 24px;
        bottom: max(24px, env(safe-area-inset-bottom, 0px));
    }
}

/* Hamburger Menu */
.hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #edefec;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative; /* for x-close pseudo elements */
}

.hamburger:hover {
    background: #d4d6d3;
}

.hamburger-icon {
    width: 24px;
    height: 24px;
}

/* Repair form header adjustments */
body.page-repair-form .menu,
body.page-repair-form .header .cta-button,
body.page-repair-form .hamburger {
    display: none !important;
}

body.page-repair-form .header-right {
    display: none;
}

body.page-repair-form .header {
    padding-bottom: 0;
}

body.page-repair-form .logo {
    width: 184px;
}

@media (max-width: 480px) {
    body.page-repair-form {
        overscroll-behavior-y: contain;
    }
}

@media (max-width: 768px) {
    body.page-repair-form .header-right {
        display: flex;
    }

    body.page-repair-form .header-right .mobile-call-button {
        display: flex;
    }

    body.page-repair-form .logo {
        width: 160px;
    }
}

/* CSS-driven X icon when menu is open */
.hamburger::before,
.hamburger::after {
    content: '';
    position: absolute;
    width: 22px;
    height: 2px;
    background: #141000;
    border-radius: 2px;
    opacity: 0;
    transform: rotate(0deg);
    transition: opacity 180ms ease, transform 180ms ease;
}
.hamburger::before { transform-origin: center; }
.hamburger::after { transform-origin: center; }

.hamburger.is-open .hamburger-icon { opacity: 0; }
.hamburger.is-open::before,
.hamburger.is-open::after { opacity: 1; }
.hamburger.is-open::before { transform: rotate(45deg); }
.hamburger.is-open::after { transform: rotate(-45deg); }

/* Ensure open state uses base background and doesn't stick to hover color */
.hamburger.is-open,
.hamburger.is-open:hover,
.hamburger.is-open:active,
.hamburger.is-open:focus {
    background: #edefec !important;
    outline: none;
}

@media (max-width: 1220px) {
    /* On touch devices, avoid sticky :hover; only show active feedback */
    .hamburger:hover { background: #edefec; }
    .hamburger:active { background: #d4d6d3; }
}

.menu-indicator {
    position: absolute;
    background: var(--color-menu-active);
    border-radius: 9999px;
    opacity: 0;
    transform: scale(0);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
    z-index: 0;
}

.menu-indicator.first-hover {
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
    transform: scale(1) !important;
}

.menu-indicator.sliding {
    transition: left 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                width 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                opacity 0.3s ease;
    transform: scale(1);
}

.menu-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 10px 24px;
    border-radius: 9999px;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: var(--color-dark);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

/* Use Noto Sans for Ukrainian and Russian languages in menu */
body.lang-uk .menu-item[data-i18n],
body.lang-ru .menu-item[data-i18n],
body.lang-uk .naprawa-menu-link[data-i18n],
body.lang-ru .naprawa-menu-link[data-i18n] {
    font-family: 'Noto Sans', sans-serif;
    font-size: 13.5px;
}


.menu-item.dropdown {
    padding-right: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.naprawa-menu-link {
    color: inherit;
    text-decoration: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    cursor: pointer;
    display: inline-block;
}

.naprawa-menu-link:hover,
.naprawa-menu-link:focus,
.naprawa-menu-link:active {
    color: inherit;
    text-decoration: none;
}

.language-menu-link {
    color: inherit;
    text-decoration: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    cursor: pointer;
    display: inline-block;
}

.language-menu-link:hover,
.language-menu-link:focus,
.language-menu-link:active {
    color: inherit;
    text-decoration: none;
}

/* Language Dropdown - vertical menu style */
.language-dropdown {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    background: var(--color-menu-bg);
    border-radius: 12px;
    padding: 8px 10px;
    z-index: 9;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 220ms ease, transform 220ms ease;
    will-change: opacity, transform;
    /* Position will be set via JavaScript relative to menu */
}

.language-dropdown.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.language-dropdown-indicator {
    position: absolute;
    background: var(--color-menu-active);
    border-radius: 9999px;
    opacity: 0;
    transform: scale(0);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
    z-index: 0;
}

.language-dropdown-indicator.first-hover {
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
    transform: scale(1) !important;
}

.language-dropdown-indicator.sliding {
    transition: left 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                width 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), 
                height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                opacity 0.3s ease;
    transform: scale(1);
}

.language-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 9999px;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #141000;
    text-decoration: none;
    white-space: nowrap;
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.language-dropdown-item:hover {
    text-decoration: none;
}

.language-dropdown-item[data-lang="uk"],
.language-dropdown-item[data-lang="ru"] {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14px;
    line-height: 18px;
}

/* Compact menu styles for language dropdown */
@media (max-width: 1340px) {
    .language-dropdown {
        padding: 6px 8px;
    }
    
    .language-dropdown-item {
        padding: 8px 16px;
        font-size: 12px;
        line-height: 18px;
    }
    
    .language-dropdown-item[data-lang="uk"],
    .language-dropdown-item[data-lang="ru"] {
        font-size: 13px;
        line-height: 18px;
    }
}

.chevron {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Menu Divider */
.menu-divider {
    width: 0px;
    height: 12px;
    border-left: 1px solid rgba(20, 16, 0, 0.2);
    flex-shrink: 0;
}

/* CTA Button with Fill Effect */
.cta-button {
    position: relative;
    background: var(--color-dark);
    border: none;
    border-radius: 9999px;
    padding: 16px 32px;
    font-family: 'Unbounded', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 14px;
    line-height: 22px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}

a.cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

a.cta-button:hover {
    text-decoration: none;
}

a.cta-button:focus {
    outline: none;
}

a.cta-button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px var(--color-dark);
}

a.cta-button:active {
    transform: none;
}

.cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 9999px;
    box-shadow: inset 0 0 0 2px #141000;
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 3;
    pointer-events: none;
    background: transparent;
}

.cta-button:hover::before {
    opacity: 1;
}

.cta-button__text-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.cta-button__text {
    display: block;
}

.cta-button__text--original {
    color: var(--color-white);
    transition: opacity 0.3s ease;
}

.cta-button__text--hover {
    position: absolute;
    top: 0;
    left: 0;
    color: #141000;
    font-weight: 400;
    transform: translateY(250%);
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.3s ease;
}

.cta-button__fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: #F9944A;
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    border-radius: 0;
}

.cta-button:hover .cta-button__fill {
    height: 100%;
}

.cta-button:hover .cta-button__text--original {
    opacity: 0;
}

.cta-button:hover .cta-button__text--hover {
    transform: translateY(0);
    opacity: 1;
}

/* Hero Section */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.hero-section {
    margin-top: 140px;
    padding: 0 48px;
}

.hero-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.hero-subtitle {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 24px;
    text-align: center;
}

/* Ukrainian and Russian versions: use Unbounded for hero subtitle and title (same as Polish version) */
body.lang-uk .hero-subtitle,
body.lang-ru .hero-subtitle {
    font-family: 'Unbounded', sans-serif;
}

/* All languages: hero-title rules (same as Polish version) */

/* All languages: font-size, max-width and height for ≤393px */
@media (max-width: 393px) {
    .hero-title {
        font-size: 40px !important;
        max-width: 308px !important;
        height: 96px !important; /* two lines * 48px line-height */
    }
}

/* English version: 361-393px range */
@media (max-width: 393px) and (min-width: 361px) {
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

/* All languages: smaller font-size for 320-360px range */
@media (max-width: 360px) and (min-width: 320px) {
    .hero-title {
        font-size: 36px !important;
        line-height: 42px !important;
        max-width: 280px !important;
        height: 84px !important; /* two lines * 42px line-height */
    }
    
    /* English version: 286px for this range */
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

/* All languages: font-size, line-height, max-width and height for ≤947px range */
@media (max-width: 947px) {
    .hero-title {
        font-size: 60px !important;
        line-height: 78px !important;
        max-width: 450px !important;
        height: 156px !important; /* two lines * 78px line-height */
    }
    
    /* English version: max-width 422px */
    body.lang-en .hero-title {
        max-width: 422px !important;
    }
    
    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal !important; /* collapse leading space at line start */
    }
    
    /* English version: wrapper for dynamic text and cursor to ignore container width */
    body.lang-en .hero-title__dynamic-wrapper {
        display: inline-flex !important;
        white-space: nowrap !important;
        min-width: max-content !important; /* Allow wrapper to extend beyond container */
    }
    
    /* English version: prevent "your fridge" and "your washer" with cursor from wrapping to second line */
    body.lang-en .hero-title__dynamic {
        white-space: nowrap !important;
    }
    
    /* English version: keep cursor on same line as dynamic text - prevent wrapping */
    body.lang-en .hero-title__cursor--dynamic {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }
    
    /* Allow hero-title container to overflow if needed for English version */
    body.lang-en .hero-title {
        overflow: visible !important;
    }
    
    /* For other languages: hide wrapper (it's only visible structure for English) */
    body:not(.lang-en) .hero-title__dynamic-wrapper {
        display: contents !important; /* Make wrapper transparent for non-English */
    }
}

/* All languages: font-size, line-height, max-width and height for 394-768px range */
@media (max-width: 768px) and (min-width: 394px) {
    .hero-title {
        font-size: 46px !important;
        line-height: 56px !important;
        max-width: 350px !important;
        height: 114px !important; /* two lines * 56px line-height */
        text-align: center !important;
        justify-content: center !important;
    }
    
    /* English version: 326px for this range */
    body.lang-en .hero-title {
        max-width: 326px !important;
    }
    
    /* Cursor height matches font-size */
    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 46px !important; /* Match font-size */
    }
    
    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal !important; /* collapse leading space at line start */
    }
}

.hero-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 600;
    font-size: 80px;
    line-height: 104px;
    color: #141000;
    animation: fadeInUp 0.8s ease-out 0.3s both;
    text-align: center;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    /* Disable transitions for font-size, line-height, max-width, height to prevent smooth resizing when language changes */
    transition: none !important;
}

/* Allow transition only for transform property on hero-title (if needed for animations) */
.hero-title__static {
    transition: transform 0.3s ease-in-out !important;
}

/* Ukrainian and Russian versions: font-size and line-height for 1321-1385px */
@media (min-width: 1321px) and (max-width: 1385px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 60px;
        line-height: 80px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 60px;
    }
}

/* Ukrainian and Russian versions: different font-size and line-height for desktop (>1385px) */
@media (min-width: 1386px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 64px;
        line-height: 88px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 64px;
    }
}

.hero-title__question {
    display: inline-block;
    width: fit-content;
}

.hero-title__space {
    display: inline-block;
    white-space: pre;
}

.hero-title__static {
    display: inline-block;
    transition: transform 0.3s ease-in-out !important;
    will-change: transform;
}

.hero-title__dynamic {
    display: inline-block;
    margin-left: 16px;
    transition: none !important; /* No transition to prevent smooth resizing when language changes */
}

.hero-title__space {
    transition: all 0.3s ease-in-out !important;
}

.hero-title__cursor {
    display: inline-block;
    width: 4px;
    height: 80px;
    background-color: #141000;
    margin-left: 4px;
    opacity: 0;
    vertical-align: bottom;
}

.hero-title__cursor.active {
    opacity: 1;
    animation: blink 1s step-end infinite;
}

.hero-title__cursor--question {
    margin-right: 4px;
}

.hero-title__cursor--dynamic {
    margin-left: 4px;
}

/* Wrapper for dynamic element and cursor - transparent for non-English languages */
.hero-title__dynamic-wrapper {
    display: contents; /* Make wrapper transparent by default */
}

@keyframes blink {
    0%, 50% {
        opacity: 1;
    }
    51%, 100% {
        opacity: 0;
    }
}

/* --- overrides for Features 560–719px — implementation of 719px design --- */

/* Contact Info Section */
.contact-info {
    margin-top: 48px;
    padding: 0 48px;
}

.contact-info-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    animation: fadeInUp 0.8s ease-out 0.6s both;
}

.contact-info__text {
    font-family: 'Sora', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 28px;
    color: #858784;
    white-space: nowrap;
}

/* Use Noto Sans for Ukrainian and Russian languages in contact info text, but keep phone number in Sora */
body.lang-uk .contact-info__text,
body.lang-ru .contact-info__text {
    font-weight: 300 !important; /* Weight for Ukrainian and Russian versions */
}

body.lang-uk .contact-info__text [data-i18n],
body.lang-ru .contact-info__text [data-i18n],
body.lang-uk .contact-info__text[data-i18n],
body.lang-ru .contact-info__text[data-i18n] {
    font-family: 'Noto Sans', sans-serif !important;
    font-weight: 300 !important; /* Weight for Ukrainian and Russian versions */
}

/* Keep phone number in Sora with same size and weight as Polish version for all languages */
body.lang-uk .contact-info__text .contact-info__phone,
body.lang-ru .contact-info__text .contact-info__phone,
body.lang-uk .contact-info__phone,
body.lang-ru .contact-info__phone {
    font-family: 'Sora', sans-serif !important;
    font-weight: 400 !important; /* Same as Polish version */
    font-size: inherit !important; /* Inherit size from parent */
    line-height: inherit !important; /* Inherit line-height from parent */
}

body.lang-uk .phone-below-cta,
body.lang-ru .phone-below-cta {
    font-family: 'Noto Sans', sans-serif;
}

/* Keep phone number in Sora with same size and weight as Polish version in phone-below-cta */
body.lang-uk .phone-below-cta .contact-info__phone,
body.lang-ru .phone-below-cta .contact-info__phone {
    font-family: 'Sora', sans-serif !important;
    font-size: inherit !important; /* Inherit size from parent */
    line-height: inherit !important; /* Inherit line-height from parent */
}

.contact-info__icons {
    display: flex;
    align-items: center;
    padding-right: 14px;
    position: relative;
}

.contact-info__icon {
    width: 64px;
    height: 64px;
    margin-right: -14px;
    position: relative;
}

.contact-info__icon:nth-child(1) {
    z-index: 3;
}

.contact-info__icon:nth-child(2) {
    z-index: 2;
}

.contact-info__icon:nth-child(3) {
    z-index: 1;
}

.contact-info__phone {
    color: #141000;
    font-weight: 400;
}

/* CTA Section */
.cta-section {
    margin-top: 56px;
    padding: 0 48px;
}

/* Brands (logos) */
.brands {
    margin-top: 120px; /* distance below hero CTA per spec */
    padding: 0; /* full-bleed carousel */
}
.brands-container { max-width: none; width: 100%; margin: 0; }

.brands-marquee {
    position: relative;
    overflow: hidden; /* hide track overflow for fade edges */
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 48px, rgba(0,0,0,1) calc(100% - 48px), rgba(0,0,0,0));
    mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 48px, rgba(0,0,0,1) calc(100% - 48px), rgba(0,0,0,0));
}

.brands-track {
    display: flex;
    align-items: center;
    gap: 40px; /* exact Figma gap */
    animation: brands-scroll 30s linear infinite;
    will-change: transform;
}

/* Each logo sits inside a fixed-size box to match Figma exactly */
.brand-item { height: 32px; flex: 0 0 auto; position: relative; }
.brand-logo { width: 100%; height: 100%; display: block; object-fit: contain; opacity: 0.9; }

/* Per-brand exact widths from Figma (node 1:56) */
.brand-saeco { width: 86px; }
.brand-miele { width: 84px; }
.brand-krups { width: 86px; }
.brand-siemens { width: 96px; }
.brand-philips { width: 86.857px; }
.brand-bosch { width: 66.286px; }
.brand-nivona { width: 72.828px; }
.brand-samsung { width: 113.143px; }
.brand-beko { width: 83px; }
.brand-delonghi { width: 99px; }
.brand-aeg { width: 42px; }
.brand-lg { width: 29px; }
.brand-amica { width: 64px; }
.brand-jura { width: 70.857px; }
.brand-electrolux { width: 104px; }
.brand-whirlpool { width: 90px; }

@keyframes brands-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-100% / 3)); }
}

@keyframes brands-scroll-mobile {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (min-width: 992px) and (max-width: 1320px) {
    .brands { margin-top: 96px; }
}

@media (max-width: 992px) {
    .brands { padding: 0; margin-top: 96px; }
    .brands-marquee { -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 24px, rgba(0,0,0,1) calc(100% - 24px), rgba(0,0,0,0)); mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 24px, rgba(0,0,0,1) calc(100% - 24px), rgba(0,0,0,0)); }
    .brands-track { gap: 32px; }
}

@media (max-width: 480px) {
    .brands { padding: 0; margin-top: 72px; }
    .brands-track { 
        gap: 24px; 
        animation: brands-scroll-mobile 10s linear infinite;
    }
    /* Make next-block CTA full-width on very small screens like the first block */
    .next-block__cta .cta-button { width: 100%; }
    /* CTA button font-weight on small screens - bolder on hover */
    .cta-button { font-weight: 300; }
    .cta-button__text--original { font-weight: 300; }
    .cta-button__text--hover { font-weight: 400; }
}

.cta-section-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    animation: fadeInUp 0.8s ease-out 0.6s both;
}

.phone-below-cta {
    display: none;
    text-align: center;
    font-family: 'Sora', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 28px;
    color: #858784;
}

/* Normalize tel links appearance on mobile */
.phone-below-cta a,
a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}

/* Ensure phone number is black across all sizes where styled as link */
.contact-info__text .contact-info__phone { color: #141000 !important; text-decoration: none; }

    .cta-section .cta-button {
        padding: 20px 36px;
        font-size: 17px;
        line-height: 28px;
        width: auto;
        max-width: none;
    }

/* Main Content Placeholder */
.main-content { padding: 0; max-width: none; margin: 0 auto; }

/* Generic section container model: 1440 outer with 48px gutters, 1344 inner */
.section { max-width: 1440px; margin: 0 auto; padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px); padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px); }
.section__inner { max-width: 1344px; margin: 0 auto; }

/* Benefit Section (node 31:425) - Fluid scaling 1440→1140 */
.benefit-section { padding-top: clamp(88px, calc(88px + (100vw - 1140px) * 32 / 300), 120px); padding-bottom: clamp(88px, calc(88px + (100vw - 1140px) * 32 / 300), 120px); }
.benefit-section__title { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    gap: clamp(56px, calc(56px + (100vw - 1140px) * 16 / 300), 72px);
}
.benefit-section__stack { display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: max-content; margin: 0 auto; }
.benefit-section__subtitle-row { display: flex; align-items: flex-end; gap: 4px; }
.benefit-section__subtitle { font-family: 'Sora', sans-serif; font-weight: 400; font-size: clamp(16px, calc(16px + (100vw - 1140px) * 4 / 300), 20px); line-height: clamp(24px, calc(24px + (100vw - 1140px) * 4 / 300), 28px); color: #141000; padding: 8px 0; }
/* Ukrainian and Russian versions: use Noto Sans for subtitle */
body.lang-uk .benefit-section__subtitle,
body.lang-ru .benefit-section__subtitle {
    font-family: 'Noto Sans', sans-serif !important;
}
.benefit-section__icon-ok { width: clamp(51.268px, calc(51.268px + (100vw - 1140px) * 13.732 / 300), 65px); height: clamp(56px, calc(56px + (100vw - 1140px) * 15 / 300), 71px); }
.benefit-section__icon-img { width: 100%; height: 100%; display: block; object-fit: contain; }
.benefit-section__heading { font-family: 'Unbounded', sans-serif; font-weight: 500; font-size: clamp(48px, calc(48px + (100vw - 1140px) * 8 / 300), 56px); line-height: clamp(56px, calc(56px + (100vw - 1140px) * 16 / 300), 72px); color: #141000; text-align: left; }
.benefit-section__cta { display: flex; justify-content: center; margin-top: clamp(32px, calc(32px + (100vw - 620px) * (56 - 32) / (1140 - 620)), 56px); }
.benefit-section__cta .cta-button,
.article-header__phone-btn.cta-button {
    padding: clamp(18px, calc(18px + (100vw - 1140px) * 2 / 300), 20px) clamp(32px, calc(32px + (100vw - 1140px) * 4 / 300), 36px);
    font-size: clamp(16px, calc(16px + (100vw - 1140px) * 1 / 300), 17px);
    line-height: clamp(26px, calc(26px + (100vw - 1140px) * 2 / 300), 28px);
}

.benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: clamp(34px, calc(34px + (100vw - 414px) * (64 - 34) / (1140 - 414)), 64px); }
.benefit-grid__row { display: contents; }
.benefit-card { 
    height: auto; 
    border-radius: clamp(19px, calc(19px + (100vw - 1140px) * 5 / 300), 24px); 
    padding: clamp(24px, calc(24px + (100vw - 1140px) * 8 / 300), 32px); 
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; 
    justify-content: center; 
    gap: clamp(48px, calc(48px + (100vw - 1140px) * 14 / 300), 62px);
}
.benefit-card--blue { background: #c4dfff; }
.benefit-card--orange { background: #FFA25E; }
.benefit-card--green { background: #D5EE8E; }
.benefit-card__title { font-family: 'Unbounded', sans-serif; font-weight: 400; font-size: clamp(22px, calc(22px + (100vw - 1140px) * 6 / 300), 28px); line-height: clamp(32px, calc(32px + (100vw - 1140px) * 8 / 300), 40px); color: #141000; text-align: left; text-wrap: balance; }
.benefit-card__icon { 
    width: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px); 
    height: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px); 
    align-self: center;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Show icons if JavaScript is disabled (fallback) */
.no-js .benefit-card__icon {
    opacity: 1;
    transform: scale(1);
}

/* Animate icons when they become visible */
.benefit-card__icon.animate {
    opacity: 1;
    transform: scale(1);
}
.benefit-card__icon-img { width: 100%; height: 100%; display: block; object-fit: contain; }
.benefit-card__desc { font-family: 'Sora', sans-serif; font-weight: 400; font-size: clamp(14px, calc(14px + (100vw - 1140px) * 4 / 300), 18px); line-height: clamp(22px, calc(22px + (100vw - 1140px) * 6 / 300), 28px); color: #0d0f12; text-align: left; }
/* Ukrainian and Russian versions: use Noto Sans for description text */
body.lang-uk .benefit-card__desc,
body.lang-ru .benefit-card__desc,
body.lang-uk .benefit-card__desc-line,
body.lang-ru .benefit-card__desc-line {
    font-family: 'Noto Sans', sans-serif !important;
}
.benefit-card__desc-line { display: inline; }

@media (min-width: 993px) {
    .benefit-card__desc-line { display: block; }
    /* UK/RU diagnostics: no forced line break before "200 злотих…" on large screens */
    body.lang-uk .benefit-card--orange .benefit-card__desc-line,
    body.lang-ru .benefit-card--orange .benefit-card__desc-line {
        display: inline;
    }
}

/* PL only: force line break before " – " in diagnostics card between 420px and 460px */
@media (min-width: 420px) and (max-width: 460px) {
    body.lang-pl .benefit-card--orange .benefit-diagnostics-pl-dash-break::before {
        content: '\A';
        white-space: pre;
    }
}

/* EN only: line break before " — you" in diagnostics card, 470px–541px inclusive */
@media (min-width: 470px) and (max-width: 541px) {
    body.lang-en .benefit-card--orange .benefit-diagnostics-en-dash-break::before {
        content: '\A';
        white-space: pre;
    }
}

/* EN only: line break before "of 200 PLN gross." from 451px down to smallest */
@media (max-width: 451px) {
    body.lang-en .benefit-card--orange .benefit-diagnostics-en-of-break::before {
        content: '\A';
        white-space: pre;
    }
}

/* Experience Section */
.experience-section {
    margin-top: 72px;
    margin-bottom: 72px;
    padding-top: 0;
    padding-bottom: 0;
}

.experience-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
}

.experience-line {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 48px;
    line-height: 64px;
    margin: 0;
    padding: 0;
}

.experience-text--gray {
    color: #aaaaaa;
}

.experience-text--bold {
    color: #141000;
}

.experience-decoration {
    display: inline-block;
    vertical-align: middle;
    margin: 0 8px;
    position: relative;
    top: 4px;
}

.experience-decoration__line {
    width: 151px;
    height: 52px;
    display: block;
}

/* Hide Polish, English, and Ukrainian versions for Russian on all sizes */
body.lang-ru .experience-line--pl,
body.lang-ru .experience-decoration--pl,
body.lang-ru .experience-line--en,
body.lang-ru .experience-decoration--en,
body.lang-ru .experience-line--uk,
body.lang-ru .experience-decoration--uk {
    display: none !important;
}

/* Ukrainian version - Desktop layout (1441px+) - same approach as English and Polish */
@media (min-width: 1441px) {
    /* Hide Polish and English versions for Ukrainian */
    body.lang-uk .experience-line--pl,
    body.lang-uk .experience-decoration--pl,
    body.lang-uk .experience-line--en,
    body.lang-uk .experience-decoration--en {
        display: none !important;
    }
    
    /* Show Ukrainian desktop version */
    body.lang-uk .experience-line--desktop.experience-line--uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 48px !important;
        line-height: 64px !important;
    }
    
    /* Ukrainian version SVG decoration */
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 4px;
    }
    
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk .experience-decoration__line {
        width: 151px;
        height: 52px;
        display: block;
    }
    
    /* Ukrainian content width */
    body.lang-uk .experience-content {
        max-width: 1320px !important;
    }
}

/* Ukrainian version - Desktop layout (1440px) - fixed values */
@media (min-width: 1440px) and (max-width: 1440px) {
    /* Hide Polish and English versions for Ukrainian */
    body.lang-uk .experience-line--pl,
    body.lang-uk .experience-decoration--pl,
    body.lang-uk .experience-line--en,
    body.lang-uk .experience-decoration--en {
        display: none !important;
    }
    
    /* Show Ukrainian desktop version */
    body.lang-uk .experience-line--desktop.experience-line--uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 48px !important;
        line-height: 64px !important;
    }
    
    /* Ukrainian version SVG decoration */
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 4px;
    }
    
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk .experience-decoration__line {
        width: 151px;
        height: 52px;
        display: block;
    }
    
    /* Ukrainian content width */
    body.lang-uk .experience-content {
        max-width: 1320px !important;
    }
    
    /* Hide Russian version for non-Russian languages */
    body:not(.lang-ru) .experience-line--ru,
    body:not(.lang-ru) .experience-decoration--ru {
        display: none !important;
    }
    
    /* Show Russian desktop version */
    body.lang-ru .experience-line--desktop.experience-line--ru {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 48px !important;
        line-height: 64px !important;
    }
    
    /* Russian version SVG decoration */
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 4px;
    }
    
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru .experience-decoration__line {
        width: 151px;
        height: 52px;
        display: block;
    }
    
    /* Russian content width */
    body.lang-ru .experience-content {
        max-width: 1320px !important;
    }
}

/* English version - Desktop layout (1440px+) - same approach as Polish */
@media (min-width: 1440px) {
    /* Hide Polish version for English */
    body.lang-en .experience-line--pl,
    body.lang-en .experience-decoration--pl {
        display: none !important;
    }
    
    /* Show English desktop version */
    body.lang-en .experience-line--desktop.experience-line--en {
        display: block !important;
    }
    
    /* Hide English tablet version on desktop */
    body.lang-en .experience-line--tablet-en,
    body.lang-en .experience-decoration--tablet-en {
        display: none !important;
    }
    
    /* English version uses same styling as Polish, just different text */
    body.lang-en .experience-decoration--desktop.experience-decoration--en {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 4px;
    }
    
    body.lang-en .experience-decoration--desktop.experience-decoration--en .experience-decoration__line {
        width: 151px;
        height: 52px;
        display: block;
    }
}

/* Hide English version for non-English languages - all breakpoints */
body:not(.lang-en) .experience-line--en,
body:not(.lang-en) .experience-decoration--en,
body:not(.lang-en) .experience-line--tablet-en,
body:not(.lang-en) .experience-decoration--tablet-en,
body:not(.lang-en) .experience-line--mobile-en,
body:not(.lang-en) .experience-decoration--mobile-en {
    display: none !important;
}

/* Hide Ukrainian version for non-Ukrainian languages - all breakpoints */
body:not(.lang-uk) .experience-line--uk,
body:not(.lang-uk) .experience-decoration--uk,
body:not(.lang-uk) .experience-line--tablet-uk,
body:not(.lang-uk) .experience-decoration--tablet-uk,
body:not(.lang-uk) .experience-line--mobile-uk,
body:not(.lang-uk) .experience-decoration--mobile-uk {
    display: none !important;
}

/* Hide Russian version for non-Russian languages - all breakpoints */
body:not(.lang-ru) .experience-line--ru,
body:not(.lang-ru) .experience-decoration--ru {
    display: none !important;
}

/* Global rules: Hide English tablet version on desktop sizes (1440px+) */
@media (min-width: 1440px) {
    body.lang-en .experience-line--tablet-en,
    body.lang-en .experience-decoration--tablet-en {
        display: none !important;
    }
}

/* Global rules: Hide English desktop version on tablet sizes (620-992px) */
@media (min-width: 620px) and (max-width: 992px) {
    body.lang-en .experience-line--desktop.experience-line--en,
    body.lang-en .experience-decoration--desktop.experience-decoration--en {
        display: none !important;
    }
    
    /* Hide Ukrainian desktop version on tablet sizes */
    body.lang-uk .experience-line--desktop.experience-line--uk,
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk {
        display: none !important;
    }
}

/* Global rules: Hide English desktop and tablet versions on mobile sizes (414-619px) */
@media (min-width: 414px) and (max-width: 619px) {
    body.lang-en .experience-line--desktop.experience-line--en,
    body.lang-en .experience-decoration--desktop.experience-decoration--en,
    body.lang-en .experience-line--tablet-en,
    body.lang-en .experience-decoration--tablet-en {
        display: none !important;
    }
}

/* Viewport-based scaling for screens from 993px to 1439px */
@media (min-width: 993px) and (max-width: 1439px) {
    .experience-section {
        margin-top: 5vw; /* 72px at 1440px */
        margin-bottom: 5vw; /* 72px at 1440px */
    }
    
    .experience-line {
        font-size: 3.33vw; /* 48px at 1440px */
        line-height: 4.44vw; /* 64px at 1440px */
    }
    
    .experience-decoration {
        margin: 0 0.56vw; /* 8px at 1440px */
        top: 0.28vw; /* 4px at 1440px */
    }
    
    .experience-decoration__line {
        width: 10.49vw; /* 151px at 1440px */
        height: 3.61vw; /* 52px at 1440px */
    }
    
    /* Show English desktop version with proportional scaling */
    body.lang-en .experience-line--desktop.experience-line--en {
        display: block !important;
    }
    
    body.lang-en .experience-decoration--desktop.experience-decoration--en {
        display: inline-block !important;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 0.28vw; /* 4px at 1440px */
    }
    
    body.lang-en .experience-decoration--desktop.experience-decoration--en .experience-decoration__line {
        width: 10.49vw; /* 151px at 1440px */
        height: 3.61vw; /* 52px at 1440px */
    }
    
    /* Hide English tablet version on 993-1440px */
    body.lang-en .experience-line--tablet-en,
    body.lang-en .experience-decoration--tablet-en {
        display: none !important;
    }
    
    /* Hide Polish version for English */
    body.lang-en .experience-line--pl,
    body.lang-en .experience-decoration--pl,
    body.lang-en .experience-line--tablet:not(.experience-line--tablet-en),
    body.lang-en .experience-decoration--tablet-inline {
        display: none !important;
    }
    
    /* Hide Ukrainian version for English on 993-1440px */
    body.lang-en .experience-line--uk,
    body.lang-en .experience-decoration--uk {
        display: none !important;
    }
    
    /* Ukrainian version with proportional scaling */
    body.lang-uk .experience-line--desktop.experience-line--uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 3.33vw !important; /* 48px at 1440px */
        line-height: 4.44vw !important; /* 64px at 1440px */
    }
    
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk {
        display: inline-block !important;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 0.28vw; /* 4px at 1440px */
    }
    
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk .experience-decoration__line {
        width: 10.49vw !important; /* 151px at 1440px */
        height: 3.61vw !important; /* 52px at 1440px */
    }
    
    body.lang-uk .experience-content {
        max-width: 91.67vw !important; /* 1320px at 1440px */
    }
    
    /* Hide Polish and English versions for Ukrainian */
    body.lang-uk .experience-line--pl,
    body.lang-uk .experience-decoration--pl,
    body.lang-uk .experience-line--en,
    body.lang-uk .experience-decoration--en {
        display: none !important;
    }
    
    /* Hide Russian version for non-Russian languages on 993-1440px */
    body:not(.lang-ru) .experience-line--ru,
    body:not(.lang-ru) .experience-decoration--ru {
        display: none !important;
    }
    
    /* Russian version with proportional scaling */
    body.lang-ru .experience-line--desktop.experience-line--ru {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 3.33vw !important; /* 48px at 1440px */
        line-height: 4.44vw !important; /* 64px at 1440px */
    }
    
    
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru {
        display: inline-block !important;
        vertical-align: middle;
        margin: 0;
        position: relative;
        top: 0.28vw; /* 4px at 1440px */
    }
    
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru .experience-decoration__line {
        width: 10.49vw !important; /* 151px at 1440px */
        height: 3.61vw !important; /* 52px at 1440px */
    }
    
    body.lang-ru .experience-content {
        max-width: 91.67vw !important; /* 1320px at 1440px */
    }
    
    /* Hide Polish, English, and Ukrainian versions for Russian on 993-1440px */
    body.lang-ru .experience-line--pl,
    body.lang-ru .experience-decoration--pl,
    body.lang-ru .experience-line--en,
    body.lang-ru .experience-decoration--en,
    body.lang-ru .experience-line--uk,
    body.lang-ru .experience-decoration--uk {
        display: none !important;
    }
}

/* Experience Section for screens from 414px to 619px - proportional scaling via vw */
@media (min-width: 414px) and (max-width: 619px) {
    .experience-section {
        margin-top: calc(24px + (48px - 24px) * (100vw - 414px) / (619px - 414px));
        margin-bottom: calc(24px + (48px - 24px) * (100vw - 414px) / (619px - 414px));
    }
    
    .section.experience-section {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    /* Hide desktop and tablet versions */
    .experience-line--desktop {
        display: none;
    }
    
    .experience-decoration--desktop {
        display: none;
    }
    
    .experience-line--tablet {
        display: none;
    }
    
    .experience-decoration--tablet-inline {
        display: none;
    }
    
    /* Show mobile version with proportional scaling via vw */
    .experience-content {
        width: 100%;
        margin: 0 auto;
        align-items: flex-start;
        position: relative;
    }
    
    .experience-line--mobile {
        display: block;
        font-size: calc(23px + (32px - 23px) * (100vw - 414px) / (619px - 414px));
        line-height: calc(32px + (40px - 32px) * (100vw - 414px) / (619px - 414px));
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    
    .experience-decoration--mobile-inline {
        display: inline-block;
        vertical-align: middle;
        margin: 0 4px;
        position: relative;
        top: 2px;
    }
    
    .experience-decoration__line--mobile-inline {
        width: calc(118px - (118px - 94px) * (100vw - 414px) / (619px - 414px));
        height: calc(40px - (40px - 32px) * (100vw - 414px) / (619px - 414px));
        display: block;
    }
    
    /* Hide English desktop and tablet versions on mobile */
    body.lang-en .experience-line--desktop.experience-line--en,
    body.lang-en .experience-decoration--desktop.experience-decoration--en,
    body.lang-en .experience-line--tablet-en,
    body.lang-en .experience-decoration--tablet-en {
        display: none !important;
    }
    
    /* Hide Ukrainian version for non-Ukrainian languages on mobile */
    body:not(.lang-uk) .experience-line--uk,
    body:not(.lang-uk) .experience-decoration--uk,
    body:not(.lang-uk) .experience-line--tablet-uk,
    body:not(.lang-uk) .experience-decoration--tablet-uk,
    body:not(.lang-uk) .experience-line--mobile-uk,
    body:not(.lang-uk) .experience-decoration--mobile-uk {
        display: none !important;
    }
    
    /* Hide Polish mobile version for English */
    body.lang-en .experience-line--mobile:not(.experience-line--mobile-en) {
        display: none !important;
    }
    
    /* Show English mobile version */
    body.lang-en .experience-line--mobile.experience-line--mobile-en {
        display: block !important;
    }
    
    /* Hide Polish mobile decoration for English */
    body.lang-en .experience-decoration--mobile-inline:not(.experience-decoration--mobile-en) {
        display: none !important;
    }
    
    /* Show English mobile decoration */
    body.lang-en .experience-decoration--mobile-inline.experience-decoration--mobile-en {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 4px !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-en .experience-decoration--mobile-en .experience-decoration__line {
        width: calc(118px - (118px - 94px) * (100vw - 414px) / (619px - 414px)) !important;
        height: calc(40px - (40px - 32px) * (100vw - 414px) / (619px - 414px)) !important;
    }
    
    /* Hide Ukrainian desktop and tablet versions on mobile */
    body.lang-uk .experience-line--desktop.experience-line--uk,
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk,
    body.lang-uk .experience-line--tablet.experience-line--tablet-uk,
    body.lang-uk .experience-decoration--tablet-inline.experience-decoration--tablet-uk {
        display: none !important;
    }
    
    /* Hide Polish, English, and Russian mobile versions for Ukrainian */
    body.lang-uk .experience-line--mobile:not(.experience-line--mobile-uk),
    body.lang-uk .experience-line--mobile-ru {
        display: none !important;
    }
    
    /* Show Ukrainian mobile version */
    body.lang-uk .experience-line--mobile.experience-line--mobile-uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
    }
    
    /* Hide Polish, English, and Russian mobile decoration for Ukrainian */
    body.lang-uk .experience-decoration--mobile-inline:not(.experience-decoration--mobile-uk),
    body.lang-uk .experience-decoration--mobile-ru {
        display: none !important;
    }
    
    /* Show Ukrainian mobile decoration - inline like Polish */
    body.lang-uk .experience-decoration--mobile-inline.experience-decoration--mobile-uk {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 4px !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-uk .experience-decoration--mobile-uk .experience-decoration__line {
        width: calc(118px - (118px - 94px) * (100vw - 414px) / (619px - 414px)) !important;
        height: calc(40px - (40px - 32px) * (100vw - 414px) / (619px - 414px)) !important;
    }
    
    /* Hide Russian desktop and tablet versions on mobile */
    body.lang-ru .experience-line--desktop.experience-line--ru,
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru,
    body.lang-ru .experience-line--tablet.experience-line--tablet-ru,
    body.lang-ru .experience-decoration--tablet-inline.experience-decoration--tablet-ru {
        display: none !important;
    }
    
    /* Hide Polish and English mobile versions for Russian */
    body.lang-ru .experience-line--mobile:not(.experience-line--mobile-ru) {
        display: none !important;
    }
    
    /* Show Russian mobile version */
    body.lang-ru .experience-line--mobile.experience-line--mobile-ru {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
    }
    
    /* Hide Polish and English mobile decoration for Russian */
    body.lang-ru .experience-decoration--mobile-inline:not(.experience-decoration--mobile-ru) {
        display: none !important;
    }
    
    /* Show Russian mobile decoration */
    body.lang-ru .experience-decoration--mobile-inline.experience-decoration--mobile-ru {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 4px !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-ru .experience-decoration--mobile-ru .experience-decoration__line {
        width: calc(118px - (118px - 94px) * (100vw - 414px) / (619px - 414px)) !important;
        height: calc(40px - (40px - 32px) * (100vw - 414px) / (619px - 414px)) !important;
    }
    
    /* Hide Russian version for non-Russian languages on mobile */
    body:not(.lang-ru) .experience-line--ru,
    body:not(.lang-ru) .experience-decoration--ru,
    body:not(.lang-ru) .experience-line--tablet-ru,
    body:not(.lang-ru) .experience-decoration--tablet-ru,
    body:not(.lang-ru) .experience-line--mobile-ru,
    body:not(.lang-ru) .experience-decoration--mobile-ru {
        display: none !important;
    }
}

/* Experience Section for screens from 620px to 992px */
@media (min-width: 620px) and (max-width: 992px) {
    .experience-section {
        margin-top: 48px;
        margin-bottom: 48px;
    }
    
    /* Hide desktop version */
    .experience-line--desktop {
        display: none;
    }
    
    .experience-decoration--desktop {
        display: none;
    }
    
    /* Show tablet version */
    .experience-content {
        width: 540px;
        margin: 0 auto;
        align-items: center;
        position: relative;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    body.lang-en .experience-content {
        padding: 0 !important;
        margin: 0 auto !important;
    }
    
    body.lang-uk .experience-content {
        padding: 0 !important;
        margin: 0 auto !important;
        position: relative !important;
    }
    
    .experience-line--tablet {
        display: block;
        font-size: 32px;
        line-height: 40px;
        text-align: center;
        width: 540px;
        margin: 0;
        padding: 0;
    }
    
    .experience-decoration--tablet-inline {
        display: inline-block;
        vertical-align: middle;
        margin: 0 4px;
        position: relative;
        top: 2px;
    }
    
    .experience-decoration__line--tablet-inline {
        width: 94px;
        height: 32px;
        display: block;
    }
    
    /* Hide English desktop version on tablet sizes */
    body.lang-en .experience-line--desktop.experience-line--en,
    body.lang-en .experience-decoration--desktop.experience-decoration--en {
        display: none !important;
    }
    
    /* English version for tablet - 5 separate paragraphs like desktop structure */
    body.lang-en .experience-line.experience-line--tablet.experience-line--tablet-en {
        display: block !important;
        font-size: 32px !important;
        line-height: 40px !important;
        text-align: center !important;
        width: 540px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }
    
    body.lang-en .experience-line--tablet:not(.experience-line--tablet-en) {
        display: none !important;
    }
    
    /* Hide Polish tablet version for English */
    body.lang-en .experience-decoration--tablet-inline:not(.experience-decoration--tablet-en) {
        display: none !important;
    }
    
    /* English tablet version uses same inline approach as Polish */
    body.lang-en .experience-decoration--tablet-inline.experience-decoration--tablet-en {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 4px !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-en .experience-decoration--tablet-en .experience-decoration__line {
        width: 94px !important;
        height: 32px !important;
        display: block !important;
    }
    
    /* Hide Polish desktop version for English on tablet */
    body.lang-en .experience-line--pl,
    body.lang-en .experience-decoration--pl {
        display: none !important;
    }
    
    /* Hide Ukrainian desktop version on tablet sizes */
    body.lang-uk .experience-line--desktop.experience-line--uk,
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk {
        display: none !important;
    }
    
    /* Ukrainian version for tablet - one paragraph like in Figma */
    body.lang-uk .experience-line.experience-line--tablet.experience-line--tablet-uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 32px !important;
        line-height: 40px !important;
        text-align: center !important;
        width: 540px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        align-self: center !important;
    }
    
    body.lang-uk .experience-line--tablet:not(.experience-line--tablet-uk) {
        display: none !important;
    }
    
    /* Hide Polish and English tablet versions for Ukrainian */
    body.lang-uk .experience-decoration--tablet-inline:not(.experience-decoration--tablet-uk) {
        display: none !important;
    }
    
    /* Ukrainian tablet version - absolute positioning for decoration */
    body.lang-uk .experience-decoration--tablet-inline.experience-decoration--tablet-uk {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-uk .experience-decoration--tablet-uk .experience-decoration__line {
        width: 94px !important;
        height: 32px !important;
        display: block !important;
    }
    
    /* Hide Polish and English desktop versions for Ukrainian on tablet */
    body.lang-uk .experience-line--pl,
    body.lang-uk .experience-decoration--pl,
    body.lang-uk .experience-line--en,
    body.lang-uk .experience-decoration--en {
        display: none !important;
    }
    
    /* Hide Ukrainian version for non-Ukrainian languages on tablet */
    body:not(.lang-uk) .experience-line--uk,
    body:not(.lang-uk) .experience-decoration--uk,
    body:not(.lang-uk) .experience-line--tablet-uk,
    body:not(.lang-uk) .experience-decoration--tablet-uk,
    body:not(.lang-uk) .experience-line--mobile-uk,
    body:not(.lang-uk) .experience-decoration--mobile-uk {
        display: none !important;
    }
    
    /* Hide Russian desktop version on tablet sizes */
    body.lang-ru .experience-line--desktop.experience-line--ru,
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru {
        display: none !important;
    }
    
    /* Russian version for tablet */
    body.lang-ru .experience-line.experience-line--tablet.experience-line--tablet-ru {
        display: flex !important;
        flex-direction: column !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
        font-size: 32px !important;
        line-height: 40px !important;
        text-align: center !important;
        width: 540px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        position: relative !important;
    }
    
    body.lang-ru .experience-line--tablet-ru__paragraph {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    body.lang-ru .experience-line--tablet-ru__paragraph:first-child {
        margin-bottom: 0 !important;
    }
    
    body.lang-ru .experience-line--tablet:not(.experience-line--tablet-ru) {
        display: none !important;
    }
    
    /* Hide Polish, English, and Ukrainian tablet versions for Russian */
    body.lang-ru .experience-decoration--tablet-inline:not(.experience-decoration--tablet-ru) {
        display: none !important;
    }
    
    /* Russian tablet version - inline decoration */
    body.lang-ru .experience-decoration--tablet-inline.experience-decoration--tablet-ru {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 4px !important;
        position: relative !important;
        top: 2px !important;
    }
    
    body.lang-ru .experience-decoration--tablet-ru .experience-decoration__line {
        width: 94px !important;
        height: 32px !important;
        display: block !important;
    }
    
    body.lang-ru .experience-decoration--tablet-ru .experience-decoration__line {
        width: 94px !important;
        height: 32px !important;
        display: block !important;
    }
    
    /* Hide Polish, English, and Ukrainian desktop versions for Russian on tablet */
    body.lang-ru .experience-line--pl,
    body.lang-ru .experience-decoration--pl,
    body.lang-ru .experience-line--en,
    body.lang-ru .experience-decoration--en,
    body.lang-ru .experience-line--uk,
    body.lang-ru .experience-decoration--uk {
        display: none !important;
    }
    
    /* Hide Russian version for non-Russian languages on tablet */
    body:not(.lang-ru) .experience-line--ru,
    body:not(.lang-ru) .experience-decoration--ru,
    body:not(.lang-ru) .experience-line--tablet-ru,
    body:not(.lang-ru) .experience-decoration--tablet-ru {
        display: none !important;
    }
    
    body.lang-ru .experience-content {
        padding: 0 !important;
        margin: 0 auto !important;
    }
}

/* Experience Section for screens <= 414px - proportional scaling via vw */
@media (max-width: 414px) {
    .experience-section {
        margin-top: 5.8vw; /* 24px at 414px */
        margin-bottom: 5.8vw; /* 24px at 414px */
    }
    
    .section.experience-section {
        padding-left: 4.83vw; /* 20px at 414px */
        padding-right: 4.83vw; /* 20px at 414px */
    }
    
    /* Hide desktop and tablet versions */
    .experience-line--desktop {
        display: none;
    }
    
    .experience-decoration--desktop {
        display: none;
    }
    
    .experience-line--tablet {
        display: none;
    }
    
    .experience-decoration--tablet-inline {
        display: none;
    }
    
    /* Show mobile version with vw scaling */
    .experience-content {
        width: 100%;
        margin: 0 auto;
        align-items: flex-start;
        position: relative;
    }
    
    .experience-line--mobile {
        display: block;
        font-size: 5.56vw; /* 23px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 0;
    }
    
    .experience-decoration--mobile-inline {
        display: inline-block;
        vertical-align: middle;
        margin: 0 0.97vw; /* 4px at 414px */
        position: relative;
        top: 0.48vw; /* 2px at 414px */
    }
    
    .experience-decoration__line--mobile-inline {
        width: 28.5vw; /* 118px at 414px */
        height: 9.66vw; /* 40px at 414px */
        display: block;
    }
    
    /* Hide Polish mobile version for English */
    body.lang-en .experience-line--mobile:not(.experience-line--mobile-en) {
        display: none !important;
    }
    
    /* Show English mobile version */
    body.lang-en .experience-line--mobile.experience-line--mobile-en {
        display: block !important;
    }
    
    /* Hide Polish mobile decoration for English */
    body.lang-en .experience-decoration--mobile-inline:not(.experience-decoration--mobile-en) {
        display: none !important;
    }
    
    /* Show English mobile decoration */
    body.lang-en .experience-decoration--mobile-inline.experience-decoration--mobile-en {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 0.97vw !important; /* 4px at 414px */
        position: relative !important;
        top: 0.48vw !important; /* 2px at 414px */
    }
    
    body.lang-en .experience-decoration--mobile-en .experience-decoration__line {
        width: 28.5vw !important; /* 118px at 414px */
        height: 9.66vw !important; /* 40px at 414px */
    }
    
    /* Hide Ukrainian desktop and tablet versions on mobile */
    body.lang-uk .experience-line--desktop.experience-line--uk,
    body.lang-uk .experience-decoration--desktop.experience-decoration--uk,
    body.lang-uk .experience-line--tablet.experience-line--tablet-uk,
    body.lang-uk .experience-decoration--tablet-inline.experience-decoration--tablet-uk {
        display: none !important;
    }
    
    /* Hide Polish, English, and Russian mobile versions for Ukrainian */
    body.lang-uk .experience-line--mobile:not(.experience-line--mobile-uk),
    body.lang-uk .experience-line--mobile-ru {
        display: none !important;
    }
    
    /* Show Ukrainian mobile version */
    body.lang-uk .experience-line--mobile.experience-line--mobile-uk {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
    }
    
    /* Hide Polish, English, and Russian mobile decoration for Ukrainian */
    body.lang-uk .experience-decoration--mobile-inline:not(.experience-decoration--mobile-uk),
    body.lang-uk .experience-decoration--mobile-ru {
        display: none !important;
    }
    
    /* Show Ukrainian mobile decoration - inline like Polish */
    body.lang-uk .experience-decoration--mobile-inline.experience-decoration--mobile-uk {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 0.97vw !important; /* 4px at 414px */
        position: relative !important;
        top: 0.48vw !important; /* 2px at 414px */
    }
    
    body.lang-uk .experience-decoration--mobile-uk .experience-decoration__line {
        width: 28.5vw !important; /* 118px at 414px */
        height: 9.66vw !important; /* 40px at 414px */
    }
    
    /* Hide Ukrainian version for non-Ukrainian languages on mobile (≤414px) */
    body:not(.lang-uk) .experience-line--uk,
    body:not(.lang-uk) .experience-decoration--uk,
    body:not(.lang-uk) .experience-line--tablet-uk,
    body:not(.lang-uk) .experience-decoration--tablet-uk,
    body:not(.lang-uk) .experience-line--mobile-uk,
    body:not(.lang-uk) .experience-decoration--mobile-uk {
        display: none !important;
    }
    
    /* Hide Russian desktop and tablet versions on mobile */
    body.lang-ru .experience-line--desktop.experience-line--ru,
    body.lang-ru .experience-decoration--desktop.experience-decoration--ru,
    body.lang-ru .experience-line--tablet.experience-line--tablet-ru,
    body.lang-ru .experience-decoration--tablet-inline.experience-decoration--tablet-ru {
        display: none !important;
    }
    
    /* Hide Polish and English mobile versions for Russian */
    body.lang-ru .experience-line--mobile:not(.experience-line--mobile-ru) {
        display: none !important;
    }
    
    /* Show Russian mobile version */
    body.lang-ru .experience-line--mobile.experience-line--mobile-ru {
        display: block !important;
        font-family: 'Unbounded', sans-serif !important;
        font-weight: 400 !important; /* Regular */
    }
    
    /* Hide Polish and English mobile decoration for Russian */
    body.lang-ru .experience-decoration--mobile-inline:not(.experience-decoration--mobile-ru) {
        display: none !important;
    }
    
    /* Show Russian mobile decoration */
    body.lang-ru .experience-decoration--mobile-inline.experience-decoration--mobile-ru {
        display: inline-block !important;
        vertical-align: middle !important;
        margin: 0 0.97vw !important; /* 4px at 414px */
        position: relative !important;
        top: 0.48vw !important; /* 2px at 414px */
    }
    
    body.lang-ru .experience-decoration--mobile-ru .experience-decoration__line {
        width: 28.5vw !important; /* 118px at 414px */
        height: 9.66vw !important; /* 40px at 414px */
    }
    
    /* Hide Russian version for non-Russian languages on mobile (≤414px) */
    body:not(.lang-ru) .experience-line--ru,
    body:not(.lang-ru) .experience-decoration--ru,
    body:not(.lang-ru) .experience-line--tablet-ru,
    body:not(.lang-ru) .experience-decoration--tablet-ru,
    body:not(.lang-ru) .experience-line--mobile-ru,
    body:not(.lang-ru) .experience-decoration--mobile-ru {
        display: none !important;
    }
}

/* Hide mobile version on sizes >= 620px */
@media (min-width: 620px) {
    .experience-line--mobile {
        display: none;
    }
    
    .experience-decoration--mobile-inline {
        display: none;
    }
}

/* Hide tablet version on other sizes */
/* Hide line breaks in benefit card titles on screens 1140px+ (keep visible on 1139-993px for both PL and EN) */
@media (min-width: 1140px) {
    .benefit-grid__row > .benefit-card .benefit-card__title br {
        display: none;
    }
}

/* Hide line breaks in full-width benefit card title (Warranty on completed service) on 1139-993px for both PL and EN */
@media (min-width: 993px) and (max-width: 1139px) {
    .benefit-card--full-width .benefit-card__title br {
        display: none;
    }
}

@media (min-width: 993px) {
    .experience-line--tablet {
        display: none;
    }
    
    .experience-decoration--tablet-inline {
        display: none;
    }
    
    .experience-line--desktop {
        display: block;
    }
    
    .experience-decoration--desktop {
        display: inline-block;
    }
}


/* Benefit Section for screens from 993px to 1139px inclusive */
@media (min-width: 993px) and (max-width: 1139px) {
    .benefit-section { 
        padding-top: 64px; 
        padding-bottom: 64px; 
    }
    .section.benefit-section {
        padding-left: 40px; 
        padding-right: 40px; 
    }
    .benefit-section__title { 
        gap: 56px; 
    }
    .benefit-section__heading { 
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px); 
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px); 
    }
    .benefit-grid { 
        display: flex; 
        flex-direction: column; 
        gap: 16px; 
        margin-top: 64px; 
    }
    .benefit-grid__row { 
        display: flex; 
        gap: 16px; 
        width: 100%; 
    }
    .benefit-grid__row > .benefit-card { 
        flex: 1 0 0; 
    }
    .benefit-card--full-width { 
        width: 100%; 
    }
    .benefit-grid__row > .benefit-card { 
        align-items: flex-start; 
        gap: 62px; 
        padding: 32px; 
    }
    .benefit-card--full-width { 
        gap: 40px; 
        align-items: center; 
        padding: 32px; 
    }
    .benefit-grid__row > .benefit-card .benefit-card__title { 
        font-size: 28px; 
        line-height: 40px; 
        text-align: left; 
        white-space: normal; 
    }
    .benefit-grid__row > .benefit-card .benefit-card__desc { 
        font-size: 18px; 
        line-height: 28px; 
        text-align: left; 
    }
    .benefit-card--full-width .benefit-card__title { 
        font-size: 28px; 
        line-height: 40px; 
        text-align: center; 
        text-wrap: normal; 
        white-space: pre-wrap; 
    }
    .benefit-card--full-width .benefit-card__desc { 
        font-size: 18px; 
        line-height: 28px; 
        text-align: center; 
    }
    .benefit-grid__row > .benefit-card .benefit-card__icon,
    .benefit-card--full-width .benefit-card__icon { 
        width: 80px; 
        height: 80px; 
    }
    .benefit-card--orange { 
        background: #ff9f59; 
    }
}

/* Benefit Section for screens from 620px to 992px */
@media (min-width: 620px) and (max-width: 992px) {
    .benefit-section { 
        padding-top: 64px; 
        padding-bottom: 64px; 
        padding-left: 40px; 
        padding-right: 40px; 
    }
    .section.benefit-section {
        padding-left: 40px; 
        padding-right: 40px; 
    }
    .benefit-section__title { 
        gap: 40px; 
        align-items: flex-start;
    }
    .benefit-section__stack {
        width: 100%;
    }
    .benefit-section__heading {
        font-size: 40px;
        line-height: 48px;
        text-align: left;
        white-space: normal;
        width: 100%;
    }
    .benefit-section__cta {
        align-self: center;
    }
    .benefit-grid { 
        display: flex; 
        flex-direction: column; 
        gap: 16px; 
    }
    .benefit-grid__row { 
        display: contents; 
    }
    .benefit-card { 
        width: 100%; 
        align-items: center; 
        gap: 40px; 
        padding: 32px; 
        height: auto; 
        min-height: auto; 
        justify-content: flex-start;
    }
    .benefit-card__title { 
        font-size: 28px; 
        line-height: 40px; 
        text-align: center; 
        white-space: normal; 
    }
    /* Hide line breaks in benefit card titles on medium screens (same as Polish version behavior) */
    .benefit-card__title br {
        display: none;
    }
    .benefit-card__icon { 
        width: 80px; 
        height: 80px; 
    }
    .benefit-card__desc { 
        font-size: 18px; 
        line-height: 28px; 
        text-align: center; 
    }
    .benefit-card--orange { 
        background: #ff9f59; 
    }
}

/* Benefit Section for screens from 649px to 923px - hug and center alignment */
@media (min-width: 649px) and (max-width: 923px) {
    .section.benefit-section {
        display: flex;
        justify-content: center;
    }
    
    .section.benefit-section .section__inner {
        width: auto;
        max-width: fit-content;
    }
    
    .benefit-section__title {
        width: fit-content;
    }
}

/* Benefit grid margin-top for screens from 414px to 619px */
@media (min-width: 414px) and (max-width: 619px) {
    .benefit-grid {
        margin-top: 34px;
    }
}

@media (max-width: 619px) {
    .benefit-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .section.benefit-section {
        padding-left: 20px;
        padding-right: 20px;
    }
    .main-content { padding: 0; }
    .benefit-section__title {
        gap: 24px;
        align-items: flex-start;
    }
    .benefit-section__stack {
        width: 100%;
    }
    .benefit-section__heading {
        font-size: 28px !important;
        line-height: 40px !important;
        width: 100%;
    }
    .benefit-grid {
        gap: 20px;
        margin-top: 34px;
    }
    .benefit-card {
        gap: 56px;
        padding: 24px;
        align-items: flex-start;
        border-radius: 19px;
    }
    .benefit-grid__row > .benefit-card,
    .benefit-card--full-width {
        align-items: flex-start;
    }
    .benefit-card__title {
        font-size: 24px;
        line-height: 32px;
        text-align: left;
    }
    .benefit-card__icon {
        width: 72px;
        height: 72px;
    }
    .benefit-card__desc {
        font-size: 16px;
        line-height: 24px;
        text-align: left;
    }
    .benefit-section__cta {
        margin-top: 32px;
        align-self: center;
    }
    .benefit-section__cta .cta-button,
    .article-header__phone-btn.cta-button {
        font-size: 16px;
        line-height: 28px;
        padding: 20px 36px;
    }
}

/* Fix values at 414px */
@media (max-width: 414px) {
    .benefit-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .section.benefit-section {
        padding-left: 20px;
        padding-right: 20px;
    }
    .main-content { 
        padding: 0; 
    }
    .benefit-section__title {
        gap: 24px;
    }
    .benefit-section__stack {
        gap: 0;
    }
    .benefit-section__subtitle-row {
        gap: 4px;
    }
    .benefit-section__subtitle {
        font-size: 16px;
        line-height: 24px;
        padding: 8px 0;
    }
    .benefit-section__icon-ok {
        width: 51.268px;
        height: 56px;
    }
    .benefit-section__heading {
        font-size: 28px !important;
        line-height: 40px !important;
    }
    .benefit-grid {
        gap: 20px;
        margin-top: 34px;
    }
    .benefit-card {
        gap: 56px;
        padding: 24px;
        border-radius: 19px;
    }
    .benefit-card__title {
        font-size: 24px;
        line-height: 32px;
    }
    .benefit-card__icon {
        width: 72px;
        height: 72px;
    }
    .benefit-card__desc {
        font-size: 16px;
        line-height: 24px;
    }
    .benefit-section__cta {
        margin-top: 32px;
    }
    .benefit-section__cta .cta-button,
    .article-header__phone-btn.cta-button {
        font-size: 16px;
        line-height: 28px;
        padding: 20px 36px;
        border-radius: 9999px;
    }
}

/* Viewport-based proportional scaling for screens ≤413px */
@media (max-width: 413px) {
    .benefit-section {
        padding-top: calc(40 / 414 * 100vw);
        padding-bottom: calc(40 / 414 * 100vw);
    }
    .section.benefit-section {
        padding-left: calc(20 / 414 * 100vw);
        padding-right: calc(20 / 414 * 100vw);
    }
    .main-content { 
        padding: 0; 
    }
    .benefit-section__title {
        gap: calc(24 / 414 * 100vw);
    }
    .benefit-section__stack {
        gap: 0;
    }
    .benefit-section__subtitle-row {
        gap: calc(4 / 414 * 100vw);
    }
    .benefit-section__subtitle {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
        padding: calc(8 / 414 * 100vw) 0;
    }
    .benefit-section__icon-ok {
        width: calc(51.268 / 414 * 100vw);
        height: calc(56 / 414 * 100vw);
    }
    .benefit-section__heading {
        font-size: calc(28 / 414 * 100vw) !important;
        line-height: calc(40 / 414 * 100vw) !important;
    }
    .benefit-grid {
        gap: calc(20 / 414 * 100vw);
        margin-top: calc(34 / 414 * 100vw);
    }
    .benefit-card {
        gap: calc(56 / 414 * 100vw);
        padding: calc(24 / 414 * 100vw);
        border-radius: calc(19 / 414 * 100vw);
    }
    .benefit-card__title {
        font-size: calc(24 / 414 * 100vw);
        line-height: calc(32 / 414 * 100vw);
    }
    .benefit-card__icon {
        width: calc(72 / 414 * 100vw);
        height: calc(72 / 414 * 100vw);
    }
    .benefit-card__desc {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
    }
    .benefit-section__cta {
        margin-top: calc(32 / 414 * 100vw);
    }
    .benefit-section__cta .cta-button,
    .article-header__phone-btn.cta-button {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(28 / 414 * 100vw);
        padding: calc(20 / 414 * 100vw) calc(36 / 414 * 100vw);
        border-radius: calc(9999 / 414 * 100vw);
    }

    .article-header__phone-btn {
        gap: calc(12 / 414 * 100vw);
    }

    .article-header__phone-btn__icon-wrap {
        width: calc(20 / 414 * 100vw);
        height: calc(20 / 414 * 100vw);
    }

    .article-header__phone-btn__icon-img {
        width: calc(20 / 414 * 100vw);
        height: calc(20 / 414 * 100vw);
    }
}



@media (max-width: 992px) {
    .benefit-grid { grid-template-columns: 1fr; }
    .benefit-grid__row { display: contents; }
    .benefit-card { height: auto; min-height: auto; justify-content: flex-start; }
}

/* Next Block Title (Figma node 21:284) */
.next-block { padding: 0; margin: 120px 0 80px 0; }
.next-block__container { display: flex; flex-direction: column; align-items: center; gap: 8px; width: max-content; max-width: 1344px; margin: 0 auto; }
.next-block__subtitle-row { display: flex; align-items: flex-end; justify-content: flex-start; gap: 4px; align-self: flex-start; }
.next-block__subtitle { font-family: 'Sora', sans-serif; font-weight: 400; font-size: 20px; line-height: 28px; color: #141000; padding: 8px 0; }
.next-block__icon { width: 65px; height: 71px; position: relative; flex-shrink: 0; }
.next-block__icon-img { width: 100%; height: 100%; display: block; object-fit: contain; }
.next-block__title { font-family: 'Unbounded', sans-serif; font-weight: 500; font-size: 56px; line-height: 72px; color: #141000; text-align: left; white-space: normal; word-break: normal; overflow-wrap: anywhere; max-width: 100%; }
.next-block__cta { margin-top: 72px; display: flex; justify-content: center; }
/* Match CTA sizing from the first block */
.next-block__cta .cta-button {
    padding: 20px 36px;
    font-size: 17px;
    line-height: 28px;
    width: auto;
    max-width: none;
}

@media (max-width: 992px) {
    .next-block__container { width: 100%; }
    .next-block__title { font-size: 48px; line-height: 64px; text-align: left; }
}
@media (max-width: 768px) {
    .next-block__title { font-size: 40px; line-height: 52px; }
}
@media (max-width: 480px) {
    .next-block__title { font-size: 36px; line-height: 46px; }
}

/* Benefits Cards (Figma node 21:297) - OLD, replaced by benefit-section above */

@media (max-width: 992px) {
    .benefits { padding: 0 32px; }
    .benefits__grid { grid-template-columns: 1fr; gap: 16px; }
    .benefit-card { height: auto; min-height: auto; }
}

@media (max-width: 480px) {
    .benefits { padding: 0 16px; }
}

/* Responsive Design */
@media (max-width: 1440px) {
    .hero-section {
        margin-top: 104px;
    }
}

/* 1320px down to 769px: set hero top margin to 88px */
@media (max-width: 1320px) and (min-width: 769px) {
    .hero-section {
        margin-top: 88px;
    }
}

/* All language-specific hero-title rules removed - now using unified Polish version rules for all languages */

@media (max-width: 1320px) {
    .hero-title {
        font-size: 72px;
        line-height: 94px;
    }
    
    /* Ukrainian and Russian versions: different font-size and line-height for ≤1320px */
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 56px;
        line-height: 66px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 56px;
    }
}

@media (max-width: 1270px) {
    .hero-title {
        font-size: 72px;
        line-height: 94px;
    }
    
    /* Ukrainian and Russian versions: different font-size and line-height for ≤1270px */
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 52px;
        line-height: 64px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 52px;
    }
}

/* Ukrainian and Russian versions: font-size and line-height for 948-1039px */
@media (min-width: 948px) and (max-width: 1039px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 42px;
        line-height: 50px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 42px;
    }
}

/* Ukrainian and Russian versions: font-size and line-height for 1040-1120px */
@media (min-width: 1040px) and (max-width: 1120px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 48px;
        line-height: 56px;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 48px;
    }
}

@media (max-width: 1152px) {
    .hero-title {
        font-size: 64px;
        line-height: 83px;
    }
}

@media (max-width: 1340px) {
    .menu {
        gap: 6px;
        padding: 8px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    
    /* Smaller font size for Ukrainian and Russian in compact menu */
    body.lang-uk .menu-item[data-i18n],
    body.lang-ru .menu-item[data-i18n],
    body.lang-uk .naprawa-menu-link[data-i18n],
    body.lang-ru .naprawa-menu-link[data-i18n] {
        font-size: 12.5px;
    }

    .menu-item {
        padding: 8px 20px;
        font-size: 12px;
    }
}

@media (max-width: 1220px) {
    .header {
        padding: 24px 32px;
    }
    
    /* Hide language dropdown on mobile - it's in hamburger menu */
    .language-dropdown {
        display: none !important;
    }

    .header-right {
        order: 2;
        margin-left: auto;
        gap: 12px;
    }

    .header .cta-button {
        display: none;
    }

    .mobile-call-button {
        display: flex;
    }

    .hamburger {
        display: flex;
    }

    .menu {
        position: fixed;
        left: 0; /* will be aligned to header-container via JS */
        top: 70px; /* overridden by JS to header bottom */
        flex-direction: column;
        align-items: flex-start;
        background: transparent; /* header+menu share one white panel behind */
        width: 100%;
        box-shadow: none; /* remove shadow */
        padding: 16px 0 56px 0; /* remove left padding; indent only submenu */
        border-radius: 0; /* radius is applied on the shared panel */
        z-index: 1000;
        text-align: left;
        gap: 32px; /* restore standard spacing between top-level items */
        opacity: 0;
        transform: translateY(-12px);
        pointer-events: none;
        transition: opacity 220ms ease, transform 220ms ease;
    }

    .menu.active { opacity: 1; transform: translateY(0); pointer-events: auto; padding-left: 20px; }

    /* Remove margins; use gap for spacing */
    .menu > .menu-item { margin: 0; }

    /* Shared panel background for header+menu (white rounded container) */
    .mobile-menu-panel {
        position: fixed;
        left: 0; /* full-bleed panel */
        top: 0;  /* from top of viewport */
        width: 100%;
        height: 0; /* set via JS */
        background: #ffffff; /* pure white to match menu */
        border-radius: 0; /* no rounding */
        box-shadow: none; /* remove shadow */
        z-index: 1000; /* under header/menu (1001), over overlay */
        opacity: 0;
        transform: translateY(-12px);
        transition: opacity 220ms ease, transform 220ms ease;
        pointer-events: none; /* do not block header/menu interactions */
        overflow: visible; /* allow bottom blur feather to extend */
    }
    .mobile-menu-panel.visible { opacity: 1; transform: translateY(0); }

    /* Soft blur at the bottom edge to avoid sharp cut line */
    /* Remove feather from panel to avoid banding */
    .mobile-menu-panel::after { content: none; }

    /* Make header render above the white panel */
    .header { position: relative; z-index: 1001; }
    .menu { z-index: 1001; }
    /* Logo and buttons should be above blur overlay to remain visible (already set globally above) */

    /* Overlay behind the slide-down mobile menu */
    .mobile-menu-overlay {
        position: fixed;
        inset: 0;
        background: transparent;
        opacity: 0;
        pointer-events: none;
        transition: opacity 200ms ease;
        z-index: 999; /* just under menu (1000) */
        will-change: opacity;
    }
    .mobile-menu-overlay.visible { background: #ffffff; opacity: 1; pointer-events: auto; }

    /* Progressive blur only at the bottom edge of the white panel */
    /* Disable overlay feather; we'll use a dedicated gradient bar */
    .mobile-menu-overlay::before { content: none; }

    /* Add a soft white gradient to blend panel edge over the blur */
    .mobile-menu-overlay::after { content: none; }

    /* Dedicated gradient+blur bar under the white curtain */
    .mobile-menu-gradient { display: none; }

    /* Soft white feather on panel edge itself to ensure ultra-smooth transition */
    .mobile-menu-panel::after { content: none; }
    .mobile-menu-gradient.visible { opacity: 1; }

    /* Separate bottom fade bar above overlay, below menu */
    .mobile-menu-fade { display: none; }

    .header-container {
        flex-wrap: nowrap;
    }

    .logo {
        order: 1;
        width: 184px;
        height: 28px;
        flex-shrink: 0;
    }

    .logo-img {
        width: 184px;
        height: 28px;
    }

    .cta-button {
        padding: 16px 32px;
        font-size: 15px;
        line-height: 22px;
    }

    .hero-section {
        margin-top: 100px;
        padding: 0 32px;
    }

    .hero-subtitle {
        font-size: 20px;
        line-height: 28px;
    }

    .hero-title {
        font-size: 60px;
        line-height: 78px;
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 60px;
    }

    .contact-info-container {
        flex-wrap: wrap;
        justify-content: center;
    }

    .contact-info__text {
        font-size: 16px;
        line-height: 24px;
    }

    .contact-info__icon {
        width: 48px;
        height: 48px;
    }
}

/* Unify mobile menu typography for all hamburger sizes ≤992px */
@media (max-width: 1220px) {
    .menu-item {
        width: auto;
        padding: 0;
        border-radius: 0;
        font-family: 'Sora', sans-serif;
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        color: var(--color-dark);
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
        text-align: left;
        justify-content: flex-start; /* avoid centered content creating side space */
        -webkit-tap-highlight-color: transparent; /* no gray flash on iOS */
    }
    .menu-item:hover { text-decoration: none; font-weight: 500; background: transparent !important; }
    .menu-item:active { font-weight: 500; background: transparent !important; }
    
    /* Ukrainian and Russian font size for main menu items (non-dropdown) in mobile */
    body.lang-uk .menu-item[data-i18n]:not(.dropdown),
    body.lang-ru .menu-item[data-i18n]:not(.dropdown),
    body.lang-uk .naprawa-menu-link[data-i18n],
    body.lang-ru .naprawa-menu-link[data-i18n] {
        font-size: 16.5px;
        line-height: 24px;
    }
    /* Ensure dropdown label stays flush left on mobile */
    .menu-item.dropdown { padding: 0 !important; margin-left: 0 !important; }
    .menu > .menu-item { padding: 0 !important; margin-left: 0 !important; }
    .menu > .menu-item.dropdown { padding: 0 !important; margin-left: 0 !important; }
    .menu .mobile-group > .menu-item.dropdown { 
        padding-left: 0 !important; 
        margin-left: 0 !important; 
        position: relative;
    }
    
    /* Increase clickable area for dropdown triggers without affecting visual spacing */
    .menu .mobile-group > .menu-item.dropdown::before {
        content: '';
        position: absolute;
        top: -10px;
        left: -12px;
        right: -12px;
        bottom: -10px;
    }
    .menu .mobile-group > .menu-item.dropdown.chevron-rotated { 
        padding-left: 0 !important; 
        margin-left: 0 !important; 
    }
    .menu .mobile-group > .menu-item.dropdown.chevron-rotated * { margin-left: 0; }
    .menu .mobile-group > .menu-item.dropdown > span,
    .menu .mobile-group > .menu-item.dropdown > .naprawa-menu-link,
    .menu .mobile-group > .menu-item.dropdown > .language-menu-link { display: inline-block; padding: 0 !important; margin: 0 !important; }
    .menu .mobile-group > .menu-item.dropdown .chevron { margin-left: 8px; }
    .menu-divider { display: none; }
    /* Disable desktop hover pill/indicator on mobile */
    .menu-indicator { display: none !important; }

    /* Group Naprawa + submenu for custom internal gap */
    .menu .mobile-group { display: flex; flex-direction: column; gap: 0; margin-left: 0; padding-left: 0; }
    .menu .mobile-group.open { gap: 20px; }

    /* Mobile submenu under Naprawa */
    .mobile-submenu {
        display: none;
        list-style: none;
        margin: 0; /* gap controlled by .mobile-group */
        padding-left: 18px; /* default indent */
        gap: 16px;
    }
    .mobile-submenu.open { display: grid !important; grid-auto-rows: max-content; row-gap: 16px; padding-left: 12px; }

    .submenu-item {
        font-family: 'Sora', sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        color: var(--color-dark);
        text-decoration: none;
        white-space: nowrap;
        position: relative;
    }
    
    .submenu-item[data-lang="uk"],
    .submenu-item[data-lang="ru"] {
        font-family: 'Noto Sans', sans-serif;
        font-size: 15px;
        line-height: 20px;
    }
    
    /* Use Noto Sans for Ukrainian and Russian languages in mobile submenu */
    body.lang-uk .submenu-item[data-i18n],
    body.lang-ru .submenu-item[data-i18n] {
        font-family: 'Noto Sans', sans-serif;
        font-size: 15px;
        line-height: 20px;
    }
    
    /* Increase clickable area without affecting visual spacing */
    .submenu-item::before {
        content: '';
        position: absolute;
        top: -10px;
        left: -12px;
        right: -12px;
        bottom: -10px;
    }
    .submenu-item:hover { font-weight: 500; text-decoration: none; }

    /* Chevron rotation when submenu is open */
    .dropdown.chevron-rotated .chevron { transform: rotate(180deg); transition: transform 200ms ease; }
    .chevron { transition: transform 200ms ease; }
}

/* Hide mobile submenu by default (desktop and larger) */
.mobile-submenu { display: none !important; list-style: none; margin: 0; padding: 0; }

/* Ukrainian version: apply mobile layout starting from 909px */
@media (max-width: 909px) {
    body.lang-uk .contact-info .contact-info__text:first-of-type { display: none; }
    body.lang-uk .contact-info .contact-info__text:last-of-type { display: none; }
    body.lang-uk .phone-below-cta { 
        display: block; 
        margin-top: 24px;
        animation: fadeInUp 0.8s ease-out 0.6s both;
    }
    body.lang-uk .contact-info-container {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
}

/* Ukrainian version: phone-below-cta styling for 909-852px range (same as ≤851px) */
@media (max-width: 909px) and (min-width: 852px) {
    body.lang-uk .phone-below-cta {
        font-size: 16px !important;
        line-height: 24px !important;
        font-weight: 400 !important;
        color: #858784 !important;
    }
    body.lang-uk .phone-below-cta .contact-info__phone {
        font-weight: 500 !important;
        color: #141000 !important;
    }
    body.lang-uk .phone-below-cta [data-i18n="contact.or-call"] {
        font-size: 0 !important;
        line-height: 0 !important;
    }
    body.lang-uk .phone-below-cta [data-i18n="contact.or-call"]::after {
        content: 'або зателефонуй:' !important;
        font-size: 16px !important;
        font-family: 'Noto Sans', sans-serif !important;
        font-weight: 400 !important;
        line-height: 24px !important;
        display: inline !important;
    }
}

@media (max-width: 851px) {
    .contact-info__icon {
        width: 56px;
        height: 56px;
    }
    /* Hide only the first text ("Złóż zgłoszenie...") and keep icons visible */
    .contact-info .contact-info__text:first-of-type { display: none; }
    /* Hide the phone text next to icons to avoid duplication */
    .contact-info .contact-info__text:last-of-type { display: none; }
    .phone-below-cta { 
        display: block; 
        margin-top: 24px;
        animation: fadeInUp 0.8s ease-out 0.6s both;
    }
    /* Phone text size/weight at ≤851px */
    .phone-below-cta { font-size: 16px; line-height: 24px; font-weight: 400; color: #858784; }
    .phone-below-cta .contact-info__phone { font-weight: 500; color: #141000 !important; }
    
    /* Ensure Ukrainian and Russian versions also have font-weight 500 for phone number on mobile */
    body.lang-uk .phone-below-cta .contact-info__phone,
    body.lang-ru .phone-below-cta .contact-info__phone {
        font-weight: 500 !important; /* Same as Polish version on mobile */
    }
    
    /* Change text for Ukrainian and Russian versions: remove "за номером"/"по номеру" on ≤851px */
    body.lang-uk .contact-info__text [data-i18n="contact.or-call"],
    body.lang-uk .phone-below-cta [data-i18n="contact.or-call"] {
        font-size: 0 !important;
        line-height: 0 !important;
    }
    body.lang-uk .contact-info__text [data-i18n="contact.or-call"]::after {
        content: 'або зателефонуй:' !important;
        font-size: 16px !important;
        font-family: 'Noto Sans', sans-serif !important;
        font-weight: 300 !important;
        line-height: 24px !important;
        display: inline !important;
    }
    body.lang-uk .phone-below-cta [data-i18n="contact.or-call"]::after {
        content: 'або зателефонуй:' !important;
        font-size: 16px !important;
        font-family: 'Noto Sans', sans-serif !important;
        font-weight: 400 !important;
        line-height: 24px !important;
        display: inline !important;
    }
    
    body.lang-ru .contact-info__text [data-i18n="contact.or-call"],
    body.lang-ru .phone-below-cta [data-i18n="contact.or-call"] {
        font-size: 0 !important;
        line-height: 0 !important;
    }
    body.lang-ru .contact-info__text [data-i18n="contact.or-call"]::after {
        content: 'или позвони:' !important;
        font-size: 16px !important;
        font-family: 'Noto Sans', sans-serif !important;
        font-weight: 300 !important;
        line-height: 24px !important;
        display: inline !important;
    }
    body.lang-ru .phone-below-cta [data-i18n="contact.or-call"]::after {
        content: 'или позвони:' !important;
        font-size: 16px !important;
        font-family: 'Noto Sans', sans-serif !important;
        font-weight: 400 !important;
        line-height: 24px !important;
        display: inline !important;
    }
}

@media (max-width: 768px) {
    .header {
        padding: 20px 24px;
    }

    .logo {
        width: 140px;
        height: 22px;
    }

    /* Menu is hidden on mobile, shown via hamburger */
    .menu { 
        flex-wrap: wrap; 
        justify-content: center; 
        gap: 32px; 
    }

    /* Keep hamburger typography same as 480 across ≤768 */
    .menu-item { padding: 0; font-size: 16px; line-height: 24px; }

    .cta-button {
        padding: 10px 20px;
        font-size: 13px;
    }

    .hero-section {
        margin-top: 80px;
        padding: 0 24px;
    }

    .hero-subtitle {
        font-size: 18px;
        line-height: 24px;
        max-width: 280px;
    }
    
    /* Ukrainian and Russian versions: max-width for hero-subtitle */
    body.lang-uk .hero-subtitle,
    body.lang-ru .hero-subtitle {
        max-width: 320px;
    }

    .hero-title {
        font-size: 40px;
        line-height: 52px;
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 40px;
    }

    .contact-info {
        margin-top: 32px;
        padding: 0 24px;
    }

    .contact-info-container {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .contact-info__text {
        font-size: 14px;
        line-height: 22px;
        white-space: normal;
    }

    .contact-info__icon {
        width: 56px;
        height: 56px;
        margin-right: -14px; /* keep consistent overlap */
    }

    .contact-info__icons {
        padding-right: 10px;
    }

    .cta-section {
        margin-top: 32px;
        padding: 0 24px;
    }
}

@media (max-width: 641px) {
    .hero-container { gap: 32px; }
    
    .hero-section {
        min-height: 200px;
    }
    
    /* Ukrainian and Russian versions: min-height 180px for 541-564px range */
    @media (max-width: 564px) and (min-width: 541px) {
        body.lang-uk .hero-section,
        body.lang-ru .hero-section {
            min-height: 180px !important;
        }
    }
    
    /* Russian version: min-height 180px for 481-540px range */
    @media (max-width: 540px) and (min-width: 481px) {
        body.lang-ru .hero-section {
            min-height: 180px !important;
        }
    }
    
    /* Ukrainian version: min-height 180px for 481-494px range */
    @media (max-width: 494px) and (min-width: 481px) {
        body.lang-uk .hero-section {
            min-height: 180px !important;
        }
    }

    .hero-title {
        font-size: 46px;
        line-height: 56px;
        max-width: 368px;
        margin: 0 auto;
        height: 114px;
    }
    

    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal; /* collapse leading space at line start */
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 46px; /* Match font-size */
    }

    /* Align behavior with ≤390px to avoid reflow on wrap */
    .hero-title__dynamic {
        margin-left: 0 !important;
        min-width: 1em; /* reserve space so dynamic+cursor don't fit on line 1 */
    }

    /* All languages now use global animation rules defined above */
}

/* Fixed width for 414px and viewport-based scaling for ≤413px - hero-subtitle for all languages */
@media (max-width: 414px) {
    .hero-subtitle {
        font-size: 18px !important;
        line-height: 24px !important;
        max-width: 280px !important; /* Fixed value for 414px */
    }
    
    body.lang-uk .hero-subtitle,
    body.lang-ru .hero-subtitle {
        max-width: 320px !important; /* Fixed value for 414px */
    }
}

@media (max-width: 413px) {
    .hero-subtitle {
        font-size: 4.35vw !important; /* 18/414 * 100 = 4.35vw for proportional scaling */
        line-height: 5.8vw !important; /* 24/414 * 100 = 5.8vw for proportional scaling */
        max-width: 67.63vw !important; /* 280/414 * 100 = 67.63vw for proportional scaling */
    }
    
    body.lang-uk .hero-subtitle,
    body.lang-ru .hero-subtitle {
        max-width: 77.29vw !important; /* 320/414 * 100 = 77.29vw for proportional scaling */
    }
}

/* (Removed special move logic between 641px and 391px to match ≤390px behavior) */
/* Transitions are now applied globally in base styles with !important */

/* All languages: font-size, max-width and height for ≤393px (same as Polish version) */
@media (max-width: 393px) {
    .hero-title {
        font-size: 40px !important;
        max-width: 308px !important;
        height: 96px !important; /* two lines * 48px line-height */
    }
}

/* English version: 361-393px range */
@media (max-width: 393px) and (min-width: 361px) {
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

/* All languages: smaller font-size for 320-360px range (same as Polish version) */
@media (max-width: 360px) and (min-width: 320px) {
    .hero-title {
        font-size: 36px !important;
        line-height: 42px !important;
        max-width: 280px !important;
        height: 84px !important; /* two lines * 42px line-height */
    }
    
    /* English version: 286px for this range */
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

/* All languages: font-size, line-height, max-width and height for ≤947px range (same as Polish version) */
@media (max-width: 947px) {
    .hero-title {
        font-size: 60px !important;
        line-height: 78px !important;
        max-width: 450px !important;
        height: 156px !important; /* two lines * 78px line-height */
    }
    
    /* English version: max-width 422px */
    body.lang-en .hero-title {
        max-width: 422px !important;
    }
    
    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal !important; /* collapse leading space at line start */
    }
    
    /* English version: wrapper for dynamic text and cursor to ignore container width */
    body.lang-en .hero-title__dynamic-wrapper {
        display: inline-flex !important;
        white-space: nowrap !important;
        min-width: max-content !important; /* Allow wrapper to extend beyond container */
    }
    
    /* English version: prevent "your fridge" and "your washer" with cursor from wrapping to second line */
    body.lang-en .hero-title__dynamic {
        white-space: nowrap !important;
    }
    
    /* English version: keep cursor on same line as dynamic text */
    body.lang-en .hero-title__cursor--dynamic {
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }
    
    /* Allow hero-title container to overflow if needed for English version */
    body.lang-en .hero-title {
        overflow: visible !important;
    }
}

/* Russian version: max-width for 769-947px range */
@media (max-width: 947px) and (min-width: 769px) {
    body.lang-ru .hero-title {
        max-width: 644px !important;
    }
    
    /* Ukrainian version: max-width for 769-947px range */
    body.lang-uk .hero-title {
        max-width: 626px !important;
    }
}

/* All languages: font-size, line-height, max-width and height for 394-768px range (same as Polish version) */
@media (max-width: 768px) and (min-width: 394px) {
    .hero-title {
        font-size: 46px !important;
        line-height: 56px !important;
        max-width: 350px !important;
        height: 114px !important; /* two lines * 56px line-height */
        text-align: center !important;
        justify-content: center !important;
    }
    
    /* English version: 326px for this range (overrides the 422px from ≤947px rule) */
    body.lang-en .hero-title {
        max-width: 326px !important;
    }
    
    /* Russian version: 494px for this range */
    body.lang-ru .hero-title {
        max-width: 494px !important;
    }
    
    /* Cursor height matches font-size */
    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 46px !important; /* Match font-size */
    }
    
    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal !important; /* collapse leading space at line start */
    }
}

/* Ukrainian version: max-width for 565-768px range */
@media (max-width: 768px) and (min-width: 565px) {
    body.lang-uk .hero-title {
        max-width: 480px !important;
    }
}

/* Ukrainian and Russian versions: font-size and line-height for 480-564px */
@media (min-width: 480px) and (max-width: 564px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 40px !important;
        line-height: 48px !important;
        max-width: 430px !important;
        height: 96px !important; /* two lines * 48px line-height */
    }
    
    /* Ukrainian version: max-width 418px for this range */
    body.lang-uk .hero-title {
        max-width: 418px !important;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 40px !important;
    }
}

/* Ukrainian and Russian versions: font-size and line-height for 394-479px */
@media (min-width: 394px) and (max-width: 479px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 32px !important;
        line-height: 42px !important;
        max-width: 346px !important;
        height: 84px !important; /* two lines * 42px line-height */
    }
    
    /* Ukrainian version: max-width 338px for this range */
    body.lang-uk .hero-title {
        max-width: 338px !important;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 32px !important;
    }
}

/* Ukrainian and Russian versions: font-size and line-height for 345-393px */
@media (min-width: 345px) and (max-width: 393px) {
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 28px !important;
        line-height: 38px !important;
        max-width: 304px !important;
        height: 76px !important; /* two lines * 38px line-height */
    }
    
    /* Ukrainian version: max-width 296px for this range */
    body.lang-uk .hero-title {
        max-width: 296px !important;
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 28px !important;
    }
}

@media (max-width: 393px) {
    .hero-section {
        margin-top: 40px;
        min-height: auto !important;
    }

    /* Spacing: subtitle → icons = 40px; icons → button = 40px */
    .contact-info { margin-top: 40px !important; margin-bottom: 40px !important; }
    .cta-section { margin-top: 0 !important; }

    .hero-title {
        font-size: 40px !important;
        line-height: 48px !important;
        height: 96px !important; /* two lines * 48px */
        max-width: 308px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        transition: all 0.3s ease-in-out;
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 40px !important;
    }

    .hero-title__space {
        white-space: normal !important;
    }

    .hero-title__dynamic {
        margin-left: 0 !important;
    }

    /* All languages now use global animation rules defined above */

    /* All languages now use global animation rules defined above */
    
    /* English version: 320-360px range - override within this media query */
    @media (min-width: 320px) {
        body.lang-en .hero-title {
            max-width: 286px !important;
        }
    }
}

/* English version: 320-360px range - must come before 361-393px to ensure it applies */
@media (max-width: 360px) and (min-width: 320px) {
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

/* English version: 361-393px range - additional rule after max-width: 393px */
@media (max-width: 393px) and (min-width: 361px) {
    body.lang-en .hero-title {
        max-width: 286px !important;
    }
}

@media (max-width: 345px) {
    .hero-section {
        margin-top: 20px;
    }

    .hero-title {
        font-size: 36px !important;
        line-height: 42px !important;
        height: 84px !important; /* two lines * 42px */
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        transition: all 0.3s ease-in-out;
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 36px !important;
    }

    .hero-title__space {
        white-space: normal !important;
    }

    .hero-title__dynamic {
        margin-left: 0 !important;
    }

    /* Ukrainian and Russian versions: font-size and line-height for ≤345px */
    body.lang-uk .hero-title,
    body.lang-ru .hero-title {
        font-size: 26px !important;
        line-height: 36px !important;
        max-width: 284px !important;
        height: 72px !important; /* two lines * 36px line-height */
    }
    
    /* Cursor height matches font-size for Ukrainian and Russian versions */
    body.lang-uk .hero-title__cursor--question,
    body.lang-uk .hero-title__cursor--dynamic,
    body.lang-ru .hero-title__cursor--question,
    body.lang-ru .hero-title__cursor--dynamic {
        height: 26px !important;
    }

    /* All languages now use global animation rules defined above */

    /* Hide question cursor after text is erased for all languages (391-947px) */
    @media (max-width: 947px) and (min-width: 391px) {
        .hero-title__cursor--question.question-cursor-hidden {
            display: none !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            width: 0 !important;
            height: 0 !important;
            margin: 0 !important;
            background-color: transparent !important;
            animation: none !important;
        }
    }
}


@media (max-width: 480px) {
    .header {
        padding: 16px;
    }

    .header-container {
        flex-wrap: nowrap;
    }

    .logo {
        order: 1;
        width: 184px;
        height: 28px;
    }

    .cta-button {
        order: 2;
        width: auto !important;
        max-width: none !important;
    }

    .cta-section .cta-button {
        width: auto !important;
        max-width: none !important;
        display: inline-block !important;
        font-weight: 300; /* bolder on hover for small screens */
    }

    /* Ensure inner text reflects the bolder weight */
    .cta-section .cta-button .cta-button__text--original { font-weight: 300; }
    .cta-section .cta-button .cta-button__text--hover { font-weight: 400; }

    .menu { order: 3; width: 100%; flex-direction: column; }

    /* Mobile menu item typography/hover like in Figma */
    .menu-item {
        width: auto;
        padding: 0;
        border-radius: 0;
        font-family: 'Sora', sans-serif;
        font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        color: var(--color-dark);
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
        text-align: left;
    }
    .menu-item:hover { text-decoration: none; font-weight: 500; }

    .menu-divider {
        display: none;
    }

    .hero-section {
        margin-top: 60px;
        padding: 0 16px;
        min-height: auto !important; /* allow content to define height */
    }

    .hero-subtitle {
        font-size: 18px;
        line-height: 24px;
        max-width: 280px;
    }
    
    /* Ukrainian and Russian versions: max-width for hero-subtitle */
    body.lang-uk .hero-subtitle,
    body.lang-ru .hero-subtitle {
        max-width: 320px;
    }

    .hero-title {
        font-size: 46px;
        line-height: 56px;
        max-width: 368px;
        margin: 0 auto;
        height: 114px;
    }

    /* Prevent leading reserved space from indenting a new line */
    .hero-title__space {
        white-space: normal; /* collapse leading space at line start */
    }

    .hero-title__cursor--question,
    .hero-title__cursor--dynamic {
        height: 46px;
    }

    /* Smooth transition for text repositioning on small screens */
    .hero-title__static {
        transition: all 0.3s ease-in-out;
    }

    .hero-title__dynamic {
        transition: all 0.3s ease-in-out;
    }

    .hero-title__space {
        transition: all 0.3s ease-in-out;
    }

    .contact-info {
        margin-top: 24px;
        padding: 0 16px;
    }

    .cta-section {
        margin-top: 24px;
        padding: 0 16px;
    }

    .cta-section .cta-button {
        width: 100%;
    }
}

/* Updated Wed Oct 22 19:05:19 CEST 2025 */

/* Proportional scaling of button and text from 380px to 300px */
@media (max-width: 380px) and (min-width: 300px) {
    /* Target the duplicated CTA under hero */
    .cta-section .cta-button {
        /* Scale from 17px→15px font, 28px→26px line-height, 20/36px→16/30px padding across 380px→300px */
        font-size: calc(15px + (17 - 15) * ((100vw - 300px) / 80)) !important;
        line-height: calc(26px + (28 - 26) * ((100vw - 300px) / 80)) !important;
        padding: calc(16px + (20 - 16) * ((100vw - 300px) / 80))
                 calc(30px + (36 - 30) * ((100vw - 300px) / 80)) !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* Ukrainian and Russian versions: Scale from 18px→15px font, 28px→26px line-height */
    
    .phone-below-cta {
        /* Scale from 16px→14px font, 24px→22px line-height across 380px→300px */
        font-size: calc(14px + (16 - 14) * ((100vw - 300px) / 80));
        line-height: calc(22px + (24 - 22) * ((100vw - 300px) / 80));
    }
    
    .cta-section { padding: 0 20px; }
}

/* Lock CTA size at the 300px endpoint for any smaller screens */
@media (max-width: 300px) {
    .cta-section .cta-button {
        font-size: 15px !important;
        line-height: 26px !important;
        padding: 16px 30px !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .phone-below-cta {
        font-size: 14px; 
        line-height: 22px; 
    }
    
    .cta-section { padding: 0 20px; }
}

@media (min-width: 620px) {
    .section.benefit-section .section__inner {
        display: grid;
        grid-template-areas:
            "title"
            "cta"
            "grid";
        row-gap: 0;
    }
    .section.benefit-section .benefit-section__title { grid-area: title; }
    .section.benefit-section .benefit-section__cta { grid-area: cta; justify-content: center; }
    .section.benefit-section .benefit-grid { grid-area: grid; }
}

/* Features Section */
.features-section {
    padding-top: clamp(88px, calc(88px + (100vw - 1140px) * 32 / 300), 120px);
    padding-bottom: clamp(88px, calc(88px + (100vw - 1140px) * 32 / 300), 120px);
}

.features-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.feature-card {
    border: 1px solid #141000;
    border-radius: 9999px;
    padding: 64px 64px 64px 88px;
    display: flex;
    gap: 88px;
    align-items: center;
    width: 100%;
}

.feature-card:not(:first-child) {
    margin-top: -1px;
}

.feature-card__icon-title {
    display: flex;
    gap: 80px;
    align-items: center;
    flex-shrink: 0;
}

.feature-card__icon {
    width: 64px;
    height: 64px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Show icons if JavaScript is disabled (fallback) */
.no-js .feature-card__icon {
    opacity: 1;
    transform: scale(1);
}

/* Animate icons when they become visible */
.feature-card__icon.animate {
    opacity: 1;
    transform: scale(1);
}

.feature-card__icon--green {
    background: #d5ee8e;
}

.feature-card__icon--blue {
    background: #c4dfff;
}

.feature-card__icon--orange {
    background: #ffa25e;
}

.feature-card__icon-img {
    width: 32px;
    height: 32px;
    display: block;
}

.feature-card__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.feature-card__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 36px;
    line-height: 52px;
    color: #141000;
    margin: 0;
    width: 520px;
    flex-shrink: 0;
    white-space: normal;
}

.feature-card__desc {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    margin: 0;
    width: 400px;
    flex-shrink: 0;
}


body.lang-uk .feature-card__desc,
body.lang-ru .feature-card__desc {
    font-family: 'Noto Sans', sans-serif;
}

/* Ukrainian version: line breaks for feature card titles */
/* Hide mobile line breaks on larger screens (shows 2 lines) */
body.lang-uk .feature-card__title-br-mobile-uk {
    display: none;
}

/* Show mobile line breaks for Ukrainian version on screens ≤430px (shows 3 lines) */
@media (max-width: 430px) {
    body.lang-uk .feature-card:first-child .feature-card__title-br-mobile-uk,
    body.lang-uk .feature-card:nth-child(3) .feature-card__title-br-mobile-uk {
        display: inline;
    }
}

/* Russian version: line breaks for feature card titles */
/* Hide mobile line breaks on larger screens (shows 2 lines) */
body.lang-ru .feature-card__title-br-mobile-ru {
    display: none;
}

/* Show mobile line breaks for Russian version on screens ≤430px (shows 3 lines) */
@media (max-width: 430px) {
    body.lang-ru .feature-card:first-child .feature-card__title-br-mobile-ru,
    body.lang-ru .feature-card:nth-child(2) .feature-card__title-br-mobile-ru,
    body.lang-ru .feature-card:nth-child(3) .feature-card__title-br-mobile-ru {
        display: inline;
    }
}

/* Hide <br> for sizes <1140px */
.feature-card__desc-br {
    display: none;
}

/* Show <br> for sizes >=1140px */
@media (min-width: 1140px) {
    .feature-card__desc-br {
        display: inline;
    }
}

/* Hide word "pełną" for sizes ≤443px */
@media (max-width: 443px) {
    .feature-card__desc-full {
        display: none;
    }
}

/* Viewport-based scaling for features-section from 1140px to 1440px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .features-section {
        padding-top: 8.33vw; /* 120px at 1440px */
        padding-bottom: 8.33vw; /* 120px at 1440px */
    }
    
    .feature-card {
        padding: 4.44vw 4.44vw 4.44vw 6.11vw; /* 64px 64px 64px 88px at 1440px */
        gap: 6.11vw; /* 88px at 1440px */
        border-radius: 9999px;
    }
    
    .feature-card__icon-title {
        gap: 5.56vw; /* 80px at 1440px */
    }
    
    .feature-card__icon {
        width: 4.44vw; /* 64px at 1440px */
        height: 4.44vw; /* 64px at 1440px */
    }
    
    .feature-card__icon-img {
        width: 100%;
        height: 100%;
    }
    
    .feature-card__icon svg {
        width: 100%;
        height: 100%;
    }
    
    .feature-card__title {
        font-size: 2.5vw; /* 36px at 1440px */
        line-height: 3.61vw; /* 52px at 1440px */
        width: 36.11vw; /* 520px at 1440px */
    }
    
    .feature-card__desc {
        font-size: 1.25vw; /* 18px at 1440px */
        line-height: 1.94vw; /* 28px at 1440px */
        width: 27.78vw; /* 400px at 1440px */
    }
}

/* Responsive styles for Features Section */

@media (min-width: 940px) and (max-width: 1139px) {
    .features-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    
    .section.features-section {
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .feature-card {
        padding: 56px 0;
        gap: 32px;
        flex-direction: column;
        align-items: center;
    }
    
    .feature-card__icon-title {
        gap: 60px;
        width: 644px;
        justify-content: flex-start;
    }
    
    .feature-card__title {
        width: 520px;
    }
    
    .feature-card__desc {
        width: 644px;
        padding-left: 124px;
        text-align: left;
    }
    
}

@media (min-width: 840px) and (max-width: 939px) {
    .features-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    
    .section.features-section {
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .feature-card {
        padding: 56px 64px;
        gap: 32px;
        flex-direction: column;
        align-items: center;
    }
    
    .feature-card__icon-title {
        gap: 32px;
        width: 644px;
        justify-content: flex-start;
    }
    
    .feature-card__title {
        width: 520px;
    }
    
    .feature-card__desc {
        width: 644px;
        padding-left: 96px;
        text-align: left;
        align-self: flex-start;
        margin-left: auto;
        margin-right: auto;
    }
    
}

@media (min-width: 720px) and (max-width: 839px) {
    .features-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    
    .section.features-section {
        padding-left: 40px;
        padding-right: 40px;
    }
    
    .feature-card {
        padding: 48px 64px;
        gap: 32px;
        flex-direction: column;
        align-items: center;
    }
    
    .feature-card__icon-title {
        gap: 32px;
        width: 500px;
        justify-content: flex-start;
    }
    
    .feature-card__title {
        font-size: 28px;
        line-height: 40px;
        width: 404px;
    }
    
    .feature-card__desc {
        width: 500px;
        padding-left: 92px;
        text-align: left;
        align-self: flex-start;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 992px) {
    .features-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
}

@media (max-width: 413px) {
    .features-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    
    .feature-card {
        padding: 48px 40px;
        gap: 40px;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .feature-card__icon-title {
        gap: 32px;
        width: 100%;
    }
    
    .feature-card__title {
        width: auto;
        flex: 1;
    }
    
    .feature-card__desc {
        width: 100%;
    }
}

@media (max-width: 413px) {
    .features-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    
    .section.features-section {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .feature-card {
        padding: 32px 24px;
        gap: 24px;
    }
    
    .feature-card__icon {
        width: 56px;
        height: 56px;
    }

    .feature-card__icon-img,
    .feature-card__icon svg {
        width: 32px;
        height: 32px;
    }
    
    .feature-card__icon-img,
    .feature-card__icon svg {
        width: 28px;
        height: 28px;
    }
    
    .feature-card__icon-title {
        gap: 24px;
    }
    
    .feature-card__title {
        font-size: 28px;
        line-height: 40px;
    }
    
    .feature-card__desc {
        font-size: 16px;
        line-height: 24px;
    }
}

/* Features Section: 414px–619px (structure as in 375px design, fixed px values) */
@media (min-width: 414px) and (max-width: 619px) {
    .features-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .section.features-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .features-list {
        gap: 36px; /* as in design */
    }

    .feature-card {
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px; /* gap between title and description */
    }

    .feature-card__icon-title {
        gap: 24px;
        width: 100%;
        align-items: center;
    }

    .feature-card__icon {
        width: 56px;
        height: 56px;
    }

    .feature-card__title {
        font-size: 24px;
        line-height: 32px;
        width: auto;
        flex: 1 1 auto;
    }

    .feature-card__desc {
        width: 100%;
        padding: 24px 26px;
        border-radius: 40px;
        border: 1px solid #141000;
        font-size: 16px;
        line-height: 24px;
    }
}

/* Features Section: 375px–413px - fixed sizes, icons don't scale */
@media (min-width: 375px) and (max-width: 413px) {
    .features-section {
        padding-top: 9.66vw;   /* 40px at 414px */
        padding-bottom: 9.66vw;
    }

    .section.features-section {
        padding-left: 4.83vw;  /* 20px at 414px */
        padding-right: 4.83vw;
    }

    .features-list {
        gap: 8.7vw;            /* 36px at 414px */
    }

    .feature-card {
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 4.83vw;           /* 20px at 414px */
    }

    .feature-card__icon-title {
        gap: 5.8vw;            /* 24px at 414px */
        width: 100%;
        align-items: center;
    }

    /* Fixed size icon, doesn't scale */
    .feature-card__icon {
        width: 56px;
        height: 56px;
    }

    /* Inner SVG/image fills the entire circle */
    .feature-card__icon-img,
    .feature-card__icon svg {
        width: 100%;
        height: 100%;
    }

    .feature-card__title {
        font-size: 5.8vw;      /* 24px at 414px */
        line-height: 7.73vw;   /* 32px at 414px */
        width: auto;
        flex: 1 1 auto;
    }

    .feature-card__desc {
        width: 100%;
        padding: 5.8vw 6.28vw;  /* 24px 26px at 414px */
        border-radius: 9.66vw; /* 40px at 414px */
        border: 1px solid #141000;
        font-size: 3.86vw;     /* 16px at 414px */
        line-height: 5.8vw;    /* 24px at 414px */
    }
}

/* Features Section: viewport-based scaling for 300px–374px */
@media (max-width: 374px) {
    .features-section {
        padding-top: 9.66vw;   /* 40px at 414px */
        padding-bottom: 9.66vw;
    }

    .section.features-section {
        padding-left: 4.83vw;  /* 20px at 414px */
        padding-right: 4.83vw;
    }

    .features-list {
        gap: 8.7vw;            /* 36px at 414px */
    }

    .feature-card {
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 4.83vw;           /* 20px at 414px */
    }

    .feature-card__icon-title {
        gap: 5.8vw;            /* 24px at 414px */
        width: 100%;
        align-items: center;
    }

    /* Icon scales proportionally via vw */
    .feature-card__icon {
        width: 13.53vw;        /* 56px at 414px */
        height: 13.53vw;
    }

    /* Inner SVG/image fills the entire circle */
    .feature-card__icon-img,
    .feature-card__icon svg {
        width: 100%;
        height: 100%;
    }

    .feature-card__title {
        font-size: 5.8vw;      /* 24px at 414px */
        line-height: 7.73vw;   /* 32px at 414px */
        width: auto;
        flex: 1 1 auto;
    }

    .feature-card__desc {
        width: 100%;
        padding: 5.8vw 6.28vw; /* 24px 26px at 414px - continues from 375px */
        border-radius: 9.66vw; /* 40px at 414px */
        border: 1px solid #141000;
        font-size: 3.86vw;     /* 16px at 414px */
        line-height: 5.8vw;    /* 24px at 414px */
    }
}

/* Features Section: 620px–719px (719px design applied to this range) */
@media (min-width: 620px) and (max-width: 719px) {
    .features-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .features-list {
        gap: 40px; /* gap between cards */
    }

    .feature-card {
        max-width: 639px;
        margin: 0 auto;
        padding: 0;
        gap: 28px; /* gap between Icon-title and description */
        flex-direction: column;
        align-items: flex-start;
        border: none;           /* remove border from entire card */
        border-radius: 0;
    }

    .feature-card__icon-title {
        padding-left: 56px;
        padding-right: 0;
        gap: 24px; /* from design */
        width: 100%;
        align-items: center;
    }

    .feature-card__title {
        font-size: 28px;
        line-height: 40px;
        width: auto;           /* allow title to wrap */
        flex: 1 1 auto;        /* remove strict shrink:0 from base style */
    }

    .feature-card__title-br-second {
        display: inline;
    }

    .feature-card__desc {
        width: 100%;      /* border on full card width */
        padding: 32px 56px;
        border-radius: 9999px; /* full rounding as in design */
        border: 1px solid #141000; /* border only around description */
    }
}

/* Show line break in second card title for sizes ≤619px */
@media (max-width: 619px) {
    .feature-card__title-br-second {
        display: inline;
    }
}

/* Hide line break in second card title for sizes ≥720px, but keep it visible for English */
@media (min-width: 720px) {
    .feature-card__title-br-second {
        display: none;
    }
    
    /* Keep line break visible for English version */
    body.lang-en .feature-card__title-br-second {
        display: inline;
    }
}

/* Process Steps Section */
.process-steps-section {
    padding-top: 80px;
    padding-bottom: 80px;
}

.process-steps-container {
    max-width: 1344px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

.process-steps__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 56px;
    line-height: 72px;
    color: #141000;
    text-align: center;
    white-space: pre-wrap;
    width: 100%;
}

.process-steps__title-br {
    display: none;
}

.process-steps__cards {
    display: flex;
    gap: 16px;
    align-items: center;
    position: relative;
    width: 100%;
}

.process-steps__cards::before {
    content: '';
    position: absolute;
    top: 72px;
    left: 50%;
    transform: translateX(-50%) translateY(0.5px); /* Adjust vertical position to center on dot */
    width: calc(66.67% + 16px); /* Width from center of first card to center of last card */
    height: 1px;
    background-color: #141000;
    z-index: 0;
}

.process-steps__line {
    display: none; /* Hide the old line element */
}

.process-step-card {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.process-step-card__header {
    display: flex;
    flex-direction: column;
    gap: 28px;
    align-items: center;
}

.process-step-card__chip {
    border: 1px solid #141000;
    border-radius: 9999px;
    padding: 6px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: transparent;
    transition: background-color 0.3s ease;
}

.process-step-card:hover .process-step-card__chip {
    background-color: #D5EE8E;
}

.process-step-card__chip-text {
    font-family: 'Sora', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 24px;
    color: #141000;
}

.process-step-card__dot {
    width: 16px;
    height: 16px;
    position: relative;
    flex-shrink: 0;
}


.process-step-card__dot-img {
    width: 100%;
    height: 100%;
    display: block;
}

.process-step-card__content {
    border: 1px solid #141000;
    border-radius: 24px;
    padding: 30px 32px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: flex-start;
    width: 100%;
}

.process-step-card__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    white-space: pre-wrap;
    margin: 0;
}


.process-step-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.process-step-card__item {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
}

.process-step-card__check {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
}

.process-step-card__text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #3a403b;
}

.process-step-card__text-nowrap {
    white-space: nowrap;
}

.process-step-card__text strong {
    font-weight: 600;
}

/* Ukrainian version: Process Steps Section typography */

body.lang-uk .process-step-card__chip-text {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 400;
}

body.lang-uk .process-step-card__text {
    font-family: 'Noto Sans', sans-serif;
}

/* Russian version: Process Steps Section typography */

body.lang-ru .process-step-card__chip-text {
    font-family: 'Noto Sans', sans-serif;
    font-weight: 400;
}

body.lang-ru .process-step-card__text {
    font-family: 'Noto Sans', sans-serif;
}

/* Process Steps Section: 620px-992px - vertical layout */
@media (min-width: 620px) and (max-width: 992px) {
    .process-steps-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .process-steps-container {
        padding-left: 40px;
        padding-right: 40px;
        gap: 80px;
        align-items: center;
    }

    .process-steps__title {
        font-size: 40px;
        line-height: 48px;
        width: 656px;
        padding-left: 56px;
        text-align: left;
    }

    .process-steps__title-br {
        display: inline;
    }

    .process-steps__cards {
        flex-direction: column;
        gap: 48px;
        align-items: flex-start;
        position: relative;
        width: auto;
        min-height: 660px; /* Ensure container has height for 648px line plus 12px top offset */
    }

    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 8px !important; /* Center of dot (16px/2) */
        top: 12px !important;
        height: 648px !important;
        width: 1px !important;
        background-color: #141000 !important;
        z-index: 0 !important;
        transform: none !important;
    }

    .process-step-card {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
        position: relative;
        z-index: 1;
    }

    .process-step-card__header {
        flex-direction: row-reverse;
        gap: 40px;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        flex-shrink: 0;
        position: relative;
    }

    .process-step-card__chip {
        padding: 6px 18px;
    }

    .process-step-card__dot {
        width: 16px;
        height: 16px;
    }

    .process-step-card__content {
        padding: 32px 40px;
        border-radius: 24px;
        width: 600px;
        max-width: 100%;
        gap: 22px;
        margin-left: 56px;
    }

    .process-step-card__title {
        font-size: 26px;
        line-height: 38px;
        font-weight: 400;
    }

    .process-step-card__text {
        font-size: 18px;
        line-height: 28px;
    }

    .process-step-card__list {
        gap: 4px;
    }
}

@media (min-width: 620px) and (max-width: 735px) {
    .process-steps__cards {
        min-height: 692px; /* Ensure container has height for 680px line plus 12px top offset */
    }

    .process-steps__cards::before {
        height: 680px !important;
    }

    .process-step-card__content {
        width: 496px;
    }
}

/* Process Steps Section: 520px-619px - vertical layout */
@media (min-width: 520px) and (max-width: 619px) {
    .process-steps-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .process-steps-container {
        padding-left: 0;
        padding-right: 0;
        gap: 32px;
        align-items: flex-start;
        width: 100%;
    }

    .process-steps__title {
        font-size: 28px;
        line-height: 40px;
        width: 100%;
        padding-left: 0;
        text-align: left;
    }

    .process-steps__title-br {
        display: none;
    }

    .process-steps__cards {
        flex-direction: column;
        gap: 40px;
        align-items: flex-start;
        position: relative;
        width: 100%;
        min-height: 606px; /* Ensure container has height for 589px line plus 17px top offset */
    }

    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 8px !important; /* Center of dot (16px/2) */
        top: 17px !important;
        height: 589px !important;
        width: 1px !important;
        background-color: #141000 !important;
        z-index: 0 !important;
        transform: none !important;
    }

    .process-step-card {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
        position: relative;
        z-index: 1;
    }

    .process-step-card__header {
        flex-direction: row-reverse;
        gap: 40px;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        flex-shrink: 0;
        position: relative;
    }

    .process-step-card__chip {
        padding: 6px 18px;
    }

    .process-step-card__dot {
        width: 16px;
        height: 16px;
    }

    .process-step-card__content {
        padding: 30px 32px;
        border-radius: 24px;
        width: calc(100% - 56px);
        max-width: 100%;
        gap: 18px;
        margin-left: 56px;
    }

    .process-step-card__title {
        font-size: 18px;
        line-height: 28px;
        font-weight: 400;
    }

    .process-step-card__text {
        font-size: 16px;
        line-height: 28px;
    }

    .process-step-card__list {
        gap: 4px;
    }
}

/* Process Steps Section: 440px-519px - vertical layout */
@media (min-width: 440px) and (max-width: 519px) {
    .process-steps-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .process-steps-container {
        padding-left: 0;
        padding-right: 0;
        gap: 32px;
        align-items: flex-start;
        width: 100%;
    }

    .process-steps__title {
        font-size: 28px;
        line-height: 40px;
        width: 100%;
        padding-left: 0;
        text-align: left;
    }
    
    .process-steps__title-br {
        display: none;
    }
    
    .process-steps__cards {
        flex-direction: column;
        gap: 36px;
        align-items: flex-start;
        position: relative;
        width: 100%;
        min-height: 516px; /* Ensure container has height for 499px line plus 17px top offset */
    }
    
    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 8px !important; /* Center of dot (16px/2) */
        top: 17px !important;
        height: 499px !important;
        width: 1px !important;
        background-color: #141000 !important;
        z-index: 0 !important;
        transform: none !important;
    }
    
    .process-step-card {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
        position: relative;
        z-index: 1;
    }
    
    .process-step-card__header {
        flex-direction: row-reverse;
        gap: 16px;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        flex-shrink: 0;
        position: relative;
    }
    
    .process-step-card:not(:first-child) .process-step-card__header {
        gap: 24px;
    }
    
    .process-step-card__chip {
        padding: 6px 18px;
    }
    
    .process-step-card__chip-text {
        font-size: 14px;
        line-height: 20px;
    }
    
    .process-step-card__dot {
        width: 16px;
        height: 16px;
    }
    
    .process-step-card__content {
        padding: 20px 24px;
        border-radius: 24px;
        width: calc(100% - 32px);
        max-width: 100%;
        gap: 18px;
        margin-left: 32px;
    }
    
    .process-step-card:not(:first-child) .process-step-card__content {
        width: calc(100% - 40px);
        margin-left: 40px;
    }
    
    .process-step-card__title {
        font-size: 18px;
        line-height: 28px;
        font-weight: 400;
    }
    
    .process-step-card__text {
        font-size: 15px;
        line-height: 20px;
    }

    .process-step-card__list {
        gap: 8px;
    }

    .process-step-card__check {
        width: 18px;
        height: 18px;
    }

    .process-step-card__title-fast {
        display: none;
    }

    .process-step-card__title-consultation {
        text-transform: capitalize;
    }
}

/* Process Steps Section: 414px-440px - vertical layout */
@media (min-width: 414px) and (max-width: 440px) {
    .process-steps-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .process-steps-container {
        padding-left: 0;
        padding-right: 0;
        gap: 32px;
        align-items: flex-start;
        width: 100%;
    }

    .process-steps__title {
        font-size: 28px;
        line-height: 40px;
        width: 100%;
        padding-left: 0;
        text-align: left;
        color: #141000;
    }
    
    .process-steps__title-br {
        display: none;
    }
    
    .process-steps__cards {
        flex-direction: column;
        gap: 36px;
        align-items: flex-start;
        position: relative;
        width: 100%;
        min-height: 515px; /* Ensure container has height for 498px line plus 17px top offset */
    }
    
    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 8px !important; /* Center of dot (16px/2) */
        top: 17px !important;
        height: 498px !important;
        width: 1px !important;
        background-color: #141000 !important;
        z-index: 0 !important;
        transform: none !important;
    }
    
    .process-step-card {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
        width: 100%;
        position: relative;
        z-index: 1;
    }
    
    .process-step-card__header {
        flex-direction: row-reverse;
        gap: 16px;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        flex-shrink: 0;
        position: relative;
    }
    
    .process-step-card:not(:first-child) .process-step-card__header {
        gap: 16px;
    }
    
    .process-step-card__chip {
        padding: 6px 18px;
    }
    
    .process-step-card__chip-text {
        font-size: 14px;
        line-height: 20px;
        color: #141000;
    }
    
    .process-step-card__dot {
        width: 16px;
        height: 16px;
    }
    
    .process-step-card__content {
        padding: 20px 24px;
        border-radius: 24px;
        width: calc(100% - 32px);
        max-width: 100%;
        gap: 18px;
        margin-left: 32px;
    }
    
    .process-step-card:not(:first-child) .process-step-card__content {
        width: calc(100% - 32px);
        margin-left: 32px;
    }
    
    .process-step-card__title {
        font-size: 18px;
        line-height: 28px;
        font-weight: 400;
        color: #141000;
    }
    
    .process-step-card__text {
        font-size: 14px;
        color: #141000;
        line-height: 20px;
    }

    .process-step-card__list {
        gap: 8px;
    }

    .process-step-card__check {
        width: 18px;
        height: 18px;
    }

    .process-step-card__title-fast {
        display: none;
    }

    .process-step-card__title-consultation {
        text-transform: capitalize;
    }
}

/* Process Steps Section: ≤413px - viewport-based scaling */
@media (max-width: 413px) {
    .process-steps-section {
        padding-top: 9.66vw; /* 40px at 414px */
        padding-bottom: 9.66vw;
        padding-left: 4.83vw; /* 20px at 414px */
        padding-right: 4.83vw;
    }

    .process-steps-container {
        padding-left: 0;
        padding-right: 0;
        gap: 7.73vw; /* 32px at 414px */
        align-items: flex-start;
        width: 100%;
    }

    .process-steps__title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
        width: 100%;
        padding-left: 0;
        text-align: left;
        color: #141000;
    }
    
    .process-steps__title-br {
        display: none;
    }
    
    .process-steps__cards {
        flex-direction: column;
        gap: 8.70vw; /* 36px at 414px */
        align-items: flex-start;
        position: relative;
        width: 100%;
        min-height: 124.4vw; /* 515px at 414px */
    }
    
    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 1.93vw !important; /* 8px at 414px */
        top: 4.11vw !important; /* 17px at 414px */
        height: 120.29vw !important; /* 498px at 414px */
        width: 1px !important;
        background-color: #141000 !important;
        z-index: 0 !important;
        transform: none !important;
    }
    
    .process-step-card {
        flex-direction: column;
        gap: 3.86vw; /* 16px at 414px */
        align-items: flex-start;
        width: 100%;
        position: relative;
        z-index: 1;
    }
    
    .process-step-card__header {
        flex-direction: row-reverse;
        gap: 3.86vw; /* 16px at 414px */
        align-items: center;
        justify-content: flex-start;
        width: auto;
        flex-shrink: 0;
        position: relative;
    }
    
    .process-step-card:not(:first-child) .process-step-card__header {
        gap: 3.86vw; /* 16px at 414px */
    }
    
    .process-step-card__chip {
        padding: 1.45vw 4.35vw; /* 6px 18px at 414px */
    }
    
    .process-step-card__chip-text {
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.83vw; /* 20px at 414px */
        color: #141000;
    }
    
    .process-step-card__dot {
        width: 3.86vw; /* 16px at 414px */
        height: 3.86vw;
    }
    
    .process-step-card__content {
        padding: 4.83vw 5.80vw; /* 20px 24px at 414px */
        border-radius: 5.80vw; /* 24px at 414px */
        width: calc(100% - 7.73vw); /* 32px at 414px */
        max-width: 100%;
        gap: 4.35vw; /* 18px at 414px */
        margin-left: 7.73vw; /* 32px at 414px */
    }
    
    .process-step-card:not(:first-child) .process-step-card__content {
        width: calc(100% - 7.73vw); /* 32px at 414px */
        margin-left: 7.73vw; /* 32px at 414px */
    }
    
    .process-step-card__title {
        font-size: 4.35vw; /* 18px at 414px */
        line-height: 6.76vw; /* 28px at 414px */
        font-weight: 400;
        color: #141000;
    }
    
    .process-step-card__text {
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.83vw; /* 20px at 414px */
        color: #141000;
    }

    .process-step-card__list {
        gap: 1.93vw; /* 8px at 414px */
    }

    .process-step-card__check {
        width: 4.35vw; /* 18px at 414px */
        height: 4.35vw;
    }

    .process-step-card__title-fast {
        display: none;
    }

    .process-step-card__title-consultation {
        text-transform: capitalize;
    }
}

/* Show line break in title for sizes 450px-550px */
@media (max-width: 550px) and (min-width: 450px) {
    .process-steps__title-br {
        display: inline;
    }
}

/* Hide line break in title for sizes ≤449px */
@media (max-width: 449px) {
    .process-steps__title-br {
        display: none;
    }
}

/* Hide "usługi" in text for sizes ≤527px */
@media (max-width: 527px) {
    .process-step-card__text-service {
        display: none;
    }
}

/* Prevent text wrapping for specific text on sizes 440-442px */
@media (min-width: 440px) and (max-width: 442px) {
    .process-step-card__text-nowrap {
        white-space: nowrap;
    }
}

/* Prevent text wrapping for specific text on sizes 414-415px */
@media (min-width: 414px) and (max-width: 415px) {
    .process-step-card__text-nowrap {
        white-space: nowrap;
    }
}

/* Process Steps Section: 993px-1139px - vertical layout */
@media (min-width: 993px) and (max-width: 1139px) {
    .process-steps-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .process-steps-container {
        padding-left: 40px;
        padding-right: 40px;
        gap: 80px;
    }

    .process-steps__title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * (48 - 40) / (1139 - 993)), 48px); /* 40px at 993px, 48px at 1139px */
        line-height: 56px;
    }

    .process-steps__cards {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
        position: relative;
        width: 855px;
        max-width: 100%;
    }

    .process-steps__cards::before {
        content: '' !important;
        position: absolute !important;
        left: 184px !important; /* Position at center of dots (192px header width - 8px half dot) */
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 1px !important;
        height: 588px !important;
        background-color: #141000 !important;
        z-index: 1 !important;
    }

    .process-step-card {
        flex-direction: row;
        gap: 40px;
        align-items: center;
        width: 100%;
        position: relative;
    }

    .process-step-card__header {
        flex-direction: row;
        gap: 28px;
        align-items: center;
        justify-content: space-between;
        width: 192px;
        flex-shrink: 0;
        position: relative;
    }


    .process-step-card__chip {
        padding: 6px 18px;
    }

    .process-step-card__dot {
        width: 16px;
        height: 16px;
    }

    .process-step-card__content {
        padding: 48px 96px;
        border-radius: 9999px;
        flex: 1;
        min-width: 0;
        gap: 24px;
    }

    .process-step-card__title {
        font-size: 26px;
        line-height: 38px;
        font-weight: 400;
    }

    .process-step-card__text {
        font-size: 18px;
        line-height: 28px;
    }
}

/* Viewport-based scaling for process-steps section from 1140px to 1428px */
@media (min-width: 1140px) and (max-width: 1428px) {
    .process-steps-section {
        padding-top: clamp(63.87px, 5.6vw, 80px); /* 80px at 1428px, 63.87px at 1140px */
        padding-bottom: clamp(63.87px, 5.6vw, 80px);
    }

    .process-steps-container {
        gap: clamp(63.87px, 5.6vw, 80px); /* 80px at 1428px, 63.87px at 1140px */
    }

    .process-steps__title {
        font-size: clamp(44.71px, 3.92vw, 56px); /* 56px at 1428px, 44.71px at 1140px */
        line-height: clamp(57.48px, 5.04vw, 72px); /* 72px at 1428px, 57.48px at 1140px */
    }

    .process-steps__cards {
        gap: clamp(12.77px, 1.12vw, 16px); /* 16px at 1428px, 12.77px at 1140px */
    }

    .process-steps__cards::before {
        top: clamp(57.48px, 5.04vw, 72px); /* 72px at 1428px, 57.48px at 1140px */
    }

    .process-step-card {
        gap: clamp(31.93px, 2.8vw, 40px); /* 40px at 1428px, 31.93px at 1140px */
    }

    .process-step-card__header {
        gap: clamp(22.35px, 1.96vw, 28px); /* 28px at 1428px, 22.35px at 1140px */
    }

    .process-step-card__chip {
        padding: clamp(4.79px, 0.42vw, 6px) clamp(14.37px, 1.26vw, 18px); /* 6px 18px at 1428px, 4.79px 14.37px at 1140px */
    }

    .process-step-card__chip-text {
        font-size: clamp(11.97px, 1.05vw, 15px); /* 15px at 1428px, 11.97px at 1140px */
        line-height: clamp(19.16px, 1.68vw, 24px); /* 24px at 1428px, 19.16px at 1140px */
    }

    .process-step-card__dot {
        width: clamp(12.77px, 1.12vw, 16px); /* 16px at 1428px, 12.77px at 1140px */
        height: clamp(12.77px, 1.12vw, 16px);
    }

    .process-step-card__content {
        padding: clamp(23.94px, 2.1vw, 30px) clamp(25.54px, 2.24vw, 32px); /* 30px 32px at 1428px, 23.94px 25.54px at 1140px */
        border-radius: clamp(19.16px, 1.68vw, 24px); /* 24px at 1428px, 19.16px at 1140px */
        gap: clamp(14.37px, 1.26vw, 18px); /* 18px at 1428px, 14.37px at 1140px */
    }

    .process-step-card__title {
        font-size: clamp(14.37px, 1.26vw, 18px); /* 18px at 1428px, 14.37px at 1140px */
        line-height: clamp(22.35px, 1.96vw, 28px); /* 28px at 1428px, 22.35px at 1140px */
    }

    .process-step-card__list {
        gap: clamp(3.19px, 0.28vw, 4px); /* 4px at 1428px, 3.19px at 1140px */
    }

    .process-step-card__item {
        gap: clamp(6.39px, 0.56vw, 8px); /* 8px at 1428px, 6.39px at 1140px */
    }

    .process-step-card__check {
        width: clamp(15.97px, 1.4vw, 20px); /* 20px at 1428px, 15.97px at 1140px */
        height: clamp(15.97px, 1.4vw, 20px);
    }

    .process-step-card__text {
        font-size: clamp(12.77px, 1.12vw, 16px); /* 16px at 1428px, 12.77px at 1140px */
        line-height: clamp(22.35px, 1.96vw, 28px); /* 28px at 1428px, 22.35px at 1140px */
    }
}

/* Heart Section */
.heart-section {
    padding-top: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
}

.heart-section__container {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    align-items: center;
    max-width: 1344px;
    margin: 0 auto;
}

.heart-section__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: clamp(48px, calc(48px + (100vw - 1140px) * 8 / 300), 56px);
    line-height: clamp(60px, calc(60px + (100vw - 1140px) * 12 / 300), 72px);
    color: #141000;
    text-align: center;
    display: flex;
    align-items: center;
    gap: clamp(20px, calc(20px + (100vw - 1140px) * 4 / 300), 24px);
    margin: 0;
}

.heart-section__title-line1 {
    display: inline-flex;
    align-items: center;
    gap: clamp(20px, calc(20px + (100vw - 1140px) * 4 / 300), 24px);
}

.heart-section__title-line2 {
    display: inline;
}

.heart-section__icon {
    width: clamp(56px, calc(56px + (100vw - 1140px) * 8 / 300), 64px);
    height: clamp(56px, calc(56px + (100vw - 1140px) * 8 / 300), 64px);
    display: block;
    flex-shrink: 0;
}

.heart-section__text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: clamp(16px, calc(16px + (100vw - 1140px) * 2 / 300), 18px);
    line-height: clamp(24px, calc(24px + (100vw - 1140px) * 4 / 300), 28px);
    color: #141000;
    text-align: center;
    margin: 0;
}

/* Ukrainian and Russian versions: use Noto Sans instead of Sora */
body.lang-uk .heart-section__text,
body.lang-ru .heart-section__text {
    font-family: 'Noto Sans', sans-serif !important;
}

/* Hide line break after "від" in Ukrainian CTA callout text on screens 498px and smaller */
@media (max-width: 498px) {
    body.lang-uk .cta-callout-section .cta-callout-text-br-uk-498 {
        display: none;
    }
}

/* Hide line break after "the" in English CTA callout text on screens 475px and smaller */
@media (max-width: 475px) {
    body.lang-en .cta-callout-section .cta-callout-text-br-en-475 {
        display: none;
    }
}

/* Left align "– замов зараз" for Ukrainian version on screens 480-574px */
@media (min-width: 480px) and (max-width: 574px) {
    body.lang-uk .cta-callout-section .heart-section__title-line2 {
        display: block !important;
        text-align: left !important;
        width: 100%;
    }
}
}

.heart-section__text-br-small {
    display: none;
}

.heart-section__text-br-okolic {
    display: none;
}

.heart-section .cta-button {
    padding: clamp(18px, calc(18px + (100vw - 1140px) * 2 / 300), 20px) clamp(32px, calc(32px + (100vw - 1140px) * 0 / 300), 32px);
    font-size: clamp(16px, calc(16px + (100vw - 1140px) * 1 / 300), 17px);
    line-height: clamp(26px, calc(26px + (100vw - 1140px) * 2 / 300), 28px);
}

/* Heart Section for screens from 993px to 1139px inclusive */
@media (min-width: 993px) and (max-width: 1139px) {
    .heart-section__title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }
}

/* Heart Section button for screens from 620px to 1139px inclusive - padding 32px */
@media (min-width: 620px) and (max-width: 1139px) {
    .heart-section .cta-button {
        padding-left: 32px;
        padding-right: 32px;
    }
}

/* Heart Section for screens from 620px to 668px inclusive */
@media (min-width: 620px) and (max-width: 668px) {
    .heart-section__title {
        font-size: 32px;
        line-height: 40px;
        flex-direction: column;
        gap: 0;
        align-items: center;
        text-align: center;
    }
    
    .heart-section__title-line1 {
        gap: 16px;
    }
    
    .heart-section__title-line2 {
        display: block;
    }
    
    .heart-section__icon {
        width: 56px;
        height: 56px;
    }
    
    .heart-section__text {
        font-size: 18px;
        line-height: 28px;
        text-align: center;
    }
}

/* Russian version: same layout as 668px for 620-778px */
@media (min-width: 620px) and (max-width: 778px) {
    body.lang-ru .heart-section__title {
        font-size: 32px !important;
        line-height: 40px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    body.lang-ru .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-ru .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-ru .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-ru .heart-section__text {
        font-size: 18px !important;
        line-height: 28px !important;
        text-align: center !important;
    }
}

/* Polish version: same layout as 668px for 669-678px (but keep font-size 40px/48px) */
@media (min-width: 669px) and (max-width: 678px) {
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title {
        flex-direction: column !important;
        gap: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title-line2 {
        display: block !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__text {
        text-align: center !important;
    }
}

/* Ukrainian version: same layout as 668px for 669-802px */
@media (min-width: 669px) and (max-width: 802px) {
    body.lang-uk .heart-section__title {
        font-size: 40px !important;
        line-height: 56px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    body.lang-uk .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-uk .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-uk .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-uk .heart-section__text {
        font-size: 18px !important;
        line-height: 28px !important;
        text-align: center !important;
    }
}

/* Heart Section for screens from 669px to 992px inclusive */
@media (min-width: 620px) and (max-width: 992px) {
    .heart-section__title {
        font-size: 40px;
        line-height: 48px;
    }
    
    .heart-section .cta-button {
        height: 62px;
    }
}

/* English version: same layout as 668px for 669-699px (but keep font-size 40px/48px) */
@media (min-width: 669px) and (max-width: 699px) {
    body.lang-en .heart-section__title {
        flex-direction: column !important;
        gap: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    body.lang-en .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-en .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-en .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-en .heart-section__text {
        text-align: center !important;
    }
}

/* English version: same layout as 699px for 700-710px */
@media (min-width: 700px) and (max-width: 710px) {
    body.lang-en .heart-section__title {
        flex-direction: column !important;
        gap: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
    
    body.lang-en .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-en .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-en .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-en .heart-section__text {
        text-align: center !important;
    }
}

/* Heart Section text for screens from 668px to 1139px inclusive */
@media (min-width: 668px) and (max-width: 1139px) {
    .heart-section__text {
        font-size: 18px;
        line-height: 28px;
    }
}

/* Heart Section for screens from 414px to 479px inclusive */
@media (min-width: 414px) and (max-width: 479px) {
    .heart-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .heart-section__container {
        gap: 32px;
        max-width: 100%;
        width: 100%;
        align-items: flex-start;
    }
    
    .heart-section__title {
        font-size: 28px;
        line-height: 40px;
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
        text-align: left;
    }
    
    .heart-section__title-line1 {
        gap: 16px;
    }
    
    .heart-section__title-line2 {
        display: block;
    }
    
    .heart-section__icon {
        width: 56px;
        height: 56px;
    }
    
    .heart-section__text {
        font-size: 16px;
        line-height: 24px;
        width: 100%;
        text-align: left;
    }
    
    .heart-section .cta-button {
        align-self: center;
    }
    
    .heart-section__text-all {
        display: none;
    }
    
    .heart-section__text-br-414-473 {
        display: inline;
    }
    
    .heart-section__text-br-desktop {
        display: none;
    }
    
    .heart-section__text-br-mobile {
        display: none !important;
    }
    
    /* Ukrainian and Russian versions: line breaks for ≤479px */
    body.lang-uk .heart-section__text-br-uk-479,
    body.lang-ru .heart-section__text-br-ru-479 {
        display: inline;
    }
    
    /* Ukrainian desktop break for ≤479px */
    body.lang-uk .heart-section__text-br-uk-desktop {
        display: none;
    }
    
    /* Russian version: line breaks for 414-499px */
    body.lang-ru .heart-section__text-br-ru-414-499 {
        display: inline;
    }
    
    /* Hide Russian desktop break for ≤479px */
    body.lang-ru .heart-section__text-br-ru-desktop {
        display: none;
    }
    
    /* Hide Polish breaks for Ukrainian and Russian on ≤479px */
    body.lang-uk .heart-section__text-br-414-473,
    body.lang-ru .heart-section__text-br-414-473 {
        display: none;
    }
    
    /* English version: different line breaks for 414-479px */
    body.lang-en .heart-section__text-br-414-473 {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-414-473 {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-desktop {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-desktop {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-480-619 {
        display: none;
    }
    
    /* Show English breaks after "appliances," and "Warsaw" for 414-479px */
    body.lang-en .heart-section__text-br-en-414-479 {
        display: inline;
    }
}

/* Polish version: same layout as 479px for 480-487px */
@media (min-width: 480px) and (max-width: 487px) {
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__container {
        gap: 32px !important;
        max-width: 100% !important;
        width: 100% !important;
        align-items: flex-start !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title {
        font-size: 28px !important;
        line-height: 40px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__title-line2 {
        display: block !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section__text {
        font-size: 16px !important;
        line-height: 24px !important;
        width: 100% !important;
        text-align: left !important;
    }
    
    body:not(.lang-en):not(.lang-uk):not(.lang-ru) .heart-section .cta-button {
        align-self: center !important;
    }
}

/* English version: same layout as 414-479px for 414-502px */
@media (min-width: 414px) and (max-width: 502px) {
    body.lang-en .heart-section__container {
        align-items: flex-start !important;
    }
    
    body.lang-en .heart-section__title {
        font-size: 28px !important;
        line-height: 40px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    body.lang-en .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-en .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-en .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-en .heart-section__text {
        font-size: 16px !important;
        line-height: 24px !important;
        width: 100% !important;
        text-align: left !important;
    }
    
    body.lang-en .heart-section .cta-button {
        align-self: center !important;
    }
}

/* English version: same layout as 502px for 503-510px */
@media (min-width: 503px) and (max-width: 510px) {
    body.lang-en .heart-section__container {
        align-items: flex-start !important;
    }
    
    body.lang-en .heart-section__title {
        font-size: 28px !important;
        line-height: 40px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    body.lang-en .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-en .heart-section__title-line2 {
        display: block !important;
    }
    
    body.lang-en .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
    
    body.lang-en .heart-section__text {
        font-size: 16px !important;
        line-height: 24px !important;
        width: 100% !important;
        text-align: left !important;
    }
    
    body.lang-en .heart-section .cta-button {
        align-self: center !important;
    }
}

/* CTA Callout Section layout for 951px down to 620px */
@media (max-width: 951px) and (min-width: 620px) {
    .cta-callout-section .heart-section__container {
        align-items: center;
    }

    .cta-callout-section .heart-section__title {
        flex-direction: column;
        align-items: center;
        gap: 0;
        text-align: center;
    }

    .cta-callout-section .heart-section__title-line1 {
        gap: 16px;
    }

    .cta-callout-section .heart-section__title-line2 {
        display: block;
    }

    .cta-callout-section .heart-section__text {
        text-align: center;
        width: 100%;
    }
    
    /* Ensure line breaks work in cta-callout-section */
    .cta-callout-section .heart-section__text-br-desktop {
        display: inline !important;
    }
    
    .cta-callout-section .heart-section__text-br-mobile {
        display: none !important;
    }
}

/* CTA Callout Section layout for Russian version on 952-1186px (same layout as 951px) */
@media (min-width: 952px) and (max-width: 1186px) {
    body.lang-ru .cta-callout-section .heart-section__container {
        align-items: center;
    }

    body.lang-ru .cta-callout-section .heart-section__title {
        flex-direction: column;
        align-items: center;
        gap: 0;
        text-align: center;
    }

    body.lang-ru .cta-callout-section .heart-section__title-line1 {
        gap: 16px;
    }

    body.lang-ru .cta-callout-section .heart-section__title-line2 {
        display: block;
    }

    body.lang-ru .cta-callout-section .heart-section__text {
        text-align: center;
        width: 100%;
    }
    
    /* Ensure line breaks work in cta-callout-section */
    body.lang-ru .cta-callout-section .heart-section__text-br-desktop {
        display: inline !important;
    }
    
    body.lang-ru .cta-callout-section .heart-section__text-br-mobile {
        display: none !important;
    }
}

/* CTA Callout Section layout for 619px and below */
@media (max-width: 619px) {
    .cta-callout-section .heart-section__container {
        align-items: flex-start;
    }

    .cta-callout-section .heart-section__title {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        text-align: left;
    }

    .cta-callout-section .heart-section__title-line1 {
        gap: 16px;
    }

    .cta-callout-section .heart-section__title-line2 {
        display: block;
    }

    .cta-callout-section .heart-section__text {
        text-align: left;
        width: 100%;
    }

    .cta-callout-section .cta-button {
        align-self: center;
    }
}

/* Heart Section for screens <414px - viewport-based scaling */
@media (max-width: 413px) {
    .heart-section {
        padding-top: 9.66vw; /* 40px at 414px */
        padding-bottom: 9.66vw;
        padding-left: 4.83vw; /* 20px at 414px */
        padding-right: 4.83vw;
    }
    
    .heart-section__container {
        gap: 7.73vw; /* 32px at 414px */
        max-width: 100%;
        width: 100%;
        align-items: flex-start;
    }
    
    .heart-section__title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
        text-align: left;
    }
    
    .heart-section__title-line1 {
        gap: 3.86vw; /* 16px at 414px */
    }
    
    .heart-section__title-line2 {
        display: block;
    }
    
    .heart-section__icon {
        width: 13.53vw; /* 56px at 414px */
        height: 13.53vw;
    }
    
    .heart-section__text {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.8vw; /* 24px at 414px */
        width: 100%;
        text-align: left;
    }
    
    .heart-section .cta-button {
        align-self: center;
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 6.76vw; /* 28px at 414px */
        padding: 4.83vw 8.7vw; /* 20px 36px at 414px */
    }
    
    /* English version: same line breaks as on 414px for <414px */
    body.lang-en .heart-section__text-br-414-473 {
        display: none !important;
    }
    
    body.lang-en .heart-section__text-br-en-414-473 {
        display: none !important;
    }
    
    body.lang-en .heart-section__text-br-desktop {
        display: none !important;
    }
    
    body.lang-en .heart-section__text-br-en-desktop {
        display: none !important;
    }
    
    body.lang-en .heart-section__text-br-en-480-619 {
        display: none !important;
    }
    
    /* Show English breaks after "appliances," and "Warsaw" for <414px (same as 414px) */
    body.lang-en .heart-section__text-br-en-414-479 {
        display: inline !important;
    }
    
    /* Ukrainian version: line breaks for <414px (same as ≤479px) */
    body.lang-uk .heart-section__text-br-uk-479 {
        display: inline !important;
    }
    
    /* Hide Ukrainian desktop break for <414px */
    body.lang-uk .heart-section__text-br-uk-desktop {
        display: none !important;
    }
    
    /* Russian version: same line breaks as on 414px for <414px */
    body.lang-ru .heart-section__text-br-ru-414-499 {
        display: inline !important;
    }
    
    /* Hide Russian desktop break for <414px */
    body.lang-ru .heart-section__text-br-ru-desktop {
        display: none !important;
    }
    
    /* Hide Russian breaks for ≤479px on <414px (use 414-499px breaks instead) */
    body.lang-ru .heart-section__text-br-ru-479 {
        display: none !important;
    }
    
    /* Hide suffix in button text for Polish, Ukrainian and Russian versions - only in heart-section, on sizes <414px */
    body:not(.lang-en) .heart-section .cta-button__text-suffix {
        display: none;
    }
    
    .heart-section__text-all {
        display: none;
    }
    
    .heart-section__text-br-414-473 {
        display: none;
    }
    
    .heart-section__text-br-small {
        display: inline;
    }
    
    .heart-section__text-br-okolic {
        display: inline;
    }
    
    .heart-section__text-br-desktop {
        display: none;
    }
    
    .heart-section__text-br-mobile {
        display: none !important;
    }
}

/* Heart Section text break for okolic on screens ≤480px */
@media (max-width: 480px) {
    .heart-section__text-br-okolic {
        display: inline;
    }
}

/* Heart Section for screens from 480px to 619px inclusive */
@media (min-width: 480px) and (max-width: 619px) {
    .heart-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .heart-section__container {
        gap: 32px;
    }
    
    .heart-section__title {
        font-size: 28px;
        line-height: 40px;
    }
    
    .heart-section__icon {
        width: 56px;
        height: 56px;
    }
    
    .heart-section__text {
        font-size: 16px;
        line-height: 24px;
    }
    
    .heart-section__text-all {
        display: none;
    }
}

/* Ukrainian version: same title layout as 479px for 480-574px */
@media (min-width: 480px) and (max-width: 574px) {
    body.lang-uk .heart-section__title {
        font-size: 28px !important;
        line-height: 40px !important;
        flex-direction: column !important;
        gap: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    
    body.lang-uk .heart-section__title-line1 {
        gap: 16px !important;
    }
    
    body.lang-uk .heart-section__title-line2 {
        display: block !important;
        text-align: center !important;
        width: 100% !important;
        align-self: center !important;
    }
    
    body.lang-uk .heart-section__icon {
        width: 56px !important;
        height: 56px !important;
    }
}

/* Hide suffix for English in heart-section - always hidden for all screen sizes */
body.lang-en .heart-section .cta-button__text-suffix {
    display: none !important;
}

/* Heart Section button for screens 414px-619px - same as benefit-section */
@media (min-width: 414px) and (max-width: 619px) {
    .heart-section .cta-button {
        font-size: 16px;
        line-height: 28px;
        padding: 20px 36px;
        height: 68px;
    }
    
    /* Hide suffix in button text for Polish, Ukrainian and Russian versions - only in heart-section, on specific sizes */
    body:not(.lang-en) .heart-section .cta-button__text-suffix {
        display: none;
    }
    
    .heart-section__text-all {
        display: none;
    }
    
    .heart-section__text-br-desktop {
        display: none;
    }
    
    .heart-section__text-br-mobile {
        display: inline;
    }
}


/* Heart Section text line breaks for screens >619px */
@media (min-width: 620px) {
    .heart-section__text-br-desktop {
        display: inline;
    }
    
    .heart-section__text-br-mobile {
        display: none;
    }
    
    .heart-section__text-br-414-473 {
        display: none;
    }
    
    /* Ukrainian version: line break after "моделі" for ≥480px */
    body.lang-uk .heart-section__text-br-uk-desktop {
        display: inline;
    }
    
    /* Hide Ukrainian breaks for ≤479px on ≥620px */
    body.lang-uk .heart-section__text-br-uk-479 {
        display: none !important;
    }
    
    /* English version: different line breaks */
    body.lang-en .heart-section__text-br-desktop {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-desktop {
        display: inline;
    }
    
    body.lang-en .heart-section__text-br-414-473 {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-414-473 {
        display: none;
    }
    
    /* Hide 480-619px breaks on ≥620px */
    body.lang-en .heart-section__text-br-en-480-619 {
        display: none !important;
    }
    
    /* Hide 414-479px breaks on ≥620px */
    body.lang-en .heart-section__text-br-en-414-479 {
        display: none !important;
    }
    
    /* Ukrainian version: line break after "моделі" for ≥480px */
    body.lang-uk .heart-section__text-br-uk-desktop {
        display: inline;
    }
    
    /* Russian version: line break after "модели" for ≥500px */
    body.lang-ru .heart-section__text-br-ru-desktop {
        display: inline;
    }
    
    /* Hide Russian breaks for 414-499px on ≥500px */
    body.lang-ru .heart-section__text-br-ru-414-499 {
        display: none !important;
    }
    
    /* Hide line break after "предлагая" in Russian CTA callout text on 620-694px */
    @media (min-width: 620px) and (max-width: 694px) {
        body.lang-ru .cta-callout-section .heart-section__text-br-desktop {
            display: none !important;
        }
    }
    
    /* Hide Ukrainian and Russian breaks for ≤479px on ≥620px */
    body.lang-uk .heart-section__text-br-uk-479,
    body.lang-ru .heart-section__text-br-ru-479 {
        display: none !important;
    }
}

/* Heart Section text line breaks for screens 480px-619px */
@media (min-width: 480px) and (max-width: 619px) {
    .heart-section__text-br-414-473 {
        display: none;
    }
    
    /* Ukrainian version: line break after "моделі" for 480-619px */
    body.lang-uk .heart-section__text-br-uk-desktop {
        display: inline;
    }
    
    /* Russian version: line break after "модели" for 500-619px */
    @media (min-width: 500px) {
        body.lang-ru .heart-section__text-br-ru-desktop {
            display: inline;
        }
        /* Hide Russian breaks for 414-499px on ≥500px */
        body.lang-ru .heart-section__text-br-ru-414-499 {
            display: none !important;
        }
    }
    
    /* Russian version: line breaks for 414-499px */
    @media (min-width: 414px) and (max-width: 499px) {
        body.lang-ru .heart-section__text-br-ru-414-499 {
            display: inline !important;
        }
        body.lang-ru .heart-section__text-br-ru-desktop {
            display: none !important;
        }
    }
    
    /* Russian version: same title layout as 479px for 480-577px */
    @media (min-width: 480px) and (max-width: 577px) {
        body.lang-ru .heart-section__container {
            gap: 32px !important;
            max-width: 100% !important;
            width: 100% !important;
            align-items: flex-start !important;
        }
        
        body.lang-ru .heart-section__title {
            font-size: 28px !important;
            line-height: 40px !important;
            flex-direction: column !important;
            gap: 0 !important;
            align-items: flex-start !important;
            text-align: left !important;
        }
        
        body.lang-ru .heart-section__title-line1 {
            gap: 16px !important;
        }
        
        body.lang-ru .heart-section__title-line2 {
            display: block !important;
        }
        
        body.lang-ru .heart-section__icon {
            width: 56px !important;
            height: 56px !important;
        }
        
        body.lang-ru .heart-section__text {
            font-size: 16px !important;
            line-height: 24px !important;
            width: 100% !important;
            text-align: left !important;
        }
        
        body.lang-ru .heart-section .cta-button {
            align-self: center !important;
        }
    }
    
    /* Russian version: center alignment for 500-577px */
    @media (min-width: 500px) and (max-width: 577px) {
        body.lang-ru .heart-section__container {
            align-items: center !important;
        }
        
        body.lang-ru .heart-section__title {
            align-items: center !important;
            text-align: center !important;
        }
        
        body.lang-ru .heart-section__text {
            text-align: center !important;
        }
    }
    
    /* Hide Ukrainian breaks for ≤479px on 480-619px */
    body.lang-uk .heart-section__text-br-uk-479 {
        display: none !important;
    }
    
    /* Hide Russian breaks for ≤479px on 480-619px */
    body.lang-ru .heart-section__text-br-ru-479 {
        display: none !important;
    }
    
    /* English version: line breaks after "regardless" and "surrounding" */
    body.lang-en .heart-section__text-br-en-480-619 {
        display: inline;
    }
    
    body.lang-en .heart-section__text-br-en-414-473 {
        display: none;
    }
    
    body.lang-en .heart-section__text-br-en-desktop {
        display: none;
    }
    
    /* Hide 414-479px breaks on 480-619px */
    body.lang-en .heart-section__text-br-en-414-479 {
        display: none !important;
    }
}

/* Footer */
.footer {
    background: #ffffff;
    padding: 80px 48px 32px;
}

.footer__container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

.footer__logo {
    display: block;
    text-decoration: none;
}

.footer__logo:hover {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.footer__logo-img {
    width: 210px;
    height: 32px;
    display: block;
}

.footer__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 12px;
    background: transparent;
    flex-wrap: wrap;
    position: relative;
}

.footer__menu-link {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #141000;
    text-decoration: none;
    padding: 10px 24px;
    border-radius: 9999px;
    position: relative;
    z-index: 1;
}

/* Use Noto Sans for Ukrainian and Russian languages in footer menu */
body.lang-uk .footer__menu-link[data-i18n],
body.lang-ru .footer__menu-link[data-i18n] {
    font-family: 'Noto Sans', sans-serif;
    font-size: 14.5px;
}

.footer__menu-divider {
    width: 0;
    height: 12px;
    border-left: 1px solid rgba(20, 16, 0, 0.2);
    display: block;
}

.footer__menu-indicator {
    position: absolute;
    background: var(--color-menu-active);
    border-radius: 9999px;
    opacity: 0;
    transform: scale(0);
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
    z-index: 0;
}

.footer__menu-indicator.first-hover {
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
    transform: scale(1) !important;
}

.footer__menu-indicator.sliding {
    transition: left 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                width 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1),
                opacity 0.3s ease;
    transform: scale(1);
}

.footer__bottom {
    width: 100%;
    padding-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
}

.footer__copyright {
    margin: 0;
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    line-height: 18px;
    color: #717680;
}

/* Ensure Ukrainian and Russian footer copyright and links use Sora font and same size as English */
body.lang-uk .footer__copyright,
body.lang-ru .footer__copyright,
body.lang-uk .footer__link,
body.lang-ru .footer__link {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
}

.footer__links {
    display: flex;
    align-items: center;
    gap: 24px;
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    line-height: 18px;
    color: #717680;
}

.footer__link {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s ease;
}

.footer__link:hover {
    color: #141000;
}

.footer__links-divider {
    color: #C5C7CD;
}

.footer__bottom::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    background: #E9EAEB;
    transform: translateX(-50%);
}

@media (max-width: 737px) {
    .footer {
        padding: 64px 40px 40px;
    }

    .footer__container {
        align-items: flex-start;
    }

    .footer__menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
        justify-items: flex-start;
        gap: 16px 24px;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .footer__menu-link {
        padding-left: 0;
        padding-right: 0;
        font-size: 14px;
        line-height: 22px;
    }
    
    /* Ukrainian and Russian footer menu: font size +0.5px */
    body.lang-uk .footer__menu-link[data-i18n],
    body.lang-ru .footer__menu-link[data-i18n] {
        font-size: 14.5px;
    }

    .footer__menu-link::after {
        display: none;
    }

    .footer__menu-link:active {
        font-weight: 500;
    }

    .footer__menu-indicator,
    .footer__menu-indicator.first-hover,
    .footer__menu-indicator.sliding {
        display: none !important;
        opacity: 0 !important;
        transform: scale(0) !important;
        visibility: hidden !important;
    }

    .footer__menu-divider {
        display: none;
    }

    .footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Disable hover effects on touch devices for footer menu */
@media (hover: none) and (pointer: coarse) {
    .footer__menu-indicator,
    .footer__menu-indicator.first-hover,
    .footer__menu-indicator.sliding {
        display: none !important;
        opacity: 0 !important;
        transform: scale(0) !important;
        visibility: hidden !important;
    }
}

@media (max-width: 619px) {
    .footer {
        padding: 64px 20px 40px;
    }
}

@media (max-width: 440px) {
    .footer__menu-link {
        padding-top: 4px;
        padding-bottom: 4px;
    }
}

@media (max-width: 414px) {
    .footer {
        padding: 64px 20px 40px;
    }

    .footer__container {
        gap: 32px;
    }

    .footer__logo-img {
        width: 210px;
        height: 32px;
    }

    .footer__menu {
        gap: 16px 24px;
        padding: 8px 0;
    }

    .footer__menu-link {
        padding-top: 4px;
        padding-bottom: 4px;
        font-size: 14px;
        line-height: 22px;
    }
    
    /* Ukrainian and Russian footer menu: font size +0.5px */
    body.lang-uk .footer__menu-link[data-i18n],
    body.lang-ru .footer__menu-link[data-i18n] {
        font-size: 14.5px;
    }

    .footer__bottom {
        padding-top: 32px;
        gap: 24px;
    }

    .footer__copyright {
        font-size: 14px;
        line-height: 18px;
    }
    
    /* Ukrainian and Russian footer copyright and links: same size as English */
    body.lang-uk .footer__copyright,
    body.lang-ru .footer__copyright,
    body.lang-uk .footer__link,
    body.lang-ru .footer__link {
        font-size: 14px;
    }

    .footer__links {
        gap: 24px;
        font-size: 14px;
        line-height: 18px;
    }
}

@media (max-width: 413px) {
    .footer {
        padding: 15.50vw 4.83vw 9.66vw; /* 64px 20px 40px at 414px */
    }

    .footer__container {
        gap: 7.73vw; /* 32px at 414px */
    }

    .footer__logo-img {
        width: 50.72vw; /* 210px at 414px */
        height: 7.73vw; /* 32px at 414px */
    }

    .footer__menu {
        gap: 3.86vw 5.80vw; /* 16px 24px at 414px */
        padding: 1.93vw 0; /* 8px 0 at 414px */
    }

    .footer__menu-link {
        padding-top: 0.97vw; /* 4px at 414px */
        padding-bottom: 0.97vw; /* 4px at 414px */
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 5.31vw; /* 22px at 414px */
    }
    
    /* Ukrainian and Russian footer menu: font size +0.5px (3.62vw at 414px) */
    body.lang-uk .footer__menu-link[data-i18n],
    body.lang-ru .footer__menu-link[data-i18n] {
        font-size: 3.62vw; /* 14.5px at 414px */
    }

    .footer__bottom {
        padding-top: 7.73vw; /* 32px at 414px */
        gap: 5.80vw; /* 24px at 414px */
    }

    .footer__copyright {
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.35vw; /* 18px at 414px */
    }
    
    /* Ukrainian and Russian footer copyright and links: same size as English (3.38vw at 414px) */
    body.lang-uk .footer__copyright,
    body.lang-ru .footer__copyright,
    body.lang-uk .footer__link,
    body.lang-ru .footer__link {
        font-size: 3.38vw; /* 14px at 414px */
    }

    .footer__links {
        gap: 5.80vw; /* 24px at 414px */
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.35vw; /* 18px at 414px */
    }
}

/* Delivery Area Section */
.delivery-area-section {
    padding-top: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
}

.delivery-area-container {
    max-width: 1440px;
    margin: 0 auto;
}

.delivery-area {
    background-color: #f9fafa;
    border-radius: 24px;
    padding-top: calc(var(--delivery-area-vw) * 0.038889);
    padding-right: calc(var(--delivery-area-vw) * 0.063889);
    padding-bottom: calc(var(--delivery-area-vw) * 0.05);
    padding-left: calc(var(--delivery-area-vw) * 0.063889);
    display: flex;
    gap: calc(var(--delivery-area-vw) * 0.159028);
    align-items: center;
    position: relative;
}

.delivery-area__content {
    display: flex;
    flex-direction: column;
    gap: calc(var(--delivery-area-vw) * 0.027778);
    width: calc(var(--delivery-area-vw) * 0.324306);
}

.delivery-area__heading {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: calc(var(--delivery-area-vw) * 0.315972);
}

.delivery-area__location {
    display: flex;
    gap: calc(var(--delivery-area-vw) * 0.011111);
    align-items: center;
}

.delivery-area__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: calc(var(--delivery-area-vw) * 0.038889);
    line-height: calc(var(--delivery-area-vw) * 0.05);
    color: #141000;
    margin: 0;
}

.delivery-area__icon {
    width: calc(var(--delivery-area-vw) * 0.044444);
    height: calc(var(--delivery-area-vw) * 0.044444);
    display: block;
    flex-shrink: 0;
}

.delivery-area__subtitle {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: calc(var(--delivery-area-vw) * 0.029167);
    line-height: calc(var(--delivery-area-vw) * 0.033333);
    color: #141000;
    margin: 0;
}

/* English version: prevent text wrapping for subtitle */
body.lang-en .delivery-area__subtitle {
    white-space: nowrap !important;
    min-width: max-content !important;
}

/* Ukrainian and Russian versions: prevent text wrapping for subtitle */
body.lang-uk .delivery-area__subtitle,
body.lang-ru .delivery-area__subtitle {
    white-space: nowrap !important;
    min-width: max-content !important;
}

/* Russian version: allow line break on ≤446px */
@media (max-width: 446px) {
    body.lang-ru .delivery-area__subtitle {
        white-space: normal !important;
    }
    
    body.lang-ru .delivery-area__subtitle-br-ru-446 {
        display: inline !important;
    }
}

/* Hide line break for Russian version on >446px */
@media (min-width: 447px) {
    body.lang-ru .delivery-area__subtitle-br-ru-446 {
        display: none !important;
    }
}

/* Russian version: line break after "город" for 415-1139px */
@media (min-width: 415px) and (max-width: 1139px) {
    body.lang-ru .delivery-area__description-br-ru-415-1139 {
        display: inline !important;
    }
    
    /* Remove space before break on these sizes */
    body.lang-ru .delivery-area__description-br-ru-415-1139::before {
        content: '';
    }
}

/* Hide line break for Russian version outside 415-1139px */
@media (max-width: 414px),
       (min-width: 1140px) {
    body.lang-ru .delivery-area__description-br-ru-415-1139 {
        display: none !important;
    }
}

/* Ukrainian version: line break after "місто" for ≤426px */
@media (max-width: 426px) {
    body.lang-uk .delivery-area__description-br-uk-426 {
        display: inline !important;
    }
    
    /* No space before "є" when break is active (≤426px) */
    body.lang-uk .delivery-area__description-space-uk-426::before {
        content: '' !important;
    }
}

/* Hide line break for Ukrainian version on >426px */
@media (min-width: 427px) {
    body.lang-uk .delivery-area__description-br-uk-426 {
        display: none !important;
    }
    
    /* Add space before "є" when break is hidden (>426px) */
    body.lang-uk .delivery-area__description-space-uk-426::before {
        content: ' ' !important;
    }
}

/* Ukrainian and Russian versions: replace Sora font with Noto Sans for delivery area */
body.lang-uk .delivery-area__description,
body.lang-ru .delivery-area__description,
body.lang-uk .delivery-area__search-input,
body.lang-ru .delivery-area__search-input,
body.lang-uk .delivery-area__city-label,
body.lang-ru .delivery-area__city-label,
body.lang-uk .delivery-area__radius-label,
body.lang-ru .delivery-area__radius-label,
body.lang-uk .delivery-area__dropdown-item,
body.lang-ru .delivery-area__dropdown-item,
body.lang-uk .delivery-area__toast-subtitle,
body.lang-ru .delivery-area__toast-subtitle {
    font-family: 'Noto Sans', sans-serif !important;
}

.delivery-area__description-search {
    display: flex;
    flex-direction: column;
    gap: calc(var(--delivery-area-vw) * 0.022222);
    width: 100%;
}

.delivery-area__description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: calc(var(--delivery-area-vw) * 0.0125);
    line-height: calc(var(--delivery-area-vw) * 0.019444);
    color: #141000;
    margin: 0;
    white-space: pre-wrap;
}

.delivery-area__search-wrapper {
    position: relative;
    width: 100%;
}

.delivery-area__search {
    border: 2px solid #141000;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(var(--delivery-area-vw) * 0.011111) calc(var(--delivery-area-vw) * 0.016667);
    width: 100%;
}

.delivery-area__search-input {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: calc(var(--delivery-area-vw) * 0.0125);
    line-height: calc(var(--delivery-area-vw) * 0.019444);
    color: #141000;
    border: none;
    outline: none;
    background: transparent;
    flex: 1;
    padding: 0;
}

.delivery-area__search-input::placeholder {
    color: grey;
}

.delivery-area__search-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.delivery-area__search-icon-img {
    width: calc(var(--delivery-area-vw) * 0.016667);
    height: calc(var(--delivery-area-vw) * 0.016667);
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.delivery-area__search-icon-img.animate {
    animation: searchIconPulse 1.5s ease-in-out infinite;
}

@keyframes searchIconPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

.delivery-area__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    background: white;
    border: 1px solid #d1d6d2;
    border-radius: calc(var(--delivery-area-vw) * 0.016667);
    padding: calc(var(--delivery-area-vw) * 0.011111) calc(var(--delivery-area-vw) * 0.016667);
    display: none;
    flex-direction: column;
    gap: calc(var(--delivery-area-vw) * 0.008333);
    z-index: 10;
    max-height: calc(var(--delivery-area-vw) * 0.208333);
    overflow-y: auto;
}

.delivery-area__dropdown.show {
    display: flex;
}

.delivery-area__dropdown.single-result {
    border-radius: 999px;
}

.delivery-area__dropdown-item {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: calc(var(--delivery-area-vw) * 0.0125);
    line-height: calc(var(--delivery-area-vw) * 0.019444);
    color: #141000;
    cursor: pointer;
    padding: 0;
    background: none;
    border: none;
    text-align: left;
    transition: opacity 0.2s;
}

.delivery-area__dropdown-item:hover {
    opacity: 0.7;
}

.delivery-area__toast {
    position: absolute;
    right: calc(var(--delivery-area-vw) * 0.019444);
    bottom: calc(var(--delivery-area-vw) * 0.019444);
    display: flex;
    align-items: center;
    gap: calc(var(--delivery-area-vw) * 0.038889);
    padding: calc(var(--delivery-area-vw) * 0.013889) calc(var(--delivery-area-vw) * 0.016667);
    padding-left: calc(var(--delivery-area-vw) * 0.013889);
    background: #1c1b19;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 24px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
    min-width: calc(var(--delivery-area-vw) * 0.25);
    opacity: 0;
    transform: translateY(24px);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 5;
}

.delivery-area__toast--visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.delivery-area__toast-main {
    display: flex;
    align-items: center;
    gap: calc(var(--delivery-area-vw) * 0.011111);
}

.delivery-area__toast-icon-bg {
    width: calc(var(--delivery-area-vw) * 0.044444);
    height: calc(var(--delivery-area-vw) * 0.044444);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.delivery-area__toast-icon {
    width: calc(var(--delivery-area-vw) * 0.044444);
    height: calc(var(--delivery-area-vw) * 0.044444);
    border-radius: 50%;
    overflow: hidden;
}

.delivery-area__toast-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.delivery-area__toast-icon img {
    width: 100%;
    height: 100%;
    display: block;
}

.delivery-area__toast-icon--error {
    display: none;
}

.delivery-area__toast--error .delivery-area__toast-icon--error {
    display: block;
}

.delivery-area__toast--error .delivery-area__toast-icon--success {
    display: none;
}

.delivery-area__toast-message {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.delivery-area__toast-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: calc(var(--delivery-area-vw) * 0.0125);
    line-height: calc(var(--delivery-area-vw) * 0.016667);
    color: #fcfffd;
    margin: 0;
}

.delivery-area__toast-subtitle {
    font-family: 'Sora', sans-serif;
    font-weight: 300;
    font-size: calc(var(--delivery-area-vw) * 0.009722);
    line-height: calc(var(--delivery-area-vw) * 0.0125);
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.delivery-area__toast-actions {
    display: flex;
    align-items: center;
}

.delivery-area__toast--error .delivery-area__toast-subtitle {
    color: rgba(255, 255, 255, 0.9);
}

.cta-button--toast {
    padding: 16px 32px;
    background: #ffffff;
}

.cta-button--toast .cta-button__text--original {
    font-weight: 400;
}

.delivery-area__toast .cta-button__text--original,
.delivery-area__toast .cta-button__text--hover {
    color: #141000;
}

@media (max-width: 1023px) {
    .delivery-area__toast {
        right: 28px;
        bottom: 28px;
        min-width: auto;
        max-width: calc(100% - 56px);
    }
}

.delivery-area__visual {
    position: relative;
    flex-shrink: 0;
    width: calc(var(--delivery-area-vw) * 0.291667);
    height: calc(var(--delivery-area-vw) * 0.291667);
}

.delivery-area__map {
    position: relative;
    width: 100%;
    height: 100%;
}

@keyframes mapPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.92);
    }
}

.delivery-area__map-outer {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    transform-origin: center center;
    animation: mapPulse 3s ease-in-out infinite;
}

.delivery-area__map-inner {
    position: absolute;
    width: 101.42%;
    height: 101.42%;
    top: -0.71%;
    left: -0.71%;
    z-index: 2;
    transform-origin: center center;
    animation: mapPulse 3s ease-in-out infinite;
}

.delivery-area__city-label {
    position: absolute;
    background-color: white;
    border: 1px solid #141000;
    border-radius: 9999px;
    padding: calc(var(--delivery-area-vw) * 0.006944) calc(var(--delivery-area-vw) * 0.016667);
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: calc(var(--delivery-area-vw) * 0.0125);
    line-height: calc(var(--delivery-area-vw) * 0.019444);
    color: #141000;
    left: calc(var(--delivery-area-vw) * 0.095139);
    top: calc(var(--delivery-area-vw) * 0.168056);
    width: calc(var(--delivery-area-vw) * 0.102778);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--delivery-area-vw) * 0.005556);
    z-index: 3;
}

.delivery-area__radius-label {
    position: absolute;
    background-color: white;
    border: 1px solid #141000;
    border-radius: 9999px;
    padding: calc(var(--delivery-area-vw) * 0.00625) calc(var(--delivery-area-vw) * 0.0125) calc(var(--delivery-area-vw) * 0.004861);
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: calc(var(--delivery-area-vw) * 0.011111);
    line-height: calc(var(--delivery-area-vw) * 0.016667);
    color: #141000;
    left: calc(var(--delivery-area-vw) * 0.258333);
    top: calc(var(--delivery-area-vw) * 0.13125);
    width: calc(var(--delivery-area-vw) * 0.063889);
    height: calc(var(--delivery-area-vw) * 0.029167);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--delivery-area-vw) * 0.005556);
    z-index: 3;
    transform-origin: calc(210px - 372px) calc(210px - 189px);
    animation: mapPulse 3s ease-in-out infinite;
}

.delivery-area__center-point {
    position: absolute;
    left: calc(var(--delivery-area-vw) * 0.116667);
    top: calc(var(--delivery-area-vw) * 0.101389);
    width: calc(var(--delivery-area-vw) * 0.058333);
    height: calc(var(--delivery-area-vw) * 0.058333);
    z-index: 4;
}

@keyframes pulseWave {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.16;
    }
    50% {
        opacity: 0.08;
    }
    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}

@keyframes pulseWaveMedium {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    50% {
        opacity: 0.25;
    }
    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}

.delivery-area__center-circle {
    position: absolute;
    background-color: #c4dfff;
    border-radius: 50px;
}

.delivery-area__center-circle--low {
    width: calc(var(--delivery-area-vw) * 0.058333);
    height: calc(var(--delivery-area-vw) * 0.058333);
    opacity: 0.16;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: pulseWave 2s ease-out infinite;
}

.delivery-area__center-circle--medium {
    width: calc(var(--delivery-area-vw) * 0.038889);
    height: calc(var(--delivery-area-vw) * 0.038889);
    opacity: 0.5;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: pulseWaveMedium 2s ease-out infinite 0.3s;
}

.delivery-area__center-circle--high {
    width: calc(var(--delivery-area-vw) * 0.019444);
    height: calc(var(--delivery-area-vw) * 0.019444);
    border: 2px solid #141000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    position: relative;
}

@keyframes wavePulse {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0;
    }
}

.delivery-area__wave {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(var(--delivery-area-vw) * 0.019444);
    height: calc(var(--delivery-area-vw) * 0.019444);
    border: 2px solid #c4dfff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: wavePulse 2s ease-out infinite;
}

.delivery-area__wave--1 {
    animation-delay: 0s;
}

.delivery-area__wave--2 {
    animation-delay: 0.7s;
}

.delivery-area__wave--3 {
    animation-delay: 1.4s;
}

@media (max-width: 1139px) and (min-width: 993px) {
    .delivery-area {
        padding-top: 56px;
        padding-bottom: clamp(56px, calc(56px + (100vw - 993px) * 8 / 146), 64px);
        padding-left: clamp(48px, calc(48px + (100vw - 993px) * 16 / 146), 64px);
        padding-right: clamp(24px, calc(24px + (100vw - 993px) * 8 / 146), 32px);
        gap: clamp(48px, calc(48px + (100vw - 993px) * 80 / 146), 128px);
    }

    .delivery-area__content {
        gap: clamp(32px, calc(32px + (100vw - 993px) * 8 / 146), 40px);
        width: clamp(374px, calc(374px + (100vw - 993px) * 46 / 146), 420px);
    }

    .delivery-area__heading {
        width: clamp(374px, calc(374px + (100vw - 993px) * 46 / 146), 420px);
        gap: clamp(8px, calc(8px + (100vw - 993px) * 8 / 146), 16px);
    }

    .delivery-area__description-search {
        gap: 32px;
        width: 100%;
    }

    .delivery-area__description,
    .delivery-area__search-wrapper {
        width: clamp(374px, calc(374px + (100vw - 993px) * 46 / 146), 420px);
    }

    .delivery-area__title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }

    .delivery-area__subtitle {
        font-size: clamp(32px, calc(32px + (100vw - 993px) * 4 / 146), 36px);
        line-height: clamp(40px, calc(40px + (100vw - 993px) * 4 / 146), 44px);
    }

    .delivery-area__description {
        font-size: clamp(16px, calc(16px + (100vw - 993px) * 2 / 146), 18px);
        line-height: clamp(24px, calc(24px + (100vw - 993px) * 4 / 146), 28px);
    }

    .delivery-area__search {
        padding: clamp(14px, calc(14px + (100vw - 993px) * 2 / 146), 16px) clamp(20px, calc(20px + (100vw - 993px) * 4 / 146), 24px);
    }

    .delivery-area__search-input {
        font-size: clamp(16px, calc(16px + (100vw - 993px) * 2 / 146), 18px);
        line-height: clamp(24px, calc(24px + (100vw - 993px) * 4 / 146), 28px);
    }

    .delivery-area__dropdown {
        padding: clamp(14px, calc(14px + (100vw - 993px) * 2 / 146), 16px) clamp(20px, calc(20px + (100vw - 993px) * 4 / 146), 24px);
    }

    .delivery-area__dropdown-item {
        font-size: clamp(16px, calc(16px + (100vw - 993px) * 2 / 146), 18px);
        line-height: clamp(24px, calc(24px + (100vw - 993px) * 4 / 146), 28px);
    }

    .delivery-area__visual {
        width: clamp(343.966px, calc(343.966px + (100vw - 993px) * 18.103 / 146), 362.069px);
        height: clamp(343.966px, calc(343.966px + (100vw - 993px) * 18.103 / 146), 362.069px);
    }

    .delivery-area__city-label {
        left: clamp(112.2px, calc(112.2px + (100vw - 993px) * 5.9 / 146), 118.1px);
        top: clamp(198.19px, calc(198.19px + (100vw - 993px) * 10.43 / 146), 208.62px);
        width: clamp(121.207px, calc(121.207px + (100vw - 993px) * 6.379 / 146), 127.586px);
        height: clamp(39.31px, calc(39.31px + (100vw - 993px) * 2.069 / 146), 41.379px);
        padding: clamp(8.19px, calc(8.19px + (100vw - 993px) * 0.431 / 146), 8.621px) clamp(19.655px, calc(19.655px + (100vw - 993px) * 1.035 / 146), 20.69px);
        font-size: clamp(14.741px, calc(14.741px + (100vw - 993px) * 0.776 / 146), 15.517px);
        line-height: clamp(22.931px, calc(22.931px + (100vw - 993px) * 1.207 / 146), 24.138px);
    }

    .delivery-area__radius-label {
        left: clamp(304.65px, calc(304.65px + (100vw - 993px) * 16.04 / 146), 320.69px);
        top: clamp(154.78px, calc(154.78px + (100vw - 993px) * 8.15 / 146), 162.93px);
        width: clamp(75.345px, calc(75.345px + (100vw - 993px) * 3.965 / 146), 79.31px);
        height: clamp(34.397px, calc(34.397px + (100vw - 993px) * 1.81 / 146), 36.207px);
        padding: clamp(7.371px, calc(7.371px + (100vw - 993px) * 0.388 / 146), 7.759px) clamp(14.741px, calc(14.741px + (100vw - 993px) * 0.776 / 146), 15.517px) clamp(5.733px, calc(5.733px + (100vw - 993px) * 0.301 / 146), 6.034px);
        font-size: clamp(13.103px, calc(13.103px + (100vw - 993px) * 0.69 / 146), 13.793px);
        line-height: clamp(19.655px, calc(19.655px + (100vw - 993px) * 1.035 / 146), 20.69px);
    }

    .delivery-area__center-point {
        left: clamp(137.59px, calc(137.59px + (100vw - 993px) * 7.24 / 146), 144.83px);
        top: clamp(119.57px, calc(119.57px + (100vw - 993px) * 6.29 / 146), 125.86px);
        width: clamp(68.793px, calc(68.793px + (100vw - 993px) * 3.621 / 146), 72.414px);
        height: clamp(68.793px, calc(68.793px + (100vw - 993px) * 3.621 / 146), 72.414px);
    }

    .delivery-area__center-circle--low {
        width: clamp(68.793px, calc(68.793px + (100vw - 993px) * 3.621 / 146), 72.414px);
        height: clamp(68.793px, calc(68.793px + (100vw - 993px) * 3.621 / 146), 72.414px);
    }

    .delivery-area__center-circle--medium {
        width: clamp(45.862px, calc(45.862px + (100vw - 993px) * 2.414 / 146), 48.276px);
        height: clamp(45.862px, calc(45.862px + (100vw - 993px) * 2.414 / 146), 48.276px);
    }

    .delivery-area__center-circle--high,
    .delivery-area__wave {
        width: clamp(22.931px, calc(22.931px + (100vw - 993px) * 1.207 / 146), 24.138px);
        height: clamp(22.931px, calc(22.931px + (100vw - 993px) * 1.207 / 146), 24.138px);
    }

    .delivery-area__toast {
        right: 28px;
        bottom: 28px;
        gap: 56px;
        padding: 20px 24px 20px 20px;
        min-width: 360px;
    }

    .delivery-area__toast-main {
        gap: 16px;
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 64px;
        height: 64px;
    }

    .delivery-area__toast-title {
        font-size: 18px;
        line-height: 24px;
    }

    .delivery-area__toast-subtitle {
        font-size: 14px;
        line-height: 18px;
    }
}

@media (max-width: 919px) {
    .delivery-area {
        flex-direction: column;
        align-items: center;
        gap: 56px;
    }
}

@media (max-width: 619px) {
    .delivery-area-section {
        padding: 40px 20px;
    }

    .delivery-area {
        padding: 48px;
        gap: 48px;
        background-color: #F4F8F8;
    }

    .delivery-area__content {
        gap: 24px;
        width: 100%;
    }

    .delivery-area__heading {
        gap: 4px;
        width: 100%;
    }

    .delivery-area__location {
        gap: 16px;
    }

    .delivery-area__title {
        font-size: 28px;
        line-height: 40px;
    }

    .delivery-area__icon {
        width: 56px;
        height: 56px;
    }

    .delivery-area__subtitle {
        font-size: 24px;
        line-height: 32px;
    }

    .delivery-area__description-search {
        gap: 32px;
        width: 100%;
    }

    .delivery-area__description {
        font-size: 16px;
        line-height: 24px;
        width: 374px;
    }

    .delivery-area__search-wrapper {
        width: 100%;
    }

    .delivery-area__search {
        padding: 14px 20px;
        border-width: 2px;
        width: 100%;
    }

    .delivery-area__search-input {
        font-size: 16px;
        line-height: 24px;
    }

    .delivery-area__search-icon-img svg path {
        stroke-width: 2;
    }

    .delivery-area__visual {
        width: 343.966px;
        height: 343.966px;
        margin: 0 auto;
    }

    .delivery-area {
        flex-direction: column;
        position: relative;
    }

    .delivery-area__toast {
        position: absolute;
        right: 12px;
        bottom: 12px;
        left: 12px;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 20px;
        width: auto;
        min-width: auto;
        max-width: none;
    }

    .delivery-area__toast-main {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 64px;
        height: 64px;
    }

    .delivery-area__toast-message {
        text-align: center;
    }

    .delivery-area__toast-actions {
        width: 100%;
    }

    .delivery-area__toast .cta-button {
        width: 100%;
    }
}

@media (max-width: 512px) {
    .delivery-area {
        padding: 24px;
        gap: 40px;
    }

    .delivery-area__content {
        gap: 16px;
    }

    .delivery-area__heading {
        gap: 2px;
    }

    .delivery-area__description-search {
        gap: 32px;
    }
}

@media (max-width: 460px) {
    .delivery-area__description {
        width: 100%;
    }
}

@media (min-width: 414px) and (max-width: 480px) {
    .delivery-area__visual {
        width: 326px;
        height: 326px;
        margin: 0 auto;
    }

    .delivery-area__city-label {
        left: 106.4px;
        top: 187.9px;
    }

    .delivery-area__radius-label {
        left: 288.8px;
        top: 146.7px;
    }

    .delivery-area__center-point {
        left: 130.4px;
        top: 113.4px;
    }

    .delivery-area__center-circle--low {
        width: 65px;
        height: 65px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .delivery-area__center-circle--medium {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .delivery-area__center-circle--high,
    .delivery-area__wave {
        left: 50%;
        top: 50%;
    }

    .delivery-area__toast-actions {
        width: 100%;
    }

    .delivery-area__toast .cta-button {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
}

@media (max-width: 992px) {
    .delivery-area {
        padding: 56px 48px;
        gap: 32px;
    }

    .delivery-area__content {
        gap: 32px;
        width: 374px;
    }

    .delivery-area__heading {
        width: 374px;
        gap: 8px;
    }

    .delivery-area__title {
        font-size: 40px;
        line-height: 48px;
    }

    .delivery-area__subtitle {
        font-size: 32px;
        line-height: 40px;
    }

    .delivery-area__description-search {
        gap: 32px;
    }

    .delivery-area__description,
    .delivery-area__search-wrapper {
        width: 374px;
    }

    .delivery-area__description {
        font-size: 16px;
        line-height: 24px;
    }

    .delivery-area__search {
        padding: 14px 20px;
    }

    .delivery-area__search-input {
        font-size: 16px;
        line-height: 24px;
    }

    .delivery-area__dropdown {
        padding: 14px 20px;
    }

    .delivery-area__dropdown-item {
        font-size: 16px;
        line-height: 24px;
    }

    .delivery-area__visual {
        width: 343.966px;
        height: 343.966px;
    }

    .delivery-area__city-label {
        left: 112.2px;
        top: 198.19px;
        width: 121.207px;
        height: 39.31px;
        padding: 8.19px 19.655px;
        font-size: 14.741px;
        line-height: 22.931px;
    }

    .delivery-area__radius-label {
        left: 304.65px;
        top: 154.78px;
        width: 75.345px;
        height: 34.397px;
        padding: 7.371px 14.741px 5.733px;
        font-size: 13.103px;
        line-height: 19.655px;
    }

    .delivery-area__center-point {
        left: 137.59px;
        top: 119.57px;
        width: 68.793px;
        height: 68.793px;
    }

    .delivery-area__center-circle--low {
        width: 68.793px;
        height: 68.793px;
    }

    .delivery-area__center-circle--medium {
        width: 45.862px;
        height: 45.862px;
    }

    .delivery-area__center-circle--high,
    .delivery-area__wave {
        width: 22.931px;
        height: 22.931px;
    }

    .delivery-area__toast {
        right: 28px;
        bottom: 28px;
        gap: 56px;
        padding: 20px 24px 20px 20px;
        min-width: 360px;
    }

    .delivery-area__toast-main {
        gap: 16px;
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 64px;
        height: 64px;
    }

    .delivery-area__toast-title {
        font-size: 18px;
        line-height: 24px;
    }

    .delivery-area__toast-subtitle {
        font-size: 14px;
        line-height: 18px;
    }
}

@media (max-width: 919px) {
    .delivery-area {
        flex-direction: column;
        align-items: center;
        gap: 56px;
    }
}

@media (max-width: 619px) {
    .delivery-area-section {
        padding: 40px 20px;
    }

    .delivery-area {
        padding: 48px;
        gap: 48px;
        background-color: #F4F8F8;
    }

    .delivery-area__content {
        gap: 24px;
        width: 100%;
    }

    .delivery-area__heading {
        gap: 4px;
        width: 100%;
    }

    .delivery-area__location {
        gap: 16px;
    }

    .delivery-area__title {
        font-size: 28px;
        line-height: 40px;
    }

    .delivery-area__icon {
        width: 56px;
        height: 56px;
    }

    .delivery-area__subtitle {
        font-size: 24px;
        line-height: 32px;
    }

    .delivery-area__description-search {
        gap: 32px;
        width: 100%;
    }

    .delivery-area__description {
        font-size: 16px;
        line-height: 24px;
        width: 374px;
    }

    .delivery-area__search-wrapper {
        width: 100%;
    }

    .delivery-area__search {
        padding: 14px 20px;
        border-width: 2px;
        width: 100%;
    }

    .delivery-area__search-input {
        font-size: 16px;
        line-height: 24px;
    }

    .delivery-area__search-icon-img svg path {
        stroke-width: 2;
    }

    .delivery-area__visual {
        width: 343.966px;
        height: 343.966px;
        margin: 0 auto;
    }

    .delivery-area {
        flex-direction: column;
        position: relative;
    }

    .delivery-area__toast {
        position: absolute;
        right: 12px;
        bottom: 12px;
        left: 12px;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        padding: 20px;
        width: auto;
        min-width: auto;
        max-width: none;
    }

    .delivery-area__toast-main {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 64px;
        height: 64px;
    }

    .delivery-area__toast-message {
        text-align: center;
    }

    .delivery-area__toast-actions {
        width: 100%;
    }

    .delivery-area__toast .cta-button {
        width: 100%;
    }
}

@media (max-width: 512px) {
    .delivery-area {
        padding: 24px;
        gap: 40px;
    }

    .delivery-area__content {
        gap: 16px;
    }

    .delivery-area__heading {
        gap: 2px;
    }

    .delivery-area__description-search {
        gap: 32px;
    }
}

@media (max-width: 460px) {
    .delivery-area__description {
        width: 100%;
    }
}

@media (max-width: 413px) {
    .delivery-area-section {
        padding: 9.66vw 4.83vw; /* 40px 20px at 414px */
    }

    .delivery-area {
        padding: 11.59vw; /* 48px at 414px */
        gap: 11.59vw; /* 48px at 414px */
        background-color: #F4F8F8;
    }

    .delivery-area__content {
        gap: 5.8vw; /* 24px at 414px */
        width: 100%;
    }

    .delivery-area__heading {
        gap: 0.97vw; /* 4px at 414px */
        width: 100%;
    }

    .delivery-area__location {
        gap: 3.86vw; /* 16px at 414px */
    }

    .delivery-area__title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
    }

    .delivery-area__icon {
        width: 13.53vw; /* 56px at 414px */
        height: 13.53vw;
    }

    .delivery-area__subtitle {
        font-size: 5.8vw; /* 24px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
    }

    .delivery-area__description-search {
        gap: 7.73vw; /* 32px at 414px */
        width: 100%;
    }

    .delivery-area__description {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.8vw; /* 24px at 414px */
        width: 100%;
    }

    .delivery-area__search-wrapper {
        width: 100%;
    }

    .delivery-area__search {
        padding: 3.38vw 4.83vw; /* 14px 20px at 414px */
        border-width: 2px;
        width: 100%;
    }

    .delivery-area__search-input {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.8vw; /* 24px at 414px */
    }

    .delivery-area__search-icon-img svg path {
        stroke-width: 2;
    }

    .delivery-area__visual {
        width: 83.08vw; /* 343.966px at 414px */
        height: 83.08vw;
        margin: 0 auto;
    }

    .delivery-area__toast {
        position: absolute;
        right: 2.9vw; /* 12px at 414px */
        bottom: 2.9vw;
        left: 2.9vw;
        flex-direction: column;
        align-items: stretch;
        gap: 3.86vw; /* 16px at 414px */
        padding: 4.83vw; /* 20px at 414px */
        width: auto;
        min-width: auto;
        max-width: none;
    }

    .delivery-area__toast-main {
        flex-direction: column;
        align-items: center;
        gap: 2.9vw; /* 12px at 414px */
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 15.46vw; /* 64px at 414px */
        height: 15.46vw;
    }

    .delivery-area__toast-message {
        text-align: center;
    }

    .delivery-area__toast-actions {
        width: 100%;
    }

    .delivery-area__toast .cta-button {
        width: 100%;
    }
}

@media (min-width: 414px) and (max-width: 480px) {
    .delivery-area__visual {
        width: 326px;
        height: 326px;
        margin: 0 auto;
    }

    .delivery-area__city-label {
        left: 106.4px;
        top: 187.9px;
    }

    .delivery-area__radius-label {
        left: 288.8px;
        top: 146.7px;
    }

    .delivery-area__center-point {
        left: 130.4px;
        top: 113.4px;
    }

    .delivery-area__center-circle--low {
        width: 65px;
        height: 65px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .delivery-area__center-circle--medium {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .delivery-area__center-circle--high,
    .delivery-area__wave {
        left: 50%;
        top: 50%;
    }

    .delivery-area__toast .cta-button {
        width: 100%;
    }
}

@media (max-width: 413px) {
    .delivery-area-section {
        padding: 9.66vw 4.83vw; /* 40px 20px at 414px */
    }

    .delivery-area {
        padding: 5.8vw; /* 24px at 414px */
        gap: 9.66vw; /* 40px at 414px */
        background-color: #F4F8F8;
    }

    .delivery-area__content {
        gap: 3.86vw; /* 16px at 414px */
        width: 100%;
    }

    .delivery-area__heading {
        gap: 0.48vw; /* 2px at 414px */
        width: 100%;
    }

    .delivery-area__location {
        gap: 3.86vw; /* 16px at 414px */
    }

    .delivery-area__title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
    }

    .delivery-area__icon {
        width: 13.53vw; /* 56px at 414px */
        height: 13.53vw;
    }

    .delivery-area__subtitle {
        font-size: 5.8vw; /* 24px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
    }

    .delivery-area__description-search {
        gap: 7.73vw; /* 32px at 414px */
        width: 100%;
    }

    .delivery-area__description {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.8vw; /* 24px at 414px */
        width: 100%;
    }

    .delivery-area__search-wrapper {
        width: 100%;
    }

    .delivery-area__search {
        padding: 3.38vw 4.83vw; /* 14px 20px at 414px */
        border-width: 0.48vw; /* 2px at 414px */
        width: 100%;
    }

    .delivery-area__search-input {
        font-size: 16px; /* Fixed size to prevent zoom on iOS Safari */
        line-height: 5.8vw; /* 24px at 414px */
    }

    .delivery-area__search-icon-img svg path {
        stroke-width: 2;
    }

    .delivery-area__visual {
        width: 78.74vw; /* 326px at 414px */
        height: 78.74vw;
        margin: 0 auto;
    }

    .delivery-area__city-label {
        left: 25.7vw; /* 106.4px at 414px */
        top: 45.39vw; /* 187.9px at 414px */
        width: 27.75vw; /* 114.9px at 414px - proportional to 326px map (121.207*326/343.966) */
        height: 9.01vw; /* 37.3px at 414px - proportional (39.31*326/343.966) */
        padding: 1.88vw 4.5vw; /* 7.76px 18.64px at 414px - proportional */
        font-size: 3.38vw; /* 14px at 414px - proportional */
        line-height: 5.25vw; /* 21.74px at 414px - proportional */
    }

    .delivery-area__radius-label {
        left: 69.76vw; /* 288.8px at 414px */
        top: 35.43vw; /* 146.7px at 414px */
        width: 17.25vw; /* 71.4px at 414px - proportional (75.345*326/343.966) */
        height: 7.87vw; /* 32.6px at 414px - proportional (34.397*326/343.966) */
        padding: 1.69vw 3.38vw 1.31vw; /* 7px 14px 5.43px at 414px - proportional */
        font-size: 3vw; /* 12.42px at 414px - proportional */
        line-height: 4.5vw; /* 18.64px at 414px - proportional */
    }

    .delivery-area__center-point {
        left: 31.5vw; /* 130.4px at 414px */
        top: 27.39vw; /* 113.4px at 414px */
        width: 15.7vw; /* 65px at 414px */
        height: 15.7vw;
    }

    .delivery-area__center-circle--low {
        width: 15.7vw; /* 65px at 414px */
        height: 15.7vw;
    }

    .delivery-area__center-circle--medium {
        width: 10.47vw; /* 43.33px at 414px - proportional to 65px (45.862/68.793*65) */
        height: 10.47vw;
    }

    .delivery-area__center-circle--high,
    .delivery-area__wave {
        width: 5.23vw; /* 21.67px at 414px - proportional to 65px (22.931/68.793*65) */
        height: 5.23vw;
    }

    .delivery-area__center-circle--high {
        border-width: 0.48vw; /* 2px at 414px */
    }

    .delivery-area__toast {
        position: absolute;
        right: 2.9vw; /* 12px at 414px */
        bottom: 2.9vw;
        left: 2.9vw;
        flex-direction: column;
        align-items: stretch;
        gap: 3.86vw; /* 16px at 414px */
        padding: 4.83vw; /* 20px at 414px */
        width: auto;
        min-width: auto;
        max-width: none;
    }

    .delivery-area__toast-main {
        flex-direction: column;
        align-items: center;
        gap: 2.9vw; /* 12px at 414px */
    }

    .delivery-area__toast-icon-bg,
    .delivery-area__toast-icon {
        width: 15.46vw; /* 64px at 414px */
        height: 15.46vw;
    }

    .delivery-area__toast-message {
        text-align: center;
    }

    .delivery-area__toast-actions {
        width: 100%;
    }

    .delivery-area__toast .cta-button {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
}

/* Cities Section */
.cities-section {
    padding-top: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
}

.cities-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

.cities-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 40px;
    line-height: 48px;
    color: #141000;
    text-align: center;
    margin: 0;
}

@media (min-width: 1140px) {
    .cities-title {
        font-size: clamp(48px, calc(48px + (100vw - 1139px) * 8 / 301), 56px);
        line-height: clamp(56px, calc(56px + (100vw - 1139px) * 16 / 301), 72px);
    }
}

@media (min-width: 994px) and (max-width: 1139px) {
    .cities-title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }
}

@media (min-width: 620px) and (max-width: 992px) {
    .cities-title {
        font-size: 40px;
        line-height: 48px;
    }
}

.cities-grid {
    display: flex;
    width: 100%;
    gap: 0;
}

.cities-column {
    display: flex;
    flex-direction: column;
    gap: 28px;
    flex: 1;
    padding-top: 16px;
    padding-bottom: 16px;
    align-items: stretch;
}

.cities-direction {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 34px;
}

.cities-direction-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.cities-direction-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 32px;
    color: #141000;
    margin: 0;
    white-space: nowrap;
}

.cities-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 34px;
    flex: 1;
    min-height: 0;
    position: relative;
}

.cities-list::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #141000;
    border-radius: 1px;
}

.cities-column:last-child .cities-list::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #141000;
    border-radius: 1px;
}

.cities-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cities-item-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.cities-item-text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #3a403b;
    white-space: nowrap;
}

/* Responsive styles for cities section */
@media (max-width: 1139px) {
    .cities-container {
        gap: 64px;
    }

    .cities-grid {
        flex-wrap: wrap;
    }

    .cities-column {
        flex: 0 0 calc(50% - 1px);
        border-right: 1px solid #141000;
        border-bottom: 1px solid #141000;
    }

    .cities-column:nth-child(1),
    .cities-column:nth-child(2) {
        border-top: none;
    }

    .cities-column:nth-child(3),
    .cities-column:nth-child(4) {
        border-top: 1px solid #141000;
    }
}

@media (min-width: 726px) and (max-width: 1139px) {
    .cities-column {
        border-right: none !important;
        border-bottom: none !important;
        border-top: none !important;
    }

    .cities-column:nth-child(3),
    .cities-column:nth-child(4) {
        margin-top: 16px;
    }

    .cities-column:nth-child(1),
    .cities-column:nth-child(2),
    .cities-column:nth-child(3),
    .cities-column:nth-child(4) {
        border-top: none !important;
        border-bottom: none !important;
    }

    .cities-column:nth-child(2) .cities-list::after,
    .cities-column:last-child .cities-list::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 1px;
        background: #141000;
        border-radius: 1px;
    }

    .cities-list {
        padding-left: 34px;
        position: relative;
    }

    .cities-list::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 1px;
        background: #141000;
        border-radius: 1px;
    }
}

@media (max-width: 725px) {
    .cities-section {
        padding-left: 32px;
        padding-right: 32px;
    }

    .cities-container {
        gap: 48px;
    }

    .cities-grid {
        flex-direction: column;
    }

    .cities-column {
        flex: 1;
        width: 100%;
        border-right: none !important;
        border-bottom: none !important;
        border-top: none !important;
        padding-left: 0;
        padding-right: 0;
    }

    .cities-direction {
        padding-left: 34px;
    }

    .cities-list {
        padding-left: 34px;
        position: relative;
    }

    .cities-list::before {
        display: none !important;
    }

    .cities-column .cities-list::after {
        display: none !important;
    }

}

@media (max-width: 619px) {
    .cities-section {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .cities-container {
        gap: 32px;
    }

    .cities-title {
        font-size: 28px;
        line-height: 40px;
    }

    .cities-column {
        gap: 28px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .cities-direction {
        gap: 12px;
        padding-left: 34px;
    }

    .cities-direction-icon {
        width: 16px;
        height: 16px;
    }

    .cities-direction-title {
        font-size: 20px;
        line-height: 30px;
    }

    .cities-list {
        gap: 4px;
        padding-left: 34px;
        position: relative;
    }
}

@media (max-width: 512px) {
    .cities-column {
        gap: 16px;
    }

    .cities-column:first-child {
        padding-top: 0;
    }

    .cities-direction {
        padding-left: 24px;
    }

    .cities-list {
        padding-left: 24px;
    }
}

@media (max-width: 479px) {
    .cities-container {
        align-items: flex-start;
    }

    .cities-title {
        text-align: left !important;
    }

    .cities-direction {
        padding-left: 24px;
    }

    .cities-list {
        padding-left: 24px;
    }

    .cities-list::before {
        display: none;
    }

    .cities-column:last-child .cities-list::after {
        display: none;
    }

    .cities-item {
        gap: 8px;
    }

    .cities-item-icon {
        width: 20px;
        height: 20px;
    }

    .cities-item-text {
        font-size: 16px;
        line-height: 28px;
    }
}

@media (max-width: 414px) {
    .cities-section {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .cities-container {
        gap: 32px;
        align-items: flex-start;
    }

    .cities-title {
        font-size: 28px;
        line-height: 40px;
        text-align: left !important;
    }

    .cities-column {
        gap: 16px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .cities-column:first-child {
        padding-top: 0;
    }

    .cities-direction {
        gap: 12px;
        padding-left: 24px;
    }

    .cities-direction-icon {
        width: 16px;
        height: 16px;
    }

    .cities-direction-title {
        font-size: 20px;
        line-height: 30px;
    }

    .cities-list {
        gap: 4px;
        padding-left: 24px;
        position: relative;
    }

    .cities-item {
        gap: 8px;
    }

    .cities-item-icon {
        width: 20px;
        height: 20px;
    }

    .cities-item-text {
        font-size: 16px;
        line-height: 28px;
    }
}

@media (max-width: 413px) {
    .cities-section {
        padding-left: calc(20 / 414 * 100vw);
        padding-right: calc(20 / 414 * 100vw);
        padding-top: calc(40 / 414 * 100vw);
        padding-bottom: calc(40 / 414 * 100vw);
    }

    .cities-container {
        gap: calc(32 / 414 * 100vw);
    }

    .cities-title {
        font-size: calc(28 / 414 * 100vw);
        line-height: calc(40 / 414 * 100vw);
    }

    .cities-column {
        gap: calc(16 / 414 * 100vw);
        padding-top: calc(16 / 414 * 100vw);
        padding-bottom: calc(16 / 414 * 100vw);
    }

    .cities-column:first-child {
        padding-top: 0;
    }

    .cities-direction {
        gap: calc(12 / 414 * 100vw);
        padding-left: calc(24 / 414 * 100vw);
    }

    .cities-direction-icon {
        width: calc(16 / 414 * 100vw);
        height: calc(16 / 414 * 100vw);
    }

    .cities-direction-title {
        font-size: calc(20 / 414 * 100vw);
        line-height: calc(30 / 414 * 100vw);
    }

    .cities-list {
        gap: calc(4 / 414 * 100vw);
        padding-left: calc(24 / 414 * 100vw);
    }

    .cities-item {
        gap: calc(8 / 414 * 100vw);
    }

    .cities-item-icon {
        width: calc(20 / 414 * 100vw);
        height: calc(20 / 414 * 100vw);
    }

    .cities-item-text {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(28 / 414 * 100vw);
    }
}

/* Not on List Section */
.not-on-list-section {
    padding-top: clamp(64px, calc(64px + (100vw - 1140px) * 40 / 300), 104px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 1140px) * 40 / 300), 104px);
    padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
}

.not-on-list-container {
    max-width: 1344px;
    margin: 0 auto;
    background: #F9FAFA;
    border-radius: 24px;
    padding: clamp(82.33px, 7.2222vw, 104px) clamp(73px, 6.3889vw, 92px);
    display: flex;
    align-items: flex-end;
    gap: clamp(63.33px, 5.5556vw, 80px);
}

.not-on-list-content {
    display: flex;
    flex-direction: column;
    gap: clamp(19px, 1.6667vw, 24px);
    flex: 0 0 auto;
    width: clamp(445px, 39.0278vw, 562px);
}

.not-on-list-heading {
    display: flex;
    flex-direction: column;
    gap: clamp(12.67px, 1.1111vw, 16px);
}

.not-on-list-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: clamp(44.33px, 3.8889vw, 56px);
    line-height: clamp(57px, 5vw, 72px);
    color: #141000;
    margin: 0;
    white-space: nowrap;
}

.not-on-list-subtitle {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: clamp(33.25px, 2.9167vw, 42px);
    line-height: clamp(38px, 3.3333vw, 48px);
    color: #141000;
    margin: 0;
}

.not-on-list-description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: clamp(14.22px, 1.25vw, 18px);
    line-height: clamp(22.11px, 1.9444vw, 28px);
    color: #141000;
    margin: 0;
}

/* Ukrainian and Russian versions: replace Sora font with Noto Sans for not-on-list */
body.lang-uk .not-on-list-description,
body.lang-ru .not-on-list-description {
    font-family: 'Noto Sans', sans-serif !important;
}

.not-on-list-description-br {
    display: inline;
}

.not-on-list-right {
    display: flex;
    flex-direction: column;
    gap: clamp(31.67px, 2.7778vw, 40px);
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
}

.not-on-list-icon-wrapper {
    display: flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
    opacity: 1 !important;
    width: clamp(50.67px, 4.4444vw, 64px);
    height: clamp(50.67px, 4.4444vw, 64px);
    min-width: clamp(50.67px, 4.4444vw, 64px);
    min-height: clamp(50.67px, 4.4444vw, 64px);
}

@keyframes bounceUpDown {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-16px);
    }
}

.not-on-list-icon {
    width: clamp(50.67px, 4.4444vw, 64px);
    height: clamp(50.67px, 4.4444vw, 64px);
    display: block !important;
    flex-shrink: 0;
    animation: bounceUpDown 2s ease-in-out infinite;
    visibility: visible !important;
    opacity: 1 !important;
    object-fit: contain;
}

/* Fixed size 56x56px for 414px-1139px */
@media (max-width: 1139px) and (min-width: 414px) {
    .not-on-list-icon {
        width: 56px !important;
        height: 56px !important;
    }
}

.not-on-list-button {
    height: clamp(53.83px, 4.7222vw, 68px);
    padding: 0 clamp(32px, calc(32px + (100vw - 1140px) * 4 / 300), 36px);
    width: auto;
    max-width: none;
}

.not-on-list-button .cta-button__text {
    font-size: clamp(13.47px, 1.1806vw, 17px);
    line-height: clamp(22.19px, 1.9444vw, 28px);
    font-weight: 300;
}

.not-on-list-button .cta-button__text--hover {
    font-weight: 400;
}

/* Responsive styles for Not on List Section */
@media (min-width: 1140px) and (max-width: 1440px) {
    .not-on-list-content {
        width: clamp(400px, calc(400px + (100vw - 1140px) * 162 / 300), 562px);
    }
}

@media (max-width: 1139px) {
    .not-on-list-section {
        padding-top: 64px;
        padding-bottom: 64px;
        padding-left: 40px;
        padding-right: 40px;
    }

    .not-on-list-container {
        padding-top: 64px;
        padding-bottom: 64px;
        padding-left: 56px;
        padding-right: 56px;
        flex-direction: row;
        align-items: flex-end;
        gap: 40px;
    }

    .not-on-list-content {
        width: auto;
        flex: 0 0 auto;
    }

    .not-on-list-heading {
        gap: clamp(8px, calc(8px + (100vw - 993px) * 8 / 146), 16px);
    }

    .not-on-list-title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }

    .not-on-list-subtitle {
        font-size: clamp(32px, calc(32px + (100vw - 993px) * 4 / 146), 36px);
        line-height: clamp(40px, calc(40px + (100vw - 993px) * 4 / 146), 44px);
    }

    .not-on-list-description {
        font-size: clamp(16px, calc(16px + (100vw - 993px) * 2 / 346), 18px);
        line-height: clamp(24px, calc(24px + (100vw - 993px) * 4 / 346), 28px);
    }

    .not-on-list-right {
        width: auto;
        align-items: center;
        gap: 40px;
        flex: 1 1 auto;
    }

    .not-on-list-icon {
        width: 56px;
        height: 56px;
    }

    .not-on-list-button {
        height: 62px;
        padding: 0 32px;
        width: auto;
        max-width: none;
    }

    .not-on-list-button .cta-button__text {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (max-width: 992px) {
    .not-on-list-section {
        padding-left: 32px;
        padding-right: 32px;
    }

    .not-on-list-container {
        padding-top: 64px;
        padding-bottom: 64px;
        padding-left: 56px;
        padding-right: 56px;
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }

    .not-on-list-content {
        width: 100%;
        align-items: center;
        text-align: center;
    }

    .not-on-list-heading {
        gap: 8px;
        align-items: center;
    }

    .not-on-list-title {
        font-size: 40px;
        line-height: 48px;
        text-align: center;
    }

    .not-on-list-subtitle {
        font-size: 32px;
        line-height: 40px;
        text-align: center;
    }

    .not-on-list-description {
        font-size: 16px;
        line-height: 24px;
        text-align: center;
    }

    .not-on-list-right {
        width: 100%;
        align-items: center;
        gap: 40px;
    }

    .not-on-list-icon {
        width: 56px;
        height: 56px;
    }

    .not-on-list-button {
        height: 62px;
        padding: 0 32px;
        width: auto;
        max-width: none;
    }

    .not-on-list-button .cta-button__text {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (min-width: 620px) and (max-width: 1139px) {
    .not-on-list-button {
        padding-left: 32px;
        padding-right: 32px;
    }
}

@media (min-width: 620px) and (max-width: 992px) {
    .not-on-list-container {
        padding-top: 56px;
        padding-bottom: 56px;
        padding-left: 48px;
        padding-right: 48px;
    }
}

@media (max-width: 619px) {
    .not-on-list-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .not-on-list-container {
        padding-top: 32px;
        padding-bottom: 32px;
        padding-left: 20px;
        padding-right: 20px;
        gap: 28px;
        background-color: #F4F8F8;
    }

    .not-on-list-heading {
        gap: 2px;
    }

    .not-on-list-title {
        font-size: 28px;
        line-height: 40px;
    }

    .not-on-list-subtitle {
        font-size: 24px;
        line-height: 32px;
    }

    .not-on-list-description {
        font-size: 16px;
        line-height: 24px;
    }

    .not-on-list-right {
        gap: 28px;
    }

    .not-on-list-icon {
        width: 56px;
        height: 56px;
    }

    .not-on-list-button {
        height: 68px;
        padding: 0 36px;
    }

    .not-on-list-button .cta-button__text {
        font-size: 16px;
        line-height: 28px;
    }

    .not-on-list-description-br {
        display: block;
    }
}

@media (max-width: 484px) {
    .not-on-list-container {
        padding-top: 24px;
        padding-bottom: 24px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .not-on-list-content {
        align-items: flex-start;
        text-align: left;
    }

    .not-on-list-heading {
        align-items: flex-start;
    }

    .not-on-list-title {
        text-align: left;
    }

    .not-on-list-subtitle {
        text-align: left;
    }

    .not-on-list-description {
        text-align: left;
    }

    .not-on-list-description-br {
        display: none;
    }

    .not-on-list-right {
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 438px) {
    .not-on-list-button-hide-text {
        display: none;
    }
}

@media (max-width: 414px) {
    .not-on-list-section {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .not-on-list-container {
        padding-left: 24px;
        padding-right: 24px;
        gap: 28px;
    }

    .not-on-list-content {
        align-items: flex-start;
        text-align: left;
    }

    .not-on-list-heading {
        gap: 2px;
        align-items: flex-start;
    }

    .not-on-list-title {
        font-size: 28px;
        line-height: 40px;
        text-align: left;
    }

    .not-on-list-subtitle {
        font-size: 24px;
        line-height: 32px;
        text-align: left;
    }

    .not-on-list-description {
        font-size: 16px;
        line-height: 24px;
        text-align: left;
    }

    .not-on-list-description-br {
        display: none;
    }

    .not-on-list-right {
        gap: 28px;
    }

    .not-on-list-icon {
        width: 56px;
        height: 56px;
    }

    .not-on-list-button {
        height: 68px;
        padding: 0 36px;
    }

    .not-on-list-button .cta-button__text {
        font-size: 16px;
        line-height: 28px;
    }
}

@media (max-width: 413px) {
    .not-on-list-section {
        padding-top: calc(40 / 414 * 100vw);
        padding-bottom: calc(40 / 414 * 100vw);
        padding-left: calc(20 / 414 * 100vw);
        padding-right: calc(20 / 414 * 100vw);
    }

    .not-on-list-container {
        padding-top: calc(24 / 414 * 100vw);
        padding-bottom: calc(24 / 414 * 100vw);
        padding-left: calc(24 / 414 * 100vw);
        padding-right: calc(24 / 414 * 100vw);
        gap: calc(28 / 414 * 100vw);
        border-radius: calc(24 / 414 * 100vw);
    }

    .not-on-list-content {
        gap: calc(24 / 414 * 100vw);
        align-items: flex-start;
        text-align: left;
    }

    .not-on-list-heading {
        gap: calc(2 / 414 * 100vw);
        align-items: flex-start;
    }

    .not-on-list-title {
        font-size: calc(28 / 414 * 100vw);
        line-height: calc(40 / 414 * 100vw);
        text-align: left;
    }

    .not-on-list-subtitle {
        font-size: calc(24 / 414 * 100vw);
        line-height: calc(32 / 414 * 100vw);
        text-align: left;
    }

    .not-on-list-description {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
        text-align: left;
    }

    .not-on-list-description-br {
        display: none;
    }

    .not-on-list-right {
        gap: calc(28 / 414 * 100vw);
        align-items: center;
        justify-content: center;
    }

    .not-on-list-icon {
        width: calc(56 / 414 * 100vw) !important;
        height: calc(56 / 414 * 100vw) !important;
    }

    .not-on-list-button {
        height: calc(68 / 414 * 100vw);
        padding: 0 calc(36 / 414 * 100vw);
    }

    .not-on-list-button .cta-button__text {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(28 / 414 * 100vw);
    }
}

/* Testimonials Section */
.testimonials-section {
    padding: 80px 48px;
    background: #ffffff;
}

.testimonials-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 88px;
}

.testimonials-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 56px;
    line-height: 72px;
    color: #141000;
    text-align: center;
    width: 100%;
}

.testimonials-header-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    margin-bottom: -88px; /* Compensate entire gap (88px), so spacing is controlled by notice margin-bottom */
    position: relative;
    z-index: 10;
    min-height: 0;
}

body.lang-pl .testimonials-header-wrapper {
    display: none;
    margin-bottom: 0;
}

/* Translation Notice - visible only for non-Polish languages */
.testimonials-translation-notice {
    display: none;
    background: #dbebff;
    border-radius: 9999px;
    padding: 6px 18px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    white-space: nowrap;
    margin-top: 0;
    margin-bottom: 20px; /* Final spacing between notice and grid */
    width: fit-content;
    position: relative;
    z-index: 10;
    flex-shrink: 0;
}

body.lang-en .testimonials-translation-notice,
body.lang-uk .testimonials-translation-notice,
body.lang-ru .testimonials-translation-notice {
    display: flex;
}

.testimonials-translation-notice-text {
    color: #4e5a6b;
    flex-shrink: 0;
}

.testimonials-translation-toggle {
    color: #141000;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    cursor: pointer;
    flex-shrink: 0;
}

.testimonials-translation-toggle:hover {
    text-decoration-thickness: 2px;
}

/* On mobile/touch devices, hover can stick after click, so limit thickness */
@media (hover: none) and (pointer: coarse) {
    .testimonials-translation-toggle:hover {
        text-decoration-thickness: 1px;
    }
    
    .testimonials-translation-toggle:active {
        text-decoration-thickness: 2px;
    }
}

/* When showing original, testimonials use Sora font */
body.testimonials-show-original .testimonial-text,
body.testimonials-show-original.lang-uk .testimonial-text,
body.testimonials-show-original.lang-ru .testimonial-text {
    font-family: 'Sora', sans-serif !important;
}

/* Viewport-based scaling from 1440px to 1140px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .testimonials-section {
        padding: calc(80 / 1440 * 100vw) calc(48 / 1440 * 100vw);
    }

    .testimonials-container {
        max-width: calc(1344 / 1440 * 100vw);
        gap: calc(88 / 1440 * 100vw);
    }

    .testimonials-title {
        font-size: calc(56 / 1440 * 100vw);
        line-height: calc(72 / 1440 * 100vw);
    }
}

.testimonials-grid-wrapper {
    position: relative;
    width: 100%;
    margin-top: 0;
}

.testimonials-grid {
    column-count: 4;
    column-gap: 24px;
    width: 100%;
    column-fill: balance;
    -webkit-column-fill: balance;
}

.testimonial-card {
    background: #ffffff;
    border: 1px solid #d0d0d0;
    border-radius: 24px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    break-inside: avoid;
    margin-bottom: 24px;
    page-break-inside: avoid;
    align-items: flex-start;
    align-self: flex-start;
    vertical-align: top;
}

/* Viewport-based scaling from 1440px to 1140px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .testimonials-grid {
        column-gap: calc(24 / 1440 * 100vw);
    }

    .testimonial-card {
        border-radius: calc(24 / 1440 * 100vw);
        padding: calc(24 / 1440 * 100vw);
        gap: calc(12 / 1440 * 100vw);
        margin-bottom: calc(24 / 1440 * 100vw);
    }
}


.testimonial-user {
    display: flex;
    align-items: center;
    gap: 16px;
}

.testimonial-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.testimonial-user-info {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
    min-width: 0;
}

.testimonial-name {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    color: #141414;
    margin: 0;
}

.testimonial-date {
    font-family: 'Sora', sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 18px;
    color: #545454;
    margin: 0;
}

.testimonial-text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: #141000;
    margin: 0;
    white-space: pre-wrap;
}

/* Ukrainian and Russian versions: replace Sora font with Noto Sans for testimonials */
body.lang-uk .testimonial-date,
body.lang-ru .testimonial-date {
    font-family: 'Noto Sans', sans-serif !important;
    font-weight: 400 !important;
}

body.lang-uk .testimonial-text,
body.lang-ru .testimonial-text {
    font-family: 'Noto Sans', sans-serif !important;
}

/* Keep Sora font for names in all languages including Ukrainian and Russian */
body.lang-uk .testimonial-name,
body.lang-ru .testimonial-name {
    font-family: 'Sora', sans-serif !important;
}

/* Viewport-based scaling from 1440px to 1140px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .testimonial-user {
        gap: calc(16 / 1440 * 100vw);
    }

    .testimonial-avatar {
        width: calc(48 / 1440 * 100vw);
        height: calc(48 / 1440 * 100vw);
    }

    .testimonial-name {
        font-size: calc(15 / 1440 * 100vw);
        line-height: calc(24 / 1440 * 100vw);
    }

    .testimonial-date {
        font-size: calc(12 / 1440 * 100vw);
        line-height: calc(18 / 1440 * 100vw);
    }

    .testimonial-text {
        font-size: calc(15 / 1440 * 100vw);
        line-height: calc(24 / 1440 * 100vw);
    }
}

.testimonials-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 280px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
    pointer-events: none;
}

.testimonials-button {
    height: 68px;
    padding: 0 36px;
}

.testimonials-button .cta-button__text {
    font-family: 'Unbounded', sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 28px;
}

/* Viewport-based scaling from 1440px to 1140px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .testimonials-fade {
        height: calc(280 / 1440 * 100vw);
    }

    .testimonials-button {
        height: calc(68 / 1440 * 100vw);
        padding: 0 calc(36 / 1440 * 100vw);
    }

    .testimonials-button .cta-button__text {
        font-size: calc(17 / 1440 * 100vw);
        line-height: calc(28 / 1440 * 100vw);
    }
}

.testimonials-button .cta-button__text--hover {
    font-weight: 400;
}

/* Responsive styles for Testimonials Section */
@media (min-width: 993px) and (max-width: 1139px) {
    .testimonials-grid {
        column-count: 3;
        column-fill: balance;
        -webkit-column-fill: balance;
    }

    .testimonials-title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }
}

@media (min-width: 620px) and (max-width: 1139px) {
    .testimonials-button {
        height: 62px;
        padding-left: 32px;
        padding-right: 32px;
    }
    
    .testimonials-button .cta-button__text {
        font-size: 16px;
        line-height: 26px;
    }
}

@media (max-width: 1200px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Рядок 1: 3 колонки */
    .testimonial-card:nth-child(1) { grid-column: 1; }
    .testimonial-card:nth-child(2) { grid-column: 2; }
    .testimonial-card:nth-child(3) { grid-column: 3; }
    .testimonial-card:nth-child(4) { grid-column: 1; grid-row: 2; }
    
    /* Рядок 2: 2 колонки */
    .testimonial-card:nth-child(5) { grid-column: 2; grid-row: 2; }
    .testimonial-card:nth-child(6) { grid-column: 3; grid-row: 2; }
    
    /* Рядок 3: 3 колонки */
    .testimonial-card:nth-child(7) { grid-column: 1; grid-row: 3; }
    .testimonial-card:nth-child(8) { grid-column: 2; grid-row: 3; }
    .testimonial-card:nth-child(9) { grid-column: 3; grid-row: 3; }
    
    /* Рядок 4: 3 колонки */
    .testimonial-card:nth-child(10) { grid-column: 1; grid-row: 4; }
    .testimonial-card:nth-child(11) { grid-column: 2; grid-row: 4; }
    .testimonial-card:nth-child(12) { grid-column: 3; grid-row: 4; }
}

@media (max-width: 992px) {
    .testimonials-grid {
        column-count: 2;
        column-fill: balance;
        -webkit-column-fill: balance;
    }

    .testimonials-title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (min-width: 620px) and (max-width: 992px) {
    .testimonials-title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (max-width: 768px) {
    .testimonials-section {
        padding: 64px 32px;
    }

    .testimonials-container {
        gap: 64px;
    }
    
    .testimonials-header-wrapper {
        margin-bottom: -64px; /* Compensate gap on tablet */
        z-index: 10;
    }
    
    body.lang-pl .testimonials-header-wrapper {
        display: none !important;
        margin-bottom: 0;
    }
    
    .testimonials-translation-notice {
        z-index: 10;
        position: relative;
    }

    .testimonials-grid {
        column-count: 1;
    }

    .testimonials-fade {
        height: 200px;
    }
}

@media (max-width: 620px) {
    .testimonials-title {
        font-size: 28px;
        line-height: 40px;
    }
}

@media (max-width: 484px) {
    .testimonials-title {
        text-align: left;
    }
}

@media (max-width: 619px) {
    .testimonials-section {
        padding: 40px 20px;
    }

    .testimonials-container {
        gap: 32px;
    }
    
    .testimonials-header-wrapper {
        margin-bottom: -32px; /* Compensate gap on mobile */
        z-index: 10;
    }
    
    body.lang-pl .testimonials-header-wrapper {
        display: none !important;
        margin-bottom: 0;
    }
    
    .testimonials-translation-notice {
        z-index: 10;
        position: relative;
        margin-bottom: 16px;
        padding: 6px 16px;
        font-size: 14px;
        line-height: 20px;
        width: auto;
        max-width: 100%;
    }
}

/* Testimonials button for 415px-619px */
@media (min-width: 415px) and (max-width: 619px) {
    .testimonials-button .cta-button__text {
        font-size: 16px;
        line-height: 28px;
    }
}

/* Fix values at 414px */
@media (max-width: 414px) {
    .testimonials-section {
        padding: 40px 20px;
    }

    .testimonials-container {
        gap: 32px;
    }

    .testimonials-title {
        font-size: 28px;
        line-height: 40px;
        text-align: left;
    }

    .testimonials-grid {
        column-gap: 24px;
    }

    .testimonial-card {
        border-radius: 24px;
        padding: 20px;
        gap: 12px;
        margin-bottom: 24px;
    }

    .testimonial-user {
        gap: 16px;
    }

    .testimonial-avatar {
        width: 48px;
        height: 48px;
    }

    .testimonial-name {
        font-size: 15px;
        line-height: 24px;
    }

    .testimonial-date {
        font-size: 12px;
        line-height: 18px;
    }

    .testimonial-text {
        font-size: 15px;
        line-height: 24px;
    }

    .testimonials-fade {
        height: 200px;
    }

    .testimonials-button {
        height: 68px;
        padding: 0 36px;
    }

    .testimonials-button .cta-button__text {
        font-size: 16px;
        line-height: 28px;
    }
}

/* Viewport-based proportional scaling for screens ≤413px */
@media (max-width: 413px) {
    .testimonials-section {
        padding: calc(40 / 414 * 100vw) calc(20 / 414 * 100vw);
    }

    .testimonials-container {
        gap: calc(32 / 414 * 100vw);
    }

    .testimonials-title {
        font-size: calc(28 / 414 * 100vw);
        line-height: calc(40 / 414 * 100vw);
        text-align: left;
    }

    .testimonials-grid {
        column-gap: calc(24 / 414 * 100vw);
    }

    .testimonial-card {
        border-radius: calc(24 / 414 * 100vw);
        padding: calc(20 / 414 * 100vw);
        gap: calc(12 / 414 * 100vw);
        margin-bottom: calc(24 / 414 * 100vw);
    }

    .testimonial-user {
        gap: calc(16 / 414 * 100vw);
    }

    .testimonial-avatar {
        width: calc(48 / 414 * 100vw);
        height: calc(48 / 414 * 100vw);
    }

    .testimonial-name {
        font-size: calc(15 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
    }

    .testimonial-date {
        font-size: calc(12 / 414 * 100vw);
        line-height: calc(18 / 414 * 100vw);
    }

    .testimonial-text {
        font-size: calc(15 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
    }

    .testimonials-fade {
        height: calc(200 / 414 * 100vw);
    }

    .testimonials-button {
        height: calc(68 / 414 * 100vw);
        padding: 0 calc(36 / 414 * 100vw);
    }

    .testimonials-button .cta-button__text {
        font-size: calc(16 / 414 * 100vw);
        line-height: calc(28 / 414 * 100vw);
    }
    
    .testimonials-translation-notice {
        padding: calc(6 / 414 * 100vw) calc(18 / 414 * 100vw);
        gap: calc(8 / 414 * 100vw);
        font-size: calc(15 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
        margin-bottom: calc(20 / 414 * 100vw);
        border-radius: calc(9999 / 414 * 100vw);
    }
    
    .testimonials-translation-notice-text {
        font-size: calc(15 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
    }
    
    .testimonials-translation-toggle {
        font-size: calc(15 / 414 * 100vw);
        line-height: calc(24 / 414 * 100vw);
        text-decoration-thickness: 1px;
    }
    
    .testimonials-translation-toggle:hover {
        text-decoration-thickness: 1px;
    }
    
    .testimonials-translation-toggle:active {
        text-decoration-thickness: 1.5px;
    }
    
    .testimonials-header-wrapper {
        margin-bottom: calc(-32 / 414 * 100vw); /* Compensate gap on mobile */
    }
}

/* FAQ Section */
.faq-section {
    padding-top: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 1140px) * 16 / 300), 80px);
    padding-left: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
    padding-right: clamp(40px, calc(40px + (100vw - 1140px) * 8 / 300), 48px);
}

.faq-container {
    max-width: 1344px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

.faq-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 56px;
    line-height: 72px;
    color: #141000;
    text-align: center;
    margin: 0;
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}

.faq-item {
    background: #F9FAFA;
    border: 1px solid #141000;
    border-radius: 24px;
    padding: 40px 48px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.faq-question {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    cursor: pointer;
}

.faq-item:hover .faq-toggle {
    transform: scale(1.05);
}

.faq-item:hover .faq-toggle .faq-icon img {
    filter: brightness(0) invert(1);
}

/* Disable hover effects on touch devices */
@media (hover: none) and (pointer: coarse) {
    .faq-item:hover .faq-toggle {
        transform: none;
    }

    .faq-item:hover .faq-toggle .faq-icon img {
        filter: none;
    }

    .faq-item:hover .faq-toggle__fill,
    .faq-toggle__fill {
        width: 0 !important;
        height: 0 !important;
    }
}

.faq-question-text {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    color: #141000;
    margin: 0;
    flex: 1;
}

.faq-toggle {
    border: 2px solid #141000;
    border-radius: 9999px;
    padding: 9px;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.faq-toggle__fill {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: #141000;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

.faq-item:hover .faq-toggle__fill {
    width: 200%;
    height: 200%;
}

.faq-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 1;
}

.faq-toggle:active {
    transform: scale(0.95);
}

.faq-icon {
    position: relative;
    z-index: 1;
}

.faq-icon img {
    width: 100%;
    height: 100%;
    display: block;
    transition: opacity 0.2s ease, filter 0.3s ease;
}

.faq-question:hover .faq-icon img {
    filter: brightness(0) invert(1);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), margin-top 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
    margin-top: 0;
    opacity: 0;
}

.faq-answer--open {
    max-height: 1000px;
    margin-top: 24px;
    opacity: 1;
}

.faq-answer-text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    margin: 0;
    padding-right: 80px;
}

/* Use Noto Sans for Ukrainian and Russian languages in FAQ section - only for answers */
body.lang-uk .faq-answer-text,
body.lang-ru .faq-answer-text {
    font-family: 'Noto Sans', sans-serif;
}

/* Viewport-based scaling for FAQ from 1140px to 1440px */
@media (min-width: 1140px) and (max-width: 1440px) {
    .faq-container {
        max-width: 93.33vw; /* 1344px at 1440px */
        gap: 5.56vw; /* 80px at 1440px */
    }

    .faq-title {
        font-size: 3.89vw; /* 56px at 1440px */
        line-height: 5vw; /* 72px at 1440px */
    }

    .faq-list {
        gap: 2.22vw; /* 32px at 1440px */
    }

        .faq-item {
            border-radius: 1.67vw; /* 24px at 1440px */
            padding: 2.78vw 3.33vw; /* 40px 48px at 1440px */
        }

    .faq-question {
        gap: 1.67vw; /* 24px at 1440px */
    }

    .faq-question-text {
        font-size: 1.67vw; /* 24px at 1440px */
        line-height: 2.22vw; /* 32px at 1440px */
    }

    .faq-toggle {
        padding: 0.63vw; /* 9px at 1440px */
    }

    .faq-icon {
        width: 2.08vw; /* 30px at 1440px */
        height: 2.08vw; /* 30px at 1440px */
    }

    .faq-answer--open {
        margin-top: 1.67vw; /* 24px at 1440px */
    }

    .faq-answer-text {
        font-size: 1.25vw; /* 18px at 1440px */
        line-height: 1.94vw; /* 28px at 1440px */
        padding-right: 5.56vw; /* 80px at 1440px */
    }
}

/* Smooth scaling for FAQ title from 993px to 1139px */
@media (min-width: 993px) and (max-width: 1139px) {
    .faq-title {
        font-size: clamp(40px, calc(40px + (100vw - 993px) * 8 / 146), 48px);
        line-height: clamp(48px, calc(48px + (100vw - 993px) * 8 / 146), 56px);
    }
}

/* Fixed size for FAQ title from 993px and below */
@media (max-width: 993px) {
    .faq-title {
        font-size: 40px;
        line-height: 48px;
    }
}

/* Left align FAQ title from 724px and below */
@media (max-width: 724px) {
    .faq-title {
        text-align: left;
    }
}

/* Adjust spacing for FAQ from 723px and below */
@media (max-width: 723px) {
    .faq-container {
        gap: 56px;
    }

    .faq-item {
        padding: 32px;
    }
}

@media (max-width: 619px) {
    .faq-section {
        padding: 40px 20px;
    }

        .faq-container {
            gap: 32px;
        }

    .faq-title {
        font-size: 28px;
        line-height: 40px;
    }

    .faq-list {
        gap: 24px;
    }

    .faq-item {
        padding: 24px 28px;
    }

    .faq-answer--open {
        margin-top: 20px;
        opacity: 1;
    }

    .faq-question {
        gap: 16px;
    }

    .faq-question-text {
        font-size: 20px;
        line-height: 30px;
    }

    .faq-answer-text {
        font-size: 16px;
        line-height: 24px;
        padding-right: 0;
    }
}

@media (max-width: 480px) {
    .faq-question-text__hidden-mobile {
        display: none;
    }
}

@media (max-width: 414px) {
    .faq-section {
        padding: 40px 20px;
    }

    .faq-container {
        gap: 32px;
    }

    .faq-title {
        font-size: 28px;
        line-height: 40px;
    }

    .faq-list {
        gap: 24px;
    }

    .faq-item {
        padding: 24px 28px;
        border-radius: 24px;
    }

    .faq-answer--open {
        margin-top: 20px;
        opacity: 1;
    }

    .faq-question {
        gap: 16px;
    }

    .faq-question-text {
        font-size: 20px;
        line-height: 30px;
    }

    .faq-answer-text {
        font-size: 16px;
        line-height: 24px;
        padding-right: 0;
    }

    .faq-toggle {
        padding: 9px;
    }

    .faq-icon {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 413px) {
    .faq-section {
        padding: 9.66vw 4.83vw; /* 40px 20px at 414px */
    }

    .faq-container {
        gap: 7.73vw; /* 32px at 414px */
    }

    .faq-title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
    }

    .faq-list {
        gap: 5.80vw; /* 24px at 414px */
    }

    .faq-item {
        padding: 5.80vw 6.76vw; /* 24px 28px at 414px */
        border-radius: 5.80vw; /* 24px at 414px */
    }

    .faq-answer--open {
        margin-top: 4.83vw; /* 20px at 414px */
        opacity: 1;
    }

    .faq-question {
        gap: 3.86vw; /* 16px at 414px */
    }

    .faq-question-text {
        font-size: 4.83vw; /* 20px at 414px */
        line-height: 7.25vw; /* 30px at 414px */
    }

    .faq-answer-text {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.80vw; /* 24px at 414px */
        padding-right: 0;
    }

    .faq-toggle {
        padding: 2.17vw; /* 9px at 414px */
    }

    .faq-icon {
        width: 7.25vw; /* 30px at 414px */
        height: 7.25vw;
    }
}

@media (max-width: 389px) {
    .delivery-area__search-input {
        font-size: 3.86vw; /* Proportional scaling for sizes less than 389px */
    }
}

/* Shipping Modal */
.shipping-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.shipping-modal[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
}

.shipping-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.shipping-modal__content {
    position: relative;
    background: #ffffff;
    border: 1px solid #141000;
    border-radius: 24px;
    padding: 48px 80px;
    max-width: 924px;
    width: calc(100% - 40px);
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
    z-index: 1001;
    transform: scale(0.95);
    transition: transform 0.3s ease;
}

.shipping-modal[aria-hidden="false"] .shipping-modal__content {
    transform: scale(1);
}

.shipping-modal__close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1002;
}

.shipping-modal__close img {
    width: 100%;
    height: 100%;
    display: block;
}

.shipping-modal__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 48px;
    color: #141000;
    margin: 0;
    text-align: center;
}

.shipping-modal__section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.shipping-modal__section-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    color: #141000;
    margin: 0;
}

.shipping-modal__info {
    display: flex;
    gap: 88px;
}

.shipping-modal__info-column {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.shipping-modal__info-item {
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
    margin: 0;
}

.shipping-modal__info-label {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
}

.shipping-modal__info-value {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
}

.shipping-modal__info-column:last-child .shipping-modal__info-label {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
}

.shipping-modal__info-column:last-child .shipping-modal__info-value {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
}

.shipping-modal__description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: rgba(20, 16, 0, 0.8);
    letter-spacing: 0.28px;
    margin: 0;
}

@media (max-width: 992px) {
    .shipping-modal__content {
        padding: 40px 48px;
        gap: 24px;
        width: calc(100% - 80px);
        max-width: none;
    }

    .shipping-modal__title {
        font-size: 28px;
        line-height: 40px;
    }

    .shipping-modal__info {
        gap: 48px;
    }
}

@media (max-width: 619px) {
    .shipping-modal__content {
        padding: 32px 24px;
        gap: 24px;
        width: calc(100% - 40px);
        max-width: none;
    }

    .shipping-modal__close {
        top: 16px;
        right: 16px;
    }

    .shipping-modal__title {
        font-size: 24px;
        line-height: 32px;
    }

    .shipping-modal__section-title {
        font-size: 16px;
        line-height: 24px;
    }

    .shipping-modal__info {
        flex-direction: column;
        gap: 16px;
    }

    .shipping-modal__info-item {
        font-size: 14px;
        line-height: 20px;
    }

    .shipping-modal__description {
        font-size: 13px;
        line-height: 18px;
    }
}

/* Repair form page */
.repair-form-page {
    min-height: 100vh;
    min-height: 100dvh;
    background: #ffffff;
}

.repair-form-wrapper {
    max-width: 920px;
    margin: 0 auto;
    padding: 104px 24px 120px;
    display: flex;
    justify-content: center;
}

.repair-form {
    display: flex;
    flex-direction: column;
    gap: 48px;
    width: 100%;
    max-width: 848px;
}

.repair-form__stepper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.repair-form__progress {
    display: flex;
    gap: 8px;
}

.repair-form__progress-track {
    flex: 1;
    height: 5px;
    border-radius: 9999px;
    background: #edefec;
    overflow: hidden;
}

.repair-form__progress-track--current {
    min-width: 140px;
}

.repair-form__progress-track--upcoming {
    position: relative;
}

.repair-form__progress-bar {
    width: 48px;
    height: 5px;
    background: #f9944a;
    border-radius: 9999px;
    transition: width 0.3s ease;
}

.repair-form__progress-track--upcoming .repair-form__progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
}

.repair-form__step-label {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #141000;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form */
body.lang-uk .repair-form__step-label,
body.lang-ru .repair-form__step-label {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form__content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.repair-form__title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 48px;
    color: #141000;
    margin: 0 0 32px 0;
}

.repair-form__items {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

/* English — equipment order (repair + testimonial forms share .repair-form) */
body.lang-en .repair-form .repair-form-item[data-equipment="oven"] {
    order: 1;
}

body.lang-en .repair-form .repair-form-item[data-equipment="induction"] {
    order: 2;
}

body.lang-en .repair-form .repair-form-item[data-equipment="microwave"] {
    order: 3;
}

body.lang-en .repair-form .repair-form-item[data-equipment="hood"] {
    order: 4;
}

body.lang-en .repair-form .repair-form-item[data-equipment="dishwasher"] {
    order: 5;
}

body.lang-en .repair-form .repair-form-item[data-equipment="dryer"] {
    order: 6;
}

body.lang-en .repair-form .repair-form-item[data-equipment="washer-dryer"] {
    order: 7;
}

body.lang-en .repair-form .repair-form-item[data-equipment="washing"] {
    order: 8;
}

body.lang-en .repair-form .repair-form-item[data-equipment="thermomix"] {
    order: 9;
}

body.lang-en .repair-form .repair-form-item[data-equipment="karcher-vacuum"] {
    order: 10;
}

body.lang-en .repair-form .repair-form-item[data-equipment="dyson-vacuum"] {
    order: 11;
}

body.lang-en .repair-form .repair-form-item[data-equipment="refrigerator"] {
    order: 12;
}

body.lang-en .repair-form .repair-form-item[data-equipment="dyson-hairdryer"] {
    order: 13;
}

body.lang-en .repair-form .repair-form-item[data-equipment="coffee"] {
    order: 14;
}

/* Polish — equipment order (repair + testimonial forms) */
body.lang-pl .repair-form .repair-form-item[data-equipment="oven"] {
    order: 1;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="induction"] {
    order: 2;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="hood"] {
    order: 3;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="refrigerator"] {
    order: 4;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="dishwasher"] {
    order: 5;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="thermomix"] {
    order: 6;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="microwave"] {
    order: 7;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="coffee"] {
    order: 8;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="dryer"] {
    order: 9;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="washing"] {
    order: 10;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="washer-dryer"] {
    order: 11;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="karcher-vacuum"] {
    order: 12;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="dyson-vacuum"] {
    order: 13;
}

body.lang-pl .repair-form .repair-form-item[data-equipment="dyson-hairdryer"] {
    order: 14;
}

/* Ukrainian — equipment order (repair + testimonial forms) */
body.lang-uk .repair-form .repair-form-item[data-equipment="refrigerator"] {
    order: 1;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="hood"] {
    order: 2;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="oven"] {
    order: 3;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="induction"] {
    order: 4;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="microwave"] {
    order: 5;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="coffee"] {
    order: 6;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="dishwasher"] {
    order: 7;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="washing"] {
    order: 8;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="dryer"] {
    order: 9;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="washer-dryer"] {
    order: 10;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="dyson-hairdryer"] {
    order: 11;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="dyson-vacuum"] {
    order: 12;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="karcher-vacuum"] {
    order: 13;
}

body.lang-uk .repair-form .repair-form-item[data-equipment="thermomix"] {
    order: 14;
}

/* Ukrainian: −2px horizontal gap so «Прально-сушильна» + «Фен Dyson» fit one row (~414px viewports) */
@media (max-width: 415px) {
    body.lang-uk .repair-form .repair-form__items {
        column-gap: 10px;
    }
}

/* Russian — equipment order */
body.lang-ru .repair-form .repair-form-item[data-equipment="refrigerator"] {
    order: 1;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="hood"] {
    order: 2;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="oven"] {
    order: 3;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="induction"] {
    order: 4;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="microwave"] {
    order: 5;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="coffee"] {
    order: 6;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="dishwasher"] {
    order: 7;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="thermomix"] {
    order: 8;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="washing"] {
    order: 9;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="washer-dryer"] {
    order: 10;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="dryer"] {
    order: 11;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="dyson-hairdryer"] {
    order: 12;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="dyson-vacuum"] {
    order: 13;
}

body.lang-ru .repair-form .repair-form-item[data-equipment="karcher-vacuum"] {
    order: 14;
}

.repair-form-item {
    border: none;
    border-radius: 9999px;
    padding: 6px 18px;
    background: #f1f1f1;
    color: #141000;
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    line-height: 24px;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form items */
body.lang-uk .repair-form-item,
body.lang-ru .repair-form-item {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form-item:hover,
.repair-form-item:focus-visible {
    background: #d1d6d2;
    outline: none;
}

/* Remove hover state on touch devices after interaction */
@media (hover: none) and (pointer: coarse) {
    .repair-form-item:not(.repair-form-item--selected):active {
        background: #d1d6d2;
    }
    
    .repair-form-item:not(:active):not(.repair-form-item--selected) {
        background: #f1f1f1;
    }
}

.repair-form-item--selected,
.repair-form-item--selected:hover,
.repair-form-item--selected:focus-visible {
    background: #141000;
    color: #ffffff;
}

.repair-form-item--no-hover {
    background: #f1f1f1 !important;
    color: #141000 !important;
}

.repair-form-item--no-hover.repair-form-item--selected {
    background: #141000 !important;
    color: #ffffff !important;
}

.repair-form__actions {
    display: flex;
    justify-content: flex-start;
}

.repair-form__cta {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 20px 26px 20px 36px;
    font-size: 17px;
    line-height: 28px;
    border-radius: 9999px;
    height: 68px;
    box-sizing: border-box;
}

.repair-form__cta:hover {
    transform: translateY(-1px);
}

.repair-form__cta-text-wrapper {
    display: inline-flex;
}

.repair-form__cta-text {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.repair-form__cta-icon {
    display: inline-flex;
    width: 24px;
    height: 24px;
    position: relative;
    z-index: 2;
}

.repair-form__cta-icon img {
    width: 100%;
    height: 100%;
    display: block;
    transition: filter 0.3s ease;
}

.cta-button__text--hover .repair-form__cta-icon img {
    filter: invert(1);
}

#repairFormSubmit.repair-form__cta {
    padding: 20px 36px;
    height: 68px;
}

#testimonialFormSubmit.repair-form__cta {
    padding: 20px 36px;
    height: 68px;
}

@media (min-width: 1320px) {
    .repair-form-wrapper {
        padding: 120px 24px 120px;
    }
}

@media (max-width: 920px) {
    .repair-form-wrapper {
        padding: 104px 40px 120px;
    }
}

@media (max-width: 768px) {
    .repair-form-wrapper {
        padding: 80px 40px 80px;
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 32px;
    }

    /* 32px between checkbox row and submit (in-flow on mobile repair form) */
    #repairForm.repair-form--contact-active .repair-form__contact-inline:not([hidden]) {
        gap: 32px;
    }

    #repairForm.repair-form--contact-active .repair-form__checkbox-wrapper {
        margin-bottom: 0;
    }

    .repair-form__title {
        font-size: 28px;
        line-height: 40px;
    }
}

@media (max-width: 668px) {
    .repair-form-wrapper {
        padding: 48px 40px 80px;
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 32px;
    }

    .repair-form {
        gap: 48px;
    }
}

@media (max-width: 619px) {
    .repair-form-wrapper {
        padding: 48px 20px 80px;
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 32px;
    }
}

@media (max-width: 480px) {
    .repair-form__success {
        padding: 96px 16px;
    }

    .repair-form__success-card {
        padding: 40px 24px;
    }

    .repair-form__success-title {
        font-size: 28px;
        line-height: 36px;
    }

    .repair-form__success-text {
        font-size: 15px;
        line-height: 24px;
    }

    .repair-form-wrapper {
        padding: 32px 16px 48px 16px;
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 32px;
    }

    /* Success page specific padding */
    .repair-form-wrapper:has(.repair-form__success:not([hidden])) {
        padding: 32px 20px 48px 20px;
    }

    .repair-form {
        gap: 48px;
    }

    .repair-form__title {
        font-size: 24px;
        line-height: 32px;
    }

    .repair-form__items {
        row-gap: 16px;
        column-gap: 12px;
    }

    .repair-form__contact-form .repair-form__title {
        margin-bottom: 32px;
    }

    /* Extra horizontal padding for inputs on step 2 (fields only, not title) */
    .repair-form__step[data-step="2"] .repair-form__fields {
        padding: 0 4px;
        box-sizing: border-box;
    }

    #repairForm .repair-form__contact-inline .repair-form__fields--phone-only {
        padding: 0 4px;
        box-sizing: border-box;
    }

    .repair-form__actions {
        position: fixed;
        bottom: 32px;
        left: 16px;
        right: 16px;
        width: auto;
        z-index: 100;
        align-items: stretch;
    }

    /* Repair form: full-width submit in flow (testimonial "Dalej" stays fixed above) */
    #repairForm.repair-form--contact-active .repair-form__actions--repair-submit {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: auto !important;
        box-shadow: none !important;
        margin-top: 0;
    }

    .repair-form__step[data-step="2"] .repair-form__actions {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: auto !important;
        box-shadow: none !important;
    }

    .repair-form__cta {
        display: flex;
        flex: 1;
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
    }

    #repairForm.repair-form--contact-active .repair-form__actions--repair-submit .repair-form__cta {
        box-shadow: none;
    }

}

@media (max-width: 414px) {
    .repair-form-wrapper {
        padding: 32px 15px 48px 16px; /* Fixed values at 414px - top 32px, bottom 48px, left 16px, right 15px */
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 32px;
    }

    /* Success page specific padding */
    .repair-form-wrapper:has(.repair-form__success:not([hidden])) {
        padding: 32px 20px 48px 20px;
    }

    /* Align step 2 content to 32 / 16 / 48 / 16 relative to viewport */
    .repair-form__step[data-step="2"] {
        padding: 0 1px 0 0; /* add 1px on the right (15 + 1 = 16) */
        box-sizing: border-box;
    }

    .repair-form {
        gap: 11.59vw; /* 48px at 414px */
    }

    .repair-form__stepper {
        gap: 2.90vw; /* 12px at 414px */
    }

    .repair-form__progress {
        gap: 1.93vw; /* 8px at 414px */
    }

    .repair-form__progress-track {
        height: 1.21vw; /* 5px at 414px */
    }

    .repair-form__progress-track--current {
        min-width: 33.82vw; /* 140px at 414px */
    }

    .repair-form__progress-bar {
        width: 11.59vw; /* 48px at 414px */
        height: 1.21vw; /* 5px at 414px */
    }

    .repair-form__step-label {
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.83vw; /* 20px at 414px */
    }

    .repair-form__content {
        gap: 9.66vw; /* 40px at 414px */
    }

    .repair-form__title {
        font-size: 5.80vw; /* 24px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
        margin: 0 0 7.73vw 0; /* 0 0 32px 0 at 414px */
    }

    .repair-form__contact-form .repair-form__title {
        margin-bottom: 32px; /* Fixed value at 414px */
    }

    .repair-form__items {
        row-gap: 16px; /* Fixed value at 414px */
        column-gap: 12px; /* Fixed value at 414px */
    }

    .repair-form-item {
        padding: 6px 18px; /* Fixed values at 414px */
        font-size: 16px; /* Fixed value at 414px */
        line-height: 24px; /* Fixed value at 414px */
    }

    .repair-form__actions {
        position: fixed;
        bottom: 32px; /* Fixed value at 414px */
        left: 16px; /* Fixed value at 414px */
        right: 16px; /* Fixed value at 414px */
        width: auto;
        z-index: 100;
        align-items: stretch;
    }

    .repair-form__step[data-step="2"] .repair-form__actions {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: auto !important;
        box-shadow: none !important;
    }

    .repair-form__cta {
        display: flex;
        flex: 1;
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        padding: 4.83vw 6.28vw 4.83vw 8.70vw; /* 20px 26px 20px 36px at 414px */
        height: 16.43vw; /* 68px at 414px */
        font-size: 4.11vw; /* 17px at 414px */
        line-height: 6.76vw; /* 28px at 414px */
        box-shadow: 0 -0.97vw 2.90vw rgba(0, 0, 0, 0.1); /* 0 -4px 12px at 414px */
    }

    .repair-form__cta-text {
        gap: 2.90vw; /* 12px at 414px */
    }

    .repair-form__cta-icon {
        width: 5.80vw; /* 24px at 414px */
        height: 5.80vw; /* 24px at 414px */
    }

    #repairFormSubmit.repair-form__cta {
        padding: 4.83vw 8.70vw;
        height: 16.43vw;
    }
}

@media (max-width: 413px) {
    .repair-form-wrapper {
        padding: 7.73vw 3.62vw 11.59vw 3.86vw; /* Proportional scaling from 414px base - top 32px, bottom 48px */
    }

    .repair-form-wrapper:has(#repairForm.repair-form--contact-active) {
        padding-bottom: 7.73vw; /* 32px at 414px */
    }

    /* Success page specific padding */
    .repair-form-wrapper:has(.repair-form__success:not([hidden])) {
        padding: 7.73vw 4.83vw 11.59vw 4.83vw; /* 20px on both sides at 414px */
    }

    /* Keep step 2 content symmetric when scaling below 414px */
    .repair-form__step[data-step="2"] {
        padding: 0 0.24vw 0 0; /* proportional to 1px at 414px (1 / 414 ≈ 0.24vw) */
        box-sizing: border-box;
    }

    .repair-form {
        gap: 11.59vw;
    }

    .repair-form__stepper {
        gap: 2.90vw;
    }

    .repair-form__progress {
        gap: 1.93vw;
    }

    .repair-form__progress-track {
        height: 1.21vw;
    }

    .repair-form__progress-track--current {
        min-width: 33.82vw;
    }

    .repair-form__progress-bar {
        width: 11.59vw;
        height: 1.21vw;
    }

    .repair-form__step-label {
        font-size: 3.38vw;
        line-height: 4.83vw;
    }

    .repair-form__content {
        gap: 9.66vw;
    }

    .repair-form__title {
        font-size: 5.80vw;
        line-height: 7.73vw;
        margin: 0 0 7.73vw 0;
    }

    .repair-form__contact-form .repair-form__title {
        margin-bottom: 7.73vw; /* 32px at 414px, proportional scaling from 413px */
    }

    .repair-form__items {
        row-gap: 3.86vw; /* 16px at 414px */
        column-gap: 2.90vw; /* 12px at 414px */
    }

    .repair-form-item {
        padding: 1.45vw 4.35vw; /* 6px 18px at 414px */
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.80vw; /* 24px at 414px */
    }

    .repair-form__actions {
        position: fixed;
        bottom: 7.73vw; /* 32px at 414px */
        left: 3.86vw; /* 16px at 414px */
        right: 3.86vw; /* 16px at 414px */
        width: auto;
        z-index: 100;
        align-items: stretch;
    }

    .repair-form__step[data-step="2"] .repair-form__actions {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: auto !important;
        box-shadow: none !important;
    }

    .repair-form__cta {
        display: flex;
        flex: 1;
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        padding: 4.83vw 6.28vw 4.83vw 8.70vw;
        font-size: 4.11vw;
        line-height: 6.76vw;
        box-shadow: 0 -0.97vw 2.90vw rgba(0, 0, 0, 0.1);
    }

    .repair-form__cta-text {
        gap: 2.90vw;
    }

    .repair-form__cta-icon {
        width: 5.80vw;
        height: 5.80vw;
    }
}

/* Step 2: Contact Details Form */
.repair-form__step {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

/* Repair form: phone + submit below equipment (single scrollable step).
   Use :not([hidden]) so #id specificity does not override the hidden attribute (otherwise title + phone stay visible). */
#repairForm .repair-form__contact-inline:not([hidden]) {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

#repairForm .repair-form__fields--phone-only {
    max-width: 848px;
}

#repairForm .repair-form__fields--phone-only .repair-form__fields-column {
    flex: none;
    width: 100%;
    max-width: 100%;
}

/* Desktop: larger space between equipment grid and contact heading; mobile keeps 40px / 9.66vw from .repair-form__content */
@media (min-width: 769px) {
    #repairForm .repair-form__content.repair-form__step[data-step="1"] {
        gap: 64px;
    }

    /* Same 420px column for label row + input so (wymagane) lines up with input right edge */
    #repairForm #repairFormPhoneSection.repair-form__field {
        max-width: 420px;
        width: 100%;
    }

    #repairForm #phone.repair-form__input {
        width: 100%;
        max-width: 100%;
    }

    #repairForm .repair-form__actions--repair-submit {
        justify-content: center;
        width: 100%;
    }
}

.repair-form__step[data-step="2"] {
    align-items: center;
}

.repair-form__contact-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 848px;
}

.repair-form__fields {
    display: flex;
    gap: 48px;
    width: 100%;
}

.repair-form__fields-column {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1;
    min-width: 0;
}

/* Testimonial form: vertical layout for fields */
#testimonialForm .repair-form__fields {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 100%;
}

/* Testimonial form: horizontal row for two fields */
.repair-form__fields-row {
    display: flex;
    gap: 16px;
    width: 100%;
}

.repair-form__fields-row .repair-form__field {
    flex: 1;
    min-width: 0;
}

/* Textarea styles */
.repair-form__textarea {
    resize: vertical;
    min-height: 120px;
    font-family: 'Sora', sans-serif;
}

.repair-form__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

/* Add margin-bottom for street input to create space for dropdown */
#street.repair-form__input {
    margin-bottom: 4px;
}

/* Fallback for browsers that don't support :has() */
.repair-form__field:has(#street) {
    margin-bottom: 4px;
}

.repair-form__field-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.repair-form__label {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #141000;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form labels */
body.lang-uk .repair-form__label,
body.lang-ru .repair-form__label {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form__required {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 16px;
    color: rgba(20, 16, 0, 0.4);
    text-align: right;
    white-space: nowrap;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form required indicator */
body.lang-uk .repair-form__required,
body.lang-ru .repair-form__required {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form__input {
    width: 100%;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid rgba(20, 16, 0, 0.1);
    border-radius: 16px;
    font-family: 'Sora', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: rgba(20, 16, 0, 0.8);
    transition: border-color 0.3s ease;
    box-sizing: border-box;
    margin-bottom: 4px;
}

.repair-form__input:focus {
    outline: none;
    border-color: #141000;
}

.repair-form__input::placeholder {
    color: rgba(20, 16, 0, 0.8);
}

/* Remove Chrome/Safari/Edge pale autofill background; keep our white field look */
.repair-form__input:-webkit-autofill,
.repair-form__input:-webkit-autofill:hover,
.repair-form__input:-webkit-autofill:focus,
.repair-form__input:-webkit-autofill:active {
    -webkit-text-fill-color: rgba(20, 16, 0, 0.8);
    caret-color: #141000;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    border: 1px solid rgba(20, 16, 0, 0.1);
    transition: background-color 99999s ease-out 0s;
}

.repair-form__input:-webkit-autofill:focus {
    border-color: #141000;
}

.repair-form__input:autofill,
.repair-form__input:autofill:hover,
.repair-form__input:autofill:focus {
    box-shadow: 0 0 0 1000px #ffffff inset;
    -webkit-text-fill-color: rgba(20, 16, 0, 0.8);
    color: rgba(20, 16, 0, 0.8);
    border: 1px solid rgba(20, 16, 0, 0.1);
}

.repair-form__input:autofill:focus {
    border-color: #141000;
}

@media (max-width: 619px) {
    .repair-form__input {
        font-size: 16px;
        line-height: 24px;
        padding: 16px;
    }
}

.repair-form__checkbox-wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
    margin-top: 32px;
}

@media (max-width: 768px) {
    #repairForm .repair-form__checkbox-wrapper {
        margin-bottom: 32px;
    }
}

.repair-form__success {
    display: none;
    width: 100%;
    padding: 0;
    margin-top: 48px;
}

.repair-form__success[hidden] {
    display: none !important;
}

.repair-form__success-card {
    max-width: 484px;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: center;
    box-shadow: none;
    margin: 0 auto;
}

.repair-form__success-icon {
    width: 96px;
    height: 96px;
    margin: 0 auto 40px;
    border-radius: 50%;
    background: rgba(67, 214, 153, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
}

.repair-form__success-icon img {
    width: 96px;
    height: 96px;
}

.repair-form__success-label {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(20, 16, 0, 0.6);
    margin: 0 0 8px;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form success label */
body.lang-uk .repair-form__success-label,
body.lang-ru .repair-form__success-label {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form__success-title {
    margin: 0 0 24px;
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 48px;
    color: #141000;
}

.repair-form__success-text {
    margin: 0 0 56px;
    font-family: 'Sora', sans-serif;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form success text */
body.lang-uk .repair-form__success-text,
body.lang-ru .repair-form__success-text {
    font-family: 'Noto Sans', sans-serif;
}
}

.repair-form__success-actions {
    display: block;
    text-align: center;
    margin: 0;
}

.repair-form__success-cta {
    font-size: 17px;
    line-height: 28px;
    padding: 36px;
}

/* On success screen keep CTA natural size (no full-width flex from step styles) */
.repair-form__success .repair-form__cta {
    display: inline-flex;
    flex: 0;
    width: auto;
    min-width: auto;
    justify-content: center;
    text-align: center;
}

.repair-form__success-secondary {
    font-family: 'Sora', sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: #141000;
    background: transparent;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form success secondary */
body.lang-uk .repair-form__success-secondary,
body.lang-ru .repair-form__success-secondary {
    font-family: 'Noto Sans', sans-serif;
}
    border: none;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.repair-form__success-secondary:hover {
    color: rgba(20, 16, 0, 0.8);
}

.repair-form--hidden {
    display: none !important;
}

@media (max-width: 580px) {
    .repair-form__success-card {
        max-width: 848px;
        text-align: left;
        margin: 0 auto;
    }

    .repair-form__success-icon {
        width: 80px;
        height: 80px;
        margin: 0 0 32px;
        margin-left: 0; /* Ensure icon is left-aligned on mobile */
    }

    .repair-form__success-icon img {
        width: 80px;
        height: 80px;
    }

    .repair-form__success-title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 24px;
        text-align: left; /* Ensure title is left-aligned on mobile */
    }

    .repair-form__success-text {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 56px;
        text-align: left; /* Ensure text is left-aligned on mobile */
    }

    .repair-form__success-actions {
        text-align: center; /* Center the button on mobile */
        justify-content: center;
    }
}

/* Success message: fixed values at 414px */
@media (max-width: 414px) {
    .repair-form__success {
        margin-top: 48px;
    }

    .repair-form__success-icon {
        width: 80px;
        height: 80px;
        margin: 0 0 32px;
        margin-left: 0; /* Ensure icon is left-aligned on mobile */
    }

    .repair-form__success-icon img {
        width: 80px;
        height: 80px;
    }

    .repair-form__success-title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 24px;
        text-align: left; /* Ensure title is left-aligned on mobile */
    }

    .repair-form__success-text {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 56px;
        text-align: left; /* Ensure text is left-aligned on mobile */
    }

    .repair-form__success-cta {
        font-size: 17px;
        line-height: 28px;
        padding: 36px;
    }

    .repair-form__success-label {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 2px;
        margin: 0 0 8px;
        text-align: left; /* Ensure label is left-aligned on mobile */
    }

    .repair-form__success-actions {
        text-align: center; /* Center the button on mobile */
    }
}

/* Success message: proportional scaling from 413px */
@media (max-width: 413px) {
    .repair-form__success {
        margin-top: 11.59vw; /* 48px at 414px */
    }

    .repair-form__success-icon {
        width: 19.32vw; /* 80px at 414px */
        height: 19.32vw;
        margin: 0 0 7.73vw; /* 32px at 414px */
        margin-left: 0; /* Ensure icon is left-aligned on mobile */
    }

    .repair-form__success-icon img {
        width: 19.32vw;
        height: 19.32vw;
    }

    .repair-form__success-title {
        font-size: 5.80vw; /* 24px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
        margin-bottom: 5.80vw; /* 24px at 414px */
        text-align: left; /* Ensure title is left-aligned on mobile */
    }

    .repair-form__success-text {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.80vw; /* 24px at 414px */
        margin-bottom: 13.53vw; /* 56px at 414px */
        text-align: left; /* Ensure text is left-aligned on mobile */
    }

    .repair-form__success-cta {
        font-size: 4.11vw; /* 17px at 414px */
        line-height: 6.76vw; /* 28px at 414px */
        padding: 8.70vw; /* 36px at 414px */
    }

    .repair-form__success-label {
        text-align: left; /* Ensure label is left-aligned on mobile */
    }

    .repair-form__success-actions {
        text-align: center; /* Center the button on mobile */
    }
}

/* Success label: proportional scaling from 380px */
@media (max-width: 380px) {
    .repair-form__success-label {
        font-size: 3.68vw; /* 14px at 380px */
        line-height: 5.26vw; /* 20px at 380px */
        letter-spacing: 0.53vw; /* 2px at 380px */
        margin: 0 0 2.11vw; /* 8px at 380px */
    }
}

.repair-form__checkbox {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    background: #ffffff;
    cursor: pointer;
    appearance: none;
    position: relative;
    flex-shrink: 0;
}

.repair-form__checkbox:checked {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.1);
}

.repair-form__checkbox:checked::after {
    content: '';
    position: absolute;
    top: 10%;
    left: 10%;
    width: 80%;
    height: 80%;
    background-image: url('assets/icon-check.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.repair-form__checkbox-label {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: rgba(22, 22, 22, 0.8);
    letter-spacing: 0.24px;
    cursor: pointer;
    flex: 1;
    min-width: 0;
}

/* Use Noto Sans for Ukrainian and Russian languages in repair form checkbox label */
body.lang-uk .repair-form__checkbox-label,
body.lang-ru .repair-form__checkbox-label {
    font-family: 'Noto Sans', sans-serif;
}

.repair-form__terms-link {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.repair-form__terms-link:hover {
    color: #141000;
}

.repair-form__terms-link:focus-visible {
    outline: 2px solid #141000;
    outline-offset: 2px;
}

.repair-form__cta--back {
    background: transparent;
    border: 2px solid #141000;
}

.repair-form__cta--back .cta-button__text--original {
    color: #141000;
}

.repair-form__cta--back .cta-button__text--hover {
    color: #ffffff;
}

.repair-form__cta--back .cta-button__fill {
    background: #141000;
}

.repair-form__actions[data-step="2"] {
    display: flex;
    gap: 14px;
    justify-content: center;
    width: 100%;
}

@media (max-width: 768px) {
    .repair-form__fields {
        flex-direction: column;
        gap: 32px;
    }

    .repair-form__fields-column {
        width: 100%;
    }

    /* Testimonial form: stack fields vertically on mobile */
    #testimonialForm .repair-form__fields-row {
        flex-direction: column;
        gap: 32px;
    }

    #testimonialForm .repair-form__fields-row .repair-form__field {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .repair-form__contact-form {
        gap: 0;
    }

    .repair-form__fields {
        gap: 24px;
    }

    .repair-form__fields-column {
        gap: 24px;
    }

    .repair-form__actions[data-step="2"] {
        flex-direction: column;
        gap: 12px;
    }

    .repair-form__cta--back,
    .repair-form__cta[data-step="2"] {
        width: 100%;
    }
}

@media (max-width: 414px) {
    .repair-form__contact-form {
        gap: 0;
    }

    .repair-form__fields {
        gap: 24px;
        flex-direction: column;
    }

    .repair-form__fields-column {
        gap: 24px;
    }

    .repair-form__field {
        gap: 8px;
    }

    .repair-form__label {
        font-size: 3.38vw; /* 14px at 414px */
        line-height: 4.83vw; /* 20px at 414px */
    }

    .repair-form__required {
        font-size: 2.42vw; /* 10px at 414px */
        line-height: 3.86vw; /* 16px at 414px */
    }

    .repair-form__input {
        padding: 16px;
        font-size: 16px;
        line-height: 24px;
        border-radius: 16px;
    }

    .repair-form__checkbox-wrapper {
        gap: 1.93vw; /* 8px at 414px */
        margin-top: 32px;
    }

    .repair-form__checkbox {
        width: 20px;
        height: 20px;
        border-radius: 6px;
    }

    .repair-form__checkbox-label {
        font-size: 2.90vw; /* 12px at 414px */
        line-height: 4.35vw; /* 18px at 414px */
    }

    .repair-form__actions[data-step="2"] {
        gap: 3.38vw; /* 14px at 414px */
    }
}

@media (max-width: 413px) {
    .repair-form__contact-form {
        gap: 0;
    }

    .repair-form__fields {
        gap: 5.80vw;
        flex-direction: column;
    }

    .repair-form__fields-column {
        gap: 5.80vw;
    }

    .repair-form__field {
        gap: 1.93vw;
    }

    .repair-form__input {
        padding: 3.86vw;
        border-radius: 3.86vw;
    }

    .repair-form__label {
        font-size: 3.38vw;
        line-height: 4.83vw;
    }

    .repair-form__required {
        font-size: 2.42vw;
        line-height: 3.86vw;
    }

    .repair-form__checkbox-wrapper {
        gap: 8px;
        margin-top: 7.73vw;
    }

    .repair-form__checkbox {
        width: 20px;
        height: 20px;
        border-radius: 6px;
    }

    .repair-form__checkbox-label {
        font-size: 2.90vw;
        line-height: 4.35vw;
    }

    .repair-form__actions[data-step="2"] {
        gap: 3.38vw;
    }
}

@media (max-width: 390px) {
    .repair-form__input {
        font-size: calc(16px * 100vw / 390);
        line-height: calc(24px * 100vw / 390);
    }
}

/* Privacy Policy Page */
.privacy-policy-section {
    padding-top: clamp(80px, calc(80px + (100vw - 1140px) * 0 / 300), 80px);
    padding-bottom: clamp(80px, calc(80px + (100vw - 1140px) * 0 / 300), 80px);
}

.privacy-policy-container {
    max-width: 640px;
    margin: 0 auto;
}

.privacy-policy-heading {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 48px;
}

.privacy-policy-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 40px;
    color: #141000;
    margin: 0;
}

.privacy-policy-company {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    color: #141000;
    margin: 0;
}

.privacy-policy-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.privacy-policy-paragraph {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.privacy-policy-paragraph .privacy-policy-paragraph {
    gap: 8px;
}

.privacy-policy-subtitle {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    color: #141000;
    margin: 0;
}

.privacy-policy-subtitle-note {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
    margin: 0;
}

.privacy-policy-text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
}

.privacy-policy-text p {
    margin: 0 0 12px 0;
}

.privacy-policy-text p:last-child {
    margin-bottom: 0;
}

.privacy-policy-list {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 0;
    color: #141000;
    list-style: decimal;
    margin: 0;
    padding-left: 24px;
}

.privacy-policy-list li {
    margin-bottom: 12px;
    line-height: 24px;
}

.privacy-policy-list li:last-child {
    margin-bottom: 0;
}

.privacy-policy-list li span {
    line-height: 24px;
}

.privacy-policy-list li strong {
    font-weight: 600;
}

.privacy-policy-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.privacy-policy-link:hover,
.privacy-policy-link:focus,
.privacy-policy-link:active {
    text-decoration: none;
    color: inherit;
}

/* Responsive styles for Privacy Policy */
@media (max-width: 1139px) {
    .privacy-policy-title {
        font-size: clamp(28px, calc(28px + (100vw - 414px) * 4 / 725), 32px);
        line-height: clamp(40px, calc(40px + (100vw - 414px) * 0 / 725), 40px);
    }

    .privacy-policy-company {
        font-size: clamp(18px, calc(18px + (100vw - 414px) * 2 / 725), 20px);
        line-height: clamp(28px, calc(28px + (100vw - 414px) * 2 / 725), 30px);
    }

    .privacy-policy-subtitle {
        font-size: clamp(18px, calc(18px + (100vw - 414px) * 2 / 725), 20px);
        line-height: clamp(28px, calc(28px + (100vw - 414px) * 2 / 725), 30px);
    }

    .privacy-policy-text,
    .privacy-policy-list,
    .privacy-policy-subtitle-note {
        font-size: clamp(14px, calc(14px + (100vw - 414px) * 2 / 725), 16px);
        line-height: clamp(22px, calc(22px + (100vw - 414px) * 2 / 725), 24px);
    }

    .privacy-policy-list li span {
        line-height: clamp(22px, calc(22px + (100vw - 414px) * 2 / 725), 24px);
    }
}

@media (max-width: 724px) {
    .privacy-policy-heading {
        text-align: left;
    }
}

@media (max-width: 619px) {
    .privacy-policy-section {
        padding-top: 32px;
        padding-bottom: 32px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .privacy-policy-container {
        padding-left: 0;
        padding-right: 0;
    }

    .privacy-policy-heading {
        margin-bottom: 32px;
    }

    .privacy-policy-title {
        font-size: 28px;
        line-height: 40px;
    }

    .privacy-policy-company {
        font-size: 18px;
        line-height: 28px;
    }

    .privacy-policy-content {
        gap: 32px;
    }

    .privacy-policy-paragraph {
        gap: 16px;
    }

    .privacy-policy-subtitle {
        font-size: 18px;
        line-height: 28px;
    }

    .privacy-policy-text,
    .privacy-policy-list,
    .privacy-policy-subtitle-note {
        font-size: 14px;
        line-height: 22px;
    }

    .privacy-policy-list li {
        margin-bottom: 8px;
    }

    .privacy-policy-list li span {
        line-height: 22px;
    }
}

/* Naprawa Page Styles */
.naprawa-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.naprawa-heading {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    justify-content: center;
    padding: 64px 48px 80px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
}

.naprawa-heading-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 56px;
    color: #141000;
    text-align: left;
    margin: 0;
}

.naprawa-heading-description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #0D0F12;
    text-align: left;
    margin: 24px 0 0 0;
    width: 100%;
}

/* Use Noto Sans for Ukrainian and Russian versions in naprawa page description and cards */
body.lang-uk .naprawa-heading-description,
body.lang-uk .naprawa-card-text,
body.lang-ru .naprawa-heading-description,
body.lang-ru .naprawa-card-text {
    font-family: 'Noto Sans', sans-serif;
}

.naprawa-container {
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 48px;
    padding-right: 48px;
    padding-bottom: 80px;
    width: 100%;
}

.naprawa-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
}

.naprawa-card {
    background: #f9fafa;
    border-radius: 24px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 64px;
    align-items: flex-start;
    justify-content: center;
    flex: 1 1 calc(33.333% - 11px);
    min-width: 340px;
    border: 1px solid transparent;
    transition: border-color 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.naprawa-card:hover {
    border-color: #141000;
}

.naprawa-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.naprawa-card-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 40px;
    color: #141000;
    margin: 0;
    padding: 0;
    height: 80px;
    overflow: hidden;
    white-space: normal;
}

.naprawa-card-arrow {
    width: 28px;
    height: 32px;
    flex-shrink: 0;
    padding-top: 4px;
    display: flex;
    align-items: flex-start;
}

.naprawa-card-arrow img {
    width: 28px;
    height: 28px;
    display: block;
}

.naprawa-card-icon-container {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Fallback: show icons by default on Safari mobile if JS doesn't work */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 768px) {
        .naprawa-card-icon-container:not(.animate) {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* Show icons if JavaScript is disabled (fallback) */
.no-js .naprawa-card-icon-container {
    opacity: 1;
    transform: scale(1);
}

/* Animate icons when they become visible */
.naprawa-card-icon-container.animate {
    opacity: 1;
    transform: scale(1);
}

.naprawa-card-icon-img {
    width: 80px;
    height: 80px;
    display: block;
    flex-shrink: 0;
}

.naprawa-card-text {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #0d0f12;
    margin: 0;
    height: 84px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

/* Responsive styles for Naprawa Page */
@media (min-width: 725px) and (max-width: 1139px) {
    .naprawa-heading-title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (min-width: 620px) and (max-width: 724px) {
    .naprawa-heading {
        padding: 64px 40px;
    }

    .naprawa-heading-title {
        font-size: 40px;
        line-height: 48px;
    }

    .naprawa-heading-description {
        font-size: 18px;
        line-height: 28px;
    }

    .naprawa-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (max-width: 619px) {
    .naprawa-heading {
        padding: 32px 20px;
    }

    .naprawa-heading-title {
        font-size: 28px;
        line-height: 40px;
    }

    .naprawa-heading-description {
        font-size: 16px;
        line-height: 24px;
    }

    .naprawa-container {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 40px;
    }

    .naprawa-cards-grid {
        gap: 12px;
    }

    .naprawa-card {
        min-width: 100%;
        flex: 1 1 100%;
        padding: 24px;
        gap: 0;
        background-color: #F4F8F8;
    }

    .naprawa-card-title {
        font-size: 24px;
        line-height: 32px;
        height: 64px;
    }

    .naprawa-card-icon-container {
        margin-top: 56px;
    }

    .naprawa-card-icon-img {
        width: 72px;
        height: 72px;
    }

    .naprawa-card-text {
        font-size: 16px;
        line-height: 24px;
        height: 72px;
        margin-top: 56px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}

/* Fixed values for 414px */
@media (min-width: 414px) and (max-width: 619px) {
    .naprawa-heading {
        padding: 32px 20px;
    }

    .naprawa-heading-title {
        font-size: 28px;
        line-height: 40px;
    }

    .naprawa-heading-description {
        font-size: 16px;
        line-height: 24px;
    }

    .naprawa-container {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 40px;
    }

    .naprawa-cards-grid {
        gap: 12px;
    }

    .naprawa-card {
        min-width: 100%;
        flex: 1 1 100%;
        padding: 24px;
        gap: 0;
        background-color: #F4F8F8;
    }

    .naprawa-card-title {
        font-size: 24px;
        line-height: 32px;
        height: 64px;
    }

    .naprawa-card-icon-container {
        margin-top: 56px;
    }

    .naprawa-card-icon-img {
        width: 72px;
        height: 72px;
    }

    .naprawa-card-text {
        font-size: 16px;
        line-height: 24px;
        height: 72px;
        margin-top: 56px;
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}

@media (min-width: 414px) and (max-width: 441px) {
    .naprawa-heading-title .naprawa-heading-agd {
        display: none;
    }
}

@media (max-width: 413px) {
    .naprawa-heading-title .naprawa-heading-agd {
        display: none;
    }
}

/* Viewport-based scaling for 413px and below - пропорційне масштабування від значень на 414px */
@media (max-width: 413px) {
    .naprawa-heading {
        padding-top: 7.73vw; /* 32px at 414px */
        padding-right: 4.83vw; /* 20px at 414px */
        padding-bottom: 7.73vw; /* 32px at 414px */
        padding-left: 4.83vw; /* 20px at 414px */
    }

    .naprawa-heading-title {
        font-size: 6.76vw; /* 28px at 414px */
        line-height: 9.66vw; /* 40px at 414px */
    }

    .naprawa-heading-description {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.80vw; /* 24px at 414px */
        margin-top: 5.80vw; /* 24px at 414px */
    }

    .naprawa-container {
        padding-left: 4.83vw; /* 20px at 414px */
        padding-right: 4.83vw; /* 20px at 414px */
        padding-bottom: 9.66vw; /* 40px at 414px */
    }

    .naprawa-cards-grid {
        gap: 2.90vw; /* 12px at 414px */
    }

    .naprawa-card {
        min-width: 100%;
        flex: 1 1 100%;
        padding: 5.80vw; /* 24px at 414px */
        gap: 0;
        border-radius: 5.80vw; /* 24px at 414px */
        background-color: #F4F8F8;
    }

    .naprawa-card-title {
        font-size: 5.80vw; /* 24px at 414px */
        line-height: 7.73vw; /* 32px at 414px */
        height: 15.46vw; /* 64px at 414px */
    }

    .naprawa-card-arrow {
        width: 6.76vw; /* 28px at 414px */
        height: 7.73vw; /* 32px at 414px */
        padding-top: 0.97vw; /* 4px at 414px */
    }

    .naprawa-card-arrow img {
        width: 6.76vw; /* 28px at 414px */
        height: 6.76vw; /* 28px at 414px */
    }

    .naprawa-card-icon-container {
        margin-top: 13.53vw; /* 56px at 414px */
    }

    .naprawa-card-icon-img {
        width: 17.39vw; /* 72px at 414px */
        height: 17.39vw; /* 72px at 414px */
    }

    .naprawa-card-text {
        font-size: 3.86vw; /* 16px at 414px */
        line-height: 5.80vw; /* 24px at 414px */
        height: 17.39vw; /* 72px at 414px */
        margin-top: 13.53vw; /* 56px at 414px */
        -webkit-line-clamp: 3;
        line-clamp: 3;
    }
}

/* Article Page Styles */
.article-content {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

/*
 * Homepage sections (.section) sit in .main-content without align-items:center.
 * Inside .article-content, align-items:center shrink-wraps flex items, so
 * benefit / experience / features lose full width and responsive rules break.
 */
.article-content > .section {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Article Header */
.article-header {
    width: 100%;
    padding-top: 80px;
    padding-bottom: 0;
}

.article-header-container {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
}

.article-header-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
    width: 100%;
}

@media (max-width: 515px) {
    .article-header-content {
        gap: 24px;
    }
}

.article-icon-container {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 768px;
    max-width: 100%;
}

.article-icon {
    background: #f9fafa;
    border: 2.55px solid #141000;
    border-radius: 9999px;
    padding: 26px;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.article-icon--blue {
    background: #C4DFFF;
}

.article-icon--orange {
    background: #FF9F59;
}

.article-icon-img {
    width: 52px;
    height: 52px;
    display: block;
}

.article-icon--tall {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 26px;
    padding-right: 26px;
}

.article-icon-img--tall {
    width: 52px;
    height: 78px;
}

/* Dyson vacuum hero: tall SVG, no top padding in circle; bottom 26px like standard */
.article-icon--dyson-vacuum {
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 26px;
    padding-left: 26px;
    padding-right: 26px;
    overflow: visible;
}

/* Shift artwork up — SVG stem starts below viewBox top, removes visible blue gap under circle rim */
.article-icon--dyson-vacuum .article-icon-img--tall {
    transform: translateY(-3px);
}

.article-heading-section {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    max-width: 768px;
    width: 100%;
    text-align: center;
}

.article-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 60px;
    color: #141000;
    margin: 0;
    width: 100%;
}

@media (min-width: 1201px) {
    .article-title {
        font-size: 56px;
        line-height: 72px;
    }
}

/* UK Thermomix: ≤418px — «Ремонт пристроїв» в один рядок, «Thermomix» в другий */
body.lang-uk .article-title__br-thermomix-uk-narrow {
    display: none;
}

@media (max-width: 418px) {
    body.lang-uk .article-title__br-thermomix-uk-desktop {
        display: none;
    }

    body.lang-uk .article-title__br-thermomix-uk-narrow {
        display: inline;
    }
}

.article-description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    color: #141000;
    margin: 0;
    width: 100%;
}

.article-tags {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.article-tag {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
    padding: 6px 16px;
    border: 1px solid #141000;
    border-radius: 9999px;
    white-space: nowrap;
}

.article-tag-dot {
    width: 6px;
    height: 6px;
    background: #141000;
    border-radius: 50%;
    flex-shrink: 0;
}

.article-header__phone-btn {
    margin-top: 16px;
    flex-shrink: 0;
    gap: 12px;
}

.article-header__phone-btn__icon-wrap {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    z-index: 2;
}

.article-header__phone-btn__icon-img {
    display: block;
    width: 20px;
    height: 20px;
}

.article-header__phone-btn__icon-img--original {
    transition: opacity 0.3s ease;
}

.article-header__phone-btn__icon-img--hover {
    position: absolute;
    top: 0;
    left: 0;
    filter: brightness(0);
    transform: translateY(250%);
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.3s ease;
}

.article-header__phone-btn:hover .article-header__phone-btn__icon-img--original {
    opacity: 0;
}

.article-header__phone-btn:hover .article-header__phone-btn__icon-img--hover {
    transform: translateY(0);
    opacity: 1;
}

/* Article Section */
.article-section {
    width: 100%;
    padding-top: 0;
    padding-bottom: 96px;
}

.article-section-container {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
    box-sizing: border-box;
}

.article-section-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
    align-items: center;
    width: 100%;
}

.article-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 720px;
    width: 100%;
}

.article-text-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.article-text-heading {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 40px;
    color: #141000;
    margin: 0;
    width: 100%;
}

.article-text-subheading {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    margin: 0;
    margin-left: 27px;
    position: relative;
    width: 100%;
}

.article-text-subheading::before {
    content: '•';
    position: absolute;
    left: -27px;
    color: #141000;
    font-size: 12px;
    line-height: 28px;
}

.article-text-spacing {
    height: 18px;
    width: 100%;
}

.article-text-paragraph {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    width: 100%;
}

.article-text-paragraph p {
    margin: 0 0 18px 0;
}

.article-text-paragraph p:last-child {
    margin-bottom: 0;
}

.article-text-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    color: #141000;
    width: 100%;
}

.article-text-list li {
    margin-bottom: 12px;
    margin-left: 27px;
    position: relative;
}

.article-text-list li:last-child {
    margin-bottom: 0;
}

.article-text-list li::before {
    content: '•';
    position: absolute;
    left: -27px;
    color: #141000;
}

/* Use Noto Sans for Ukrainian and Russian languages in articles */
body.lang-uk .article-description,
body.lang-uk .article-tag,
body.lang-uk .article-text-subheading,
body.lang-uk .article-text-paragraph,
body.lang-uk .article-text-list,
body.lang-ru .article-description,
body.lang-ru .article-tag,
body.lang-ru .article-text-subheading,
body.lang-ru .article-text-paragraph,
body.lang-ru .article-text-list {
    font-family: 'Noto Sans', sans-serif;
}

.article-cta {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: center;
    margin-top: 64px;
}

.article-cta .cta-button {
    height: 68px;
    padding: 0 36px;
    font-size: 17px;
    line-height: 28px;
}

/* Responsive Styles for Article */
@media (max-width: 992px) {
    .article-header-container,
    .article-section-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (max-width: 515px) {
    .article-icon-container {
        justify-content: flex-start;
        width: 100%;
    }

    .article-heading-section {
        text-align: left;
        align-items: flex-start;
    }

    .article-tags {
        justify-content: flex-start;
    }

    .article-cta {
        justify-content: center;
    }
}

@media (max-width: 724px) {
    .article-header {
        padding-top: 64px;
    }

    .article-header-container,
    .article-section-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-title {
        font-size: clamp(32px, calc(32px + (100vw - 619px) * (40 - 32) / (724 - 619)), 40px);
        line-height: clamp(40px, calc(40px + (100vw - 619px) * (48 - 40) / (724 - 619)), 48px);
    }

    .article-description {
        font-size: 18px;
        line-height: 28px;
    }

    .article-text-heading {
        font-size: 24px;
        line-height: 32px;
    }

    .article-text-paragraph,
    .article-text-list {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (max-width: 619px) {
    .article-content {
        gap: 0;
    }

    .article-header {
        padding-top: 32px;
    }

    .article-header-content {
        gap: 24px;
    }

    .article-icon {
        padding: 20px;
    }

    .article-icon--tall {
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-icon--dyson-vacuum {
        padding-top: 0;
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-icon--dyson-vacuum .article-icon-img--tall {
        transform: translateY(-2px);
    }

    .article-icon-img {
        width: 40px;
        height: 40px;
    }

    .article-icon-img--tall {
        width: 40px;
        height: 60px;
    }

    .article-heading-section {
        gap: 16px;
    }

    .article-title {
        font-size: 28px;
        line-height: 36px;
    }

    .article-description {
        font-size: 16px;
        line-height: 24px;
    }

    .article-tags {
        gap: 8px;
    }

    .article-tag {
        font-size: 16px;
        line-height: 24px;
        padding: 6px 16px;
    }

    .article-tag-dot {
        width: 6px;
        height: 6px;
    }

    .article-section {
        padding-bottom: 64px;
    }

    .article-section-content {
        gap: 32px;
    }

    .article-text-heading {
        font-size: 22px;
        line-height: 30px;
    }

    .article-text-subheading {
        font-size: 16px;
        line-height: 24px;
        margin-left: 27px;
    }

    .article-text-subheading::before {
        left: -27px;
        font-size: 10px;
        line-height: 24px;
    }

    .article-text-paragraph,
    .article-text-list {
        font-size: 16px;
        line-height: 24px;
    }

    .article-cta {
        margin-top: 48px;
    }

    .article-cta .cta-button {
        height: 68px;
        padding: 0 36px;
        font-size: 17px;
        line-height: 28px;
    }
}

/* Fixed values at 414px */
@media (max-width: 414px) {
    .article-header {
        padding-top: 32px;
    }

    .article-header-container,
    .article-section-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-header-content {
        gap: 24px;
    }

    .article-icon {
        padding: 20px;
        border-width: 2.55px;
    }

    .article-icon--tall {
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-icon--dyson-vacuum {
        padding-top: 0;
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .article-icon--dyson-vacuum .article-icon-img--tall {
        transform: translateY(-2px);
    }

    .article-icon-img {
        width: 40px;
        height: 40px;
    }

    .article-icon-img--tall {
        width: 40px;
        height: 60px;
    }

    .article-heading-section {
        gap: 16px;
    }

    .article-title {
        font-size: 28px;
        line-height: 36px;
    }

    .article-description {
        font-size: 16px;
        line-height: 24px;
    }

    .article-section {
        padding-bottom: 64px;
    }

    .article-section-content {
        gap: 32px;
    }

    .article-text-heading {
        font-size: 22px;
        line-height: 30px;
    }

    .article-text-spacing {
        height: 18px;
    }

    .article-text-paragraph,
    .article-text-list {
        font-size: 16px;
        line-height: 24px;
    }

    .article-text-paragraph p {
        margin-bottom: 18px;
    }

    .article-text-list li {
        margin-bottom: 12px;
        margin-left: 27px;
    }

    .article-text-list li::before {
        left: -27px;
    }

    .article-cta {
        margin-top: 48px;
        gap: 14px;
    }

    .article-cta .cta-button {
        height: 68px;
        padding: 0 36px;
        font-size: 17px;
        line-height: 28px;
    }
}

/* Russian article tags (Быстро / Профессионально / Надёжно): fluid scale from 455px */
@media (max-width: 455px) {
    body.lang-ru .article-tags {
        gap: max(6px, calc(8 / 455 * 100vw));
    }

    body.lang-ru .article-tag {
        font-size: max(11.5px, calc(15 / 455 * 100vw));
        line-height: max(17px, calc(22 / 455 * 100vw));
        padding: max(4px, calc(5 / 455 * 100vw)) max(10px, calc(12 / 455 * 100vw));
        border-width: 1px;
    }

    body.lang-ru .article-tag-dot {
        width: max(5px, calc(5.5 / 455 * 100vw));
        height: max(5px, calc(5.5 / 455 * 100vw));
    }
}

/* Article tags: vw scale from 430px; ×0.95 — slightly smaller than pure 414 ref */
@media (max-width: 430px) {
    .article-tags {
        gap: calc(8 / 414 * 100vw * 0.95);
    }

    .article-tag {
        font-size: calc(16 / 414 * 100vw * 0.95);
        line-height: calc(24 / 414 * 100vw * 0.95);
        padding: calc(6 / 414 * 100vw * 0.95) calc(16 / 414 * 100vw * 0.95);
        border-width: 1px;
    }

    .article-tag-dot {
        width: calc(6 / 414 * 100vw * 0.95);
        height: calc(6 / 414 * 100vw * 0.95);
    }
}

/* Viewport-based scaling for 413px and below - vw-based scaling from 414px values */
/* Formula: value_in_px / 414 * 100 = value_in_vw */
@media (max-width: 413px) {
    .article-header {
        padding-top: 7.73vw; /* 32px / 414 * 100 = 7.73vw */
    }

    .article-header-container,
    .article-section-container {
        padding-left: 4.83vw; /* 20px / 414 * 100 = 4.83vw */
        padding-right: 4.83vw;
    }

    .article-header-content {
        gap: 5.80vw; /* 24px / 414 * 100 = 5.80vw */
    }

    .article-icon {
        padding: 4.83vw; /* 20px / 414 * 100 = 4.83vw */
        border-width: 0.62vw; /* 2.55px / 414 * 100 = 0.62vw */
    }

    .article-icon--tall {
        padding-top: 2.42vw; /* ~10px / 414 */
        padding-bottom: 2.42vw;
        padding-left: 4.83vw;
        padding-right: 4.83vw;
    }

    .article-icon--dyson-vacuum {
        padding-top: 0;
        padding-bottom: 4.83vw;
        padding-left: 4.83vw;
        padding-right: 4.83vw;
    }

    .article-icon--dyson-vacuum .article-icon-img--tall {
        transform: translateY(calc(-2 / 414 * 100vw));
    }

    .article-icon-img {
        width: 9.66vw; /* 40px / 414 * 100 = 9.66vw */
        height: 9.66vw;
    }

    .article-icon-img--tall {
        width: 9.66vw;
        height: 14.49vw; /* 9.66 * 78/52 */
    }

    .article-heading-section {
        gap: 3.86vw; /* 16px / 414 * 100 = 3.86vw */
    }

    .article-title {
        font-size: 6.76vw; /* 28px / 414 * 100 = 6.76vw */
        line-height: 8.70vw; /* 36px / 414 * 100 = 8.70vw */
    }

    .article-description {
        font-size: 3.86vw; /* 16px / 414 * 100 = 3.86vw */
        line-height: 5.80vw; /* 24px / 414 * 100 = 5.80vw */
    }

    .article-section {
        padding-bottom: 15.46vw; /* 64px / 414 * 100 = 15.46vw */
    }

    .article-section-content {
        gap: 7.73vw; /* 32px / 414 * 100 = 7.73vw */
    }

    .article-text-heading {
        font-size: 5.31vw; /* 22px / 414 * 100 = 5.31vw */
        line-height: 7.25vw; /* 30px / 414 * 100 = 7.25vw */
    }

    .article-text-subheading {
        font-size: 3.86vw; /* 16px / 414 * 100 = 3.86vw */
        line-height: 5.80vw; /* 24px / 414 * 100 = 5.80vw */
        margin-left: 6.52vw; /* 27px / 414 * 100 = 6.52vw */
    }

    .article-text-subheading::before {
        left: -6.52vw; /* -27px / 414 * 100 = -6.52vw */
        font-size: 2.42vw; /* 10px / 414 * 100 = 2.42vw */
        line-height: 5.80vw; /* 24px / 414 * 100 = 5.80vw */
    }

    .article-text-spacing {
        height: 4.35vw; /* 18px / 414 * 100 = 4.35vw */
    }

    .article-text-paragraph,
    .article-text-list {
        font-size: 3.86vw; /* 16px / 414 * 100 = 3.86vw */
        line-height: 5.80vw; /* 24px / 414 * 100 = 5.80vw */
    }

    .article-text-paragraph p {
        margin-bottom: 4.35vw; /* 18px / 414 * 100 = 4.35vw */
    }

    .article-text-list li {
        margin-bottom: 2.90vw; /* 12px / 414 * 100 = 2.90vw */
        margin-left: 6.52vw; /* 27px / 414 * 100 = 6.52vw */
    }

    .article-text-list li::before {
        left: -6.52vw; /* -27px / 414 * 100 = -6.52vw */
    }

    .article-cta {
        margin-top: 11.59vw; /* 48px / 414 * 100 = 11.59vw */
        gap: 3.38vw; /* 14px / 414 * 100 = 3.38vw */
    }

    .article-cta .cta-button {
        height: 16.43vw; /* 68px / 414 * 100 = 16.43vw */
        padding: 0 8.70vw; /* 36px / 414 * 100 = 8.70vw */
        font-size: 4.11vw; /* 17px / 414 * 100 = 4.11vw */
        line-height: 6.76vw; /* 28px / 414 * 100 = 6.76vw */
    }
}

/* Contact Page Styles */
.contact-page-header {
    padding-top: 64px;
    padding-bottom: 64px;
}

.contact-page-container {
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 48px;
    padding-right: 48px;
}

.contact-page-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.contact-page-heading {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contact-page-heading-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-page-subtitle {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
    margin: 0;
}

.contact-page-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 60px;
    color: #181d27;
    margin: 0;
    letter-spacing: -0.96px;
}

.contact-page-description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 30px;
    color: #141000;
    margin: 0;
}

/* Use Noto Sans for Ukrainian and Russian languages in contact page */
body.lang-uk .contact-page-description,
body.lang-ru .contact-page-description,
body.lang-uk .contact-card-description,
body.lang-ru .contact-card-description,
body.lang-uk .contact-card-link,
body.lang-ru .contact-card-link {
    font-family: 'Noto Sans', sans-serif;
}

.contact-cards-section {
    padding-bottom: 96px;
}

.contact-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-start;
}

.contact-card {
    flex: 1;
    min-width: 280px;
    background: #c4dfff;
    border-radius: 24px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 62px;
}

.contact-card--blue {
    background: #c4dfff;
}

.contact-card--orange {
    background: #ff9f59;
}

.contact-card--green {
    background: #ccea78;
}

.contact-card-icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.contact-card-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact-card-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-card-text-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-card-title {
    font-family: 'Unbounded', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 30px;
    color: #141000;
    margin: 0;
}

.contact-card-description {
    font-family: 'Sora', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: rgba(20, 16, 0, 0.8);
    margin: 0;
}

.contact-card-link {
    font-family: 'Sora', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #141000;
    text-decoration: none;
    white-space: nowrap;
}

/* Contact Page Viewport-based scaling (1140px-1440px) */
@media (min-width: 1140px) and (max-width: 1440px) {
    .contact-page-header {
        padding-top: clamp(50.67px, calc(50.67px + (100vw - 1140px) * 13.33 / 300), 64px);
        padding-bottom: clamp(50.67px, calc(50.67px + (100vw - 1140px) * 13.33 / 300), 64px);
    }

    .contact-page-container {
        padding-left: clamp(38px, calc(38px + (100vw - 1140px) * 10 / 300), 48px);
        padding-right: clamp(38px, calc(38px + (100vw - 1140px) * 10 / 300), 48px);
    }

    .contact-page-content {
        gap: clamp(38px, calc(38px + (100vw - 1140px) * 10 / 300), 48px);
    }

    .contact-page-heading {
        gap: clamp(19px, calc(19px + (100vw - 1140px) * 5 / 300), 24px);
    }

    .contact-page-heading-group {
        gap: clamp(9.5px, calc(9.5px + (100vw - 1140px) * 2.5 / 300), 12px);
    }

    .contact-page-title {
        font-size: clamp(38px, calc(38px + (100vw - 1140px) * 10 / 300), 48px);
        line-height: clamp(47.5px, calc(47.5px + (100vw - 1140px) * 12.5 / 300), 60px);
        letter-spacing: clamp(-0.76px, calc(-0.76px + (100vw - 1140px) * -0.2 / 300), -0.96px);
    }

    .contact-page-description {
        font-size: clamp(15.83px, calc(15.83px + (100vw - 1140px) * 4.17 / 300), 20px);
        line-height: clamp(23.75px, calc(23.75px + (100vw - 1140px) * 6.25 / 300), 30px);
    }

    .contact-cards-section {
        padding-bottom: clamp(76px, calc(76px + (100vw - 1140px) * 20 / 300), 96px);
    }

    .contact-cards-grid {
        gap: clamp(12.67px, calc(12.67px + (100vw - 1140px) * 3.33 / 300), 16px);
    }

    .contact-card {
        padding: clamp(25.33px, calc(25.33px + (100vw - 1140px) * 6.67 / 300), 32px);
        gap: clamp(49.17px, calc(49.17px + (100vw - 1140px) * 12.83 / 300), 62px);
        border-radius: clamp(19px, calc(19px + (100vw - 1140px) * 5 / 300), 24px);
    }

    .contact-card-icon {
        width: clamp(50.67px, calc(50.67px + (100vw - 1140px) * 13.33 / 300), 64px);
        height: clamp(50.67px, calc(50.67px + (100vw - 1140px) * 13.33 / 300), 64px);
    }

    .contact-card-content {
        gap: clamp(15.83px, calc(15.83px + (100vw - 1140px) * 4.17 / 300), 20px);
    }

    .contact-card-text-group {
        gap: clamp(6.33px, calc(6.33px + (100vw - 1140px) * 1.67 / 300), 8px);
    }

    .contact-card-title {
        font-size: clamp(17.42px, calc(17.42px + (100vw - 1140px) * 4.58 / 300), 22px);
        line-height: clamp(23.75px, calc(23.75px + (100vw - 1140px) * 6.25 / 300), 30px);
    }

    .contact-card-description,
    .contact-card-link {
        font-size: clamp(12.67px, calc(12.67px + (100vw - 1140px) * 3.33 / 300), 16px);
        line-height: clamp(19px, calc(19px + (100vw - 1140px) * 5 / 300), 24px);
    }
}

/* Contact Page Responsive Styles */
@media (max-width: 992px) {
    .contact-page-header {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .contact-cards-section {
        padding-bottom: 64px;
    }
}

@media (min-width: 620px) and (max-width: 992px) {
    .contact-page-container {
        padding-left: 40px;
        padding-right: 40px;
    }
}

@media (max-width: 1139px) {
    .contact-page-title {
        font-size: 40px;
        line-height: 48px;
        letter-spacing: -0.8px;
    }

    .contact-page-description {
        font-size: 18px;
        line-height: 28px;
    }

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

    .contact-card:nth-child(3) {
        grid-column: 1 / -1;
    }
}

@media (min-width: 725px) and (max-width: 810px) {
    .contact-card--orange .contact-card-description {
        min-height: 48px;
    }
}

@media (max-width: 724px) {
    .contact-cards-grid {
        display: flex;
        flex-direction: column;
    }

    .contact-card {
        min-width: 100%;
    }

    .contact-card:nth-child(3) {
        grid-column: auto;
    }
}

@media (max-width: 619px) {
    .contact-page-header {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .contact-page-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contact-page-heading {
        gap: 16px;
    }

    .contact-page-heading-group {
        gap: 8px;
    }

    .contact-page-subtitle {
        font-size: 14px;
        line-height: 20px;
    }

    .contact-page-title {
        font-size: 28px;
        line-height: 40px;
        letter-spacing: -0.56px;
    }

    .contact-page-description {
        font-size: 16px;
        line-height: 24px;
    }

    .contact-cards-section {
        padding-bottom: 48px;
    }

    .contact-cards-grid {
        gap: 16px;
    }

    .contact-card {
        padding: 24px;
        gap: 56px;
    }

    .contact-card-icon {
        width: 56px;
        height: 56px;
    }

    .contact-card-title {
        font-size: 20px;
        line-height: 28px;
    }

    .contact-card-description {
        font-size: 14px;
        line-height: 20px;
    }

    .contact-card-link {
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;
    }
}

@media (max-width: 446px) {
    /* Line breaks disabled for English and Ukrainian versions */
    body:not(.lang-en):not(.lang-uk) .contact-page-title .contact-title-break::before {
        content: '\A';
        white-space: pre;
    }
}

@media (max-width: 447px) {
    /* Line breaks disabled for English and Ukrainian versions */
    body:not(.lang-en):not(.lang-uk) .contact-page-description .contact-description-break::before {
        content: '\A';
        white-space: pre;
    }
}

/* Fixed values at 414px */
@media (max-width: 414px) {
    .contact-page-header {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .contact-page-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contact-page-heading {
        gap: 16px;
    }

    .contact-page-heading-group {
        gap: 8px;
    }

    .contact-page-subtitle {
        font-size: 14px;
        line-height: 20px;
    }

    .contact-page-title {
        font-size: 28px;
        line-height: 40px;
        letter-spacing: -0.56px;
    }

    .contact-page-description {
        font-size: 16px;
        line-height: 24px;
    }

    .contact-cards-section {
        padding-bottom: 48px;
    }

    .contact-cards-grid {
        gap: 16px;
    }

    .contact-card {
        padding: 24px;
        gap: 56px;
        border-radius: 24px;
    }

    .contact-card-icon {
        width: 56px;
        height: 56px;
    }

    .contact-card-content {
        gap: 20px;
    }

    .contact-card-text-group {
        gap: 8px;
    }

    .contact-card-title {
        font-size: 20px;
        line-height: 28px;
    }

    .contact-card-description {
        font-size: 14px;
        line-height: 20px;
    }

    .contact-card-link {
        font-size: 16px;
        line-height: 24px;
        font-weight: 500;
    }
}

/* Viewport-based proportional scaling for 413px and below */
@media (max-width: 413px) {
    .contact-page-header {
        padding-top: calc(32px * 100vw / 414);
        padding-bottom: calc(32px * 100vw / 414);
    }

    .contact-page-container {
        padding-left: calc(20px * 100vw / 414);
        padding-right: calc(20px * 100vw / 414);
    }

    .contact-page-heading {
        gap: calc(16px * 100vw / 414);
    }

    .contact-page-heading-group {
        gap: calc(8px * 100vw / 414);
    }

    .contact-page-subtitle {
        font-size: calc(14px * 100vw / 414);
        line-height: calc(20px * 100vw / 414);
    }

    .contact-page-title {
        font-size: calc(28px * 100vw / 414);
        line-height: calc(40px * 100vw / 414);
        letter-spacing: calc(-0.56px * 100vw / 414);
    }

    .contact-page-description {
        font-size: calc(16px * 100vw / 414);
        line-height: calc(24px * 100vw / 414);
    }

    .contact-cards-section {
        padding-bottom: calc(48px * 100vw / 414);
    }

    .contact-cards-grid {
        gap: calc(16px * 100vw / 414);
    }

    .contact-card {
        padding: calc(24px * 100vw / 414);
        gap: calc(56px * 100vw / 414);
        border-radius: calc(24px * 100vw / 414);
    }

    .contact-card-icon {
        width: calc(56px * 100vw / 414);
        height: calc(56px * 100vw / 414);
    }

    .contact-card-content {
        gap: calc(20px * 100vw / 414);
    }

    .contact-card-text-group {
        gap: calc(8px * 100vw / 414);
    }

    .contact-card-title {
        font-size: calc(20px * 100vw / 414);
        line-height: calc(28px * 100vw / 414);
    }

    .contact-card-description {
        font-size: calc(14px * 100vw / 414);
        line-height: calc(20px * 100vw / 414);
    }

    .contact-card-link {
        font-size: calc(16px * 100vw / 414);
        line-height: calc(24px * 100vw / 414);
        font-weight: 500;
    }
}

/* Hide Google Maps error messages (autocomplete works without full map) */
[class*="gm-err"],
[id*="gm-err"],
.gm-style > div:first-child[style*="position: absolute"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}


