.project-image-zoom-trigger{position:relative;display:block;width:100%;height:100%;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:transparent;color:inherit}.project-image-zoom-trigger--hero,.project-image-zoom-trigger--thumb{border-radius:inherit}.project-image-zoom-hint{position:absolute;right:.55rem;bottom:.55rem;z-index:2;display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--hairline) 80%,transparent);background:color-mix(in srgb,#0c0c0e 72%,transparent);color:var(--text-secondary);backdrop-filter:blur(10px);opacity:0;transform:translateY(4px);transition:opacity var(--duration-ui) var(--ease-ui-out),transform var(--duration-ui) var(--ease-ui-out),color var(--duration-ui) var(--ease-ui-out),border-color var(--duration-ui) var(--ease-ui-out)}@media (hover:hover) and (pointer:fine){.project-image-zoom-trigger:hover .project-image-zoom-hint{opacity:1;transform:translateY(0);color:var(--mint);border-color:color-mix(in srgb,var(--mint) 35%,transparent)}}@media (hover:none),(pointer:coarse){.project-image-zoom-hint{opacity:.85;transform:none}}.project-image-lightbox{position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:1rem;background:color-mix(in srgb,#050506 88%,transparent);backdrop-filter:blur(18px);animation:project-lightbox-in .18s var(--ease-ui-out)}@keyframes project-lightbox-in{0%{opacity:0}to{opacity:1}}.project-image-lightbox-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.35rem .25rem .85rem}.project-image-lightbox-title{margin:0;max-width:min(60ch,70vw);font-family:var(--font-label);font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary)}.project-image-lightbox-controls{display:inline-flex;align-items:center;gap:.35rem}.project-image-lightbox-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .65rem;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 85%,transparent);font-family:var(--font-mono);font-size:.875rem;line-height:1;color:var(--text-primary);transition:border-color var(--duration-ui) var(--ease-ui-out),background-color var(--duration-ui) var(--ease-ui-out),transform var(--duration-press) var(--ease-ui-out)}.project-image-lightbox-btn.is-close{margin-left:.25rem}.project-image-lightbox-btn:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.project-image-lightbox-btn:hover{border-color:color-mix(in srgb,var(--mint) 35%,transparent);color:var(--mint)}}.project-image-lightbox-scale{min-width:3.25rem;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-muted)}.project-image-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;border-radius:1rem;border:1px solid var(--hairline);background:color-mix(in srgb,#0a0a0c 92%,transparent);cursor:zoom-in;touch-action:none;user-select:none}.project-image-lightbox-stage.is-zoomed{cursor:grab}.project-image-lightbox-stage.is-zoomed:active{cursor:grabbing}.project-image-lightbox-img{max-width:min(96%,1200px);max-height:calc(100vh - 9rem);width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .12s var(--ease-ui-out);will-change:transform;pointer-events:none}.project-image-lightbox-help{margin:0;padding:.75rem .25rem .15rem;text-align:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.project-image-lightbox,.project-image-lightbox-img,.project-image-zoom-hint{animation:none;transition:none}}