/*
Theme Name: ECS Base
Theme URI: https://earthconscioussolutions.com/
Author: MAD Monkey Media LLC
Author URI: https://madmonkey.media/
Description: Native B2B theme for Earth Conscious Solutions (ECS). Forked from solverra-base and retoken to the ECS brand (forest / cream / leaf, Domine / Manrope / JetBrains Mono). No storefront: WooCommerce is stripped; the conversion surface is the [ecs_leadgen] lead form, the B2B RFQ, and the EPR calculator. Header, navigation, footer, and the design-token fallback surface replace Divi entirely. Token-compatible with the ecs-design-system mu-plugin (its style id="solverra-tokens" wins at wp_head:5). ASCII-only, WCAG 2.2 AA, single H1 per template.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
License: Proprietary
License URI: https://madmonkey.media/license/
Text Domain: ecs
Tags: custom-menu, custom-logo, featured-images, full-width-template, sticky-post, theme-options, translation-ready

==========================================================================
  This stylesheet carries ONLY:
    1. The WP theme header block above (required by WordPress).
    2. A self-contained :root token FALLBACK (so the theme renders correctly
       even if the ecs-design-system mu-plugin is ever disabled). When that
       mu-plugin IS active it injects its own :root + per-brand sheets at
       wp_head priority 5 -- LATER in the cascade -- and wins, so these
       fallbacks never fight it. ECS brand atoms (forest / leaf / cream / ink)
       mirror design-system/ecs-design-system/project/colors_and_type.css.
       Legacy --sol-* names are kept as ECS-valued ALIASES so the inherited
       base CSS (ported from solverra-base) renders in ECS colors with no
       per-rule edits.
    3. Base element styling for native WP content (page.php / single.php /
       archive.php / search.php / 404 / comments) so plain post content looks
       ECS without Divi.
  Component CSS (homepage / pillars / catalog / countries / site) is enqueued
  separately by functions.php with filemtime() versioning. It is NOT @imported
  here, so the browser does not block on a serial @import chain.
  ASCII-only. Straight quotes + hyphens only. No BOM.
========================================================================== */
:root{--forest-950:#052E22;--forest-900:#0B4E3D;--forest-800:#0F5C48;--forest-700:#1E6850;--forest-600:#2F7A63;--forest-500:#5A8A7A;--forest-400:#8FAAA0;--forest-200:#C9D8D1;--forest-100:#E4ECE7;--forest-50:#F1F5F2;--leaf-700:#6A9436;--leaf-500:#86B647;--leaf-400:#A3CB6B;--leaf-200:#D3E4B2;--leaf-100:#EBF3D9;--cream-50:#FFFBF1;--cream-100:#FEF5E7;--cream-200:#F8ECCF;--cream-300:#EFDFB1;--cream-400:#DFCB8E;--clay-500:#C9986A;--clay-700:#9A6E45;--soil-900:#2E2418;--ink-900:#14201B;--ink-700:#3D453F;--ink-500:#6A7570;--ink-400:#8B948F;--ink-200:#D6DBD7;--ink-100:#ECEFEC;--white:#FFFFFF;--sol-lime:var(--leaf-500);--sol-lime-bright:var(--leaf-400);--sol-lime-deep:var(--leaf-700);--sol-lime-fog:var(--leaf-100);--sol-lime-mist:var(--forest-50);--sol-forest:var(--forest-900);--sol-forest-deep:var(--ink-900);--sol-forest-mid:var(--forest-700);--sol-forest-soft:var(--forest-500);--sol-charcoal:var(--ink-500);--sol-charcoal-2:var(--ink-400);--sol-charcoal-3:var(--ink-200);--sol-bone:var(--cream-100);--sol-paper:var(--cream-50);--sol-cream:var(--cream-200);--sol-clay:var(--clay-500);--sol-bark:var(--soil-900);--bg:var(--cream-100);--bg-elev:var(--white);--bg-sunken:var(--cream-200);--bg-band:var(--forest-900);--bg-tint:var(--forest-50);--fg:var(--ink-900);--fg-2:var(--ink-500);--fg-3:var(--ink-400);--fg-mute:var(--ink-200);--fg-on-dark:var(--cream-100);--fg-accent:var(--forest-900);--brand:var(--forest-900);--brand-fg:var(--cream-100);--brand-ink:var(--forest-900);--border:var(--ink-200);--border-strong:var(--ink-400);--border-on-dark:rgba(254,245,231,0.18);--color-bg:var(--cream-100);--color-bg-subtle:var(--cream-50);--color-bg-elevated:var(--white);--color-bg-inverse:var(--forest-900);--color-fg:var(--ink-900);--color-fg-muted:var(--ink-500);--color-fg-on-inverse:var(--cream-100);--color-fg-on-accent:var(--forest-900);--color-primary:var(--forest-900);--color-primary-hover:var(--forest-700);--color-primary-press:var(--forest-800);--color-on-primary:var(--cream-100);--color-accent:var(--leaf-500);--color-accent-hover:var(--leaf-400);--color-accent-press:var(--leaf-700);--color-border:var(--ink-200);--color-border-strong:var(--ink-400);--color-text:var(--ink-900);--color-text-muted:var(--ink-500);--color-bg-soft:var(--cream-50);--color-success:#4F8A3D;--color-warning:#C4892F;--color-error:#B5483C;--color-info:#2F7A63;--ff-display:"Domine","Lora",Georgia,"Times New Roman",serif;--ff-body:"Manrope",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--ff-serif:"Domine","Lora",Georgia,"Times New Roman",serif;--ff-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:21px;--fs-2xl:26px;--fs-3xl:32px;--fs-4xl:42px;--fs-5xl:56px;--fs-6xl:72px;--fs-7xl:96px;--lh-tight:1.05;--lh-snug:1.18;--lh-base:1.45;--lh-loose:1.65;--ls-display:-0.02em;--ls-eyebrow:0.18em;--ls-caps:0.04em;--s-0:0;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--r-xs:4px;--r-sm:8px;--r-md:8px;--r-lg:14px;--r-xl:22px;--r-2xl:32px;--r-pill:999px;--shadow-0:none;--shadow-1:0 1px 2px rgba(11,78,61,0.12);--shadow-2:0 1px 2px rgba(11,78,61,0.10),0 4px 8px -2px rgba(11,78,61,0.14);--shadow-3:0 8px 14px -4px rgba(11,78,61,0.18),0 32px 56px -18px rgba(11,78,61,0.36);--shadow-lime:0 8px 20px -6px rgba(134,182,71,0.55),0 2px 6px rgba(11,78,61,0.16);--bw-hair:1px;--bw-line:1.5px;--bw-edge:2px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-1:140ms;--dur-2:220ms;--dur-3:400ms;--container:min(85vw,1560px);--container-wide:min(85vw,1560px);--container-narrow:min(85vw,1560px);--measure:min(85vw,1560px);--font-serif:'Domine','Lora',Georgia,'Times New Roman',serif;--font-sans:'Manrope',ui-sans-serif,system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;--fs-12:0.75rem;--fs-14:0.875rem;--fs-16:1rem;--fs-18:1.125rem;--fs-21:1.3125rem;--fs-26:1.625rem;--fs-32:2rem;--fs-42:2.625rem;--fs-56:3.5rem;--lh-normal:1.45;--tracking-tight:-0.02em;--tracking-wide:0.04em;--tracking-widest:0.18em;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:22px;--radius-2xl:32px;--radius-pill:999px;--ease-standard:cubic-bezier(0.22,0.61,0.36,1);--dur-fast:140ms;--dur-base:220ms;--color-fg-subtle:var(--ink-400);--color-border-onfg:rgba(254,251,241,0.18);--shadow-xs:0 1px 2px rgba(11,78,61,0.12);--shadow-sm:0 1px 2px rgba(11,78,61,0.10),0 4px 8px -2px rgba(11,78,61,0.14),0 0 0 1px rgba(11,78,61,0.04);--shadow-md:0 4px 8px -2px rgba(11,78,61,0.14),0 14px 28px -8px rgba(11,78,61,0.24),0 0 32px -10px rgba(134,182,71,0.22);--shadow-accent:0 8px 20px -6px rgba(134,182,71,0.55),0 2px 6px rgba(11,78,61,0.16);--focus-ring:0 0 0 2px var(--cream-50),0 0 0 4px var(--leaf-500),0 0 0 6px rgba(134,182,71,0.30),0 6px 18px -4px rgba(134,182,71,0.45);--focus-ring-on-dark:0 0 0 2px var(--forest-900),0 0 0 4px var(--leaf-400),0 0 0 6px rgba(163,203,107,0.35),0 6px 18px -4px rgba(163,203,107,0.55)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--ff-body);font-size:var(--fs-md);line-height:var(--lh-base);color:var(--fg);background:var(--bg);font-feature-settings:"ss01","kern";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}img,picture,svg,video{max-width:100%;height:auto}svg{display:block}h1,h2,h3,h4,h5,h6{color:var(--fg)}h1{font-family:var(--ff-display);font-weight:800;font-size:clamp(40px,6vw,var(--fs-6xl));line-height:var(--lh-tight);letter-spacing:var(--ls-display);margin:0 0 var(--s-5);text-transform:uppercase}h2{font-family:var(--ff-display);font-weight:800;font-size:clamp(28px,4vw,var(--fs-4xl));line-height:var(--lh-snug);letter-spacing:var(--ls-display);margin:0 0 var(--s-4);text-transform:uppercase}h3{font-family:var(--ff-display);font-weight:700;font-size:var(--fs-2xl);line-height:var(--lh-snug);letter-spacing:-0.01em;margin:0 0 var(--s-3);text-transform:uppercase}h4{font-family:var(--ff-body);font-weight:700;font-size:var(--fs-xl);line-height:var(--lh-snug);margin:0 0 var(--s-3)}h5{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-lg);line-height:var(--lh-snug);margin:0 0 var(--s-2)}h6{font-family:var(--ff-body);font-weight:600;font-size:var(--fs-md);line-height:var(--lh-snug);margin:0 0 var(--s-2)}p{margin:0 0 var(--s-4);text-wrap:pretty}.lead{font-size:var(--fs-xl);line-height:1.45;max-width:60ch}.eyebrow{font-family:var(--ff-body);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--sol-forest-mid);margin:0 0 var(--s-3)}.meta,small{font-size:var(--fs-sm);color:var(--fg-2)}.editorial{font-family:var(--ff-serif);font-weight:500;font-style:italic;font-size:var(--fs-2xl);line-height:1.35;color:var(--sol-forest)}a{color:var(--sol-forest);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:var(--sol-lime);transition:color var(--dur-1) var(--ease-out),text-decoration-color var(--dur-1) var(--ease-out)}a:hover{color:var(--sol-forest-deep);text-decoration-color:var(--sol-lime-deep)}ul,ol{margin:0 0 var(--s-4);padding-left:var(--s-6)}li{margin-bottom:var(--s-2)}blockquote{margin:var(--s-6) 0;padding:var(--s-4) var(--s-6);border-left:var(--bw-edge) solid var(--sol-lime);background:var(--bg-tint);border-radius:0 var(--r-md) var(--r-md) 0}blockquote p:last-child{margin-bottom:0}code,kbd,.mono{font-family:var(--ff-mono);font-size:0.92em;background:var(--bg-sunken);padding:1px 6px;border-radius:var(--r-xs)}pre{background:var(--bg-sunken);padding:var(--s-5);border-radius:var(--r-md);overflow:auto}pre code{background:none;padding:0}hr{border:0;border-top:var(--bw-hair) solid var(--border);margin:var(--s-7) 0}table{border-collapse:collapse;width:100%;margin:0 0 var(--s-5)}th,td{padding:var(--s-3) var(--s-4);border-bottom:var(--bw-hair) solid var(--border);text-align:left}th{font-weight:700}:focus-visible{outline:var(--bw-edge) solid var(--sol-lime);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--sol-lime);color:var(--sol-forest-deep)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s-5)}.container-wide{width:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--s-5)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--s-5)}@media (max-width:600px){.container,.container-wide,.container-narrow{max-width:92vw;padding-inline:var(--s-4)}}.section{padding-block:var(--s-9)}@media (max-width:768px){.section{padding-block:var(--s-7)}}.section--bone{background:var(--sol-bone)}.section--paper{background:var(--sol-paper)}.section--cream{background:var(--sol-cream)}.section--tint{background:var(--sol-lime-mist)}.section--forest{background:var(--bg-band);color:var(--fg-on-dark)}.skip-link{position:absolute;left:var(--s-4);top:-120px;z-index:200;background:var(--sol-forest);color:var(--fg-on-dark);padding:var(--s-3) var(--s-5);border-radius:var(--r-sm);text-decoration:none;font-weight:700;transition:top var(--dur-2) var(--ease-out)}.skip-link:focus{top:var(--s-4);color:var(--fg-on-dark)}.visually-hidden,.screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:static !important;width:auto;height:auto;clip:auto;padding:var(--s-3) var(--s-5);background:var(--bg-elev)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);font-family:var(--ff-body);font-weight:700;font-size:var(--fs-md);line-height:1;padding:var(--s-4) var(--s-6);min-height:48px;border:var(--bw-edge) solid transparent;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:var(--ls-caps);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.btn--primary{background:var(--sol-lime);color:var(--ink-900);box-shadow:var(--shadow-lime)}.btn--primary:hover{background:var(--sol-lime-bright);color:var(--ink-900)}.btn--primary:active{background:var(--sol-forest);color:var(--cream-100);transform:translateY(1px)}.btn--secondary{background:transparent;color:var(--sol-forest);border-color:var(--sol-forest)}.btn--secondary:hover{background:var(--sol-forest);color:var(--fg-on-dark)}.btn--secondary:active{transform:translateY(1px)}.btn--on-dark{background:var(--sol-lime);color:var(--ink-900)}.btn--on-dark:hover{background:var(--sol-lime-bright);color:var(--ink-900)}.btn--ghost-on-dark{background:transparent;color:var(--fg-on-dark);border-color:var(--border-on-dark)}.btn--ghost-on-dark:hover{background:rgba(246,244,236,0.10)}.btn--full{width:100%}.site-main{display:block}.page-shell{padding-block:var(--s-8) var(--s-9)}.page-shell .entry-header{margin-bottom:var(--s-7)}.page-shell .entry-meta{font-size:var(--fs-sm);color:var(--fg-2);letter-spacing:var(--ls-caps);text-transform:uppercase;margin-bottom:var(--s-3)}.entry-content>*{margin-bottom:var(--s-5)}.entry-content>*:last-child{margin-bottom:0}.entry-content img{border-radius:var(--r-md)}.entry-content figure{margin:var(--s-6) 0}.entry-content figcaption{font-size:var(--fs-sm);color:var(--fg-2);margin-top:var(--s-2)}.entry-content>p,.entry-content>ul,.entry-content>ol,.entry-content>blockquote,.entry-content>h2,.entry-content>h3,.entry-content>h4{max-width:var(--measure)}.entry-content>.alignwide,.entry-content>.alignfull,.entry-content>figure,.entry-content>table,.entry-content>img,.entry-content>.wp-block-columns,.entry-content>.wp-block-gallery{max-width:none}.alignwide{width:min(var(--container-wide),100%);margin-inline:auto}.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.alignleft{float:left;margin:0 var(--s-5) var(--s-4) 0}.alignright{float:right;margin:0 0 var(--s-4) var(--s-5)}.aligncenter{display:block;margin-inline:auto}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6)}@media (max-width:900px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.posts-grid{grid-template-columns:1fr}}.post-card{display:flex;flex-direction:column;background:var(--bg-elev);border:var(--bw-hair) solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}.post-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.post-card__thumb{aspect-ratio:16 / 10;object-fit:cover;width:100%;background:var(--bg-sunken)}.post-card__body{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);flex:1}.post-card__title{font-family:var(--ff-display);font-size:var(--fs-xl);text-transform:uppercase;margin:0}.post-card__title a{text-decoration:none;color:var(--sol-forest-deep)}.post-card__title a:hover{color:var(--sol-lime-deep)}.post-card__excerpt{font-size:var(--fs-sm);color:var(--fg-2);margin:0}.post-card__more{margin-top:auto;font-weight:700;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-caps)}.ecs-pagination ul,.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);padding:0;margin:var(--s-7) 0 0;justify-content:center}.page-numbers li{margin:0}.page-numbers .page-numbers,a.page-numbers,span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--s-3);border:var(--bw-hair) solid var(--border);border-radius:var(--r-sm);text-decoration:none;color:var(--sol-forest);background:var(--bg-elev)}.page-numbers .current{background:var(--sol-lime);color:var(--forest-900);border-color:var(--sol-lime);font-weight:700}a.page-numbers:hover{border-color:var(--border-strong)}.error-404,.search-empty{text-align:center;padding-block:var(--s-10)}.error-404 .code-404{font-family:var(--ff-display);font-weight:900;font-size:clamp(80px,18vw,220px);line-height:0.85;color:var(--sol-lime);margin:0}.error-404__actions,.search-empty__actions{display:inline-flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-6)}.search-form{display:flex;gap:var(--s-3);max-width:480px;margin:var(--s-6) auto 0}.search-form .search-field{flex:1;font-family:var(--ff-body);font-size:var(--fs-md);padding:var(--s-4);min-height:48px;border:var(--bw-line) solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--fg)}.comments-area{margin-top:var(--s-8);padding-top:var(--s-7);border-top:var(--bw-hair) solid var(--border)}.comment-list{list-style:none;padding:0}.comment-body{padding:var(--s-5);border:var(--bw-hair) solid var(--border);border-radius:var(--r-md);margin-bottom:var(--s-4);background:var(--bg-elev)}.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;font-family:var(--ff-body);font-size:var(--fs-md);padding:var(--s-3) var(--s-4);border:var(--bw-line) solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);margin-bottom:var(--s-4)}.solverra-theme-toggle{display:inline-flex;align-items:center}.ecs-theme-toggle{display:inline-grid;place-items:center;position:relative;width:36px;height:36px;padding:0;border:var(--bw-hair) solid var(--border-on-dark);border-radius:var(--r-pill);background:rgba(254,245,231,0.08);color:var(--cream-100);cursor:pointer;line-height:0;transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.ecs-theme-toggle:hover{background:rgba(254,245,231,0.16);border-color:rgba(254,245,231,0.34);color:var(--white)}.ecs-theme-toggle:active{transform:scale(0.94)}.ecs-theme-toggle:focus-visible{outline:2px solid var(--leaf-400);outline-offset:2px}.ecs-theme-toggle__icon{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:currentColor;transition:opacity var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.ecs-theme-toggle__icon svg{width:100%;height:100%;stroke:currentColor}.ecs-theme-toggle__icon--sun{opacity:0;transform:scale(0.6) rotate(-90deg);pointer-events:none}.ecs-theme-toggle__icon--moon{opacity:1;transform:scale(1) rotate(0deg)}html[data-theme="dark"] .ecs-theme-toggle__icon--sun{opacity:1;transform:scale(1) rotate(0deg);pointer-events:auto}html[data-theme="dark"] .ecs-theme-toggle__icon--moon{opacity:0;transform:scale(0.6) rotate(90deg);pointer-events:none}html[data-theme="light"] .ecs-theme-toggle__icon--sun{opacity:0;transform:scale(0.6) rotate(-90deg);pointer-events:none}html[data-theme="light"] .ecs-theme-toggle__icon--moon{opacity:1;transform:scale(1) rotate(0deg);pointer-events:auto}@media (prefers-reduced-motion:reduce){.ecs-theme-toggle,.ecs-theme-toggle__icon{transition:none !important}.ecs-theme-toggle__icon--sun,.ecs-theme-toggle__icon--moon{transform:none !important}}html[data-theme="dark"]{--bg:#14201B;--bg-elev:#1B2A22;--bg-sunken:#0F1813;--bg-tint:#16241D;--sol-paper:#1B2A22;--sol-bone:#16241D;--sol-cream:#0F1813;--sol-lime-mist:#16241D;--fg:#F6F4EC;--fg-2:rgba(246,244,236,0.78);--fg-3:rgba(246,244,236,0.62);--fg-mute:rgba(246,244,236,0.30);--fg-accent:var(--leaf-400);--border:rgba(246,244,236,0.16);--border-strong:rgba(246,244,236,0.30);--color-bg:#14201B;--color-bg-subtle:#16241D;--color-bg-elevated:#1B2A22;--color-bg-soft:#16241D;--color-fg:#F6F4EC;--color-fg-muted:rgba(246,244,236,0.72);--color-text:#F6F4EC;--color-text-muted:rgba(246,244,236,0.72);--color-border:rgba(246,244,236,0.16);--color-border-strong:rgba(246,244,236,0.30);--color-primary:var(--leaf-400);--color-primary-hover:var(--leaf-300,#A7D89A);--color-primary-press:var(--leaf-700);--color-on-primary:var(--forest-950);--border-on-dark:rgba(246,244,236,0.18)}html[data-theme="dark"] .site-header{background:rgba(20,32,27,0.86);border-bottom-color:var(--border)}html[data-theme="dark"] .search-panel,html[data-theme="dark"] .mobile-nav{background:var(--bg-elev)}.site-header{position:sticky;top:0;z-index:100;background:rgba(246,244,236,0.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:var(--bw-hair) solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:72px}.site-header__brand{display:inline-flex;align-items:center}.custom-logo-link{display:inline-flex;align-items:center;text-decoration:none}.custom-logo{max-height:48px;width:auto}.brand-lockup{display:inline-flex;align-items:center;gap:var(--s-3);text-decoration:none;font-family:var(--ff-display);font-weight:800;text-transform:uppercase;letter-spacing:var(--ls-display);font-size:var(--fs-xl)}.brand-lockup .sol{color:var(--sol-lime)}.brand-lockup .verra{color:var(--sol-forest)}.brand-lockup__logo{display:block;height:40px;width:auto}.brand-lockup__logo--white{display:none}html[data-theme="dark"] .brand-lockup__logo--color{display:none}html[data-theme="dark"] .brand-lockup__logo--white{display:block}.cart-link{position:relative}.cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:800;line-height:1;color:var(--forest-900);background:var(--sol-lime);border-radius:var(--r-pill)}.search-panel{border-top:var(--bw-hair) solid var(--border);background:var(--bg-elev);padding-block:var(--s-5)}.search-panel[hidden]{display:none}.nav-toggle__bar{display:block;width:20px;height:2px;margin:2px 0;background:var(--sol-forest);border-radius:var(--r-pill)}.mobile-nav{background:var(--bg-elev);border-top:var(--bw-hair) solid var(--border);padding:var(--s-5)}.mobile-nav[hidden]{display:none}.mobile-nav__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}.mobile-nav__list a{display:block;padding:var(--s-3) var(--s-2);text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-caps);font-size:var(--fs-sm);color:var(--sol-forest);border-bottom:var(--bw-hair) solid var(--border)}.mobile-nav__actions{display:grid;gap:var(--s-3);margin-top:var(--s-5)}@media (min-width:961px){.mobile-nav,.nav-toggle{display:none !important}}.primary-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:var(--s-6)}.primary-nav__list li{list-style:none}.primary-nav__list>li{position:relative;display:flex;align-items:center}.primary-nav__list>li>a{display:inline-flex;align-items:center;gap:var(--s-1);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-caps);text-decoration:none;color:var(--sol-forest);padding-block:var(--s-2);white-space:nowrap}.primary-nav__list>li>a:hover,.primary-nav__list>li:focus-within>a{color:var(--sol-lime-deep)}.primary-nav__list>li.menu-item-has-children>a::after{content:"";width:7px;height:7px;margin-left:var(--s-1);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--dur-2,200ms) var(--ease-out,ease)}.primary-nav__list>li.menu-item-has-children:hover>a::after,.primary-nav__list>li.menu-item-has-children:focus-within>a::after{transform:translateY(0) rotate(225deg)}.primary-nav__list .sub-menu{list-style:none;margin:0;padding:var(--s-3);position:absolute;top:100%;left:0;z-index:300;min-width:240px;display:grid;gap:2px;background:var(--bg-elev);border:var(--bw-hair) solid var(--border);border-radius:var(--r-md,12px);box-shadow:var(--shadow-3,0 14px 32px rgba(0,0,0,0.12));opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity var(--dur-2,200ms) var(--ease-out,ease),transform var(--dur-2,200ms) var(--ease-out,ease),visibility 0s linear var(--dur-2,200ms)}.primary-nav__list>li:hover>.sub-menu,.primary-nav__list>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}.primary-nav__list .sub-menu li{display:block}.primary-nav__list .sub-menu a{display:block;min-height:40px;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm,8px);font-weight:600;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-caps);text-decoration:none;color:var(--sol-forest);white-space:nowrap}.primary-nav__list .sub-menu a:hover,.primary-nav__list .sub-menu a:focus-visible{background:var(--sol-lime-fog);color:var(--sol-forest-deep)}.primary-nav__list>li.mega-menu>.sub-menu{min-width:300px}.primary-nav__list>li:last-child>.sub-menu,.primary-nav__list>li:nth-last-child(2)>.sub-menu{left:auto;right:0}@media (prefers-reduced-motion:reduce){.primary-nav__list .sub-menu{transition:none;transform:none}.primary-nav__list>li.menu-item-has-children>a::after{transition:none}}@media (max-width:960px){.mobile-nav__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border:0;background:transparent;padding:0 0 0 var(--s-4);min-width:0}.mobile-nav__list .sub-menu a{text-transform:none}}.topbar__item--toggle{display:inline-flex;align-items:center}.site-footer{background:var(--color-bg-inverse);color:var(--cream-100);padding:80px 0 36px}.site-footer__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-6) var(--s-7);padding-bottom:var(--s-7);border-bottom:var(--bw-hair) solid rgba(254,245,231,0.14)}.site-footer__grid .footer-brand{grid-column:1 / -1}.footer-brand{max-width:560px}.footer-brand__home{display:inline-flex;align-items:center;text-decoration:none}.footer-brand__logo{display:block;height:44px;width:auto;margin-bottom:var(--s-4)}.footer-brand img{height:44px;width:auto}.footer-brand__tagline{font-family:var(--ff-display);font-size:var(--fs-lg,18px);font-weight:600;color:var(--cream-100);margin:0 0 var(--s-2)}.footer-brand__lede,.footer-brand p{font-size:var(--fs-sm);line-height:1.65;color:rgba(254,245,231,0.72);margin:0}.footer-col h2,.footer-newsletter__title{font-family:var(--ff-body);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:600;color:var(--leaf-400);margin:0 0 var(--s-4)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:0}.footer-col a{display:block;font-size:var(--fs-sm);color:var(--cream-100);text-decoration:none;margin-bottom:10px;opacity:0.85;transition:opacity var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.footer-col a:hover,.footer-col a:focus-visible{opacity:1;color:var(--leaf-400)}.footer-contact{font-style:normal;display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-6)}.footer-contact__address{font-size:var(--fs-sm);color:rgba(254,245,231,0.72);line-height:1.6}.footer-contact a{font-size:var(--fs-sm);color:var(--cream-100);text-decoration:none;opacity:0.85;transition:opacity var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.footer-contact a:hover,.footer-contact a:focus-visible{opacity:1;color:var(--leaf-400)}.footer-newsletter__lede{font-size:var(--fs-sm);line-height:1.6;color:rgba(254,245,231,0.72);margin:0 0 var(--s-3)}.footer-newsletter .field{width:100%;min-width:0}.footer-email-form,.footer-newsletter .email-form{display:flex;flex-wrap:wrap;gap:var(--s-3)}.footer-email-form .field{flex:1 1 180px;font-family:var(--ff-body);font-size:var(--fs-md);padding:var(--s-3) var(--s-4);min-height:48px;border:var(--bw-hair) solid rgba(254,245,231,0.24);border-radius:var(--r-md);background:rgba(254,245,231,0.06);color:var(--cream-100)}.footer-email-form .field::placeholder{color:rgba(254,245,231,0.5)}.footer-email-form .field:focus-visible{outline:2px solid var(--leaf-400);outline-offset:1px;border-color:var(--leaf-400)}.footer-email-form .btn{flex:0 0 auto}.email-form__note{font-size:var(--fs-xs);color:rgba(254,245,231,0.55);margin:var(--s-3) 0 0}.email-form__note a{color:var(--leaf-400)}.footer-social{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-4);padding:0;margin:var(--s-5) 0 0}.footer-social a{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:rgba(254,245,231,0.82);text-decoration:none}.footer-social a:hover,.footer-social a:focus-visible{color:var(--leaf-400)}.footer-menu-columns .footer-col-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5) var(--s-7)}.footer-menu-columns .footer-col-list a{font-size:var(--fs-sm);color:rgba(254,245,231,0.82);text-decoration:none}.footer-menu-columns .footer-col-list a:hover,.footer-menu-columns .footer-col-list a:focus-visible{color:var(--leaf-400)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;padding-top:var(--s-6);font-size:var(--fs-xs);color:rgba(254,245,231,0.55)}.footer-legal{display:inline-flex;flex-wrap:wrap;gap:var(--s-5)}.footer-legal a{color:rgba(254,245,231,0.7);text-decoration:none;font-size:var(--fs-xs)}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--leaf-400)}html[data-theme="dark"] .site-footer{background:var(--forest-950);color:var(--cream-100)}@media (max-width:980px){.site-footer__grid{grid-template-columns:repeat(3,1fr);gap:var(--s-6)}.footer-brand{max-width:none}}@media (max-width:720px){.site-footer__grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.site-footer{padding:56px 0 28px}.site-footer__grid{grid-template-columns:1fr;gap:var(--s-6)}.footer-bottom{flex-direction:column;align-items:flex-start}}.section-title{font-family:var(--ff-display);font-size:clamp(2rem,3.6vw+0.5rem,3.25rem);line-height:1.05;letter-spacing:-0.022em;font-weight:600;max-width:22ch;margin:0 0 20px;color:inherit}.eyebrow.on-dark{color:var(--leaf-400)}.eyebrow.on-dark::before{background:var(--leaf-400)}.btn-lg{font-size:var(--fs-md);padding:16px 28px;min-height:52px}.btn-accent{background:var(--leaf-500);color:var(--ink-900);box-shadow:var(--shadow-accent)}.btn-accent:hover{background:var(--leaf-400);color:var(--ink-900)}.btn-accent:active{background:var(--forest-900);color:var(--cream-100);box-shadow:inset 0 2px 4px rgba(11,78,61,0.30)}.cta-band{background:var(--color-bg-inverse);color:var(--cream-100)}.cta-band .section-title{color:var(--cream-100)}.cta-band .eyebrow{color:var(--leaf-400)}.cta-band .eyebrow::before{background:var(--leaf-400)}.cta-inner{display:grid;grid-template-columns:1.4fr 0.6fr;gap:48px;align-items:center}.cta-copy p{color:rgba(254,245,231,0.82);font-size:var(--fs-md);margin:0;max-width:54ch}.cta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.cta-actions .btn{width:100%}.credibility{background:var(--color-bg-inverse);color:var(--cream-100)}.cred-caveat{margin:40px 0 0;font-size:var(--fs-xs);color:rgba(254,245,231,0.55);max-width:70ch}@media (max-width:860px){.cta-inner{grid-template-columns:1fr;gap:28px}.cta-actions{align-items:stretch}}.step-number{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;background:var(--leaf-500);color:var(--forest-900);border-radius:50%;font-weight:700;margin-right:12px;font-family:var(--ff-mono);font-size:14px}.btn.btn--primary,.btn.btn-accent,.btn.btn--on-dark,.btn.btn--full{color:var(--ink-900)}.btn.btn--primary:hover,.btn.btn-accent:hover,.btn.btn--on-dark:hover{color:var(--ink-900)}.btn,a.btn{text-decoration:none}.btn.btn--primary,.btn.btn--secondary,.btn.btn--on-dark,.btn.btn--ghost-on-dark,.btn.btn--full,.btn.btn-primary,.btn.btn-secondary,.btn.btn-accent,.btn.btn-ghost-on-dark,.btn.btn-lg,.btn.header-cta,a.btn.header-cta{text-decoration:none}.btn:hover,a.btn:hover,.btn:focus,a.btn:focus{text-decoration:none}
