/* Homepage process infographic: alternating labels around a single horizontal process line. */
.process-showcase{position:relative;overflow:hidden;padding:76px 0 88px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.process-showcase::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(6,63,143,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(6,63,143,.03) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.process-showcase>.container{position:relative;z-index:1;max-width:1480px}
.process-showcase-heading{max-width:820px;margin:0 auto 54px;text-align:center}
.process-showcase-heading h2{margin:0 0 12px;color:#063f8f;font-size:clamp(3rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em}
.process-showcase-heading p{max-width:760px;margin:0 auto;color:#5b6673;font-size:1.02rem;line-height:1.65}
.process-diagram-scroll{overflow-x:auto;padding:0 0 12px;scrollbar-width:thin;scrollbar-color:#b8c4d1 transparent}
.process-diagram{--node:clamp(106px,8.5vw,128px);--diamond-reach:clamp(75px,6.05vw,91px);--label-height:42px;--label-gap:40px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;width:100%;min-width:1100px;margin:0;padding:0;list-style:none}
.process-step{position:relative;display:grid;grid-template-rows:var(--label-height) var(--label-gap) var(--node) var(--label-gap) var(--label-height);justify-items:center;min-width:0;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
.process-label{position:relative;z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:94px;height:var(--label-height);padding:0 18px;border:2px solid #cddbea;border-radius:999px;background:#fff;color:#063f8f;font-size:.78rem;font-weight:900;line-height:1;letter-spacing:.03em;white-space:nowrap;box-shadow:0 8px 18px rgba(6,26,56,.08)}
.process-step--top .process-label{grid-row:1}
.process-step--bottom .process-label{grid-row:5}
.process-step::before,.process-step::after{content:"";position:absolute;left:50%;width:1px;height:var(--label-gap);transform:translateX(-50%);background:#8aa8c5;box-shadow:none;z-index:1}
.process-step--top::before{top:var(--label-height)}
.process-step--top::after{display:none}
.process-step--bottom::before{display:none}
.process-step--bottom::after{top:calc(var(--label-height) + var(--label-gap) + var(--node))}
.process-diamond{position:relative;z-index:2;grid-row:3;display:grid;place-items:center;width:var(--node);height:var(--node);transform:rotate(45deg);border:3px solid #8bb8d8;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(6,26,56,.12)}
.process-diamond::before{content:"";position:absolute;inset:8px;border:2px solid rgba(11,114,185,.12);border-radius:6px;pointer-events:none}
.process-diamond-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:84%;transform:rotate(-45deg);text-align:center}
.process-diamond svg{width:clamp(25px,2vw,30px);height:clamp(25px,2vw,30px);margin-bottom:8px;fill:none;stroke:#0b72b9;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.process-diamond strong{display:block;max-width:104px;color:#20344c;font-size:clamp(.68rem,.72vw,.79rem);font-weight:800;line-height:1.15}
.process-arrow{position:absolute;z-index:1;top:calc(var(--label-height) + var(--label-gap) + (var(--node) / 2));left:calc(50% + var(--diamond-reach));right:calc(-50% + var(--diamond-reach));height:1px;background:#0b72b9;transform:translateY(-50%)}
.process-arrow::after{content:"";position:absolute;top:50%;right:0;width:7px;height:7px;border-top:1px solid #0b72b9;border-right:1px solid #0b72b9;transform:translateY(-50%) rotate(45deg)}
.process-step:last-child .process-arrow{display:none}
.process-step:hover .process-diamond{transform:rotate(45deg) translate(-2px,-2px);box-shadow:0 20px 38px rgba(6,26,56,.17);transition:transform .18s ease,box-shadow .18s ease}
@media(max-width:1180px){.process-diagram{--node:108px;--diamond-reach:77px;--label-height:38px;--label-gap:36px;min-width:1080px}.process-label{min-width:82px;padding:0 13px;font-size:.68rem}.process-diamond strong{max-width:88px;font-size:.63rem}}
@media(max-width:760px){.process-showcase{padding:58px 0 64px}.process-showcase-heading{margin-bottom:34px;text-align:left}.process-showcase-heading p{margin-left:0;font-size:.98rem}.process-diagram{--node:104px;--diamond-reach:74px;--label-height:38px;--label-gap:34px;min-width:1030px}.process-label{min-width:90px;height:38px;font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.process-step:hover .process-diamond{transition:none}}
