.site-header {
    position: sticky;
    top: 0;
    z-index: 9998;
    background: var(--header-bg-color);
    color: var(--mainbg);
    min-height: clamp(64px, 7.5vw, 92px);
    --site-header-h: calc(clamp(64px, 7.5vw, 92px) + 20px);
    min-height: var(--site-header-h);
    border-bottom: 2px solid var(--header-border-bottom);
    box-shadow:
        0 2px 0 var(--header-box-shadow-underline),
        0 12px 26px rgba(0, 0, 0, 0.22);
    overflow: hidden;
}

.site-header__inner.section-content {
    height: 100%;
    min-height: inherit;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0.55rem;
    gap: clamp(0.5rem, 2vw, 1.25rem);
}

.site-header__side {
    min-width: 0;
    display: flex;
    align-items: center;
}

.site-header__side--left {
    justify-content: flex-start;
}

.site-header__side--right {
    justify-content: flex-end;
}

.site-header__center {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: clamp(0.45rem, 1.2vw, 1rem);
}

.site-header__logo-wing {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 950;
    letter-spacing: clamp(0.02em, 0.12vw, 0.08em);
    line-height: 1;
    font-size: clamp(0.9rem, calc(0.55rem + 0.95vw), 1.25rem);
    background: linear-gradient(90deg,
            rgba(240, 208, 62, 0.92),
            rgba(255, 230, 120, 0.98),
            rgba(240, 208, 62, 0.92));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.35));
}

.site-header__logo-wing--left {
    text-align: right;
    justify-content: flex-end;
}

.site-header__logo-wing--right {
    text-align: left;
    justify-content: flex-start;
}

@media (max-width: 880px) {
    .site-header__logo-wing {
        display: none;
    }
}

.site-header__contact {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    color: var(--mainbg);
    font-weight: 950;
    letter-spacing: 0.01em;
    line-height: 1.1;
    font-size: clamp(0.95rem, 1.35vw, 1.15rem);
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(91, 161, 210, 0.35);
    box-shadow:
        0 10px 18px rgba(0, 0, 0, 0.16),
        0 0 0 4px rgba(14, 165, 233, 0.06);
    transform: translateZ(0);
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.site-header__contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.05rem;
    height: 2.05rem;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.14);
    border: 1px solid rgba(14, 165, 233, 0.35);
    flex: 0 0 auto;
}

.site-header__contact-icon i {
    font-size: 1.05rem;
    line-height: 1;
    color: var(--shield-lightning-fill);
}

.site-header__contact-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-header__contact-text__narrow {
    display: none;
}

.site-header__contact:hover {
    transform: translateY(-1px);
    filter: brightness(1.06);
    background: rgba(255, 255, 255, 0.10);
    box-shadow:
        0 14px 24px rgba(0, 0, 0, 0.20),
        0 0 0 6px rgba(14, 165, 233, 0.09);
}

.site-header__contact:active {
    transform: translateY(0px);
    filter: brightness(1.03);
}

.site-header__contact:focus-visible {
    outline: 3px solid rgba(240, 208, 62, 0.55);
    outline-offset: 4px;
}

.site-header__contact--phone .site-header__contact-icon {
    background: rgba(240, 208, 62, 0.14);
    border-color: rgba(240, 208, 62, 0.35);
}

.site-header__contact--phone .site-header__contact-icon i {
    color: rgba(240, 208, 62, 0.98);
}

.site-header__logo-link.offer__logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    min-width: 0;
}

.site-header__logo.offer__logo {
    display: block;
    object-fit: contain;
    max-height: calc(var(--site-header-h) - 18px);
    width: auto;
    max-width: clamp(140px, 26vw, 340px);
    height: auto;
    aspect-ratio: auto;
}

.offer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.offer__inner.section-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.offer__logo-link {
    display: none;
}

.offer__right {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.offer__cta-pos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.offer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.95rem 1.35rem;
    border-radius: 9999px;
    background: #ef4444;
    color: #ffffff;
    font-weight: 900;
    letter-spacing: 0.01em;
    line-height: 1.15;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.18);
    font-size: clamp(1rem, 2.05vw, 1.35rem);
    max-width: min(56rem, 100%);
    width: fit-content;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
    hyphens: none;
    box-shadow:
        0 12px 22px rgba(0, 0, 0, 0.22),
        0 0 20px rgba(239, 68, 68, 0.22);
    transition: filter 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    animation: cta_vibrate 1.6s cubic-bezier(.2, .9, .2, 1) infinite;
    transform: translateZ(0);
    will-change: transform;
}

@keyframes cta_vibrate {
    0%,
    62% {
        transform: translateZ(0) scale(1) rotate(0deg);
    }

    66% {
        transform: translate3d(-2px, 0, 0) scale(1.03) rotate(-1.1deg);
    }

    70% {
        transform: translate3d(2px, 0, 0) scale(1.03) rotate(1.1deg);
    }

    74% {
        transform: translate3d(-3px, 0, 0) scale(1.03) rotate(-1.3deg);
    }

    78% {
        transform: translate3d(3px, 0, 0) scale(1.03) rotate(1.3deg);
    }

    82% {
        transform: translate3d(-2px, 0, 0) scale(1.02) rotate(-0.9deg);
    }

    86% {
        transform: translate3d(2px, 0, 0) scale(1.02) rotate(0.9deg);
    }

    92% {
        transform: translate3d(0, 0, 0) scale(1.01) rotate(0deg);
    }

    100% {
        transform: translateZ(0) scale(1) rotate(0deg);
    }
}

.offer__cta:hover {
    filter: brightness(1.06);
    box-shadow:
        0 16px 26px rgba(0, 0, 0, 0.28),
        0 0 26px rgba(239, 68, 68, 0.28);
}

.offer__cta:active {
    transform: translateY(1px);
    filter: brightness(1.02);
}

.offer__cta:focus-visible {
    outline: 3px solid rgba(14, 165, 233, 0.55);
    outline-offset: 4px;
}

@keyframes floatY_simple {
    0%,
    100% {
        transform: translateY(-10px);
    }

    50% {
        transform: translateY(10px);
    }
}

.offer__box {
    width: 100%;
    max-width: min(56rem, 100%);
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.45rem, 1.4vw, 0.75rem);
    padding: clamp(1rem, 3.2vw, 1.5rem) clamp(1rem, 4vw, 2rem);
    border-radius: 18px;
    border: 2px solid rgba(91, 161, 210, 0.35);
    background: linear-gradient(135deg,
            rgba(14, 165, 233, 0.07),
            rgba(240, 208, 62, 0.07));
    box-shadow:
        0 18px 28px rgba(0, 0, 0, 0.10),
        0 0 0 6px rgba(14, 165, 233, 0.06);
    min-width: 0;
}

.offer__box-caption {
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1.15;
    text-align: center;
    color: var(--header-bg-color);
    font-size: clamp(1.05rem, 2.7vw, 1.45rem);
    max-width: 100%;
    text-wrap: pretty;
}

.offer__box-subcaption {
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.0;
    text-align: center;
    color: var(--texts);
    font-size: clamp(0.95rem, 2.2vw, 1.15rem);
}

@media (max-width: 700px) {
    .site-header__inner.section-content {
        gap: 0.75rem;
    }

    .site-header__contact {
        font-size: clamp(0.75rem, 2.5vw, 1.25rem);
        padding: 0.45rem 0.65rem;
    }

    .site-header__contact-icon {
        width: 1.9rem;
        height: 1.9rem;
    }

    .site-header__contact-icon i {
        font-size: 1rem;
    }

    .site-header__logo.offer__logo {
        max-width: clamp(120px, 34vw, 280px);
    }

    .offer__cta {
        font-size: clamp(1.15rem, 2.9vw, 1.6rem);
    }

    .offer__cta-pos--desktop {
        display: none;
    }

    .offer__box {
        display: flex;
    }

    .offer__cta--short {
        min-width: clamp(14rem, 42vw, 22rem);
    }
}

@media (max-width: 450px) {
    .site-header__contact {
        width: 100%;
        max-width: none;
        min-width: 0;
        justify-content: center;
        font-size: clamp(1rem, 4vw, 1.25rem);
        padding: 0.62rem 0.75rem;
        cursor: pointer;
        background: rgba(255, 255, 255, 0.10);
        border-color: rgba(240, 208, 62, 0.40);
        box-shadow:
            0 14px 22px rgba(0, 0, 0, 0.22),
            0 0 0 6px rgba(240, 208, 62, 0.10);
        animation: header_contact_hint 1.85s ease-in-out infinite;
    }

    .site-header__contact {
        -webkit-tap-highlight-color: rgba(240, 208, 62, 0.22);
        touch-action: manipulation;
    }

    .site-header__contact-icon {
        width: 2.15rem;
        height: 2.15rem;
        flex: 0 0 auto;
        background: rgba(240, 208, 62, 0.16);
        border-color: rgba(240, 208, 62, 0.40);
    }

    .site-header__contact-icon i {
        font-size: 1.08rem;
    }

    .site-header__contact-text {
        display: none;
    }

    .site-header__contact-text__narrow {
        display: inline;
        letter-spacing: 0.06em;
    }

    .site-header__contact:active {
        transform: translateY(1px) scale(0.985);
        filter: brightness(1.08);
        box-shadow:
            0 10px 16px rgba(0, 0, 0, 0.22),
            0 0 0 8px rgba(240, 208, 62, 0.16);
    }

    .site-header__contact:focus-visible {
        outline: 3px solid rgba(240, 208, 62, 0.65);
        outline-offset: 4px;
        animation: none;
    }

    .site-header__logo.offer__logo {
        max-width: 62vw;
    }
}

@keyframes header_contact_hint {
    0%,
    55% {
        box-shadow:
            0 14px 22px rgba(0, 0, 0, 0.22),
            0 0 0 6px rgba(240, 208, 62, 0.10);
        filter: brightness(1.00);
    }

    70% {
        box-shadow:
            0 16px 26px rgba(0, 0, 0, 0.24),
            0 0 0 9px rgba(240, 208, 62, 0.18);
        filter: brightness(1.06);
    }

    100% {
        box-shadow:
            0 14px 22px rgba(0, 0, 0, 0.22),
            0 0 0 6px rgba(240, 208, 62, 0.10);
        filter: brightness(1.00);
    }
}

@media (max-width: 350px) {
    .site-header__contact-text__narrow {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .offer__cta-pos {
        animation: none !important;
    }

    .offer__cta {
        animation: none !important;
    }

    .offer__cta,
    .site-header__contact {
        transition: none !important;
    }

    .site-header__contact {
        animation: none !important;
    }
}