.project-page .container{max-width:1120px}
.project-page .project-intro,.project-page .project-section{padding:clamp(20px,4vw,36px);margin-bottom:24px;min-width:0;scroll-margin-top:110px}
.project-page article{min-width:0}
.project-page h2{line-height:1.3}
.project-page p,.project-page li{line-height:1.75;overflow-wrap:anywhere}
.project-page li+li{margin-top:12px}
.project-toc{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0}
.project-toc a{font-weight:700;text-underline-offset:4px}
.project-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style-position:inside;counter-reset:stage}
.project-flow li{background:#edf3ff;border:1px solid #cad9fa;border-radius:12px;padding:18px;color:#23395c;margin:0!important}
.project-page details{margin-top:22px}
.project-page summary{cursor:pointer;font-weight:700;padding:10px 0}
.project-page pre{background:#14243c;color:#f5f7ff;padding:20px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.88rem}
.project-page .btn{white-space:normal;text-align:center}
.project-page a:focus-visible,.project-page summary:focus-visible{outline:3px solid #315cf5;outline-offset:4px}
@media(max-width:650px){.project-flow{grid-template-columns:1fr}.project-toc{flex-direction:column}.project-page ol:not(.project-flow),.project-page ul{padding-left:22px}}
