/* Wider shopping surfaces on desktop; checkout and account forms stay compact. */
@media(min-width:1200px){
 .header-main.wrap,.gnb>.wrap,#home .wrap,#products.wrap,footer .wrap{width:min(1600px,calc(100% - 96px))}
 #home .hero .hero-slide:has(.store-banner-media) .hero-slide-content{width:min(1740px,100%);max-width:1740px}
}
#home .hero{height:clamp(360px,34vw,570px)}
#home .hero-slide-content h1{font-size:clamp(30px,3.4vw,52px);line-height:1.25;max-width:750px}
#home .hero-slide-content p{font-size:17px;line-height:1.7}
#home .hero-slide-content .btn{font-size:16px}
#home .trust{border:0;border-bottom:1px solid #e6e6e6;box-shadow:none;padding:24px 0;margin-bottom:0}
#home .trust strong{font-size:16px}
.home-collection{padding-top:60px;padding-bottom:20px}
.home-collection+.home-collection{border-top:1px solid #ededed;margin-top:35px}
.home-collection h2{font-size:28px;color:#151515}
.home-collection .section-head p{font-size:16px;color:#626262;line-height:1.6}
.home-collection .section-head a{font-size:16px;white-space:nowrap}
.home-collection .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.home-collection .product-image{aspect-ratio:1;height:auto;padding:0;background:#fff;border:1px solid #eee;border-radius:6px}
.home-collection .product-image img{object-fit:contain;width:100%;height:100%;padding:0}
/* Bound intrinsic image sizes to the card; never crop instruments on hover. */
.product-card .product-image{display:flex;align-items:center;justify-content:center}
.product-card .product-image>img{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center}
.product-card:hover .product-image>img{transform:none}
.home-collection .product-meta h3{font-size:17px;line-height:1.5;min-height:3em}
.home-collection .product-meta strong{font-size:22px;color:#111}
.home-collection .product-meta .brand{font-size:14px}
.home-sax-links{display:flex;flex-wrap:wrap;gap:10px}
.home-sax-links a{padding:8px 12px;border:1px solid #ddd;border-radius:4px}
#home .realmaster-banner{margin-top:60px;padding:28px;box-shadow:none}
#home .realmaster-banner h2{font-size:25px}
#home .consult{margin-top:28px;margin-bottom:45px;padding:30px}
#home .consult h2{font-size:25px}
.home-store-story{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #ddd;padding-top:50px;padding-bottom:45px;margin-top:35px}
.home-store-story h2{font-size:28px;margin:10px 0 18px}
.home-store-photo{grid-column:1;grid-row:1 / span 2;margin:0;min-width:0;align-self:stretch}
.home-store-photo img{display:block;width:100%;height:100%;max-height:690px;object-fit:cover;object-position:center bottom;border-radius:6px}
.home-store-story>div{grid-column:2}
.home-store-story p{font-size:16px;line-height:1.8;color:#555}
.home-store-story .home-contact{font-size:26px;font-weight:800;color:#111;display:inline-block;margin:12px 0}
.home-story-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.home-story-links a{border:1px solid #ccc;padding:12px 16px;font-size:16px}
#home .blog-feed-section{padding:35px 0}
#home .home-youtube-grid{grid-template-columns:1fr;max-width:800px;margin:auto}
#home .commerce-facts{margin-top:35px;margin-bottom:35px}
@media(max-width:700px){
 #home .hero{height:460px}
 #home .hero-slide-content{padding-left:28px;padding-right:28px}
 #home .hero-slide-content h1{font-size:30px}
 #home .hero-slide-content p{font-size:16px;max-width:85%}
 #home .trust{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px 14px}
 .home-collection{padding-top:34px}.home-collection h2{font-size:24px}
 .home-collection .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .home-collection .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .home-collection .product-meta h3{font-size:16px;overflow-wrap:anywhere}
 .home-collection .product-meta strong{font-size:20px}
 .home-store-story{grid-template-columns:1fr;gap:20px;padding-top:30px}
 .home-store-photo{grid-column:auto;grid-row:auto}
 .home-store-photo img{height:auto;max-height:none}
 .home-store-story>div{grid-column:auto}
 #home .realmaster-banner,#home .consult{padding:22px;margin-top:30px}
 #home .realmaster-banner h2,#home .consult h2{font-size:23px}
}

/* Photo-led hero: live text stays readable independently of the photographs. */
#home .hero:has(.store-banner-media){height:clamp(480px,36vw,620px)}
.store-banner-media{position:absolute;inset:0 0 0 42%;display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:5px;background:#111}
.store-banner-media--2{grid-template-columns:1.2fr 1fr}
.store-banner-media>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:50% 50%}
.store-banner-media>img:first-child{object-position:46% 52%}
.hero-slide:has(.store-banner-media){background:#17232a}
.hero-slide:has(.store-banner-media) .hero-shade{background:linear-gradient(90deg,#17232a 0%,#17232a 34%,rgba(23,35,42,.55) 44%,transparent 57%)}
#home .hero-slide:has(.store-banner-media) .hero-slide-content{width:100%;max-width:1440px;padding:40px 70px;pointer-events:none}
#home .hero-slide:has(.store-banner-media) .hero-slide-content>*{max-width:36%;pointer-events:auto}
#home .hero-slide:has(.store-banner-media) h1{font-size:clamp(28px,2.65vw,42px);word-break:keep-all}
#home .hero-slide:has(.store-banner-media) p{font-size:16px;line-height:1.8;color:#e3e7e9}
#home .hero-slide:has(.store-banner-media) .eyebrow{font-size:12px;letter-spacing:.12em}
@media(max-width:700px){
 #home .hero:has(.store-banner-media){height:650px}
 .store-banner-media{inset:0 0 46% 0;gap:3px;grid-template-columns:1fr 1.15fr 1fr}
 .store-banner-media--2{grid-template-columns:1fr 1fr}
 .hero-slide:has(.store-banner-media) .hero-shade{background:linear-gradient(0deg,#17232a 0%,#17232a 44%,transparent 64%)}
 #home .hero-slide:has(.store-banner-media) .hero-slide-content{padding:0 28px 65px;justify-content:flex-end}
 #home .hero-slide:has(.store-banner-media) .hero-slide-content>*{max-width:100%}
 #home .hero-slide:has(.store-banner-media) h1{font-size:28px;margin-bottom:12px}
 #home .hero-slide:has(.store-banner-media) p{font-size:15px;line-height:1.6;margin-bottom:16px}
 #home .hero-slide:has(.store-banner-media) .eyebrow{font-size:11px;margin-bottom:8px}
 #home .hero-slide:has(.store-banner-media) .btn{padding:11px 18px;font-size:15px}
}
/* Preserve the supplied M50 artwork without cropping or overlaid duplicate text. */
#home .hero-slide.m50-banner{background:#06060e}
#home .m50-banner-link{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;padding:0 0 50px}
#home .m50-banner-link img{position:static;width:100%;height:auto;max-height:calc(100% - 74px);object-fit:contain}
#home .m50-banner-caption{display:flex;align-items:center;justify-content:center;gap:28px;color:white;padding:14px 24px;font-size:16px}
#home .m50-banner-caption b{border-bottom:1px solid #b7a0ff;padding-bottom:4px}
#home .m50-banner-link:focus-visible{outline:3px solid #b7a0ff;outline-offset:-5px}
@media(max-width:600px){#home .m50-banner-caption{flex-direction:column;gap:12px;font-size:16px}#home .m50-banner-caption span{font-size:22px;font-weight:700}}
/* The M50 composition defines its own hero height; no letterbox bands. */
#home .hero:has(.m50-banner.active){height:auto;aspect-ratio:8/3;min-height:0}
#home .m50-banner-link{display:block;position:relative;padding:0}
#home .m50-banner-link img{display:block;width:100%;height:100%;max-height:none;object-fit:contain}
#home .m50-banner-caption{position:absolute;left:4.5%;bottom:6%;padding:0;gap:0}
#home .m50-banner-caption span{display:none}
#home .m50-banner-caption b{padding:10px 18px;border:1px solid #ffffff80;border-radius:4px;background:#070714b3}
@media(max-width:600px){
 #home .hero:has(.m50-banner.active){aspect-ratio:auto;height:calc(37.5vw + 66px)}
 #home .m50-banner-link img{height:auto}
 #home .m50-banner-caption{left:0;right:0;bottom:12px;font-size:14px}
 #home .m50-banner-caption b{padding:7px 14px}
}
