:root{--bg:#0c0c0d;--panel:#141416;--line:#26262a;--text:#ececee;--dim:#8b8b93;--gutter:clamp(16px,4vw,48px)}
*{box-sizing:border-box;margin:0}
html{background:var(--bg);color-scheme:dark}
body{background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1240px;margin:0 auto;padding:40px var(--gutter) 80px}
h1{font-size:clamp(22px,3.2vw,30px);font-weight:600;letter-spacing:-.015em;margin-bottom:16px}
h2{font-size:clamp(22px,3.2vw,30px);font-weight:600;letter-spacing:-.015em;margin-bottom:22px}
hr{border:0;border-top:1px solid var(--line);margin:44px 0}
.grid{display:grid;gap:28px 20px;grid-template-columns:repeat(3,1fr)}
.grid.stills{gap:20px 16px;margin-top:0}
.sub{margin:48px 0 18px;padding-top:0}
.label{margin-top:8px;font-size:12px;color:var(--dim);letter-spacing:.02em;word-break:break-all}
.still{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--panel);cursor:zoom-in;aspect-ratio:16/9}
.still img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.still:hover img{transform:scale(1.03)}
.still:focus-visible{outline:2px solid #e8e6e1;outline-offset:2px}
.lb{position:fixed;inset:0;background:rgba(5,5,6,.96);display:none;z-index:20;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:calc(100vh - 110px);border-radius:4px;display:block}
.lb .cap{margin-top:14px;color:var(--dim);font-size:13px;text-align:center}
.lb button{position:absolute;background:none;border:0;color:#ccc;font-size:28px;cursor:pointer;padding:16px;line-height:1}
.lb button:hover{color:#fff}
.lb .x{top:6px;right:10px}.lb .p{left:6px;top:50%;transform:translateY(-50%)}.lb .n{right:6px;top:50%;transform:translateY(-50%)}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}.grid.stills{grid-template-columns:1fr 1fr;gap:10px}}
