/* V4 — burgundy editorial fitness. Saved custom colors remain opt-in. */
:root {
  --hf-burgundy-1000: #3a0b12;
  --hf-burgundy-950: #4a111b;
  --hf-burgundy-900: #5b1824;
  --hf-burgundy-800: #6e1f2d;
  --hf-burgundy-700: #8a2a3a;
  --hf-red-accent: #b63c4c;
  --hf-red-soft: #d96c78;
  --hf-cream-100: #f8f3ed;
  --hf-cream-200: #f2eae0;
  --hf-bone: #fbf9f5;
  --hf-charcoal: #181716;
  --hf-primary: var(--hf-burgundy-950);
  --hf-primary-dark: var(--hf-burgundy-1000);
  --hf-accent: var(--hf-red-accent);
  --hf-on-dark: var(--hf-cream-100);
  --hf-on-dark-soft: #dfcfc5;
  --hf-background: var(--hf-cream-100);
  --hf-secondary: var(--hf-cream-200);
  --hf-surface: var(--hf-bone);
  --hf-text: #201d1b;
  --hf-text-soft: #6e6661;
  --hf-muted: var(--hf-text-soft);
  --hf-border: rgba(58,11,18,.14);
  --hf-line: var(--hf-border);
  --hf-font-sans: "Vazirmatn",system-ui,sans-serif;
  --hf-font: var(--hf-font-sans);
  --hf-container: 1240px;
  --hf-container-wide: 1480px;
  --hf-gutter: var(--hf-space-12);
  --hf-section-space: clamp(80px,7.5vw,120px);
  --hf-hero-heading: clamp(3.25rem,4.65vw,4.75rem);
  --hf-timeline-number: clamp(3.5rem,5vw,4.75rem);
  --hf-featured-offset: var(--hf-space-6);
  --hf-section-compact: var(--hf-space-20);
  --hf-filter-height: 60px;
  --hf-goal-height: 440px;
  --hf-goal-lead-height: 560px;
  --hf-poster-heading: clamp(3rem,5.5vw,5.125rem);
  --hf-principle-number: clamp(3rem,4.5vw,4rem);
  --hf-principle-column: clamp(4.5rem,6vw,6rem);
  --hf-featured-heading: clamp(2.25rem,3vw,2.75rem);
  --hf-why-heading: clamp(1.75rem,2.5vw,2.25rem);
  --hf-hero-height: clamp(600px,50vw,760px);
  --hf-radius-sm: 10px;
  --hf-radius-md: 14px;
  --hf-radius-lg: 22px;
  --hf-radius: var(--hf-radius-lg);
  --hf-heading-1: clamp(3rem,5vw,4.8125rem);
  --hf-heading-2: clamp(2.25rem,4vw,3.625rem);
  --hf-goal-heading: clamp(1.5rem,2vw,1.6875rem);
  --hf-goal-lead-heading: clamp(1.875rem,3vw,2.375rem);
  --hf-heading-3: clamp(1.75rem,2.5vw,2.25rem);
  --hf-space-1: 4px;
  --hf-space-2: 8px;
  --hf-space-3: 12px;
  --hf-space-4: 16px;
  --hf-space-5: 20px;
  --hf-space-6: 24px;
  --hf-space-8: 32px;
  --hf-space-10: 40px;
  --hf-space-12: 48px;
  --hf-space-16: 64px;
  --hf-space-20: 80px;
  --hf-space-24: 96px;
  --hf-transition-fast: 160ms ease;
  --hf-transition: 220ms ease;
  --hf-transition-slow: 280ms ease;
  /* Semantic values shared by components; breakpoint numbers stay literal. */
  --hf-space-1-5: 6px;
  --hf-space-2-5: 10px;
  --hf-space-3-5: 14px;
  --hf-space-4-5: 18px;
  --hf-space-5-5: 22px;
  --hf-space-6-5: 26px;
  --hf-space-7: 28px;
  --hf-space-9: 36px;
  --hf-space-14: 56px;
  --hf-space-18: 72px;
  --hf-space-22: 88px;
  --hf-radius-image: 6px;
  --hf-radius-panel: 4px;
  --hf-radius-control: var(--hf-radius-sm);
  --hf-font-size-xs: 0.75rem;
  --hf-font-size-meta: 0.875rem;
  --hf-font-size-sm: 0.875rem;
  --hf-font-size-label: 0.9375rem;
  --hf-font-size-control: 1rem;
  --hf-font-size-body: 1.0625rem;
  --hf-font-size-emphasis: 1.125rem;
  --hf-font-size-lead: clamp(1.0625rem,1.3vw,1.1875rem);
  --hf-font-size-subtitle: 1.25rem;
  --hf-font-size-heading-sm: 1.375rem;
  --hf-font-size-title: 1.5rem;
  --hf-line-body: 1.95;
  --hf-line-heading: 1.4;
  --hf-line-display: 1.25;
  --hf-line-ui: 1.5;
  --hf-line-caption: 1.8;
  --hf-weight-normal: 400;
  --hf-weight-label: 750;
  --hf-weight-strong: 850;
  --hf-weight-medium: 700;
  --hf-weight-heading: 800;
  --hf-weight-display: 900;
  --hf-touch-target: 44px;
  --hf-control-height: 56px;
  --hf-field-height: 54px;
  --hf-focus-color: var(--hf-burgundy-700);
  --hf-focus-width: 3px;
  --hf-focus-offset: 5px;
  --hf-border-on-dark: rgba(255,255,255,.2);
  --hf-border-on-dark-strong: rgba(255,255,255,.3);
  --hf-field-border: #a4978e;
  --hf-error-surface: #f9e8e5;
  --hf-paper-shadow-color: rgba(58,11,18,.06);
  --hf-paper-shadow-offset: 3px;
  --hf-logo-size: 56px;
  --hf-nav-gap: clamp(12px,1.2vw,20px);
  --hf-header-height: 80px;
  --hf-header-height-compact: 72px;
  --hf-admin-bar-height: 0px;
  --hf-anchor-offset: 100px;
  --hf-sticky-clearance: 80px;
  --hf-goal-peek: 28px;
  --hf-z-header: 100;
  --hf-z-sticky: 90;
  --hf-z-skip: 1000;
  --hf-control-lift: -1px;
  --hf-control-press: 1px;
  --hf-image-hover-scale: 1.015;
  --hf-success: #4a111b;
  --hf-error: #a32538;
}
