.lightbox{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;animation:lightbox-fade-in .2s ease}.lightbox.reduced-motion{animation:none}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-backdrop{position:absolute;inset:0;background:#000000f2}.lightbox-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);color:#fff}.lightbox-title{display:flex;flex-direction:column;gap:var(--space-1)}.lightbox-title h2{font-family:var(--font-headline);font-size:var(--text-lg);font-weight:600;margin:0}@media (min-width: 768px){.lightbox-title{flex-direction:row;align-items:center;gap:var(--space-4)}}.lightbox-counter{font-family:var(--font-body);font-size:var(--text-sm);opacity:.7}.lightbox-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:#ffffff1a;color:#fff;border-radius:50%;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.lightbox-close:hover{background:#fff3}.lightbox-close:focus-visible{outline:2px solid var(--color-tan);outline-offset:2px}.lightbox-content{position:relative;z-index:5;flex:1;display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);min-height:0}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;background:#ffffff1a;color:#fff;border-radius:50%;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.lightbox.reduced-motion .lightbox-nav{transition:background-color .2s ease}.lightbox-nav:hover{background:#ffffff40;transform:translateY(-50%) scale(1.1)}.lightbox.reduced-motion .lightbox-nav:hover{transform:translateY(-50%)}.lightbox-nav:focus-visible{outline:2px solid var(--color-tan);outline-offset:2px}.lightbox-prev{left:var(--space-4)}.lightbox-next{right:var(--space-4)}@media (min-width: 768px){.lightbox-nav{width:56px;height:56px}.lightbox-prev{left:var(--space-8)}.lightbox-next{right:var(--space-8)}}.lightbox-figure{display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;margin:0}.lightbox-image{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;border-radius:var(--radius-sm);transition:opacity .2s ease}.lightbox.reduced-motion .lightbox-image{transition:none}.lightbox-image.loading{opacity:0}.lightbox-loading{position:absolute;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.lightbox.reduced-motion .spinner{animation:none;border-top-color:#ffffff80}@keyframes spin{to{transform:rotate(360deg)}}.lightbox-caption{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:#ffffff1a;color:#fff;font-family:var(--font-body);font-size:var(--text-sm);text-align:center;border-radius:var(--radius-sm);max-width:600px}.lightbox-thumbnails{position:relative;z-index:10;display:flex;gap:var(--space-2);justify-content:center;padding:var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.thumbnail{flex-shrink:0;width:60px;height:45px;padding:0;border:2px solid transparent;background:none;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;opacity:.5;transition:opacity .2s ease,border-color .2s ease}.lightbox.reduced-motion .thumbnail{transition:none}.thumbnail:hover{opacity:.8}.thumbnail.active{opacity:1;border-color:var(--color-tan)}.thumbnail:focus-visible{outline:2px solid var(--color-tan);outline-offset:2px}.thumbnail img{width:100%;height:100%;object-fit:cover}@media (min-width: 768px){.thumbnail{width:80px;height:60px}}@media (max-height: 500px){.lightbox-thumbnails{display:none}.lightbox-image{max-height:calc(100vh - 120px)}}.filter-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-8)}.filter-btn{padding:var(--space-2) var(--space-4);border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary);font-family:var(--font-headline);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:border-color .2s ease,color .2s ease;border-radius:0}.filter-btn:hover{border-bottom-color:var(--color-sage);color:var(--color-sage)}.filter-btn:focus-visible{outline:2px solid var(--color-tan);outline-offset:2px}.filter-btn.active{border-bottom-color:var(--color-sage);color:var(--color-sage)}.gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-6)}@media (min-width: 640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{list-style:none}.gallery-item-btn{display:block;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left}.gallery-item-btn:focus-visible{outline:2px solid var(--color-tan);outline-offset:4px;border-radius:var(--radius-md)}.gallery-item-image{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:4 / 3;background:var(--color-cream-dark)}.gallery-item-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}@media (prefers-reduced-motion: reduce){.gallery-item-image img{transition:none}}.gallery-item-btn:hover .gallery-item-image img,.gallery-item-btn:focus-visible .gallery-item-image img{transform:scale(1.05)}@media (prefers-reduced-motion: reduce){.gallery-item-btn:hover .gallery-item-image img,.gallery-item-btn:focus-visible .gallery-item-image img{transform:none}}.gallery-item-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:#2d4a3eb3;opacity:0;transition:opacity .2s ease}@media (prefers-reduced-motion: reduce){.gallery-item-overlay{transition:none}}.gallery-item-btn:hover .gallery-item-overlay,.gallery-item-btn:focus-visible .gallery-item-overlay{opacity:1}.view-icon{color:var(--color-cream)}.image-count{color:var(--color-cream);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500}.gallery-item-info{padding:var(--space-3) var(--space-1)}.gallery-item-info h3{font-family:var(--font-headline);font-size:var(--text-base);margin:0 0 var(--space-1);color:var(--color-sage)}.category-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-cream-dark);color:var(--color-charcoal-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm)}.gallery-empty{text-align:center;padding:var(--space-24) var(--space-8);background:radial-gradient(ellipse 60% 40% at 50% 20%,rgba(45,74,62,.04) 0%,transparent 60%),linear-gradient(135deg,var(--color-cream-dark) 0%,var(--color-cream) 50%,var(--color-cream-dark) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);position:relative;overflow:hidden}.gallery-empty:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232d4a3e' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.6;pointer-events:none}.gallery-empty:after{content:"";position:absolute;top:var(--space-6);left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(90deg,transparent,var(--color-tan),transparent);opacity:.6}.empty-icon{position:relative;color:var(--color-sage);margin-bottom:var(--space-8);opacity:.7}.empty-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;border:1px dashed var(--color-tan);border-radius:50%;opacity:.4}.empty-icon svg{width:96px;height:96px;position:relative}.gallery-empty h2{position:relative;font-family:var(--font-headline);font-size:var(--text-2xl);color:var(--color-sage);margin-bottom:var(--space-4)}.gallery-empty p{position:relative;font-family:var(--font-accent);font-size:var(--text-lg);font-style:italic;color:var(--color-text-secondary);max-width:450px;margin:0 auto;line-height:1.7}.gallery-empty-cta{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding:var(--space-3) var(--space-6);background-color:var(--color-sage);color:var(--color-cream);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-md);box-shadow:0 4px 12px #2d4a3e33;transition:all .3s ease}.gallery-empty-cta:hover{background-color:var(--color-sage-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2d4a3e4d}.gallery-empty-cta:focus-visible{outline:2px solid var(--color-tan);outline-offset:2px}.gallery-hero[data-astro-cid-sahthylw]{position:relative;background:var(--color-sage);color:var(--color-cream);padding:var(--space-20) 0 var(--space-16);text-align:center;overflow:hidden}.gallery-hero__bg[data-astro-cid-sahthylw]{position:absolute;inset:0;z-index:0}.gallery-hero__gradient[data-astro-cid-sahthylw]{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(0,0,0,.15) 0%,transparent 50%),linear-gradient(180deg,transparent 0%,rgba(0,0,0,.1) 100%)}.gallery-hero[data-astro-cid-sahthylw] .container[data-astro-cid-sahthylw]{position:relative;z-index:2}.gallery-hero__content[data-astro-cid-sahthylw]{max-width:700px;margin:0 auto;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.gallery-hero[data-astro-cid-sahthylw] h1[data-astro-cid-sahthylw]{font-family:var(--font-headline);font-size:clamp(var(--text-5xl),8vw,var(--text-7xl));color:var(--color-cream);margin:0;letter-spacing:-.02em;line-height:1.1}.gallery-hero__divider[data-astro-cid-sahthylw]{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--color-tan),transparent);margin:var(--space-6) auto var(--space-8)}.gallery-hero[data-astro-cid-sahthylw] .lead[data-astro-cid-sahthylw]{font-family:var(--font-accent);font-size:var(--text-xl);font-style:italic;color:#f5f1e8e6;max-width:550px;margin:0 auto;line-height:1.7}.gallery-content[data-astro-cid-sahthylw]{position:relative;overflow:visible;padding:var(--space-16) 0 var(--space-20)}.gallery-content[data-astro-cid-sahthylw] .gallery-grid{gap:var(--space-6)}.gallery-content[data-astro-cid-sahthylw] .gallery-card{border-radius:var(--radius-lg);overflow:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--color-border-light)}.gallery-content[data-astro-cid-sahthylw] .gallery-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #1a1a1a1f}.gallery-content[data-astro-cid-sahthylw] .gallery-card img{transition:transform .6s cubic-bezier(.4,0,.2,1)}.gallery-content[data-astro-cid-sahthylw] .gallery-card:hover img{transform:scale(1.05)}.gallery-content[data-astro-cid-sahthylw] .filter-buttons{margin-bottom:var(--space-10)}.gallery-content[data-astro-cid-sahthylw] .filter-btn{transition:all .3s ease;border-radius:var(--radius-full)}.gallery-content[data-astro-cid-sahthylw] .filter-btn:hover{transform:translateY(-2px)}@media (max-width: 768px){.gallery-hero[data-astro-cid-sahthylw]{padding:var(--space-16) 0 var(--space-12)}.gallery-hero[data-astro-cid-sahthylw] h1[data-astro-cid-sahthylw]{font-size:var(--text-4xl)}.gallery-hero[data-astro-cid-sahthylw] .lead[data-astro-cid-sahthylw]{font-size:var(--text-lg)}.gallery-hero__divider[data-astro-cid-sahthylw]{width:60px;margin:var(--space-4) auto var(--space-6)}}@media (prefers-reduced-motion: reduce){.gallery-hero__content[data-astro-cid-sahthylw]{animation:none}.gallery-content[data-astro-cid-sahthylw] .gallery-card,.gallery-content[data-astro-cid-sahthylw] .gallery-card img,.gallery-content[data-astro-cid-sahthylw] .filter-btn{transition:none}.gallery-content[data-astro-cid-sahthylw] .gallery-card:hover,.gallery-content[data-astro-cid-sahthylw] .gallery-card:hover img,.gallery-content[data-astro-cid-sahthylw] .filter-btn:hover{transform:none}}
