.project-date { color:var(--muted); font-size:14px; }
.project-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; padding-bottom:50px; }
.project-intro h2 { margin-top:0; }
.project-intro li { margin-bottom:15px; }
.project-figure { margin:0; min-width:0; }
.project-figure img { display:block; width:100%; max-height:700px; object-fit:contain; background:#e7edf2; border:1px solid var(--line); border-radius:6px; }
.project-figure figcaption { font-size:13px; line-height:1.7; color:var(--muted); padding:12px 0; }
.project-contents { display:flex; flex-wrap:wrap; gap:12px 25px; padding:22px 0; border-block:1px solid var(--line); }
.project-contents a { text-decoration:none; }
.project-insight { padding:40px; margin:45px 0; background:#e9eff5; border-radius:8px; }
.project-analysis { max-width:800px; margin:0 auto; }
.project-analysis article { padding:45px 0; border-bottom:1px solid var(--line); }
.project-analysis h2,.project-insight h2,.project-section>h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; letter-spacing:-1px; }
.project-analysis p,.project-insight p,.project-grid p,.project-grid li,.project-intro li,.project-index p { color:var(--muted); line-height:1.85; }
.project-analysis p { margin:22px 0 0; }
.project-section { padding:50px 0; border-bottom:1px solid var(--line); scroll-margin-top:20px; }
.project-grid,.project-index { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.project-grid article { padding:25px; border:1px solid var(--line); border-radius:7px; }
.project-grid h3 { font-size:23px; line-height:1.3; }
.project-gallery { display:grid; gap:40px; }
.project-table-wrap { overflow-x:auto; margin:30px 0; }
.project-table-wrap table { border-collapse:collapse; width:100%; text-align:left; }
.project-table-wrap caption { text-align:left; padding-bottom:16px; }
.project-table-wrap th,.project-table-wrap td { padding:14px; border:1px solid var(--line); vertical-align:top; }
.project-index { padding-bottom:60px; }
.project-index article { border-bottom:1px solid var(--line); padding-bottom:35px; }
.project-index a { text-decoration:none; }
.project-index img { width:100%; height:250px; object-fit:contain; background:#e7edf2; margin-bottom:25px; }
.project-index h2 { font-size:28px; line-height:1.25; }
@media(max-width:700px){.project-intro,.project-grid,.project-index{grid-template-columns:1fr}.project-insight{padding:25px}.project-table-wrap{font-size:13px}.project-contents{gap:15px}.project-analysis article{padding:35px 0}.project-intro{gap:20px}}
