:root{
--sand-0:#fbf8f3;
--sand-50:#f5f0e6;
--sand-100:#ede4d3;
--sand-200:#e0d3b8;
--sand-300:#cdb994;
--sage-50:#eef2e9;
--sage-100:#dde6d4;
--sage-300:#b7c9ac;
--sage-500:#87a179;
--sage-700:#5c7752;
--teal-100:#e1eceb;
--teal-300:#9ec3c4;
--teal-500:#4d868c;
--teal-700:#2f5559;
--teal-900:#1d3538;
--ink-900:#26241f;
--ink-700:#4a4640;
--ink-500:#736c60;
--ink-300:#a29a8a;
--white:#ffffff;
--rose-300:#d9a9a0;
--rose-500:#b97563;
--surface-page:var(--sand-0);
--surface-page-alt:var(--sage-50);
--surface-card:var(--white);
--surface-sunken:var(--sand-50);
--surface-deep:var(--teal-900);
--surface-overlay:rgba(38,36,31,.55);
--text-heading:var(--ink-900);
--text-body:var(--ink-700);
--text-muted:var(--ink-500);
--text-on-deep:var(--sand-50);
--text-on-accent:var(--white);
--text-link:var(--teal-700);
--text-link-hover:var(--teal-900);
--border-subtle:var(--sand-200);
--border-strong:var(--ink-300);
--border-on-deep:rgba(245,240,230,.22);
--accent-primary:var(--teal-700);
--accent-primary-hover:var(--teal-900);
--accent-primary-active:var(--teal-900);
--accent-secondary:var(--sage-500);
--accent-secondary-hover:var(--sage-700);
--accent-soft:var(--sage-100);
--focus-ring:var(--teal-500);
}
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lora-400-normal.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/lora-500-normal.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/lora-600-normal.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/lora-400-italic.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/lora-500-italic.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/worksans-400.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/worksans-500.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/worksans-600.woff2') format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/worksans-700.woff2') format('woff2');}
:root{
--font-display:'Lora',ui-serif,Georgia,serif;
--font-body:'Work Sans',ui-sans-serif,system-ui,sans-serif;
--text-display-xl:clamp(2.75rem,2.1rem + 2.6vw,4.5rem); 
--text-display-l:clamp(2.25rem,1.9rem + 1.6vw,3.25rem); 
--text-display-m:clamp(1.75rem,1.55rem + .9vw,2.375rem); 
--text-heading-l:1.75rem;
--text-heading-m:1.375rem;
--text-heading-s:1.125rem;
--text-body-l:1.125rem;
--text-body-m:1rem;
--text-body-s:.9rem;
--text-label:.8125rem;
--text-eyebrow:.8125rem;
--leading-tight:1.15;
--leading-snug:1.35;
--leading-normal:1.6;
--leading-relaxed:1.75;
--tracking-tight:-.01em;
--tracking-wide:.04em;
--tracking-wider:.12em;
--weight-regular:400;
--weight-medium:500;
--weight-semibold:600;
--weight-bold:700;
}
:root{
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:20px;
--space-6:24px;
--space-8:32px;
--space-10:40px;
--space-12:48px;
--space-16:64px;
--space-20:80px;
--space-24:96px;
--space-32:128px;
--content-max:1180px;
--content-narrow:760px;
--gutter:24px;
}
:root{
--radius-s:10px;
--radius-m:16px;
--radius-l:24px;
--radius-xl:32px;
--radius-pill:999px;
--shadow-soft:0 1px 2px rgba(38,36,31,.04),0 8px 24px -8px rgba(38,36,31,.10);
--shadow-lifted:0 4px 8px rgba(38,36,31,.05),0 24px 48px -16px rgba(38,36,31,.16);
--shadow-inset:inset 0 1px 2px rgba(38,36,31,.06);
--ease-out:cubic-bezier(.16,1,.3,1); 
--ease-in-out:cubic-bezier(.4,0,.2,1); 
--duration-fast:180ms; 
--duration-base:320ms; 
--duration-slow:560ms; 
--duration-breathe:2400ms; 
}
