.project-gallery{margin:0}.project-gallery__viewport{position:relative}.project-gallery__open{cursor:zoom-in;touch-action:pan-y;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.project-gallery__slide:not([hidden]){position:absolute;inset:0}.project-gallery__arrow{z-index:2;border:1px solid var(--home-line,#e9e3d9);width:2.75rem;height:2.75rem;color:var(--home-ink,#242620);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;transition:background .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 12px #24262018}.project-gallery__arrow svg{width:1.25rem;height:1.25rem}.project-gallery__arrow:hover{background:var(--home-soft,#faf9f6)}.project-gallery__arrow--previous{left:.75rem}.project-gallery__arrow--next{right:.75rem}.project-gallery__count{color:#fff;font:.75rem/1.3 var(--font-stoeckl-sans), Arial, sans-serif;pointer-events:none;background:#292824d9;border-radius:999px;padding:.35rem .6rem;position:absolute;bottom:.75rem;left:.75rem}.project-gallery__expand{color:#292824;font:.75rem/1.3 var(--font-stoeckl-sans), Arial, sans-serif;background:#fffffff0;border-radius:999px;padding:.35rem .65rem;position:absolute;bottom:.75rem;right:.75rem}.project-gallery__caption{color:#625e56;border-bottom:1px solid #e4ded2;min-height:3.8rem;padding:.8rem 1.25rem;font-size:.85rem;line-height:1.5}.project-gallery button:focus-visible,.project-gallery__dialog button:focus-visible{outline-offset:-4px;outline:3px solid #8d7854}.project-gallery__dialog{border:1px solid var(--home-line,#e9e3d9);width:min(100vw - 3rem,1120px);max-width:none;height:fit-content;max-height:calc(100dvh - 3rem);color:var(--home-ink,#242620);font-family:var(--font-stoeckl-sans), Arial, sans-serif;background:#fff;border-radius:1.5rem;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 24px 80px #24262026}.project-gallery__dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#242620b8}.project-gallery__header{border-bottom:1px solid var(--home-line,#e9e3d9);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.project-gallery__eyebrow{color:var(--home-sand,#766243);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem;font-weight:650;line-height:1.4}.project-gallery__header h2{font-family:var(--font-stoeckl-serif), Georgia, serif;letter-spacing:-.035em;margin:0;font-size:clamp(1.4rem,2.3vw,2rem);font-weight:500;line-height:1.15}.project-gallery__close{border:1px solid var(--home-ink,#242620);background:var(--home-ink,#242620);color:#fff;cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.6rem;min-height:2.75rem;padding:.65rem 1rem;font-size:.85rem;line-height:1.3;transition:background .18s;display:inline-flex}.project-gallery__close:hover{background:#4b493f}.project-gallery__close svg{width:1rem;height:1rem}.project-gallery__image-area{background:var(--home-soft,#faf9f6);padding:1.25rem 2rem}.project-gallery__large-image{width:100%;max-height:calc(100dvh - 19rem);margin:auto;position:relative}.project-gallery__footer{border-top:1px solid var(--home-line,#e9e3d9);padding:1.15rem 2rem 1.35rem}.project-gallery__large-caption{color:var(--home-muted,#626459);align-items:baseline;gap:1.25rem;margin:0;font-size:.9rem;line-height:1.5;display:flex}.project-gallery__position{color:var(--home-sand,#766243);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem}@media (max-width:700px){.project-gallery__dialog{border-radius:1.15rem;width:calc(100vw - 1.5rem);max-height:calc(100dvh - 1.5rem)}.project-gallery__header{align-items:flex-start;gap:.8rem;padding:1.15rem}.project-gallery__header h2{font-size:1.4rem}.project-gallery__close{gap:.35rem;padding-inline:.75rem;font-size:.78rem}.project-gallery__image-area{padding:.75rem}.project-gallery__large-image{max-height:calc(100dvh - 20rem)}.project-gallery__footer{padding:1rem 1.15rem}.project-gallery__large-caption{flex-direction:column;gap:.3rem;font-size:.85rem}}@media (min-width:701px) and (max-height:500px){.project-gallery__header{padding:.75rem 1rem}.project-gallery__header h2{font-size:1.3rem}.project-gallery__image-area{padding:.5rem 1rem}.project-gallery__large-image{max-height:calc(100dvh - 11rem)}.project-gallery__footer{padding:.6rem 1rem}}@media (prefers-reduced-motion:reduce){.project-gallery__arrow,.project-gallery__close{transition:none}}
