@font-face {
  font-family: Gilroy;
  src: url("../assets/fonts/gilroy-light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-300.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Inter;
  src: url("../assets/fonts/inter-800.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-300.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-500.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-600.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-700.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Montserrat;
  src: url("../assets/fonts/montserrat-800.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-primary: Inter, Arial, sans-serif;
  --font-secondary: Montserrat, Inter, Arial, sans-serif;
  --font-logo: Gilroy, Inter, Arial, sans-serif;
  --font-system: Arial, Helvetica, sans-serif;

  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extra-bold: 800;

  --lh-100: 1;
  --lh-115: 1.15;
  --lh-120: 1.2;
  --lh-135: 1.35;

  --type-body: var(--font-regular) 16px/var(--lh-120) var(--font-primary);
  --type-nav: var(--font-light) 18px/var(--lh-120) var(--font-primary);
  --type-phone: var(--font-light) 18px/var(--lh-120) var(--font-primary);
  --type-button: var(--font-bold) 16px/var(--lh-120) var(--font-primary);
  --type-button-small: var(--font-bold) 16px/var(--lh-120) var(--font-primary);

  --type-hero-title: var(--font-bold) 48px/var(--lh-120) var(--font-primary);
  --type-hero-text: var(--font-regular) 24px/var(--lh-120) var(--font-primary);
  --type-hero-feature: var(--font-regular) 24px/var(--lh-120)
    var(--font-primary);
  --type-hero-button: var(--font-bold) 24px/var(--lh-120) var(--font-primary);

  --type-section-title: var(--font-bold) 32px/var(--lh-120) var(--font-primary);
  --type-section-kicker: var(--font-regular) 24px/var(--lh-120)
    var(--font-primary);
  --type-card-title: var(--font-bold) 16px/var(--lh-120) var(--font-primary);
  --type-card-text: var(--font-regular) 12px/var(--lh-120) var(--font-primary);
  --type-card-meta: var(--font-bold) 12px/var(--lh-120) var(--font-primary);
  --type-card-link: var(--font-bold) 12px/var(--lh-120) var(--font-primary);
  --type-promo-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
  --type-benefit: var(--font-bold) 18px/var(--lh-120) var(--font-primary);
  --type-stat-number: var(--font-bold) 48px/var(--lh-120) var(--font-primary);
  --type-panel-title: var(--font-bold) 40px/var(--lh-120) var(--font-primary);
  --type-about-text: var(--font-regular) 24px/var(--lh-120) var(--font-primary);
  --type-contact-lines: var(--font-regular) 20px/1.25 var(--font-primary);
  --type-contact-button: var(--font-bold) 18px/var(--lh-120) var(--font-primary);
  --type-form-title: var(--font-bold) 32px/var(--lh-120) var(--font-secondary);
  --type-modal-subtitle: var(--font-bold) 24px/var(--lh-120)
    var(--font-secondary);
  --type-form-field: var(--font-medium) 24px/var(--lh-120) var(--font-secondary);
  --type-form-consent: var(--font-regular) 18px/var(--lh-120)
    var(--font-secondary);
  --type-info-title: var(--font-bold) 32px/var(--lh-120) var(--font-secondary);
  --type-info-text: var(--font-regular) 18px/var(--lh-120) var(--font-primary);
  --type-footer-title: var(--font-bold) 18px/var(--lh-120) var(--font-secondary);
  --type-footer-text: var(--font-regular) 16px/var(--lh-120)
    var(--font-secondary);
  --type-small: var(--font-regular) 14px/var(--lh-120) var(--font-primary);
  --type-note: var(--font-regular) 12px/var(--lh-120) var(--font-primary);
  --type-product-title: var(--font-bold) 42px/1.05 var(--font-primary);
  --type-price: var(--font-bold) 38px/var(--lh-120) var(--font-secondary);
  --type-feature-title: var(--font-bold) 24px/var(--lh-120)
    var(--font-secondary);
  --type-feature-list: var(--font-regular) 18px/var(--lh-120)
    var(--font-primary);
  --type-equipment-title: var(--font-bold) 24px/var(--lh-120)
    var(--font-primary);
  --type-tabs: var(--font-bold) 18px/var(--lh-120) var(--font-secondary);
  --type-table: var(--font-regular) 16px/var(--lh-120) var(--font-primary);
  --type-table-head: var(--font-bold) 16px/var(--lh-120) var(--font-primary);

  /* Backward-compatible aliases for existing markup/helpers. */
  --gt-font: var(--font-primary);
  --gt-font-accent: var(--font-secondary);
  --gt-font-system: var(--font-system);
  --gt-lh: var(--lh-120);
}

body,
.gt-typo,
button,
input,
textarea {
  font-family: var(--font-primary);
  font-style: normal;
  letter-spacing: 0;
}

.gt-hero-title {
  font: var(--type-hero-title);
}

.gt-hero-text,
.gt-hero-feature,
.gt-logo {
  font: var(--type-hero-text);
}

.gt-nav {
  font: var(--type-nav);
}

.gt-phone {
  font: var(--type-phone);
}

.gt-btn,
.gt-cta {
  font: var(--type-button);
}

.gt-btn-sm {
  font: var(--type-button-small);
}

.gt-section-title {
  font: var(--type-section-title);
}

.gt-section-title-md,
.gt-form-title,
.gt-modal-title {
  font: var(--type-panel-title);
}

.gt-body {
  font: var(--type-body);
}

.gt-card-title {
  font: var(--type-card-title);
}

.gt-logo-sub,
.gt-card-text {
  font: var(--type-card-text);
}

.gt-card-badge,
.gt-card-link {
  font: var(--type-card-meta);
}

.gt-field {
  font: var(--font-medium) 24px/var(--lh-120) var(--font-secondary);
}

.gt-consent {
  font: var(--type-note);
}

.gt-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gt-table {
  font: var(--type-table);
}

.gt-table th {
  font-weight: var(--font-bold);
}

.gt-table td {
  font-weight: var(--font-regular);
}

.gt-footer-title {
  font: var(--type-footer-title);
}

.gt-footer-text {
  font: var(--type-footer-text);
}

.gt-modal-subtitle {
  font: var(--type-feature-title);
}

.gt-eyebrow {
  font: var(--font-bold) 14px/var(--lh-120) var(--font-primary);
  text-transform: uppercase;
}

.gt-toast {
  font: var(--font-semibold) 15px/var(--lh-120) var(--font-primary);
}

.gt-map-title {
  font: var(--font-extra-bold) 14px/var(--lh-120) var(--font-primary);
}

.gt-map-text {
  font: var(--font-semibold) 14px/var(--lh-135) var(--font-primary);
}

.gt-video-brand {
  font-family: var(--font-system);
}

.gt-video-brand-name {
  font: var(--font-extra-bold) 34px/1 var(--font-system);
}

.gt-video-brand-subtitle {
  font: var(--font-regular) 28px/1 var(--font-system);
}

@media (max-width: 1180px) {
  :root {
    --type-hero-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-hero-text: var(--font-regular) 16px/var(--lh-120) var(--font-primary);
    --type-hero-feature: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
    --type-section-title: var(--font-bold) 24px/var(--lh-120)
      var(--font-primary);
    --type-section-kicker: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
    --type-promo-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-benefit: var(--font-bold) 18px/var(--lh-120) var(--font-primary);
    --type-stat-number: var(--font-bold) 48px/var(--lh-120) var(--font-primary);
    --type-panel-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-about-text: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
    --type-contact-lines: var(--font-regular) 16px/1.25 var(--font-primary);
    --type-contact-button: var(--font-bold) 18px/var(--lh-120)
      var(--font-primary);
    --type-form-title: var(--font-bold) 24px/var(--lh-120) var(--font-secondary);
    --type-form-field: var(--font-medium) 16px/var(--lh-120)
      var(--font-secondary);
    --type-form-consent: var(--font-regular) 14px/var(--lh-120)
      var(--font-secondary);
    --type-info-title: var(--font-bold) 16px/var(--lh-120) var(--font-secondary);
    --type-info-text: var(--font-regular) 18px/var(--lh-120) var(--font-primary);
    --type-footer-title: var(--font-bold) 18px/var(--lh-120)
      var(--font-secondary);
    --type-footer-text: var(--font-regular) 16px/var(--lh-120)
      var(--font-secondary);
    --type-product-title: var(--font-bold) 34px/1.05 var(--font-primary);
    --type-price: var(--font-bold) 30px/var(--lh-120) var(--font-secondary);
    --type-feature-list: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
  }
}

@media (max-width: 520px) {
  :root {
    --type-body: var(--font-regular) 16px/var(--lh-120) var(--font-primary);
    --type-button: var(--font-bold) 12px/var(--lh-120) var(--font-primary);
    --type-button-small: var(--font-bold) 10px/var(--lh-120) var(--font-primary);
    --type-hero-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-hero-text: var(--font-regular) 16px/var(--lh-120) var(--font-primary);
    --type-hero-feature: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
    --type-section-title: var(--font-bold) 24px/var(--lh-120)
      var(--font-primary);
    --type-section-kicker: var(--font-regular) 16px/var(--lh-120)
      var(--font-primary);
    --type-card-title: var(--font-bold) 14px/var(--lh-120) var(--font-primary);
    --type-card-text: var(--font-regular) 11px/var(--lh-120) var(--font-primary);
    --type-card-meta: var(--font-bold) 10px/var(--lh-120) var(--font-primary);
    --type-card-link: var(--font-bold) 11px/var(--lh-120) var(--font-primary);
    --type-promo-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-benefit: var(--font-bold) 18px/var(--lh-120) var(--font-primary);
    --type-stat-number: var(--font-bold) 48px/var(--lh-120) var(--font-primary);
    --type-panel-title: var(--font-bold) 24px/var(--lh-120) var(--font-primary);
    --type-about-text: var(--font-regular) 15px/var(--lh-120)
      var(--font-primary);
    --type-contact-lines: var(--font-regular) 16px/1.25 var(--font-primary);
    --type-contact-button: var(--font-bold) 18px/var(--lh-120)
      var(--font-primary);
    --type-form-title: var(--font-bold) 24px/var(--lh-120) var(--font-secondary);
    --type-modal-subtitle: var(--font-bold) 16px/var(--lh-120)
      var(--font-secondary);
    --type-form-field: var(--font-medium) 16px/var(--lh-120)
      var(--font-secondary);
    --type-form-consent: var(--font-regular) 14px/var(--lh-120)
      var(--font-secondary);
    --type-info-title: var(--font-bold) 16px/var(--lh-120) var(--font-secondary);
    --type-info-text: var(--font-regular) 18px/var(--lh-120) var(--font-primary);
    --type-footer-title: var(--font-bold) 18px/var(--lh-120)
      var(--font-secondary);
    --type-footer-text: var(--font-regular) 16px/var(--lh-120)
      var(--font-secondary);
    --type-small: var(--font-regular) 11px/var(--lh-120) var(--font-primary);
    --type-product-title: var(--font-bold) 20px/1.05 var(--font-primary);
    --type-price: var(--font-bold) 20px/var(--lh-120) var(--font-secondary);
    --type-feature-title: var(--font-bold) 15px/var(--lh-120)
      var(--font-secondary);
    --type-feature-list: var(--font-regular) 12px/var(--lh-120)
      var(--font-primary);
    --type-equipment-title: var(--font-bold) 16px/var(--lh-120)
      var(--font-primary);
    --type-tabs: var(--font-bold) 14px/var(--lh-120) var(--font-secondary);
    --type-table: var(--font-regular) 12px/var(--lh-120) var(--font-primary);
    --type-table-head: var(--font-bold) 12px/var(--lh-120) var(--font-primary);
  }
}
