/* Cedar's visitor journey pattern, shared across the site. */
body[data-offering] .service-intro,body[data-offering] .cedar-intro{gap:7%;padding-top:44px;padding-bottom:65px;align-items:center}
body[data-offering] .service-intro h1,body[data-offering] .cedar-intro h1{font-size:clamp(40px,4.3vw,61px);line-height:1.1;font-weight:400}
body[data-offering] .service-intro .lede{font-size:23px;line-height:1.45;margin-bottom:18px}
body[data-offering] .service-intro>img,body[data-offering] .cedar-intro>img{height:460px}
body[data-offering="cedar-enzyme-bath"] .service-intro>img,body[data-offering="cedar-enzyme-bath"] .cedar-intro>img{object-position:70% 42%}
body[data-offering] .service-story{background:none;border-radius:0}
body[data-offering] .service-story>.detail-body{padding-top:55px;padding-bottom:55px}
.journey-hero-hint{font-size:13px!important;color:#63705b;margin:16px 0 0!important}
.visit-journey.section{width:88%;max-width:1160px;margin:0 auto;padding:42px 0 15px;border-top:1px solid #90743e50}
.visit-journey-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}
.visit-journey-top h2{font-size:35px;margin:0;line-height:1.16}.visit-journey-top>.visit-journey-top{display:block}
.visit-journey-top>p{max-width:390px;font-size:15px;line-height:1.6;color:#596550;margin:0}
.visit-journey-track{list-style:none;padding:0;margin:0;display:flex;gap:28px}.visit-journey-track>li{position:relative;flex:1;min-width:0}
.visit-journey-track>li:not(:last-child):after{content:'→';position:absolute;top:52px;left:116px;width:calc(100% - 100px);color:#90743e;border-bottom:1px solid #90743e50;line-height:0;text-align:right}
.journey-stage-icon{height:104px;width:104px;position:relative;border:1px solid #90743e70;border-radius:50%;display:grid;place-items:center;background:#f2ebe170;margin-bottom:25px}
.journey-stage-icon svg{height:62px;width:62px;stroke:#223b27;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.journey-stage-number{position:absolute;right:0;bottom:-1px;background:#fffaf2;border:1px solid #90743e60;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;font-size:10px;color:#90743e}
.journey-stage-place{font-size:10px!important;text-transform:uppercase;letter-spacing:.07em;color:#776744!important;margin:0 0 8px!important}
.visit-journey-track h3{font-size:22px;margin:0 0 11px}.visit-journey-track p{font-size:15px;line-height:1.6;color:#52604c;margin:0}
.visit-journey-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #90743e45;margin-top:33px;padding:20px 0;gap:25px}
.visit-journey-foot p{font-size:13px;color:#52604c;margin:0}.visit-journey-foot a{flex:none}
.cedar-rest-feature{max-width:1160px;width:88%;padding:65px 0;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.cedar-rest-feature>img{width:100%;height:350px;object-fit:cover}.cedar-rest-feature h2{font-size:40px}.cedar-rest-feature p:not(.eyebrow){font-size:16px;color:#52604c}.cedar-rest-feature .included-note{border-left:2px solid #90743e;padding-left:16px}
article.service-link-card{display:flex;flex-direction:column}.service-link-card h3 a{display:block}.service-link-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.service-link-card>.action-button{margin-top:auto}.service-link-card>p{flex:1}
.booking-shell{max-width:1300px}.booking-heading{text-align:left}.booking-heading>p:last-child{max-width:700px;color:#52604c}.step-track{justify-content:flex-start;margin:27px 0}
.journey-booking-layout.has-journey{display:grid;grid-template-columns:350px minmax(0,1fr);gap:42px;align-items:start}
.journey-booking-summary{position:sticky;top:115px;padding:28px;background:#f0eee3;border:1px solid #223b2725;border-radius:24px}
.journey-booking-summary h2{font-size:25px;line-height:1.2;margin:0 0 9px}.journey-summary-duration{font-size:13px;color:#52604c;margin:0}
.visit-journey-compact{list-style:none;margin:24px 0 20px;padding:0}.visit-journey-compact>li{display:flex;gap:14px;position:relative;padding-bottom:24px;align-items:start}.visit-journey-compact>li:last-child{padding-bottom:0}
.visit-journey-compact>li:not(:last-child):before{content:'';position:absolute;top:45px;bottom:0;left:22px;border-left:1px solid #90743e60}
.visit-journey-compact .journey-stage-icon{width:46px;height:46px;background:#fffaf2;flex:none;border:0;margin:0}
.visit-journey-compact .journey-stage-icon svg{width:32px;height:32px}.visit-journey-compact h3{font-size:16px;margin:2px 0 4px}.visit-journey-compact p{font-size:12px;line-height:1.5;margin:0;color:#52604c}
.journey-included-note{font-size:13px;line-height:1.6;border-top:1px solid #223b2725;padding-top:17px;margin-top:20px}.journey-rest-choice{display:flex;align-items:start;gap:10px;font-size:13px;margin-top:20px}.journey-rest-choice input{accent-color:#223b27;width:18px;height:18px;flex:none;margin-top:3px}.journey-rest-choice small{display:block;color:#52604c;font-size:12px;margin-top:5px}
.has-journey .booking-step{padding:0;background:transparent;border-radius:0}.has-journey #booking-form{min-width:0}.has-journey #booking-receipt{grid-column:2;padding:25px;width:100%}
.booking-step h2{font-size:29px}.booking-step>p{font-size:15px}.journey-booking-controls fieldset{margin:0 0 25px;padding:0;border:0}.journey-booking-controls legend{font-size:17px;margin-bottom:12px}.journey-booking-controls .choice{margin-bottom:10px;font-size:15px}.journey-booking-controls .choice small{display:block;font-size:12px;line-height:1.5;margin-top:5px;color:#52604c}.journey-booking-controls label[for=clinical-patient]{font-size:13px}
.journey-booking-controls select{width:100%;padding:12px;border:1px solid #223b2745;border-radius:7px;background:#fffdf8;color:#223b27;font:inherit;margin-top:8px}.journey-clinical-note{font-size:14px;color:#52604c;line-height:1.6}
.service-choice-group{grid-column:1/-1;margin:20px 0 2px;font-size:20px!important}.choice .choice-symbol{display:inline-flex;vertical-align:middle;margin-right:10px}.choice-symbol svg{width:30px;height:30px}
#visit-additions:empty{display:none!important}.booking-step .request-review{font-size:14px}.request-review>summary{margin-bottom:15px}.booking-step input:not([type=checkbox]):not([type=radio]),.booking-step textarea{border-radius:7px}.booking-step fieldset{min-width:0}.journey-booking-layout #review-details{overflow-wrap:anywhere}
@media(max-width:1000px){.journey-booking-layout.has-journey{grid-template-columns:300px minmax(0,1fr);gap:27px}.journey-booking-summary{padding:21px}.visit-journey-track{gap:18px}.journey-stage-icon{width:86px;height:86px}.visit-journey-track>li:not(:last-child):after{top:43px;left:98px;width:calc(100% - 82px)}.visit-journey-track h3{font-size:19px}.visit-journey-top{gap:25px}.visit-journey-top h2{font-size:31px}.visit-journey-top>p{max-width:310px}}
@media(max-width:800px){body[data-offering] .service-intro,body[data-offering] .cedar-intro{gap:30px;padding-top:28px;padding-bottom:40px}body[data-offering] .service-intro>img,body[data-offering] .cedar-intro>img{height:350px}.journey-booking-layout.has-journey{display:flex;flex-direction:column;gap:28px}.journey-booking-summary{position:static;width:100%;padding:24px}.journey-booking-layout #booking-form{width:100%}.journey-booking-layout #booking-receipt{max-width:none}.channel-choices{flex-wrap:wrap}.channel-choices .choice{min-width:95px}.booking-heading h1{font-size:38px}.has-journey .booking-step{scroll-margin-top:110px}.visit-journey-top{display:block}.visit-journey-top>p{max-width:none;margin-top:18px}.cedar-rest-feature{gap:35px}.cedar-rest-feature h2{font-size:32px}}
@media(max-width:650px){.visit-journey.section{padding-top:35px}.visit-journey-track{display:block}.visit-journey-track>li{padding:0 0 30px 90px;min-height:125px}.visit-journey-track .journey-stage-icon{position:absolute;left:0;top:0;width:64px;height:64px;margin:0}.journey-stage-icon svg{width:40px;height:40px}.journey-stage-number{width:20px;height:20px;font-size:8px}.visit-journey-track>li:not(:last-child):after{content:'';left:31px;top:70px;bottom:6px;width:0;border-left:1px solid #90743e50;border-bottom:0}.visit-journey-track h3{font-size:21px}.visit-journey-track p{font-size:14px}.journey-stage-place{font-size:9px!important}.visit-journey-foot{display:block;margin-top:0;padding:20px 0}.visit-journey-foot a{margin-top:18px}.cedar-rest-feature{grid-template-columns:1fr;padding:35px 0}.cedar-rest-feature>img{height:260px}.service-choice-group{font-size:18px!important}.step-track{gap:16px}.step-track li{font-size:11px}}

/* Visit builder: one coherent request, using the existing service and journey icons. */
#booking-form .service-choices .choice>span{display:flex;align-items:center;gap:12px;min-width:0}
#booking-form .service-choices .choice-symbol{margin:0;flex:none;display:flex}
#booking-form .service-choices .choice{align-items:center}
#booking-form #selected-service,#visit-additions{display:none!important}
.visit-builder-summary{position:static;width:100%;margin:24px 0 30px;padding:28px;border-radius:22px}
.visit-builder-title{font-size:29px;line-height:1.2;margin:6px 0 10px;font-weight:400}
.visit-builder-summary>.visit-journey-track{margin-top:28px;gap:24px}
.visit-builder-summary .visit-journey-track h3{font-size:18px}
.visit-builder-summary .visit-journey-track p{font-size:13px}
.visit-builder-summary .journey-stage-icon{width:70px;height:70px;margin-bottom:18px}
.visit-builder-summary .journey-stage-icon svg{width:43px;height:43px}
.visit-builder-summary .visit-journey-track>li:not(:last-child):after{top:35px;left:82px;width:calc(100% - 70px)}
.visit-builder-summary .visit-journey-compact .journey-stage-icon{width:46px;height:46px;margin:0}
.visit-builder-summary .visit-journey-compact .journey-stage-icon svg{width:32px;height:32px}
.visit-builder-summary .journey-rest-choice{margin-bottom:0}
.visit-builder-additions{margin:30px 0 36px}
.visit-builder-additions>h3{font-size:25px;margin:0 0 9px;font-weight:400}
.visit-builder-additions>p{font-size:14px;color:#52604c;margin:0 0 20px}
.visit-addition-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.visit-addition{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:13px;padding:20px 17px;border:1px solid #223b2735;border-radius:17px;background:#fffaf2}
.visit-addition h4{font-size:17px;line-height:1.3;font-weight:400;margin:0 0 7px}
.visit-addition p{font-size:13px;line-height:1.5;color:#52604c;margin:0}
.visit-addition .choice-symbol svg{width:30px;height:30px}
.visit-add-button{border:1px solid #223b2765;background:transparent;color:#223b27;border-radius:30px;padding:9px 15px;font:inherit;font-size:13px;min-height:44px;cursor:pointer}
.visit-add-button[aria-pressed=true]{background:#223b27;color:#fffaf2}
.visit-builder-added{border-top:1px solid #223b2730;margin-top:25px;padding-top:23px}
.visit-builder-added>h3{font-size:22px;margin:0 0 8px;font-weight:400}
@media(max-width:800px){.visit-addition-grid{grid-template-columns:1fr}.visit-builder-summary{padding:24px}.visit-addition{padding:17px}}
@media(max-width:650px){.visit-builder-summary .visit-journey-track>li{padding-left:74px}.visit-builder-summary .visit-journey-track .journey-stage-icon{width:54px;height:54px}.visit-builder-summary .visit-journey-track .journey-stage-icon svg{width:35px;height:35px}.visit-builder-summary .visit-journey-track>li:not(:last-child):after{left:27px;top:62px;bottom:8px;width:0}.visit-addition{gap:9px;grid-template-columns:28px minmax(0,1fr) auto}.visit-addition h4{font-size:16px}.visit-add-button{padding:9px 12px}.visit-builder-title{font-size:25px}}

.visit-builder-added .visit-journey-compact{display:flex;gap:24px}
.visit-builder-added .visit-journey-compact>li{flex:1;display:block;padding:0;min-width:0}
.visit-builder-added .visit-journey-compact>li:before{display:none}
.visit-builder-added .visit-journey-compact .journey-stage-icon{margin-bottom:12px}
.visit-builder-added .visit-journey-compact p{display:none}
.visit-builder-timing{font-weight:400;font-size:25px;margin:32px 0 20px}
@media(max-width:480px){.visit-builder-added .visit-journey-compact{display:block}.visit-builder-added .visit-journey-compact>li{display:flex;padding-bottom:16px}.visit-builder-added .visit-journey-compact .journey-stage-icon{margin-bottom:0}.visit-builder-added .visit-journey-compact h3{margin-top:10px}}

/* Returning patients stay in their follow-up request. */
.returning-followup .step-track,.returning-followup #clinical-visit-choice,.returning-followup [data-step="1"] .back-step,.returning-followup .newsletter-band{display:none!important;}
.journey-booking-controls #clinical-visit-choice{display:block;}
.journey-booking-controls #clinical-visit-choice label{display:block;margin:12px 0 8px;}
.journey-booking-controls #clinical-patient{width:100%;min-height:56px;}
