/* Concept 03 — faithful workflow illustration, inspired by approved six-concept mockup */
.hero.hero-journey {position:relative;overflow:hidden;background:linear-gradient(116deg,#fafcff 0%,#f8fbff 55%,#f0f6ff 100%);padding:82px 0 92px}
.hero.hero-journey:before {content:"";position:absolute;pointer-events:none;inset:-220px -200px auto auto;width:700px;height:600px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(206,227,255,.47) 0,rgba(221,236,255,.18) 48%,transparent 71%)}
.hero-journey .hero-grid {grid-template-columns:minmax(0,.9fr) minmax(0,1.07fr);gap:clamp(22px,2.8vw,50px);align-items:center;position:relative}
.hero-journey .hero-intro {position:relative;z-index:2;padding:17px 0 10px}
.hero-journey .hero-intro .eyebrow{margin-bottom:22px;font-size:.71rem;letter-spacing:.105em}
.hero-journey .hero-intro .eyebrow .status-dot{display:none}
.hero-journey .hero-byline{display:none}
.hero-journey .hero-intro h1{font-size:clamp(2.15rem,3.35vw,2.95rem);line-height:1.1;font-weight:780;letter-spacing:-.048em;max-width:550px;margin:0 0 18px;color:#112746;text-wrap:balance}
.hero-journey .hero-intro h1 .journey-accent{color:#1f64cf}
.hero-journey .hero-lead{font-size:clamp(.9rem,1.13vw,.975rem);line-height:1.8;max-width:440px;margin-bottom:25px;color:#526b8c}
.hero-journey .hero-actions{gap:12px}
.hero-journey .hero-meta{padding-top:25px;font-size:.69rem;color:#5f7798}
.hero-journey .btn{font-size:.83rem;padding:13px 19px;border-radius:6px}
/* Diagram is a free-floating illustration: no surrounding application frame. */
.journey-graphic{width:100%;min-width:0;max-width:675px;aspect-ratio:650/355;position:relative;isolation:isolate;justify-self:end;overflow:visible}
.journey-graphic:before{content:"";position:absolute;z-index:-2;inset:-6% -2%;background:radial-gradient(ellipse at 60% 48%,rgba(198,221,255,.35) 0,rgba(215,231,252,.16) 52%,transparent 72%);pointer-events:none}
.journey-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}
.journey-network .j-path{fill:none;stroke:#8cbdff;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.journey-network .j-path-glow{fill:none;stroke:rgba(142,189,255,.14);stroke-width:8;stroke-linecap:round}
.journey-network .j-orbit{fill:none;stroke:rgba(128,185,253,.17);stroke-width:1}
.journey-network .j-dot{fill:#378bff}
.journey-network .j-dot-soft{fill:#b5d6ff}
.journey-network .j-hairline{fill:none;stroke:rgba(126,171,224,.16);stroke-width:.8}
.journey-step{appearance:none;position:absolute;width:21%;min-width:0;height:39%;border:1px solid #dceafb;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 13px 34px rgba(51,99,158,.095),0 2px 7px rgba(64,108,169,.035);display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:14px 10px 11px;color:#122643;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;z-index:1}
.journey-step:hover,.journey-step[aria-pressed="true"]{transform:translateY(-6px);border-color:#9fc9ff;box-shadow:0 19px 40px rgba(37,99,235,.13)}
.journey-step:focus-visible{outline:3px solid #266cef;outline-offset:5px}
.journey-step:nth-of-type(1){left:2%;top:12%}
.journey-step:nth-of-type(2){left:25%;top:27%}
.journey-step:nth-of-type(3){left:49%;top:20%}
.journey-step:nth-of-type(4){left:75%;top:38%}
.journey-step .step-number{position:absolute;right:11px;top:9px;color:#669be0;font-size:.61rem;letter-spacing:.07em;font-weight:750}
.journey-step .step-icon{height:32px;width:32px;display:grid;place-items:center;color:#1767e9;margin-bottom:12px}
.journey-step .step-icon svg{width:31px;height:31px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.journey-step .step-title{font-size:clamp(.71rem,.87vw,.82rem);line-height:1.25;letter-spacing:-.01em;font-weight:790;max-width:112px}
.journey-step .step-subtitle{font-size:.68rem;line-height:1.32;color:#6782a5;margin-top:5px;max-width:122px}
.journey-graphic-note{position:absolute;bottom:0;left:4%;color:#8499b4;letter-spacing:.12em;font-size:.58rem;font-weight:700;white-space:nowrap}
html[lang="ja"] .journey-step .step-title{font-size:clamp(.68rem,.85vw,.78rem);line-height:1.45;max-width:115px}
html[lang="ja"] .hero-journey .hero-intro h1{letter-spacing:-.045em;font-size:clamp(2rem,3vw,2.7rem);line-height:1.3}
html[lang="ja"] .hero-journey .hero-lead{line-height:1.95}
@media(max-width:1050px){.hero-journey .hero-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:12px}.journey-step{padding:8px 5px}.journey-step .step-icon{margin-bottom:4px}.journey-step .step-icon svg{width:25px;height:25px}.journey-step .step-title{font-size:.7rem}.journey-step .step-subtitle{font-size:.58rem}}
@media(max-width:850px){.hero.hero-journey{padding:60px 0 62px}.hero-journey .hero-grid{grid-template-columns:1fr;gap:24px}.hero-journey .hero-intro{max-width:620px;padding:0}.hero-journey .hero-intro h1{font-size:clamp(2rem,5.4vw,2.8rem)}.journey-graphic{justify-self:center;max-width:650px;aspect-ratio:650/330}.journey-step .step-title{font-size:clamp(.7rem,1.5vw,.83rem)}.journey-step .step-icon svg{width:30px;height:30px}}
@media(max-width:520px){.hero.hero-journey{padding:45px 0 40px}.hero-journey .hero-grid{gap:22px}.hero-journey .hero-intro h1{font-size:clamp(2rem,8vw,2.4rem);max-width:420px}.hero-journey .hero-intro .eyebrow{font-size:.64rem;letter-spacing:.075em;margin-bottom:14px}.hero-journey .hero-lead{font-size:.92rem;line-height:1.67}.hero-journey .hero-meta{padding-top:18px}.journey-graphic{aspect-ratio:1/1.01;max-width:440px}.journey-network{opacity:.8}.journey-step{width:42%;height:39%;padding:9px 7px}.journey-step:nth-of-type(1){left:3%;top:2%}.journey-step:nth-of-type(2){left:55%;top:15%}.journey-step:nth-of-type(3){left:3%;top:51%}.journey-step:nth-of-type(4){left:55%;top:60%}.journey-step .step-icon{margin:1px 0 6px}.journey-step .step-icon svg{width:30px;height:30px}.journey-step .step-title{font-size:.79rem;max-width:128px}.journey-step .step-subtitle{font-size:.64rem;margin-top:4px}.journey-graphic-note{display:none}}
@media(max-width:350px){.journey-step .step-title{font-size:.74rem}.journey-step .step-subtitle{font-size:.57rem}}
@media(prefers-reduced-motion:reduce){.journey-step{transition:none}.journey-step:hover,.journey-step[aria-pressed="true"]{transform:none}}
