/* Customer feedback, October 2026: readable type and genuine work media. */
.page-hero { padding-top: 64px; }
.page-hero__grid { align-items: center; }
.page-hero h1 { hyphens: none; }
@media (min-width: 768px) and (max-width: 1023px) {
 .page-hero__grid { grid-template-columns: minmax(0, 1fr); }
 .page-hero__media { max-width: 560px; }
}
.page-hero__grid > *, .grid-2 > * { min-width: 0; }
.page-hero__media { min-height: 0; background: white; }
.page-hero__media img { display: block; width: auto; max-width: 100%; height: auto; max-height: 560px; margin-inline: auto; min-height: 0; object-fit: contain; object-position: center; }
.hero-photo-caption { display: block; padding: 16px 20px; background: white; color: var(--petrol); font-size: .95rem; line-height: 1.5; text-decoration: none; }
.hero-photo-caption span { display: block; margin-top: 8px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.page-hero h1 { text-wrap: pretty; }
.site-header { background: var(--rain); }
.nav .nav__cta { display: none; }
.mobile-panel { top: 128px; max-height: calc(100dvh - 144px); overflow-y: auto; }
@media (min-width: 1180px) { .nav .nav__cta { display: inline-flex; } }
.gutter-wipe { cursor: ew-resize; user-select: none; aspect-ratio: 1200 / 760; }
.gutter-wipe img { pointer-events: none; }
.wipe-controls { display: grid; gap: 8px; margin-top: 16px; }
.wipe-controls label { font-size: .88rem; font-weight: 700; }
.wipe-controls input { width: 100%; height: 44px; margin: 0; accent-color: var(--petrol); }
.wipe-controls button { min-width: 72px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.film-grid, .customer-photos, .business-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.work-film, .new-photo, .business-cards figure { margin: 0; min-width: 0; }
.work-film { padding: 16px; background: var(--rain); border: 1px solid var(--line); border-radius: var(--radius-md); }
.work-film video { display: block; width: 100%; max-height: 600px; aspect-ratio: 478 / 850; object-fit: contain; background: var(--petrol); border-radius: 10px; }
figcaption { margin-top: 12px; font-size: .95rem; }
.new-photo img { width: 100%; max-height: 720px; object-fit: contain; border-radius: var(--radius-md); }
.trade-icon { width: 100px; height: 100px; object-fit: contain; margin-bottom: 24px; }
.business-cards img { width: 100%; height: auto; border-radius: 12px; }
.business-footer { padding-top: 32px; font-size: .85rem; }
.business-footer a { text-decoration: underline; display: inline-flex; align-items: center; min-height: 44px; }
.business-footer p { max-width: none; }
#social-media { scroll-margin-top: 140px; }
@media (max-width: 767px) {
 .film-grid, .customer-photos, .business-cards { grid-template-columns: 1fr; }
 .home-hero { padding-top: 136px; }
 .page-hero { padding-top: 52px; }
 .site-footer { padding-bottom: 100px; }
 .work-film video { max-height: 560px; }
}
