.home-hero {
    background: #f4f7fd;
    border-radius: 1.25rem;
    padding: 2.5rem 2.75rem;
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
}

.home-hero .eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #7f8695;
    font-weight: 700;
}

.home-hero .headline {
    color: #1f345e;
    line-height: 1.25;
}

.home-hero .lead-text {
    color: #6e7684;
    font-size: 1.05rem;
}

.home-hero .btn {
    border-radius: 0.85rem;
    padding: 0.8rem 1.6rem;
    font-weight: 700;
}

.home-hero .btn-outline-primary {
    background: #fff;
    border-width: 1.5px;
}

.home-hero .mini-card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.06);
}

.header-phone {
    color: #1f345e;
    font-weight: 600;
    text-decoration: none;
}

.header-phone .fw-bold {
    font-size: 0.8rem;
    line-height: 1;
    color: #1f345e;
}

.header-phone-link {
    color: #1f345e;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.2;
}

.header-phone-link:hover,
.header-phone-link:focus {
    color: #1f345e;
    text-decoration: underline;
}

.main-navbar .menu-item.active .menu-link,
.main-navbar .menu-link.active {
    font-weight: 700;
}

.consult-panel {
    background: linear-gradient(135deg, rgba(67, 106, 203, 0.12), rgba(255, 255, 255, 0.95));
    border-radius: 1.5rem;
    padding: 2rem 2.5rem;
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
}

.consult-panel .badge {
    letter-spacing: 0.12em;
}

.consult-panel .title {
    color: #1f345e;
}

.consult-panel .copy {
    color: #5d6775;
}

.consult-panel .btn {
    border-radius: 0.9rem;
    padding: 0.85rem 1.8rem;
    font-weight: 700;
}

.panel-card {
    border: none;
    border-radius: 1.25rem;
    box-shadow: 0 16px 36px rgba(17, 24, 39, 0.08);
}

.panel-card .card-header {
    background: #fff;
    border-bottom: 1px solid #e3e7ef;
    padding: 1.5rem 1.75rem;
}

.panel-card .card-body {
    padding: 1.75rem;
}

.feature-visual {
    width: 100%;
    height: auto;
    border-radius: 1.25rem;
    box-shadow: 0 16px 34px rgba(17, 24, 39, 0.08);
}

.visual-card {
    border: 1px solid #e3e7ef;
    border-radius: 1.25rem;
    padding: 1.5rem;
    background: #fff;
}

.visual-caption {
    color: #5d6775;
    font-size: 0.95rem;
}

@media (max-width: 767.98px) {
    .home-hero {
        padding: 1.9rem 1.6rem;
    }

    .home-hero .btn {
        width: 100%;
        justify-content: center;
    }

    .consult-panel {
        padding: 1.6rem;
    }

    .visual-card {
        padding: 1.25rem;
    }
}
