/* Hindsight Learning Update 029: responsive, manually controlled parent stories */
.stories .parent-stories-examples { min-width:0; align-self:start; }
.stories .testimonial-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:20px; }
.stories .testimonial-heading h3 { font-family:Lora,serif; font-size:30px; font-weight:500; line-height:1.2; margin:0; }
.stories .testimonial-count { color:#5e787c; font-size:12px; font-weight:700; letter-spacing:.13em; white-space:nowrap; font-variant-numeric:tabular-nums; }
.stories .parent-story-grid { display:flex; align-items:flex-start; gap:16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:3px 2px 15px; transition:height .25s ease; }
.stories .parent-story-grid::-webkit-scrollbar { display:none; }
.stories .parent-story-grid .testimonial { display:flex; flex-direction:column; scroll-snap-align:start; scroll-snap-stop:always; min-width:0; flex:0 0 100%; padding:31px 33px 30px; border:1px solid #d1e2e1; border-top:3px solid #60a59c; border-radius:15px; background:linear-gradient(150deg,#f4faf9 0%,#e9f4f3 100%); box-shadow:0 9px 22px rgba(62,85,100,.09); }
.stories .parent-story-grid .testimonial:nth-child(2) { border-top-color:#e3a077; background:linear-gradient(150deg,#fff9f3 0%,#f9efe6 100%); }
.stories .parent-story-grid .testimonial:nth-child(3) { border-top-color:#7b9bad; background:linear-gradient(150deg,#f6f9fc 0%,#edf3f7 100%); }
.stories .parent-story-grid .testimonial:nth-child(4) { border-top-color:#78b0a4; }
.stories .parent-story-grid .testimonial::before { content:'“'; display:block; color:#dc8b60; font:normal 68px/.7 Georgia,serif; margin:5px 0 25px; }
.stories .parent-story-grid .testimonial .testimonial-copy { color:#3e5564; font-size:13.5px; line-height:1.86; margin:0 0 14px; overflow-wrap:break-word; }
.stories .parent-story-grid .testimonial .testimonial-copy:last-of-type { margin-bottom:23px; }
.stories .parent-story-grid .testimonial-attribution { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:11px; color:#1f7f86; font-size:13px; font-weight:800; letter-spacing:.02em; }
.stories .parent-story-grid .testimonial-attribution::before { content:''; height:1px; width:24px; flex:none; background:#83b7b0; }
.stories .testimonial-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:7px; }
.stories .testimonial-dots,.stories .testimonial-arrows { display:flex; align-items:center; gap:9px; }
.stories .testimonial-dot { display:block; width:11px; height:11px; min-width:11px; padding:0; border:0; border-radius:99px; background:#cbdad9; transition:width .2s ease,background .2s ease; }
.stories .testimonial-dot.is-active,.stories .testimonial-dot[aria-current="true"] { width:29px; background:#1f7f86; }
.stories .testimonial-arrow { width:42px; height:42px; padding:0; border-radius:50%; border:1px solid #b5d1cf; background:#fff; color:#286977; font-size:23px; line-height:1; display:inline-flex; align-items:center; justify-content:center; transition:background .2s,color .2s,border-color .2s; }
.stories .testimonial-arrow:not(:disabled):hover { background:#1f7f86; color:#fff; border-color:#1f7f86; }
.stories .testimonial-arrow:disabled { opacity:.35; cursor:not-allowed; }
.stories .testimonial-hint { font-size:11px; color:#6d8286; margin:11px 0 0; line-height:1.5; }
.stories .parent-story-grid:focus-visible { outline:3px solid #e07a45; outline-offset:2px; }
.stories .testimonial-dot:focus-visible,.stories .testimonial-arrow:focus-visible { outline:3px solid #e07a45; outline-offset:3px; }
@media (max-width:760px) {
 .stories .testimonial-heading h3 { font-size:27px; }
 .stories .parent-story-grid .testimonial { padding:28px 26px 26px; }
 .stories .parent-story-grid .testimonial .testimonial-copy { font-size:13.5px; line-height:1.82; }
}
@media (prefers-reduced-motion:reduce) {
 .stories .parent-story-grid { scroll-behavior:auto; transition:none; }
 .stories .testimonial-dot,.stories .testimonial-arrow { transition:none; }
}

/* Update 032: predictable touch gestures on iPhone and other touch devices.
   Vertical page scrolling is unaffected; horizontal swipes are controlled in JS. */
@media (hover:none) and (pointer:coarse) {
  .stories .parent-story-grid { touch-action:pan-y; }
}
.stories .parent-story-grid.testimonial-is-dragging {
  scroll-snap-type:none;
  scroll-behavior:auto;
  transition:none;
}
