.eco-hero{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6);padding:clamp(var(--space-5),4vw,var(--space-8));border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);text-align:center;transition:background-color var(--transition-base),border-color var(--transition-base)}.eco-eyebrow{display:inline-block;-webkit-margin-after:var(--space-2);margin-block-end:var(--space-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.eco-hero .title{overflow-wrap:break-word;word-break:normal;font-size:clamp(var(--text-xl),5vw,var(--text-3xl))!important;line-height:1.25!important;font-weight:700!important;color:var(--color-text)!important;-webkit-margin-after:var(--space-3)!important;margin-block-end:var(--space-3)!important}.eco-hero .subtitle{max-width:46rem;margin-inline:auto;-webkit-margin-after:0!important;margin-block-end:0!important;font-size:var(--text-base)!important;line-height:1.6!important;color:var(--color-text-muted)!important;font-weight:400!important}.eco-hero-note{-webkit-margin-before:var(--space-3);margin-block-start:var(--space-3);font-size:var(--text-xs);color:var(--color-text-faint)}.eco-panel{-webkit-margin-after:var(--space-6);margin-block-end:var(--space-6);padding:clamp(var(--space-4),3vw,var(--space-6));border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:background-color var(--transition-base),border-color var(--transition-base)}.eco-panel-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.eco-panel-title{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.eco-panel-title .title,.eco-panel>.title{font-size:var(--text-xl)!important;font-weight:700!important;color:var(--color-text)!important;-webkit-margin-after:0!important;margin-block-end:0!important}.eco-panel>.title{-webkit-margin-after:var(--space-4)!important;margin-block-end:var(--space-4)!important}.eco-counter{font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eco-counter,.eco-panel-note{color:var(--color-text-muted)}.eco-panel-note{-webkit-margin-after:var(--space-3);margin-block-end:var(--space-3);font-size:var(--text-xs);line-height:1.5}@media (max-width:640px){.eco-panel-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3)}}.eco-article .eco-article-section+.eco-article-section{-webkit-margin-before:var(--space-6);margin-block-start:var(--space-6)}.eco-article .eco-article-section .title{font-size:var(--text-lg)!important;font-weight:600!important;color:var(--color-text)!important;-webkit-margin-after:var(--space-2)!important;margin-block-end:var(--space-2)!important}.eco-article p{-webkit-margin-after:var(--space-3);margin-block-end:var(--space-3);color:var(--color-text-muted);font-size:var(--text-base);line-height:1.65}.eco-article-faq{-webkit-margin-before:var(--space-6);margin-block-start:var(--space-6);-webkit-padding-before:var(--space-5);padding-block-start:var(--space-5);-webkit-border-before:1px solid var(--color-border-subtle);border-block-start:1px solid var(--color-border-subtle)}.eco-article-faq>.title{font-size:var(--text-lg)!important;font-weight:700!important;color:var(--color-text)!important;-webkit-margin-after:var(--space-4)!important;margin-block-end:var(--space-4)!important}.eco-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0}.eco-stat{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--color-surface-offset);border:1px solid var(--color-border-subtle)}.eco-stat dt{font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.eco-stat dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-weight:600;color:var(--color-text);line-height:1.4}.eco-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}.eco-link-grid li{min-width:0}.eco-link-grid a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--color-primary);font-size:var(--text-sm);font-weight:600;text-decoration:none}.eco-link-grid a:hover{text-decoration:underline}.eco-link-detail{display:block;-webkit-margin-before:-.6rem;margin-block-start:-.6rem;color:var(--color-text-muted);font-size:var(--text-2xs);line-height:1.35}.eco-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:0;list-style:none}.eco-card{display:flex;flex-direction:column;gap:var(--space-1);height:100%;padding:var(--space-4);border-radius:var(--radius-md);background-color:var(--color-surface-offset);border:1px solid var(--color-border-subtle);color:var(--color-text);text-decoration:none;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.eco-card:focus-visible,.eco-card:hover{border-color:var(--color-primary)}.eco-card-title{font-weight:600;color:var(--color-text)}.eco-breadcrumb,.eco-card-detail{font-size:var(--text-xs);color:var(--color-text-muted)}.eco-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);-webkit-margin-after:var(--space-4);margin-block-end:var(--space-4)}.eco-breadcrumb a{display:inline-flex;align-items:center;min-height:2rem;color:var(--color-text-muted);text-decoration:none}.eco-breadcrumb a:hover{color:var(--color-primary)}.eco-breadcrumb [aria-current=page]{color:var(--color-text);font-weight:600}.eco-breadcrumb-separator{color:var(--color-text-faint)}@media (pointer:coarse){.eco-breadcrumb a{min-height:2.75rem}}.ecosystem-toggle-group{display:flex;flex-wrap:wrap;gap:6px;inline-size:100%;min-inline-size:0}.ecosystem-toggle,.ecosystem-toggle-group>.ecosystem-toggle{flex:1 1 max-content!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;min-inline-size:0;height:auto!important;min-height:var(--control-height,32px)!important;max-height:none!important;padding:3px 12px!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md,10px)!important;background-color:var(--color-surface-offset)!important;color:var(--color-text)!important;font-size:var(--text-xs,.8125rem)!important;font-weight:500!important;line-height:1.2!important;text-align:center;white-space:normal!important;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;box-shadow:none!important;cursor:pointer}.ecosystem-toggle:hover{background-color:var(--color-surface-2,var(--color-surface-offset))!important;border-color:var(--color-border-strong,var(--color-border))!important}.ecosystem-toggle:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px}.ecosystem-toggle.is-active,.ecosystem-toggle[aria-pressed=true],.ecosystem-toggle[aria-selected=true]{background-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important;font-weight:600!important}@media screen and (max-width:768px){.ecosystem-toggle,.ecosystem-toggle-group>.ecosystem-toggle{min-height:44px!important}}@font-face{font-family:Arimo;src:url(/fonts/arimo-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arimo;src:url(/fonts/arimo-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Carlito;src:url(/fonts/carlito-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Carlito;src:url(/fonts/carlito-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Tinos;src:url(/fonts/tinos-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tinos;src:url(/fonts/tinos-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Roboto;src:url(/fonts/roboto-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/open-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Source Sans\ 3;src:url(/fonts/source-sans-3-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Source Sans\ 3;src:url(/fonts/source-sans-3-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url(/fonts/raleway-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Raleway;src:url(/fonts/raleway-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nunito Sans;src:url(/fonts/nunito-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/work-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Work Sans;src:url(/fonts/work-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:PT Sans;src:url(/fonts/pt-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PT Sans;src:url(/fonts/pt-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gelasio;src:url(/fonts/gelasio-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gelasio;src:url(/fonts/gelasio-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Merriweather;src:url(/fonts/merriweather-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/lora-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url(/fonts/lora-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-display-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"PT Serif";src:url(/fonts/pt-serif-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"PT Serif";src:url(/fonts/pt-serif-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/crimson-pro-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/crimson-pro-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-700.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}