/**
 * CAREFUL HANDS / DESIGN TOKENS / 1.0
 * Source of truth for every template, component and interaction state.
 * Change semantic tokens here; never create a page-specific colour palette.
 */
:root {
  /* Primitive palette */
  --ch-color-white: #ffffff;
  --ch-color-ivory: #faf9f6;
  --ch-color-stone: #f0eee8;
  --ch-color-sage-50: #edf1ec;
  --ch-color-sage-100: #dce5d9;
  --ch-color-sage-300: #b9c8b3;
  --ch-color-green-700: #3c594d;
  --ch-color-green-900: #293e35;
  --ch-color-charcoal: #28352e;
  /* Semantic surfaces and text */
  --ch-white: var(--ch-color-white);
  --ch-paper: var(--ch-color-ivory);
  --ch-paper-warm: var(--ch-color-stone);
  --ch-surface-soft: var(--ch-color-sage-50);
  --ch-sand: var(--ch-color-stone);
  --ch-ink: var(--ch-color-charcoal);
  --ch-ink-soft: #4f5b53;
  --ch-muted: #687068;
  --ch-green: var(--ch-color-green-700);
  --ch-green-deep: var(--ch-color-green-900);
  --ch-green-soft: var(--ch-color-sage-50);
  --ch-accent: var(--ch-color-sage-100);
  --ch-accent-hover: #cbd8c6;
  --ch-on-dark: #ffffff;
  --ch-on-dark-muted: #d3ddd3;
  /* Compatibility aliases for existing next-step templates */
  --ch-lime: var(--ch-accent);
  --ch-lime-soft: var(--ch-surface-soft);
  --ch-line: #dedfd8;
  --ch-line-strong: #b5beb3;
  --ch-line-inverse: #627568;
  --ch-header-bg: rgba(250,249,246,.97);
  --ch-media-overlay: linear-gradient(180deg,transparent 45%,rgba(26,41,33,.72));
  /* Feedback / accessibility */
  --ch-focus: #547c58;
  --ch-focus-width: 3px;
  --ch-danger: #a14235;
  --ch-danger-bg: #fbefea;
  --ch-danger-text: #792e26;
  --ch-warning: #8a7245;
  --ch-warning-bg: #f5f0e3;
  --ch-warning-text: #665330;
  /* System stacks: no external font requests */
  --ch-font: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ch-font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --ch-text-micro: .6875rem;
  --ch-text-caption: .8125rem;
  --ch-text-small: .9375rem;
  --ch-text-body: 1.0625rem;
  --ch-text-lead: clamp(1.0625rem,1.4vw,1.1875rem);
  --ch-text-h3: clamp(1.375rem,1.7vw,1.625rem);
  --ch-text-h2: clamp(2rem,3.15vw,2.875rem);
  --ch-text-h1: clamp(2.375rem,4.3vw,3.875rem);
  --ch-text-display: clamp(2.75rem,4.55vw,4.25rem);
  --ch-weight-regular: 400;
  --ch-weight-medium: 500;
  --ch-weight-semibold: 600;
  --ch-leading-body: 1.7;
  --ch-leading-heading: 1.14;
  --ch-tracking-heading: -.025em;
  --ch-tracking-label: .1em;
  /* Spacing scale */
  --ch-space-1: .25rem;
  --ch-space-2: .5rem;
  --ch-space-3: .75rem;
  --ch-space-4: 1rem;
  --ch-space-5: 1.5rem;
  --ch-space-6: 2rem;
  --ch-space-7: 2.5rem;
  --ch-space-8: 3rem;
  --ch-space-9: 4rem;
  --ch-space-10: 5rem;
  --ch-space-11: 6rem;
  --ch-space-section: clamp(4rem,7vw,6.5rem);
  /* Layout / component roles */
  --ch-max: 1240px;
  --ch-copy: 720px;
  --ch-gutter: clamp(22px,4.5vw,72px);
  --ch-layout-gap: clamp(32px,5vw,76px);
  --ch-card-gap: 20px;
  --ch-card-padding: clamp(24px,2.5vw,36px);
  --ch-radius-sm: 4px;
  --ch-radius: 8px;
  --ch-radius-media: 12px;
  --ch-button-height: 50px;
  --ch-brand-size: 27px;
  --ch-brand-size-mobile: 23px;
  --ch-brand-size-small: 21px;
  --ch-header-height: 118px;
  --ch-shadow: 0 8px 28px rgba(40,53,46,.055);
  --ch-ease: cubic-bezier(.2,.65,.3,1);
  --ch-duration: 180ms;
}
@media(max-width:700px) {
  :root { --ch-text-display: clamp(2.375rem,10vw,2.75rem); --ch-gutter: 22px; --ch-space-section: 64px; --ch-card-gap: 14px; --ch-card-padding: 24px; }
}
