/* Homepage-only design language — scoped under body.home-page so it never touches
   admin/partner dashboards, order form, or auth pages, which all share styles.css. */

body.home-page {
    --rc-bg: #F7F5F0;
    --rc-card: #FFFFFF;
    --rc-dark: #232320;
    --rc-mid: #55554E;
    --rc-muted: #8C8A80;
    --rc-green: #3D5A1E;
    --rc-green-mid: #4E7228;
    --rc-green-light: #6B9A35;
    --rc-green-pale: #EDF2E4;
    --rc-border: #E3DFD6;
    font-family: 'DM Sans', 'Inter', sans-serif;
    background: var(--rc-bg);
    color: var(--rc-dark);
}

body.home-page h1,
body.home-page h2,
body.home-page h3 {
    font-family: 'Fraunces', serif;
    font-weight: 500;
    letter-spacing: -0.01em;
}

/* Header / nav */
body.home-page .header { background: rgba(247, 245, 240, 0.92); border-bottom: 1px solid var(--rc-border); }
body.home-page .tagline { color: var(--rc-green); font-style: normal; letter-spacing: 0.02em; }
body.home-page .nav-menu a { color: var(--rc-mid); }
body.home-page .nav-menu a:hover { color: var(--rc-dark); }
body.home-page .nav-menu a.login-link { background: var(--rc-green); color: #fff; border-radius: 999px; }
body.home-page .nav-menu a.login-link:hover { background: var(--rc-green-mid); box-shadow: 0 4px 14px rgba(61, 90, 30, 0.25); }

/* Hero */
body.home-page .hero { background: var(--rc-bg); padding-top: 130px; overflow: visible; }
body.home-page .hero-eyebrow { color: var(--rc-muted); font-size: 0.95rem; font-style: italic; margin-bottom: 1rem; }
body.home-page .hero h2 { color: var(--rc-dark); font-size: clamp(2.1rem, 4.4vw, 3.3rem); line-height: 1.12; }
body.home-page .hero p { color: var(--rc-mid); }
body.home-page .hero-decoration svg path { stroke: var(--rc-green-light) !important; }
body.home-page .hero-decoration svg ellipse,
body.home-page .hero-decoration svg circle { fill: var(--rc-green-pale) !important; }

body.home-page .hero-container { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
body.home-page .hero-tree-wrap { display: none; }

@media (min-width: 980px) {
    body.home-page .hero-container { grid-template-columns: 1.15fr 0.85fr; max-width: 1240px; }
    body.home-page .hero-content { margin: 0; text-align: left; }
    body.home-page .hero-tree-wrap {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        height: 100%;
        max-height: 420px;
        overflow: hidden;
    }
    body.home-page .hero-tree-wrap img {
        max-height: 380px;
        width: auto;
        border-radius: 12px;
        filter: drop-shadow(0 20px 30px rgba(35, 35, 32, 0.14));
    }
}

body.home-page .search-section { border: 1px solid var(--rc-border); border-top: 3px solid var(--rc-green); box-shadow: 0 12px 32px rgba(61, 90, 30, 0.08); }
body.home-page .search-section::before { background: linear-gradient(90deg, var(--rc-green-light), var(--rc-green), var(--rc-green-light)); }
body.home-page .search-section h3 { color: var(--rc-dark); font-weight: 500; }
body.home-page .zip-search-form input:focus { border-color: var(--rc-green); }
body.home-page .zip-search-form button { background: var(--rc-green); border-radius: 999px; font-family: 'DM Sans', sans-serif; }
body.home-page .zip-search-form button:hover { background: var(--rc-green-mid); }
body.home-page .zip-submit-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    gap: 0.1rem;
    white-space: nowrap;
}
body.home-page .zip-submit-line1 { font-size: 1.05rem; font-weight: 600; }
body.home-page .zip-submit-line2 { font-size: 0.85rem; font-weight: 500; opacity: 0.9; }
body.home-page .price-note { color: var(--rc-mid); }
body.home-page .price-note-links a { color: var(--rc-green); }

/* Services */
body.home-page .services { background: var(--rc-card); }
body.home-page .services h2 { color: var(--rc-dark); }
body.home-page .service-card { background: var(--rc-card); border-color: var(--rc-border); border-left-color: var(--rc-green-light); }
body.home-page .service-card:hover { border-left-color: var(--rc-green); box-shadow: 0 15px 35px rgba(61, 90, 30, 0.08); }
body.home-page .service-card:hover::after { background: linear-gradient(90deg, transparent, var(--rc-green-light), transparent); }
body.home-page .service-icon { color: var(--rc-green); display: flex; justify-content: center; margin-bottom: 1.5rem; }
body.home-page .service-card h3 { color: var(--rc-dark); font-size: 1.35rem; }
body.home-page .service-card p { color: var(--rc-mid); }

/* Pricing */
body.home-page .pricing { background: var(--rc-green-pale); }
body.home-page .pricing h2 { color: var(--rc-dark); }
body.home-page .pricing-card { border-color: var(--rc-border); }
body.home-page .price-header { background: linear-gradient(135deg, var(--rc-green) 0%, var(--rc-green-mid) 100%); }
body.home-page .price-features ul li { color: var(--rc-mid); border-bottom-color: var(--rc-border); }
body.home-page .price-features ul li.included::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 0.6rem; vertical-align: -2px; background: var(--rc-green); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.5 3.5L13 4' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center / contain; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.5 3.5L13 4' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center / contain; }
body.home-page .pricing-cta { background: var(--rc-green); font-family: 'DM Sans', sans-serif; }
body.home-page .pricing-cta:hover { background: var(--rc-green-mid); }

/* Why choose */
body.home-page .why-choose { background: var(--rc-bg); }
body.home-page .why-choose h2 { color: var(--rc-dark); }
body.home-page .feature { background: var(--rc-card); border-color: var(--rc-border); }
body.home-page .feature h3 { color: var(--rc-dark); font-size: 1.15rem; }
body.home-page .feature p { color: var(--rc-mid); }
body.home-page .features-grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) {
    body.home-page .features-grid { grid-template-columns: repeat(4, 1fr); }
}

/* FAQ */
body.home-page .faq { padding: 5rem 0; background: var(--rc-green-pale); }
body.home-page .faq-heading { text-align: center; margin-bottom: 3rem; color: var(--rc-dark); }
body.home-page .faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 1rem; }
body.home-page .faq-item {
    background: var(--rc-card);
    border: 1px solid var(--rc-border);
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
}
body.home-page .faq-item summary {
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--rc-dark);
    font-family: 'DM Sans', sans-serif;
}
body.home-page .faq-item summary::-webkit-details-marker { display: none; }
body.home-page .faq-toggle { font-size: 1.25rem; color: var(--rc-green); flex-shrink: 0; margin-left: 1rem; }
body.home-page .faq-item p { margin: 1rem 0 0; color: var(--rc-mid); line-height: 1.6; }
body.home-page .faq-item a { color: var(--rc-green); }

/* Contact */
body.home-page .contact { background: var(--rc-card); }
body.home-page .contact h2 { color: var(--rc-dark); }
body.home-page .contact-info h3 { color: var(--rc-dark); }
body.home-page .contact-info p { color: var(--rc-mid); }
body.home-page .contact-label { color: var(--rc-dark); }
body.home-page .contact-icon { color: var(--rc-green); margin-right: 0.5rem; vertical-align: -2px; }
body.home-page .contact-form { background: var(--rc-bg); border-color: var(--rc-border); }
body.home-page .form-group label { color: var(--rc-dark); }
body.home-page .form-group input:focus,
body.home-page .form-group textarea:focus { border-color: var(--rc-green); }
body.home-page .submit-btn { background: var(--rc-green); font-family: 'DM Sans', sans-serif; }
body.home-page .submit-btn:hover { background: var(--rc-green-mid); }

/* Footer */
body.home-page .footer { background: var(--rc-dark); }
body.home-page .footer-section h3,
body.home-page .footer-section h4 { font-family: 'Fraunces', serif; font-weight: 500; }
body.home-page .footer-section ul li a:hover { color: var(--rc-green-light); }
body.home-page .footer-bottom { border-top-color: #3a3a35; }
