.janin-hero {
    --janin-overlay-left: #061c3b;
    --janin-overlay-middle: rgba(6, 28, 59, .78);
    --janin-overlay-right: rgba(6, 28, 59, .42);
    --janin-accent: #ef3449;

    position: relative;
    min-height: 88vh;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    color: #fff;
    background: #061c3b;
}

.janin-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.janin-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(1.04);
}

.janin-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            var(--janin-overlay-left) 0%,
            var(--janin-overlay-middle) 48%,
            var(--janin-overlay-right) 100%
        );
}

.janin-hero__bg::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 220px;
    z-index: 2;
    background: linear-gradient(to top, #061c3b, transparent);
}

.janin-hero__inner {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    padding: 120px 24px 96px;
}

.janin-hero__content {
    max-width: 720px;
}

.janin-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.janin-hero__badge-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--janin-accent);
    display: inline-block;
    position: relative;
}

.janin-hero__badge-dot::after {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--janin-accent);
    position: absolute;
    inset: 2px;
}

.janin-hero__title {
    margin: 28px 0 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 76px);
    line-height: 1.05;
    letter-spacing: -0.045em;
    font-weight: 900;
}

.janin-hero__title span {
    color: var(--janin-accent);
}

.janin-hero__description {
    margin: 26px 0 0;
    max-width: 680px;
    color: rgba(255,255,255,.88);
    font-size: clamp(17px, 1.35vw, 22px);
    line-height: 1.48;
    font-weight: 500;
}

.janin-hero__actions {
    margin-top: 38px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.janin-hero__button {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 16px 30px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    transition: all .25s ease;
    line-height: 1;
}

.janin-hero__button--primary {
    background: #e3132f;
    color: #fff;
    border: 1px solid transparent;
}

.janin-hero__button--primary:hover {
    background: var(--janin-accent);
    color: #fff;
    transform: translateY(-1px);
}

.janin-hero__button--secondary {
    background: rgba(255,255,255,.02);
    color: #fff;
    border: 1px solid rgba(255,255,255,.42);
}

.janin-hero__button--secondary:hover {
    background: #fff;
    color: #061c3b;
}

.janin-hero__info {
    margin-top: 48px;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 22px;
    padding: 15px 20px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(14px);
    color: #fff;
    max-width: 100%;
}

.janin-hero__info a {
    color: #fff;
    text-decoration: none;
}

.janin-hero__info a:hover {
    color: var(--janin-accent);
}

.janin-hero__status,
.janin-hero__phone,
.janin-hero__location {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.janin-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0;
}

.janin-hero__icon i,
.janin-hero__icon svg {
    display: block;
    width: 14px;
    height: 14px;
    transition: all .25s ease;
}

.janin-hero__icon svg {
    fill: currentColor;
}

.janin-hero__phone:hover .janin-hero__icon i,
.janin-hero__phone:hover .janin-hero__icon svg {
    transform: scale(1.08);
}

.janin-status-detail {
    color: rgba(255,255,255,.72);
    margin-left: 4px;
}

.janin-hero__status-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: var(--janin-accent);
    box-shadow: 0 0 0 0 rgba(239,52,73,.75);
    animation: janinPulse 1.8s infinite;
}

.janin-hero.is-open .janin-hero__status-dot {
    background: #27c46b;
    box-shadow: 0 0 0 0 rgba(39,196,107,.75);
}

.janin-hero__separator {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,.22);
}

@keyframes janinPulse {
    70% {
        box-shadow: 0 0 0 9px rgba(239,52,73,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(239,52,73,0);
    }
}

@media (max-width: 1024px) {
    .janin-hero__inner {
        padding-top: 110px;
        padding-bottom: 72px;
    }

    .janin-hero__title {
        font-size: clamp(40px, 7vw, 62px);
    }
}

@media (max-width: 767px) {
    .janin-hero {
        min-height: 760px;
        align-items: flex-end;
    }

    .janin-hero__bg::after {
        background:
            linear-gradient(
                90deg,
                rgba(6,28,59,.96) 0%,
                rgba(6,28,59,.86) 62%,
                rgba(6,28,59,.55) 100%
            );
    }

    .janin-hero__inner {
        padding: 110px 20px 48px;
    }

    .janin-hero__title {
        margin-top: 22px;
        font-size: 42px;
        line-height: 1.07;
    }

    .janin-hero__description {
        font-size: 17px;
    }

    .janin-hero__actions {
        margin-top: 30px;
        flex-direction: column;
        align-items: stretch;
    }

    .janin-hero__button {
        width: 100%;
    }

    .janin-hero__info {
        margin-top: 34px;
        width: 100%;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
    }

    .janin-hero__separator {
        display: none;
    }

    .janin-hero__status,
    .janin-hero__phone,
    .janin-hero__location {
        white-space: normal;
    }
}