/* Homepage extras: testimonial form + FAQ. Uses the site's CSS variables from style.css. */
.tform { display: grid; gap: 16px; margin-top: 22px; max-width: 640px; }
.tform label { display: block; font: 700 .72rem var(--font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--silver); margin-bottom: 6px; }
.tform label small { font-weight: 500; letter-spacing: .06em; text-transform: none; color: var(--muted); }
.tform textarea, .tform input[type=text] {
  width: 100%; border-radius: var(--radius); border: 1.5px solid var(--line-blue); background: #07080b; color: var(--white);
  font: 500 1rem/1.5 var(--font-body); padding: 12px 16px;
}
.tform textarea { min-height: 130px; resize: vertical; }
.tform input[type=text] { min-height: 52px; }
.tform textarea::placeholder, .tform input::placeholder { color: var(--muted); }
.tform textarea:focus-visible, .tform input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.tform .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tform .tactions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tform button[disabled] { opacity: .6; cursor: progress; }
.tform.is-done .tfields { display: none; }
.tnote { min-height: 1.4em; font-size: .92rem; color: var(--silver); }
.tnote.is-ok { color: var(--blue-light); font-weight: 700; }
.tnote.is-warn { color: var(--body); }
.tfine { font-size: .82rem; color: var(--muted); max-width: 640px; }
.no-js .tform { display: none; }
.js .t-nojs { display: none; }

.faq { display: grid; gap: 12px; max-width: 820px; }
.faq details { padding: 0; }
.faq summary {
  list-style: none; cursor: pointer; padding: 18px 56px 18px 22px; position: relative;
  font: 400 1.05rem/1.4 var(--font-heading); color: var(--white); letter-spacing: .02em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font: 400 1.6rem/1 var(--font-body); color: var(--blue-glow); }
.faq details[open] summary::after { content: "\2212"; }
.faq details[open] { border-color: var(--line-blue); }
.faq summary:hover { color: var(--blue-light); }
.faq summary:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; border-radius: var(--radius); }
.faq .ans { padding: 0 22px 20px; }
.faq .ans p + p { margin-top: 10px; }
