/* MOVE: larger hero photograph, clear actions and centered clinic contact. */
.header nav{font-size:15px;gap:28px;align-items:center}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;white-space:nowrap;line-height:1.2;font-size:14px;padding:14px 21px;border:1px solid var(--ink);border-radius:100px;background:var(--ink);color:#fff;font-weight:400}
.header-cta .cta-arrow{width:20px;height:20px;flex:none}
.header-cta:hover{background:#007f87;border-color:#007f87;color:#fff}
.hero{display:flex;flex-direction:column;min-height:960px;height:auto;max-height:none;padding:132px var(--page) 30px}
.hero-content{max-width:680px;margin-bottom:50px;z-index:1}
.hero-lead{max-width:640px;font-size:16px;line-height:1.75}
.hero-photo{inset:0 0 178px 31%;padding:0}
.hero-photo img{position:absolute;bottom:-88px;right:0;width:auto;height:calc(100% + 190px);max-width:none;object-fit:contain;object-position:right bottom;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 100%)}
.hero-wash{background:linear-gradient(90deg,var(--cream) 22%,rgba(250,247,238,.96) 32%,rgba(250,247,238,.76) 43%,rgba(250,247,238,.34) 53%,rgba(250,247,238,.07) 65%,transparent 76%)}
.hero-actions .primary,.recognition-note .button{min-width:0;gap:18px;justify-content:center;color:white;font-size:15px;font-weight:700;padding:19px 26px}
.hero-actions .text-link{font-size:17px;font-weight:700;padding:8px 0}
.hero-actions .text-link span{margin-left:16px;font-size:22px;font-weight:400}
.hero-contact{position:relative;z-index:1;display:flex;flex-direction:column;gap:0;margin-top:auto;padding:28px 30px;background:#dcefeb;border:1px solid #c2dad2;border-radius:24px;text-align:center}
.hero-contact .contact-intro{font-size:16px;color:var(--muted);line-height:1.6}
.hero-contact .contact-phone{align-self:center;justify-self:auto;width:auto;font-size:34px;line-height:1.25;letter-spacing:-.035em;margin:12px 0 20px;padding:0;border:0;font-weight:700}
.contact-phone:hover{color:#00848c}
.contact-details{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--muted)}
.hero-contact .contact-details>a{font-size:14px;font-weight:400;letter-spacing:0}
.contact-details a,.contact-details span{display:inline-flex;align-items:center;gap:8px}
.contact-details svg{width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1500px){.hero{min-height:100svh}.hero-photo img{height:calc(100% + 220px)}}
@media(min-width:701px) and (max-width:1100px){.header{gap:20px}.header nav{font-size:13px;gap:18px}.header-cta{font-size:12px;padding:12px 16px;gap:12px}.hero-lead{max-width:620px;font-size:15px}.hero-content{max-width:650px}.hero-photo{left:28%}.hero-actions .primary{min-width:0;gap:18px}.contact-details{gap:12px 20px}}
@media(max-width:900px) and (min-width:701px){.header nav{gap:14px;font-size:12px}.brand img{width:95px}.header-cta{padding:11px 13px;font-size:11px;gap:10px}.hero-content{max-width:580px}.hero-lead{max-width:570px;font-size:14px}.hero-photo img{right:-70px}}
@media(max-width:700px){.header{height:76px;gap:12px}.brand img{width:98px}.header .header-cta{font-size:11px;gap:12px;padding:11px 14px}.header-cta .cta-arrow{width:16px;height:16px}.header nav{display:none}.header.menu-open nav{font-size:16px;gap:22px}.hero{min-height:0;padding:110px 24px 30px}.hero-content{max-width:none;margin-bottom:34px}.hero-photo{inset:214px -5px auto auto;width:330px;height:430px;padding:0;transform:none!important}.hero-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;mask-image:none;-webkit-mask-image:none}.hero-wash{background:linear-gradient(180deg,transparent 290px,var(--cream) 660px),linear-gradient(90deg,var(--cream) 0%,rgba(250,247,238,.65) 28%,rgba(250,247,238,.2) 55%,transparent 85%)}.hero-label{margin-bottom:245px}.hero-lead{max-width:100%;font-size:14px;line-height:1.75}.hero-line{display:none}.hero-actions{gap:24px;flex-wrap:wrap}.hero-actions .primary,.recognition-note .button{min-width:0;gap:14px;font-size:13px;padding:17px 23px}.hero-actions .text-link{font-size:15px}.hero-contact{padding:25px 18px;margin:0;border-radius:20px}.hero-contact .contact-intro{font-size:14px;max-width:330px}.hero-contact .contact-phone{font-size:28px;margin:14px 0 22px}.contact-details{flex-direction:column;gap:14px;font-size:11px}.hero-contact .contact-details>a{font-size:11px}.contact-details a{max-width:310px;justify-content:center}.contact-details svg{width:16px;height:16px}}
@media(max-width:370px){.brand img{width:86px}.header .header-cta{font-size:10px;padding:10px 12px;gap:8px}.header{gap:9px}.hero-photo{width:300px;height:410px}.hero-actions{gap:18px}.hero-contact .contact-phone{font-size:26px}}

/* Full-width clinic contact band. */
.hero{padding-bottom:0}
.hero-contact{align-self:stretch;width:calc(100% + 2 * var(--page));margin-left:calc(-1 * var(--page));margin-right:calc(-1 * var(--page));padding:30px var(--page) 32px;background:#173f49;border:0;border-radius:0;color:#fff}
.hero-contact .contact-intro,.hero-contact .contact-phone,.hero-contact .contact-details,.hero-contact .contact-details>a{color:#fff}
.hero-contact .contact-phone:hover,.hero-contact .contact-details>a:hover{color:#a8ecea}
@media(max-width:700px){.hero-contact{width:calc(100% + 48px);margin-left:-24px;margin-right:-24px;padding:28px 24px 32px;border-radius:0}.hero-contact .contact-intro{align-self:center}.hero-contact .contact-details>a{max-width:100%}}

/* Compact contact band. */
.hero-contact{padding-top:20px;padding-bottom:22px}
.hero-contact .contact-phone{margin-top:8px;margin-bottom:12px;font-size:32px}
@media(max-width:700px){.hero-contact{padding:22px 24px 24px}.hero-contact .contact-phone{font-size:27px;margin:10px 0 16px}.hero-contact .contact-details{gap:10px}}

/* Overview: two clear facts and the visit outcome in the main copy. */
.overview-content .overview-result{font-size:18px;line-height:1.6;font-weight:700;color:var(--ink);max-width:570px;margin-top:24px}
.overview-facts{grid-template-columns:1fr 1fr;gap:28px;padding:30px 0;margin-top:30px}
.overview-facts>div:last-child{grid-column:auto}
.overview-facts>div>span{font-size:16px;line-height:1.4;color:var(--ink);margin-bottom:16px}
.overview-facts strong{font-size:18px;line-height:1.5}
.overview-facts .overview-price{font-size:38px}
.overview-facts a{font-size:12px;margin-top:14px}
@media(min-width:1101px){.hero{min-height:max(1020px,100svh)}.hero-photo img{height:calc(100% + 290px);bottom:-166px}}
@media(max-width:700px){.overview-content .overview-result{font-size:17px;margin-top:24px}.overview-facts{gap:26px 20px;padding:26px 0}.overview-facts>div>span{font-size:15px;margin-bottom:14px}.overview-facts strong{font-size:16px}.overview-facts .overview-price{font-size:34px}.overview-facts a{font-size:11px}}
@media(max-width:370px){.overview-facts{grid-template-columns:1fr;gap:26px}}
.overview-facts>div>span{color:#007f87;font-weight:700}
@media(min-width:1101px){.hero-photo img{right:32px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 97%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 97%,transparent 100%)}}

/* Extended courtyard background: right edge sits outside the viewport. */
@media(min-width:1101px){.hero-photo img{right:-40px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%,#000 100%)}}
@media(max-width:700px){.hero-photo img{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 100%)}}

.overview-first-step{display:inline-flex;align-items:center;gap:9px;margin-top:15px;padding:0 0 5px;border:0;border-bottom:1px solid currentColor;background:none;color:#007f87;font:700 13px/1.5 Inter,Arial,sans-serif;cursor:pointer;transition:color .2s}
.overview-first-step svg{width:19px;height:19px;flex:none}
.overview-first-step:hover{color:var(--ink)}



/* Transparent silhouette sampled from the supplied running reference. */
.overview{padding-bottom:40px}.overview-facts{margin-bottom:0}
.header-cta{padding-top:7px;padding-bottom:7px}
.runner-gait{display:block;flex:none}
.runner-gait img{display:block;width:100%;height:100%;object-fit:contain}
.header-cta .runner-gait{width:26px;height:41px}
.content-nav-wrap{position:relative;background:#142e35}
.content-nav{background:#142e35;color:#fff;border:0;font-size:15px;gap:28px;align-items:center;min-height:72px;padding-top:22px;padding-bottom:22px}
.nav-runner-track{position:absolute;left:0;top:50%;width:230px;height:68px;transform:translateY(-50%);overflow:hidden;pointer-events:none;z-index:1}
.nav-runner{position:absolute;left:0;top:1px;width:42px;height:66px;opacity:0;animation:move-run-across 10s linear infinite}
.nav-runner .runner-gait{width:42px;height:66px}
@keyframes move-run-across{0%{transform:translateX(-45px);opacity:0}8%{opacity:.6}68%{transform:translateX(150px);opacity:.6}92%,100%{transform:translateX(230px);opacity:0}}
@media(min-width:701px) and (max-width:1100px){.content-nav{justify-content:flex-start;padding-left:165px;font-size:14px;gap:25px}.nav-runner-track{width:140px}.nav-runner{animation-name:move-run-across-small}.header-cta .runner-gait{width:23px;height:37px}}
@keyframes move-run-across-small{0%{transform:translateX(-45px);opacity:0}8%{opacity:.6}65%{transform:translateX(85px);opacity:.6}92%,100%{transform:translateX(140px);opacity:0}}
@media(max-width:700px){.header .header-cta{padding-top:5px;padding-bottom:5px}.header-cta .runner-gait{width:21px;height:35px}.overview{padding-bottom:34px}.content-nav{font-size:14px;gap:24px;min-height:62px;padding:18px 24px;justify-content:flex-start}.nav-runner-track{display:none}}
@media(prefers-reduced-motion:reduce){.nav-runner-track{display:none}}

.content-nav a{color:#fff;transition:color .2s ease}.content-nav a:hover{color:#8edbda}.content-nav a:focus-visible{outline:2px solid #8edbda;outline-offset:5px}

.nav-runner-track{mask-image:linear-gradient(90deg,transparent,#000 12%,#000 72%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 72%,transparent)}

/* Original seamless gait. Two synchronized runs continue across the navigation. */
.header-cta .runner-gait{width:32px;height:41px}
.nav-runner-track{width:clamp(140px,calc((100% - 800px)/2),300px);height:68px}
.nav-runner{top:1px;width:100%;height:66px;animation:runner-left-pass 10s linear infinite}
.nav-runner .runner-gait{width:57px;height:66px}
.nav-runner-track--right{left:auto;right:0}
.nav-runner-track--right .nav-runner{animation-name:runner-right-pass}
@keyframes runner-left-pass{
 0%{transform:translateX(-57px);opacity:0}
 6%{opacity:.68}
 32%{transform:translateX(calc(100% - 85px));opacity:.68}
 44%,100%{transform:translateX(100%);opacity:0}
}
@keyframes runner-right-pass{
 0%,46%{transform:translateX(-57px);opacity:0}
 52%{opacity:.68}
 82%{transform:translateX(calc(100% - 85px));opacity:.68}
 94%,100%{transform:translateX(100%);opacity:0}
}
@media(min-width:701px) and (max-width:1100px){.nav-runner-track{width:140px}.nav-runner-track--right{display:none}.nav-runner{animation-name:move-run-across-small}.header-cta .runner-gait{width:29px;height:37px}}
@media(max-width:700px){.header-cta .runner-gait{width:27px;height:35px}}

/* Female runner from the approved reference, with the entire figure retained. */
.header-cta .runner-gait{width:36px;height:41px}
@media(min-width:701px) and (max-width:1100px){.header-cta .runner-gait{width:33px;height:37px}}
@media(max-width:700px){.header-cta .runner-gait{width:31px;height:35px}}

.header-cta .runner-gait{position:relative;left:-5px}

/* Explanatory copy as a distinct editorial note. */
.recognition .section-top{align-items:center}
.recognition .section-top>.editorial-note{max-width:490px;margin:0;padding:24px 28px;border-left:3px solid #55acb0;border-radius:0 18px 18px 0;background:#edf2ee;color:#36545a;font-size:17px;line-height:1.75}
.sign h3{padding-right:0}
.recognition-note{border:0;padding:0;margin-top:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center}
.recognition-note p{font-size:15px;line-height:1.6;letter-spacing:0;font-weight:700;margin:0}

@media(max-width:700px){.recognition .section-top>.editorial-note{max-width:none;padding:20px 22px;font-size:15px;line-height:1.7}.recognition-note{margin-top:34px;gap:20px}.recognition-note p{font-size:14px;max-width:320px}}

/* A quiet marginal thought, without a panel or frame. */
.recognition .section-top>.editorial-note{position:relative;max-width:475px;padding:10px 0 10px 38px;border:0;border-radius:0;background:none;color:#52666a;font-size:17px;line-height:1.8;font-weight:400}
.editorial-note::before{content:"✳";position:absolute;left:0;top:10px;color:#55aab0;font-size:26px;line-height:1.4;font-weight:400}
.note-emphasis{background-image:linear-gradient(transparent calc(100% - 3px),#c2ded8 0);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-bottom:2px}
@media(max-width:700px){.recognition .section-top>.editorial-note{font-size:15px;padding:6px 0 6px 30px;max-width:none;line-height:1.8}.editorial-note::before{font-size:22px;top:5px}}

/* Quiet typography for the aside, and a conversational text link below the cards. */
.recognition .section-top>.editorial-note{max-width:475px;padding:0;color:#687779;font-size:17px;line-height:1.85;font-style:italic;letter-spacing:-.01em}
.editorial-note::before{content:none}
.recognition-note{flex-direction:row;flex-wrap:wrap;gap:10px 16px;align-items:baseline}
.recognition-note p{font-size:20px;font-weight:500;line-height:1.65;letter-spacing:-.015em;max-width:none}
.recognition-note .recognition-doctor-link{display:inline-flex;align-items:center;gap:10px;color:#007f87;font-size:20px;font-weight:600;line-height:1.65;letter-spacing:-.015em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:color .2s}
.recognition-doctor-link svg{width:22px;height:22px;flex:none;align-self:center}
.recognition-note .recognition-doctor-link:hover{color:#142e35}
@media(max-width:700px){.recognition .section-top>.editorial-note{padding:0;font-size:15px;line-height:1.85}.recognition-note{gap:9px 12px}.recognition-note p{max-width:none;font-size:18px}.recognition-note .recognition-doctor-link{font-size:18px}}

/* Warm paper note: a clear label and a focused typographic accent. */
.recognition .section-top>.editorial-note{position:relative;max-width:490px;padding:25px 29px 27px;background:#eee9dc;color:#40575c;border:0;border-radius:6px 24px 24px 24px;font-style:normal;font-size:17px;line-height:1.75;letter-spacing:0}
.editorial-note-label{display:block;color:#68776f;font-size:10px;line-height:1.4;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.editorial-note p{margin:0}
.editorial-note strong{color:#163e45;font-weight:650}
.recognition-note p{font-weight:700}
.recognition-note .recognition-doctor-link{font-weight:700;text-decoration:none;border-bottom:1px solid #8bbabc;padding-bottom:1px}
.recognition-doctor-link svg{margin-left:2px}
@media(max-width:700px){.recognition .section-top>.editorial-note{padding:23px 24px;font-size:15px;max-width:none}.editorial-note-label{margin-bottom:10px}}

/* Each editorial card has a title drawn from its own message. */
.recognition .section-top>.editorial-note{overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#edf1e9 0%,#e7efea 100%)}
.editorial-note .editorial-note-label{position:relative;z-index:1;text-transform:none;letter-spacing:-.02em;color:#20484c;font-size:20px;font-weight:650;line-height:1.3;margin:0 0 14px}
.editorial-note p{position:relative;z-index:1}
.editorial-note-art{position:absolute;width:185px;height:185px;right:-34px;top:-50px;z-index:0;pointer-events:none;color:#8ab8ad;opacity:.22}
.editorial-note-art path{stroke:currentColor;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.editorial-note .editorial-note-label{font-size:19px;margin-bottom:12px}.editorial-note-art{width:155px;height:155px;right:-38px;top:-40px;opacity:.18}}

.editorial-note .editorial-note-label{color:#608e8d}
.editorial-note-art{opacity:.7;right:-35px;top:-35px;color:#a3c5b9}
@media(max-width:700px){.editorial-note-art{opacity:.6;right:-35px;top:-30px}}

/* Program content and shared explanatory note styling. */
.program h2{font-size:clamp(32px,3.1vw,46px)}
.program h2 em{white-space:nowrap}
.program .button{min-width:0;gap:18px;justify-content:center;font-size:15px;font-weight:700;padding:19px 26px}
.program-mark{display:block;width:185px;height:165px;font-size:0;margin-top:32px;line-height:1}
.program-mark picture,.program-mark img{display:block;width:165px;height:165px;object-fit:contain}
.program-mark img{opacity:.4}
.assessment-note{position:relative;isolation:isolate;overflow:hidden;margin-top:34px;padding:25px 29px 27px;border:0;border-radius:6px 24px 24px 24px;background:linear-gradient(120deg,#edf1e9,#e7efea);color:#40575c;font-size:17px;line-height:1.75;letter-spacing:0;font-style:normal}
.assessment-note p{font-size:17px;line-height:1.75;max-width:none;color:#40575c}
@media(max-width:1100px) and (min-width:701px){.program h2{font-size:clamp(26px,3.05vw,34px)}}
@media(max-width:700px){.program h2{font-size:clamp(27px,7.9vw,38px)}.program .button{gap:14px;font-size:13px;padding:17px 23px}.program-mark{display:none}.assessment-note{padding:23px 24px;margin-top:26px}.assessment-note p{font-size:15px}}

/* The runner crosses the open column and fades before the list. */
.program-mark{position:relative;width:calc(100% + var(--page) + 8vw);height:165px;margin-left:calc(-1 * var(--page));overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 72%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 72%,transparent)}
.program-runner{position:absolute;left:0;top:0;width:100%;height:165px;animation:program-run-across 12s linear infinite;opacity:0}
.program-mark img{opacity:1}
@keyframes program-run-across{0%{transform:translateX(-165px);opacity:0}8%{opacity:.4}70%{transform:translateX(calc(100% - 165px));opacity:.4}94%,100%{transform:translateX(100%);opacity:0}}
.assessment-intro .assessment-note{margin-top:30px}
@media(prefers-reduced-motion:reduce){.program-runner{animation:none;transform:translateX(90px);opacity:.4}}

/* Constant travel speed; fading is independent of the running path. */
.program-runner{animation:program-run-travel 12s linear infinite,program-run-fade 12s linear infinite;will-change:transform,opacity}
@keyframes program-run-travel{from{transform:translateX(-165px)}to{transform:translateX(100%)}}
@keyframes program-run-fade{0%,100%{opacity:0}12%,72%{opacity:.4}}
@media(prefers-reduced-motion:reduce){.program-runner{animation:none;transform:translateX(90px);opacity:.4;will-change:auto}}

/* Consistent explanatory note and clearer outcome labels. */
.outcome-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.outcome-heading .outcome-note{margin:0}
.outcome-grid article>span{font-size:15px;font-weight:600;line-height:1.5}
.pain-section .editorial-head>h2{grid-column:1/-1;white-space:nowrap}
@media(max-width:900px){.outcome-heading{gap:32px}}
@media(max-width:700px){.outcome-heading{grid-template-columns:1fr;gap:26px}.outcome-grid article>span{font-size:14px}.pain-section .editorial-head>h2{white-space:normal;font-size:clamp(30px,7.8vw,37px)}}

/* Notes inherit the temperature of the section around them. */
.recognition .section-top>.editorial-note{background:linear-gradient(120deg,#f0ecdf,#eae4d6)}
.recognition .editorial-note-label{color:#8a7b61}
.recognition .editorial-note-art{color:#c6b693}
.assessment .assessment-note{background:linear-gradient(120deg,#eef3f5,#e6eef1)}
.assessment .editorial-note-label{color:#648592}
.assessment .editorial-note-art{color:#a5c0cc}
.outcome .outcome-note{background:linear-gradient(120deg,#f2eade,#ece2d4)}
.outcome .editorial-note-label{color:#8b765c}
.outcome .editorial-note-art{color:#c7af89}
.program-runner{animation-duration:7.2s,7.2s}

.situations .editorial-head{align-items:center}
.situations .situations-note{margin:0;background:linear-gradient(120deg,#f1ecdf,#ebe3d6)}
.situations .editorial-note-label{color:#8a7b61}
.situations .editorial-note-art{color:#c6b693}

/* Personal recovery, conversation and the route after the appointment. */
.return-heart{display:inline-block;width:27px;height:27px;vertical-align:-3px;margin-left:10px;color:var(--teal)}
.visit-dialog-icon{display:inline-block;width:31px;height:31px;vertical-align:-5px;margin-left:10px;color:#009ba4}
.visit-pullquote{font-weight:500}
.visit-illustration{display:block;width:100%;max-width:520px;height:auto;margin-top:40px;opacity:.78;pointer-events:none}
.route-section .editorial-head{align-items:center}
.route-section .route-note{margin:0;background:linear-gradient(120deg,#f1ecdf,#ebe3d6)}
.route-section .editorial-note-label{color:#8a7b61}
.route-section .editorial-note-art{color:#c6b693}
@media(max-width:700px){.visit-illustration{max-width:390px;margin-top:30px}.return-heart{width:25px;height:25px}.visit-dialog-icon{width:28px;height:28px}}

.visit-photo{opacity:.9;border-radius:30px;mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 45%,rgba(0,0,0,.9) 65%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 45%,rgba(0,0,0,.9) 65%,transparent 100%)}

.return-heart{fill:currentColor}

/* A larger photographic arch, with crisp masking instead of a feathered vignette. */
.visit-photo-frame{position:relative;isolation:isolate;width:calc(100% + 48px);margin:44px 0 0 -24px}
.visit-photo-frame::before{content:"";position:absolute;z-index:-1;width:180px;height:180px;right:-18px;bottom:-24px;border-radius:50%;background:#c6ded6}
.visit-photo-frame::after{content:"";position:absolute;z-index:1;width:56px;height:56px;left:-12px;top:38px;border-radius:50%;background:#b0d4cf}
.visit-photo-frame .visit-photo{width:100%;max-width:none;height:390px;object-fit:cover;object-position:50% 5%;margin:0;opacity:1;mask-image:none;-webkit-mask-image:none;border-radius:46% 46% 10% 10% /42% 42% 14% 14%}
@media(min-width:701px) and (max-width:1100px){.visit-photo-frame .visit-photo{height:320px}}
@media(max-width:700px){.visit-photo-frame{width:100%;margin:35px 0 18px}.visit-photo-frame .visit-photo{height:280px}.visit-photo-frame::before{width:120px;height:120px;right:-8px;bottom:-18px}.visit-photo-frame::after{width:43px;height:43px;left:-6px;top:26px}}

/* Make the price section read as the programme offer. */
.price-copy>p{font-size:21px;line-height:1.65;max-width:490px;color:#365056}
.price-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.price-card .price-card-title{font-size:21px;line-height:1.4;letter-spacing:-.025em;font-weight:600;max-width:330px}
.price-card .price-value{width:100%;font-size:80px;text-align:center;margin:24px 0 4px}
.price-card>.button{width:auto;max-width:100%;min-width:0;justify-content:center;align-items:center;gap:18px;font-size:15px;font-weight:700;padding:19px 26px;margin:25px 0 24px}
.price-card .price-note{font-size:15px;line-height:1.75;text-align:left;width:100%}
.price-card .price-promo{width:100%;font-size:17px;font-weight:600;line-height:1.6;padding-top:23px;margin-top:24px}
@media(max-width:700px){.price-copy>p{font-size:19px;line-height:1.65}.price-card .price-card-title{font-size:20px}.price-card .price-value{font-size:76px}.price-card>.button{font-size:13px;padding:17px 23px;gap:14px}.price-card .price-note{font-size:14px}.price-card .price-promo{font-size:16px}}

.price-card-title span{white-space:nowrap}

/* A cleaner booking section with a complete set of contact fields. */
.booking h2{font-size:clamp(32px,3.2vw,48px);line-height:1.16;letter-spacing:-.045em}
.booking-copy>p{font-size:17px;line-height:1.75;max-width:450px}
.booking-contact>span{font-size:14px}
.booking-contact>a{font-size:30px}
.booking-contact .booking-address,.booking-contact .booking-hours{font-size:16px;line-height:1.75}
.booking-contact .booking-address{margin-top:16px}
.booking-contact .booking-hours{margin-top:7px}
.request-panel h3{margin:0 0 12px}
.request-panel>p{font-size:15px;line-height:1.7}
.request-panel #request-form{margin-top:24px}
.request-fields{gap:18px}
.request-panel #promo-form{margin-top:18px}
.request-panel label{font-size:12px}
.promo-input button{font-size:13px;font-weight:700;padding:12px 16px;color:#fff;background:#009ba4}
.promo-input button:hover{background:#008d96}
.coupon #promo-status{min-height:0}
.coupon #promo-status:empty{display:none}
.request-bottom{display:flex;justify-content:center;margin-top:18px}
.booking .request-submit{width:auto;min-width:0;max-width:100%;margin:0;justify-content:center;gap:18px;padding:19px 26px;font-size:15px;font-weight:700;opacity:1;cursor:default}
@media(max-width:700px){.booking h2{font-size:clamp(30px,8.2vw,40px)}.booking-contact>a{font-size:28px}.booking-contact .booking-address,.booking-contact .booking-hours{font-size:15px}.booking .request-submit{padding:17px 23px;font-size:13px;gap:14px}.promo-input button{padding:12px;font-size:12px}}

.request-bottom{margin-top:28px}
.booking-calendar{display:block;width:21px;height:21px;flex:none}

@font-face{font-family:"IMR Futura Book";src:url("assets/FuturaBookC.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Brand signature and readable clinic details. */
.footer-brand{display:block;flex:none;line-height:0}
.footer-brand img{display:block;width:180px;height:auto}
.footer-top p{font-size:18px;line-height:1.65;max-width:480px}
.footer-top>a:last-child{font-size:15px;white-space:nowrap}
.footer-legal{font-size:14px;line-height:1.85;color:#b0c4c5}
.footer .warning{font-family:"IMR Futura Book",Arial,sans-serif;font-weight:400;font-size:25px;line-height:1.4;letter-spacing:.045em;color:#a8bfc1}
.footer-end{align-items:center;gap:18px;flex-wrap:wrap;font-size:13px;line-height:1.6}
.footer-end a{font-size:17px;font-weight:600;color:#bbd2d2}
@media(max-width:700px){.footer-top{gap:26px}.footer-brand img{width:160px}.footer-top p{font-size:17px;max-width:none;width:100%}.footer-top>a:last-child{font-size:15px}.footer-legal{font-size:13px;line-height:1.85}.footer .warning{font-size:21px;letter-spacing:.025em}.footer-end{font-size:12px;gap:15px}.footer-end a{font-size:16px}}

.footer-end a{font-weight:400}
.footer-legal{font-size:14px;width:100%}
.footer-legal p{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px;row-gap:4px}
.footer-legal p>span+span::before{content:"·";margin-right:12px;color:#78999d}
@media(max-width:1100px){.footer-legal{font-size:13px}.footer-legal p{display:block}.footer-legal p>span{display:block}.footer-legal p>span+span::before{content:none}}

.footer-legal p>span{white-space:nowrap}
.footer-legal a:hover{color:#fff}
@media(max-width:1100px){.footer-legal p>span{white-space:normal}}

.footer-legal p>span:nth-child(4)::before{content:none}
