.gallery-container{max-width:1200px;margin:0 auto;padding:clamp(2rem,5vw,4rem) 1.25rem clamp(3rem,6vw,5rem)}.gallery-header{text-align:center;margin:0 auto 2.25rem;max-width:720px}.gallery-kicker{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#5e4b3c;background:#fff2d0;border:1px solid rgba(94,75,60,.2);border-radius:999px;padding:.4rem .8rem;margin-bottom:.9rem}.gallery-title{font-size:clamp(2rem,5vw,3.2rem);color:#2f2419;line-height:1.1;margin-bottom:.65rem}.gallery-subtitle{color:#5b6474;font-size:1rem;line-height:1.7;margin-bottom:.8rem}.gallery-meta{color:#5e4b3c;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.15rem}.gallery-item{position:relative;background:#ffffff;border:1px solid #e8ebef;border-radius:1rem;overflow:hidden;cursor:pointer;text-align:left;box-shadow:0 10px 30px rgba(18,26,45,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(18,26,45,.14);border-color:rgba(94,75,60,.35)}.gallery-item:focus-visible{outline:3px solid #5e4b3c;outline-offset:3px}.gallery-photo{position:relative;aspect-ratio:4/5;overflow:hidden}.gallery-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-index{position:absolute;top:.75rem;right:.75rem;min-width:2rem;height:2rem;border-radius:999px;background:rgba(255,255,255,.9);color:#33261b;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.15)}.gallery-caption{color:#3f4958;font-size:.93rem;line-height:1.5;padding:.9rem .95rem 1rem}.lightbox-overlay{position:fixed;inset:0;background:rgba(8,12,19,.92);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.lightbox-content{width:min(94vw,1000px);position:relative;padding:1rem .35rem 1.4rem}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}.lightbox-counter{color:rgba(255,255,255,.86);font-size:.9rem;font-weight:600;letter-spacing:.04em}.lightbox-figure{margin:0;text-align:center}.lightbox-image{width:100%;max-height:78vh;-o-object-fit:contain;object-fit:contain;border-radius:.75rem;background:rgba(255,255,255,.02)}.lightbox-caption{margin-top:.9rem;color:rgba(255,255,255,.92);font-size:.98rem;line-height:1.5}.lightbox-close,.lightbox-next,.lightbox-prev{border:none;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);backdrop-filter:blur(2px);touch-action:manipulation;transition:background .2s ease,transform .2s ease}.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{background:rgba(255,255,255,.28)}.lightbox-close:focus-visible,.lightbox-next:focus-visible,.lightbox-prev:focus-visible{outline:3px solid #fff;outline-offset:2px}.lightbox-next,.lightbox-prev{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:999px;font-size:1.85rem;z-index:5}.lightbox-prev{left:-.2rem}.lightbox-next{right:-.2rem}.lightbox-close{width:42px;height:42px;border-radius:999px;font-size:1.2rem}.lightbox-hint{margin-top:.85rem;text-align:center;color:rgba(255,255,255,.62);font-size:.8rem;letter-spacing:.03em}@media (max-width:900px){.lightbox-content{width:min(98vw,860px);padding-left:.2rem;padding-right:.2rem}.lightbox-next,.lightbox-prev{width:42px;height:42px;font-size:1.65rem}.lightbox-prev{left:.3rem}.lightbox-next{right:.3rem}}@media (max-width:640px){.gallery-grid{grid-template-columns:1fr}.gallery-caption{font-size:.9rem}.lightbox-overlay{padding:.7rem}.lightbox-content{width:100%;padding-top:.4rem}.lightbox-top{margin-bottom:.4rem}.lightbox-image{max-height:70vh}.lightbox-next,.lightbox-prev{top:unset;bottom:3.2rem;transform:none}.lightbox-prev{left:.4rem}.lightbox-next{right:.4rem}}