/* Phillforce: kinetic headline, homepage only. Text remains available without JavaScript. */
#phillforce-homepage-root .heroCopy h1.pfw-kinetic-headline {
  width: min(100%, 970px);
  max-width: 970px;
  margin-inline: auto;
  font-size: clamp(2.85rem, 4.55vw, 4.2rem);
  line-height: 1.055;
  letter-spacing: -.056em;
  font-weight: 680;
  text-wrap: balance;
}
/* Each headline is a single naturally wrapping sentence: “See” leads the first line,
   never becomes a standalone block, and shares the same baseline as the rotating words. */
#phillforce-homepage-root .pfw-kinetic-headline .pfw-hero-prefix {
  display: inline;
  color: #11140f;
  font-size: .96em;
  font-weight: 750;
  letter-spacing: -.055em;
  -webkit-text-fill-color: #11140f;
}
#phillforce-homepage-root .pfw-kinetic-headline .pfw-hero-ending {
  display: block;
  color: #11140f;
  font-size: .78em;
  font-weight: 650;
  margin-top: .08em;
}
/* All five phrases share the same grid cell, so the longest phrase determines
   height. Moving from one line count to another cannot push down the form. */
#phillforce-homepage-root .pfw-hero-rotator {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: center;
  width: 100%;
  position: relative;
  isolation: isolate;
  padding: .055em .025em .16em;
  color: #2e4916;
  contain: style;
}
#phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase {
  grid-area: 1 / 1;
  display: block;
  max-width: 100%;
  min-width: 0;
  font-weight: 790;
  letter-spacing: -.062em;
  line-height: 1.06;
  color: #2e4916;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 38px,0) scale(.965);
  filter: blur(12px);
  clip-path: inset(70% 0 0 0);
  transition:
    opacity .48s cubic-bezier(.22,1,.36,1),
    transform .76s cubic-bezier(.16,1,.3,1),
    filter .66s cubic-bezier(.16,1,.3,1),
    clip-path .72s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .76s;
}
#phillforce-homepage-root .pfw-hero-rotator .pfw-hero-focus {
  color: #2e4916;
}
@supports (-webkit-background-clip: text) or (background-clip: text) {
  #phillforce-homepage-root .pfw-hero-rotator .pfw-hero-focus {
    background: linear-gradient(108deg,#182710 5%,#365a17 50%,#607f21 95%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
#phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase.is-active {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0,0,0) scale(1);
  filter: blur(0);
  clip-path: inset(0 0 0 0);
  transition-delay: 0s;
}
#phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase.is-leaving {
  opacity: 0;
  visibility: visible;
  transform: translate3d(0,-38px,0) scale(1.025);
  filter: blur(11px);
  clip-path: inset(0 0 75% 0);
  transition-delay: 0s;
}
/* Brief lime light sweep under each arriving phrase; it is not a second label. */
#phillforce-homepage-root .pfw-hero-rotator::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: .055em;
  left: 50%;
  width: min(38%,250px);
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #bbeb35 21%, #94c72a 80%,transparent);
  box-shadow: 0 0 20px rgba(150,193,39,.24);
  opacity: .84;
  transform: translateX(-50%) scaleX(1);
  transform-origin: 50% 50%;
}
#phillforce-homepage-root .pfw-hero-rotator.is-shifting::after {
  animation: pfwHeadlineTrace .92s cubic-bezier(.16,1,.3,1) both;
}
@keyframes pfwHeadlineTrace {
  0% {transform: translateX(-50%) scaleX(.05);opacity:0}
  44% {transform: translateX(-50%) scaleX(1.18);opacity:.95}
  100% {transform: translateX(-50%) scaleX(1);opacity:.84}
}
@media(max-width:760px) {
  #phillforce-homepage-root .heroCopy h1.pfw-kinetic-headline {
    font-size: clamp(2.12rem,8.75vw,3.55rem);
    line-height: 1.06;
    letter-spacing: -.054em;
    max-width: 100%;
  }
  #phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase {
    letter-spacing: -.059em;
  }
  #phillforce-homepage-root .pfw-hero-rotator {
    padding-bottom: .17em;
  }
  #phillforce-homepage-root .pfw-hero-rotator::after {
    height: 4px;
    width: min(49%,160px);
  }
}
/* Reduced-motion preference: show the original headline, with no cycling. */
@media(prefers-reduced-motion:reduce) {
  #phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase {
    opacity: 0!important;
    visibility: hidden!important;
    transform: none!important;
    filter: none!important;
    clip-path: none!important;
    animation: none!important;
    transition: none!important;
  }
  #phillforce-homepage-root .pfw-hero-rotator .pfw-hero-phrase:first-child {
    opacity: 1!important;
    visibility: visible!important;
  }
  #phillforce-homepage-root .pfw-hero-rotator::after {
    animation: none!important;
  }
}
