.gallery-detail-page .skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:10px 16px;border-radius:var(--radius-sm);background:var(--accent-red);color:#fff;transform:translateY(-160%)}.gallery-detail-page .skip-link:focus{transform:translateY(0)}.gallery-detail-page .page-hero-section{position:relative;display:flex;min-height:340px;padding:100px 0 60px;align-items:center;overflow:hidden;background-image:linear-gradient(#0505099e,#050509e6),url(/images/hero-bg.png);background-position:center 32%;background-size:cover;text-align:center}.gallery-detail-page .page-hero-section:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent-red),var(--accent-gold));content:""}.gallery-detail-page .page-hero-content{position:relative;z-index:1}.gallery-detail-page .gallery-breadcrumb{display:flex;margin-bottom:16px;align-items:center;justify-content:center;gap:10px;color:#ffffffb3;font-size:.9rem}.gallery-detail-page .gallery-breadcrumb a{color:#ffffffdb}.gallery-detail-page .gallery-breadcrumb a:hover{color:var(--accent-red)}.gallery-detail-page .gallery-page-title{margin:0;color:#fff;font-size:clamp(2.35rem,5vw,3.25rem);font-weight:700;letter-spacing:-.02em}.gallery-detail-page .gallery-page{min-height:60vh;padding:72px 0 88px}.gallery-detail-page .gallery-detail-content{width:min(calc(100% - 40px),1140px);max-width:1140px;margin-inline:auto;padding-inline:0}.gallery-detail-page .detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-detail-page .gallery-figure{min-width:0;margin:0}.gallery-detail-page .gallery-card{position:relative;display:block;width:100%;padding:0;overflow:hidden;aspect-ratio:3 / 4;border:0;border-radius:12px;background:#050505;box-shadow:var(--shadow-md);color:#fff;cursor:zoom-in;transition:transform var(--transition-normal),box-shadow var(--transition-normal),outline-color var(--transition-fast)}.gallery-detail-page .gallery-card:after{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-radius:inherit;content:"";pointer-events:none;transition:border-color var(--transition-fast)}.gallery-detail-page .gallery-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px #00000073}.gallery-detail-page .gallery-card:hover:after{border-color:var(--accent-red)}.gallery-detail-page .gallery-card:focus-visible{outline:3px solid var(--accent-gold);outline-offset:4px}.gallery-detail-page .gallery-card img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-normal)}.gallery-detail-page .gallery-card:hover img{transform:scale(1.06)}.gallery-detail-page .gallery-card-overlay{position:absolute;right:0;bottom:0;left:0;display:grid;min-height:44%;padding:76px 22px 22px;align-content:end;background:linear-gradient(180deg,transparent,rgba(4,4,8,.92));text-align:left}.gallery-detail-page .gallery-card-tag{margin-bottom:8px;padding:5px 10px;justify-self:start;border-radius:var(--radius-full);background:var(--accent-red);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gallery-detail-page .gallery-card-caption{padding-right:48px;color:#fff;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600}.gallery-detail-page .gallery-zoom-icon{position:absolute;right:20px;bottom:20px;display:grid;width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;place-items:center;background:#08080ca3;color:#fff}.gallery-detail-page .gallery-zoom-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.lightbox-open{overflow:hidden}.gallery-detail-page .gallery-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;color:var(--text-primary)}.gallery-detail-page .gallery-lightbox[open]{display:grid;place-items:center}.gallery-detail-page .gallery-lightbox::backdrop{background:#000000db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.gallery-detail-page .lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#000000b8}.gallery-detail-page .lightbox-shell{position:relative;z-index:1;display:grid;width:min(94vw,1180px);height:min(94dvh,920px);max-height:min(94dvh,920px);padding:18px 76px 16px;overflow:hidden;grid-template-rows:minmax(0,1fr) auto;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#08080cfa;box-shadow:0 30px 90px #000000b8;transition:opacity var(--transition-fast),transform var(--transition-fast)}.gallery-detail-page .lightbox-close,.gallery-detail-page .lightbox-control{z-index:3;display:grid;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.24);place-items:center;background:#08080cc7;color:#fff;font:inherit;font-size:1.45rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.gallery-detail-page .lightbox-close{position:absolute;top:18px;right:18px;border-radius:50%;font-size:1.8rem;line-height:1}.gallery-detail-page .lightbox-control{position:absolute;top:50%;border-radius:50%;transform:translateY(-50%)}.gallery-detail-page .lightbox-previous{left:18px}.gallery-detail-page .lightbox-next{right:18px}.gallery-detail-page .lightbox-close:hover,.gallery-detail-page .lightbox-control:hover{border-color:var(--accent-red);background:var(--accent-red)}.gallery-detail-page .lightbox-close:hover{transform:scale(1.04)}.gallery-detail-page .lightbox-control:hover{transform:translateY(-50%) scale(1.04)}.gallery-detail-page .lightbox-image-wrap{width:100%;max-height:80vh;display:flex;min-height:0;overflow:hidden;align-items:center;justify-content:center}.gallery-detail-page .lightbox-image{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 18px 50px #0000008c;transition:opacity var(--transition-fast),transform var(--transition-fast)}.gallery-detail-page .lightbox-meta{display:grid;min-width:0;max-width:860px;margin-inline:auto;justify-items:center;gap:6px;text-align:center}.gallery-detail-page .lightbox-tag{margin:0;padding:5px 11px;border-radius:var(--radius-full);background:var(--accent-red);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gallery-detail-page .lightbox-tag:empty{display:none}.gallery-detail-page .lightbox-caption{max-width:min(76vw,760px);margin:0;overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.gallery-detail-page .lightbox-position{margin:0;color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.08em}.gallery-detail-page .lightbox-help{margin:0;color:var(--text-muted);font-size:.78rem}.gallery-detail-page .lightbox-dots{display:flex;min-height:12px;align-items:center;justify-content:center;gap:8px}.gallery-detail-page .lightbox-dot{width:10px;height:10px;padding:0;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.gallery-detail-page .lightbox-dot[aria-current=true]{border-color:var(--accent-red);background:var(--accent-red);transform:scale(1.2)}.gallery-detail-page .lightbox-thumbnails{display:flex;width:100%;max-width:620px;padding:4px 2px 2px;overflow-x:auto;align-items:center;gap:8px;scrollbar-color:var(--accent-red) rgba(255,255,255,.08);scrollbar-width:thin}.gallery-detail-page .lightbox-thumbnail{flex:0 0 58px;width:58px;height:58px;padding:2px;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#ffffff14;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.gallery-detail-page .lightbox-thumbnail[aria-current=true]{border-color:var(--accent-red)}.gallery-detail-page .lightbox-thumbnail img{width:100%;height:100%;border-radius:5px;object-fit:cover}.gallery-detail-page .lightbox-close:focus-visible,.gallery-detail-page .lightbox-control:focus-visible,.gallery-detail-page .lightbox-dot:focus-visible,.gallery-detail-page .lightbox-thumbnail:focus-visible{outline:3px solid var(--accent-gold);outline-offset:3px}@media (max-width: 768px){.gallery-detail-page .page-hero-section{min-height:260px;padding:90px 0 40px}.gallery-detail-page .gallery-page{padding:48px 0 64px}}@media (max-width: 1024px){.gallery-detail-page .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.gallery-detail-page .gallery-detail-content{width:100%;padding:0 16px}.gallery-detail-page .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-detail-page .gallery-card-overlay{padding:48px 12px 12px}.gallery-detail-page .gallery-card-caption{padding-right:34px;font-size:.82rem}.gallery-detail-page .gallery-zoom-icon{right:10px;bottom:10px;width:30px;height:30px}}@media (max-width: 480px){.gallery-detail-page .lightbox-shell{width:100vw;height:100dvh;max-height:none;padding:12px 52px 14px;gap:8px;border-radius:0}.gallery-detail-page .lightbox-close{top:12px;right:12px;width:40px;height:40px}.gallery-detail-page .lightbox-control{width:40px;height:40px;font-size:1.15rem}.gallery-detail-page .lightbox-previous{left:6px}.gallery-detail-page .lightbox-next{right:6px}.gallery-detail-page .lightbox-image-wrap{padding-top:38px}.gallery-detail-page .lightbox-meta{gap:4px}.gallery-detail-page .lightbox-caption{max-width:calc(100vw - 104px);font-size:.92rem}.gallery-detail-page .lightbox-help,.gallery-detail-page .lightbox-thumbnails{display:none}}@media (max-width: 420px){.gallery-detail-page .detail-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.gallery-detail-page .gallery-card,.gallery-detail-page .gallery-card:after,.gallery-detail-page .gallery-card img{transition:none}.gallery-detail-page .lightbox-shell,.gallery-detail-page .lightbox-image,.gallery-detail-page .lightbox-close,.gallery-detail-page .lightbox-control,.gallery-detail-page .lightbox-dot,.gallery-detail-page .lightbox-thumbnail{transition:none}.gallery-detail-page .gallery-card:hover,.gallery-detail-page .gallery-card:hover img{transform:none}}
