.gallery-page{background:var(--wash);min-height:60vh}.gallery-hero{color:#fff;background:radial-gradient(circle at 83% 18%,#0066cc75,#0000 28%),radial-gradient(circle at 12% 112%,#05966940,#0000 34%),linear-gradient(135deg,#0b1725 0%,#102a46 62%,#0d385b 100%);padding-block:clamp(76px,9vw,126px) clamp(96px,11vw,150px);position:relative;overflow:hidden}.gallery-hero:before,.gallery-hero:after{content:"";pointer-events:none;border:1px solid #ffffff14;border-radius:50%;position:absolute}.gallery-hero:before{width:380px;height:380px;top:-230px;right:9%;box-shadow:0 0 0 64px #ffffff06,0 0 0 128px #ffffff05}.gallery-hero:after{width:250px;height:250px;bottom:-190px;left:4%;box-shadow:0 0 0 54px #ffffff06}.gallery-hero-inner{z-index:1;position:relative}.gallery-eyebrow{color:#91c9ff;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;font-size:.77rem;font-weight:900}.gallery-hero h1{color:#fff;max-width:900px;font-size:clamp(3rem,7vw,5.7rem)}.gallery-hero-meta{color:#c7daed;margin-top:24px;font-size:clamp(1rem,1.7vw,1.15rem)}.gallery-browser-section{padding-bottom:clamp(84px,10vw,132px)}.gallery-browser-shell{z-index:2;margin-top:-58px;position:relative}.gallery-controls{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffffff7;border-radius:18px;margin-bottom:34px;padding:24px}.gallery-controls-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-search{width:min(100%,440px);display:block;position:relative}.gallery-search svg{fill:none;width:20px;height:20px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.gallery-search input{border:1px solid var(--border);width:100%;min-height:50px;color:var(--ink);background:var(--wash);font:inherit;border-radius:12px;outline:none;padding:0 18px 0 50px;transition:border-color .16s,box-shadow .16s,background .16s}.gallery-search input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #0066cc1f}.gallery-results-count{color:var(--muted);flex:none;font-size:.9rem}.gallery-results-count strong{color:var(--ink)}.gallery-filters{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.gallery-filters button{border:1px solid var(--border);min-height:38px;color:var(--ink-soft);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 14px;font-size:.82rem;font-weight:800;transition:color .16s,border-color .16s,background .16s,transform .16s}.gallery-filters button:hover{color:var(--blue-dark);border-color:#9dc5eb;transform:translateY(-1px)}.gallery-filters button.is-active{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 5px 15px #06c3}.gallery-filters button:focus-visible,.gallery-card-link:focus-visible{outline-offset:3px;outline:3px solid #0066cc5c}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;display:grid}.gallery-card[hidden]{display:none}.gallery-card{border:1px solid var(--border);background:#fff;border-radius:17px;min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 8px 24px #0d1b2a0e}.gallery-card:hover{border-color:#b8d4ee;transform:translateY(-4px);box-shadow:0 18px 40px #0d1b2a1f}.gallery-card-link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.gallery-card-media{aspect-ratio:400/284;background:linear-gradient(135deg,#0066cc17,#05966912),#fff;place-items:center;display:grid;position:relative;overflow:hidden}.gallery-card-media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .35s}.gallery-card:hover .gallery-card-media img{transform:scale(1.035)}.gallery-card-media:after{content:"";opacity:0;background:linear-gradient(#0000 58%,#07172747);transition:opacity .2s;position:absolute;inset:0}.gallery-card:hover .gallery-card-media:after{opacity:1}.gallery-card-placeholder{color:#fff;background:linear-gradient(135deg, var(--blue), var(--green));width:76px;height:76px;font-family:var(--font-heading);border-radius:22px;place-items:center;font-size:1.35rem;font-weight:800;display:grid}.gallery-card-arrow{z-index:2;width:40px;height:40px;color:var(--blue-dark);opacity:0;background:#fffffff0;border:1px solid #ffffffb8;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:15px;right:15px;transform:translate(-5px);box-shadow:0 5px 16px #0d1b2a29}.gallery-card:hover .gallery-card-arrow,.gallery-card-link:focus-visible .gallery-card-arrow{opacity:1;transform:none}.gallery-card-arrow svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.gallery-card-copy{flex:1;align-content:start;gap:8px;padding:20px 22px 24px;display:grid}.gallery-card-category{color:var(--blue);letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:900}.gallery-card h2{color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.3}.gallery-load-more{justify-content:center;margin-top:42px;display:flex}.gallery-empty{color:var(--muted);text-align:center;background:#fff;border:1px dashed #b9c7d5;border-radius:16px;padding:70px 20px}@media (width<=980px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.gallery-hero{padding-block:60px 98px}.gallery-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.gallery-browser-shell{margin-top:-46px}.gallery-controls{border-radius:15px;padding:18px}.gallery-controls-topline{flex-direction:column;align-items:stretch;gap:12px}.gallery-search{width:100%}.gallery-results-count{padding-inline:2px}.gallery-filters{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-18px;padding:2px 18px 8px;overflow-x:auto}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters button{flex:none}.gallery-grid{grid-template-columns:1fr;gap:18px}.gallery-card-copy{padding:18px 19px 22px}.gallery-card h2{font-size:1.16rem}.gallery-card-arrow{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.gallery-card,.gallery-card-media img,.gallery-card-arrow,.gallery-filters button{transition:none}}
