html.no-js [style*="opacity:0"] {
  opacity: 1 !important;
  transform: none !important;
}

html.js .php-motion-ready {
  will-change: opacity, transform;
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1);
}

html.js .php-motion-visible {
  opacity: 1 !important;
  transform: none !important;
}

button[aria-label^="Switch to"] {
  flex: 0 0 auto;
  min-width: 3.5rem;
  white-space: nowrap;
}

button[aria-label^="Switch to"] svg {
  flex: 0 0 auto;
}

.php-scenario-background,
.php-scenario-content {
  transition: opacity .45s cubic-bezier(.16, 1, .3, 1), transform .55s cubic-bezier(.16, 1, .3, 1) !important;
}

.php-scenario-switching .php-scenario-background {
  opacity: 0 !important;
  transform: scale(1.045) !important;
}

.php-scenario-switching .php-scenario-content {
  opacity: 0 !important;
  transform: translateX(-1.5rem) !important;
}

.php-scenario-tab:not(.is-active) {
  background: transparent !important;
  color: rgba(255, 255, 255, .5) !important;
  box-shadow: none !important;
  transform: scale(.95) !important;
}

.php-scenario-tab:not(.is-active):hover {
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

.php-scenario-tab.is-active {
  background: #fff !important;
  color: #1e3a8a !important;
  box-shadow: 0 10px 30px -10px rgba(255, 255, 255, .3) !important;
  transform: scale(1) !important;
}

.php-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  height: 100svh;
  width: 100vw;
  flex-direction: column;
  gap: 1.25rem;
  overflow-y: auto;
  background: #fff;
  padding: 1.5rem;
  animation: php-menu-in .35s cubic-bezier(.16, 1, .3, 1) both;
}

.php-mobile-menu a {
  color: #1f2937;
  font-size: 1.25rem;
  font-weight: 800;
}

.php-mobile-menu a:hover { color: #ea580c; }
.php-mobile-menu__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.php-mobile-menu__title { color: #ea580c; font-size: 1.25rem; font-weight: 800; }
.php-mobile-menu__close { color: #020617; font-size: 2rem; line-height: 1; }

.php-scroll-top {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 50;
  display: grid;
  height: 3rem;
  width: 3rem;
  place-items: center;
  border-radius: 999px;
  background: #ea580c;
  color: #fff;
  box-shadow: 0 12px 35px rgba(234, 88, 12, .3);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .25s ease, transform .25s ease;
}

.php-scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }

.php-toast {
  position: fixed;
  top: 6.5rem;
  left: 50%;
  z-index: 120;
  max-width: min(90vw, 42rem);
  transform: translateX(-50%);
  border: 1px solid rgba(234, 88, 12, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .97);
  padding: .9rem 1.4rem;
  color: #1e3a8a;
  font-weight: 700;
  box-shadow: 0 18px 50px rgba(2, 8, 23, .15);
  animation: php-toast 5s both;
}

[data-php-flow] { animation: php-flow 2.1s linear infinite; }
[data-php-pulse] { animation: php-pulse 2.2s ease-in-out infinite; }
circle[style*="offset-path"] { animation: php-offset 4s linear infinite; }
circle[style*="offset-path"]:nth-of-type(2) { animation-delay: -.8s; }
circle[style*="offset-path"]:nth-of-type(3) { animation-delay: -1.6s; }
circle[style*="offset-path"]:nth-of-type(4) { animation-delay: -2.4s; }

@keyframes php-menu-in { from { opacity: 0; transform: translateX(-3rem); } }
@keyframes php-pulse { 50% { opacity: .55; transform: scale(1.04); } }
@keyframes php-flow { from { transform: translateX(-130%); } to { transform: translateX(950%); } }
@keyframes php-offset { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes php-toast { 0%, 100% { opacity: 0; transform: translate(-50%, -12px); } 8%, 85% { opacity: 1; transform: translate(-50%, 0); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
