/* Base styles. Tokens, layout, components, pages and responsive rules load separately. */
* {
  box-sizing: border-box;
}

html {
  scroll-padding-block-start: var(--hf-anchor-offset);
}

body {
  margin: 0;
}

body.hf-site {
  background: var(--hf-background);
  color: var(--hf-text);
  font: var(--hf-weight-normal) var(--hf-font-size-body)/var(--hf-line-body) var(--hf-font);
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.hf-site img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

.hf-site a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .hf-site a:not([aria-disabled="true"]):hover {
    text-decoration: underline;
  }

}

.hf-site button,
.hf-site input,
.hf-site select,
.hf-site textarea {
  font: inherit;
}

.hf-site button,
.hf-site a {
  touch-action: manipulation;
}

.hf-site :focus-visible,
.hf-site .elementor-accordion .elementor-tab-title:focus-visible,
.hf-site .elementor-field-group .elementor-field-textual:focus-visible {
  outline: var(--hf-focus-width) solid var(--hf-focus-color);
  outline-offset: var(--hf-focus-offset);
}

.hf-site .elementor-widget-heading .elementor-heading-title {
  font-family: var(--hf-font);
  color: inherit;
  overflow-wrap: normal;
  word-break: normal;
}

.hf-site h1,
.hf-site h2,
.hf-site h3 {
  margin-block: 0 var(--hf-space-6);
  line-height: var(--hf-line-heading);
  font-weight: var(--hf-weight-strong);
  letter-spacing: 0;
}

.hf-site h1,
.hf-site .elementor-widget-heading h1 {
  font-weight: var(--hf-weight-display);
  font-size: var(--hf-heading-1);
  line-height: var(--hf-line-display);
}

.hf-site h2,
.hf-site .elementor-widget-heading h2 {
  font-size: var(--hf-heading-2);
  font-weight: var(--hf-weight-heading);
  line-height: var(--hf-line-heading);
}

.hf-site h3,
.hf-site .elementor-widget-heading h3 {
  font-weight: var(--hf-weight-medium);
  font-size: var(--hf-heading-3);
  line-height: var(--hf-line-heading);
}

.hf-site p {
  margin-block: 0 var(--hf-space-4);
  color: var(--hf-muted);
  max-inline-size: 68ch;
}

.hf-site small {
  font-size: var(--hf-font-size-meta);
  line-height: var(--hf-line-caption);
}

.hf-site .elementor-widget-text-editor {
  font: var(--hf-weight-normal) var(--hf-font-size-body)/var(--hf-line-body) var(--hf-font);
  color: var(--hf-muted);
}

.hf-site .elementor-widget-button {
  font-family: var(--hf-font);
}

.hf-site .elementor-widget-heading {
  overflow: visible;
}

/* Required: the hidden attribute must win over Elementor display rules. */
.hf-site [hidden] {
  display: none !important;
}

.hf-site .hf-eyebrow,
.hf-site .hf-kicker {
  font-size: var(--hf-font-size-meta);
  font-weight: var(--hf-weight-medium);
  color: var(--hf-primary);
}

.hf-site .hf-lead {
  font-size: var(--hf-font-size-lead);
  max-inline-size: 56ch;
}

.hf-site .hf-no-orphan {
  white-space: nowrap;
}

.hf-site .hf-hero-emphasis {
  color: var(--hf-primary);
}

.hf-site .hf-highlight {
  color: var(--hf-primary);
  text-decoration: underline;
  text-decoration-color: var(--hf-red-soft);
  text-decoration-thickness: 3px;
  text-underline-offset: .13em;
}

.hf-site .hf-section--dark,
.hf-site .hf-dark {
  color: var(--hf-on-dark);
  background: var(--hf-primary);
}

.hf-site .hf-section--dark p,
.hf-site .hf-dark p {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-section--dark .hf-eyebrow,
.hf-site .hf-dark .hf-kicker {
  color: var(--hf-on-dark-soft);
}

.hf-site .hf-white {
  background: var(--hf-surface);
}

.hf-skip {
  position: fixed;
  inset-block-start: -150px;
  inset-inline-start: 20px;
  z-index: var(--hf-z-skip);
  background: var(--hf-surface);
  padding: var(--hf-space-3-5);
}

.hf-skip:focus {
  inset-block-start: 12px;
}

.hf-business {
  overflow-wrap: anywhere;
}

/* Widget spacing belongs to the composition; avoid margin + container-gap doubling. */
.hf-site .hf-design-v4 .elementor-heading-title,
.hf-site .hf-footer .elementor-heading-title {
  margin: 0;
}

.hf-site .hf-design-v4 .elementor-widget-text-editor p:last-child,
.hf-site .hf-footer .elementor-widget-text-editor p:last-child {
  margin-block-end: 0;
}
