/* Mobile refinements; desktop layout stays in site.css. */
@media (max-width:800px){
  .header{position:relative;padding:18px 6%;gap:16px;min-height:88px}
  .brand{font-size:34px}.brand span{font-size:8px;letter-spacing:1.6px;margin-top:7px}
  .menu{min-width:76px;min-height:46px;border-color:var(--taupe);font-size:16px}
  .header nav{top:100%;padding:12px 6% 18px;box-shadow:0 12px 18px #35322f12}
  .header nav.open{gap:0;align-items:stretch}
  .header nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:16px;border-bottom:1px solid var(--line)}
  .hero{min-height:0}.hero-copy{padding:34px 6% 30px}
  .hero h1{font-size:clamp(2.6rem,10vw,4rem);margin-bottom:20px}
  .eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:18px}
  .lead{font-size:17px;line-height:1.55}
  .hero .button{margin-top:8px}.hero-note{margin-top:18px;margin-bottom:0;line-height:1.5}
  .hero-photo{min-height:0;height:auto;aspect-ratio:4/5;max-height:540px;width:100%;max-width:560px;justify-self:center}
  .hero-photo>img{object-fit:cover;object-position:center top}
  .hero-photo .art-caption{left:18px;bottom:18px;padding:12px 16px;min-width:165px;font-size:25px}
  .trust-strip{padding:18px 6%;gap:10px;font-size:12px;line-height:1.5}
  .section{padding:40px 6%}.section-heading{gap:8px;margin-bottom:24px}
  h2{font-size:clamp(1.9rem,7.5vw,2.8rem)}
  .product-grid,.catalog .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .product-card{min-width:0;margin-bottom:0}.product-card h3,.catalog .product-card h3{font-size:1.5rem}
  .card-heading,.catalog .card-heading{padding-top:12px}.card-heading>span{display:none}
  .product-card p,.catalog .product-card p{font-size:14px;line-height:1.5;min-height:0;margin-bottom:10px}
  .card-link,.catalog .card-link{font-size:13px;min-height:44px;padding-top:10px;margin-top:10px}
  .catalog h1,.info-page h1{font-size:clamp(2.25rem,9vw,3.5rem)}
  .catalog-note{font-size:16px;line-height:1.6}
  .filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:22px;padding:20px 0}
  .filters label{min-width:0;font-size:14px}.filters label:first-child{grid-column:1/-1}
  .filters input,.filters select{font-size:16px;min-height:48px}
  .filters .button{min-height:48px}.filters>a{grid-column:1/-1;min-height:44px;padding:8px 0;justify-self:start}
  .product-detail{gap:24px;margin-top:22px}.product-detail>div{min-width:0}
  .product-detail h1{font-size:2.6rem}.image-zoom,.dialog-close{font-size:15px;min-height:44px}
  .actions{flex-direction:column;gap:12px}.actions .button{width:100%;font-size:16px}
  .story{gap:24px}.story-mark{min-height:200px;font-size:140px;gap:24px}
  .story-mark span{font-size:21px}.nav-panel{padding:36px 6%;margin:0 auto 32px}
  .contact-band{padding:40px 6%}footer{padding:28px 6%;gap:16px;align-items:start}
  footer p{flex-basis:60%}footer>a:not(.brand){min-height:44px;display:flex;align-items:center}
  .info-page{min-height:0}.info-page h1{margin-bottom:24px}
  .image-dialog{max-width:100%;max-height:100dvh;padding:60px 12px 20px;margin:auto}
  .image-dialog img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 90px)}
  .admin-nav{gap:8px 16px}.admin-nav a{min-height:44px;display:inline-flex;align-items:center}
  .admin input,.admin select,.admin textarea{font-size:16px}
}
@media (max-width:359px){
  .filters{grid-template-columns:minmax(0,1fr)}
  .product-grid,.catalog .product-grid{gap:20px 10px}
  .hero-copy{padding-top:28px}.hero h1{font-size:2.5rem}
}
