/* Shared navigation and touch-friendly layouts for phones and tablets. */
@media(max-width:900px){
 header{height:auto;min-height:110px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;padding:20px 6% 12px}
 header .brand{min-width:0;font-size:12px;letter-spacing:1.2px}
 header .brand svg{width:34px;flex-shrink:0}
 header .nav-cta{min-height:44px;min-width:100px;align-items:center;padding:8px 0;gap:12px}
 header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:4px}
 header nav a,header nav a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;font-size:12px;white-space:nowrap}
 .filters button{min-height:44px;padding:10px 12px}
 .button{min-height:48px}
}
@media(max-width:600px){
 header{padding:12px 6% 5px;gap:5px 12px}
 header .brand{font-size:10px;letter-spacing:1.1px;gap:7px}
 header .brand small{font-size:7px;letter-spacing:2px}
 header .nav-cta{font-size:11px;min-width:94px}
 .hero{height:610px;min-height:0;margin:0 12px}
 .hero-copy{left:7%;right:7%;top:90px}
 .hero h1{font-size:clamp(42px,12.5vw,62px);letter-spacing:-2px;line-height:1.08}
 .hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.7}
 .hero .sample-label{top:18px;left:7%;right:7%;font-size:8px;line-height:1.5}
 .hero-bottom{gap:20px;align-items:end;left:7%;right:7%;font-size:7px;letter-spacing:1px;bottom:25px}
 .hero-bottom>*{max-width:50%;line-height:1.7}
 .intro{padding:55px 7%}
 .intro h2,.about h2,.print-copy h2,.contact h2{font-size:clamp(35px,10.5vw,46px);letter-spacing:-1.5px}
 .intro>div>p,.about-bottom p,.print-copy>p:not(.eyebrow):not(.fine),.contact p:not(.eyebrow){font-size:14px;line-height:1.8}
 .gallery-toolbar{gap:18px}
 .gallery-toolbar>a{min-height:44px;display:inline-flex;align-items:center}
 .filters{gap:4px;width:100%}
 .filters button{min-height:44px;padding:10px 9px;font-size:11px}
 .artwork .image-wrap,.artwork:nth-child(3n+2) .image-wrap{height:auto;aspect-ratio:4/5}
 .artwork-caption strong{font-size:24px}
 .image-open{max-width:calc(100% - 24px);bottom:12px;right:12px;min-height:44px;display:flex;align-items:center;font-size:11px;padding:12px}
 .print-scene{padding:42px 16% 30px}
 .print-copy{padding:45px 7%}
 .about-bottom{gap:18px}
 .about-bottom p{min-width:0;flex-basis:100%;max-width:none;text-align:center}
 .text-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .contact{padding:50px 7%}
 .contact-links>*{min-height:48px}
 footer{padding:28px 7%;gap:18px}
 footer p,footer>a:last-child{font-size:12px;line-height:1.7}
 dialog{padding:34px 20px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
 .close{width:44px;height:44px;top:5px;right:5px}
 #inquiry input,#inquiry select,#inquiry textarea{font-size:16px;min-height:48px}
 #inquiry h2{font-size:35px}
 #inquiry .button{width:100%;gap:16px}
 .shop-intro{padding:35px 7% 24px;gap:18px}
 .shop-intro h1{font-size:clamp(38px,11.5vw,52px);letter-spacing:-1.5px}
 .shop-intro p{font-size:14px;line-height:1.8}
 .shop-specs{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:25px}
 .shop-specs span{min-width:0;font-size:11px;line-height:1.6}
 .print-collection{padding-top:0}
 .print-collection .filters{gap:4px}
 .print-collection .filters button{padding:10px 8px;font-size:11px;flex:1}
 .product-toolbar{padding:8px 7% 18px;gap:8px}
 .product-toolbar button,.product-toolbar a{display:inline-flex;min-height:44px;align-items:center;line-height:1.6;font-size:12px}
 .selected-print-title{font-size:30px;line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere}
 .edition-options select{font-size:16px;min-height:48px;width:100%;max-width:100%}
 .edition-options p{font-size:12px;line-height:1.7}
 .shop-window{margin:0 8px}
 .shop-window iframe{max-width:100%}
 .shop-help{font-size:13px;overflow-wrap:anywhere}
 .shop-bottom a{min-height:44px;display:inline-flex;align-items:center}
 .about-intro h1{font-size:clamp(43px,12vw,60px);letter-spacing:-2px}
 .about-lead{font-size:16px;line-height:1.85}
 .about-prose p{font-size:16px;line-height:1.85}
 .about-story h2{font-size:36px;letter-spacing:-1.5px}
 .about-end{margin-top:40px;padding-top:25px}
 .about-end p{font-size:23px}
 .about-end .button{width:100%;gap:15px;white-space:normal}
 .about-footer{font-size:12px;line-height:1.7}
 .about-footer a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){
 header .brand{font-size:9px;letter-spacing:.8px}
 header .brand svg{width:28px}
 header .brand small{letter-spacing:1.5px;font-size:6px}
 header .nav-cta{min-width:85px;font-size:10px}
 .filters button{padding:9px 6px;font-size:10px}
 .print-collection .filters button{padding:9px 5px;font-size:10px}
 .hero-copy{top:85px}
}
