/**
 * Homepage-only color theme.
 * Two colors only: Navy #1c446c + White #FFFFFF.
 * Scoped to body.home-page so other pages keep the default look.
 */

body.home-page {
    --hm-navy: #1c446c;
    --hm-navy-dark: #122E4A;
    --hm-navy-soft: #2A5A85;
    --hm-white: #FFFFFF;
    --hm-tint: rgba(28, 68, 108, 0.05);
    --hm-border: rgba(28, 68, 108, 0.15);
    --hm-shadow: 0 8px 24px rgba(28, 68, 108, 0.10);

    background: var(--hm-white) !important;
    color: var(--hm-navy);
}

body.home-page main#main-content {
    background: var(--hm-white);
}

/* ---------- Headings (no gradient — solid navy) ---------- */
body.home-page .main-head.gradient-text,
body.home-page .h2.set.gradient-text,
body.home-page h1.gradient-text,
body.home-page h2.gradient-text,
body.home-page .gradient-text {
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: var(--hm-navy) !important;
    background-clip: initial !important;
    color: var(--hm-navy) !important;
}

body.home-page h1,
body.home-page h2,
body.home-page h3,
body.home-page h4,
body.home-page .h4-section,
body.home-page .member-name {
    color: var(--hm-navy);
}

body.home-page .is_highlight {
    background: var(--hm-navy) !important;
    color: var(--hm-white) !important;
    padding: 6px 16px;
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.5px;
    display: inline-block;
}

/* ---------- Text ---------- */
body.home-page p,
body.home-page .about-txt,
body.home-page .about-txt li,
body.home-page .subtitle-lead {
    color: var(--hm-navy);
}

body.home-page p.text-muted,
body.home-page .text-muted {
    color: rgba(28, 68, 108, 0.7) !important;
}

body.home-page strong {
    color: var(--hm-navy-dark);
    font-weight: 700;
}

/* ---------- Buttons ---------- */
body.home-page .octf-btn,
body.home-page .octf-btn-main {
    background: var(--hm-navy) !important;
    color: var(--hm-white) !important;
    border: 2px solid var(--hm-navy) !important;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 600;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

body.home-page .octf-btn:hover,
body.home-page .octf-btn-main:hover {
    background: var(--hm-white) !important;
    color: var(--hm-navy) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(28, 68, 108, 0.25);
}

body.home-page .octf-btn.btn-border-main {
    background: transparent !important;
    color: var(--hm-navy) !important;
    border-color: var(--hm-navy) !important;
}

body.home-page .octf-btn.btn-border-main:hover {
    background: var(--hm-navy) !important;
    color: var(--hm-white) !important;
}

/* ---------- Hero slider ---------- */
body.home-page .fresh-arrow {
    background: var(--hm-navy) !important;
    color: var(--hm-white) !important;
}

body.home-page .fresh-arrow:hover {
    background: var(--hm-white) !important;
    color: var(--hm-navy) !important;
    border: 2px solid var(--hm-navy);
}

body.home-page .fresh-slide,
body.home-page .fresh-slider {
    background: var(--hm-white);
}

/* ---------- Sections ---------- */
body.home-page .about-section {
    background: var(--hm-white);
    padding: 60px 0;
}

body.home-page .services-modern-section {
    background: var(--hm-tint);
    padding: 60px 0;
}

body.home-page .modern-counter-section {
    background: var(--hm-navy);
    padding: 50px 0;
    color: var(--hm-white);
}

body.home-page .why-choose-flex {
    background: var(--hm-white);
    padding: 60px 0;
}

body.home-page .youtube-section {
    background: var(--hm-tint) !important;
    padding: 60px 0;
}

body.home-page .youtube-section .h2.set.gradient-text {
    color: var(--hm-navy) !important;
}

body.home-page .page-h {
    background: var(--hm-white);
    padding: 40px 0 60px;
}

/* ---------- Cards ---------- */
body.home-page .member-card,
body.home-page .services-modern-card,
body.home-page .why-choose-feature {
    background: var(--hm-white) !important;
    border: 1px solid var(--hm-border);
    box-shadow: var(--hm-shadow);
    border-radius: 12px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.home-page .member-card:hover,
body.home-page .services-modern-card:hover,
body.home-page .why-choose-feature:hover {
    transform: translateY(-4px);
    border-color: var(--hm-navy);
    box-shadow: 0 14px 30px rgba(28, 68, 108, 0.18);
}

body.home-page .member-card h3.member-name,
body.home-page .member-card h5 {
    color: var(--hm-navy);
    font-weight: 700;
}

body.home-page .services-modern-card .services-modern-icon,
body.home-page .why-choose-feature .why-choose-feature-icon {
    background: var(--hm-navy);
    color: var(--hm-white);
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: initial;
    border-radius: 10px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

body.home-page .services-modern-title,
body.home-page .why-choose-feature-title {
    color: var(--hm-navy);
    font-weight: 700;
}

body.home-page .services-modern-desc,
body.home-page .why-choose-feature-desc {
    color: rgba(28, 68, 108, 0.75);
}

/* ---------- Counter (navy block, white text) ---------- */
body.home-page .modern-counter-card {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 12px;
    color: var(--hm-white);
}

body.home-page .modern-counter-card:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}

body.home-page .modern-counter-number,
body.home-page .modern-counter-label,
body.home-page .modern-counter-icon {
    color: var(--hm-white) !important;
    background: none !important;
    -webkit-text-fill-color: var(--hm-white) !important;
}

/* ---------- Get Consultation CTA ---------- */
body.home-page .get-consult-modern,
body.home-page .get-consult-container {
    background: var(--hm-navy) !important;
    color: var(--hm-white) !important;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(28, 68, 108, 0.25);
    padding: 40px;
}

body.home-page .get-consult-content h2,
body.home-page .get-consult-content p {
    color: var(--hm-white) !important;
    background: none !important;
    -webkit-text-fill-color: var(--hm-white) !important;
}

/* ---------- Lists ---------- */
body.home-page .about-txt.list-unstyled li {
    color: var(--hm-navy);
    padding: 6px 0;
    border-bottom: 1px solid var(--hm-border);
}

body.home-page .about-txt.list-unstyled li:last-child {
    border-bottom: none;
}

/* ---------- Links ---------- */
body.home-page a:not(.octf-btn):not(.fresh-arrow) {
    color: var(--hm-navy);
    text-decoration: none;
}

body.home-page a:not(.octf-btn):not(.fresh-arrow):hover {
    color: var(--hm-navy-dark);
    text-decoration: underline;
}

/* ---------- Footer override (homepage only) ---------- */
body.home-page .modern-footer,
body.home-page #site-footer.modern-footer {
    background: var(--hm-white) !important;
    color: var(--hm-navy) !important;
    border-top: 1px solid var(--hm-border);
}

body.home-page .modern-footer-logo-col p,
body.home-page .modern-footer-links-col h2,
body.home-page .modern-footer-links-col h6,
body.home-page .modern-footer-links-col .footer-heading,
body.home-page .modern-footer-contact-col h2,
body.home-page .modern-footer-contact-col h6,
body.home-page .modern-footer-contact-col .footer-heading,
body.home-page .modern-footer-links-col ul li a,
body.home-page .modern-footer-contact-list li,
body.home-page .modern-footer-contact-list a,
body.home-page .modern-footer-social a,
body.home-page .modern-footer-bottom {
    color: var(--hm-navy) !important;
}

body.home-page .modern-footer-links-col ul li a:hover,
body.home-page .modern-footer-contact-list a:hover,
body.home-page .modern-footer-social a:hover {
    color: var(--hm-navy-dark) !important;
}

body.home-page .modern-footer-bottom {
    border-top: 1px solid var(--hm-border);
}

body.home-page .modern-footer-bottom a {
    color: var(--hm-navy) !important;
    font-weight: 600;
}

/* Footer headings stand out a bit */
body.home-page .modern-footer .footer-heading {
    font-weight: 700;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    body.home-page .get-consult-modern,
    body.home-page .get-consult-container {
        padding: 24px;
    }

    body.home-page .services-modern-section,
    body.home-page .why-choose-flex,
    body.home-page .youtube-section,
    body.home-page .about-section {
        padding: 40px 0;
    }
}
