/* Small set of reusable component classes on top of Tailwind utilities. */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: .75rem; background: #06d992; color: #090b0f; font-weight: 700;
  padding: .75rem 1.5rem; font-size: .95rem; line-height: 1.25rem;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  box-shadow: 0 10px 30px -12px rgba(6,217,146,.6);
}
.btn-primary:hover { background: #02bb6f; transform: translateY(-1px); }
.btn-primary:focus-visible { outline: 2px solid #6ee9b8; outline-offset: 2px; }
.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: .75rem; border: 1px solid rgba(255,255,255,.15); color: #fff; font-weight: 600;
  padding: .75rem 1.5rem; font-size: .95rem; line-height: 1.25rem; transition: border-color .15s ease, background .15s ease;
}
.btn-secondary:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.04); }
.card { border-radius: 1rem; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); }
.eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #06d992; }
.prose-dark p { margin: 1rem 0; line-height: 1.75; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .chev { transform: rotate(180deg); }
.chev { transition: transform .2s ease; }
.field-error { color: #fca5a5; font-size: .8rem; margin-top: .25rem; }
.helptext { color: #94a3b8; font-size: .8rem; }
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; transform: translateY(110%); transition: transform .25s ease; }
.sticky-cta.is-visible { transform: translateY(0); }
.video-frame { position: relative; padding-top: 56.25%; border-radius: 1rem; overflow: hidden; background: #000; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media print {
  header, footer, .no-print { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
