@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Open+Sans:wght@500;600&display=swap');


/* HCF core: tokens, reset, typography and accessibility defaults. */
:root {
  --hc-color-brand-900: #351458;
  --hc-color-brand-700: #5d357a;
  --hc-color-brand-600: #806596;
  --hc-color-brand-100: #f3eef6;
  --hc-color-accent-600: #e63c8b;
  --hc-color-lotus-green: #a7b88c;
  --hc-color-lavender: #b8a8c8;
  --hc-color-surface: #faf7f5;
  --hc-color-surface-soft: #fff8fb;
  --hc-color-text: #4b4b4b;
  --hc-color-text-muted: #777777;
  --hc-color-border: #eadce6;
  --hc-color-success: #166534;
  --hc-color-success-soft: #dcfce7;
  --hc-shadow-sm: 0 4px 16px rgb(77 29 83 / 7%);
  --hc-shadow-md: 0 18px 40px rgb(77 29 83 / 13%);
  --hc-radius-sm: .5rem;
  --hc-radius-md: .875rem;
  --hc-radius-lg: 1.25rem;
  --hc-space-1: .25rem;
  --hc-space-2: .5rem;
  --hc-space-3: .75rem;
  --hc-space-4: 1rem;
  --hc-space-5: 1.5rem;
  --hc-space-6: 2rem;
  --hc-space-8: 3rem;
  --hc-font-display: "Open Sans", Arial, sans-serif;
  --hc-font-brand: var(--hc-font-display);
  --hc-font-sans: "Montserrat", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; overflow-x: hidden; background: var(--hc-color-surface); color: var(--hc-color-text); font-family: var(--hc-font-sans); font-size: 1.125rem; line-height: 1.7; }
h1, h2, h3, p { margin: 0; }
h1, h2 { color: var(--hc-color-brand-900); font-family: var(--hc-font-display); font-weight: 500; line-height: 1.2; letter-spacing: 0; }
h3 { color: var(--hc-color-brand-900); font-family: var(--hc-font-sans); font-size: 1.5rem; font-weight: 600; line-height: 1.2; letter-spacing: 0; }
h1 { font-size: clamp(2.5rem, 4vw, 2.5rem); }
h2 { font-size: clamp(2rem, 3vw, 2rem); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--hc-color-accent-600); outline-offset: 3px; }
.hc-eyebrow { color: var(--hc-color-accent-600); font-size: .875rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.hc-lead { color: var(--hc-color-text-muted); font-size: clamp(1.125rem, 2vw, 1.25rem); max-width: 60ch; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

