/* Earth Conscious Solutions -- shared rebuild stylesheet (no Divi).
   Component styles scoped under #ecspa so they never touch the theme header/
   footer. Width baseline (body.page ...) applies site-wide: content uses
   80-95% of viewport. Earth-green palette. Enqueued by the ECS rebuild
   mu-plugin. ASCII-only. */

/* ---- width baseline: page content column 80-95% of viewport ----
   Outer wrappers full-width; content column capped at min(1800px,95vw), centered. */
body.page main#main, body.page .site-main, body.page .content-area,
body.page article.entry, body.page .entry{ max-width:none !important; width:auto !important; }
body.page .entry-content, body.page .container-narrow{ max-width:min(1800px, 95vw) !important; width:auto !important; margin-inline:auto !important; padding-left:clamp(14px,3vw,32px) !important; padding-right:clamp(14px,3vw,32px) !important; }

/* ---- ECS design tokens + components (scoped) ---- */
#ecspa{
  --ecs-green:#1E6F3A;--ecs-green-bright:#3FA34D;--ecs-green-deep:#14512A;--ecs-green-fog:#E4F1E5;--ecs-green-mist:#F2F8F1;
  --ecs-forest:#10361D;--ecs-forest-mid:#3C5D41;--ecs-charcoal:#5A6560;--ecs-charcoal-2:#8A938D;
  --ecs-bone:#F5F7F2;--ecs-paper:#FBFCF8;--ecs-cream:#E9EFE1;--ecs-sky:#DCEAF0;--ecs-clay:#C7A971;
  --bg-elev:#FFFFFF;--fg:var(--ecs-forest);--fg-2:var(--ecs-charcoal);--fg-on-dark:#F5F7F2;--brand-fg:#FFFFFF;
  --border:rgba(16,54,29,.12);--border-strong:rgba(16,54,29,.22);--border-on-dark:rgba(245,247,242,.16);
  --ff-display:"League Spartan","Bebas Neue",system-ui,sans-serif;--ff-body:"Manrope",system-ui,sans-serif;
  --fs-2xs:11px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-4xl:48px;--fs-6xl:84px;
  --lh-tight:.98;--lh-snug:1.14;--lh-base:1.6;--ls-display:-.02em;--ls-eyebrow:.16em;--ls-caps:.06em;
  --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;
  --r-sm:8px;--r-md:12px;--r-lg:20px;--r-xl:28px;--r-pill:999px;
  --shadow-2:0 4px 14px rgba(16,54,29,.09),0 1px 2px rgba(16,54,29,.05);--shadow-3:0 16px 34px rgba(16,54,29,.13),0 2px 6px rgba(16,54,29,.07);
  font-family:var(--ff-body);font-size:var(--fs-md);line-height:var(--lh-base);color:var(--fg);
}
#ecspa *,#ecspa *::before,#ecspa *::after{box-sizing:border-box}
#ecspa img,#ecspa svg{max-width:100%;display:block}
#ecspa h1,#ecspa h2,#ecspa h3{font-family:var(--ff-display);letter-spacing:var(--ls-display);color:var(--fg);text-transform:uppercase;text-wrap:balance;margin:0}
#ecspa h1{font-weight:800;font-size:clamp(38px,6.5vw,var(--fs-6xl));line-height:var(--lh-tight)}
#ecspa h2{font-weight:800;font-size:clamp(26px,3.6vw,var(--fs-4xl));line-height:var(--lh-snug);margin-bottom:var(--s-4)}
#ecspa h3{font-weight:700;font-size:var(--fs-lg);line-height:var(--lh-snug);letter-spacing:-.01em;margin-bottom:var(--s-3)}
#ecspa p{margin:0 0 var(--s-4);text-wrap:pretty}
#ecspa a{color:var(--ecs-green);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:var(--ecs-green-bright)}
#ecspa .lead{font-size:var(--fs-xl);line-height:1.45;max-width:62ch}
#ecspa .eyebrow{font-family:var(--ff-body);font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--ecs-green);margin:0 0 var(--s-3)}
#ecspa .container{width:100%;max-width:1800px;margin-inline:auto;padding-inline:clamp(14px,3.5vw,40px)}
#ecspa .section{padding-block:var(--s-9)}
@media(max-width:768px){#ecspa .section{padding-block:var(--s-7)}}
#ecspa .section--bone{background:var(--ecs-bone)}#ecspa .section--paper{background:var(--ecs-paper)}#ecspa .section--cream{background:var(--ecs-cream)}#ecspa .section--mist{background:var(--ecs-green-mist)}
#ecspa .section--forest{background:var(--ecs-forest);color:var(--fg-on-dark)}
#ecspa .section--forest h2,#ecspa .section--forest h3,#ecspa .section--forest p{color:var(--fg-on-dark)}
#ecspa .section--forest .eyebrow{color:var(--ecs-green-bright)}
#ecspa .section--forest a{color:var(--ecs-green-bright)}
#ecspa .section-head{max-width:760px;margin-bottom:var(--s-7)}
#ecspa .section-head--center{margin-inline:auto;text-align:center}
#ecspa .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);font-weight:700;font-size:var(--fs-md);line-height:1;padding:var(--s-4) var(--s-6);min-height:48px;border:2px solid transparent;border-radius:var(--r-pill);cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:var(--ls-caps)}
#ecspa .btn--primary{background:var(--ecs-green);color:#fff;box-shadow:var(--shadow-2)}
#ecspa .btn--primary:hover{background:var(--ecs-green-deep)}
#ecspa .btn--secondary{background:transparent;color:var(--ecs-green);border-color:var(--ecs-green)}
#ecspa .btn--secondary:hover{background:var(--ecs-green);color:#fff}
#ecspa .btn--on-dark{background:var(--ecs-green-bright);color:var(--ecs-forest)}
#ecspa .btn--on-dark:hover{background:#fff}
/* hero */
#ecspa .hero{padding-block:var(--s-9);background:var(--ecs-bone)}
#ecspa .hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-8);align-items:center}
#ecspa .hero__content{display:grid;gap:var(--s-5)}
#ecspa .hero h1 .accent{color:var(--ecs-green-bright)}
#ecspa .hero__lead{max-width:58ch;margin:0}
#ecspa .hero__cta{display:flex;flex-wrap:wrap;gap:var(--s-3)}
#ecspa .hero__trust{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);margin:var(--s-2) 0 0;font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--ecs-forest-mid);list-style:none;padding:0}
#ecspa .hero__trust li{display:inline-flex;align-items:center;gap:var(--s-2)}
#ecspa .hero__trust li::before{content:"";width:8px;height:8px;border-radius:var(--r-pill);background:var(--ecs-green-bright);flex:none}
#ecspa .hero__art{width:100%;aspect-ratio:4/3;border-radius:var(--r-xl);box-shadow:var(--shadow-3);background:linear-gradient(150deg,var(--ecs-green-bright),var(--ecs-forest) 78%);display:grid;place-items:center;color:rgba(245,247,242,.9);font-family:var(--ff-display);text-transform:uppercase;letter-spacing:var(--ls-caps);text-align:center;padding:var(--s-6)}
@media(max-width:900px){#ecspa .hero__grid{grid-template-columns:1fr;gap:var(--s-6)}#ecspa .hero__media{order:-1}}
/* generic card grids */
#ecspa .grid{display:grid;gap:var(--s-5)}
#ecspa .grid--2{grid-template-columns:repeat(2,1fr)}
#ecspa .grid--3{grid-template-columns:repeat(3,1fr)}
#ecspa .grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){#ecspa .grid--4{grid-template-columns:repeat(2,1fr)}#ecspa .grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#ecspa .grid--2,#ecspa .grid--3,#ecspa .grid--4{grid-template-columns:1fr}}
#ecspa .card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}
#ecspa .card--accent{border-left:4px solid var(--ecs-green-bright)}
#ecspa .card h3{margin:0}
#ecspa .card p{font-size:var(--fs-sm);color:var(--fg-2);margin:0}
#ecspa .card .tag{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--ecs-green)}
/* feature/step list */
#ecspa .steps{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:var(--s-4)}
#ecspa .steps li{display:grid;grid-template-columns:40px 1fr;gap:var(--s-4);align-items:start}
#ecspa .steps .n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-pill);background:var(--ecs-green-fog);color:var(--ecs-green-deep);font-family:var(--ff-display);font-weight:800}
/* split (about/contact) */
#ecspa .split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:center}
#ecspa .split__art{aspect-ratio:5/4;border-radius:var(--r-xl);background:linear-gradient(150deg,var(--ecs-green-fog),var(--ecs-green-bright) 130%);box-shadow:var(--shadow-2);display:grid;place-items:center;color:var(--ecs-forest);font-family:var(--ff-display);text-transform:uppercase;letter-spacing:var(--ls-caps);padding:var(--s-6);text-align:center}
@media(max-width:860px){#ecspa .split{grid-template-columns:1fr;gap:var(--s-6)}}
/* faq */
#ecspa .faq{display:grid;gap:var(--s-3);margin-top:var(--s-6)}
#ecspa .faq details{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4) var(--s-5)}
#ecspa .faq summary{font-weight:700;cursor:pointer;color:var(--ecs-forest)}
#ecspa .faq p{margin:var(--s-3) 0 0;font-size:var(--fs-sm);color:var(--fg-2)}
/* contact meta */
#ecspa .contact-meta{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:var(--s-3);font-size:var(--fs-md)}
#ecspa .contact-meta li{display:flex;gap:var(--s-3);align-items:baseline}
#ecspa .contact-meta .k{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--fg-2);min-width:90px}
/* cta band */
#ecspa .cta-band{text-align:center}
#ecspa .cta-band h2{margin-inline:auto;max-width:20ch}
#ecspa .cta-band .hero__cta{justify-content:center}
