/* Section / page title — letter reveal */

@keyframes logit-title-char-in {
  to {
    opacity: 1;
    color: var(--logit-title-char-end, currentColor);
    filter: blur(0);
    transform: translateY(0);
  }
}

[data-logit-title-reveal] .logit-title-char {
  display: inline-block;
  opacity: 0;
  color: var(--logit-title-char-start, #3b82f6);
  filter: blur(8px);
  transform: translateY(10px);
  animation: logit-title-char-in 0.65s cubic-bezier(0.2, 0.85, 0.2, 1) forwards;
  animation-play-state: paused;
}

[data-logit-title-reveal].logit-title-reveal--play .logit-title-char {
  animation-play-state: running;
}

/* Page hero — white title on primary background */
.logit-page-hero {
  --logit-title-char-start: #bfdbfe;
  --logit-title-char-end: #ffffff;
  padding-block: 2rem;
}

@media (min-width: 1024px) {
  .logit-page-hero {
    padding-block: 3rem;
  }
}

.logit-page-hero__title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
}

@media (min-width: 640px) {
  .logit-page-hero__title {
    font-size: 2.25rem;
  }
}

@media (min-width: 1024px) {
  .logit-page-hero__title {
    font-size: 3rem;
  }
}

.logit-section-heading {
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: rgb(17 24 39);
}

@media (min-width: 640px) {
  .logit-section-heading {
    font-size: 2.25rem;
  }
}

/* Default section titles on light background */
.logit-section-title {
  --logit-title-char-start: #3b82f6;
  --logit-title-char-end: inherit;
}

/* CTA band — white title on primary background */
.logit-title-reveal--on-primary {
  --logit-title-char-start: #bfdbfe;
  --logit-title-char-end: #ffffff;
}

/* Page bottom CTA — explicit padding (lg:py-12 not in compiled Tailwind) */
.logit-page-cta {
  position: relative;
  z-index: 2;
  padding-block: 2rem;
  isolation: isolate;
}

@media (min-width: 1024px) {
  .logit-page-cta {
    padding-block: 3rem;
  }
}

.logit-page-cta__inner {
  text-align: center;
}

.logit-page-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}

@media (max-width: 639px) {
  .logit-page-cta__actions {
    flex-direction: column;
    align-items: center;
  }
}

/* Hero overlay titles */
.logit-hero__title-reveal[data-logit-title-reveal="hero"] {
  --logit-title-char-start: #93c5fd;
  --logit-title-char-end: #ffffff;
}

.logit-hero__text.is-active .logit-hero__title-reveal.logit-title-reveal--play .logit-title-char {
  animation-play-state: running;
}