:root {
  --phd-heading-section-font-size: 3.4375rem;
  --phd-heading-section-line-height: 1.15;

  --phd-heading-hero-font-size: var(--phd-font-size-12);
  --phd-heading-hero-line-height: 1;

  --phd-heading-eyebrow-font-size-section: var(--phd-font-size-4);
  --phd-heading-eyebrow-font-size-hero: var(--phd-font-size-5);
  --phd-heading-eyebrow-gap-section: var(--phd-space-2);
  --phd-heading-eyebrow-gap-hero: 0;

  --phd-heading-margin-bottom-section: var(--phd-space-5);
  --phd-heading-margin-bottom-hero: 0;
  --phd-heading-margin-bottom-contact: 0;

  --phd-heading-title-font-weight: 400;
  --phd-heading-title-font-weight-hero: 450;
  --phd-heading-title-font-weight-contact: 500;

  @media (max-width: 1024px) {
    --phd-heading-section-font-size: var(--phd-font-size-10);
    --phd-heading-hero-font-size: var(--phd-font-size-10);
  }

  @media (max-width: 767px) {
    --phd-heading-eyebrow-font-size-section: var(--phd-font-size-3);
    --phd-heading-eyebrow-font-size-hero: var(--phd-font-size-3);
    --phd-heading-section-font-size: var(--phd-font-size-8);
    --phd-heading-hero-font-size: var(--phd-font-size-9);
  }
}

:root,
[data-phd-surface="light"] {
  --phd-heading-eyebrow-color-hero: var(--phd-mint-800);
  --phd-heading-eyebrow-color-section: var(--phd-blue-500);
  --phd-heading-eyebrow-color-contact: var(--phd-mint-600);

  --phd-heading-title-color: var(--phd-blue-900);

  --phd-heading-title-color-alt: var(--phd-heading-title-color);
  --phd-heading-highlight-color-alt: var(--phd-mint-bright);
}

[data-phd-surface="dark"] {
  --phd-heading-eyebrow-color-hero: var(--phd-mint-600);
  --phd-heading-eyebrow-color-section: var(--phd-mint-600);
  --phd-heading-eyebrow-color-contact: var(--phd-mint-600);

  --phd-heading-title-color: var(--phd-white);

  --phd-heading-title-color-alt: var(--phd-mint-bright);
  --phd-heading-highlight-color-alt: var(--phd-highlight-color);
}

.phd-heading--section .phd-heading-wrapper,
.phd-heading--contact .phd-heading-wrapper {
  gap: var(--phd-heading-eyebrow-gap-section);
}

.phd-heading--hero .phd-heading-wrapper {
  gap: var(--phd-heading-eyebrow-gap-hero);
}

.phd-heading--has-margin-bottom.phd-heading--section .phd-heading-wrapper {
  margin-bottom: var(--phd-heading-margin-bottom-section);
}

.phd-heading--has-margin-bottom.phd-heading--hero .phd-heading-wrapper {
  margin-bottom: var(--phd-heading-margin-bottom-hero);
}

.phd-heading--has-margin-bottom.phd-heading--contact .phd-heading-wrapper {
  margin-bottom: var(--phd-heading-margin-bottom-contact);
}

.phd-heading--section .phd-heading-eyebrow,
.phd-heading--contact .phd-heading-eyebrow {
  font-size: var(--phd-heading-eyebrow-font-size-section);
}

.phd-heading--hero .phd-heading-eyebrow {
  font-size: var(--phd-heading-eyebrow-font-size-hero);
  color: var(--phd-heading-eyebrow-color-hero);
}

.phd-heading--section .phd-heading-eyebrow {
  color: var(--phd-heading-eyebrow-color-section);
}

.phd-heading--contact .phd-heading-eyebrow {
  color: var(--phd-heading-eyebrow-color-contact);
}

.phd-heading--section .elementor-heading-title,
.phd-heading--hero .elementor-heading-title,
.phd-heading--contact .elementor-heading-title {
  font-size: var(--phd-heading-section-font-size);
  letter-spacing: -0.018em;
  font-weight: var(--phd-heading-title-font-weight);
  color: var(--phd-heading-title-color);
}

.phd-heading--balance .elementor-heading-title {
  text-wrap: balance;
}

.phd-heading--section .phd-heading-text,
.phd-heading--hero .phd-heading-text,
.phd-heading--contact .phd-heading-text {
  line-height: var(--phd-heading-section-line-height);
}

.phd-heading--hero .elementor-heading-title {
  font-size: var(--phd-heading-hero-font-size);
  font-weight: var(--phd-heading-title-font-weight-hero);
}

.phd-heading--hero .phd-heading-text {
  line-height: var(--phd-heading-hero-line-height);
}

.phd-heading--contact .elementor-heading-title {
  font-weight: var(--phd-heading-title-font-weight-contact);
}

[data-phd-surface="light"] .elementor-widget-phd-section-heading.phd-heading--section h3.elementor-heading-title {
  color: var(--phd-blue-800);
}

.phd-heading--alt .elementor-heading-title {
  color: var(--phd-heading-title-color-alt, var(--phd-heading-title-color));
}

.phd-heading--alt .phd-heading-highlight {
  color: var(--phd-heading-highlight-color-alt, var(--phd-highlight-color));
}
