/* Shared grid foundation v1. Project adapters override tokens, never edit source. */
:root {
 --grid-max:82.5rem; --grid-gutter:clamp(1.25rem,5.5vw,5.5rem);
 --grid-columns:12; --grid-gap:clamp(1.5rem,4vw,4rem);
 --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
 --space-6:1.5rem; --space-8:2rem; --space-12:3rem; --space-16:4rem; --space-24:6rem;
 --type-label:.6875rem; --type-small:.8125rem;
 --type-body:clamp(.9375rem,.9rem + .2vw,1.0625rem);
 --type-h3:clamp(1.375rem,1.2rem + .6vw,1.625rem);
 --type-h2:clamp(1.6875rem,1.3rem + 1.2vw,2.5rem);
 --type-h1:clamp(1.875rem,1.3rem + 2.2vw,3.5rem);
 --leading-heading:1.45; --leading-body:1.9;
 --tracking-heading:-.035em; --tracking-body:0; --tracking-label:.12em;
 --font-body:system-ui,-apple-system,sans-serif; --font-heading:var(--font-body);
}
.grid-container {width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin-inline:auto;}
.grid-columns {display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap);}
.grid-columns>* {min-width:0;}
.grid-stack {display:flex;flex-direction:column;gap:var(--stack-space,var(--space-6));}
.grid-text {font:400 var(--type-body)/var(--leading-body) var(--font-body);letter-spacing:var(--tracking-body);max-width:var(--text-measure,38em);word-break:keep-all;overflow-wrap:anywhere;}
.grid-heading {font-family:var(--font-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400;word-break:keep-all;overflow-wrap:anywhere;}
.grid-heading--1 {font-size:var(--type-h1);} .grid-heading--2 {font-size:var(--type-h2);} .grid-heading--3 {font-size:var(--type-h3);}
.grid-label {font-size:var(--type-label);line-height:1.7;letter-spacing:var(--tracking-label);}
.grid-baseline {display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;}
@media(max-width:48rem){.grid-columns {--grid-columns:4;}}
/* The 48rem breakpoint and defaults above are our starter values, not source mandates. */
