/* Design tokens: edit these first when tuning the brand. Red comes from Calder's existing identity. */
:root {
    --color-brand-primary: #a5222d; --color-brand-secondary: #263d37;
    --color-text: #242922; --color-text-muted: #60655e;
    --color-background: #faf9f5; --color-surface: #f0eee6;
    --color-border: #d5d6cc; --color-success: #26553d;
    --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem;
    --space-5: 3rem; --space-6: 4.5rem; --space-7: 7rem;
    --radius-small: 3px; --radius-medium: 6px; --shadow-soft: 0 12px 40px #263d3710;
    --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-display: Georgia, 'Times New Roman', serif;
}
html { scroll-padding-top: 1rem; }
body { background: var(--color-background); color: var(--color-text); font: 1rem/1.65 var(--font-body); }
h1, h2 { font-family: var(--font-display); font-weight: 400; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.8rem, 6vw, 5.6rem); }
h2 { font-size: clamp(2.1rem, 4.1vw, 3.8rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.3; font-weight: 600; }
p { max-width: 66ch; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a, button, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--color-brand-primary); outline-offset: 5px; }
::selection { background: #f1cbc9; color: #242922; }
address { font-style: normal; }
small { font-size: .875rem; }
/* These overrides also cover future motion additions; never require motion to reveal content. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .reveal { opacity: 1 !important; transform: none !important; }
}
