/* ==========================================================================
   Pine - locked trust/eco theme (loaded AFTER vanilla).
   Calm forest green on warm cream surfaces, humanist serif Fraunces headings
   over an Inter body. Established, trustworthy, eco.
     page #f7f4ec   surface #fffdf7   bands #14331f   accent #1f5c3d
   ========================================================================== */

.theme-pine {
    --font-heading: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;

    --color-accent: #1f5c3d;
    --color-accent-hover: #17472f;

    --color-bg: #f7f4ec;
    --color-surface: #fffdf7;
    --color-surface-dark: #14331f;   /* deep forest band */
    --color-border: #e6e0d2;

    --color-text: #2a2722;
    --color-text-secondary: #6b6557;
    --color-text-muted: #4d4a41;
    --color-text-on-dark: #ffffff;
    --color-text-on-dark-muted: #aebcaf;

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 14px;
}

body.theme-pine { background: var(--color-bg); }

/* Serif headings: warm, editorial, slightly larger optical size. */
.theme-pine h1,
.theme-pine h2,
.theme-pine h3,
.theme-pine h4 { font-weight: 600; letter-spacing: -0.01em; }
.theme-pine .c-hero__title,
.theme-pine .c-section-head__title { font-weight: 600; }
/* Sentence-case nav reads calmer than vanilla's uppercase. */
.theme-pine .c-nav__link,
.theme-pine .c-nav__mobile a { letter-spacing: normal; text-transform: none; font-weight: 600; }

/* Buttons: green fill, white label, sentence case. */
.theme-pine .btn,
.theme-pine .btn-primary,
.theme-pine .btn-secondary,
.theme-pine .btn--primary,
.theme-pine .btn--secondary { letter-spacing: 0.02em; text-transform: none; font-weight: 600; }

/* Eyebrows in forest green. */
.theme-pine .c-hero__label,
.theme-pine .c-section-head__label,
.theme-pine .c-services__label,
.theme-pine .c-label { color: var(--color-accent); }
.theme-pine .c-hero--image .c-hero__label { color: rgba(255, 255, 255, 0.9); }

/* Cream cards lifted off the cream page with a warm border. */
.theme-pine .c-service-card,
.theme-pine .c-pricing-index__card,
.theme-pine .oh-dept { background: var(--color-surface); }
.theme-pine .c-service-card:hover { box-shadow: 0 16px 40px rgba(31, 92, 61, 0.10); }
.theme-pine .c-pricing-index__card:hover { border-color: var(--color-accent); }
.theme-pine .c-services,
.theme-pine .c-tabs { background: var(--color-surface); }

/* Green focus ring. */
.theme-pine .field input:focus,
.theme-pine .field select:focus,
.theme-pine .field textarea:focus,
.theme-pine .bk-search input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(31, 92, 61, 0.16);
}

/* ===== HERO: solid-green "banner" - white text, cream button ===== */
.theme-pine .c-hero--banner { background: var(--color-accent); color: #fff; }
.theme-pine .c-hero--banner .c-hero__title,
.theme-pine .c-hero--banner .c-hero__desc { color: #fff; }
.theme-pine .c-hero--banner .c-hero__label { color: rgba(255, 255, 255, 0.85); }
.theme-pine .c-hero--banner .btn-primary,
.theme-pine .c-hero--banner .btn--primary { background: #fff; color: var(--color-accent); }
.theme-pine .c-hero--banner .btn-primary:hover,
.theme-pine .c-hero--banner .btn--primary:hover { background: rgba(255, 255, 255, 0.88); }
