@media (max-width:1180px){
  .nav > a,.nav-drop > button{padding:10px 9px;font-size:.88rem}
  .header-cta .btn--ghost{display:none}
  .cond-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  .nav,.header-cta .btn{display:none}
  .burger{display:inline-flex}
  .split,.profile,.phero-grid,.contact-grid,.faq-split{grid-template-columns:1fr}
  .split--rev > :first-child{order:0}
  .tgrid .tcard,.tgrid .tcard.is-feature,.tgrid .tcard.is-wide{grid-column:span 6;flex-direction:column}
  .tgrid .tcard.is-feature .tc-img,.tgrid .tcard.is-wide .tc-img{aspect-ratio:4/3;min-height:0;flex:none}
  .tgrid .tcard.is-feature .tc-body{padding:24px}
  .why{grid-template-columns:repeat(2,1fr)}
  .why-item:nth-child(2){border-right:0;margin-right:0}
  .svc-body{grid-template-columns:1fr}
  .aside{position:static}
  .cta{grid-template-columns:1fr}
  .cta-img{min-height:260px}
  .f-grid{grid-template-columns:1fr 1fr}
  .badge-card{left:16px}
  .jstage{grid-template-columns:80px 1fr;gap:30px}
  .jstage .frame{grid-column:1/-1}
  .related{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  body{font-size:16px}
  .topbar .tb-hours{display:none}
  .hero{height:auto;min-height:0}
  .slide{position:relative;display:none}
  .slide.is-active{display:block}
  .slide img{height:46vh;min-height:300px;object-position:72% center}
  .slide::after{display:none}
  .hero-panel{position:relative;left:auto;top:auto;transform:none;max-width:none;margin:-60px 16px 0;background:#fff}
  .hero-ui{position:relative;right:auto;bottom:auto;justify-content:center;padding:18px 0 26px}
  .cond-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:1fr;gap:0;padding-left:0}
  .timeline::before,.tl-line{top:0;bottom:0;left:30px;right:auto;width:1px;height:100%}
  .tl-line{transform-origin:top}
  .tl-step{display:grid;grid-template-columns:62px 1fr;gap:20px;padding-bottom:30px}
  .tl-dot{margin:0}
  .why{grid-template-columns:1fr}
  .why-item{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-right:0}
  .form-grid{grid-template-columns:1fr}
  .dir{grid-template-columns:1fr}
  .two-col-list{columns:1}
  .related{grid-template-columns:1fr}
  .tgrid .tcard,.tgrid .tcard.is-feature,.tgrid .tcard.is-wide{grid-column:span 12}
  .head-row{margin-bottom:36px}
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fff;border-top:1px solid var(--line)}
  .mbar a{padding:13px 6px;text-align:center;font:600 .82rem var(--f-head);color:var(--teal);text-decoration:none}
  .mbar a.primary{background:var(--teal);color:#fff}
  .footer{padding-bottom:90px}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .f-grid{grid-template-columns:1fr}
  .cond-grid{grid-template-columns:1fr 1fr}
  .cond{padding:18px 16px}
  .btn{padding:14px 18px}
  .hero-panel .btn-row .btn{flex:1 1 100%;justify-content:center}
  .logo img{height:60px}
  .header .wrap{height:70px}
  .dir-item{grid-template-columns:1fr}
  .jstage{grid-template-columns:1fr}
  .jstage .jn{font-size:3rem}
  .badge-card{position:relative;left:auto;bottom:auto;margin:-40px 16px 0;max-width:none}
  .topbar .wrap{justify-content:center}
  .topbar .tb-addr{display:none}
}


















/* FIX: J S Physio Care treatment orbit - mobile only */
@media (max-width: 560px) {

  .js-treatment-orbit {
    width: 100%;
    overflow: hidden;
    padding: 44px 0 52px;
  }

  .js-treatment-orbit__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 32px);
    max-width: 480px;
    min-width: 0;
    margin-inline: auto;
    gap: 24px;
  }

  /* Keep all treatment content visible above the image */
  .js-treatment-orbit__content {
    width: 100%;
    min-width: 0;
    opacity: 1;
  }

  .js-treatment-orbit__intro {
    font-size: clamp(28px, 8vw, 35px);
    line-height: 1.12;
    overflow-wrap: anywhere;
  }

  .js-treatment-orbit__title {
    min-height: 0;
    font-size: clamp(27px, 7vw, 34px);
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  .js-treatment-orbit__description {
    min-height: 0;
    margin-bottom: 18px;
  }

  .js-treatment-orbit__controls {
    flex-wrap: wrap;
    margin-top: 20px;
  }

  /* Keep image inside the mobile viewport */
  .js-treatment-orbit__visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    aspect-ratio: auto;
    gap: 16px;
    overflow: hidden;
  }

  .js-treatment-orbit__center {
    position: relative;
    inset: auto;
    order: 1;
    width: min(100%, 350px);
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    padding: 5px;
    transform: none;
  }

  .js-treatment-orbit__main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
  }

  /* Horizontal swipe thumbnails */
  .js-treatment-orbit__orbit {
    position: relative;
    inset: auto;
    order: 2;
    display: flex;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 12px;
    padding: 8px 4px 18px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 0;
    border-radius: 0;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .js-treatment-orbit__item {
    position: relative;
    inset: auto !important;
    flex: 0 0 76px;
    width: 76px;
    max-width: 76px;
    padding: 3px;
    opacity: 1 !important;
    transform: none !important;
    scroll-snap-align: center;
  }

  .js-treatment-orbit__item img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
  }

  .js-treatment-orbit__item-label {
    position: static;
    display: block;
    width: 100%;
    margin-top: 6px;
    font-size: 9px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    transform: none;
  }

  .js-treatment-orbit__image-caption {
    right: 4px;
    bottom: 8%;
    max-width: 145px;
  }

  .js-treatment-orbit__orbit {


display:none !important;

  }
}


/* FIX: Mobile menu appointment button */
@media (max-width: 768px) {

  .mnav a.btn.btn--primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: calc(100% - 48px) !important;
    max-width: 100% !important;
    min-height: 54px !important;

    margin: 24px auto 0 !important;
    padding: 14px 18px !important;

    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.4 !important;

    border-radius: 10px !important;
    text-decoration: none !important;
  }

  .mnav a.btn.btn--primary:hover {
    transform: translateY(-2px);
  }
}










