.project-gallery{columns:3;column-gap:25px;padding-bottom:95px}.project-gallery figure{break-inside:avoid;display:inline-block;width:100%;margin:0 0 25px}.project-gallery .gallery-open{background:transparent;border:0;padding:0}.project-gallery .gallery-open img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;transform:none}.project-gallery figcaption{font-size:13px;padding:14px 0 0;color:var(--muted)}.project-gallery .gallery-open:hover .enlarge{background:var(--gold)}.home-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:90px}.home-projects figure{overflow:hidden}.home-projects img{width:100%;height:390px;object-fit:cover;transition:transform .7s}.home-projects a:hover img{transform:scale(1.025)}.home-projects figcaption{padding:16px 0;font-size:13px;display:flex;justify-content:space-between;gap:15px}#lightbox{background:var(--paper);color:var(--ink);padding:52px 18px 20px;box-shadow:0 20px 80px #0005;max-width:96vw}#lightbox .lightbox-close{color:var(--ink);border:1px solid var(--line);background:var(--paper)}#lightbox img{display:block;width:auto;height:auto;max-width:88vw;max-height:72vh;object-fit:contain;background:transparent;border:0}#lightbox p{color:var(--ink);text-align:center}.story-visual img{object-position:center}.craft-image img{object-position:center}
@media(max-width:900px){.project-gallery{columns:2}.home-projects{gap:18px}.home-projects img{height:300px}}
@media(max-width:580px){.project-gallery{columns:1;padding-bottom:55px}.home-projects{grid-template-columns:1fr;padding-bottom:55px}.home-projects img{height:auto;max-height:470px;object-fit:cover}#lightbox img{max-width:83vw;max-height:68vh}}
@media(prefers-reduced-motion:reduce){.home-projects img{transition:none}.home-projects a:hover img{transform:none}}

/* Photo-led service cards, matching the detailed Services page. */
.services-three .service{display:grid;grid-template-columns:48px minmax(0,1fr);align-content:start;gap:22px 18px;padding-top:0;border-top:0}
.services-three .home-service-photo{grid-column:1/-1;width:100%;height:320px;margin:0;overflow:hidden;background:#eae5da}
.services-three .home-service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:object-position .7s ease}
.services-three .service:hover .home-service-photo img{object-position:50% 48%}
@media(max-width:800px){.services-three .home-service-photo{height:350px}.services-three .service{grid-template-columns:42px minmax(0,1fr)}}
@media(max-width:520px){.services-three .home-service-photo{height:300px}}
/* Avoid transform resampling and added zoom on low-resolution uploads. */
.hero .hero-media img,.hero:has(#hero-title) .hero-media img,.contact-hero .contact-backdrop img{filter:none!important;transform:none!important;animation:hero-photo-pan 28s ease-in-out infinite alternate!important;will-change:auto;image-rendering:auto}
@keyframes hero-photo-pan{from{object-position:50% 50%}to{object-position:52% 50%}}
@media(prefers-reduced-motion:reduce){.hero .hero-media img,.hero:has(#hero-title) .hero-media img,.contact-hero .contact-backdrop img{animation:none!important}}

/* Consistent tall photo frames across the three Home services. */
.services-three .home-service-photo{height:auto;aspect-ratio:5/8;background:transparent}
.services-three .home-service-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:none}
.services-three .service:hover .home-service-photo img{object-position:center}

/* Full business name, arranged as a compact two-line wordmark. */
.brand-sub{letter-spacing:.1em;font-size:10px;line-height:1.5}.brand{flex-shrink:0}.brand-name{line-height:1.12}
@media(max-width:520px){.brand-sub{font-size:8px;letter-spacing:.06em}.brand-name{font-size:24px}}
