.waste-stage-page {
    --waste-green: #007b67;
    --waste-green-dark: #00584e;
    --waste-navy: #08234d;
    --waste-text: #314663;
    --waste-muted: #67768a;
    --waste-line: #dce7e5;
    overflow: hidden;
    background: #ffffff;
    color: var(--waste-text);
    font-family: Poppins, sans-serif;
}

.waste-stage-page *, .waste-stage-page *::before, .waste-stage-page *::after { box-sizing: border-box; }
.waste-stage-container { width: min(1380px, calc(100% - 64px)); margin: 0 auto; }
.waste-stage-page svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.waste-stage-page h1, .waste-stage-page h2, .waste-stage-page h3, .waste-stage-page h4 { color: var(--waste-navy); font-family: 'Work Sans', Poppins, sans-serif; }

.waste-stage-hero { padding: 8rem 0 3.5rem; background: linear-gradient(135deg, #fff 0%, #fff 65%, #f3faf8 100%); }
.waste-stage-hero-grid { display: grid; grid-template-columns: minmax(29rem,.82fr) minmax(0,1.18fr); gap: clamp(1.5rem,3vw,3.5rem); align-items: start; }
.waste-stage-eyebrow { margin: 0 0 .9rem; color: var(--waste-green); font-size: .7rem; font-weight: 800; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.waste-stage-hero h1 { max-width: 40rem; margin: 0; font-size: clamp(3rem, 4.6vw, 5.2rem); font-weight: 700; letter-spacing: -.065em; line-height: 1.03; }
.waste-stage-hero h1 span { color: var(--waste-green); }
.waste-stage-lead { max-width: 41rem; margin: 1.3rem 0 0; font-size: clamp(.94rem, 1.05vw, 1.07rem); line-height: 1.75; }
.waste-stage-actions, .waste-stage-final-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.waste-stage-button, .waste-stage-button:visited { display: inline-flex; min-height: 3rem; gap: .6rem; align-items: center; justify-content: center; padding: .68rem 1rem; border: 1px solid var(--waste-green); border-radius: .48rem; background: var(--waste-green); color: #fff; font-size: .76rem; font-weight: 700; line-height: 1.2; text-decoration: none; transition: box-shadow 180ms ease, transform 180ms ease; }
.waste-stage-button:hover, .waste-stage-button:focus { box-shadow: 0 .9rem 1.8rem rgba(0,80,72,.18); color: #fff; transform: translateY(-2px); }
.waste-stage-button svg { width: 1rem; height: 1rem; }

.waste-stage-signal-section { padding: .8rem 0 2.5rem; }
.waste-stage-signals { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--waste-line); border-radius: .9rem; background: #fff; box-shadow: 0 1rem 2.4rem rgba(8,35,77,.06); }
.waste-stage-signals > div { display: flex; gap: .8rem; align-items: center; min-width: 0; min-height: 5.6rem; padding: .8rem clamp(.8rem,1.6vw,1.5rem); border-right: 1px solid var(--waste-line); }
.waste-stage-signals > div:last-child { border-right: 0; }
.waste-stage-signals span, .waste-stage-icon { display: grid; flex: 0 0 auto; width: 3rem; height: 3rem; padding: .7rem; border: 1px solid var(--waste-line); border-radius: 50%; background: #eff9f6; color: var(--waste-green-dark); place-items: center; }
.waste-stage-signals strong { color: var(--waste-navy); font-size: .72rem; line-height: 1.4; }

.waste-stage-hero-visual { display: grid; min-width: 0; margin: calc(1.81rem + clamp(1.545rem,2.369vw,2.678rem)) 0 0; overflow: visible; place-items: center; }
.waste-stage-hero-visual img { display: block; width: 102%; max-width: none; height: auto; object-fit: contain; transform: translateY(-.65rem); }

.waste-stage-features, .waste-stage-workflow, .waste-stage-outcomes { padding: 2.5rem 0; border-top: 1px solid #edf1f2; }
.waste-stage-heading.is-centred { max-width: 67rem; margin: 0 auto 2rem; text-align: center; }
.waste-stage-heading h2 { margin: 0; font-size: clamp(2.15rem,3.3vw,3.55rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.04; }
.waste-stage-feature-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1rem; }
.waste-stage-feature-grid article { min-width: 0; min-height: 18rem; padding: 1.4rem; border: 1px solid var(--waste-line); border-radius: .8rem; background: #fff; box-shadow: 0 .8rem 2rem rgba(8,35,77,.04); transition: box-shadow 180ms ease, transform 180ms ease; }
.waste-stage-feature-grid article:hover { box-shadow: 0 1rem 2.2rem rgba(8,35,77,.09); transform: translateY(-4px); }
.waste-stage-feature-grid .waste-stage-icon { margin: 0; }
.waste-stage-feature-grid h3 { margin: 1rem 0 0; font-size: .91rem; line-height: 1.4; }
.waste-stage-feature-grid p { margin: .8rem 0 0; color: var(--waste-muted); font-size: .72rem; line-height: 1.65; }

.waste-stage-workflow { background: radial-gradient(circle at 50% 45%, rgba(0,123,103,.07), transparent 28rem), #f8fbfa; }
.waste-stage-workflow-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2.5rem; margin: 2.8rem 0 0; padding: 0; list-style: none; }
.waste-stage-workflow-grid > li { position: relative; min-width: 0; text-align: center; }
.waste-stage-workflow-grid > li:not(:last-child)::after { position: absolute; top: 2.1rem; left: calc(50% + 3.5rem); width: calc(100% - 4.5rem); height: 1px; background: linear-gradient(90deg, rgba(0,123,103,.25), var(--waste-green-dark)); content: ""; }
.waste-stage-workflow-grid > li:not(:last-child)::before { position: absolute; z-index: 2; top: 1.9rem; right: -1.3rem; width: .45rem; height: .45rem; border-top: 1px solid var(--waste-green-dark); border-right: 1px solid var(--waste-green-dark); content: ""; transform: rotate(45deg); }
.waste-stage-step-icon { display: grid; width: 4.2rem; height: 4.2rem; margin: 0 auto 1.35rem; padding: 1rem; border: 1px solid rgba(0,123,103,.16); border-radius: 50%; background: #fff; color: var(--waste-green-dark); box-shadow: 0 .8rem 2rem rgba(8,35,77,.08); place-items: center; }
.waste-stage-workflow-grid strong { display: block; color: var(--waste-navy); font-size: .86rem; line-height: 1.45; }
.waste-stage-workflow-grid p { max-width: 16rem; margin: .65rem auto 0; color: var(--waste-muted); font-size: .7rem; line-height: 1.62; }

.waste-stage-outcomes { padding-bottom: 3.3rem; }
.waste-stage-outcome-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.waste-stage-outcome-grid article { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .9rem; min-height: 10rem; padding: 1.2rem; border: 1px solid var(--waste-line); border-radius: .8rem; background: #fff; box-shadow: 0 .8rem 2rem rgba(8,35,77,.04); transition: box-shadow 180ms ease, transform 180ms ease; }
.waste-stage-outcome-grid article:hover { box-shadow: 0 1rem 2.2rem rgba(8,35,77,.09); transform: translateY(-3px); }
.waste-stage-outcome-grid .waste-stage-icon { margin: 0; }
.waste-stage-outcome-grid h3 { margin: 0; font-size: .82rem; line-height: 1.4; }
.waste-stage-outcome-grid p { margin: .55rem 0 0; color: var(--waste-muted); font-size: .67rem; line-height: 1.6; }

.waste-stage-ai { padding: 2.5rem 0 3.5rem; background: #f8fbfa; }
.waste-stage-ai-panel { display: grid; grid-template-columns: minmax(22rem,.78fr) minmax(0,1.22fr); gap: clamp(2rem,4vw,4rem); align-items: center; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid var(--waste-line); border-radius: 1rem; background: #fff; box-shadow: 0 1rem 2.8rem rgba(8,35,77,.07); }
.waste-stage-ai-copy h2 { margin: 0; color: var(--waste-navy); font-size: clamp(2rem,3vw,3.2rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.04; }
.waste-stage-ai-copy > p:not(.waste-stage-eyebrow) { margin: 1rem 0 0; color: var(--waste-muted); font-size: .82rem; line-height: 1.7; }
.waste-stage-ai-points { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 1.4rem; }
.waste-stage-ai-points span { display: flex; gap: .65rem; align-items: center; min-width: 0; color: var(--waste-navy); font-size: .68rem; line-height: 1.4; }
.waste-stage-ai-points svg { flex: 0 0 auto; width: 1.45rem; height: 1.45rem; padding: .25rem; border-radius: 50%; background: #eff9f6; color: var(--waste-green-dark); }
.waste-stage-ai-visual { min-width: 0; margin: 0; overflow: hidden; padding: .55rem; border: 1px solid var(--waste-line); border-radius: .9rem; background: #f7faf9; }
.waste-stage-ai-visual img { display: block; width: 100%; height: auto; border-radius: .6rem; }

.waste-stage-final-cta.reference-closing { padding: 3.4rem 0 3rem; background: linear-gradient(115deg,#007b67,#00584e); }
.waste-stage-final-grid.staging-closing-panel { grid-template-columns: minmax(0,1fr) auto; max-width: none; border: 0; background: transparent; box-shadow: none; }
.waste-stage-final-grid .staging-closing-title, .waste-stage-final-grid .staging-closing-copy, .waste-stage-final-grid .staging-closing-signals { color: #fff; }
.waste-stage-final-grid .staging-closing-title { max-width: 55rem; }
.waste-stage-final-grid .staging-closing-signals { border-top-color: rgba(255,255,255,.2); }

@media (max-width: 1180px) {
    .waste-stage-hero-grid { grid-template-columns: minmax(26rem,.88fr) minmax(0,1.12fr); gap: 2rem; }
    .waste-stage-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .waste-stage-feature-grid article { min-height: 15rem; }
    .waste-stage-workflow-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 1rem; }
    .waste-stage-workflow-grid > li:not(:last-child)::before, .waste-stage-workflow-grid > li:not(:last-child)::after { display: none; }
}

@media (max-width: 960px) {
    .waste-stage-hero-grid, .waste-stage-ai-panel, .waste-stage-final-grid.staging-closing-panel { grid-template-columns: 1fr; }
    .waste-stage-hero-copy { max-width: 54rem; }
    .waste-stage-hero-visual { width: min(100%,54rem); margin: 0 auto; }
    .waste-stage-hero-visual img { width: 100%; max-width: 100%; transform: none; }
    .waste-stage-signals { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .waste-stage-signals > div { border-bottom: 1px solid var(--waste-line); }
    .waste-stage-signals > div:nth-child(3) { border-right: 0; }
    .waste-stage-signals > div:nth-last-child(-n+2) { border-bottom: 0; }
    .waste-stage-outcome-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .waste-stage-final-actions { justify-content: flex-start; }
}

@media (max-width: 720px) {
    .waste-stage-container { width: calc(100% - 32px); }
    .waste-stage-hero { padding: 7rem 0 2.5rem; }
    .waste-stage-hero h1 { font-size: clamp(2.6rem,11.5vw,3.45rem); }
    .waste-stage-actions, .waste-stage-final-actions { display: grid; grid-template-columns: 1fr; }
    .waste-stage-button { width: 100%; }
    .waste-stage-signals { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .waste-stage-signals > div { border-right: 0; }
    .waste-stage-signals > div:nth-child(odd) { border-right: 1px solid var(--waste-line); }
    .waste-stage-signals > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--waste-line); }
    .waste-stage-signals > div:last-child { grid-column: 1/-1; border-right: 0; border-bottom: 0; }
    .waste-stage-ai-points { grid-template-columns: 1fr; }
    .waste-stage-feature-grid, .waste-stage-workflow-grid, .waste-stage-outcome-grid { grid-template-columns: 1fr; }
    .waste-stage-feature-grid article { min-height: 0; }
    .waste-stage-outcome-grid article { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .waste-stage-button, .waste-stage-feature-grid article, .waste-stage-outcome-grid article { transition: none; }
}
