/* ============================================
   Earth & Growth — full theme override
   Soft Sand #F4EDE1 · Forest #1F3A2E · Brown #8B5E3C
   Load AFTER styles.css
   ============================================ */

.util-bar {
  background: var(--forest, #1F3A2E);
  color: rgba(244, 237, 225, 0.85);
  border-bottom: 1px solid rgba(139, 94, 60, 0.25);
}
.util-social a { color: #F4EDE1; }
.util-social a:hover { color: #fff; }
.util-login { color: #F4EDE1; border-left-color: rgba(244, 237, 225, 0.25); }
.util-login:hover { color: #fff; }

.site-header {
  background: rgba(244, 237, 225, 0.96);
  border-bottom: 1px solid rgba(139, 94, 60, 0.2);
  backdrop-filter: blur(12px);
}
.logo { color: #1F3A2E; }
.logo-accent { color: #8B5E3C; }
.logo-tag { color: #8B5E3C; }
.footer-brand .logo-brand,
.footer-logo .logo-brand { display: inline; white-space: nowrap; }
.footer-brand .footer-logo {
  font-size: 1.75rem;
}
.nav-toggle span { background: #1F3A2E; }
.nav-link { color: #1F3A2E; }
.nav-link:hover,
.nav-item.is-open > .nav-link,
.nav-link.current { color: #8B5E3C; }

.dropdown,
.mega-menu {
  background: #FFF9F2;
  border: 1px solid rgba(139, 94, 60, 0.22);
  border-top: 3px solid #1F3A2E;
  box-shadow: 0 18px 48px rgba(31, 58, 46, 0.14);
}
.dropdown a,
.mega-menu a { color: #1F3A2E; }
.dropdown a:hover,
.mega-menu a:hover {
  background: rgba(31, 58, 46, 0.08);
  color: #8B5E3C;
}
.dropdown a.current,
.mega-menu a.current {
  color: #1F3A2E;
  background: rgba(31, 58, 46, 0.1);
  font-weight: 600;
}
.mega-col-title {
  color: #1F3A2E;
  border-bottom-color: rgba(139, 94, 60, 0.2);
}

.section-title { color: #1F3A2E; }
.section-sub { color: #8B5E3C; }
.eyebrow { color: #8B5E3C; }

.home-hero { background: #F4EDE1; }
.hero-cosmos {
  background:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(31, 58, 46, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse 50% 50% at 20% 80%, rgba(139, 94, 60, 0.1) 0%, transparent 50%),
    linear-gradient(160deg, #F4EDE1 0%, #E8DFD0 50%, #F4EDE1 100%);
}
.hero-cosmos::before {
  background-image:
    radial-gradient(1.5px 1.5px at 10% 20%, rgba(31, 58, 46, 0.35) 0%, transparent 100%),
    radial-gradient(1px 1px at 30% 60%, rgba(139, 94, 60, 0.35) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 50% 30%, rgba(31, 58, 46, 0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 70%, rgba(139, 94, 60, 0.3) 0%, transparent 100%),
    radial-gradient(2px 2px at 85% 40%, rgba(31, 58, 46, 0.4) 0%, transparent 100%);
}
.hero-cosmos::after { color: rgba(31, 58, 46, 0.06); }
.hero-panel {
  background: linear-gradient(145deg, #1F3A2E 0%, #152820 100%);
  border-right: 1px solid rgba(139, 94, 60, 0.3);
}
.hero-panel .brand-mark,
.hero-panel .eyebrow { color: #C4A484; }
.hero-panel h1 { color: #F4EDE1; }
.hero-panel h1 em { color: #E8D5B5; }
.hero-panel .hero-lead { color: rgba(244, 237, 225, 0.8); }
.hero-panel .hero-lead strong { color: #F4EDE1; }
.hero-visual-frame {
  background: linear-gradient(160deg, #2A4538 0%, #1F3A2E 100%);
  border-color: rgba(139, 94, 60, 0.35);
}
.hero-visual-frame::before {
  background: conic-gradient(from 0deg, transparent, rgba(139, 94, 60, 0.2), transparent 30%);
}
.hero-visual-frame.has-photo {
  background:
    url('images/hero-cosmos.jpg') center / cover no-repeat,
    linear-gradient(160deg, #2A4538 0%, #1F3A2E 100%);
}
.hero-visual-frame .frame-num,
.hero-visual-frame.has-photo .frame-caption .frame-num {
  color: #F4EDE1;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
.hero-visual-frame .frame-label { color: rgba(244, 237, 225, 0.75); }
.hero-dots span,
.hero-dots button { background: rgba(31, 58, 46, 0.25); }
.hero-dots span.active,
.hero-dots button.active { background: #1F3A2E; box-shadow: none; }

.section-light,
.number-explorer.section-light,
.services-section.section-light {
  background: #F4EDE1 !important;
  color: #1F3A2E;
  border-color: rgba(139, 94, 60, 0.15);
}
.section-light .section-title,
.section-light h1,
.section-light h2,
.section-light h3 { color: #1F3A2E; }
.section-light .section-sub,
.section-light p,
.section-light .how-text,
.section-light .disclaimer-note { color: #8B5E3C; }
.section-light .explorer-intro {
  background: #FFF9F2;
  color: #8B5E3C;
  border-color: rgba(139, 94, 60, 0.18);
}
.section-light .number-circle {
  background: #1F3A2E;
  color: #F4EDE1;
  border-color: rgba(139, 94, 60, 0.3);
}
.section-light .number-item a,
.section-light .number-item-link span { color: #1F3A2E; }
.section-light .service-card,
.section-light .remedy-card,
.section-light .process-card,
.section-light .faq-item {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.18);
}
.section-light .service-card-body h3,
.section-light .remedy-card h3,
.section-light .process-card h3,
.section-light .faq-item summary { color: #1F3A2E; }
.section-light .service-card-body p,
.section-light .remedy-card p,
.section-light .process-card p,
.section-light .faq-answer { color: #8B5E3C; }
.section-light .process-num { color: #8B5E3C; opacity: 0.7; }
.section-light .remedy-icon {
  background: rgba(31, 58, 46, 0.08);
  color: #1F3A2E;
}
.section-light .remedy-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.18);
}
.section-light .remedy-card:hover {
  border-color: rgba(31, 58, 46, 0.35);
}
.section-light .mandala-accent {
  opacity: 0.95;
}
.section-light .btn-outline { color: #1F3A2E; border-color: #1F3A2E; }
.section-light .btn-outline:hover { background: #1F3A2E; color: #F4EDE1; }
.section-light .eyebrow { color: #8B5E3C; }
.section-light .video-caption { color: #1F3A2E; }
a.service-card:hover .service-card-body h3 { color: #8B5E3C; }

.number-gallery-card { background: #FFF9F2; border-color: rgba(139, 94, 60, 0.18); }
.number-gallery-card:hover { border-color: #1F3A2E; }
.number-gallery-badge { background: #1F3A2E; color: #F4EDE1; }
.number-gallery-body h3 { color: #1F3A2E; }
.number-gallery-body p { color: #8B5E3C; }
.number-gallery-cta { color: #1F3A2E; }
.number-gallery-card:hover .number-gallery-cta { color: #8B5E3C; }

.cta-band {
  background: linear-gradient(120deg, #1F3A2E 0%, #152820 100%);
  border-color: rgba(139, 94, 60, 0.25);
}
.cta-band::before {
  background: radial-gradient(circle at 80% 50%, rgba(139, 94, 60, 0.25) 0%, transparent 45%);
}
.cta-band h2 { color: #F4EDE1; }

.how-section { background: #E8DFD0; }
.calc-teaser {
  background:
    radial-gradient(ellipse at 90% 50%, rgba(31, 58, 46, 0.08) 0%, transparent 50%),
    #E8DFD0;
}
.calc-teaser::before { color: rgba(31, 58, 46, 0.06); }
.teaser-links > p { color: #8B5E3C; }
.calc-link {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.2);
  color: #1F3A2E;
}
.calc-link:hover {
  background: #1F3A2E;
  border-color: #1F3A2E;
  color: #F4EDE1;
}
.calc-link-icon {
  background: rgba(31, 58, 46, 0.08);
  border-color: rgba(139, 94, 60, 0.25);
  color: #1F3A2E;
}
.calc-link:hover .calc-link-icon {
  background: rgba(244, 237, 225, 0.2);
  color: #F4EDE1;
}
.mock-result {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.25);
}
.mock-result .mock-label { color: #8B5E3C; }
.mock-number {
  background: rgba(31, 58, 46, 0.06);
  border-color: #1F3A2E;
  color: #1F3A2E;
  box-shadow: none;
}
.mock-result .mock-title { color: #1F3A2E; }

.pricing-section {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(31, 58, 46, 0.06) 0%, transparent 50%),
    #F4EDE1;
}
.pricing-feature,
.price-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.2);
}
.price-card.featured {
  border-color: #1F3A2E;
  box-shadow: 0 10px 32px rgba(31, 58, 46, 0.1);
}
.price-badge { background: #1F3A2E; color: #F4EDE1; }
.price-amount { color: #1F3A2E; }
.feature-list li { color: #8B5E3C; }
.feature-list li::before { color: #1F3A2E; content: '✓'; }
.price-features li { color: #5C5346; border-bottom-color: rgba(139, 94, 60, 0.12); }
.price-features li::before { color: #1F3A2E; }
.price-card-premium {
  border-color: rgba(139, 94, 60, 0.35);
}
.pricing-upgrade-info {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.2);
}
.price-bestfor { background: rgba(31, 58, 46, 0.07); }
.upgrade-info-grid h4 { color: #1F3A2E; }
.problem-keyword-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.2);
}
.problem-keyword-card strong { color: #1F3A2E; }
.problem-label { color: #8B5E3C; }
.switch-card,
.switch-plan-note {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.2);
}
.switch-card h3 { color: #1F3A2E; }

.stat-box {
  background: linear-gradient(145deg, #1F3A2E, #152820);
  border-color: rgba(139, 94, 60, 0.3);
  color: #F4EDE1;
}
.stat-num { color: #E8D5B5; font-size: 1.85rem; }
.stat-label { color: rgba(244, 237, 225, 0.75); }
.expertise-pills span {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.22);
  color: #1F3A2E;
}
.certificate-frame {
  border-color: rgba(139, 94, 60, 0.22);
  background: #FFF9F2;
}
.certificate-frame figcaption { color: #8B5E3C; }
.certificate-frame figcaption a { color: #1F3A2E; }

.testimonials-section { background: #E8DFD0 !important; }
.testimonial-card { background: #FFF9F2; border-color: rgba(139, 94, 60, 0.18); }
.testimonial-card .quote { color: #8B5E3C; }
.author-avatar {
  background: linear-gradient(135deg, #2D5443, #1F3A2E);
  border-color: rgba(139, 94, 60, 0.35);
}
.author-name { color: #1F3A2E; }
.author-meta { color: #8B5E3C; }

.video-thumb {
  background: linear-gradient(145deg, #2A4538, #1F3A2E);
  border-color: rgba(139, 94, 60, 0.2);
}
.play-btn {
  background: #1F3A2E;
  box-shadow: 0 4px 20px rgba(31, 58, 46, 0.3);
}
.play-btn::after { border-left-color: #F4EDE1; }

.faq-item[open] { border-color: rgba(31, 58, 46, 0.35); }
.faq-item summary::after { color: #1F3A2E; }

.consult-section {
  background:
    radial-gradient(circle at 85% 20%, rgba(139, 94, 60, 0.2) 0%, transparent 40%),
    linear-gradient(145deg, #1F3A2E 0%, #152820 100%);
  border-top: 1px solid rgba(139, 94, 60, 0.25);
}
.consult-section h2 { color: #F4EDE1; }
.consult-section > .container > p { color: rgba(244, 237, 225, 0.8); }

.visit-section { background: #F4EDE1; }
.visit-details h3 { color: #1F3A2E; }
.visit-address { color: #8B5E3C; }
.visit-map { border-color: rgba(139, 94, 60, 0.22); }
.footer-address { color: rgba(244, 237, 225, 0.72); }

.disclaimer-strip {
  background: #152820;
  color: rgba(244, 237, 225, 0.7);
  border-top-color: rgba(139, 94, 60, 0.2);
}

.site-footer {
  background: #152820;
  color: rgba(244, 237, 225, 0.8);
  border-top: 1px solid rgba(139, 94, 60, 0.25);
}
.footer-brand .footer-logo { color: #F4EDE1; }
.footer-brand .footer-tagline { color: #C4A484; }
.footer-brand p { color: rgba(244, 237, 225, 0.7); }
.footer-social a {
  background: rgba(244, 237, 225, 0.08);
  border-color: rgba(139, 94, 60, 0.35);
}
.footer-social a:hover { background: #8B5E3C; border-color: #8B5E3C; }
.footer-social a:hover svg { fill: #F4EDE1; }
.footer-social svg { fill: #E8D5B5; }
.footer-col h4 { color: #E8D5B5; }
.footer-col a { color: rgba(244, 237, 225, 0.7); }
.footer-col a:hover { color: #F4EDE1; }
.footer-promo {
  border-color: rgba(139, 94, 60, 0.35);
  background:
    radial-gradient(circle at 0% 100%, rgba(139, 94, 60, 0.15) 0%, transparent 50%),
    rgba(31, 58, 46, 0.5);
}
.footer-promo h4 { color: #F4EDE1; }
.footer-promo p { color: rgba(244, 237, 225, 0.7); }
.footer-bottom { border-top-color: rgba(139, 94, 60, 0.2); }
.footer-legal a:hover { color: #E8D5B5; }
.footer-regions,
.footer-copy { color: rgba(244, 237, 225, 0.5); }

.page-hero {
  background:
    radial-gradient(ellipse at 70% 50%, rgba(31, 58, 46, 0.08) 0%, transparent 50%),
    linear-gradient(160deg, #E8DFD0 0%, #F4EDE1 100%);
  border-bottom-color: rgba(139, 94, 60, 0.2);
}
.page-hero::before { color: rgba(31, 58, 46, 0.05); }
.breadcrumb { color: #8B5E3C; }
.breadcrumb a { color: #1F3A2E; }
.breadcrumb a:hover { color: #8B5E3C; }
.page-hero h1 { color: #1F3A2E; }
.page-hero .page-desc { color: #8B5E3C; }
.article-hero-num { color: #1F3A2E; text-shadow: none; opacity: 0.25; }
.article-meta { color: #8B5E3C; }
.article-meta strong { color: #1F3A2E; }

.number-strip-label { color: #1F3A2E; }
.number-strip-links a {
  background: #FFF9F2;
  border-color: rgba(31, 58, 46, 0.25);
  color: #1F3A2E;
}
.number-strip-links a:hover,
.number-strip-links a.is-current {
  background: #1F3A2E;
  border-color: #1F3A2E;
  color: #F4EDE1;
}

.article-content { color: #8B5E3C; }
.article-content h2 { color: #1F3A2E; }
.article-cta-box {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.3);
}
.article-cta-box h3 { color: #1F3A2E; }
.article-pager { border-top-color: rgba(139, 94, 60, 0.2); }
.article-pager a { color: #1F3A2E; }
.article-pager a:hover { color: #8B5E3C; }
.aside-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.18);
}
.aside-card h3 { color: #1F3A2E; }
.aside-card > a { color: #1F3A2E; border-bottom-color: rgba(139, 94, 60, 0.12); }
.aside-card > a:hover { color: #8B5E3C; }
.num-card { background: #F4EDE1; }
.num-card:hover { background: rgba(31, 58, 46, 0.08); }
.num-card-n { background: #1F3A2E; color: #F4EDE1; }
.num-card-t { color: #1F3A2E; }

.calc-section.theme-life,
.calc-section.theme-name,
.calc-section.theme-mobile,
.calc-section.theme-house,
.calc-section.theme-compat {
  background:
    radial-gradient(ellipse at 20% 50%, rgba(31, 58, 46, 0.06) 0%, transparent 45%),
    #F4EDE1;
}
.calc-visual-placeholder {
  background: linear-gradient(160deg, #2A4538 0%, #1F3A2E 100%);
  border-color: rgba(139, 94, 60, 0.3);
  color: rgba(244, 237, 225, 0.7);
}
.compat-circle {
  border-color: rgba(244, 237, 225, 0.5);
  background: linear-gradient(135deg, #2D5443, #1F3A2E);
  color: #F4EDE1;
}
.compat-circle:nth-child(3) {
  background: linear-gradient(135deg, #8B5E3C, #6B4530);
  color: #F4EDE1;
  border-color: #C4A484;
}

.calculator-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.25);
}
.calculator-card h2 { color: #1F3A2E; }
.form-row label { color: #1F3A2E; }
.form-row input,
.form-row select {
  background: #fff;
  color: #1F3A2E;
  border-color: rgba(139, 94, 60, 0.25);
}
.form-row input:focus,
.form-row select:focus {
  border-color: #1F3A2E;
  box-shadow: 0 0 0 3px rgba(31, 58, 46, 0.12);
}
.phone-input {
  background: #fff;
  border-color: rgba(139, 94, 60, 0.25);
}
.phone-input:focus-within {
  border-color: #1F3A2E;
  box-shadow: 0 0 0 3px rgba(31, 58, 46, 0.12);
}
.phone-input select { background: #F4EDE1; color: #1F3A2E; }
.system-toggle {
  background: #fff;
  border-color: rgba(139, 94, 60, 0.2);
}
.system-toggle label { color: #8B5E3C; }
.system-toggle label:has(input:checked) {
  background: #1F3A2E;
  color: #F4EDE1;
}
.result-label { color: #8B5E3C; }
.result-number-box,
.calculator-card .result-number-box {
  background: rgba(31, 58, 46, 0.06);
  border-color: #1F3A2E;
  color: #1F3A2E;
  box-shadow: none;
}
.result-meaning { color: #8B5E3C; }
.result-meaning strong { color: #1F3A2E; }
.result-cta {
  background: rgba(31, 58, 46, 0.06);
  border-color: rgba(139, 94, 60, 0.25);
}
.result-cta p { color: #1F3A2E; }
.related-calcs {
  background: #E8DFD0;
  border-top-color: rgba(139, 94, 60, 0.2);
}
.related-card {
  background: #FFF9F2;
  border-color: rgba(139, 94, 60, 0.18);
}
.related-card:hover { border-color: #1F3A2E; }
.related-card h3 { color: #1F3A2E; }
.related-card p { color: #8B5E3C; }
.float-nums span { color: rgba(31, 58, 46, 0.06); }

.btn-orange {
  background: #1F3A2E !important;
  color: #F4EDE1 !important;
  border-color: #1F3A2E !important;
  box-shadow: 0 4px 16px rgba(31, 58, 46, 0.2) !important;
  filter: none !important;
}
.btn-orange:hover {
  background: #152820 !important;
  border-color: #152820 !important;
}
.btn-outline {
  color: #1F3A2E !important;
  border-color: #1F3A2E !important;
}
.btn-outline:hover {
  background: #1F3A2E !important;
  color: #F4EDE1 !important;
}

@media (max-width: 1100px) {
  .site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .main-nav {
    background: #F4EDE1 !important;
  }
  .nav-item { border-bottom-color: rgba(139, 94, 60, 0.15); }
  .nav-link { color: #1F3A2E !important; }
  .dropdown,
  .mega-menu { background: #E8DFD0 !important; }
  .mega-menu a,
  .dropdown a { color: #1F3A2E !important; }
  .mega-col-title { color: #8B5E3C !important; }
}
