/* 24.5 Elements — Particle Hero v0.6.2 — responsive height + centered visual */
.tfe-particle-hero{
  --tfe-ph-bg:#080808;
  position:relative;
  display:block;
  width:100%;
  height:auto;
  min-height:100vh;
  overflow:hidden;
  isolation:isolate;
  background:var(--tfe-ph-bg);
  contain:layout paint;
}
.tfe-particle-hero__canvas{
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  pointer-events:none!important;
  touch-action:auto;
}
.tfe-particle-hero__fallback{
  display:block;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  color:#c6ff00;
  font:900 clamp(110px,21vw,380px)/1 "Lexend","Arial Black",sans-serif;
  opacity:.26;
  letter-spacing:-.085em;
  user-select:none;
  pointer-events:none;
}
.tfe-particle-hero.is-ready .tfe-particle-hero__fallback{display:none}
/* Apply e245-particle-hero-section to the Elementor section containing
 * the particle widget and text columns. Canvas is a backdrop only. */
.e245-particle-hero-section{
  position:relative!important;
  isolation:isolate;
  min-height:100vh;
  overflow:hidden;
  background:#080808;
}
.e245-particle-hero-section .e245-particle-background{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  pointer-events:none!important;
}
.e245-particle-hero-section .e245-particle-background>.elementor-widget-container,
.e245-particle-hero-section .e245-particle-background .tfe-particle-hero{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.e245-particle-hero-section .e245-particle-content{
  position:relative!important;
  z-index:2!important;
}
.e245-particle-hero-section .e245-particle-content :is(a,button,input,textarea){
  pointer-events:auto;
}
@media(max-width:767px){
  .tfe-particle-hero{min-height:70vh}
  .e245-particle-hero-section{min-height:70vh}
}
@media(prefers-reduced-motion:reduce){
  .tfe-particle-hero__canvas{will-change:auto}
}

/* v0.6.2 — Container height belongs to the host section, not the widget.
   The JS sets the responsive variables from the Elementor slider. */
.elementor-section.tfe-ph-host {
  position:relative!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  isolation:isolate;
  overflow:hidden;
  min-height:var(--tfe-ph-height-desktop,75vh)!important;
  height:auto!important;
  padding-top:clamp(20px,3vw,42px)!important;
  padding-bottom:clamp(20px,3vw,42px)!important;
  background:var(--tfe-ph-background,#080808);
}
.elementor-section.tfe-ph-host > .tfe-particle-hero__canvas {
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  pointer-events:none!important;
}
.elementor-section.tfe-ph-host > .elementor-container {
  position:relative!important;
  z-index:2!important;
  min-height:0!important;
  width:100%;
  align-items:center!important;
}
.elementor-section.tfe-ph-host .tfe-ph-attached {
  position:relative!important;
  min-height:0!important;
  height:0!important;
  overflow:visible!important;
  contain:none!important;
  background:transparent!important;
}
.elementor-section.tfe-ph-host .tfe-ph-attached > .elementor-widget-container {
  height:0!important;
  min-height:0!important;
  overflow:visible!important;
}
.elementor-section.tfe-ph-host .tfe-ph-attached .tfe-particle-hero {
  height:0!important;
  min-height:0!important;
  overflow:visible!important;
  contain:none!important;
  background:transparent!important;
}
/* Keep the content column vertically centered even when the visual column is empty. */
.elementor-section.tfe-ph-host > .elementor-container > .elementor-column {
  align-self:center;
}
.elementor-section.tfe-ph-host > .elementor-container > .elementor-column > .elementor-widget-wrap {
  align-content:center;
}
.elementor-section.tfe-ph-host .tfe-ph-attached .tfe-particle-hero__fallback {display:none}
.elementor-section.tfe-ph-host .tfe-ph-attached:not(.has-particles) .tfe-particle-hero__fallback {
  display:block;
  top:-100px;
}
@media (max-width:1024px) {
  .elementor-section.tfe-ph-host {min-height:var(--tfe-ph-height-tablet,65vh)!important}
}
@media (max-width:767px) {
  .elementor-section.tfe-ph-host {min-height:var(--tfe-ph-height-mobile,60vh)!important}
  .elementor-section.tfe-ph-host > .elementor-container {min-height:0!important}
}

/* Compatible with the class names used in the original Elementor setup. */
.elementor-section.tfe-ph-host .e245-particle-background .tfe-particle-hero,
.elementor-section.tfe-ph-host .e245-particle-background > .elementor-widget-container {
  min-height:0!important;
  height:0!important;
  background:transparent!important;
}
