/* Native HTML FAQ keeps every answer readable without JavaScript. */
.classic-faq .faq-trigger {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  list-style: none;
  text-align: left;
  cursor: pointer;
}
.classic-faq .faq-trigger::-webkit-details-marker { display: none; }
.classic-faq .faq-trigger::marker { content: ""; }
.classic-faq .faq-trigger > svg { flex-shrink: 0; margin-left: 14px; margin-top: 5px; }
.classic-faq .faq-trigger:focus-visible { outline: 3px solid var(--primary); outline-offset: -3px; border-radius: 8px; }
.classic-faq .faq-item[open] > .faq-trigger > svg { transform: rotate(180deg); }
.classic-faq .faq-answer { height: auto; }
.video-player iframe { border: 0; }

/* Preserve the original hero appearance after semantic heading correction. */
.hero h1.hero-description { font-weight: 400; }
.award-source .current-trust { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid #dfd3e4; }
.current-trust a { font-size: 14px; font-weight: 700; color: var(--primary-strong); }
.current-trust a:hover { text-decoration: underline; text-underline-offset: 3px; }
.current-trust small { display: block; font-size: 12px; color: #796c7e; margin-top: 3px; }

/* Verified customer summaries and original app excerpts: append after existing classic-asp.css rules. */
.reviews-section .review-card-top { align-items: center; flex-wrap: wrap; gap: 8px; }
.reviews-section .review-card-top .review-source-badge {
  display: inline-flex; align-items: center; min-height: 30px; padding: 5px 11px;
  border-radius: 6px; background: #f0e3f4; color: #74327e;
  font-size: 14px; line-height: 1.45; font-weight: 750; letter-spacing: -.02em;
}
.reviews-section .review-card-top .review-source-badge[data-source="official"] {
  color: #fff; background: #96349b;
}
.reviews-section .review-card-top .review-content-type {
  padding: 0; border-radius: 0; background: transparent; color: #74637b;
  font-size: 13px; line-height: 1.5; font-weight: 500;
}
.reviews-section .review-benefit {
  margin: 22px 0 0; color: #2c1734; font-size: 25px; line-height: 1.45;
  font-weight: 800; letter-spacing: -.045em; word-break: keep-all; overflow-wrap: anywhere;
}
.reviews-section .review-slide .review-card blockquote,
.reviews-section .review-slide .review-card .review-summary {
  color: #4e3a56; margin: 17px 0 25px; min-height: 9em;
  font-size: 20px; line-height: 1.8; font-weight: 450; letter-spacing: -.035em;
  word-break: keep-all; overflow-wrap: anywhere;
}
.reviews-section .review-slide .review-card figcaption {
  align-items: flex-end; flex-wrap: wrap; gap: 12px 8px; padding-top: 20px;
}
.reviews-section .review-attribution { flex: 1 1 125px; gap: 5px; }
.reviews-section .review-attribution strong { color: #3f2449; font-size: 16px; font-weight: 700; }
.reviews-section .review-attribution > span { color: #78647e; font-size: 14px; line-height: 1.6; }
.reviews-section .review-attribution time { display: inline; }
.reviews-section .review-card figcaption > a.review-source-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  width: auto; height: auto; min-height: 44px; padding: 8px 10px; margin-left: auto;
  background: #f6eff8; border-radius: 7px; color: #713779;
  font-size: 14px; line-height: 1.4; font-weight: 750; text-decoration: none;
}
.reviews-section .review-card figcaption > a.review-source-link:hover { background: #ead7ef; }
.reviews-section .review-card figcaption > a.review-source-link:focus-visible {
  outline: 3px solid #96349b; outline-offset: 3px;
}
.reviews-section .review-source-link svg { width: 16px; height: 16px; flex: none; }
.reviews-section .reviews-bottom .text-link {
  font-size: 17px; gap: 6px; min-height: 44px; display: inline-flex; align-items: center;
}
@media (max-width: 700px) {
  .reviews-section .review-benefit { margin-top: 20px; font-size: 24px; }
  .reviews-section .review-slide .review-card blockquote,
.reviews-section .review-slide .review-card .review-summary { font-size: 20px; min-height: 9em; }
  .reviews-section .review-card-top .review-source-badge { font-size: 13px; }
  .reviews-section .review-card-top .review-content-type { font-size: 12px; }
}

.review-source-counts { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.review-source-counts > span { display:inline-flex; gap:10px; align-items:center; font-size:15px; font-weight:650; color:#fff; background:#ffffff14; border:1px solid #ffffff30; border-radius:999px; padding:7px 13px; }
.review-source-counts b { color:#f9de6b; font-size:17px; }
.reviews-section .review-benefit { min-height:2.9em; }
.reviews-section .review-card { border-top:4px solid #d2b7dc; }
.reviews-section .review-card[data-review-source="official"] { border-top-color:#d282d9; }
.reviews-section .reviews-bottom { align-items:center; gap:20px; }
.reviews-section .reviews-bottom > span { max-width:670px; font-size:14px; line-height:1.7; }
@media(max-width:700px){ .review-source-counts{gap:8px;margin-top:18px;} .review-source-counts > span{font-size:14px;padding:6px 11px;} .reviews-section .reviews-bottom{align-items:flex-start;gap:14px;} }

/* Let award sources wrap within the screen instead of retaining their desktop width. */
@media (max-width: 700px) {
  .award-source {
    flex: 1 1 100%; min-width: 0; max-width: 100%;
    margin-left: 0; flex-wrap: wrap;
  }
  .award-source > * { max-width: 100%; overflow-wrap: anywhere; }
}
