/* The hidden attribute must win.
   Several component classes in the main stylesheet set `display` (.svc-stage is
   display:flex, for example), and author CSS beats the browser's built-in
   [hidden]{display:none} — so panels and slides marked hidden still rendered,
   stacking every tab panel and every testimonial on the page at once. */
[hidden]{display:none!important}

/* Inline quote form used in the CTA strip on every page.
   Uses the site's existing custom properties so it follows the theme. */
.ql-form{max-width:720px;margin:24px auto 0;text-align:left}
.ql-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ql-field{display:flex;flex-direction:column;gap:6px}
.ql-field.full{grid-column:1/-1}
.ql-field label{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}
.ql-field .req{color:var(--lav)}
.ql-form input,.ql-form select{
  width:100%;font-family:inherit;font-size:15.5px;color:var(--text);
  background:var(--card,#fff);border:1px solid var(--line);border-radius:var(--radius-sm,12px);
  padding:12px 14px;transition:border-color .16s,box-shadow .16s}
.ql-form input:focus,.ql-form select:focus{
  outline:0;border-color:var(--lav);box-shadow:0 0 0 3px rgba(var(--lav-rgb),.16)}
.ql-form input[aria-invalid="true"]{border-color:#c0392b;background:#fdf5f5}
.ql-actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:18px}
.ql-submit{min-width:260px}
.ql-note{margin:12px 0 0;font-size:12.5px;color:var(--muted-2,var(--muted));text-align:center}
.ql-err{display:none;margin:14px auto 0;max-width:520px;padding:11px 14px;border-radius:12px;
  background:#fdf2f2;border:1px solid #f3c9c9;color:#a92119;font-size:14px;text-align:center}
.ql-err.show{display:block}
.ql-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ql-done{display:none;text-align:center;padding:8px 0 4px}
.ql-done.show{display:block}
.ql-done .ql-tick{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
  background:rgba(29,154,108,.14);color:#17734d;display:grid;place-items:center;font-size:26px;font-weight:700}
.ql-done h3{margin:0 0 8px;font-size:21px}
.ql-done p{margin:0 auto;max-width:460px}
@media(max-width:640px){
  .ql-grid{grid-template-columns:1fr}
  .ql-submit{min-width:0;width:100%}
  .ql-actions{flex-direction:column;align-items:stretch}
}
