/*--------------------------------------------------------------
# Page transition overlay
--------------------------------------------------------------*/
#page-transition-overlay {
  position: fixed;
  inset: 0;
  background: #151515;
  z-index: 999999;
  transform: translateY(0%);
  transition: transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
  will-change: transform;
}

#page-transition-overlay.pt-hidden {
  transform: translateY(-100%);
}

/*--------------------------------------------------------------
# Accent colors
# Existing brand accent: #ffc451 (gold)
# New accents added alongside it:
--------------------------------------------------------------*/
:root {
  --accent-gold: #ffc451;
  --accent-coral: #ff6b5b;
  --accent-teal: #2fd6c6;
}

/*--------------------------------------------------------------
# Hero blob (glow + glossy morphing gold shape)
--------------------------------------------------------------*/
#hero .container > *:not(.hero-blob-wrap) {
  position: relative;
  z-index: 1;
}

.hero-blob-wrap {
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  width: 380px;
  height: 380px;
  max-width: 34vw;
  max-height: 34vw;
  z-index: 0;
  pointer-events: none;
}

.hero-blob-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 230, 120, 0.8),
    rgba(255, 190, 0, 0.35),
    transparent 75%
  );
  filter: blur(80px);
  animation: heroBlobFloat 8s ease-in-out infinite;
}

.hero-blob-shape {
  position: absolute;
  top: 8%;
  left: 8%;
  width: 84%;
  height: 84%;
  background: linear-gradient(
    135deg,
    #fff6d5 0%,
    #ffe27a 20%,
    #ffcc33 40%,
    #d49d00 65%,
    #fff0b0 100%
  );
  border-radius: 60% 40% 70% 30% / 30% 60% 40% 70%;
  animation: heroBlobMorph 8s ease-in-out infinite,
    heroBlobFloat 8s ease-in-out infinite;
  filter: drop-shadow(0 0 40px rgba(255, 200, 40, 0.55));
}

.hero-blob-shape::before {
  content: "";
  position: absolute;
  top: 12%;
  left: 15%;
  width: 45%;
  height: 45%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.95),
    rgba(255, 255, 255, 0.15),
    transparent 70%
  );
  filter: blur(8px);
}

.hero-blob-shape::after {
  content: "";
  position: absolute;
  right: 18%;
  bottom: 20%;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  filter: blur(18px);
}

@keyframes heroBlobFloat {
  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-25px) rotate(4deg);
  }
}

@keyframes heroBlobMorph {
  0% {
    border-radius: 60% 40% 70% 30% / 30% 60% 40% 70%;
  }
  25% {
    border-radius: 35% 65% 40% 60% / 60% 35% 65% 40%;
  }
  50% {
    border-radius: 70% 30% 55% 45% / 45% 70% 30% 55%;
  }
  75% {
    border-radius: 40% 60% 30% 70% / 70% 40% 60% 30%;
  }
  100% {
    border-radius: 60% 40% 70% 30% / 30% 60% 40% 70%;
  }
}

@media (max-width: 991px) {
  .hero-blob-wrap {
    width: 240px;
    height: 240px;
    max-width: 55vw;
    max-height: 55vw;
    right: -5%;
  }
}

@media (max-width: 767px) {
  .hero-blob-wrap {
    display: none;
  }
}

/*--------------------------------------------------------------
# Accent color touches across the site
--------------------------------------------------------------*/
.nav_wrapper a:after {
  background-color: var(--accent-teal) !important;
}

.Hrlink a:after {
  background-color: var(--accent-coral) !important;
}

.aboutHr_lft h3 {
  color: var(--accent-teal) !important;
}

.servicesBox_number h3 {
  color: var(--accent-gold) !important;
}

.servicesBox:nth-child(3n + 2) .servicesBox_number h3 {
  color: var(--accent-coral) !important;
}

.servicesBox:nth-child(3n + 3) .servicesBox_number h3 {
  color: var(--accent-teal) !important;
}

/*--------------------------------------------------------------
# Text reveal
--------------------------------------------------------------*/
.reveal-word {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.reveal-word-inner {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: calc(var(--i) * 45ms);
}

[data-text-reveal].revealed .reveal-word-inner {
  transform: translateY(0);
}
