/* booking-page.css - page-specific deviations for booking; 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:.59}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,15,22,.84) 0%,rgba(15,15,22,.40) 52%,rgba(33,32,46,.04) 100%)}
.hero-kick .kicker{color:#cfd6dd}
.hero-actions .btn{position:relative;isolation:isolate}
.hero-actions .btn::before,.hero-actions .btn::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;box-shadow:0 0 14px 2px rgba(94,134,184,.7);animation:hb-ring 3.4s cubic-bezier(.33,0,.2,1) infinite}
.hero-actions .btn::after{animation-delay:1.7s}
@keyframes hb-ring{0%{box-shadow:0 0 14px 2px rgba(94,134,184,.7)}70%{box-shadow:0 0 40px 38px rgba(94,134,184,0)}100%{box-shadow:0 0 0 0 rgba(94,134,184,0)}}
@media(prefers-reduced-motion:reduce){
.hero-actions .btn::before,.hero-actions .btn::after{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;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 60px,#000 calc(100% - 60px),transparent 100%)}
.hero-facts .hfacts-track{animation-name:hero-facts-scroll;animation-duration:260s}
@media(max-width:768px){.hero-facts .hfacts-track{animation-duration:550s}}
.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 .conditions{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:12px;max-width:880px;margin:30px auto 34px}
#physiotherapy .conditions li{display:flex;align-items:center;justify-content:center;text-align:center;height:100%;padding:20px 16px;font-size:13.5px;letter-spacing:.005em;line-height:1.42;font-family:'Inter',sans-serif;font-weight:600;color:#f4f6f8;background:linear-gradient(165deg,#1c1c27 0%,#101019 100%);border:1px solid rgba(255,255,255,.07);border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 1px 2px rgba(0,0,0,.25);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
#physiotherapy .conditions li:hover{background:linear-gradient(165deg,#2a2a38 0%,#171720 100%);border-color:rgba(255,255,255,.16);transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 30px rgba(0,0,0,.38)}
#exercise-physiology .svc-text{max-width:840px;margin:0 auto;text-align:center}
.facility::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,22,.82) 0%,rgba(15,15,22,.74) 100%)}
.member{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}
.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)}
@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}
}
.booking-hero{display:block;min-height:0}
.booking-hero .hero-inner{text-align:left;padding-top:clamp(36px,5vw,68px);padding-bottom:clamp(26px,4vw,50px)}
.booking-hero .hero-kick{justify-content:flex-start;margin-bottom:24px}
.booking-hero h1{margin-left:0;margin-right:0;max-width:20ch;font-size:clamp(2rem,3.4vw,3rem)}
.booking-hero .hero-sub{margin-left:0;margin-right:0;margin-top:24px;max-width:48ch}
.bk-grid{display:grid;grid-template-columns:1.05fr 1.15fr;gap:clamp(28px,4vw,60px);align-items:stretch}
.bk-text{min-width:0}
.bk-iframe-wrap{min-width:0;height:100%}
.bk-iframe{width:100%;height:100%;min-height:520px;border:0;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.42);display:block}
.bk-notes{background:rgba(255,255,255,.95);border-radius:14px;padding:clamp(20px,2.4vw,30px);box-shadow:0 24px 70px rgba(0,0,0,.42);margin-top:28px;color:#33414d}
.bk-notes h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:#2a3f54;margin:0 0 14px;font-weight:700}
.bk-notes p{font-size:.92rem;line-height:1.6;margin:0 0 12px}
.bk-notes p:last-child{margin:0}
.bk-notes a{color:#2a3f54;font-weight:700;text-decoration:underline}
.bk-notes strong{color:#1f2d3a;font-weight:700}
.bk-notes .bk-ndis{color:#2a3f54;font-weight:700}
.booking-hero .hero-facts{position:relative;z-index:3}
@media(max-width:880px){
.bk-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:880px){
.booking-hero h1{max-width:100%}
}
@media(max-width:880px){
.booking-hero .hero-sub{max-width:60ch}
}
@media(max-width:880px){
.bk-iframe{height:740px}
}
