
.proof-work { --proof-paper:#ebe7de; --proof-muted:#a6a6a4; --proof-line:#383a3a; color:var(--proof-paper); margin:0 0 5rem; }
.proof-intro { padding:2.5rem 0 3rem; }
.proof-type { font:11px/1.4 Arial,sans-serif; letter-spacing:.14em; color:var(--proof-muted); }
.proof-intro h3 { font-size:clamp(2.4rem,5.5vw,5.4rem); line-height:1.02; letter-spacing:-.045em; margin:1rem 0 1.4rem; font-weight:500; }
.proof-intro p { color:var(--proof-muted); font-size:1rem; }
.proof-film { min-width:0; margin:0; border-bottom:1px solid var(--proof-line); padding-bottom:1.8rem; }
.proof-media { overflow:hidden; border-radius:12px; background:#121415; border:1px solid #303234; }
.proof-media video { display:block; width:100%; height:auto; max-height:78vh; }
.proof-feature { margin-bottom:3rem; }
.proof-caption { display:flex; justify-content:space-between; align-items:start; gap:1rem; padding-top:1.3rem; }
.proof-caption h4,.proof-still h4 { font:500 25px/1.2 Arial,sans-serif; letter-spacing:-.03em; margin:.55rem 0; color:var(--proof-paper); }
.proof-caption p,.proof-still p { font:14px/1.6 Arial,sans-serif; color:var(--proof-muted); max-width:40rem; }
.proof-caption a,.proof-still a { color:inherit; }
.proof-download { font:12px/1.4 Arial,sans-serif; border:1px solid #555; border-radius:30px; padding:.65rem 1rem; margin-top:.35rem; white-space:nowrap; }
.proof-download:hover { background:#ebe7de; color:#151718; }
.proof-software { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 1.5rem; }
.proof-software .proof-film:last-child { grid-column:1 / -1; max-width:74%; }
.proof-heading { padding:5rem 0 2rem; }
.proof-heading h3 { font:400 2.5rem/1.1 Arial,sans-serif; letter-spacing:-.04em; margin:.7rem 0; }
.proof-stills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem 1.4rem; }
.proof-art { aspect-ratio:1; display:flex; align-items:center; justify-content:center; background:#17191b; border-radius:10px; overflow:hidden; border:1px solid #333; }
.proof-art img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.proof-still a:hover img { transform:scale(1.025); }
.proof-still h4 { font-size:21px; margin:1rem 0 .5rem; }
.proof-more { border-top:1px solid var(--proof-line); margin-top:4rem; padding:1.5rem 0; }
.proof-more summary { font:14px/1.4 Arial,sans-serif; cursor:pointer; margin-bottom:1.5rem; }
[data-light="1"] .proof-work { --proof-paper:#242729;--proof-muted:#565b60;--proof-line:#ccd0d3; }
@media(max-width:700px){.proof-software,.proof-stills{grid-template-columns:1fr}.proof-software .proof-film:last-child{max-width:100%;grid-column:auto}.proof-intro{padding-top:1rem}.proof-caption h4{font-size:23px}.proof-feature{margin-bottom:2.5rem}.proof-media{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.proof-art img{transition:none}}

.proof-more .walkthrough-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.proof-more .walkthrough-card{display:block;min-width:0;color:inherit;border:1px solid #333;border-radius:8px;overflow:hidden}.proof-more .walkthrough-card img{display:block;width:100%;height:auto}.proof-more .walkthrough-card>span{display:block;padding:1rem;font:14px Arial,sans-serif}@media(max-width:700px){.proof-more .walkthrough-grid{grid-template-columns:1fr}}

.proof-more .proof-heading{padding:0 0 1.5rem}.proof-more .proof-heading p{color:var(--proof-muted);font-size:14px}.proof-more .walkthrough-card:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* One gallery, one visual rhythm. The standalone preview page keeps its layout. */
.work-header { align-items:flex-end; gap:2rem; margin-bottom:2rem; }
.work-header .section-title { margin-bottom:0; }
.work-intro { color:#a6a6a4; font-size:.95rem; line-height:1.65; max-width:28rem; }
.work-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:0; }
.work-gallery .work-card { display:flex; flex-direction:column; min-width:0; margin:0; padding:0; border:1px solid var(--proof-line); border-radius:12px; overflow:hidden; background:var(--bg2); transition:border-color .2s ease,transform .2s ease; }
.work-gallery .work-card:hover { border-color:var(--accent); transform:translateY(-3px); }
.work-gallery .work-card:focus-within { border-color:var(--accent); }
.work-gallery .work-media { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:16 / 10; min-width:0; margin:0; border:0; border-bottom:1px solid var(--proof-line); border-radius:0; overflow:hidden; background:#101215; }
.work-gallery .work-media img,.work-gallery .work-media video { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
.work-caption { display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:.65rem; padding:1.4rem 1.5rem 1.5rem; }
.work-kind { display:block; color:var(--accent); font:10px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.work-caption h3 { width:100%; font:500 clamp(1.15rem,2vw,1.45rem)/1.25 var(--sans); letter-spacing:-.035em; }
.work-caption h3 a { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; color:var(--text); }
.work-caption h3 a span { color:var(--accent); font-size:1rem; }
.work-caption p,.work-extra p { color:var(--proof-muted); font:14px/1.65 var(--sans); overflow-wrap:anywhere; }
.work-secondary { margin-top:auto; padding-top:.6rem; color:var(--proof-muted); font:10px/1.6 var(--mono); }
.work-secondary:hover { color:var(--accent); }
.work-extras { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:1.5rem; }
.work-extra { display:flex; flex-direction:column; gap:.75rem; min-width:0; padding:1.4rem; border:1px solid var(--proof-line,#383a3a); border-radius:12px; background:var(--bg2); }
.work-extra h3 { display:flex; justify-content:space-between; gap:.7rem; color:var(--text); font:500 1.05rem/1.4 var(--sans); letter-spacing:-.025em; }
.work-extra h3 span { color:var(--accent); }
.work-extra p { color:#a6a6a4; font-size:13px; }
.work-extra:hover { border-color:var(--accent); }
.work-card a:focus-visible,.work-extra:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
[data-light="1"] .work-intro,[data-light="1"] .work-extra p { color:#565b60; }
[data-light="1"] .work-extra { border-color:var(--border); }
@media(max-width:900px) { .work-extras { grid-template-columns:1fr; gap:.75rem; } }
@media(max-width:700px) {
  .work-header { flex-direction:column; align-items:flex-start; gap:1rem; }
  .work-gallery { grid-template-columns:1fr; gap:1.25rem; }
  .work-caption { padding:1.2rem; }
  .work-card:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) { .work-gallery .work-card { transition:none; } .work-gallery .work-card:hover { transform:none; } }

/* Keep the remaining text projects and the final animation balanced. */
@media(min-width:701px) {
  .work-gallery .work-card:last-child:nth-child(odd) { grid-column:1 / -1; width:calc((100% - 1.5rem) / 2); justify-self:center; }
}
.work-extras { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:700px) { .work-extras { grid-template-columns:1fr; } }
