/* Reuse the portfolio's visual language and existing navigation. */
#illustration{border-top:1px solid var(--line)}
#illustration .section-head h2{max-width:16ch}
.illustration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}
.illustration-card{min-width:0}
.illustration-image{display:block;position:relative;overflow:hidden;aspect-ratio:1;border:1.5px solid var(--line-strong);border-radius:var(--r-lg);background:var(--paper-2);text-decoration:none;transition:box-shadow .2s ease}
.illustration-image img{display:block;width:100%;height:100%;object-fit:contain}
.illustration-image:hover,.illustration-image:focus-visible{box-shadow:var(--shadow-hard)}
.illustration-image:focus-visible{outline:3px solid var(--green-deep);outline-offset:4px}
.illustration-open{position:absolute;right:12px;bottom:12px;padding:8px 10px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:.7rem;font-weight:700;opacity:0;transition:opacity .2s ease}
.illustration-image:hover .illustration-open,.illustration-image:focus-visible .illustration-open{opacity:1}
.illustration-copy{padding-top:18px}
.illustration-copy .work-meta{margin-bottom:10px}
.illustration-copy h3{font-family:var(--display);font-size:clamp(22px,2.5vw,30px);line-height:1.2;margin:0}
.illustration-copy p{font-size:.92rem;color:var(--ink-soft);line-height:1.6;margin:10px 0 0}
.illustration-cta{margin:38px 0 0}
@media(max-width:920px){.illustration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.illustration-grid{grid-template-columns:minmax(0,1fr);gap:32px}.illustration-cta .btn{white-space:normal;text-align:center}}
@media(hover:none){.illustration-open{opacity:1}}
@media(prefers-reduced-motion:reduce){.illustration-image,.illustration-open{transition:none}}
