.cmp{aspect-ratio:16/10;background:var(--bg-3);user-select:none;margin:0;position:relative;overflow:hidden}.cmp-img,.cmp-img img{width:100%;height:100%;position:absolute;inset:0}.cmp-img img{object-fit:cover}.cmp-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.cmp-line{top:0;bottom:0;left:var(--pos);background:var(--accent);pointer-events:none;width:2px;margin-left:-1px;position:absolute}.cmp-line:after{content:"↔";border:1px solid var(--accent);width:44px;height:44px;color:rgb(var(--paper-rgb));background:#1a1817;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cmp-range{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.cmp-range:focus-visible+.cmp-line,.cmp:has(.cmp-range:focus-visible) .cmp-line:after{outline:2px solid var(--accent);outline-offset:2px}.cmp-tag{background:rgba(var(--charcoal-rgb),.7);color:rgb(var(--paper-rgb));letter-spacing:.16em;text-transform:uppercase;pointer-events:none;padding:6px 12px;font-size:11px;position:absolute;top:16px}.cmp-tag--before{left:16px}.cmp-tag--after{right:16px}.gal-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(160px,20vw,280px);gap:clamp(4px,.5vw,8px);margin:clamp(32px,4vw,56px) 0 0;padding:0;list-style:none;display:grid}.gal-cell:first-child{grid-area:span 2/span 2}.gal-item{background:var(--bg-3);cursor:zoom-in;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.gal-item img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.gal-item:hover img,.gal-item:focus-visible img{transform:scale(1.04)}.gal-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gal-box{background:rgba(var(--charcoal-rgb),.96);width:100vw;max-width:none;height:100dvh;max-height:none;color:rgb(var(--paper-rgb));border:0;margin:0;padding:0}.gal-box::backdrop{background:rgba(var(--charcoal-rgb),.8)}.gal-figure{flex-direction:column;justify-content:center;align-items:center;gap:14px;margin:0;display:flex;position:absolute;inset:56px 72px}.gal-img{object-fit:contain;max-width:100%;max-height:calc(100% - 40px)}.gal-cap{letter-spacing:.08em;color:rgba(var(--paper-rgb),.72);text-align:center;font-size:13px}.gal-btn{border:1px solid rgba(var(--paper-rgb),.24);background:rgba(var(--charcoal-rgb),.6);width:48px;height:48px;color:rgb(var(--paper-rgb));font-size:20px;transition:border-color .2s;position:absolute}.gal-btn:hover{border-color:var(--accent)}.gal-prev{top:50%;left:12px;transform:translateY(-50%)}.gal-next{top:50%;right:12px;transform:translateY(-50%)}.gal-x{font-size:26px;top:12px;right:12px}@media (width<=720px){.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42vw}.gal-figure{inset:64px 12px 72px}.gal-prev,.gal-next{top:auto;bottom:12px;transform:none}}.prj-cover{max-width:1200px;padding:0 var(--pad) clamp(40px,5vw,72px);margin:0 auto}.prj-cover img{object-fit:cover;width:100%;height:auto;max-height:80vh;display:block}.prj-body{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:start;gap:clamp(32px,5vw,96px);display:grid}.prj-h{margin:0 0 14px;font-size:clamp(22px,2vw,30px);line-height:1.15}.prj-h:not(:first-child){margin-top:clamp(32px,3.6vw,52px)}.prj-p{max-width:64ch;color:var(--muted);margin:0 0 14px;font-size:17px;line-height:1.7}.prj-list{gap:10px;max-width:64ch;margin:0;padding:0;list-style:none;display:grid}.prj-list li{color:var(--muted);padding-left:22px;font-size:16px;line-height:1.6;position:relative}.prj-list li:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:.7em;left:0}.prj-facts{top:calc(var(--hdr) + 24px);border-top:1px solid var(--line);position:sticky}.prj-facts dl{margin:0}.prj-fact{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;padding:14px 0;display:grid}.prj-fact dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding-top:3px;font-size:11px}.prj-fact dd{flex-direction:column;gap:4px;margin:0;font-size:15px;line-height:1.5;display:flex}.prj-fact a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.prj-hint{color:var(--muted);margin:14px 0 28px;font-size:15px}.prj-review blockquote{max-width:40ch;margin:0;font-size:clamp(22px,2.4vw,34px);font-weight:300;line-height:1.35}.prj-review-who{color:var(--muted);margin:22px 0 0}.prj-review-who b{color:var(--ink);font-weight:400}.prj-related-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.prj-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4px,.5vw,8px);margin-top:clamp(28px,3.4vw,48px);display:grid}@media (width<=900px){.prj-body{grid-template-columns:minmax(0,1fr)}.prj-facts{position:static}}@media (width<=560px){.prj-related-grid{grid-template-columns:minmax(0,1fr)}}
