/* Public desktop readability; mobile catalogue choices remain unchanged. */
@media (min-width: 769px) {
  .public-site header { flex-wrap: wrap; gap: 12px 24px; }
  .public-site #main-navigation a,
  .public-site #main-navigation summary { font-size: .875rem; letter-spacing: .09em; }
  .public-site .footer-content { font-size: .875rem; color: #555; gap: 24px; flex-wrap: wrap; align-items: center; }
  .public-site .footer-links { gap: 8px 20px; }
  .public-site .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .public-site .cta-button,
  .public-site .shop-teaser-link { font-size: .875rem; min-height: 48px; }
  .public-site .artwork-info p,
  .public-site .back-link,
  .public-site .cta-overlay span { font-size: .875rem; color: #555; }
  .public-site .cta-overlay span { color: white; }
  .public-site .back-link { display: inline-flex; align-items: center; min-height: 44px; }
  .public-site .contact-container .detail-item span,
  .public-site .image-caption,
  .public-site .legal-container h2 { font-size: .875rem; color: #555; }
  .public-site .bio-content p,
  .public-site .contact-description,
  .public-site .legal-container p { font-size: 1rem; }
  .public-site .shop-search input { font-size: 1rem; }
  .public-site .shop-shell > .notice { font-size: .875rem; padding: 12px 16px; }
  .public-site .shop-shell > .lead { font-size: 1rem; max-width: 72ch; }
  .public-site .shop-tabs a { font-size: .875rem; min-height: 44px; display: inline-flex; align-items: center; }
  .public-site .shop-grid h2 { font-size: 1.125rem; line-height: 1.4; }
  .public-site .shop-grid .product-format,
  .public-site .price-tax,
  .public-site .price-block .price-note { font-size: .875rem; line-height: 1.6; }
  .public-site .shop-grid .price { font-size: 1.375rem; }
  .public-site .shop-grid button { font-size: 1rem; min-height: 48px; }
  .public-site .sold-out-badge { font-size: .8125rem; }
  .public-site .product-information .price { font-size: 1.75rem; }
  .public-site .product-information > h2:first-child { margin-top: 0; }
  .public-site .product-gallery figcaption { font-size: .875rem; }
  .public-site .cart-item-info h2 { font-size: 1.125rem; }
  .public-site .cart-item-info .cart-item-format { font-size: 1rem; }
  .public-site .cart-total-label strong,
  .public-site .cart-total-amount { font-size: 1.25rem; }
  .public-site .cart-total-label span,
  .public-site .shop-shell .cart-summary-note,
  .public-site .shop-shell .cart-tax-note { font-size: .875rem; }
  .public-site .cart-shipping-row span:last-child { font-size: 1rem; }
}
@media (min-width: 1100px) {
  .public-site .shop-shell { max-width: 1240px; }
  .public-site .product-layout { grid-template-columns: minmax(320px,480px) minmax(0,1fr); gap: 48px; }
  .public-site .product-gallery .product-main-image { --product-image-limit: 480px; max-height: 480px; }
  .public-site .gallery-thumbnails button { width: 88px; height: 92px; }
}
/* Two pre-existing overflow cases found during the mobile comparison. */
@media (max-width: 360px) {
  .public-site .legal-title { overflow-wrap: anywhere; }
  .public-site .hero-layout > * { min-width: 0; }
  .public-site .hero-cta-group .cta-button { max-width: 100%; padding-inline: 24px; }
  .public-site .action-block .standard-title { font-size: 2.2rem; }
}
