/* Greenwood & Holt — custom styles layered on top of Tailwind utilities */

:root {
  --ink: #1B241F;
  --paper: #F3EEE1;
  --gold: #A9822F;
  --moss: #4B5D43;
  --line: #D9D2C0;
}

html {
  scroll-behavior: smooth;
}

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

body {
  font-family: 'Work Sans', sans-serif;
  color: var(--ink);
  background-color: var(--paper);
}

h1, h2, h3, .font-display {
  font-family: 'Fraunces', serif;
}

/* Visible keyboard focus everywhere */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* Constrain measure for long-form copy */
.prose-measure {
  max-width: 62ch;
}

/* One orchestrated entrance on the hero only */
@media (prefers-reduced-motion: no-preference) {
  .hero-fade {
    animation: hero-rise 0.9s ease-out both;
  }
  .hero-fade-delay {
    animation: hero-rise 0.9s ease-out 0.15s both;
  }
}

@keyframes hero-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Native <details> arrow, styled instead of default triangle */
details > summary {
  list-style: none;
  cursor: pointer;
}
details > summary::-webkit-details-marker {
  display: none;
}
details[open] .details-icon {
  transform: rotate(45deg);
}
.details-icon {
  transition: transform 0.2s ease;
}

/* Form success state */
.form-success {
  display: none;
}
.form-success.is-visible {
  display: block;
}
