/* SoulMap entry and verified customer excerpts; scoped to these blocks. */
.ns-sm-entry {
  scroll-margin-top: 90px;
  padding: 52px 0;
  border-block: 1px solid #ded4e9;
  background: linear-gradient(125deg, #f5eff9, #fcf8f4);
  color: #2a2330;
}
.ns-sm-entry-grid { display: grid; grid-template-columns: minmax(200px, .6fr) minmax(0, 1.4fr); align-items: center; gap: 48px; }
.ns-sm-cover { margin: 0; text-align: center; }
.ns-sm-cover img { display: block; width: min(100%, 245px); height: auto; margin: auto; border-radius: 14px; box-shadow: 0 16px 35px #190b4029; }
.ns-sm-entry h2 { margin: 10px 0 18px; color: #190b40; font: 700 clamp(1.9rem, 3vw, 2.65rem)/1.15 Georgia, serif; letter-spacing: -.025em; }
.ns-sm-entry p { color: #584b64; line-height: 1.7; }
.ns-sm-formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; }
.ns-sm-format { padding: 16px 18px; background: #ffffffc9; border: 1px solid #ded4e9; border-radius: 16px; }
.ns-sm-format h3 { margin: 0 0 6px; color: #190b40; font: 600 1rem/1.4 Inter, sans-serif; }
.ns-sm-format p { margin: 0; font-size: .9rem; }
.ns-sm-price { display: block; margin-top: 9px; color: #5f4a84; font: 700 1.4rem/1.3 Georgia, serif; }
.ns-sm-entry .ns-sm-proof { margin-top: 22px; font-size: .91rem; }
.ns-sm-proof strong { color: #3b2855; }
.ns-sm-proof-link { display: inline-block; margin-top: 8px; color: #5f4a84; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.ns-sm-section { scroll-margin-top: 90px; padding: 66px 0; background: #f7f2fa; color: #2a2330; }
.ns-sm-section h2 { margin: 10px 0 18px; color: #190b40; font: 600 clamp(2rem, 3.3vw, 3rem)/1.15 Georgia, serif; }
.ns-sm-section .ns-sm-intro { max-width: 760px; color: #6f6875; }
.ns-sm-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.ns-sm-review { display: flex; flex-direction: column; gap: 16px; padding: 25px; border: 1px solid #ded4e9; border-radius: 22px; background: #fff; box-shadow: 0 8px 24px #190b4008; }
.ns-sm-review small { color: #5f4a84; font: 600 .75rem/1.5 Inter, sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.ns-sm-review blockquote { margin: 0; color: #190b40; font: 400 1.3rem/1.5 Georgia, serif; }
.ns-sm-review p { margin: 0; color: #6f6875; font: 400 .9rem/1.7 Inter, sans-serif; }
.ns-sm-review a { margin-top: auto; color: #5f4a84; font: 600 .82rem/1.5 Inter, sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.ns-sm-reviews-note { margin-top: 20px; color: #6f6875; font-size: .85rem; }
.ns-sm-offer-price { color: #5f4a84; font-weight: 600; }
@media (max-width: 900px) {
  .ns-sm-entry-grid { gap: 28px; grid-template-columns: minmax(150px, .5fr) minmax(0, 1fr); }
  .ns-sm-reviews-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ns-sm-entry { padding: 36px 0; }
  .ns-sm-entry-grid { grid-template-columns: 1fr; gap: 26px; }
  .ns-sm-cover img { width: 165px; }
  .ns-sm-formats { grid-template-columns: 1fr; }
  .ns-sm-entry .button { width: 100%; }
  .ns-sm-section { padding: 48px 0; }
  .ns-sm-review { padding: 22px; }
}

.testimonials #testimonials-title { scroll-margin-top: 105px; }
