.home-page {
    --background: #fbfcff;
    --foreground: #111d39;
    --card: #ffffff;
    --card-foreground: #111827;
    --primary: #1747a6;
    --primary-hover: #0d327d;
    --primary-foreground: #ffffff;
    --secondary: #edf3ff;
    --muted: #f2f5fb;
    --muted-foreground: #5d6679;
    --accent: #e51a22;
    --success: #238a3f;
    --border: #d7dfef;
    --ring: rgba(23, 71, 166, 0.25);
    --shadow-sm: 0 1px 3px rgba(9, 30, 72, 0.08);
    --shadow-md: 0 12px 34px rgba(9, 30, 72, 0.12);
    background: #fbfcff;
}

.home-page .site-header {
    border-bottom-color: #dce3f0;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 5px 22px rgba(7, 25, 62, 0.07);
}

.home-page .phone-link strong {
    color: #102d68;
}

.home-page .icon-circle {
    border-color: #cdd8ed;
    color: #1747a6;
    background: #eff4ff;
}

.home-page .main-nav {
    border-top-color: #e8edf6;
    color: #344361;
    background: rgba(250, 252, 255, 0.96);
}

.home-page .nav-links a:hover {
    color: #123d92;
    background: #eaf1ff;
}

.home-page .mobile-nav {
    background: linear-gradient(135deg, #071b46, #1747a6);
}

.home-page .hero {
    position: relative;
    border-color: #cbd8f0;
    background-color: #eef3fc;
    background-image:
        linear-gradient(90deg, #f4f7fd 0%, rgba(244, 247, 253, 0.98) 40%, rgba(239, 244, 253, 0.42) 66%, rgba(239, 244, 253, 0.05) 100%),
        url("bg3.png");
    box-shadow: 0 25px 65px rgba(11, 38, 91, 0.16);
}

.home-page .hero::before,
.home-page .search-strip > .container::before,
.home-page .site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    z-index: 2;
    background: linear-gradient(90deg, #e20c18 0%, #ff7a00 24%, #f1d500 42%, #21a447 61%, #078ad7 80%, #163b91 100%);
}

.home-page .hero h1 {
    color: #0b1f4b;
}

.home-page .hero h1 span {
    color: #1747a6;
    background: linear-gradient(90deg, #e20c18 0%, #f05a15 28%, #2b9c46 58%, #067dcc 78%, #173b8f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.home-page .hero-lead {
    color: #4b5870;
}

.home-page .benefit-list {
    color: #21304f;
}

.home-page .benefit-list li:nth-child(1) > span {
    background: #e21b24;
}

.home-page .benefit-list li:nth-child(2) > span {
    background: #229448;
}

.home-page .benefit-list li:nth-child(3) > span {
    background: #1747a6;
}

.home-page .search-strip > .container {
    position: relative;
    overflow: hidden;
    border-color: #d3dced;
    box-shadow: 0 20px 48px rgba(8, 29, 69, 0.17);
}

.home-page .field label {
    color: #293a5b;
}

.home-page .form-arrow {
    color: #1747a6;
}

.home-page .button-primary {
    background: linear-gradient(135deg, #1c55bd, #123a8c);
    box-shadow: 0 6px 16px rgba(20, 61, 143, 0.24);
}

.home-page .button-primary:hover {
    background: linear-gradient(135deg, #1747a6, #0a2a68);
}

.home-page .partner-grid {
    border-color: #d6e0f1;
    background: linear-gradient(135deg, #ffffff, #f7f9ff);
    box-shadow: 0 12px 32px rgba(15, 42, 91, 0.08);
}

.home-page .text-link {
    color: #1747a6;
}

.home-page .assurance-section {
    background: #edf3fc;
}

.home-page .assurance-item {
    border-color: #d5dfef;
    box-shadow: 0 8px 24px rgba(12, 39, 87, 0.06);
}

.home-page .home-showcase {
    padding: 72px 0 0;
    background: #fff;
}

.home-page .home-showcase-frame {
    position: relative;
    aspect-ratio: 2 / 1;
    margin: 0;
    overflow: hidden;
    border: 1px solid #d3dced;
    border-radius: 24px;
    background: #eef2ed;
    box-shadow: 0 24px 58px rgba(11, 38, 91, 0.14);
}

.home-page .home-showcase-frame img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

.home-page .section-heading h2,
.home-page .nationwide-copy h2 {
    color: #111f40;
}

.home-page .step-card {
    border-color: #d8e0ee;
}

.home-page .step-card:hover {
    border-color: #8ca9dc;
    box-shadow: 0 16px 34px rgba(16, 49, 109, 0.12);
}

.home-page .step-number {
    border-color: #1747a6;
    color: #123a87;
    background: #e5edff;
}

.home-page .step-card:nth-child(2) .step-number {
    border-color: #e14223;
    color: #a92118;
    background: #fff0ec;
}

.home-page .step-card:nth-child(3) .step-number {
    border-color: #2a9147;
    color: #17652f;
    background: #eaf8ee;
}

.home-page .about-section {
    background: #f0f4fb;
}

.home-page .about-grid p {
    color: #46536a;
}

.home-page .map-card {
    border-color: #d2dced;
    background: linear-gradient(145deg, #fbfcff, #e9f0fd);
    box-shadow: 0 18px 40px rgba(11, 40, 96, 0.12);
}

.home-page .reviews-section {
    background:
        radial-gradient(circle at 7% 16%, rgba(226, 12, 24, 0.08), transparent 24%),
        radial-gradient(circle at 92% 75%, rgba(23, 71, 166, 0.11), transparent 28%),
        #f8faff;
}

.home-page .review-card {
    border-color: #d8e1ef;
    box-shadow: 0 14px 36px rgba(10, 32, 74, 0.1);
}

.home-page .review-stars {
    color: #f29b12;
}

.home-page .review-avatar {
    color: #123c8d;
    background: #e4edff;
}

.home-page .faq-section {
    background: #f6f8fc;
}

.home-page .accordion {
    border-color: #d6dfed;
}

.home-page .accordion-item button {
    color: #17386f;
}

.home-page .accordion-item button span {
    color: #1747a6;
}

.home-page .site-footer {
    position: relative;
    background: #071630;
}

.home-page .footer-grid nav a,
.home-page .footer-bottom a,
.home-page .footer-bottom {
    color: #d8e4fb;
}

@media (max-width: 780px) {
    .home-page .hero {
        background-image:
            linear-gradient(180deg, rgba(246, 248, 253, 0.99) 0%, rgba(242, 246, 253, 0.97) 57%, rgba(235, 241, 252, 0.25) 80%, rgba(235, 241, 252, 0.06) 100%),
            url("bg3.png");
    }

    .home-page .trust-badge {
        border-color: rgba(23, 71, 166, 0.22);
        box-shadow: 0 9px 26px rgba(10, 35, 80, 0.15);
    }

    .home-page .home-showcase {
        padding-top: 44px;
    }

    .home-page .home-showcase-frame {
        aspect-ratio: 4 / 3;
        border-radius: 18px;
    }

    .home-page .home-showcase-frame img {
        position: absolute;
        top: 0;
        left: 0;
        width: 200%;
        max-width: none;
        height: auto;
        object-fit: initial;
        transform: translateX(-48%);
    }
}
