/* Focused scope and planning pathways. */
.services .section-heading>.service-guidance{font-family:soleil,Arial,sans-serif;font-style:italic;font-size:19px;line-height:1.65;color:#4b6268;max-width:360px}
.approach{background:linear-gradient(125deg,#e5ecea,#dce5e5);padding-block:94px}
.approach-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:96px;align-items:start}
.approach-intro{position:sticky;top:140px}
.approach-intro h2{font-size:clamp(35px,3.2vw,46px)}
.approach-intro>p{font-size:17px;line-height:1.75;max-width:340px;margin-top:25px}
.approach-intro .button{margin-top:29px}
.approach-grid{display:grid;grid-template-columns:1fr;gap:14px}
.approach-grid article{background:#f8faf7;border:1px solid #c7d4d3;border-left:3px solid #537985;padding:25px 28px}
.approach-grid h3{font-size:23px;line-height:1.35;color:#243a40}
.approach-grid p{font-size:15px;line-height:1.75;margin-top:11px;max-width:520px}
.starting .section-heading{align-items:start;margin-bottom:37px}
.starting .section-heading>p{max-width:340px;font-size:17px}
.planning-pathways{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}
.plans-feature{background:linear-gradient(135deg,#35545e,#22363f);color:#fff;border:1px solid #425f69;padding:41px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-height:380px}
.plans-feature h3{font-size:clamp(29px,2.6vw,37px);line-height:1.25;letter-spacing:-.035em;max-width:400px}
.plans-feature p{font-size:16px;line-height:1.8;color:#dbe6e8;max-width:460px;margin-top:24px}
.plans-feature .button{align-self:flex-start}
.planning-alternatives{display:grid;grid-template-columns:1fr;gap:16px}
.planning-alternatives article{background:#eeeee7;border:1px solid #d5dcd7;padding:27px 31px}
.planning-alternatives h3{font-size:25px;line-height:1.3}
.planning-alternatives p{font-size:15px;line-height:1.75;max-width:490px;margin-top:12px}
.planning-alternatives .text-link{margin-top:15px;font-weight:700}
.planning-note{grid-template-columns:.8fr 1.2fr;gap:55px;background:transparent;border-top:1px solid #c8d1cd;margin-top:33px;padding-top:27px}
.planning-note h3{font-size:21px;line-height:1.45;max-width:270px}
.planning-note p{font-size:14px;line-height:1.8;max-width:690px}
@media(max-width:1100px){.approach-layout{gap:50px}.plans-feature{padding:32px}.planning-alternatives article{padding:25px}.planning-note{gap:35px}}
@media(max-width:760px){.services .section-heading>.service-guidance{font-size:18px;max-width:350px}.approach{padding-block:62px}.approach-layout{grid-template-columns:1fr;gap:30px}.approach-intro{position:static}.approach-intro h2{font-size:33px}.approach-intro>p{font-size:16px;margin-top:20px}.approach-intro .button{margin-top:23px}.approach-grid{gap:12px}.approach-grid article{padding:23px}.approach-grid h3{font-size:22px}.approach-grid p{font-size:15px;margin-top:11px}.starting .section-heading>p{font-size:16px;margin-top:19px}.planning-pathways{grid-template-columns:1fr;gap:16px}.plans-feature{padding:29px 25px;min-height:0;gap:26px}.plans-feature h3{font-size:30px}.plans-feature p{font-size:15px;margin-top:20px}.plans-feature .button{width:100%}.planning-alternatives{gap:14px}.planning-alternatives article{padding:25px}.planning-alternatives h3{font-size:23px}.planning-note{grid-template-columns:1fr;gap:12px;margin-top:26px;padding-top:23px}.planning-note h3{font-size:20px;max-width:290px}.planning-note p{font-size:14px}}

/* A single connected, user-controlled journey. */
.planning-journey{--journey-progress:0;border:1px solid #c4d0ce;background:#edf0eb}
.journey-rail{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));isolation:isolate;padding:29px 24px 25px}
.journey-track{position:absolute;top:49px;left:calc(24px + (100% - 48px)/8);right:calc(24px + (100% - 48px)/8);height:2px;background:#b8c7c8;z-index:-1;overflow:hidden}
.journey-track i{display:block;width:100%;height:100%;background:#2d6379;transform:scaleX(var(--journey-progress));transform-origin:left;transition:transform .5s cubic-bezier(.2,.65,.3,1)}
.journey-rail button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:16px;color:#5b6d71;padding:0 8px;font:400 16px/1.4 soleil,Arial,sans-serif;min-height:76px}
.journey-dot{display:block;width:40px;height:40px;border:1px solid #a1b5bb;border-radius:50%;background:#edf0eb;position:relative;transition:background .3s,border-color .3s,box-shadow .3s}
.journey-dot:after{content:'';position:absolute;inset:13px;border:1px solid #90a7af;border-radius:50%;background:#d1dedd}
.journey-rail button[aria-selected=true]{color:#203e49;font-weight:700}
.journey-rail button[aria-selected=true] .journey-dot{border-color:#2d6379;background:#2d6379;box-shadow:0 0 0 5px #2d637912}
.journey-rail button[aria-selected=true] .journey-dot:after,.journey-rail button.is-past .journey-dot:after{border-color:#d1eaf3;background:#d1eaf3}
.journey-rail button.is-past .journey-dot{background:#527a88;border-color:#527a88}
.journey-rail button:hover{color:#203e49}
.journey-rail button:focus-visible{outline:2px solid #2d6379;outline-offset:5px}
.journey-content{background:linear-gradient(125deg,#344f5a,#22343d);color:#f5f8f6;padding:42px 44px 22px}
.journey-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;min-height:265px;animation:journey-in .25s ease both}
.journey-explanation h3{font-size:clamp(28px,2.7vw,37px);line-height:1.25;letter-spacing:-.035em;max-width:450px}
.journey-explanation p{font-size:16px;line-height:1.8;color:#d4e0e4;max-width:490px;margin-top:19px}
.journey-explanation .button{margin-top:26px}
.journey-preparation{border-left:1px solid #93b0bc49;padding-left:35px;padding-top:5px}
.journey-preparation h4{font:400 18px/1.4 soleil,Arial,sans-serif;margin:0 0 20px;color:#f1f5f4}
.journey-preparation ul{list-style:none;margin:0;padding:0}
.journey-preparation li{position:relative;border-top:1px solid #92adb72b;padding:13px 0 13px 25px;font-size:15px;line-height:1.6;color:#d4e0e4}
.journey-preparation li:before{content:'✓';position:absolute;left:0;color:#bce2f0;font-size:15px}
.journey-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #93b0bc3b;margin-top:29px;padding-top:19px}
.journey-controls button{border:0;border-bottom:1px solid #9db8c1;background:none;color:#dbeaf0;font:400 14px/1.5 soleil,Arial,sans-serif;padding:4px 0;min-height:36px;text-align:left}
.journey-controls button:last-child{text-align:right}
.journey-controls button:disabled{color:#9cadb4;border-color:transparent;cursor:default}
.journey-controls>span{color:#bdd0d8;font-size:12px;white-space:nowrap}
@keyframes journey-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.journey-panel{gap:35px;min-height:300px}.journey-content{padding:35px 30px 20px}.journey-preparation{padding-left:25px}}
@media(max-width:760px){.journey-rail{padding:23px 8px 20px}.journey-rail button{font-size:12px;gap:14px;padding:0 4px;min-height:71px}.journey-dot{width:30px;height:30px}.journey-dot:after{inset:10px}.journey-track{top:37px;left:calc(8px + (100% - 16px)/8);right:calc(8px + (100% - 16px)/8)}.journey-content{padding:28px 23px 17px}.journey-panel{grid-template-columns:1fr;gap:28px;min-height:0}.journey-explanation h3{font-size:29px}.journey-explanation p{font-size:15px;margin-top:17px}.journey-explanation .button{width:100%;margin-top:24px}.journey-preparation{border-left:0;border-top:1px solid #93b0bc49;padding:24px 0 0}.journey-preparation h4{font-size:17px;margin-bottom:15px}.journey-preparation li{font-size:14px;padding-block:11px}.journey-controls{gap:10px;margin-top:25px}.journey-controls button{font-size:12px;max-width:135px}.journey-controls>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.journey-track i,.journey-dot{transition:none}.journey-panel{animation:none}}

/* The stage selector is the only navigation; keep the content panel uncluttered. */
.journey-content{padding-bottom:42px}.journey-panel{min-height:0}.journey-rail button{cursor:pointer}.journey-rail button:hover .journey-dot{border-color:#2d6379;box-shadow:0 0 0 4px #2d637910}
@media(max-width:1100px){.journey-content{padding-bottom:35px}.journey-panel{min-height:0}}
@media(max-width:760px){.journey-content{padding-bottom:28px}}

/* Discreet autoplay control, alongside useful, properly attributed reviews. */
.journey-playback{display:flex;justify-content:flex-end;padding:13px 23px 0;min-height:39px}
.journey-playback button{background:transparent;border:0;border-bottom:1px solid #93a9b1;padding:2px 0;color:#36545f;font:400 12px/1.5 soleil,Arial,sans-serif;min-height:26px}
.journey-rail{padding-top:18px}.journey-track{top:38px}
.detailed-reviews article{padding:29px 0 32px}
.detailed-reviews h3{font-size:24px;line-height:1.35;margin-bottom:17px}
.detailed-reviews article>p:not(.review-author){font-size:15px;font-weight:400;line-height:1.8;color:#656d68;max-width:530px}
.detailed-reviews blockquote{font-size:24px;line-height:1.5;margin:23px 0 22px}
.detailed-reviews .review-author{font-size:14px;font-weight:700;color:#36545f}
@media(max-width:760px){.journey-playback{padding:9px 16px 0;min-height:35px}.journey-track{top:32px}.journey-rail{padding-top:18px}.journey-playback button{font-size:11px}.detailed-reviews h3{font-size:23px}.detailed-reviews blockquote{font-size:23px}}

/* Reserve the tallest stage so automatic changes do not shift the page. */
.journey-content{display:grid;grid-template-columns:minmax(0,1fr)}
.journey-panel{grid-area:1/1}
.journey-panel[hidden]{display:grid!important;visibility:hidden;pointer-events:none;animation:none}

/* No visible playback control; the stage selector remains the interaction. */
.journey-rail{padding-top:29px}.journey-track{top:49px}
@media(max-width:760px){.journey-rail{padding-top:23px}.journey-track{top:37px}}
