/* Product-first layout refinements following desktop and mobile review. */
.hero { padding: 48px 0 56px; background: #f7f2e7; }
.hero-grid { grid-template-columns: 1.05fr 1fr; gap: 48px; }
.hero h1 { font-size: clamp(32px, 4vw, 49px); line-height: 1.22; }
.hero p.lead { font-size: 17px; max-width: 490px; margin-bottom: 24px; }
.hero-visual { aspect-ratio: 1 / 1; box-shadow: none; }
.hero-photo-grid { background: #17452e; padding: 12px 12px 96px; gap: 12px; }
.hero-photo-grid .photo img { object-fit: contain; padding: 12px 12px 25px; }
.hero-visual-card { bottom: 12px; left: 12px; right: 12px; padding: 12px 16px; }
.hero-visual-card .desc { font-size: 11px; }
.hero-stats { padding-top: 22px; gap: 12px; }
.hero-cta { margin-bottom: 24px; }
.brands-strip { padding: 28px 0; }
.showcase-card { border-radius: 16px; min-width: 0; overflow-wrap: anywhere; }
.showcase-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.showcase-card .img-box { height: 230px; }
.showcase-card .meta { color: #62685f; }
.showcase-filters { gap: 8px; }
.filter-btn { min-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #a87929; outline-offset: 4px; }
[id] { scroll-margin-top: 155px; }
@media (max-width: 960px) {
  .showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero-visual { width: 100%; max-width: 560px; justify-self: center; }
}
@media (max-width: 720px) {
  .hero { padding: 30px 0 36px; }
  .hero h1 { font-size: 32px; }
  .hero p.lead { font-size: 15px; }
  .hero-stats { display: none; }
  .hero-cta { margin-bottom: 0; gap: 8px; }
  .hero-cta .btn { padding: 13px 16px; font-size: 13px; }
  .nav { gap: 10px; }
  .nav-actions { gap: 8px; }
  .nav-actions > .btn { display: none; }
  .nav-toggle { margin-left: auto; }
  .nav-menu:not(.open) { visibility: hidden; pointer-events: none; }
  .nav-menu.open { visibility: visible; }
  .hero-visual-card .badge { display: none; }
  .hero-visual-card { padding: 10px 12px; }
  .showcase-card .img-box { height: 180px; }
  .section-lead { margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
