/* Authored component styles: no build step or external dependencies. */
/* The legacy sidebar's negative margin overlaps the last pixels of the text column. */
.page-id-66 #sidebar { margin-left: 0; }
.tfh-reviews {
  margin-block: 3rem 0;
  padding-block: 2rem;
  border-top: 1px solid #d9ceca;
  color: #282222;
}
.tfh-reviews h2 {
  margin: 0 0 1.5rem;
  padding: 0;
  color: #79041e;
  font-size: clamp(20px, 3vw, 1.8rem) !important;
  font-weight: 700 !important;
  line-height: 1.2;
}
.tfh-reviews__slides { display: grid; gap: 1.75rem; }
.tfh-review { min-width: 0; margin: 0; padding: 0 0 1.5rem; border-bottom: 1px solid #e7dfdc; overflow-wrap: anywhere; }
.tfh-review blockquote {
  max-width: 52rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  quotes: none;
}
.tfh-review blockquote::before, .tfh-review blockquote::after { display: none; content: none; }
.tfh-review blockquote p { margin: 0; font-size: clamp(16px, 2vw, 1.5rem); font-weight: 400; line-height: 1.65; color: #282222; }
.tfh-review figcaption { display: grid; gap: .3rem; margin-top: 1.5rem; font-size: max(14px, 1rem); line-height: 1.5; }
.tfh-review figcaption strong { color: #79041e; font-weight: 700; }
.tfh-review figcaption span { color: #59504f; font-size: max(14px, .95rem); }
.tfh-reviews--list .tfh-review { padding-block: .5rem 2rem; overflow-wrap: anywhere; }
.tfh-reviews--list h3 { margin: 0 0 1rem; padding: 0; color: #79041e; font-size: clamp(18px, 2vw, 1.5rem) !important; font-weight: 700 !important; line-height: 1.4; }
.tfh-reviews--list blockquote p { font-size: max(16px, 1.125rem); }
.tfh-reviews--list .tfh-review:last-child { padding-bottom: 0; border-bottom: 0; }
@media (min-width: 1200px) {
  .tfh-reviews--list .tfh-review { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 2.5rem; }
  .tfh-reviews--list h3 { grid-column: 1; grid-row: 1 / 3; }
  .tfh-reviews--list blockquote, .tfh-reviews--list figcaption { grid-column: 2; }
}
.tfh-reviews.is-ready .tfh-reviews__slides { gap: 0; }
.tfh-reviews.is-ready .tfh-review { grid-area: 1 / 1; border: 0; padding: 0; }
/* Hidden slides reserve the tallest quotation's height without being read or focusable. */
.tfh-reviews.is-ready .tfh-review[hidden] { display: block !important; visibility: hidden; pointer-events: none; }
.tfh-reviews__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 1.75rem; }
.tfh-reviews__controls { display: flex; align-items: center; gap: .5rem; }
.tfh-reviews__controls[hidden] { display: none; }
.tfh-reviews__controls button {
  min-width: 44px; min-height: 44px; padding: .5rem .7rem;
  border: 1px solid #79041e; border-radius: 0; background: #fff; color: #79041e;
  font: inherit; font-size: max(14px, 1rem); line-height: 1.2; cursor: pointer;
}
.tfh-reviews__controls [data-tfh-pause] { min-width: 6.5rem; margin-right: .25rem; }
.tfh-reviews__controls button:hover:not(:disabled) { color: #fff; background: #79041e; }
.tfh-reviews__controls button:disabled { color: #59504f; border-color: #b5a7a5; cursor: default; }
.tfh-reviews__position { min-width: 3rem; text-align: center; color: #59504f; font-variant-numeric: tabular-nums; }
.tfh-reviews__footer a { color: #79041e; text-decoration: underline; text-underline-offset: .2em; line-height: 1.5; }
.tfh-reference-companies { margin: 0 0 3rem; border-block: 1px solid #d9ceca; }
.tfh-reference-companies--list { margin-top: 2.5rem; padding-block: 1.5rem; }
.tfh-reference-companies--list h2 { margin: 0 0 1.25rem; padding: 0; color: #79041e; font-size: clamp(20px, 3vw, 1.8rem) !important; font-weight: 700 !important; line-height: 1.3; }
.tfh-reference-companies summary { display: list-item; min-height: 44px; padding: 1rem 0; color: #79041e; font-weight: 700; cursor: pointer; }
.tfh-reference-companies ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem 2rem; margin: .5rem 0 1.5rem; padding: 0; list-style: none; }
.tfh-reference-companies li { min-width: 0; margin: 0; font-size: max(14px, .95rem); line-height: 1.5; color: #59504f; overflow-wrap: anywhere; }
.tfh-reviews button:focus-visible, .tfh-reviews a:focus-visible, .tfh-reference-companies summary:focus-visible { outline: 3px solid #a66c00; outline-offset: 4px; }
@media (max-width: 767.98px) {
  .tfh-reviews { margin-top: 2rem; padding-block: 1.5rem; }
  .tfh-reference-companies ul { grid-template-columns: 1fr; gap: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .tfh-reviews *, .tfh-reference-companies * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
