/* GeoAnvil 4.0. Canonical tokens; scope adoption per page, never blend with legacy CSS. */
@layer system;
@font-face { font-family:Caslon; src:url(fonts/libre-caslon-display-latin-400-normal.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:DM; src:url(fonts/dm-sans-latin-400-normal.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:DM; src:url(fonts/dm-sans-latin-500-normal.woff2) format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
:root {
 --ga-forest:#092e26; --ga-ink:#153c30; --ga-paper:#f3f2e9; --ga-sage:#e7ecdf; --ga-cream:#edf0df; --ga-lime:#d2f4a9; --ga-white:#fff;
 --ga-surface-card:#fafaf5;
 --ga-text:var(--ga-ink); --ga-text-muted:#52664f; --ga-text-inverse:var(--ga-white); --ga-text-inverse-muted:#bdcfb6;
 --ga-accent:#815739; --ga-accent-inverse:#c7a477;
 --ga-choice:var(--ga-surface-card); --ga-choice-hover:#f0f3e9; --ga-choice-selected:var(--ga-white);
 --ga-accent-hover:#e0f7c6;
 --ga-success:#356048; --ga-warning:#815739; --ga-error:#a33e38;
 --ga-success-surface:#edf3e9; --ga-warning-surface:#f8eee1; --ga-error-surface:#faeeea;
 --ga-border:#bac9ad; --ga-border-control:#78906a; --ga-border-inverse:#859f79;
 --ga-primary:var(--ga-ink); --ga-primary-hover:#26553f; --ga-inverse-hover:#23483c;
 --ga-focus:#34685a; --ga-focus-inverse:#c5dda9;
 --ga-font-display:Caslon,Georgia,serif; --ga-font-body:DM,Arial,sans-serif;
 --ga-weight-regular:400; --ga-weight-medium:500;
 --ga-text-caption:11px; --ga-text-small:12px; --ga-text-control:13px; --ga-text-body:14px; --ga-text-lead:16px; --ga-text-title:20px;
 --ga-display-hero:clamp(64px,8vw,116px); --ga-display-section:clamp(40px,4.5vw,64px); --ga-display-subsection:40px; --ga-display-card:30px;
 --ga-leading-display:1.05; --ga-leading-heading:1.15; --ga-leading-body:1.65; --ga-leading-label:1.5;
 --ga-tracking-display:-.035em; --ga-tracking-label:.08em;
 --ga-space-1:4px; --ga-space-2:8px; --ga-space-3:12px; --ga-space-4:16px; --ga-space-5:24px; --ga-space-6:32px; --ga-space-7:40px; --ga-space-8:48px; --ga-space-9:64px; --ga-space-10:80px;
 --ga-gutter:clamp(24px,4.1vw,80px); --ga-content-width:1600px;
 --ga-radius-control:8px; --ga-radius-choice:12px; --ga-radius-panel:16px; --ga-radius-pill:999px; --ga-radius-circle:50%;
 --ga-control-height:48px; --ga-control-compact:40px; --ga-control-icon:40px;
 --ga-icon-action:16px; --ga-icon-context:24px; --ga-icon-stroke:1.5;
 --ga-shadow-float:0 6px 20px #092e2624;
 --ga-duration-feedback:160ms; --ga-duration-disclosure:200ms; --ga-ease-out:cubic-bezier(.16,1,.3,1);
 /* Existing layout aliases; new components use the semantic ga names above. */
 --forest:var(--ga-forest); --ink:var(--ga-ink); --paper:var(--ga-paper); --cream:var(--ga-cream); --lime:var(--ga-lime);
 --muted:var(--ga-text-muted); --line:var(--ga-border); --serif:var(--ga-font-display); --sans:var(--ga-font-body); --gutter:var(--ga-gutter);
 --choice-idle:var(--ga-choice); --choice-border:var(--ga-border); --choice-active:var(--ga-choice-selected);
}
@media(max-width:700px) { :root { --ga-display-hero:clamp(42px,12vw,72px); --ga-display-subsection:32px; --ga-display-card:28px; } }
