/* Custom styles, layered on top of the compiled Tailwind utilities (css/tailwind.css).
   Load order in <head>: tailwind.css first, then this file. */

html { scroll-behavior: smooth; interpolate-size: allow-keywords; }
body { -webkit-font-smoothing: antialiased; }

.hero-mesh {
  background:
    radial-gradient(60% 60% at 85% 5%, rgba(10,179,78,.14) 0%, rgba(10,179,78,0) 60%),
    radial-gradient(50% 50% at 5% 25%, rgba(59,130,246,.08) 0%, rgba(59,130,246,0) 60%),
    radial-gradient(55% 55% at 60% 100%, rgba(132,204,22,.10) 0%, rgba(132,204,22,0) 60%);
}

/* FAQ accordion: native <details> with a smooth open/close slide.
   Progressive enhancement - browsers without ::details-content just toggle instantly. */
.faq-item::details-content {
  block-size: 0;
  overflow: hidden;
  transition-property: block-size, content-visibility;
  transition-duration: .28s;
  transition-timing-function: ease;
  transition-behavior: allow-discrete;
}
.faq-item[open]::details-content { block-size: auto; }
@media (prefers-reduced-motion: reduce) {
  .faq-item::details-content { transition: none; }
}

/* Policy / legal pages (privacy, terms, cookie) - semantic long-form prose. */
.policy { color: rgba(30, 37, 34, .82); }
.policy > :first-child { margin-top: 0; }
.policy h2 {
  font-family: 'Poppins', 'Inter', system-ui, sans-serif;
  font-weight: 600;
  color: #1E2522;
  font-size: 1.375rem;
  line-height: 1.3;
  margin-top: 2.5rem;
}
.policy h3 {
  font-family: 'Poppins', 'Inter', system-ui, sans-serif;
  font-weight: 600;
  color: #1E2522;
  font-size: 1.0625rem;
  margin-top: 1.5rem;
}
.policy p { margin-top: 1rem; line-height: 1.7; }
.policy ul { margin-top: .75rem; padding-left: 1.25rem; list-style: disc; }
.policy ul ul { margin-top: .375rem; }
.policy li { margin-top: .375rem; }
.policy a { color: #07873B; text-decoration: underline; text-underline-offset: 2px; }
.policy a:hover { color: #066B2F; }
.policy strong { color: #1E2522; font-weight: 600; }
