/* Animated O'Hare logo (homepage header) */
.ohare-logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 2.5rem 0 1rem;
}

.ohare-logo-wrap svg {
  max-width: 100%;
  height: auto;
}

/* 1. Outline draws itself in */
.word-stroke {
  stroke-dasharray: 340;
  stroke-dashoffset: 340;
  animation: ohare-draw 2.2s ease-in-out 0.3s forwards;
}

/* 2. Solid fill fades up underneath the outline */
.word-fill {
  opacity: 0;
  animation: ohare-fill 1.2s ease 1.8s forwards;
}

/* 3. Rule sweeps out from the left */
.rule {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: ohare-rule 0.9s ease-out 2.4s forwards;
}

/* 4. Tagline rises into place */
.tagline {
  font-family: "Playfair Display", serif;
  font-size: 0.95rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: oklch(0.78 0.13 70);
  opacity: 0;
  transform: translateY(8px);
  animation: ohare-tagline 0.9s ease 2.9s forwards;
}

@keyframes ohare-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes ohare-fill {
  to { opacity: 1; }
}

@keyframes ohare-rule {
  to { stroke-dashoffset: 0; }
}

@keyframes ohare-tagline {
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .word-stroke,
  .word-fill,
  .rule,
  .tagline {
    animation: none;
  }
  .word-stroke,
  .rule {
    stroke-dashoffset: 0;
  }
  .word-fill,
  .tagline {
    opacity: 1;
    transform: none;
  }
}
