/* Approved editorial motion direction. All rules are scoped to the osteopathy page. */
.rb-osteo-page{--osteo-soft:#f0c8dd;--osteo-head:112px;overflow:clip;outline:none}
.rb-osteo-page .o-wrap{width:min(1440px,89%);margin-inline:auto}
.osteo-opening{position:relative;padding:30px 0 36px;isolation:isolate}
.osteo-title{font:400 clamp(70px,10.9vw,162px)/.93 var(--serif);letter-spacing:-.055em;color:var(--plum);margin:0}
.osteo-title .title-line{display:block;overflow:hidden;padding:0 .03em .1em 0;margin-bottom:-.1em}
.osteo-title .title-line>span{display:block;transform-origin:0 100%}
.osteo-title em{display:block;font:italic 400 clamp(39px,7vw,104px)/1.08 var(--serif);letter-spacing:-.055em;color:var(--rose);white-space:nowrap}
.osteo-title .title-line+.title-line{margin-top:-.13em}
.osteo-opening-bottom{position:relative;display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:27px;min-height:91px;z-index:1}
.osteo-opening-bottom>p{font-size:clamp(16px,1.4vw,21px);line-height:1.4;color:var(--ink);width:35%;max-width:485px;margin:0}
.osteo-opening-bottom .text-link{font-size:17px;color:var(--ink);border-color:var(--rose);gap:14px;flex-shrink:0;padding-bottom:4px}
.osteo-hero-line{position:absolute;z-index:-1;left:0;bottom:6px;width:100%;height:auto;pointer-events:none;overflow:visible}
.osteo-hero-line path{stroke:var(--rose);stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--line-draw,1))}
.osteo-panorama{margin:0;position:relative;height:clamp(330px,31vw,470px);overflow:hidden;background:#e8dfda}
.osteo-panorama img{display:block;width:100%;height:calc(100% + 36px);object-fit:cover;object-position:50% 50%;transform:translateY(calc(-18px + var(--photo-shift,0px)));will-change:transform}
.osteo-panorama figcaption{position:absolute;bottom:14px;left:5.5%;background:var(--ivory);padding:6px 12px;font-size:10px;letter-spacing:.08em;color:var(--plum)}
.osteo-journey{position:relative;background:var(--plum);color:var(--ivory);padding:44px 0 0;isolation:isolate}
.journey-pin{position:relative;padding-bottom:75px}
.journey-heading{position:relative;padding-right:30%;margin-bottom:26px}
.rb-osteo-page .journey-heading h2{font:400 clamp(47px,6.05vw,90px)/.92 var(--serif);letter-spacing:-.045em;color:var(--ivory);margin:0 0 12px}
.journey-heading h2 em{display:block;color:var(--osteo-soft)}
.journey-heading>p{font-size:22px;line-height:1.4;margin:0;color:var(--ivory);opacity:.9;max-width:980px}
.journey-line{position:absolute;top:15px;right:0;width:55%;height:auto;pointer-events:none;z-index:-1}
.journey-line path{stroke:#d77aa9;stroke-width:1.15;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--journey-draw,1))}
.journey-layout{display:grid;grid-template-columns:22% 36% 1fr;gap:32px;align-items:start;position:relative}
.journey-rail{position:relative;display:flex;flex-direction:column;gap:36px;padding:5px 0 10px}
.journey-rail:before,.journey-progress{content:'';position:absolute;top:25px;bottom:30px;left:23px;width:2px;background:#af829f;z-index:-1}
.journey-progress{background:#dd78ac;transform:scaleY(var(--step-progress,0));transform-origin:50% 0;transition:transform .35s;z-index:0}
.journey-rail>a{display:flex;align-items:center;gap:14px;color:var(--ivory);font:400 clamp(20px,2.1vw,31px)/1.12 var(--serif);position:relative;min-height:58px;padding:0;text-decoration:none}
.journey-rail a>span{width:48px;height:48px;border:1px solid #f0d8e7;border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 25px var(--serif);flex:0 0 48px;background:var(--plum);position:relative;transition:background .35s,border-color .35s,transform .35s}
.journey-rail a[aria-selected=true]{font-weight:700}
.journey-rail a[aria-selected=true]>span{background:var(--rose);border-color:#d36a9d;transform:scale(1.07)}
.journey-rail a:focus-visible{outline-color:var(--osteo-soft);outline-offset:5px}
.journey-panels{border-left:1px solid #ab8ba9;padding-left:32px;min-width:0;min-height:340px}
.journey-panel{padding:0 0 28px;outline-offset:8px}
.rb-osteo-page .journey-panel h3{font:400 clamp(32px,3.8vw,56px)/1.08 var(--serif);letter-spacing:-.04em;margin:0 0 22px;color:var(--ivory)}
.journey-panel>p{font-size:clamp(17px,1.8vw,26px);line-height:1.35;color:var(--ivory);margin:0 0 28px}
.journey-panel .journey-caption{font:italic 24px/1.35 var(--serif);color:var(--ivory);position:relative;padding-top:22px}
.journey-caption:before{content:'';position:absolute;top:0;left:0;width:60px;height:5px;background:var(--rose)}
.journey-photo{margin:0;min-width:0;overflow:hidden;border-radius:0 70px 0 0;position:relative;height:430px;background:var(--plum)}
.journey-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--step-position,center)}
.journey-photo img[hidden]{display:none}
.journey-photo img[data-step-image="0"]{object-position:50% 32%}
.journey-photo img[data-step-image="1"]{object-position:50% 36%}
.journey-photo img[data-step-image="2"]{object-position:50% 55%}
.journey-wave{position:absolute;bottom:-1px;left:0;width:100%;height:95px;pointer-events:none;fill:var(--ivory)}
.osteo-journey.is-enhanced{min-height:calc(100vh + 620px)}
.is-enhanced .journey-pin{position:sticky;top:calc(var(--osteo-head) + 20px)}
.is-enhanced .journey-panel[hidden]{display:none}
.osteo-topics{padding:35px 0 65px;position:relative;background:var(--ivory)}
.rb-osteo-page .osteo-topics h2{font:400 clamp(36px,4.25vw,63px)/1.12 var(--serif);letter-spacing:-.045em;margin:0 0 25px;color:var(--plum)}
.osteo-topics h2 em{color:var(--rose)}
.osteo-topic{padding:0;border-top:1px solid #8a6588}
.osteo-topic:last-child{border-bottom:1px solid #8a6588}
.osteo-topic summary{font:400 clamp(27px,2.7vw,40px)/1.2 var(--serif);letter-spacing:-.02em;color:var(--plum);padding:21px 0;align-items:center;gap:20px}
.osteo-topic summary:after{content:'+';color:var(--rose);font:400 32px/1 Arial,sans-serif;flex:0 0 25px;text-align:center;transition:transform .3s}
.osteo-topic[open] summary:after{content:'−'}
.topic-body{overflow:hidden}
.osteo-topic .topic-body p{font-size:18px;line-height:1.65;color:var(--ink);max-width:960px;margin:0 0 23px}
.osteo-practical{padding:65px 0 85px;border-top:1px solid var(--line)}
.osteo-practical>.o-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}
.rb-osteo-page .osteo-practical h2{font:400 clamp(37px,4.1vw,60px)/1.1 var(--serif);letter-spacing:-.04em;color:var(--plum);margin-bottom:25px}
.osteo-practical .practical-intro{font-size:17px;color:var(--muted);max-width:420px}
.osteo-practical .text-link{font-size:14px}
.osteo-practical .rb-page-faq summary{font-size:23px}
.osteo-practical .rb-page-faq details p{font-size:16px;line-height:1.7}
.rb-osteo-page .rb-closing{padding:65px 0}
.rb-osteo-page .rb-closing h2{font-size:clamp(38px,4vw,57px)}
.rb-osteo-page .rb-closing p{font-size:16px}
.rb-osteo-page .text-link span,.rb-osteo-page .button span{display:inline-block;transition:transform .25s}
.rb-osteo-page .text-link:hover span{transform:translate(3px,-2px)}
.rb-osteo-page .button:hover span{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:no-preference){
 .osteo-title .title-line>span{animation:osteo-title-in 1.05s cubic-bezier(.16,1,.3,1) both}
 .osteo-title .title-line:nth-child(2)>span{animation-delay:.16s}
 .osteo-opening-bottom{animation:osteo-copy-in .8s .28s both}
 .osteo-panorama{animation:osteo-photo-in 1.25s .15s cubic-bezier(.16,1,.3,1) both}
 .rb-osteo-page.motion-ready .o-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .85s cubic-bezier(.16,1,.3,1)}
 .rb-osteo-page.motion-ready .o-reveal.is-visible{opacity:1;transform:none}
}
@keyframes osteo-title-in{from{transform:translateY(110%) rotate(1.5deg);opacity:0}to{transform:none;opacity:1}}
@keyframes osteo-copy-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes osteo-photo-in{from{clip-path:inset(5% 5% 0 round 35px)}to{clip-path:inset(0 round 0)}}
@media(min-width:1600px){.osteo-opening{padding-top:45px;padding-bottom:45px}.osteo-panorama{height:500px}}
@media(max-width:1100px){.osteo-opening-bottom>p{width:43%}.osteo-opening-bottom .text-link{font-size:15px}.journey-layout{grid-template-columns:27% 1fr;gap:25px}.journey-photo{display:none}.journey-heading{padding-right:0}.journey-panel>p{font-size:24px}.journey-heading>p{font-size:17px}.journey-pin{padding-bottom:110px}.osteo-practical>.o-wrap{gap:45px}.journey-heading h2{max-width:700px}}
@media(min-width:701px) and (max-width:1100px){.journey-photo{display:block;grid-column:1/-1;height:320px;width:100%}.osteo-journey.is-enhanced{min-height:0}.is-enhanced .journey-pin{position:relative;top:auto}}
@media(min-width:701px) and (max-height:820px){
 .rb-osteo-page .journey-heading h2{font-size:clamp(45px,4.8vw,70px);line-height:1.02;margin-bottom:12px}
 .journey-heading{margin-bottom:25px}.journey-heading>p{font-size:15px}
 .journey-photo{height:280px}.journey-panels{min-height:270px}
 .rb-osteo-page .journey-panel h3{font-size:40px;margin-bottom:16px}
 .journey-panel>p{font-size:18px;line-height:1.35;margin-bottom:20px}
 .journey-panel .journey-caption{font-size:18px;line-height:1.3;padding-top:18px;margin-bottom:0}
 .journey-rail{gap:22px}.journey-rail>a{font-size:24px}.journey-pin{padding-bottom:75px}
}
@media(min-width:701px) and (max-height:680px){.osteo-journey.is-enhanced{min-height:0}.is-enhanced .journey-pin{position:relative;top:auto}}
@media(min-width:701px) and (max-width:1100px){.journey-photo{height:clamp(320px,48vw,480px)}}
@media(max-width:700px){
 .osteo-opening{padding:35px 0 28px}.rb-osteo-page .o-wrap{width:88%}
 .osteo-title{font-size:clamp(48px,12.1vw,83px);letter-spacing:-.055em;line-height:1.12}
 .osteo-title em{font-size:clamp(36px,9.1vw,59px);white-space:normal;line-height:1.12;max-width:580px;padding-top:10px;letter-spacing:-.04em}
 .osteo-title .title-line+.title-line{margin-top:0}
 .osteo-opening-bottom{flex-direction:column-reverse;align-items:start;gap:25px;margin-top:28px;min-height:0}
 .osteo-opening-bottom>p{width:100%;max-width:480px;font-size:16px;line-height:1.6}.osteo-opening-bottom .text-link{font-size:14px}
 .osteo-hero-line{height:55px;width:160%;left:-25%;bottom:-8px;opacity:.65}
 .osteo-panorama{height:300px}.osteo-panorama img{height:100%;transform:none;object-position:55% 58%}
 .osteo-panorama figcaption{font-size:8px;left:6%;bottom:10px}
 .osteo-journey{padding-top:38px}.osteo-journey.is-enhanced{min-height:0}
 .is-enhanced .journey-pin{position:relative;top:auto}.journey-pin{padding-bottom:86px}
 .rb-osteo-page .journey-heading h2{font-size:44px;line-height:1.05;letter-spacing:-.04em}
 .journey-heading{margin-bottom:25px}.journey-heading>p{font-size:15px;line-height:1.6}.journey-line{top:0;width:75%;opacity:.6}
 .journey-layout{display:flex;flex-direction:column;gap:25px}
 .journey-rail{flex-direction:row;gap:12px;justify-content:space-between;width:100%;padding:0 0 22px;border-bottom:1px solid #a784a0}
 .journey-rail:before,.journey-progress{display:none}
 .journey-rail>a{flex-direction:column;align-items:start;gap:10px;font-size:17px;line-height:1.25;max-width:32%;flex:1;min-width:0}
 .journey-rail a>span{width:38px;height:38px;flex-basis:38px;font-size:20px}
 .journey-panels{border-left:0;padding-left:0;min-height:235px;width:100%}
 .rb-osteo-page .journey-panel h3{font-size:36px;margin-bottom:18px}.journey-panel>p{font-size:20px;line-height:1.45}.journey-panel .journey-caption{font-size:20px;margin-bottom:0}
 .journey-photo{display:block;width:100%;height:clamp(240px,62vw,380px);border-top-right-radius:55px}
 .journey-wave{height:55px}.osteo-topics{padding:23px 0 45px}
 .rb-osteo-page .osteo-topics h2{font-size:36px;line-height:1.15}.osteo-topic summary{font-size:27px;padding:21px 0}.osteo-topic summary:after{font-size:26px}
 .osteo-topic .topic-body p{font-size:15px;line-height:1.8;margin-bottom:22px}
 .osteo-practical{padding:42px 0 52px}.osteo-practical>.o-wrap{grid-template-columns:1fr;gap:20px}
 .rb-osteo-page .osteo-practical h2{font-size:38px}.osteo-practical .practical-intro{font-size:15px}.osteo-practical .rb-page-faq summary{font-size:21px}.osteo-practical .rb-page-faq details p{font-size:15px}
 .rb-osteo-page .rb-closing{padding:45px 0}.rb-osteo-page .rb-closing h2{font-size:37px}.rb-osteo-page .rb-closing p{font-size:14px}
}
@media(max-width:360px){.osteo-title{font-size:44px}.osteo-title em{font-size:35px}.journey-rail>a{font-size:15px}.rb-osteo-page .journey-heading h2{font-size:39px}.osteo-topic summary{font-size:25px}}
@media(prefers-reduced-motion:reduce){
 .rb-osteo-page *,.rb-osteo-page *:before,.rb-osteo-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .rb-osteo-page .o-reveal{opacity:1!important;transform:none!important}.osteo-panorama img{transform:none;will-change:auto;height:100%}
 .osteo-hero-line path,.journey-line path{stroke-dashoffset:0!important}
 .osteo-journey.is-enhanced{min-height:0}.is-enhanced .journey-pin{position:relative;top:auto}
}
