/* Each offer has its own visual logic; copy and reading order stay in HTML. */
.pv-process .pv-process__steps { list-style:none; }
.pv-process__steps > li { position:relative; min-width:0; }
.pv-process__steps h3 { font-size:23px; line-height:1.25; text-wrap:balance; }
.pv-process__steps p { font-size:16px; line-height:1.65; margin:14px 0 0; }
.pv-process__number { display:block; color:var(--teal); font:700 26px/1 var(--font-display); }
.pv-process .pv-section-head { margin-bottom:64px; }

/* Audit: evidence is narrowed into a report and a prioritised work plan. */
.pv-process--audit { background:#fff; }
.pv-audit-path { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); align-items:center; gap:72px; }
.pv-audit-path__sequence { position:relative; }
.pv-audit-path__sequence::before { content:''; position:absolute; top:37px; bottom:42px; left:28px; width:1px; background:#90bcb7; }
.pv-audit-path__sequence > li { display:grid; grid-template-columns:58px minmax(0,1fr); gap:20px; padding:22px 28px 22px 0; margin-bottom:8px; }
.pv-audit-path__sequence > li > div { z-index:1; padding-right:38px; }
.pv-audit-path__sequence > li:not(:last-child) > div { padding-bottom:24px; border-bottom:1px solid #dce6e3; }
.pv-audit-path__sequence .pv-process__number { position:relative; display:grid; place-items:center; width:58px; height:58px; background:linear-gradient(145deg,#fff,#edf4f2); border:1px solid #90afa9; border-radius:50%; z-index:1; font-size:22px; }
.pv-audit-path__result { position:relative; padding:36px 0 36px 36px; border-left:1px solid #bad2cd; }
.pv-audit-path__document { width:132px; height:auto; color:var(--teal); margin-bottom:24px; }
.pv-audit-path__result::before { content:''; position:absolute; top:50%; right:100%; width:36px; height:1px; background:#8eb7b0; }
.pv-audit-path__result::after { content:''; position:absolute; top:calc(50% - 4px); left:-6px; width:8px; height:8px; border:solid #8eb7b0; border-width:1px 1px 0 0; transform:rotate(45deg); }
.pv-audit-path__result h3 { font-size:30px; margin-bottom:18px; overflow-wrap:anywhere; }
.pv-audit-path__result > p:not(.pv-label) { font-size:17px; }
.pv-audit-path__findings { margin-top:30px; border-top:1px solid #cedbd9; }
.pv-audit-path__findings p { margin:0; padding:22px 0; border-bottom:1px solid #cedbd9; }
.pv-audit-path__findings strong, .pv-audit-path__findings span { display:block; }
.pv-audit-path__findings strong { color:var(--navy); font-size:18px; }
.pv-audit-path__findings span { margin-top:8px; font-size:15px; line-height:1.6; }

/* Excellence: an implementation arch stands on a visible shared foundation. */
.pv-process--excellence { background:radial-gradient(ellipse at 80% 8%,rgba(14,107,107,.19),transparent 56%),#081827; color:#e4eef0; }
.pv-page .pv-process--excellence h2, .pv-page .pv-process--excellence h3 { color:#fff; }
.pv-page .pv-process--excellence .pv-label { color:var(--pv-mint); }
.pv-framework__heading { text-align:center; margin-bottom:0; }
.pv-framework__heading span { display:block; color:#b7d8d4; font-size:19px; }
.pv-framework__heading strong { display:block; margin-top:6px; color:#fff; font:700 clamp(42px,5vw,68px)/1.1 var(--font-display); letter-spacing:-.035em; }
.pv-framework__build { position:relative; padding-top:150px; }
.pv-framework__arc { position:absolute; inset:0 0 auto; width:100%; height:150px; color:#9cc7c0; opacity:.8; }
.pv-framework__phases { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; }
.pv-framework__phases > li { padding:0 20px 32px; border-right:1px solid rgba(184,207,212,.2); }
.pv-framework__phases > li:first-child { padding-left:20px; }
.pv-framework__phases > li:last-child { border:0; padding-right:20px; }
.pv-framework__phases .pv-process__number { position:relative; display:grid; place-items:center; width:52px; height:52px; margin:0 auto 28px; border:1px solid #769a99; border-radius:50%; color:var(--pv-mint); background:linear-gradient(145deg,#1b3540,#0c2130); font-size:26px; }
.pv-framework__phases .pv-process__number::before { content:''; position:absolute; bottom:100%; left:50%; width:1px; height:10px; background:#608f90; }
.pv-framework__phases > li:nth-child(2) .pv-process__number::before, .pv-framework__phases > li:nth-child(4) .pv-process__number::before { height:92.5px; }
.pv-framework__phases > li:nth-child(3) .pv-process__number::before { height:120px; }
.pv-framework__phases h3 { min-height:58px; font-size:22px; overflow-wrap:anywhere; }
.pv-framework__phases p { color:#d3e1e4; font-size:15px; line-height:1.75; }
.pv-framework__foundation { display:grid; grid-template-columns:1fr 2fr; align-items:center; gap:24px; padding:28px 0; border-top:1px solid #638b8b; }
.pv-framework__foundation > p { margin:0; color:#d8eeeb; font-size:15px; }
.pv-framework__foundation ul { display:flex; justify-content:space-between; list-style:none; gap:16px; }
.pv-framework__foundation li { color:#fff; font:700 22px/1.25 var(--font-display); }
.pv-process--excellence .pv-method__foot { background:transparent; border:0; border-left:2px solid #70aba3; border-radius:0; max-width:900px; margin:40px auto 0; padding:4px 0 4px 26px; }
.pv-process--excellence .pv-method__foot p { color:#d3e1e4; }
.pv-process--excellence .pv-method__foot p strong { color:#fff; }
.pv-process--excellence .pv-button { border-color:#80beb3; }

/* Coaching: three continuous, rising levels rather than a ring of services. */
.pv-process--coaching { background:#f4f6f4; }
.pv-learning__stairs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; padding-top:20px !important; }
.pv-learning__stairs > li { position:relative; margin-top:120px; padding:34px 32px 78px; min-height:360px; border-top:1px solid #6d9c91; }
.pv-learning__stairs > li:not(:last-child)::after { content:''; position:absolute; right:0; top:-60px; width:1px; height:60px; background:#6d9c91; }
.pv-learning__stairs > li:nth-child(2) { margin-top:60px; min-height:420px; }
.pv-learning__stairs > li:nth-child(3) { margin-top:0; min-height:480px; border-color:var(--teal); }
.pv-learning__stairs .pv-process__number { font-size:64px; letter-spacing:-.06em; margin-bottom:32px; }
.pv-learning__stairs h3 { font-size:27px; }
.pv-learning__stairs p { font-size:17px; }
.pv-learning__rise { position:absolute; bottom:24px; right:28px; width:42px; height:42px; color:var(--teal); }
.pv-learning__practice { display:grid; grid-template-columns:1fr 1.2fr 1fr 40px; align-items:center; gap:24px; padding:26px 0; color:var(--navy); border-bottom:1px solid #b9cdc5; }
.pv-learning__practice span, .pv-learning__practice strong { display:block; }
.pv-learning__practice span { color:#4f6b66; font-size:12px; margin-bottom:5px; }
.pv-learning__practice strong { font-size:16px; font-weight:600; }
.pv-learning__practice svg { width:40px; height:40px; color:var(--teal); }

/* Consulting: project leadership and execution join at the final handover. */
.pv-process--consulting { background:#fff; }
.pv-project { margin-inline:auto; }
.pv-project__title { display:flex; align-items:center; justify-content:center; gap:34px; margin-bottom:82px; padding:32px 0; border-block:1px solid #c3d6d2; }
.pv-project__title > strong { color:var(--teal); font:700 clamp(62px,7vw,92px)/.95 var(--font-display); letter-spacing:-.06em; }
.pv-project__title span { display:block; color:var(--navy); font:700 25px/1.25 var(--font-display); }
.pv-project__title p { margin-top:12px; font-size:16px; }
.pv-project__milestones { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr); column-gap:32px; row-gap:72px; }
.pv-project__milestones > li { position:relative; padding:0; }
.pv-project__milestones::before { content:''; grid-column:4; grid-row:1 / 3; align-self:stretch; width:1px; margin:24px 0 0 -16px; background:#97baaf; }
.pv-project__milestones > li:nth-child(1) { grid-column:1; grid-row:1; }
.pv-project__milestones > li:nth-child(2) { grid-column:2; grid-row:1; }
.pv-project__milestones > li:nth-child(3) { grid-column:3; grid-row:1; }
.pv-project__milestones > li:nth-child(-n+3)::after { content:''; position:absolute; top:24px; left:46px; right:-32px; height:1px; background:#97baaf; }
.pv-project__milestones > li:nth-child(3)::after { right:-17px; }
.pv-project__lane { position:absolute; bottom:calc(100% + 20px); left:0; color:var(--teal); font-size:13px; font-weight:700; letter-spacing:.025em; text-transform:uppercase; }
.pv-project__milestones .pv-process__number { position:relative; display:grid; place-items:center; width:46px; height:46px; margin:0 0 24px; color:var(--teal); background:linear-gradient(145deg,#fff,#edf4f2); border:1px solid #7c9e96; border-radius:50%; font-size:20px; z-index:1; }
.pv-project__milestones h3 { font-size:23px; }
.pv-project__milestones p { font-size:16px; margin-top:14px; }
.pv-project__milestones > .pv-project__execution { grid-column:1 / 4; grid-row:2; display:grid; grid-template-columns:46px 1fr; align-items:start; gap:24px; padding:28px 0; border-bottom:1px solid #97baaf; }
.pv-project__execution::after { content:''; position:absolute; bottom:0; left:100%; width:16px; height:1px; background:#6a9b8e; }
.pv-project__execution .pv-process__number { background:transparent; margin:0; }
.pv-project__milestones > .pv-project__completion { grid-column:4; grid-row:1 / 3; align-self:center; padding:32px 0 32px 24px; }

.pv-project__completion::after { content:''; position:absolute; top:50%; right:100%; width:16px; height:1px; background:#97baaf; }
.pv-project__completion .pv-process__number { background:var(--teal); border-color:var(--teal); color:#fff; }
.pv-project__report { display:flex; align-items:center; gap:24px; margin-top:30px; padding:24px 0; color:var(--navy); border-block:1px solid #b6c8c5; }
.pv-project__report > span { flex-shrink:0; color:var(--teal); font:700 21px/1.3 var(--font-display); }
.pv-project__report > p { margin:0; font-size:15px; }
.pv-audit-path__response { display:inline-flex; align-items:center; gap:10px; margin-top:16px; color:#175d53; font-size:13px; font-weight:600; }
.pv-audit-path__response svg { width:24px; height:24px; }

@media (max-width:1100px) {
  .pv-audit-path { grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr); gap:36px; }
  .pv-audit-path__result { padding-left:24px; }
  .pv-framework__phases > li, .pv-framework__phases > li:first-child, .pv-framework__phases > li:last-child { padding-inline:14px; }
  .pv-framework__phases h3 { font-size:20px; }
  .pv-learning__stairs > li { padding-inline:24px; }
  .pv-learning__stairs h3 { font-size:24px; }
  .pv-learning__practice { gap:14px; }
  .pv-learning__practice strong { font-size:14px; }
}
@media (max-width:850px) {
  .pv-process .pv-section-head { margin-bottom:40px; }
  .pv-audit-path { grid-template-columns:1fr; gap:32px; }
  .pv-audit-path__result { display:grid; grid-template-columns:120px 1fr; gap:0 28px; padding:28px 0 0; border-left:0; border-top:1px solid #b9d1cb; }
  .pv-audit-path__document { grid-column:1; grid-row:1 / 5; width:110px; margin:0; }
  .pv-audit-path__result .pv-label, .pv-audit-path__result h3, .pv-audit-path__result > p:not(.pv-label), .pv-audit-path__findings { grid-column:2; }
  .pv-audit-path__result::before, .pv-audit-path__result::after { display:none; }
  .pv-audit-path__findings { margin-top:10px; }
  .pv-framework__build { padding-top:36px; }
  .pv-framework__arc { display:none; }
  .pv-framework__phases { display:block; border-left:1px solid #638a88; margin-left:23px !important; }
  .pv-framework__phases > li, .pv-framework__phases > li:first-child, .pv-framework__phases > li:last-child { display:grid; grid-template-columns:48px 1fr; gap:20px; margin-left:-24px; padding:0 0 30px; border:0; }
  .pv-framework__phases .pv-process__number { display:grid; place-items:center; width:48px; height:48px; margin:0; border:1px solid #769a99; background:linear-gradient(145deg,#1b3540,#0c2130); font-size:23px; }
  .pv-framework__phases .pv-process__number::before { display:none; }
  .pv-framework__phases h3 { min-height:0; margin-top:8px; font-size:23px; }
  .pv-framework__phases p { margin-top:12px; font-size:16px; }
  .pv-framework__foundation { display:block; padding:24px 0; }
  .pv-framework__foundation ul { margin-top:18px; }
  .pv-learning__stairs > li { margin-top:100px; min-height:390px; padding-inline:22px; }
  .pv-learning__stairs > li:not(:last-child)::after { top:-50px; height:50px; }
  .pv-learning__stairs > li:nth-child(2) { margin-top:50px; min-height:440px; }
  .pv-learning__stairs > li:nth-child(3) { min-height:490px; }
  .pv-learning__stairs p { font-size:15px; }
  .pv-learning__stairs h3 { font-size:22px; }
  .pv-project__title { gap:24px; }
  .pv-project__title span { font-size:22px; }
  .pv-project__milestones { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:24px; row-gap:56px; }
  .pv-project__milestones > li:nth-child(-n+3)::after { right:-24px; }
  .pv-project__milestones > li:nth-child(3)::after { display:none; }
  .pv-project__milestones > .pv-project__execution { grid-column:1 / 4; grid-row:2; }
  .pv-project__milestones > .pv-project__completion { grid-column:1 / 4; grid-row:3; display:grid; grid-template-columns:46px 1fr; gap:24px; padding:28px 0; }
  .pv-project__milestones::before { display:none; }
  .pv-project__completion::before { content:''; position:absolute; top:-56px; left:50%; width:1px; height:56px; background:#97baaf; }
  .pv-project__completion::after, .pv-project__execution::after { display:none; }
  .pv-project__completion .pv-process__number { margin:0; }
  .pv-project__milestones h3 { font-size:21px; }
  .pv-project__milestones p { font-size:16px; }
}
@media (max-width:620px) {
  .pv-process__steps h3 { font-size:22px; text-wrap:initial; }
  .pv-process__steps p { font-size:16px; }
  .pv-audit-path__sequence > li { grid-template-columns:42px minmax(0,1fr); gap:14px; padding:20px 10px 20px 0; }
  .pv-audit-path__sequence > li > div { padding-right:12px; }
  .pv-audit-path__sequence::before { left:20px; }
  .pv-audit-path__sequence .pv-process__number { width:42px; height:42px; font-size:18px; }
  .pv-audit-path__result { display:block; padding-top:28px; }
  .pv-audit-path__document { width:90px; margin-bottom:20px; }
  .pv-audit-path__result h3 { font-size:27px; }
  .pv-audit-path__findings p { padding-block:18px; }
  .pv-framework__heading { text-align:left; }
  .pv-framework__heading span { font-size:17px; }
  .pv-framework__heading strong { font-size:42px; }
  .pv-framework__phases > li, .pv-framework__phases > li:first-child, .pv-framework__phases > li:last-child { gap:16px; }
  .pv-framework__foundation ul { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .pv-framework__foundation li { font-size:21px; }
  .pv-learning__stairs { display:block; padding:0 !important; }
  .pv-learning__stairs > li, .pv-learning__stairs > li:nth-child(2), .pv-learning__stairs > li:nth-child(3) { display:grid; grid-template-columns:46px 1fr; gap:18px; margin-top:0; min-height:0; padding:28px 22px 58px; border-top:0; border-left:2px solid #719f90; }
  .pv-learning__stairs > li:not(:last-child)::after { display:none; }
  .pv-learning__stairs > li:nth-child(2) { margin-left:12px; }
  .pv-learning__stairs > li:nth-child(3) { margin-left:24px; }
  .pv-learning__stairs .pv-process__number { font-size:37px; margin:0; }
  .pv-learning__stairs h3 { font-size:22px; }
  .pv-learning__stairs p { font-size:16px; }
  .pv-learning__rise { width:28px; height:28px; bottom:18px; right:20px; }
  .pv-learning__practice { grid-template-columns:1fr 40px; gap:20px; padding-block:24px; }
  .pv-learning__practice strong { font-size:16px; }
  .pv-learning__practice svg { grid-column:2; grid-row:1 / 4; }
  .pv-project__title { align-items:flex-start; gap:20px; padding-block:26px; margin-bottom:62px; }
  .pv-project__title > strong { font-size:58px; }
  .pv-project__title span { font-size:18px; }
  .pv-project__title p { font-size:14px; line-height:1.55; }
  .pv-project__milestones { display:block; border-left:1px solid #90b8aa; margin-left:21px !important; }
  .pv-project__milestones > li, .pv-project__milestones > .pv-project__execution, .pv-project__milestones > .pv-project__completion { display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; min-height:0; padding:0 0 32px; margin-left:-22px; }
  .pv-project__milestones > .pv-project__execution { margin-top:50px; padding:24px 18px 24px 0; border-bottom:0; }
  .pv-project__milestones > .pv-project__completion { margin-top:32px; padding:24px 18px 24px 0; }
  .pv-project__milestones .pv-process__number { width:44px; height:44px; font-size:18px; margin:0; }
  .pv-project__milestones > li > div { padding-top:8px; }
  .pv-project__milestones > li:nth-child(-n+3)::after, .pv-project__completion::before, .pv-project__completion::after { display:none; }
  .pv-project__report { display:block; padding:24px 0; }
  .pv-project__report > span { display:block; margin-bottom:12px; font-size:20px; }
}
@media (max-width:360px) {
  .pv-learning__stairs > li, .pv-learning__stairs > li:nth-child(2), .pv-learning__stairs > li:nth-child(3) { grid-template-columns:1fr; gap:14px; padding-inline:20px; }
  .pv-learning__stairs .pv-process__number { font-size:32px; }
  .pv-project__title { display:block; }
  .pv-project__title > strong { display:block; margin-bottom:20px; }
}
