.process.process-flow{position:relative;background:#f6f8fb;padding:32px 0;overflow:visible}
.process-flow>.wrap{position:sticky;top:var(--process-top,110px)}
.process-flow .process-heading-row{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;align-items:center}
.process-flow .eyebrow{margin-bottom:14px}
.process-flow h2{font-size:32px;line-height:1.4;letter-spacing:-.04em}
.process-flow ol{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:0;list-style:none}
.process-flow ol:before{content:'';position:absolute;top:27px;left:12.5%;right:12.5%;height:2px;background:#b8ccec}
.process-flow li{position:relative;padding:0;border:0;text-align:center;min-width:0}
.process-flow li:after{display:none!important}
.process-flow .process-step{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:6px 0;border:0;background:none;color:#42536a;font:inherit;cursor:pointer}
.process-flow .process-circle{position:relative;display:grid;place-items:center;width:44px;height:44px;background:#2267e8;color:#fff;border-radius:50%;font-size:17px;font-weight:700;box-shadow:0 0 0 7px #f6f8fb}
.process-flow .process-step-icon{display:none;align-items:center;justify-content:center}
.process-flow .process-step-icon svg{width:23px;height:23px;stroke-width:1.7}
.process-flow .is-active .process-number{display:none}
.process-flow .is-active .process-step-icon{display:flex}
.process-flow .is-active .process-circle{background:#164eaf;box-shadow:0 0 0 7px #e1ebff}
.process-flow .process-step-title{font-size:18px;line-height:1.4;font-weight:600;word-break:keep-all}
.process-flow .is-active .process-step-title{color:#175bc7}
.process-flow .process-step:focus-visible{outline:2px solid #2267e8;outline-offset:5px;border-radius:10px}
.process-flow .process-detail{margin-top:28px;min-height:156px;border:1px solid #d8e4f5;border-radius:16px;background:#fff;padding:26px 32px;box-shadow:0 8px 24px #17488008;opacity:0;transition:opacity .18s}
.process-flow .process-detail.has-detail{opacity:1}
.process-flow .process-detail article[hidden]{display:none}
.process-flow .process-detail h3{font-size:24px;margin:0;color:#175bc7;line-height:1.4}
.process-flow .process-detail p{margin:10px 0 0;font-size:18px;line-height:1.5;color:#61748a}
@media(max-width:900px){.process-flow .process-heading-row{grid-template-columns:1fr;gap:24px}.process-flow h2{font-size:27px}.process-flow ol{gap:8px}.process-flow .process-step-title{font-size:14px}.process-flow .process-circle{width:40px;height:40px;font-size:15px}.process-flow ol:before{top:25px}.process-flow .process-step{gap:10px}.process-flow .process-detail{margin-top:20px;padding:20px;min-height:132px}.process-flow .process-detail h3{font-size:21px}.process-flow .process-detail p{font-size:16px}.process.process-flow{padding:28px 0}.process-flow .eyebrow{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.process-flow .process-detail{transition:none}}

/* Active circles invert to white; step details include illustrative photography. */
.process-flow .is-active .process-circle{background:#fff;color:#2267e8;border:1px solid #cbdcff;box-shadow:0 0 0 7px #e1ebff}
.process-flow .process-detail{padding:20px;min-height:210px}
.process-flow .process-detail article:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,42%);gap:24px;align-items:center}
.process-flow .process-detail img{display:block;width:100%;height:168px;object-fit:cover;border-radius:10px}
@media(max-width:900px){.process-flow .process-detail{padding:16px;min-height:252px}.process-flow .process-detail article:not([hidden]){grid-template-columns:minmax(0,1fr);gap:12px}.process-flow .process-detail img{height:132px}.process-flow .process-detail p{margin-top:8px}}

/* Preserve whole photographs and give the expanded descriptions room to breathe. */
.process-flow .process-detail article:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(240px,38%);gap:32px}
.process-flow .process-detail img{height:260px;object-fit:contain!important;object-position:center!important;background:#f2f5f9}
.process-flow .process-detail p{max-width:680px;line-height:1.65;word-break:keep-all}
@media(max-width:900px){.process-flow .process-detail article:not([hidden]){grid-template-columns:minmax(0,1fr);gap:14px}.process-flow .process-detail img{height:clamp(130px,22svh,190px)}.process-flow .process-detail p{font-size:16px;line-height:1.55}}
@media(max-width:360px){.process-flow .process-detail p{font-size:15px}.process-flow .process-heading-row{gap:18px}.process-flow h2{font-size:25px}}

/* Landscape photos fill their frames without letterboxing. */
.process-flow .process-detail img{height:auto;aspect-ratio:3 / 2;max-height:300px;object-fit:cover!important;object-position:center!important;background:transparent}
@media(min-width:601px) and (max-width:900px){.process-flow .process-detail article:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}}
@media(max-width:600px){.process-flow .process-detail img{height:auto;max-height:none;aspect-ratio:16 / 9}}

/* Six stages aligned with the business page process. */
.process-flow .process-heading-row{grid-template-columns:.75fr 1.6fr;gap:36px}
.process-flow .process-track{min-width:0;overflow-x:auto;padding:8px 5px;scrollbar-width:thin}
.process-flow ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.process-flow ol:before{left:8.33%;right:8.33%}
.process-flow .process-step-title{font-size:16px}
.process-flow .process-detail article:not([hidden]){align-items:stretch}
.process-flow .process-detail-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.process-flow .process-detail h3{align-self:flex-start}
.process-flow .process-detail p{margin-top:10px;margin-bottom:16px}
.process-flow .process-more{display:grid;place-items:center;align-self:flex-end;margin-top:auto;width:40px;height:40px;flex:none;border:1px solid #b8cfee;border-radius:50%;background:#fff;color:#2267e8;text-decoration:none}
.process-flow .process-more:hover{background:#2267e8;color:#fff}
.process-flow .process-more:focus-visible{outline:2px solid #2267e8;outline-offset:3px}
.process-flow .process-more svg{width:21px;height:21px}
@media(max-width:1100px){.process-flow .process-heading-row{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.process-flow ol{min-width:540px}.process-flow .process-step-title{font-size:13px}.process-flow .process-track{padding-bottom:6px}.process-flow .process-detail p{font-size:15px;line-height:1.5;margin-bottom:10px}.process-flow .process-detail img{height:120px;aspect-ratio:auto}.process-flow .process-more{width:34px;height:34px}.process-flow .process-heading-row{gap:12px}.process-flow .process-detail{margin-top:14px}}

@media(max-width:600px) and (max-height:740px){.process-flow h2{font-size:23px;line-height:1.35}.process-flow .eyebrow{margin-bottom:6px}.process-flow .process-heading-row{gap:8px}.process-flow .process-detail{margin-top:10px;padding:14px}.process-flow .process-detail img{height:100px}.process-flow .process-detail p{line-height:1.45;margin-top:6px;margin-bottom:8px}.process-flow .process-more{width:32px;height:32px}}

.process-flow .process-more{border:0;border-radius:0;background:transparent}
.process-flow .process-more:hover{background:transparent;color:#164eaf}

/* Quiet scroll guidance, synchronized with the research stages. */
.process-flow .process-scroll-cue{display:flex;align-items:center;justify-content:center;gap:14px;width:fit-content;max-width:100%;margin:26px auto 0;padding:10px 14px 10px 20px;border:1px solid #dce5f0;border-radius:40px;background:#ffffff80;color:#63758c;font:inherit;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;}
.process-flow .process-cue-progress{display:block;width:48px;height:2px;background:#dce5f0;overflow:hidden;border-radius:4px}
.process-flow .process-cue-progress>span{display:block;width:var(--cue-progress,16.667%);height:100%;background:#2267e8;transition:width .35s ease}
.process-flow .process-cue-label{font-weight:500;letter-spacing:-.02em}
.process-flow .process-cue-count{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#8998ac}
.process-flow .process-cue-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9f0fc;color:#2267e8;transition:background .2s,color .2s}
.process-flow .process-cue-arrow svg{width:17px;height:17px;animation:process-cue-drift 2.8s ease-in-out infinite}
.process-flow .process-scroll-cue:hover{background:#fff;border-color:#b8cfee;box-shadow:0 4px 18px #1748800a}
.process-flow .process-scroll-cue:hover .process-cue-arrow{background:#2267e8;color:#fff}
.process-flow .process-scroll-cue:focus-visible{outline:2px solid #2267e8;outline-offset:4px}
@keyframes process-cue-drift{0%,65%,100%{transform:translateY(-2px)}35%{transform:translateY(2px)}}
@media(max-width:600px){.process-flow .process-scroll-cue{margin-top:16px;padding:6px 10px 6px 14px;gap:10px;font-size:12px}.process-flow .process-cue-progress{width:24px}.process-flow .process-cue-arrow{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.process-flow .process-cue-arrow svg{animation:none}.process-flow .process-scroll-cue,.process-flow .process-cue-progress>span,.process-flow .process-cue-arrow{transition:none}}
.process.process-flow{overflow-anchor:none}
@media(min-width:901px) and (max-height:800px){.process-flow .process-detail img{max-height:240px}.process-flow .process-scroll-cue{margin-top:18px}}
