/* One continuous care journey, with quiet motion and concise, concrete steps. */
.home-redesign .care-journey { --journey-muted:#70677d; --journey-line:#d8cfe3; --journey-canvas-height:370px; --journey-canvas-padding:34px 48px 40px; --journey-card-width:520px; --journey-card-height:296px; --journey-card-radius:20px; padding-block:56px; }
.care-journey .care-journey-heading { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:80px; margin-bottom:22px; }
.care-journey .care-journey-heading .home-eyebrow { margin-bottom:12px; }
.home-redesign .care-journey-heading h2 { font-size:clamp(42px,4.6vw,62px); line-height:1.04; }
.care-journey .care-journey-heading > div:last-child { max-width:350px; justify-self:end; padding-bottom:4px; }
.care-journey .care-journey-heading p:not(.home-eyebrow) { font-size:16px; line-height:1.65; color:var(--home-muted); }
.care-journey .care-journey-assurance { display:inline-flex; align-items:center; gap:7px; margin-top:12px; color:#5d556c; font-size:13px; line-height:1.4; }
.care-journey .care-journey-assurance > svg { flex:0 0 16px; width:16px; height:16px; stroke-width:1.7; }
.care-journey .care-journey-experience { position:relative; isolation:isolate; overflow:hidden; border-radius:28px; background:linear-gradient(115deg,#f2ecec 0%,#f2edf4 48%,#e5e0f0 100%); }
.care-journey .care-journey-experience::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; background:radial-gradient(ellipse at 52% 35%,#fffaf8d4,transparent 65%); }
.care-journey .care-journey-rail { position:relative; padding:20px 30px 0; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.care-journey .care-journey-rail::-webkit-scrollbar { display:none; }
.care-journey .care-journey-navigation { position:relative; display:flex; justify-content:space-between; align-items:center; gap:18px; min-width:690px; isolation:isolate; }
.care-journey .care-journey-navigation::before,.care-journey .care-journey-navigation::after { content:""; position:absolute; z-index:-1; top:50%; left:65px; right:65px; height:1px; background:#c8bdd5; }
.care-journey .care-journey-navigation::after { background:#7c6997; transform:scaleX(var(--journey-progress)); transform-origin:left; transition:transform .42s ease; }
.care-journey .care-journey-navigation > button { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:13px 18px; border:1px solid #e7deeb; border-radius:50px; background:#f7f3f8; color:#776982; white-space:nowrap; font-size:12px; font-weight:500; line-height:1.4; cursor:pointer; transition:background .3s,color .3s,box-shadow .3s; }
.care-journey .care-journey-navigation > button svg { width:17px; height:17px; flex:0 0 17px; stroke-width:1.65; }
.care-journey .care-journey-navigation > button:hover { background:#fffdfd; color:#312f57; }
.care-journey .care-journey-navigation > button.is-visited { color:#64527d; border-color:#c4b6d5; }
.care-journey .care-journey-navigation > button[aria-selected="true"] { background:#312f57; border-color:#312f57; color:#fff; box-shadow:0 5px 16px #312f5720; }
.care-journey .care-journey-step-progress { position:absolute; bottom:0; left:0; width:100%; height:3px; background:#cbb8e3; transform:scaleX(var(--elapsed)); transform-origin:left; animation:rebu-step-progress var(--remaining) linear forwards; }
.care-journey .care-journey-stage-wrap { position:relative; isolation:isolate; display:grid; }
.care-journey .care-journey-panel { position:relative; z-index:1; grid-area:1 / 1; min-width:0; }
.care-journey .care-journey-panel[hidden] { display:none; }
.care-journey .care-journey-panel.is-current { z-index:2; }
/* The frame stays put; scene and narrative dissolve independently. */
.care-journey .care-journey-stage-wrap[data-transitioning="true"] .is-current .care-scene-composition { animation:rebu-scene-enter .46s cubic-bezier(.22,.65,.3,1) both; }
.care-journey .care-journey-panel.is-leaving { pointer-events:none; }
.care-journey .is-leaving .care-scene-composition { animation:rebu-scene-leave .42s cubic-bezier(.22,.65,.3,1) both; }
.care-journey .care-journey-stage-wrap[data-transitioning="true"] .is-current .care-journey-story { animation:rebu-story-enter .4s .04s cubic-bezier(.22,.65,.3,1) both; }
.care-journey .is-leaving .care-journey-story { animation:rebu-content-leave .2s ease both; }
.care-journey .care-journey-stage-wrap[data-transitioning="true"] .is-current .care-scene-context { animation:rebu-content-enter .3s .06s ease both; }
.care-journey .is-leaving .care-scene-context { animation:rebu-content-leave .18s ease both; }
.care-journey .care-journey-panel:focus-visible { outline:2px solid #8264b9; outline-offset:-5px; }
.care-journey .care-journey-navigation > button:focus-visible { outline:2px solid #c7b2dd; outline-offset:-5px; }
.care-journey .care-journey-canvas { position:relative; display:grid; place-items:center; min-width:0; height:var(--journey-canvas-height); padding:var(--journey-canvas-padding); }
.care-journey .care-scene-context { position:absolute; left:32px; top:10px; display:flex; align-items:center; gap:7px; font-size:11px; color:#786b86; line-height:1.5; }
.care-journey .care-scene-context > span { width:5px; height:5px; flex:0 0 5px; border-radius:50%; background:#9684aa; }
.care-journey .care-scene-route { position:absolute; z-index:0; top:0; left:0; width:100%; height:var(--journey-canvas-height); overflow:visible; fill:none; stroke-width:1.2; pointer-events:none; }
.care-journey .care-scene-route-track { stroke:#cfc2dd; stroke-dasharray:4 5; }
.care-journey .care-scene-route-ink { stroke:#a18abb; stroke-width:1.7; stroke-linecap:round; stroke-dasharray:.2 .8; stroke-dashoffset:.2; animation:rebu-flow-line 7s linear infinite; }
.care-journey .care-scene-backdrop { position:absolute; inset:0 0 auto; z-index:0; display:grid; place-items:center; height:var(--journey-canvas-height); padding:var(--journey-canvas-padding); pointer-events:none; }
.care-journey .care-scene-backdrop > div { width:min(100%,var(--journey-card-width)); height:var(--journey-card-height); border-radius:var(--journey-card-radius); background:#fffdfb; box-shadow:0 18px 44px -20px #47355838,0 2px 5px #47355804; }
.care-journey .care-scene-composition { --accessory-width:188px; --accessory-height:200px; --accessory-overhang-x:24px; --accessory-overhang-y:24px; position:relative; width:min(100%,var(--journey-card-width)); }
.care-journey .care-composition-intake { --accessory-width:206px; --accessory-height:144px; }
.care-journey .care-composition-visit { --accessory-width:148px; --accessory-height:176px; }
.care-journey .care-scene-main { position:relative; width:100%; height:var(--journey-card-height); overflow:auto; overscroll-behavior:contain; border:1px solid #fff; border-radius:var(--journey-card-radius); background:#fffdfb; }
/* One shared header anchors every logo and title to the same coordinates. */
.care-journey .care-scene-header { padding:24px 30px 14px; }
.care-journey .care-scene-brand { display:flex; align-items:center; height:28px; }
.care-journey .care-scene-brand img { display:block; width:95px; height:28px; flex:0 0 95px; object-fit:contain; }
.care-journey .care-scene-brand.is-light img { filter:brightness(0) invert(1); }
.care-journey .care-scene-header h4 { min-height:1.2em; margin:18px 0 0; font-size:25px; font-style:normal; font-weight:540; line-height:1.2; letter-spacing:-.03em; color:#393157; text-wrap:pretty; }
.care-journey .care-scene-body { padding:10px calc(var(--accessory-width) - var(--accessory-overhang-x) + 24px) 24px 30px; }
.care-journey .care-scene-body .care-scene-explanation { margin:0; color:#71627f; font-size:14px; line-height:1.6; text-wrap:pretty; }
/* Accessories are siblings of the clipped card, so they can cross its edge cleanly. */
.care-journey .care-scene-accessory { position:absolute; z-index:2; right:calc(-1 * var(--accessory-overhang-x)); bottom:calc(-1 * var(--accessory-overhang-y)); width:var(--accessory-width); height:var(--accessory-height); }
.care-journey .care-scene-accessory > div { width:100%; height:100%; overflow:auto; overscroll-behavior:contain; box-shadow:0 14px 28px -14px #4b365f48,0 3px 8px #4b365f09; }
.care-journey .care-scene-visit { background:#39335b; border-color:#39335b; color:#fff; }
.care-journey .care-scene-visit .care-scene-header h4,.care-journey .care-scene-support .care-scene-header h4 { color:#fff; }
.care-journey .care-scene-visit .care-scene-explanation { color:#e1d7eb; }
.care-journey .care-scene-video-label { display:flex; align-items:center; gap:9px; margin-top:16px; color:#d5c9e2; font-size:12px; line-height:1.5; }
.care-journey .care-scene-video-label svg { width:17px; height:17px; flex:0 0 17px; color:#c8b4df; stroke-width:1.6; }
.care-journey .care-scene-visit-portrait { position:relative; overflow:hidden!important; border-radius:14px; background:#d8cfc4; }
.care-journey .care-scene-visit-portrait > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 30%; }
.care-journey .care-scene-plan { background:linear-gradient(140deg,#fffdfb,#f7f2fb); }
.care-journey .care-scene-plan .care-scene-body { padding-right:30px; }
.care-journey .care-scene-plan-points { display:grid; margin-top:18px; }
.care-journey .care-scene-plan-points > span { display:flex; align-items:center; gap:10px; min-height:40px; padding:9px 0; border-top:1px solid #e3dbe9; color:#655674; font-size:13px; line-height:1.5; }
.care-journey .care-scene-plan-points svg { width:18px; height:18px; flex:0 0 18px; color:#967aaf; stroke-width:1.6; }
.care-journey .care-scene-support .care-scene-header { background:#39335b; }
.care-journey .care-scene-checklist { padding:16px; border:1px solid #e1d6e8; border-radius:14px; background:linear-gradient(140deg,#fcf9fd,#f2edf6); }
.care-journey .care-scene-checklist > p { margin:0 0 12px; color:#514365; font-size:12px; font-weight:600; line-height:1.4; }
.care-journey .care-scene-checklist ul { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.care-journey .care-scene-checklist li { display:flex; align-items:center; gap:9px; color:#655674; font-size:12px; line-height:1.4; }
.care-journey .care-scene-checkbox { display:grid; place-items:center; flex:0 0 18px; width:18px; height:18px; border:1px solid #88729f; border-radius:5px; background:#88729f; }
.care-journey .care-scene-checkbox svg { width:13px; height:13px; color:#fff; stroke-width:2; }
.care-journey .care-scene-phone { display:flex; flex-direction:column; padding:9px 10px 8px; border:2px solid #d8cfdf; border-radius:22px; background:linear-gradient(155deg,#fffdfb,#f4eef8); }
.care-journey .care-scene-phone > * { flex-shrink:0; }
.care-journey .care-scene-phone-speaker { width:28px; height:3px; margin:0 auto 8px; border-radius:3px; background:#b8a9c5; }
.care-journey .care-scene-phone-sender { display:flex; align-items:center; height:18px; margin:0 0 9px 3px; }
.care-journey .care-scene-phone-sender img { display:block; width:60px; height:18px; object-fit:contain; }
.care-journey .care-scene-messages { display:flex; flex-direction:column; gap:8px; }
.care-journey .care-scene-message { width:fit-content; max-width:100%; margin:0; padding:8px 9px; align-self:flex-end; border-radius:11px 11px 3px 11px; background:#797092; color:#fff; font-size:12px; line-height:1.4; text-wrap:pretty; }
.care-journey .care-scene-message.is-patient { align-self:flex-start; border-radius:11px 11px 11px 3px; color:#4e3f62; background:#e8dfef; }
.care-journey .care-scene-phone-home { width:34px; height:3px; margin:auto auto 0; border-radius:3px; background:#c9bdd3; }
.care-journey [data-scene-motion="true"] .is-current .care-scene-message { animation:rebu-message-arrive .45s var(--detail-delay) cubic-bezier(.22,.65,.3,1) both; }
.care-journey [data-scene-motion="true"] .is-current .care-scene-checkbox { animation:rebu-check-fill .3s var(--detail-delay) ease both; }
.care-journey [data-scene-motion="true"] .is-current .care-scene-checkbox svg { animation:rebu-check-appear .3s var(--detail-delay) ease both; }
/* Fixed narrative space keeps the page steady while the scenes flow. */
.care-journey .care-journey-story { padding:8px 36px 10px; min-height:100px; }
.home-redesign .care-journey-story h3 { max-width:540px; font-size:clamp(28px,2.75vw,36px); font-weight:440; line-height:1.14; letter-spacing:-.045em; text-wrap:pretty; }
.care-journey .care-journey-story h3 > span { display:block; }
.care-journey .care-journey-story h3 > span:last-child { color:#8b789a; }
.care-journey .care-journey-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:4px 2px 0; }
.care-journey .care-journey-footnote { max-width:660px; color:#81778a; font-size:10px; line-height:1.7; }
.care-journey .care-journey-bottom > a { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; min-height:44px; color:#514365; font-size:11px; line-height:1.5; }
.care-journey .care-journey-bottom > a svg { width:15px; height:15px; flex:0 0 15px; }
.care-journey .care-journey-bottom > a:hover { text-decoration:underline; text-underline-offset:4px; }
.care-journey .care-journey-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@keyframes rebu-step-progress { from { transform:scaleX(var(--elapsed)); } to { transform:scaleX(1); } }
@keyframes rebu-flow-line { from { stroke-dashoffset:.2; } to { stroke-dashoffset:-.8; } }
@keyframes rebu-scene-enter { from { opacity:0; } to { opacity:1; } }
@keyframes rebu-scene-leave { from { opacity:1; } 35% { opacity:.85; } to { opacity:0; } }
@keyframes rebu-story-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes rebu-content-enter { from { opacity:0; } to { opacity:1; } }
@keyframes rebu-content-leave { from { opacity:1; } to { opacity:0; } }
@keyframes rebu-message-arrive { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes rebu-check-fill { from { background:transparent; border-color:#c5b8d2; } to { background:#88729f; border-color:#88729f; } }
@keyframes rebu-check-appear { from { opacity:0; transform:scale(.65); } to { opacity:1; transform:scale(1); } }
@media(max-width:1050px) {
  .care-journey .care-journey-heading { gap:35px; }
  .care-journey .care-journey-rail { padding-inline:24px; }
  .care-journey .care-journey-navigation { gap:12px; }
  .care-journey .care-journey-navigation > button { padding:12px 14px; }
  .care-journey .care-journey-story { padding-inline:35px; }
}
@media(max-width:800px) {
  .home-redesign .care-journey { --journey-canvas-padding:34px 40px 40px; padding-block:44px; }
  .care-journey .care-journey-heading { grid-template-columns:1fr; gap:12px; }
  .care-journey .care-journey-heading > div:last-child { max-width:470px; justify-self:start; }
  .care-journey .care-journey-experience { border-radius:22px; }
  .care-journey .care-journey-rail { padding:16px 22px 0; }
  .care-journey .care-journey-navigation { min-width:665px; gap:20px; }
  .care-journey .care-scene-context { left:27px; top:10px; }
  .care-journey .care-journey-story { min-height:100px; padding:8px 28px 14px; }
  .home-redesign .care-journey-story h3 { font-size:32px; }
  .care-journey .care-journey-bottom { align-items:flex-start; flex-direction:column; gap:2px; padding-top:8px; }
}
@media(max-width:650px) {
  .home-redesign .care-journey { --journey-card-height:310px; --journey-canvas-height:calc(var(--journey-card-height) + 64px); --journey-canvas-padding:30px 24px 34px; --journey-card-radius:16px; }
  .care-journey .care-scene-composition { --accessory-width:190px; --accessory-height:128px; --accessory-overhang-x:8px; --accessory-overhang-y:24px; }
  .care-journey .care-composition-intake { --accessory-width:188px; --accessory-height:128px; }
  .care-journey .care-composition-visit { --accessory-width:96px; --accessory-height:110px; }
  /* Keep the logo/title anchors fixed without reserving an empty title line. */
  .care-journey .care-scene-header { padding:18px 20px 8px; }
  .care-journey .care-scene-header h4 { min-height:0; margin-top:12px; font-size:23px; }
  .care-journey .care-scene-body { padding:4px 20px 0; margin-bottom:0; }
  .care-journey .care-scene-body .care-scene-explanation { font-size:13px; line-height:1.6; }
  .care-journey .care-scene-support .care-scene-body { padding-top:12px; }
  .care-journey .care-scene-video-label { margin-top:12px; gap:7px; font-size:11px; }
  .care-journey .care-scene-video-label svg { width:16px; height:16px; flex-basis:16px; }
  .care-journey .care-scene-plan .care-scene-body { padding-right:20px; padding-bottom:18px; }
  .care-journey .care-scene-plan-points { margin-top:12px; }
  .care-journey .care-scene-plan-points > span { gap:8px; font-size:12px; }
  .care-journey .care-scene-checklist { padding:12px 14px; }
  .care-journey .care-scene-checklist > p { margin-bottom:9px; }
  .care-journey .care-scene-checklist ul { gap:9px; }
  .care-journey .care-scene-checklist li { font-size:11.5px; }
  .care-journey .care-scene-phone { padding:6px 8px; border-radius:18px; }
  .care-journey .care-scene-phone-speaker { height:2px; margin-bottom:5px; }
  .care-journey .care-scene-phone-sender { height:14px; margin-bottom:6px; }
  .care-journey .care-scene-phone-sender img { width:46px; height:14px; }
  .care-journey .care-scene-messages { gap:5px; }
  .care-journey .care-scene-message { padding:5px 7px; font-size:11px; line-height:1.3; }
  .care-journey .care-scene-phone-home { height:2px; }
}
@media(max-width:500px) {
  .home-redesign .care-journey { --journey-canvas-padding:30px 17px 34px; padding-block:36px; }
  .home-redesign .care-journey-heading h2 { font-size:clamp(38px,10vw,48px); }
  .care-journey .care-journey-heading { margin-bottom:18px; }
  .care-journey .care-journey-heading p:not(.home-eyebrow) { font-size:15px; }
  .care-journey .care-journey-experience { border-radius:20px; }
  .care-journey .care-journey-rail { padding:14px 17px 0; }
  .care-journey .care-journey-navigation { min-width:650px; gap:19px; }
  .care-journey .care-scene-context { top:8px; left:20px; right:20px; font-size:10px; }
  .care-journey .care-scene-route { opacity:.6; }
  .care-journey .care-journey-story { min-height:100px; padding:8px 22px 12px; }
  .home-redesign .care-journey-story h3 { font-size:clamp(27px,7.4vw,32px); }
}
@media(max-width:360px) {
  .home-redesign .care-journey { --journey-card-height:330px; }
  .care-journey .care-scene-header h4 { font-size:21px; }
  .care-journey .care-journey-story { min-height:120px; }
}
@media(prefers-reduced-motion:reduce) {
  .care-journey *, .care-journey *::before, .care-journey *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .care-journey .care-journey-panel.is-leaving { opacity:0; }
}
