.works-wall { margin: 2.5rem 0; padding-top: 2rem; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.works-wall h3 { font-size: clamp(1.5rem,3vw,2.4rem); }
.works-wall p,.works-wall label,.works-wall button,.works-wall input { font-size: 1rem; line-height: 1.65; }
.works-wall-date { color: var(--muted); }
.works-tools { display: grid; gap: .5rem; max-width: 36rem; margin: 1.25rem 0; }
.works-tools input { width: 100%; min-width: 0; min-height: 48px; padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--ink); }
.works-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,230px),1fr)); gap: 1.2rem; margin: 1rem 0; }
.work-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); overflow: hidden; }
.work-card a { display: flex; height: 100%; flex-direction: column; color: var(--ink); text-decoration: none; }
.work-card a:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; }
.work-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; background: var(--paper); }
.work-card h4 { margin: .8rem .8rem .4rem; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.works-wall .work-original { margin: .2rem .8rem .5rem; font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.work-open { display: flex; align-items: center; min-height: 48px; padding: .5rem .8rem; margin-top: auto; font-size: 1rem; text-decoration: underline; }
.works-wall [hidden] { display: none !important; }
