.js-loading *, .js-loading *:before, .js-loading *:after {
  -webkit-animation-play-state: paused !important;
          animation-play-state: paused !important;
}

header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  height: 90vh;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: relative;
  text-align: center;
}

header::before {
  -webkit-animation: fade-in 0.4s ease-out forwards;
          animation: fade-in 0.4s ease-out forwards;
  background: -webkit-linear-gradient(top, rgba(0,0,0,0), rgba(51, 51, 51, 0.8)),
              url("../images/compassionate_hands.jpg") no-repeat bottom;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(51, 51, 51, 0.8)),
              url("../images/compassionate_hands.jpg") no-repeat bottom;
  background-size: cover;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

header::after {
  -webkit-animation: rotate-up 0.3s ease-out forwards;
          animation: rotate-up 0.3s ease-out forwards;
  background: #F9FCFF;
  content: "";
  height: 40rem;
  left: -5%;
  position: absolute;
  right: -5%;
  top: 90%;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  z-index: 0;
}

.header-title, .header-subtitle {
  color: #fff;
}

.header-subtitle {
  margin-bottom: 3rem;
  text-transform: uppercase;
}

.header-button {
  position: relative;
  z-index: 10;
}

/* ── Navbar brand: logo icon + company name side-by-side ── */
.navbar-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
}

.navbar-brand img {
  height: 48px !important;
  width: 48px !important;
  max-width: 48px !important;
  object-fit: contain;
}

.navbar-brand-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.3px;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

.navbar-brand-name span {
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
}

/* Hide text name on xs screens — logo icon alone is sufficient */
@media (max-width: 400px) {
  .navbar-brand-name { display: none; }
}

/* ── Slim announcement bar above the nav ── */
.announcement-bar {
  background: linear-gradient(90deg, #004E57, #006D77);
  color: #fff;
  font-size: 0.82rem;
  text-align: center;
  padding: 0.4rem 1rem;
  position: relative;
}

.announcement-bar .announcement-close {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: rgba(255,255,255,0.8);
  font-size: 1rem;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}

.announcement-bar .announcement-close:hover { color: #fff; }

/* Simple fade-in for animated elements (no translateY/scale to avoid layout shift) */
.animate-pop-in, .animate-pop-in-logo {
  -webkit-animation: fade-in 0.4s ease-out forwards;
  animation: fade-in 0.4s ease-out forwards;
  opacity: 0;
}

.rocky-dashed {
  border: 1px dashed #333;
  padding: 0.7rem;
  height: 15vh;
  width: 15vw;
}

.header-title {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.header-subtitle {
  -webkit-animation-delay: 0.05s;
          animation-delay: 0.05s;
}

.header-button {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.header-down-arrow {
  animation: fade-in 0.4s 0.15s ease-out forwards;
  opacity: 0;
}

.header-down-arrow img {
  -webkit-animation: fade-in 0.4s 0.15s ease-out forwards;
  animation: fade-in 0.4s 0.15s ease-out forwards;
  opacity: 0;
}

/* Animations */

@-webkit-keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@-webkit-keyframes no-transform {
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes no-transform {
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@-webkit-keyframes rotate-up {
  100% {
    -webkit-transform: rotateZ(-4deg);
            transform: rotateZ(-4deg);
  }
}

@keyframes rotate-up {
  100% {
    -webkit-transform: rotateZ(-4deg);
            transform: rotateZ(-4deg);
  }
}
