/* Mobile interaction layer: touch-friendly, snap-aligned carousels. */
@media (max-width: 780px){
  .org-therapists .org-physio-grid,
  .org-support-grid .org-masseur-grid,
  .news-section .news-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:rgba(10,121,86,.42) transparent;
    padding:2px 2px 9px;
    -webkit-overflow-scrolling:touch;
  }

  .org-therapists .org-physio-grid{
    grid-auto-columns:calc((100% - 16px) / 3);
  }

  .org-support-grid .org-masseur-grid{
    grid-auto-columns:calc((100% - 8px) / 2);
  }

  .news-section .news-grid{
    grid-auto-columns:100%;
    gap:12px;
    padding-inline:0;
  }

  .org-therapists .org-physio-grid > .org-person,
  .org-support-grid .org-masseur-grid > .org-person,
  .news-section .news-grid > .news-card{
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .news-section .news-grid > .news-card{
    transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
  }
  .news-section .news-grid > .news-card.is-carousel-active{
    transform:translateY(-3px);
    box-shadow:0 16px 32px rgba(8,57,49,.16);
  }

  .org-therapists .org-physio-grid:focus-visible,
  .org-support-grid .org-masseur-grid:focus-visible,
  .news-section .news-grid:focus-visible{
    outline:2px solid #29bf88;
    outline-offset:3px;
  }

  /* Keep the journey image legible on narrow screens instead of squeezing it into a strip. */
  .journey-section{
    margin-inline:clamp(12px,4vw,20px);
    border-radius:clamp(16px,4vw,22px);
    padding-block:clamp(24px,7vw,34px);
    background-image:
      linear-gradient(180deg,rgba(3,63,54,.56),rgba(3,63,54,.80)),
      url("assets/journey-player-motion.png");
    background-position:center,34% center;
    background-size:100% 100%,cover;
  }

  .journey-section:before{
    background:linear-gradient(180deg,rgba(1,35,30,.10),rgba(3,65,53,.34));
  }

  .journey-content{
    gap:clamp(16px,5vw,24px);
    padding-inline:clamp(16px,5vw,24px);
  }

  .journey-intro .eyebrow{font-size:clamp(10px,2.8vw,12px);margin-bottom:6px}
  .journey-intro h2{font-size:clamp(17px,4.8vw,21px);line-height:1.55;letter-spacing:-.1px}
  .journey-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4vw,20px) 10px}
  .journey-step{gap:4px}
  .journey-step:last-child{grid-column:1/-1;justify-self:center;min-width:145px}
  .journey-step strong{font-size:clamp(11px,3.2vw,13px)}
  .journey-step small{font-size:clamp(9px,2.5vw,10px)}
  .journey-step .step-icon{width:clamp(36px,10vw,42px);height:clamp(36px,10vw,42px)}
}

@media (max-width:420px){
  .org-therapists .org-physio-grid{grid-auto-columns:calc((100% - 16px) / 3)}
  .org-support-grid .org-masseur-grid{grid-auto-columns:calc((100% - 8px) / 2)}
}

@media (prefers-reduced-motion:reduce){
  .org-therapists .org-physio-grid,
  .org-support-grid .org-masseur-grid,
  .news-section .news-grid{scroll-behavior:auto}
  .news-section .news-card{transition:none}
}

html,
body,
*{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

*::-webkit-scrollbar{
  display:none !important;
  width:0;
  height:0;
}
