/* Low specificity lets Elementor's global and widget settings take precedence. */
:root {
  --hfc-ink: #292323;
  --hfc-muted: #746967;
  --hfc-accent: #7c484f;
  --hfc-accent-hover: #60343b;
  --hfc-paper: #ffffff;
  --hfc-soft: #f7f2ef;
  --hfc-border: #e5dbd6;
  --hfc-container: 1240px;
  --hfc-gutter: clamp(16px, 4vw, 40px);
  --hfc-radius: 4px;
  --hfc-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --hfc-font-heading: Georgia, "Noto Serif SC", "Songti SC", serif;
}
:where(body) { color: var(--hfc-ink); background: var(--hfc-paper); font-family: var(--hfc-font-body); line-height: 1.65; }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--hfc-font-heading); line-height: 1.25; overflow-wrap: break-word; }
:where(h1) { font-size: clamp(2rem, 4vw, 3.5rem); }
:where(h2) { font-size: clamp(1.6rem, 3vw, 2.5rem); }
:where(a) { color: var(--hfc-accent); text-underline-offset: .2em; }
:where(a:hover) { color: var(--hfc-accent-hover); }
:where(img) { max-width: 100%; height: auto; }
:where(.hfc-container) { width: 100%; max-width: var(--hfc-container); margin-inline: auto; padding-inline: var(--hfc-gutter); box-sizing: border-box; }
/* Add hfc-full-bleed to a top-level Elementor container whose parent is full width. */
.hfc-full-bleed { width: 100%; max-width: none; }
:where(.hfc-section) { padding-block: clamp(32px, 6vw, 80px); }
:where(.hfc-muted) { color: var(--hfc-muted); }
:where(.hfc-button, .elementor-button, button, input[type="submit"]) {
  border-radius: var(--hfc-radius); font-family: var(--hfc-font-body);
}
:where(.hfc-button) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 12px 24px; background: var(--hfc-accent);
  color: #fff; border: 1px solid transparent; text-decoration: none;
  transition: background-color .18s ease;
}
:where(.hfc-button:hover) { background: var(--hfc-accent-hover); color: #fff; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--hfc-accent); outline-offset: 3px; }
@media (max-width: 767px) {
  :root { --hfc-gutter: 16px; }
  :where(.hfc-button) { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  :where(.hfc-button) { transition: none; }
}
