/* Portfolio extends the existing palette and typography without changing forms. */
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.project-card { overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); display:flex; flex-direction:column; }
.project-image { display:flex; align-items:center; background:#e8edef; aspect-ratio:1.85; overflow:hidden; padding:1rem; border-bottom:1px solid var(--border); }
.project-image img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 8px #17232d18); }
.project-copy { padding:2rem; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.project-copy .section-label { font-size:.7rem; line-height:1.6; }
.project-copy h3 { margin:.4rem 0 1rem; }
.project-copy p { margin-bottom:1.4rem; }
.project-copy .text-link { margin-top:auto; }
.portfolio-more { margin-top:2.5rem; }
.portfolio-note { max-width:800px; margin:2.5rem auto 0; text-align:center; font-size:.95rem; }
.founder-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:5rem; }
.founder-grid p { margin:0 0 1.2rem; }
.founder-role { margin-top:.5rem !important; color:var(--primary); }
.founder-intro { font-size:1.25rem; margin-top:1.5rem !important; }
.founder-section { border-bottom:1px solid var(--border); scroll-margin-top:100px; }
.case-hero { padding-bottom:3rem; }
.case-hero .text-link { display:block; width:fit-content; margin-bottom:2.5rem; }
.case-hero h1 { max-width:1000px; margin-inline:auto; }
.case-visual-section { padding:0; }
.case-visual { padding:1.25rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface-soft); }
.case-visual img { width:100%; border-radius:var(--radius-sm); }
.case-visual figcaption { padding:.9rem 0 0; font-size:.85rem; color:var(--muted); }
.case-content { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:start; }
.case-content h2 { font-size:2rem; margin-bottom:1.25rem; }
.case-content p + h2 { margin-top:2.5rem; }
.case-scope { background:var(--surface-soft); padding:2rem; border-radius:var(--radius); }
.case-scope ul { list-style:disc; padding-left:1.25rem; margin-bottom:2rem; color:var(--ink-soft); }
.case-scope li { padding-bottom:.75rem; }
.case-scope h3 { margin-bottom:1rem; }
@media(max-width:700px) {
 .project-grid,.founder-grid,.case-content { grid-template-columns:1fr; gap:2rem; }
 .project-copy,.case-scope { padding:1.5rem; }
 .project-image { padding:.65rem; }
 .case-visual { padding:.65rem; }
 .case-hero h1 { font-size:clamp(2.3rem,10vw,3.3rem); overflow-wrap:anywhere; }
 .project-copy .section-label { letter-spacing:.08em; }
}
