/* Same full-entry → pin → horizontal travel → hold → release as the homepage.
   No service layout rules outside this scene. Native swipe/keyboard at mobile,
   reduced motion, and any viewport too short to contain the complete stage. */
/* The legacy service root clipped with overflow:hidden, creating a competing
   scroll container. clip keeps the same clipping without breaking sticky. */
#dc-root:has([data-service-scroll-testimonials]) { overflow:clip; }
html:has([data-service-scroll-testimonials]),
body:has([data-service-scroll-testimonials]) { overflow-x:clip; }
[data-service-scroll-testimonials] { overflow:visible; overflow-anchor:none; scroll-margin-top:calc(var(--review-header,82px) + 16px); }
[data-service-scroll-testimonials] .mf-testimonial-stage { position:relative; }
[data-service-scroll-testimonials] .mf-testimonial-controls { align-items:center; }
[data-service-scroll-testimonials] [hidden] { display:none; }
[data-service-scroll-testimonials] .review-position { min-width:90px; color:var(--bb-muted); font:500 11px/1.5 'Fira Code',monospace; text-align:center; letter-spacing:0; }
[data-service-scroll-testimonials] .mf-testimonial-controls button:disabled { opacity:.35; cursor:default; transform:none; }
[data-service-scroll-testimonials] .mf-testimonial-controls button:focus-visible,
[data-service-scroll-testimonials] .mf-testimonial-track:focus-visible { outline:2px solid var(--bb-focus); outline-offset:4px; }
[data-service-scroll-testimonials] .review-progress { height:2px; margin-top:16px; background:var(--bb-line); }
[data-service-scroll-testimonials] .review-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--bb-accent),var(--bb-accent-mid),var(--bb-accent-end)); transform:scaleX(var(--review-progress,0)); transform-origin:left; }
[data-service-scroll-testimonials].is-pinned { height:var(--review-height); padding-block:0; }
[data-service-scroll-testimonials].is-pinned .mf-testimonial-stage { position:sticky; top:var(--review-header); padding-block:24px; }
[data-service-scroll-testimonials].is-pinned :is(.mf-section-kicker,.mf-kicker) { margin-bottom:16px; }
[data-service-scroll-testimonials].is-pinned .mf-testimonial-head { grid-template-columns:minmax(0,1fr) auto; margin-bottom:32px; }
[data-service-scroll-testimonials].is-pinned .mf-testimonial-track { overflow-x:hidden; scroll-snap-type:none; scroll-behavior:auto; }
[data-service-scroll-testimonials].is-pinned .mf-testimonial-stage :is(.mf-section-kicker,.mf-kicker,.mf-testimonial-head,.mf-testimonial-shell,.mf-testimonial-more) { opacity:1!important; transform:none!important; transition:none!important; }
@media(min-width:901px) and (max-height:820px) {
  [data-service-scroll-testimonials].is-pinned .mf-testimonial-stage { padding-block:12px; }
  [data-service-scroll-testimonials].is-pinned :is(.mf-section-kicker,.mf-kicker) { margin-bottom:8px; }
  /* Match the legacy #dc-root section:not(#top):not(#contact) override. */
  #dc-root section#testimonials:not(#top):not(#contact)[data-service-scroll-testimonials].is-pinned .mf-testimonial-head h2 { font-size:clamp(1.8rem,3vw,2.25rem)!important; line-height:1.12!important; }
  [data-service-scroll-testimonials].is-pinned .mf-testimonial-head { margin-bottom:16px; }
  [data-service-scroll-testimonials].is-pinned .mf-testimonial-card { min-height:360px; }
  [data-service-scroll-testimonials].is-pinned .review-progress { margin-top:8px; }
  [data-service-scroll-testimonials].is-pinned .mf-testimonial-more { margin-top:16px; }
}
@media(prefers-reduced-motion:reduce) {
  [data-service-scroll-testimonials] { height:auto!important; }
  [data-service-scroll-testimonials] .mf-testimonial-stage { position:relative!important; padding-block:0!important; }
}
