/* Match the responsive Elementor section grid without constraining full-width backgrounds:
   1600px content above the laptop breakpoint, 1280px content from 768px through 1600px,
   and 16px gutters through the site's 767px mobile breakpoint. */
:root{
  --tb-content-max:1600px;
  --tb-site-inset:max(0px,calc((100% - var(--tb-content-max))/2));
}
@media(max-width:1600px) and (min-width:768px){
  :root{
    --tb-content-max:1280px;
    --tb-site-inset:max(32px,calc((100% - var(--tb-content-max))/2));
  }
}
@media(max-width:767px){
  :root{
    --tb-content-max:100%;
    --tb-site-inset:16px;
  }
}
/* Component layout contract. No site-wide clipping or body overflow workaround. */
/* Elementor continues to provide Manrope. These classes belong to the outer component containers. */
.elementor-element.tb-header-slot,
.elementor-element.tb-hero-slot{width:100%;max-width:100%;min-width:0;padding:0;margin:0;gap:0;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--container-max-width:100%}
.elementor-element.tb-header-slot>.e-con-inner,
.elementor-element.tb-hero-slot>.e-con-inner{width:100%;max-width:100%;min-width:0;padding:0;gap:0}
.tb-header-slot .elementor-widget-shortcode,
.tb-hero-slot .elementor-widget-shortcode{width:100%;min-width:0;margin:0}
.tb-header-slot .elementor-widget-container,
.tb-hero-slot .elementor-widget-container{padding:0;margin:0}
/* Only the homepage HEADER is allowed to have zero height. */
.elementor-element.tb-header-slot{position:relative;z-index:100;overflow:visible;min-height:0}
.elementor-element.tb-header-slot:has([data-variant="home"]){height:0}
/* The hero must always contribute its full height to the page, at every breakpoint.
   These scoped resets also cover a direct shortcode container without a slot class. */
.elementor-element.tb-hero-slot,
.elementor-element.e-con:has(>.elementor-widget-shortcode #tb-home-hero),
.elementor-element.e-con:has(>.e-con-inner>.elementor-widget-shortcode #tb-home-hero){position:relative!important;inset:auto!important;height:auto!important;max-height:none!important;min-height:0;--height:auto;--min-height:0px;flex-shrink:0}
.elementor-widget-shortcode:has(#tb-home-hero),
.elementor-widget-shortcode:has(#tb-home-hero)>.elementor-widget-container,
.elementor-shortcode:has(>#tb-home-hero){position:relative!important;inset:auto!important;width:100%;min-width:0;height:auto!important;max-height:none!important;margin:0;transform:none!important}
#tb-home-hero{display:block;position:relative;width:100%;min-width:0;height:auto;max-width:100%}
