/* Shared theme toggle and light-theme overrides. Dark styles remain in the existing stylesheets. */
.header-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.header-theme-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    color: var(--color-text-muted);
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.header-theme-toggle:hover,
.header-theme-toggle:focus-visible {
    color: var(--color-primary);
    border-color: rgba(110, 226, 104, 0.55);
    background: rgba(110, 226, 104, 0.08);
    transform: translateY(-1px);
    outline: none;
}

.theme-icon {
    position: absolute;
    font-size: 15px;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

[data-theme="dark"] .theme-icon-sun {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

[data-theme="dark"] .theme-icon-moon {
    opacity: 0;
    transform: rotate(-75deg) scale(0.75);
}

[data-theme="light"] .theme-icon-sun {
    opacity: 0;
    transform: rotate(75deg) scale(0.75);
}

[data-theme="light"] .theme-icon-moon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

[data-theme="light"] {
    color-scheme: light;

    --bg-primary: #F4F7F2;
    --bg-secondary: #FFFFFF;
    --bg-tertiary: #EAF1E7;
    --bg-card: #FFFFFF;
    --card-bg: #FFFFFF;
    --card-bg-soft: #F8FBF6;
    --bg-glass: rgba(255, 255, 255, 0.92);
    --bg-glass-hover: #FFFFFF;

    --text-primary: #071008;
    --text-heading: #050A06;
    --text-secondary: #2F3A34;
    --text-muted: #526157;

    --accent: #16A34A;
    --accent-bright: #22C55E;
    --accent-dark: #0F7A34;
    --accent-soft: rgba(22, 163, 74, 0.12);
    --accent-primary: #16A34A;
    --accent-secondary: #22C55E;
    --accent-tertiary: #0F7A34;
    --accent-gradient: linear-gradient(135deg, #22C55E 0%, #16A34A 55%, #0F7A34 100%);
    --accent-glow: rgba(22, 163, 74, 0.24);

    --border-color: rgba(15, 122, 52, 0.22);
    --border-strong: rgba(15, 122, 52, 0.42);
    --border-glass: rgba(15, 122, 52, 0.22);
    --shadow-soft: 0 12px 30px rgba(15, 23, 42, 0.08);
    --shadow-card: 0 18px 45px rgba(15, 23, 42, 0.12);
    --shadow-sm: 0 4px 14px rgba(15, 23, 42, 0.07);
    --shadow-md: 0 16px 38px rgba(15, 23, 42, 0.1);
    --shadow-lg: 0 22px 55px rgba(15, 23, 42, 0.13);

    --color-primary: #16A34A;
    --color-secondary: #22C55E;
    --color-bg-dark: #F4F7F2;
    --color-bg-card: #FFFFFF;
    --color-bg-light: #EAF1E7;
    --color-text-primary: #071008;
    --color-text-dark: #050A06;
    --color-text-muted: #526157;
    --color-border: rgba(15, 122, 52, 0.22);
    --color-hover-glow: rgba(22, 163, 74, 0.2);
    --gradient-primary: linear-gradient(135deg, #22C55E 0%, #16A34A 55%, #0F7A34 100%);
    --gradient-text: linear-gradient(135deg, #16A34A, #0F7A34);
    --gradient-glow: radial-gradient(ellipse at center, rgba(22, 163, 74, 0.12) 0%, transparent 70%);
    --gradient-hero-bg: radial-gradient(ellipse at 60% 40%, rgba(22, 163, 74, 0.1) 0%, transparent 60%);
}

[data-theme="light"] body {
    background: #F4F7F2;
    color: #071008;
}

[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6,
[data-theme="light"] .section-title,
[data-theme="light"] .hero-title,
[data-theme="light"] .hero-name {
    color: #050A06;
}

[data-theme="light"] p,
[data-theme="light"] .section-text,
[data-theme="light"] .card-description,
[data-theme="light"] .service-prose,
[data-theme="light"] .section-desc {
    color: #2F3A34;
}

[data-theme="light"] .text-muted,
[data-theme="light"] .eyebrow,
[data-theme="light"] .small-text,
[data-theme="light"] .section-label-v2,
[data-theme="light"] .breadcrumb,
[data-theme="light"] .breadcrumb a {
    color: #526157;
}

[data-theme="light"] .accent-text,
[data-theme="light"] .green-text,
[data-theme="light"] .highlight,
[data-theme="light"] .section-label-v2,
[data-theme="light"] .section-label,
[data-theme="light"] .location-card-county,
[data-theme="light"] .service-card-v2-link,
[data-theme="light"] .portfolio-preview-link,
[data-theme="light"] .portfolio-card-link {
    color: #16A34A;
}

[data-theme="light"] .gradient-text,
[data-theme="light"] .hero-headline {
    background: linear-gradient(135deg, #16A34A, #0F7A34);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

[data-theme="light"] .site-header-v2 {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(15, 122, 52, 0.18);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

[data-theme="light"] .site-header-v2.is-scrolled {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

[data-theme="light"] .header-logo-text,
[data-theme="light"] .header-nav-link,
[data-theme="light"] .header-nav-dropdown-trigger,
[data-theme="light"] .header-locations-toggle {
    color: #071008;
}

[data-theme="light"] .header-logo-text strong {
    color: #16A34A;
}

[data-theme="light"] .header-nav-link:hover,
[data-theme="light"] .header-nav-link.is-active,
[data-theme="light"] .header-nav-dropdown:hover .header-nav-dropdown-trigger,
[data-theme="light"] .header-nav-dropdown.is-open .header-nav-dropdown-trigger,
[data-theme="light"] .header-locations-dropdown:hover .header-locations-toggle,
[data-theme="light"] .header-locations-dropdown.is-open .header-locations-toggle {
    color: #16A34A;
}

[data-theme="light"] .header-nav-link.is-active {
    border-bottom-color: #16A34A;
}

[data-theme="light"] .header-theme-toggle,
[data-theme="light"] .header-hamburger,
[data-theme="light"] .mobile-overlay-close,
[data-theme="light"] .mobile-locations-toggle,
[data-theme="light"] .seo-audit-modal-close {
    color: #071008;
    background: #FFFFFF;
    border-color: rgba(15, 122, 52, 0.26);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

[data-theme="light"] .header-nav-dropdown-menu,
[data-theme="light"] .mobile-locations-list {
    background: #FFFFFF;
    border-color: rgba(15, 122, 52, 0.22);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
}

[data-theme="light"] .header-nav-dropdown-menu a,
[data-theme="light"] .mobile-overlay-nav .mobile-locations-list a {
    color: #071008;
}

[data-theme="light"] .header-nav-dropdown-menu a:hover,
[data-theme="light"] .header-nav-dropdown-menu a:focus-visible,
[data-theme="light"] .mobile-overlay-nav .mobile-locations-list a:hover,
[data-theme="light"] .mobile-overlay-nav .mobile-locations-list a:focus-visible {
    color: #16A34A;
    background: rgba(22, 163, 74, 0.08);
}

[data-theme="light"] .mobile-overlay {
    background: #F4F7F2;
}

[data-theme="light"] .mobile-overlay-nav a {
    color: #071008;
}

[data-theme="light"] .btn-header-contact,
[data-theme="light"] .btn-primary-green,
[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-nav-cta,
[data-theme="light"] .cta-button,
[data-theme="light"] button[type="submit"] {
    background: linear-gradient(135deg, #22C55E, #16A34A);
    color: #050A06;
    border: 1px solid rgba(15, 122, 52, 0.35);
    box-shadow: 0 14px 30px rgba(22, 163, 74, 0.25);
}

[data-theme="light"] .btn-header-contact:hover,
[data-theme="light"] .btn-primary-green:hover,
[data-theme="light"] .btn-primary:hover,
[data-theme="light"] .btn-nav-cta:hover,
[data-theme="light"] .cta-button:hover,
[data-theme="light"] button[type="submit"]:hover {
    background: linear-gradient(135deg, #16A34A, #0F7A34);
    color: #FFFFFF;
    box-shadow: 0 18px 40px rgba(22, 163, 74, 0.32);
}

[data-theme="light"] .btn-outline-green,
[data-theme="light"] .btn-outline,
[data-theme="light"] .btn-secondary,
[data-theme="light"] .outline-button {
    background: #FFFFFF;
    color: #071008;
    border-color: rgba(15, 122, 52, 0.32);
}

[data-theme="light"] .btn-outline-green:hover,
[data-theme="light"] .btn-outline:hover,
[data-theme="light"] .btn-secondary:hover,
[data-theme="light"] .outline-button:hover {
    color: #16A34A;
    border-color: #16A34A;
}

[data-theme="light"] .network-center,
[data-theme="light"] .network-node {
    color: #16A34A;
    background: #FFFFFF;
    border-color: rgba(15, 122, 52, 0.42);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09);
}

[data-theme="light"] .portfolio-preview-image {
    background: #EAF1E7;
}

[data-theme="light"] .cs-section:nth-child(even),
[data-theme="light"] .service-page-v2 .service-content-section:nth-child(even),
[data-theme="light"] .location-section:nth-child(even) {
    background: #EAF1E7;
}

[data-theme="light"] .section,
[data-theme="light"] .page-section {
    background-color: transparent;
}

[data-theme="light"] .section-muted,
[data-theme="light"] .testimonials-section,
[data-theme="light"] .contact-section {
    background: #EAF1E7;
}

[data-theme="light"] .header-theme-toggle:hover,
[data-theme="light"] .header-theme-toggle:focus-visible {
    color: #16A34A;
    border-color: rgba(15, 122, 52, 0.46);
    background: rgba(22, 163, 74, 0.08);
}

[data-theme="light"] .site-logo-mark,
[data-theme="light"] .footer-logo-mark {
    filter: saturate(1.08) contrast(1.08);
}

[data-theme="light"] .glass-card,
[data-theme="light"] .stats-row-item,
[data-theme="light"] .how-i-help-card,
[data-theme="light"] .service-card-v2,
[data-theme="light"] .portfolio-preview-card,
[data-theme="light"] .cta-banner,
[data-theme="light"] .portfolio-card-v2,
[data-theme="light"] .cs-metric-card,
[data-theme="light"] .cs-result-card,
[data-theme="light"] .service-process-card,
[data-theme="light"] .service-info-card,
[data-theme="light"] .blog-featured,
[data-theme="light"] .blog-card,
[data-theme="light"] .blog-toc,
[data-theme="light"] .blog-author-box,
[data-theme="light"] .toc-mobile-toggle,
[data-theme="light"] .tool-card,
[data-theme="light"] .team-card,
[data-theme="light"] .about-work-card,
[data-theme="light"] .diff-card,
[data-theme="light"] .contact-info-card,
[data-theme="light"] .contact-form-wrap,
[data-theme="light"] .contact-faq-card,
[data-theme="light"] .location-card,
[data-theme="light"] .location-industry-item,
[data-theme="light"] .nearby-link,
[data-theme="light"] .nearby-name,
[data-theme="light"] .seo-audit-modal {
    background-color: #FFFFFF;
    border-color: rgba(15, 122, 52, 0.22);
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.09);
}

[data-theme="light"] .glass-card:hover,
[data-theme="light"] .stats-row-item:hover,
[data-theme="light"] .how-i-help-card:hover,
[data-theme="light"] .service-card-v2:hover,
[data-theme="light"] .portfolio-preview-card:hover,
[data-theme="light"] .portfolio-card-v2:hover,
[data-theme="light"] .tool-card:hover,
[data-theme="light"] .team-card:hover,
[data-theme="light"] .about-work-card:hover,
[data-theme="light"] .location-card:hover {
    border-color: rgba(15, 122, 52, 0.46);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.13);
}

[data-theme="light"] .stats-row-number {
    color: #0F7A34;
}

[data-theme="light"] .stats-row-label,
[data-theme="light"] .tool-name,
[data-theme="light"] .service-card-v2 h3,
[data-theme="light"] .portfolio-preview-body h3,
[data-theme="light"] .portfolio-card-v2 h3,
[data-theme="light"] .testimonial-card h3,
[data-theme="light"] .contact-info-card .value,
[data-theme="light"] .contact-info-card .value a {
    color: #071008;
}

[data-theme="light"] .stats-row-sublabel,
[data-theme="light"] .tool-desc,
[data-theme="light"] .service-card-v2 p,
[data-theme="light"] .portfolio-preview-body p,
[data-theme="light"] .portfolio-card-summary,
[data-theme="light"] .testimonial-card p,
[data-theme="light"] .contact-info-card .note {
    color: #2F3A34;
}

[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select,
[data-theme="light"] .form-group input,
[data-theme="light"] .form-group select,
[data-theme="light"] .form-group textarea,
[data-theme="light"] .seo-audit-field input,
[data-theme="light"] .seo-audit-field select {
    background: #FFFFFF;
    color: #071008;
    border-color: rgba(15, 122, 52, 0.28);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder,
[data-theme="light"] .form-group input::placeholder,
[data-theme="light"] .form-group textarea::placeholder,
[data-theme="light"] .seo-audit-field input::placeholder {
    color: #6B7280;
}

[data-theme="light"] input:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] select:focus,
[data-theme="light"] .form-group input:focus,
[data-theme="light"] .form-group select:focus,
[data-theme="light"] .form-group textarea:focus,
[data-theme="light"] .seo-audit-field input:focus,
[data-theme="light"] .seo-audit-field select:focus {
    border-color: #16A34A;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
    outline: none;
}

[data-theme="light"] .form-group label,
[data-theme="light"] .seo-audit-field label {
    color: #526157;
}

[data-theme="light"] .seo-audit-modal {
    color: #071008;
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.18);
}

[data-theme="light"] .seo-audit-modal h2,
[data-theme="light"] .seo-audit-modal-subtitle {
    color: #050A06;
}

[data-theme="light"] .seo-audit-modal-copy {
    color: #2F3A34;
}

[data-theme="light"] .seo-audit-modal-overlay {
    background: rgba(7, 16, 8, 0.58);
}

[data-theme="light"] .site-footer-v2 {
    background: #FFFFFF;
    border-top-color: rgba(15, 122, 52, 0.18);
    color: #2F3A34;
}

[data-theme="light"] .footer-brand-lockup,
[data-theme="light"] .footer-v2-heading {
    color: #071008;
}

[data-theme="light"] .footer-v2-tagline,
[data-theme="light"] .footer-v2-location,
[data-theme="light"] .footer-v2-links a,
[data-theme="light"] .footer-v2-contact li,
[data-theme="light"] .footer-v2-contact a,
[data-theme="light"] .footer-v2-bottom p {
    color: #2F3A34 !important;
}

[data-theme="light"] .footer-v2-links a:hover,
[data-theme="light"] .footer-v2-contact a:hover {
    color: #16A34A !important;
}

[data-theme="light"] .footer-v2-socials a {
    color: #0F7A34;
    border-color: rgba(15, 122, 52, 0.32);
    background: #F8FBF6;
}

[data-theme="light"] .footer-v2-socials a:hover {
    color: #16A34A;
    border-color: #16A34A;
    background: rgba(22, 163, 74, 0.08);
}

[data-theme="light"] .footer-v2-bottom {
    border-top-color: rgba(15, 122, 52, 0.18);
}

[data-theme="light"] .site-location-map-section {
    border-top-color: rgba(15, 122, 52, 0.18);
    background:
        radial-gradient(circle at 50% 0%, rgba(22, 163, 74, 0.12), transparent 48%),
        #F8FBF6;
}

[data-theme="light"] .site-location-map-label {
    color: #071008;
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(15, 122, 52, 0.22);
    box-shadow: 0 18px 46px rgba(15, 122, 52, 0.14);
}

[data-theme="light"] .site-location-map-label span span {
    color: #2F3A34;
}

[data-theme="light"] .scroll-top-btn {
    background: #FFFFFF;
    color: #0F7A34;
    border-color: rgba(15, 122, 52, 0.32);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
}

@media (max-width: 1100px) {
    .header-controls {
        gap: 8px;
    }

    .header-nav,
    .header-actions,
    .btn-header-contact {
        display: none;
    }

    .header-hamburger {
        display: flex;
    }

    .mobile-overlay {
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header-theme-toggle,
    .theme-icon {
        transition: none;
    }
}
