.photo-catalog{margin-block:28px 48px}.photo-filters{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;align-items:end}.photo-filters .field{margin:0;min-width:0}.photo-count{grid-column:1/-1;margin:0;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.photo-card{min-width:0}.photo-figure{margin:0 0 18px}.photo-figure picture{display:block;background:var(--soft);border-radius:12px;overflow:hidden}.photo-figure img{display:block;width:100%;height:auto;object-fit:contain}.photo-figure-compact img{aspect-ratio:3/2}.photo-figure figcaption{margin-top:10px;font-size:12px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.photo-description{display:block;margin-bottom:4px}.photo-credit{display:block;margin-top:4px}.photo-figure figcaption a{display:inline-flex;align-items:center;min-height:44px;color:inherit}.photo-card h3{font-size:1.2rem;margin-bottom:10px}.photo-card h3 a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none}.photo-card h3 a:hover{color:var(--action)}.photo-card-excerpt{font-size:14px;color:var(--muted);margin-bottom:10px}.photo-detail-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:650}.photo-detail{max-width:900px;margin-bottom:32px}.photo-figure-detail img{max-height:760px;object-fit:contain}.photo-detail .button{margin-top:8px}.photo-card picture{transition:box-shadow .2s ease}.photo-card:hover picture{box-shadow:0 4px 18px #14161912}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.photo-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.photo-grid{grid-template-columns:1fr;gap:36px}.photo-filters{grid-template-columns:1fr;gap:16px}.photo-figure-compact img{aspect-ratio:3/2}.photo-catalog{margin-top:24px}.photo-figure figcaption{font-size:13px}}@media(prefers-reduced-motion:reduce){.photo-card picture{transition:none}}

.catalogue-directions{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 40px}.catalogue-directions a{min-height:44px;display:inline-flex;align-items:center;font-weight:650}.photo-section-title{margin-top:64px}.hero-real-photo{margin-top:32px}.hero-real-photo .photo-figure-detail img{max-height:440px;object-fit:cover;aspect-ratio:3/2}.catalog-item .photo-figure-compact img{aspect-ratio:3/2}.photo-card[hidden]{display:none!important}

/* Consistent landscape thumbnails; complete source remains uncropped on detail pages. */
.photo-figure-compact img,.catalog-item .photo-figure-compact img{aspect-ratio:3/2;object-fit:cover;object-position:50% 45%}.photo-figure-compact picture{aspect-ratio:3/2}.photo-figure-detail img{object-fit:contain}.hero-real-photo .photo-figure-detail img{aspect-ratio:3/2;object-fit:cover}

/* A single name and real taxonomy metadata replace repeated photo descriptions. */
.photo-card h3{margin:0 0 6px;font-size:1.1rem;line-height:1.35;letter-spacing:-.015em}
.photo-card h3 a{min-height:44px;transition:color .18s ease}
.photo-card-meta{margin:0;font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.home-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:28px 48px}
.home-category-card{display:block;min-width:0;color:var(--ink);text-decoration:none}
.home-category-card .photo-figure{margin-bottom:12px}
.home-category-card span{display:flex;align-items:center;min-height:44px;font-size:1.15rem;font-weight:700;line-height:1.3;transition:color .18s ease}
.home-category-card img{transition:transform .2s ease}
.home-category-card:hover img{transform:scale(1.025)}
.home-category-card:hover span{color:var(--action)}
.home-category-card:focus-visible,.home-gallery-tabs button:focus-visible,.home-gallery-panel:focus-visible{outline:3px solid var(--action);outline-offset:5px}
.home-gallery-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px}
.home-gallery-tabs[hidden]{display:none}
.home-gallery-tabs button{appearance:none;min-height:44px;padding:10px 22px;background:var(--soft);color:var(--forest);border:0;border-radius:8px;font:inherit;font-size:15px;font-weight:650;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.home-gallery-tabs button[aria-selected=true]{background:var(--action);color:var(--surface)}
.home-gallery-tabs button:hover{background:var(--action-hover,var(--action));color:var(--surface)}
.home-gallery-panel[hidden]{display:none}
.home-gallery.is-enhanced .home-gallery-panel-heading{display:none}
.home-gallery-panel-heading{font-size:1.25rem;margin-top:30px}
.home-gallery .photo-preview{margin-block:0 28px}
.home-gallery .photo-grid{gap:28px 24px}
.home-gallery-more{margin-top:4px}
@media(max-width:600px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-block:24px 36px}.home-category-card span{font-size:1rem}.home-category-card .photo-figure{margin-bottom:6px}.home-gallery-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-gallery-tabs button{padding:10px 8px;font-size:14px}.home-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.home-gallery .photo-card h3{font-size:1rem}.home-gallery .photo-card-meta{font-size:12px}.home-gallery-more{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.home-category-card img,.home-category-card span,.home-gallery-tabs button,.photo-card h3 a{transition:none}.home-category-card:hover img{transform:none}}
