/* Shared visual scale for the four primary Future.Domains destinations. */
body.fd-site-scale {
  --fd-page-canvas: 1600px;
  --fd-page-gutter: 24px;
  --fd-page-gutter-mobile: 12px;
}

body.fd-site-scale .elementor[data-elementor-type="wp-page"] {
  width: 100%;
  overflow: hidden;
}

/* Keep each page system's actual content aligned inside full-bleed bands. */
body.fd-site-scale #fd22.fd22,
body.fd-site-scale .fdhiwn-inner,
body.fd-site-scale .fdreg-native-inner {
  width: 100% !important;
  max-width: var(--fd-page-canvas) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}

/* One headline scale: strong, but never oversized relative to the navigation. */
body.fd-site-scale .elementor[data-elementor-type="wp-page"] h1,
body.fd-site-scale #fd22 h1 {
  font-size: clamp(36px, 2.6vw, 48px) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}

body.fd-site-scale .elementor[data-elementor-type="wp-page"] .elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(30px, 2.15vw, 40px) !important;
  line-height: 1.1 !important;
  text-wrap: balance;
}

body.fd-site-scale .elementor[data-elementor-type="wp-page"] img {
  max-width: 100%;
}

/* The homepage is allowed a slightly stronger hero while sharing the same canvas. */
body.fd-site-scale.home .elementor[data-elementor-type="wp-page"] h1 {
  font-size: clamp(40px, 3vw, 56px) !important;
}

@media (max-width: 1024px) {
  body.fd-site-scale {
    --fd-page-gutter: 20px;
  }

  body.fd-site-scale .elementor[data-elementor-type="wp-page"] h1,
  body.fd-site-scale #fd22 h1 {
    font-size: clamp(34px, 5vw, 43px) !important;
  }
}

@media (max-width: 767px) {
  body.fd-site-scale {
    --fd-page-gutter: var(--fd-page-gutter-mobile);
  }

  body.fd-site-scale .elementor[data-elementor-type="wp-page"] h1,
  body.fd-site-scale #fd22 h1 {
    font-size: 34px !important;
  }

  body.fd-site-scale .elementor[data-elementor-type="wp-page"] .elementor-widget-heading h2.elementor-heading-title {
    font-size: 29px !important;
  }
}
