/* Connected diagrams and engagement comparison; limited to the three revised sections. */
.progress-map,.enquiry-flow{margin:40px 0 0;color:#17362d}
.diagram-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.progress-stages,.enquiry-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.progress-stage,.enquiry-stage{min-width:0;position:relative}
.stage-marker{width:38px;height:38px;border:1px solid #657d68;border-radius:50%;display:grid;place-items:center;background:#f1f0ea;color:#17362d;font:500 13px/1 var(--sans);position:relative;z-index:1;margin-bottom:24px}
.progress-stage:not(:last-child)::before,.enquiry-stage:not(:last-child)::before{content:"";position:absolute;height:1px;background:#829783;left:38px;right:-28px;top:19px}
.progress-stage:not(:last-child)::after,.enquiry-stage:not(:last-child)::after{content:"";position:absolute;right:-13px;top:16px;width:7px;height:7px;border-right:1px solid #657d68;border-top:1px solid #657d68;transform:rotate(45deg)}
.package-content .progress-stage h3{font-size:clamp(1.6rem,2.5vw,2rem);margin:0 0 12px;line-height:1.2}
.progress-stage h3 a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#a5b8aa}
.package-content .progress-category{font-size:13px;line-height:1.6;color:#59675d;min-height:3.2em;margin:0 0 20px;max-width:24ch}
.progress-deliverable{border-top:1px solid #bac8b8;padding-top:18px}
.progress-deliverable span,.foundation-label,.flow-label{display:block;font:600 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#4a614f;margin-bottom:8px}
.progress-deliverable strong{display:block;font-size:16px;line-height:1.6;font-weight:500;max-width:24ch}
.progress-foundation{margin-top:34px;background:#dfe6da;border:1px solid #c2cdbd;padding:26px 28px;position:relative}
.progress-foundation::before{content:"";position:absolute;top:-35px;height:34px;left:50%;width:1px;background:#829783}
.foundation-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;border-bottom:1px solid #b6c6b4;padding-bottom:15px;margin-bottom:20px}
.foundation-label{margin:0}
.package-content .foundation-heading a{font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.foundation-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.foundation-items strong{display:block;font:400 24px/1.25 var(--serif);margin-bottom:8px}
.package-content .foundation-items p{font-size:14px;line-height:1.7;margin:0;color:#415548}
.service-detail[id="04"]{row-gap:36px}
.service-detail .enquiry-flow{grid-column:1/-1;margin-top:8px;padding:32px;background:#edf0e9;border:1px solid #d3dcd0}
.enquiry-flow>.flow-label{margin-bottom:26px}
.enquiry-stages{gap:24px}
.enquiry-stage .stage-marker{background:#edf0e9;margin-bottom:20px}
.enquiry-stage:not(:last-child)::before{right:-24px}
.enquiry-stage:not(:last-child)::after{right:-11px}
.enquiry-stage h3{font:400 clamp(1.45rem,2.1vw,1.9rem)/1.2 var(--serif);letter-spacing:-.025em;min-height:2.4em;margin:0 0 20px}
.enquiry-stage dl{margin:0}
.enquiry-stage dt{font:600 11px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#4a614f;margin:18px 0 7px}
.enquiry-stage dd{margin:0;font-size:15px;line-height:1.65;color:#263e31}
.enquiry-flow figcaption{border-top:1px solid #bccdbb;margin-top:28px;padding-top:23px;font:400 23px/1.4 var(--serif);letter-spacing:-.02em}
.enquiry-flow .flow-note{font-size:13px;line-height:1.7;color:#526254;margin:12px 0 0;max-width:78ch}
.engagement-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;max-width:1512px;margin:auto;padding:56px 5% 32px}
.engagement-option{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:0;min-width:0;border:1px solid #cbd6c7;background:#fffefa}
.engagement-option>header{padding:27px 26px 24px;background:#e4e9df;border-bottom:1px solid #cbd6c7}
.engagement-option .eyebrow{font-size:10px;margin:0 0 15px;letter-spacing:.13em}
.engagement-option h2{font-size:clamp(2rem,3vw,2.6rem);line-height:1.13;margin:0}
.engagement-option .comparison-row{padding:24px 26px;border-bottom:1px solid #d7dfd3}
.engagement-option h3{font:600 11px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#405d48;margin:0 0 13px}
.engagement-option p,.engagement-option li{font-size:15px;line-height:1.75;color:#415548}
.engagement-option p{margin:0}
.engagement-option .work-list{margin:0}
.engagement-option .work-list li{padding:0 0 12px 21px;border:0}
.engagement-option .work-list li::before{top:2px}
.engagement-option .work-list li:last-child{padding-bottom:0}
.engagement-option .comparison-fee{border-bottom:0;background:#f1f3ec}
.comparison-fee strong{display:block;color:#17362d;font-weight:600;margin-bottom:6px}
@supports not (grid-template-rows:subgrid){.engagement-option{grid-template-rows:auto auto auto 1fr auto;display:grid}}
@media(max-width:1050px) and (min-width:761px){.engagement-comparison{gap:0 15px;padding-left:4%;padding-right:4%}.engagement-option>header,.engagement-option .comparison-row{padding:22px 18px}.enquiry-flow{padding:24px}.enquiry-stages{gap:18px}.enquiry-stage:not(:last-child)::before{right:-18px}.enquiry-stage:not(:last-child)::after{right:-8px}}
@media(max-width:900px){.progress-stages{grid-template-columns:1fr;gap:28px}.progress-stage{padding-left:62px;display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1fr);gap:0 26px}.progress-stage .stage-marker{position:absolute;left:0;top:0;margin:0}.progress-stage:not(:last-child)::before{left:19px;right:auto;top:38px;bottom:-28px;width:1px;height:auto}.progress-stage:not(:last-child)::after{left:16px;right:auto;top:auto;bottom:-15px;transform:rotate(135deg)}.package-content .progress-stage h3{grid-column:1;margin:0 0 4px;font-size:29px}.package-content .progress-category{grid-column:1;min-height:0;max-width:none;margin:0;font-size:14px}.progress-deliverable{grid-column:2;grid-row:1/3;padding-top:8px;border-top:0}.progress-foundation::before{display:none}.foundation-heading{align-items:start;flex-direction:column;gap:10px}.foundation-items{gap:20px}}
@media(max-width:900px){.enquiry-stages{grid-template-columns:1fr;gap:32px}.service-detail .enquiry-flow{padding:24px 20px;margin-top:12px}.enquiry-stage{padding-left:54px}.enquiry-stage .stage-marker{position:absolute;left:0;top:0;margin:0;width:34px;height:34px}.enquiry-stage:not(:last-child)::before{left:17px;right:auto;top:34px;bottom:-32px;width:1px;height:auto}.enquiry-stage:not(:last-child)::after{left:14px;right:auto;top:auto;bottom:-17px;transform:rotate(135deg)}.enquiry-stage h3{font-size:27px;min-height:0;margin:4px 0 18px}.enquiry-stage dt{margin:12px 0 3px}.enquiry-stage dd{font-size:15px}.enquiry-flow figcaption{font-size:23px}.engagement-comparison{grid-template-columns:1fr;gap:26px;padding:35px 6% 28px}.engagement-option{grid-row:auto;grid-template-rows:none;display:block}.engagement-option>header,.engagement-option .comparison-row{padding:24px}.engagement-option h2{font-size:37px;max-width:14ch}.engagement-option p,.engagement-option li{font-size:16px}}
@media(max-width:570px){.progress-map{margin-top:30px}.progress-stage{display:block;padding-left:54px}.package-content .progress-stage h3{font-size:29px;margin-bottom:4px}.package-content .progress-category{font-size:13px;line-height:1.6;margin-bottom:17px}.progress-deliverable{border-top:1px solid #bac8b8;padding-top:13px}.progress-deliverable strong{max-width:none;font-size:16px}.progress-foundation{padding:24px 22px;margin-top:28px}.foundation-items{grid-template-columns:1fr;gap:18px}.foundation-items>div+div{border-top:1px solid #b6c6b4;padding-top:18px}.foundation-items strong{font-size:25px}.package-content .foundation-items p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.progress-map *,.enquiry-flow *{scroll-behavior:auto}}
