.cth-photos-section,.cth-workshop-gallery{color:var(--text,#f5f3ee);background:var(--bg,#050505)}
.cth-photos-section{padding-block:clamp(30px,4vw,56px)}
.cth-photos-grid{display:grid;gap:clamp(14px,2vw,24px);align-items:start;min-width:0}
.cth-photos-grid-1{grid-template-columns:minmax(0,1fr);max-width:850px}
.cth-photos-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cth-photos-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cth-workshop-photo{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line,#303030);border-radius:12px;background:var(--panel,#101010)}
.cth-photo-open{display:block;cursor:zoom-in;background:var(--bg,#050505)}
.cth-workshop-photo .cth-photo-open img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:0;border-radius:0}
.cth-workshop-photo figcaption{color:var(--text,#f5f3ee);padding:12px 16px;font-size:.93rem;line-height:1.5;margin:0}
.cth-photo-original,.cth-photos-jump,.cth-gallery-end a,.cth-gallery-breadcrumb a{color:var(--accent,#d6ad60);text-underline-offset:.22em}
.cth-photo-original{display:inline-block;text-decoration:underline;white-space:nowrap;font-size:.86rem;padding:4px 0}
.cth-photo-open:focus-visible,.cth-gallery-groups a:focus-visible,.cth-photo-original:focus-visible,.cth-photos-jump:focus-visible{outline:3px solid var(--accent,#d6ad60);outline-offset:-3px}
.cth-photos-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.cth-photos-heading h2,.cth-gallery-intro h1{color:var(--text,#f5f3ee);line-height:1.14;font-size:clamp(1.55rem,3vw,2.6rem);margin:6px 0 8px;letter-spacing:-.025em}
.cth-photos-heading p,.cth-gallery-intro>p:last-child{margin:0;max-width:68ch;color:var(--muted,#aaa69e)}
.cth-photos-jump{flex:none;display:inline-flex;align-items:center;min-height:44px;font-weight:650}
.cth-gallery-intro,.cth-gallery-groups,.cth-gallery-area{border-bottom:1px solid var(--line,#303030)}
.cth-gallery-breadcrumb{padding-top:24px;color:var(--muted,#aaa69e);font-size:.9rem}
.cth-gallery-intro{padding-block:clamp(34px,5vw,64px) 28px}
.cth-gallery-intro h1{font-size:clamp(2.6rem,6vw,5rem);max-width:18ch}
.cth-gallery-groups{display:flex;flex-wrap:wrap;gap:10px;padding:18px 0}
.cth-gallery-groups a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 12px;border:1px solid var(--line,#303030);border-radius:8px;color:var(--text,#f5f3ee);line-height:1.4}
.cth-gallery-groups a small{color:var(--accent,#d6ad60)}
.cth-gallery-area{padding-block:clamp(28px,4vw,52px);scroll-margin-top:100px}
.cth-gallery-end{padding-bottom:40px}
.cth-gallery-area .cth-photos-grid-1{max-width:850px}
#contact .cth-photos-section{grid-column:1/-1;background:transparent}
@media(max-width:920px){.cth-photos-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.cth-photos-heading{align-items:start;flex-wrap:wrap}}
@media(max-width:620px){.cth-photos-grid-2,.cth-photos-grid-3{grid-template-columns:minmax(0,1fr)}.cth-photos-heading{display:block}.cth-photos-jump{margin-top:3px}.cth-workshop-photo figcaption{padding:10px 12px}.cth-gallery-area{scroll-margin-top:80px}}
