/* Blog + case study templates, Contact Form 7 skin */
.cosmo-article { min-width: 0; }
.cosmo-article > * + * { margin-top: 1.1em; }
.cosmo-article h2 { margin-top: 1.8em; }
.cosmo-article h3 { margin-top: 1.5em; }
.cosmo-article ul, .cosmo-article ol { padding-left: 1.3em; list-style: revert; }
.cosmo-article li + li { margin-top: .4em; }
.cosmo-article img { max-width: 100%; height: auto; border-radius: 16px; }
.cosmo-article blockquote { border-left: 3px solid var(--cyan-bright, #3b63f5); padding: 4px 0 4px 18px; color: var(--ink); font-size: 1.05rem; }
.cosmo-feature-img { margin-bottom: 28px; }
ul.fact-row.cosmo-meta { list-style: none; padding: 0; }
.cosmo-meta li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--bg-alt); border: 1px solid var(--line); color: #445081; font-size: .82rem; }
.cosmo-meta li i { color: var(--cyan-bright); }
.cosmo-cs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cosmo-cs-grid .card { display: flex; flex-direction: column; gap: 8px; }
.article.card { color: inherit; text-decoration: none; }
@media (max-width: 900px) { .cosmo-cs-grid { grid-template-columns: 1fr; } .content-layout { grid-template-columns: 1fr; } }

/* Contact Form 7 inside the modal designs - mirror the original static form */
.modal-form .wpcf7 { margin: 0; }
.modal-form .wpcf7 form { display: flex; flex-direction: column; gap: 11px; position: relative; }
.modal-form .wpcf7 form[hidden], .modal-form .wpcf7[hidden] { display: none; }
.modal-form .wpcf7 .hidden-fields-container { display: none; }
.modal-form .wpcf7 .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.modal-form .wpcf7 p { margin: 0; }
.modal-form .wpcf7-form-control-wrap { display: block; width: 100%; font-family: var(--ff-body); font-weight: 400; color: var(--ink); }
.modal-form .wpcf7 input:not([type="submit"]):not([type="file"]):not([type="checkbox"]),
.modal-form .wpcf7 textarea,
.modal-form .wpcf7 select { width: 100%; box-sizing: border-box; max-width: 100%; margin: 0; }
.modal-form .wpcf7 textarea { display: block; min-height: 84px; }
.modal-form .wpcf7 input.wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center; width: 100%; margin-top: 6px;
  border: 1px solid transparent; border-radius: 10px; padding: 15px 30px; font-size: 1rem;
  font-family: var(--ff-display); font-weight: 600; background: linear-gradient(180deg, #3157e6 0%, #2848cf 100%) !important; color: #fff !important;
  box-shadow: 0 1px 2px rgba(15,23,46,.16); cursor: pointer; transition: filter .18s, box-shadow .18s; -webkit-appearance: none; appearance: none;
}
.modal-form .wpcf7 input.wpcf7-submit:hover { filter: brightness(.94); box-shadow: 0 2px 8px rgba(15,23,46,.18); }
.modal-form .wpcf7-spinner { position: absolute; margin: 0; right: 14px; bottom: 56px; }
.modal-form .wpcf7-not-valid { border-color: #c0392b !important; }
.modal-form .wpcf7-not-valid-tip { font-size: .76rem; font-weight: 400; color: #c0392b; margin-top: 4px; display: block; }
.modal-form .wpcf7-response-output { margin: 6px 0 0 !important; padding: 10px 14px !important; border-radius: 10px; font-size: .84rem; }
.modal-form .wpcf7 form.init .wpcf7-response-output { display: none; }
@media (max-width: 520px) { .modal-form .wpcf7 .form-row { grid-template-columns: 1fr; } }

/* Client Voice slider (home) - slides stack in one grid cell so the box keeps the tallest height and stays centred */
.voice-slider { max-width: 820px; margin-inline: auto; text-align: center; }
.voice-track { display: grid; }
.voice-track .voice-slide { grid-area: 1 / 1; margin: 0 auto; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility .45s; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.voice-track .voice-slide.active { opacity: 1; visibility: visible; }
.voice-stars { display: flex; gap: 3px; justify-content: center; color: #f5b301; margin-bottom: 4px; font-size: .95rem; }
.voice-stars .dim { color: var(--line, #d9deea); }
.voice-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 26px; }
.voice-dots { display: flex; gap: 8px; }
.voice-dot { width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: #c6cfe6; cursor: pointer; transition: background .2s, transform .2s; }
.voice-dot.active { background: var(--cyan-bright, #3b63f5); transform: scale(1.25); }
.voice-nav { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line, #d9deea); background: #fff; color: var(--navy-800, #14265c); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .2s, background .2s; }
.voice-nav:hover { border-color: var(--cyan-bright, #3b63f5); background: #f2f5ff; }
.voice-slider .quote-band { width: 100%; }
