/* One connected diagram, three selectable stages; no expanding accordion. */
.ph-journey { --journey-ink:#153047; --journey-muted:#536d7e; --journey-teal:#078d85; --journey-line:#d7e6e7; padding:clamp(24px,3vw,44px); border:1px solid var(--journey-line); border-radius:28px; background:#fff; color:var(--journey-ink); scroll-margin-top:104px; }
.ph-journey .ph-journey-heading>span { display:flex; align-items:center; gap:12px; color:#087e79; font-size:.875rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.ph-journey-heading>span::before { content:""; width:28px; height:2px; background:var(--journey-teal); }
.ph-journey .ph-journey-heading h2 { margin:20px 0 16px; font-size:clamp(2rem,3.2vw,3.25rem); font-weight:750; letter-spacing:-.035em; line-height:1.1; }
.ph-journey .ph-journey-heading p { max-width:720px; margin:0; color:var(--journey-muted); font-size:1rem; line-height:1.65; }
.ph-journey-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:28px 0 0; padding:7px; border:1px solid var(--journey-line); border-radius:16px; background:#f5f9f9; }
.ph-journey:not(.is-interactive) .ph-journey-controls { display:none; }
.ph-journey .ph-journey-tab { display:flex; align-items:center; gap:12px; min-width:0; min-height:62px; margin:0; padding:14px 18px; border:1px solid transparent; border-radius:11px; background:transparent; color:#52717c; font:650 1rem/1.35 Inter,"Segoe UI",Arial,sans-serif; text-align:left; cursor:pointer; box-shadow:none; transition:background .18s,border-color .18s,color .18s; }
.ph-journey-number { font-size:.8125rem; font-weight:600; opacity:.85; }
.ph-journey-tab-arrow { margin-left:auto; font-size:1.375rem; font-weight:400; }
.ph-journey .ph-journey-tab[aria-selected="true"] { border-color:var(--journey-teal); background:var(--journey-teal); color:#fff; box-shadow:0 5px 15px #078d851c; }
.ph-journey .ph-journey-tab:focus-visible { outline:3px solid #16485c; outline-offset:3px; }
.ph-journey-diagram { position:relative; display:grid; grid-template-columns:1fr 1.05fr 1.1fr; align-items:center; gap:clamp(36px,4vw,68px); min-height:320px; margin:12px 0 18px; padding:24px 16px; background:radial-gradient(ellipse at 50% 46%,#eef8f5,transparent 65%); }
.ph-journey-connections { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.ph-journey-connection { fill:none; stroke:#bbd3d3; stroke-width:2; transition:stroke .2s; }
.ph-journey-connection.is-active { stroke:var(--journey-teal); }
.ph-journey-packet { fill:var(--journey-teal); stroke:#fff; stroke-width:3; }
.ph-journey-node { position:relative; z-index:1; min-width:0; text-align:center; }
.ph-journey-role { margin-bottom:22px; color:var(--journey-muted); font-size:.875rem; font-weight:600; }
.ph-journey-request { display:flex; flex-direction:column; align-items:flex-start; gap:14px; max-width:300px; margin:auto; padding:24px; border:1px solid var(--journey-line); border-radius:18px; background:#fff; text-align:left; transition:border-color .2s,box-shadow .2s; }
.ph-journey-request>img { width:38px; height:38px; padding:7px; border-radius:10px; background:#eaf7f4; }
.ph-journey-request>strong { color:var(--journey-ink); font-size:1.25rem; font-weight:700; line-height:1.35; }
.ph-journey-request>span { color:var(--journey-muted); font-size:.8125rem; line-height:1.5; }
.ph-journey-hub { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; min-height:205px; padding:16px 6px; border-radius:18px; background:#fff; }
.ph-journey-orbit { display:grid; place-items:center; width:106px; height:106px; border:1px solid #c6e1db; border-radius:50%; background:#edf8f4; box-shadow:0 0 0 8px #fff,0 0 0 9px #dcebe6; transition:box-shadow .2s,border-color .2s; }
.ph-journey-orbit img { width:62px; height:62px; }
.ph-journey-hub strong { display:block; color:var(--journey-ink); font-size:1.25rem; line-height:1.35; }
.ph-journey-hub [data-journey-hub-caption] { display:block; min-height:2.8em; margin-top:6px; color:var(--journey-muted); font-size:.875rem; line-height:1.4; }
.ph-journey-specialist { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:205px; padding:8px 0; border-radius:18px; background:#fff; }
.ph-journey-portraits { display:flex; align-items:center; justify-content:center; min-height:124px; margin-bottom:10px; }
.ph-journey-portraits img { position:relative; width:72px; height:72px; border:4px solid #fff; border-radius:50%; object-fit:cover; object-position:50% 21%; box-shadow:0 0 0 1px #d6e5e5; }
.ph-journey-portraits img:nth-child(2) { z-index:1; width:112px; height:112px; margin:0 -10px; transition:box-shadow .2s; }
.ph-journey-specialist strong { display:block; color:var(--journey-ink); font-size:1rem; line-height:1.4; }
.ph-journey-status { display:inline-block; margin-top:10px; padding:6px 10px; border-radius:7px; background:#f0f6f6; color:#52717c; font-size:.8125rem; line-height:1.4; }
.ph-journey[data-journey-active="0"] .ph-journey-request { border-color:var(--journey-teal); box-shadow:0 0 0 3px #e8f6f2; }
.ph-journey[data-journey-active="1"] .ph-journey-orbit { border-color:var(--journey-teal); box-shadow:0 0 0 8px #e8f6f2,0 0 0 9px var(--journey-teal); }
.ph-journey[data-journey-active="2"] .ph-journey-portraits img:nth-child(2) { box-shadow:0 0 0 2px var(--journey-teal),0 0 0 7px #e8f6f2; }
.ph-journey[data-journey-active="2"] .ph-journey-status { color:#087c72; background:#e8f6f2; }
.ph-journey-panels { display:grid; gap:12px; }
.ph-journey-panel { display:grid; grid-template-columns:42px minmax(0,1fr); align-content:start; gap:16px; margin:0; padding:24px; border:1px solid var(--journey-line); border-radius:16px; background:#f6faf9; }
.ph-journey.is-interactive .ph-journey-panels { grid-template-areas:"stage"; gap:0; }
.ph-journey.is-interactive .ph-journey-panel { grid-area:stage; }
.ph-journey.is-interactive .ph-journey-panel:not(.is-current) { visibility:hidden; pointer-events:none; }
.ph-journey-panel-number { display:grid; place-items:center; width:42px; height:42px; border:1px solid #b9dcd5; border-radius:12px; background:#e7f5ef; color:#087b74; font-size:.875rem; font-weight:750; }
.ph-journey .ph-journey-panel h3 { margin:0 0 8px; color:var(--journey-ink); font-size:1.25rem; line-height:1.35; letter-spacing:-.015em; }
.ph-journey-panel p { max-width:940px; margin:0; color:var(--journey-muted); font-size:1rem; line-height:1.6; }
.ph-journey .ph-journey-tags { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 0; padding:0; list-style:none; }
.ph-journey-tags li { margin:0; padding:5px 10px; border:1px solid #d8e6e2; border-radius:6px; background:#fff; color:#39616a; font-size:.875rem; line-height:1.4; }
.ph-journey .ph-journey-note { margin:16px 2px 0; color:#647b88; font-size:.8125rem; line-height:1.6; }
@media(max-width:1100px) {
  .ph-journey-diagram { gap:32px; padding-inline:0; }
  .ph-journey .ph-journey-tab { padding:12px; gap:8px; font-size:.9375rem; }
  .ph-journey-request { padding:18px; }
  .ph-journey-portraits img { width:60px; height:60px; }
  .ph-journey-portraits img:nth-child(2) { width:92px; height:92px; }
}
@media(max-width:700px) {
  .ph-journey.ph-after-section { width:calc(100% - 28px); padding:24px 18px; border-radius:22px; }
  .ph-journey .ph-journey-heading h2 { font-size:2rem; }
  .ph-journey-heading h2 br { display:none; }
  .ph-journey .ph-journey-heading>span { font-size:.75rem; letter-spacing:.06em; }
  .ph-journey-controls { gap:4px; margin-top:22px; padding:5px; border-radius:12px; }
  .ph-journey .ph-journey-tab { flex-direction:column; align-items:flex-start; gap:4px; min-height:78px; padding:9px 6px; border-radius:8px; font-size:clamp(.6875rem,2.8vw,.875rem); overflow-wrap:anywhere; }
  .ph-journey-tab-arrow { display:none; }
  .ph-journey-diagram { grid-template-columns:1fr; gap:36px; min-height:0; margin:20px 0; padding:0 8px; }
  .ph-journey-role { margin-bottom:10px; text-align:left; font-size:.8125rem; }
  .ph-journey-request { display:grid; grid-template-columns:38px minmax(0,1fr); gap:6px 12px; max-width:none; padding:16px; }
  .ph-journey-request>img { grid-row:1/3; }
  .ph-journey-request>strong { font-size:1.0625rem; }
  .ph-journey-request>strong br { display:none; }
  .ph-journey-request>span { grid-column:2; }
  .ph-journey-hub { flex-direction:row; justify-content:flex-start; gap:20px; min-height:110px; padding:15px 16px; background:#f0f8f5; text-align:left; }
  .ph-journey-orbit { flex-shrink:0; width:58px; height:58px; box-shadow:none; }
  .ph-journey-orbit img { width:36px; height:36px; }
  .ph-journey-hub strong { font-size:1.0625rem; }
  .ph-journey-hub [data-journey-hub-caption] { min-height:2.8em; font-size:.8125rem; }
  .ph-journey-specialist { flex-direction:row; justify-content:flex-start; gap:14px; min-height:100px; padding:6px 0; text-align:left; }
  .ph-journey-portraits { flex-shrink:0; min-height:80px; margin:0; }
  .ph-journey-portraits img { width:38px; height:38px; border-width:3px; }
  .ph-journey-portraits img:nth-child(2) { width:64px; height:64px; }
  .ph-journey-specialist strong { font-size:.875rem; }
  .ph-journey-status { margin-top:7px; padding:5px 7px; font-size:.75rem; }
  .ph-journey-panel { grid-template-columns:30px minmax(0,1fr); gap:10px; padding:17px 14px; }
  .ph-journey-panel-number { width:30px; height:30px; border-radius:8px; font-size:.75rem; }
  .ph-journey .ph-journey-panel h3 { font-size:1.125rem; }
}
@media(prefers-reduced-motion:reduce) { .ph-journey * { transition:none!important; } }
