.msf-reviews-page { margin:0; background:#fffafd; color:#554b52; font:16px/1.65 Arial,Helvetica,sans-serif; }
.msf-reviews-main, .msf-review-home { box-sizing:border-box; max-width:1120px; margin:auto; padding:56px 24px; font:16px/1.65 Arial,Helvetica,sans-serif; color:#554b52; }
.msf-reviews-main *, .msf-review-home * { box-sizing:border-box; }
.msf-reviews-heading { max-width:720px; margin:0 auto 52px; text-align:center; }
.msf-reviews-heading h1 { margin:0 0 18px; font-family:Arial,Helvetica,sans-serif; font-size:clamp(2rem,5vw,2.75rem); font-weight:700; line-height:1.2; color:#92546e; }
.msf-reviews-heading > p:not(.msf-review-eyebrow) { margin:0 0 24px; font-size:18px; }
.msf-reviews-main h2, .msf-review-home h2 { margin:0 0 18px; color:#92546e; font:700 clamp(1.5rem,4vw,2rem)/1.3 Arial,Helvetica,sans-serif; }
.msf-reviews-stories { margin-bottom:64px; }
.msf-reviews-stories > h2 { text-align:center; }
.msf-review-empty { padding:28px; text-align:center; border:1px solid #eadde3; border-radius:16px; background:linear-gradient(120deg,#fbeaf1,#edf5fa); }
.msf-review-empty h3 { margin:0 0 10px; color:#554b52; font:700 1.125rem/1.4 Arial,Helvetica,sans-serif; }
.msf-review-empty p { max-width:550px; margin:0 auto; }
.msf-review-submit { display:grid; grid-template-columns: .85fr 1.15fr; gap:48px; scroll-margin-top:24px; }
.msf-review-intro { padding:20px 0; }
.msf-review-intro > p { margin:0 0 20px; }
.msf-review-note { color:#6c6068; font-size:14px; }
.msf-review-intro a, .msf-reviews-footer a { color:#3f7386; text-underline-offset:3px; }
.msf-review-form { min-width:0; padding:30px; border:1px solid #eadde3; border-radius:24px; background:#fff; box-shadow:0 8px 30px #92546e08; }
.msf-review-field { margin-bottom:22px; }
.msf-review-field > label, .msf-review-rating legend { display:block; margin-bottom:7px; font-size:16px; font-weight:700; }
.msf-review-field label > span, .msf-review-rating legend > span { font-size:14px; font-weight:400; }
.msf-review-field input, .msf-review-field textarea { display:block; width:100%; min-height:48px; border:1px solid #baa7b1; border-radius:10px; padding:12px; background:#fffafd; color:#554b52; font:inherit; }
.msf-review-field textarea { resize:vertical; }
.msf-review-help { margin:6px 0 0; color:#6c6068; font-size:14px; line-height:1.5; }
.msf-review-rating { min-width:0; padding:0; margin:0 0 22px; border:0; }
.msf-review-rating-options { display:flex; flex-wrap:wrap; gap:8px; }
.msf-review-rating-options label { position:relative; display:flex; align-items:center; gap:7px; min-height:48px; padding:9px 12px; border:1px solid #baa7b1; border-radius:10px; cursor:pointer; }
.msf-review-rating-options label:has(input:checked) { background:#fbeaf1; border-color:#92546e; color:#92546e; }
.msf-review-rating-options input, .msf-review-consent input { accent-color:#92546e; width:18px; height:18px; flex-shrink:0; margin:0; }
.msf-review-consent { display:flex; align-items:flex-start; gap:12px; margin:0 0 24px; font-size:14px; line-height:1.6; cursor:pointer; }
.msf-review-consent input { margin-top:3px; }
.msf-review-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; max-width:100%; padding:12px 22px; border:1px solid #92546e; border-radius:999px; background:#92546e; color:white; font:700 16px/1.4 Arial,Helvetica,sans-serif; text-decoration:none; text-align:center; cursor:pointer; }
.msf-review-button:hover { background:#7d425d; border-color:#7d425d; }
.msf-review-button:disabled { opacity:.65; cursor:wait; }
.msf-reviews-main :focus-visible, .msf-review-home :focus-visible, .msf-reviews-skip:focus-visible { outline:3px solid #3f7386; outline-offset:4px; }
.msf-review-form-status { margin:14px 0 0; font-size:16px; }
.msf-review-form-status:empty { display:none; }
.msf-review-form-status[data-error] { color:#9c2437; }
.msf-review-form-status a { color:#3f7386; }
.msf-review-honeypot { display:none; }
.msf-review-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:22px; }
.msf-review-card { margin:0; padding:28px; border:1px solid #eadde3; border-radius:22px; background:#fff; overflow-wrap:anywhere; }
.msf-review-stars { color:#92546e; letter-spacing:3px; margin:0 0 18px; font-size:20px; }
.msf-review-card blockquote { margin:0 0 24px; white-space:pre-line; }
.msf-review-card blockquote p { margin:0; }
.msf-review-card figcaption { display:flex; flex-direction:column; font-size:14px; }
.msf-review-card figcaption span { color:#6c6068; }
.msf-review-home > header { text-align:center; margin-bottom:24px; }
.msf-review-home-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:18px; margin-top:26px; }
.msf-review-text-link { color:#3f7386; text-underline-offset:4px; font-weight:700; }
.msf-reviews-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:64px; padding-top:24px; border-top:1px solid #eadde3; font-size:14px; }
.msf-review-sr, .msf-reviews-skip { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.msf-reviews-skip:focus { position:fixed; top:8px; left:8px; z-index:30; width:auto; height:auto; padding:12px 18px; margin:0; clip:auto; background:white; color:#3f7386; }
@media(max-width:700px) {
  .msf-reviews-main, .msf-review-home { padding:36px 18px; }
  .msf-reviews-heading { margin-bottom:36px; }
  .msf-reviews-stories { margin-bottom:36px; }
  .msf-review-submit { grid-template-columns:1fr; gap:8px; }
  .msf-review-form { padding:22px 18px; }
  .msf-review-empty { padding:28px 20px; }
  .msf-review-rating-options label { padding:9px 10px; }
}
