/* physiotherapy-page.css - page-specific deviations for physiotherapy; loads after site.css */
.burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;
    position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%)}
.hero{position:relative;background:var(--ink);color:var(--white);overflow:hidden;min-height:clamp(640px,90vh,900px);display:flex;align-items:center}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% center;opacity:.74}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,15,22,.76) 0%,rgba(15,15,22,.32) 52%,rgba(33,32,46,.06) 100%)}
.hero-kick .kicker{color:#cfd6dd;font-size:9.5px;letter-spacing:0.15em}
.hero-actions .btn{position:relative;animation:hb-nudge 4.5s ease-in-out infinite,hb-glow 3s ease-in-out infinite}
.hero-actions .btn:hover{animation:none}
@keyframes hb-nudge{0%,84%,100%{transform:rotate(0)}86%{transform:rotate(-2deg)}88.5%{transform:rotate(2deg)}91%{transform:rotate(-1.4deg)}93.5%{transform:rotate(1.4deg)}96%{transform:rotate(0)}}
@keyframes hb-glow{0%,100%{box-shadow:0 0 18px 2px rgba(94,134,184,.4)}50%{box-shadow:0 0 34px 9px rgba(94,134,184,.75)}}
@media(prefers-reduced-motion:reduce){
.hero-actions .btn{animation:none;box-shadow:none}
}
@media(max-width:768px){
.hero-facts{bottom:calc(env(safe-area-inset-bottom, 0px) + 14px)}
}
.hero-facts{position:absolute;left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;padding:14px 0;background:#000;z-index:3;overflow:hidden}
.hero-facts .hfacts-mask{overflow:hidden}
.hero-facts .hfacts-track{animation-name:hero-facts-scroll;animation-duration:120s}
@media(max-width:768px){
.hero-facts .hfacts-track{animation-duration:200s}
}
.promise-coda{display:block;margin-top:.30em;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;font-size:.72em;letter-spacing:.005em;color:#fff}
.promise-coda.coda-armed{opacity:0;transform:translateY(11px)}
#physiotherapy .svc-split{display:block}
#physiotherapy .svc-text{max-width:840px;margin:0 auto;text-align:center}
#physiotherapy .phys-photo{position:relative;max-width:880px;margin:30px auto 0}
#physiotherapy .phys-photo img{width:100%;height:clamp(260px,36vw,440px);object-fit:cover;border-radius:6px;box-shadow:0 30px 60px rgba(15,15,22,.16)}
#physiotherapy .phys-photo::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--steel);border-radius:6px;z-index:-1}
#physiotherapy .conditions{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:12px;max-width:880px;margin:42px auto 34px}
#physiotherapy .conditions li{display:flex;flex-direction:column;align-items:flex-start;text-align:left;height:100%;padding:22px 22px 24px;font-family:'Sora',sans-serif;font-weight:600;font-size:15.5px;letter-spacing:-0.01em;line-height:1.28;color:#fff;background:#000;border:1px solid #000;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
#physiotherapy .conditions li::after{content:"";display:block;width:26px;height:2px;background:#1c3d6e;border-radius:2px;margin-top:13px}
#physiotherapy .conditions li:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,15,22,.2)}
#exercise-physiology .svc-text{max-width:760px;margin:0 auto;text-align:center}
.facility::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,22,.85) 0%,rgba(15,15,22,.77) 100%)}
.member{display:block;color:inherit;text-decoration:none;text-align:center;background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
#our-principles .principles-close{text-align:center;margin-left:auto;margin-right:auto;border-left:none;padding-left:0;max-width:none}
#our-patients .prose{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.patients-sub{font-style:italic;font-weight:400;font-size:clamp(16px,1.7vw,20px);color:var(--body);margin-top:8px}
.split-photo{position:relative;z-index:1}
#physio-intro .prose{max-width:74ch;margin-left:auto;margin-right:auto}
#physio-intro .sec-head{text-align:center;margin-left:auto;margin-right:auto;max-width:none}
@media(min-width:881px){#physio-intro .sec-head h2{white-space:nowrap}}
.split-photo img{width:100%;height:clamp(340px,44vw,520px);object-fit:cover;border-radius:6px;box-shadow:0 26px 54px rgba(15,15,22,.20);display:block}
.split-photo::after{display:none}
.place-split--rev .split-photo::after{inset:16px 16px -16px -16px}
@media(min-width:881px){
#our-principles .place-split{grid-template-columns:1fr 1.1fr}
}
@media(min-width:881px){
#our-patients .ps-copy .sec-head,#our-patients .ps-copy .prose{margin-left:0;margin-right:0;max-width:none;text-align:left}
}
@media(min-width:881px){
#our-principles .ps-copy .sec-head,#our-principles .ps-copy .sec-head .lead{margin-left:0;margin-right:0;max-width:none;text-align:left}
}
@media(min-width:881px){
#our-principles .ps-copy .principles-close{text-align:left;margin-left:0;max-width:28ch;border-left:3px solid var(--steel);padding-left:26px}
}
@media(max-width:880px){
.split-photo::after,.place-split--rev .split-photo::after{inset:12px -12px -12px 12px}
}
.foot-brand img{display:block}
@media(max-width:880px){
.foot-brand img{height:46px;margin-left:auto;margin-right:auto}
}
.mobile-panel a:hover{color:var(--ink)}
.mp-team{border-bottom:1px solid rgba(255,255,255,.1)}
.mp-team>summary{list-style:none;cursor:pointer;font-family:'Inter',sans-serif;font-weight:500;font-size:17px;color:var(--white);padding:13px 0;display:flex;align-items:center;justify-content:space-between}
.mp-team>summary::-webkit-details-marker{display:none}
.mp-team>summary::after{content:"+";font-size:21px;line-height:1;color:rgba(255,255,255,.55);font-weight:400}
.mp-team[open]>summary::after{content:"\2013"}
.mp-team .mp-sub{display:flex;flex-direction:column;padding:2px 0 12px}
.mp-team .mp-sub a{font-size:15px;color:rgba(255,255,255,.78);padding:9px 0 9px 14px;border-bottom:0}
.mp-team .mp-sub a:hover{color:var(--white)}
.mp-team .mp-sub a.mp-sub-all{color:var(--white);font-weight:600}
@media(max-width:1200px){
.burger{display:flex;position:absolute;left:0;top:50%;transform:translateY(-50%);margin-left:0}
}
@media(max-width:560px){
#physiotherapy .conditions{gap:8px}
}
@media(max-width:560px){
#physiotherapy .conditions li{font-size:12px;padding:15px 9px;line-height:1.38}
}
@media(max-width:560px){
.hero{min-height:78vh;min-height:calc(100svh - 64px)}
}
.hero--page{min-height:clamp(420px,58vh,600px)}
.hero--page .hero-inner{padding-top:clamp(54px,8vw,90px);padding-bottom:clamp(54px,8vw,90px)}
@media(max-width:560px){
.hero--page{min-height:clamp(400px,62svh,520px)}
}
.solving-lead{margin:clamp(26px,3.2vw,38px) auto 0;max-width:980px;font-family:'Sora',sans-serif;font-weight:600;font-size:clamp(19px,2.2vw,26px);line-height:1.3;color:var(--ink);text-align:center}
#physio-treatment .sec-head{margin-left:auto;margin-right:auto;text-align:center}
#physio-treatment .prose{margin-left:auto;margin-right:auto;text-align:center;max-width:74ch}
#physio-conditions .spec-grid{margin-top:clamp(8px,1.4vw,16px)}
/* T9 - physio condition tiles match homepage grid: 4 / 3 / 2 columns */
#physio-conditions .spec-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:880px){#physio-conditions .spec-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){#physio-conditions .spec-grid{grid-template-columns:repeat(2,1fr)}}
/* T3 - reduce gaps around the solving-lead: tighten section padding either side of the conditions band */
#physio-treatment.pad{padding-bottom:clamp(22px,2.8vw,36px)}
#physio-conditions.pad{padding-top:clamp(26px,3.2vw,42px)}
/* T2 - hero subtitle splits onto two lines on mobile only */
.hs-break{display:none}
@media(max-width:560px){.hs-break{display:inline}}
/* T4 - contact "Visit us" address/phone/email on light bg: darken from faint footer greys to readable ink */
#visit .foot-contact .ci{color:var(--ink)}
#visit .foot-contact a.ci{color:var(--ink)}
#visit .foot-contact .ci svg{color:var(--steel)}
#visit .foot-contact a.ci:hover,#visit .foot-contact a.ci:hover svg{color:var(--steel)}

/* Fading premises-photo backdrop for the conditions band (#physio-conditions).
   Mirrors the homepage .bg-fade module; section-bg.js mounts the layers. */
.bg-fade{position:relative;overflow:hidden}
.bg-fade>.secbg-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}
.bg-fade>*:not(.secbg-wrap){position:relative;z-index:1}
.secbg-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;transition:opacity 2.8s cubic-bezier(0.37,0,0.63,1);will-change:opacity}
.secbg-layer.is-active{opacity:1}
.secbg-scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(15,15,22,.85) 0%,rgba(15,15,22,.77) 100%);z-index:3}
@media(prefers-reduced-motion:reduce){.secbg-layer{transition:none}}
/* EP hero subtitle: forced 2-line break on desktop/tablet, natural wrap on mobile (T_1dd7ace) */
.ep-sub-br2{display:none}
@media(max-width:560px){.ep-sub-br2{display:inline}}
/* EP "Exercise as medicine" heading centred when photo stacks beneath (tablet/mobile) (T_1dd7ace) */
@media(max-width:880px){#ep-intro .sec-head{text-align:center;margin-left:auto;margin-right:auto}}
/* Our Clients section ported to EP page (T_569eff9d); white cards on dark, 4/3/2-col, 2-col mobile */
#our-clients .sec-head{margin-left:auto;margin-right:auto;text-align:center}
#our-clients .prose{max-width:980px;margin-left:auto;margin-right:auto}
#our-clients .spec-grid{grid-template-columns:repeat(4,1fr);max-width:1080px}
#our-clients .spec-card{align-items:center;text-align:center;background:var(--white);border-color:var(--border)}
#our-clients .spec-card:hover{background:var(--white);border-color:#c8cfd6}
#our-clients .spec-card .spec-area{color:var(--ink)}
#our-clients .spec-card .spec-detail{color:var(--body)}
#our-clients .spec-card .spec-area::after{left:50%;transform:translateX(-50%)}
@media(max-width:960px){#our-clients .spec-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){#our-clients .spec-grid{grid-template-columns:repeat(2,1fr)}}
