/* Process-only compatibility fix: decorative hero blobs previously caused
   horizontal scrolling across the site viewport at every screen width.
   Keep the original hero content intact; clip only out-of-bounds decoration. */
.process-hero { overflow: hidden; overflow: clip; }

/* HB-JOURNEY — self-contained responsive section, no third-party dependencies. */
.hb-journey, .hb-journey * { box-sizing: border-box; }
.hb-journey {
  --hbj-ink: #101e38;
  --hbj-muted: #526681;
  --hbj-blue: #287df0;
  --hbj-line: #c5defe;
  --hbj-green: #149b70;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  padding: clamp(64px, 7vw, 112px) 22px clamp(56px, 6vw, 90px);
  color: var(--hbj-ink);
  background: radial-gradient(circle at 5% 6%, #dfefff 0, transparent 28%), radial-gradient(circle at 100% 90%, #e1f3ff 0, transparent 30%), #f9fcff;
  font-family: inherit;
}
.hb-journey::before { content:""; position:absolute; inset:0 auto auto 0; height:4px; width:100%; background:linear-gradient(90deg,transparent, #d5e9ff,transparent); }
.hb-journey__inner { max-width: 1370px; margin: 0 auto; }
.hb-journey__header { max-width: 880px; margin: 0 auto 52px; text-align: center; }
.hb-journey__eyebrow { display:inline-flex; gap:9px; align-items:center; border:1px solid #d8e8ff; background:white; padding:8px 15px; border-radius:100px; box-shadow:0 5px 15px #235caf0d; color:#2265bd; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.hb-journey__eyebrow-dot { width:8px; height:8px; border-radius:50%; background:#3089ff; box-shadow:0 0 0 4px #e0eeff; }
.hb-journey__header h2 { font-size:clamp(29px, 3.3vw, 49px); line-height:1.13; letter-spacing:-.036em; font-weight:800; margin:20px 0 15px; color:var(--hbj-ink); }
.hb-journey__header p { font-size:clamp(16px,1.45vw,19px); line-height:1.65; color:var(--hbj-muted); margin:0 auto; max-width:710px; }
.hb-journey__track { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:19px; isolation:isolate; }
.hb-journey__step { position:relative; display:flex; align-items:center; text-align:center; flex-direction:column; min-width:0; border:1px solid #d5e7fc; border-radius:22px; background:linear-gradient(170deg,#fff 0%,#f9fcff 100%); box-shadow:0 12px 29px #12489114,0 3px 5px #12489108; padding:19px 13px 16px; }
.hb-journey__step:not(:last-child)::after { content:'→'; position:absolute; z-index:2; top:39%; right:-26px; width:34px; height:34px; display:grid; place-items:center; border:2px solid #b9d9ff; border-radius:50%; box-shadow:0 3px 9px #0d4e921f; background:#fff; color:#227df1; font-size:25px; font-weight:800; line-height:1; }
.hb-journey__count { color:#2378ee; border:1px solid #deebfe; background:#eff7ff; border-radius:99px; padding:6px 11px; align-self:flex-start; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
.hb-journey__count span { color:#8aa5c4; font-weight:600; }
.hb-journey__visual { height:152px; width:100%; display:flex; justify-content:center; align-items:center; margin-top:6px; }
.hb-journey__visual svg { width:min(100%,220px); height:142px; display:block; }
.hb-journey__step h3 { font-size:clamp(19px,1.8vw,23px); font-weight:800; line-height:1.2; letter-spacing:-.025em; color:var(--hbj-ink); margin:0 0 9px; }
.hb-journey__step > p { color:var(--hbj-muted); font-size:14px; line-height:1.48; margin:0 0 20px; max-width:185px; min-height:62px; }
.hb-journey__gate { min-height:43px; margin-top:auto; width:100%; display:flex; align-items:center; justify-content:center; gap:7px; background:#f0f7ff; color:#285789; border:1px solid #dcecff; border-radius:10px; padding:8px 6px; font-size:12px; font-weight:700; line-height:1.25; }
.hb-journey__gate > span:first-child { display:inline-grid; flex:none; place-items:center; width:18px; height:18px; color:#fff; background:var(--hbj-green); border-radius:50%; font-size:12px; }
.hb-journey__step--last .hb-journey__gate > span:first-child { background:#267ef0; font-size:16px; }
.hb-journey__footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-top:31px; padding:18px 23px; border-radius:18px; border:1px solid #d6e9ff; background:#ffffffc9; }
.hb-journey__rule { display:flex; align-items:center; gap:13px; flex:1 1 420px; }
.hb-journey__rule-icon { flex:none; display:grid; place-items:center; width:37px; height:37px; border-radius:50%; background:#e4f4eb; color:var(--hbj-green); font-weight:900; font-size:22px; }
.hb-journey__rule p { margin:0; color:#48617e; font-size:14px; line-height:1.5; }
.hb-journey__rule strong { color:#133666; }
.hb-journey__value { display:flex; gap:7px; flex-wrap:wrap; }
.hb-journey__value span { display:inline-block; border:1px solid #dceaff; border-radius:100px; padding:8px 11px; color:#2568bf; background:#f5faff; font-size:12px; font-weight:700; }
@media (max-width: 1140px) {
  .hb-journey { padding-inline:clamp(16px,4vw,40px); }
  .hb-journey__track { display:flex; flex-direction:column; align-items:center; gap:32px; }
  .hb-journey__step { width:min(100%,740px); display:grid; grid-template-columns:150px 1fr; grid-template-rows:auto auto auto; column-gap:21px; text-align:left; padding:15px 20px; align-items:center; }
  .hb-journey__count { position:absolute; top:15px; right:18px; }
  .hb-journey__visual { grid-column:1; grid-row:1/4; margin:0; height:130px; }
  .hb-journey__visual svg { height:130px; }
  .hb-journey__step h3 { grid-column:2; grid-row:1; padding-right:70px; align-self:end; }
  .hb-journey__step > p { grid-column:2; grid-row:2; max-width:none; min-height:0; margin:0 0 10px; font-size:15px; }
  .hb-journey__gate { grid-column:2; grid-row:3; justify-content:flex-start; width:fit-content; min-height:35px; padding:7px 10px; }
  .hb-journey__step:not(:last-child)::after { top:auto; bottom:-27px; left:calc(50% - 17px); right:auto; content:'↓'; }
}
@media (max-width: 580px) {
  .hb-journey { padding:55px 14px; }
  .hb-journey__header { margin-bottom:36px; }
  .hb-journey__header h2 { font-size:31px; }
  .hb-journey__step { grid-template-columns:100px minmax(0,1fr); gap:0 10px; padding:12px; min-height:146px; border-radius:17px; }
  .hb-journey__visual,.hb-journey__visual svg { height:110px; }
  .hb-journey__step h3 { font-size:21px; padding-right:0; margin-top:5px; margin-bottom:5px; }
  .hb-journey__step > p { font-size:13px; line-height:1.37; margin-bottom:9px; }
  .hb-journey__count { font-size:10px; padding:4px 7px; right:10px; top:8px; }
  .hb-journey__gate { padding:5px 7px; font-size:11px; min-height:30px; }
  .hb-journey__footer { padding:16px; }
  .hb-journey__value { gap:6px; }
}
@media (max-width: 360px) {
  .hb-journey__step { grid-template-columns:82px minmax(0,1fr); gap:0 7px; }
  .hb-journey__visual, .hb-journey__visual svg { height:100px; }
  .hb-journey__step h3 { font-size:19px; }
  .hb-journey__gate { font-size:10px; }
}
@media (prefers-reduced-motion: no-preference) {
  .hb-journey__step { transition:transform .18s ease,box-shadow .18s ease; }
  .hb-journey__step:hover { transform:translateY(-3px); box-shadow:0 17px 32px #1248911f; }
}
