/* Section 4 is self-contained; previous chapter styles remain unchanged. */
.project-support{position:relative;z-index:5;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:clamp(64px,7vw,140px);overflow:hidden;background:var(--forest);color:var(--cream);padding:clamp(88px,7.5vw,144px) 5.5% clamp(100px,9vw,170px)}
.project-support-copy,.support-steps{position:relative;z-index:1}
.project-support h2{margin:0;font-family:var(--display);font-size:clamp(52px,4.8vw,92px);font-weight:600;line-height:1.03;letter-spacing:-.045em}
.project-support-intro{max-width:39ch;margin:32px 0 0;font-size:clamp(15px,1.25vw,23px);line-height:1.6;letter-spacing:-.02em}
.project-support-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:38px}
.support-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;padding:17px 25px;font-size:clamp(12px,.95vw,17px);font-weight:600;border:1px solid var(--cream);transition:background-color .25s,color .25s}
.support-button--primary{background:var(--cream);color:var(--forest)}
.support-button--secondary{background:transparent;color:var(--cream);font-weight:400}
.support-button svg{width:26px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.support-button:focus-visible{outline:2px solid var(--cream);outline-offset:5px}
@media(hover:hover){.support-button--primary:hover{background:var(--cotton);border-color:var(--cotton)}.support-button--secondary:hover{background:var(--cream);color:var(--forest)}}
.support-steps{--marker:clamp(76px,7vw,130px);--step-gap:clamp(40px,4.4vw,82px);margin:16px 0 0;padding:0;list-style:none}
.support-step{position:relative;display:grid;grid-template-columns:var(--marker) minmax(0,1fr);column-gap:clamp(24px,2.4vw,46px);padding-bottom:var(--step-gap)}
.support-step:last-child{padding-bottom:0}
.support-step:not(:last-child)::after{content:"";position:absolute;left:calc(var(--marker)/2);top:calc(var(--marker) + 12px);bottom:12px;width:1px;background:var(--cream);opacity:.5}
.support-marker{position:relative;width:var(--marker);height:var(--marker);display:grid;place-items:center;align-self:start;color:var(--forest)}
.support-marker img{position:absolute;width:100%;height:100%;object-fit:contain;transform:rotate(18deg)}
.support-marker--spring{color:var(--cream)}
.support-marker--spring img{transform:rotate(-20deg)}
.support-step:last-child .support-marker img{transform:rotate(-12deg)}
.support-marker span{position:relative;font-family:var(--display);font-size:calc(var(--marker)*.52);line-height:1;font-weight:400;padding-bottom:.08em}
.support-step-copy{padding-top:4px}
.support-step h3{margin:0 0 17px;font-family:var(--display);font-size:clamp(28px,2.35vw,44px);font-weight:600;line-height:1.12;letter-spacing:-.035em}
.support-step p{max-width:39ch;margin:0;font-size:clamp(14px,1.13vw,21px);line-height:1.6;letter-spacing:-.018em}
.support-outline{position:absolute;z-index:0;pointer-events:none;width:34vw;height:auto;left:-6vw;bottom:-22vw;transform:rotate(-24deg);color:var(--cream);opacity:.65;overflow:visible}
@media(min-width:761px) and (max-width:1100px){.project-support{gap:40px;padding-left:4%;padding-right:4%}.project-support h2{font-size:5vw}.project-support-intro{font-size:14px}.support-steps{--marker:64px;--step-gap:42px}.support-step{column-gap:20px}.support-step h3{font-size:27px}.support-step p{font-size:13px}.project-support-actions{gap:12px}.support-button{padding:15px 18px;font-size:12px}}
@media(max-width:760px){.project-support{grid-template-columns:1fr;gap:62px;padding:76px 6% 88px}.project-support h2{font-size:clamp(44px,11vw,68px)}.project-support-intro{font-size:15px;margin-top:27px}.project-support-actions{margin-top:30px;gap:12px}.support-button{min-height:54px;padding:16px 20px;font-size:13px}.support-steps{margin:0;--marker:65px;--step-gap:42px}.support-step{column-gap:22px}.support-step h3{font-size:29px}.support-step p{font-size:14px}.support-step:not(:last-child)::after{top:77px}.support-outline{width:80vw;left:-35vw;bottom:-65vw;opacity:.3}}
@media(max-width:390px){.project-support-actions{flex-direction:column;align-items:stretch}.support-steps{--marker:56px}.support-step{column-gap:18px}.support-step h3{font-size:27px}.support-step:not(:last-child)::after{top:68px}}
@media(prefers-reduced-motion:reduce){.project-support h2,.project-support-intro,.project-support-actions,.support-step{transform:none!important;opacity:1!important;visibility:visible!important}.support-button{transition:none}}

/* Motion-only wrappers retain the approved text dimensions and full descenders. */
.support-reveal-mask{display:block;overflow:hidden;overflow:clip;padding-bottom:.2em;margin-bottom:-.2em}
.support-reveal-text{display:block}
.support-enhanced .support-step::after{display:none}
.support-connector{position:absolute;left:calc(var(--marker)/2);top:calc(var(--marker) + 12px);bottom:12px;width:1px;background:var(--cream);opacity:.5;transform-origin:50% 0%}
@media(prefers-reduced-motion:reduce){.support-reveal-text,.support-marker,.support-connector{transform:none!important;opacity:1!important;visibility:visible!important}.support-connector{opacity:.5!important}.support-outline path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}
