/* Keep long editorial headings legible without changing the service layout. */
.sp-hero-title { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .sp-hero-title-long .sp-highlight { font-size: clamp(1.5rem, 7.6vw, 2.8rem); }
}

/* Three equal panels form one complete surface, without orphaned grid cells. */
.sp-features {
  padding: clamp(64px, 7vw, 100px) var(--padding-x, 5vw);
}
.sp-features .sp-features-header {
  margin-bottom: 36px;
  align-items: flex-end;
  gap: 28px;
}
.sp-plan-label {
  margin: 0 0 16px;
  font-family: var(--font-body);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .16em;
  color: var(--brand-cream-muted);
}
.sp-features .sp-features-title { margin: 0; scroll-margin-top: 140px; }
.sp-features .sp-features-sub { margin: 0 0 4px; }
.sp-features .sp-bento {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 216, 77, .24);
  border-radius: 20px;
  background: linear-gradient(145deg, var(--brand-burgundy-card), var(--brand-burgundy-deep));
  box-shadow: 0 20px 44px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 216, 77, .08);
}
.sp-features .sp-bento-card,
.sp-features .sp-bento-card:first-child {
  grid-column: auto;
  min-width: 0;
  padding: clamp(26px, 3vw, 40px);
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: none;
  transition: background-color .25s ease;
}
.sp-features .sp-bento-card + .sp-bento-card {
  border-left: 1px solid rgba(255, 216, 77, .18);
}
.sp-features .sp-bento-card:hover { background-color: rgba(255, 216, 77, .035); }
.sp-features .sp-bento-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 32px;
  border-radius: 12px;
  background: var(--brand-burgundy);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .13), inset 0 1px 0 rgba(255, 216, 77, .08);
}
.sp-features .sp-bento-card h3 {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.35;
  margin: 0 0 12px;
}
.sp-features .sp-bento-card p { margin: 0; }
@media (max-width: 860px) {
  .sp-features .sp-features-header { align-items: flex-start; flex-direction: column; gap: 20px; }
  .sp-features .sp-features-sub { max-width: 560px; }
  .sp-features .sp-bento { grid-template-columns: minmax(0, 1fr); }
  .sp-features .sp-bento-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 22px;
    row-gap: 10px;
  }
  .sp-features .sp-bento-card + .sp-bento-card { border-left: 0; border-top: 1px solid rgba(255, 216, 77, .18); }
  .sp-features .sp-bento-icon { grid-row: 1 / 3; margin: 0; }
  .sp-features .sp-bento-card h3 { grid-column: 2; margin: 0; }
  .sp-features .sp-bento-card p { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-features .sp-bento-card { transition: none; }
}
