/* Gallery additions are scoped to Concepts. The finalized landing page is untouched. */
.concepts-page{min-height:100svh;padding:clamp(.75rem,2.4vw,2rem)}
.concepts-page .sheet{position:relative;inset:auto;display:flow-root;min-height:calc(100svh - clamp(1.5rem,4.8vw,4rem))}
.concepts-page .collection{margin:145px 44px 130px}
.concepts-page .collection-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.collection-count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5A5346;margin:0 0 5px;white-space:nowrap}
.concept-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;margin-top:36px}
.concept-card{margin:0;min-width:0}
.concept-photo{display:block;width:100%;padding:0;border:0;background:#DED8C8;cursor:zoom-in;aspect-ratio:3/2;overflow:hidden;position:relative;color:#1A1712}
.concept-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--ease)}
.concept-photo:hover img{transform:scale(1.025)}
.concept-photo:focus-visible{outline:2px solid #1A1712;outline-offset:5px}
.concept-caption{padding-top:17px;display:grid;grid-template-columns:28px 1fr;gap:14px}
.concept-number{font:400 12px/1.6 var(--sans);letter-spacing:.1em;color:#5A5346;padding-top:7px}
.concept-caption h2{margin:0;font:400 clamp(26px,2.4vw,38px)/1.12 var(--disp);letter-spacing:-.025em}
.concept-caption p{margin:9px 0 0;font:400 14px/1.6 var(--sans);color:#5A5346}
.gallery-tail{margin-top:56px;border-top:1px solid rgba(26,23,18,.28)}
.image-viewer{padding:0;border:1px solid rgba(26,23,18,.28);background:#EDE7D6;color:#1A1712;width:min(1080px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 24px 80px #1a171240}
.image-viewer::backdrop{background:rgba(26,23,18,.82)}
.viewer-inner{padding:20px}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;font:400 12px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase}
.viewer-close,.viewer-prev,.viewer-next{min-width:44px;min-height:44px;border:1px solid rgba(26,23,18,.28);background:transparent;color:inherit;cursor:pointer;font:400 14px/1 var(--sans)}
.viewer-close{padding:0 14px;letter-spacing:.04em}
.viewer-close:hover,.viewer-prev:hover,.viewer-next:hover{background:#DED8C8}
.image-viewer button:focus-visible{outline:2px solid #1A1712;outline-offset:3px}
.viewer-image{display:block;width:100%;height:min(61dvh,650px);object-fit:contain;background:#DED8C8}
.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px}
.viewer-caption{min-width:0}.viewer-caption h2{margin:0;font:400 34px/1.1 var(--disp);letter-spacing:-.025em}.viewer-caption p{margin:8px 0 0;font:400 14px/1.6 var(--sans);color:#5A5346}
.viewer-controls{display:flex;gap:8px;flex-shrink:0}.viewer-prev,.viewer-next{font-size:22px}
html:has(.image-viewer[open]){overflow:hidden}
@media(max-width:600px){
  .concepts-page .collection{margin:156px 28px 112px}
  .concepts-page .collection-heading{align-items:start;flex-direction:column;gap:18px;padding-bottom:22px}
  .collection-count{font-size:11px;margin:0}
  .concept-gallery{grid-template-columns:1fr;gap:36px;margin-top:26px}
  .concept-caption{grid-template-columns:22px 1fr;gap:10px;padding-top:14px}
  .concept-caption h2{font-size:30px;line-height:1.1}
  .concept-caption p{font-size:14px;line-height:1.55;margin-top:7px}
  .concept-photo:hover img{transform:none}
  .image-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .viewer-inner{padding:14px}.viewer-toolbar{margin-bottom:12px;font-size:10px;gap:10px}
  .viewer-image{height:auto;max-height:54dvh;aspect-ratio:3/2;object-fit:contain}
  .viewer-bottom{align-items:start;flex-direction:column;gap:18px;padding-top:18px}
  .viewer-caption h2{font-size:30px}.viewer-caption p{font-size:14px}
  .viewer-controls{width:100%;justify-content:space-between}.viewer-prev,.viewer-next{width:64px}
}
@media(prefers-reduced-motion:reduce){.concept-photo img{transition:none;transform:none}}
