.patient-stories {
  --stories-gold: #c9a66b;
  --stories-ink: #171719;
  --stories-muted: #6d6d70;
  --stories-line: rgba(21, 21, 23, .12);
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 118px) 0;
  background: #f4f2ee;
  color: var(--stories-ink);
  font-family: Poppins, Arial, sans-serif;
}
.patient-stories * { box-sizing: border-box; }
.patient-stories__inner { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.patient-stories__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 430px); gap: 40px; align-items: end; margin-bottom: 42px; }
.patient-stories__eyebrow { margin: 0 0 12px; color: #987136; font-size: .69rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.patient-stories h2 { max-width: 780px; margin: 0; color: var(--stories-ink); font: 600 clamp(2.25rem, 5vw, 4.6rem)/1.02 "Josefin Sans", Poppins, sans-serif; letter-spacing: -.035em; }
.patient-stories__intro { margin: 0; color: var(--stories-muted); font-size: .96rem; line-height: 1.75; }
.patient-stories__viewport { overflow: visible; }
.patient-stories .swiper-wrapper { align-items: stretch; }
.patient-stories .swiper-slide { height: auto; }
.patient-story { display: flex; flex-direction: column; min-height: 100%; padding: 30px; border: 1px solid var(--stories-line); border-radius: 4px; background: #fff; box-shadow: 0 18px 48px rgba(27, 24, 19, .07); }
.patient-story__top { display: flex; align-items: center; gap: 13px; margin-bottom: 24px; }
.patient-story__avatar { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 50%; background: #171719; color: #fff; font: 600 1rem/1 Poppins, sans-serif; text-transform: uppercase; }
.patient-story__user { min-width: 0; }
.patient-story__user strong { display: block; overflow: hidden; color: #202023; font-size: .9rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.patient-story__user span, .patient-story__user a { display: block; margin-top: 2px; color: #9a7742; font-size: .67rem; font-weight: 600; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.patient-story__user a:hover { text-decoration: underline; }
.patient-story blockquote { flex: 1; margin: 0; color: #303034; font-size: clamp(.98rem, 1.4vw, 1.08rem); line-height: 1.7; }
.patient-story__mark { display: block; margin-top: 26px; color: var(--stories-gold); font: 600 2rem/1 Georgia, serif; }
.patient-stories__controls { display: flex; align-items: center; gap: 13px; margin-top: 30px; }
.patient-stories__button { position: static; display: grid; width: 46px; height: 46px; margin: 0; place-items: center; border: 1px solid rgba(23, 23, 25, .22); border-radius: 50%; background: transparent; color: #171719; cursor: pointer; transition: border-color .25s ease, background .25s ease, color .25s ease; }
.patient-stories__button::after { font-size: 14px; font-weight: 800; }
.patient-stories__button:hover { border-color: #171719; background: #171719; color: #fff; }
.patient-stories__pagination { position: static; width: auto !important; margin-left: 7px; color: #777; font-size: .74rem; letter-spacing: .08em; }
@media (max-width: 760px) {
  .patient-stories { padding: 66px 0; }
  .patient-stories__inner { width: calc(100% - 28px); }
  .patient-stories__head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
  .patient-story { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .patient-stories__button { transition: none; }
}
