/* Shop page only — isolated styles; do not alter the main site stylesheet. */
.shop-page .shop-hero{padding:105px 8vw 100px;background:var(--paper2);border-bottom:1px solid var(--line)}
.shop-page .shop-hero h1{font-size:clamp(58px,8vw,108px);line-height:.88;letter-spacing:-.07em;margin:0 0 30px}
.shop-page .shop-hero h1 i,.shop-page h2 i{font-family:Georgia,serif;font-weight:400;color:var(--red)}
.shop-page .shop-hero .lead{max-width:680px}.shop-page .shop-hero .button{display:inline-block;margin-top:8px}
.shop-intro{padding:75px 7vw 35px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.shop-intro h2,.shop-bottom h2{font-size:clamp(42px,5.5vw,72px);line-height:.92;letter-spacing:-.06em;margin:0}
.shop-intro>p,.shop-bottom>div:last-child>p{font-size:16px;color:#57534b;max-width:620px}
.shop-grid{padding:25px 7vw 100px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 22px}
.shop-card{min-width:0}.shop-card-image{display:block;background:#f0ede7;aspect-ratio:4/5;overflow:hidden}
.shop-card-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.shop-card-image:hover img{transform:scale(1.025)}
.shop-category{font-size:9px;letter-spacing:.17em;color:var(--red);font-weight:bold;margin:15px 0 6px}
.shop-card h3{font-size:17px;line-height:1.18;letter-spacing:-.02em;margin:0 0 8px}
.shop-price{font-size:14px;font-weight:bold;margin:0 0 12px;color:var(--ink)}
.shop-card-link{display:inline-block;border-bottom:1px solid var(--red);padding-bottom:5px;color:var(--red);font-size:10px;font-weight:bold;letter-spacing:.12em}
.shop-bottom{padding:80px 8vw;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.shop-bottom>div:last-child>p{color:#d5d0c8}.shop-bottom .button{display:inline-block;margin-top:10px}
@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:6vw}}
@media(max-width:700px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.shop-intro,.shop-bottom{grid-template-columns:1fr;gap:25px}}
@media(max-width:520px){.shop-page .shop-hero{padding:75px 7vw}.shop-grid{padding:20px 5vw 65px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.shop-card h3{font-size:15px}.shop-intro,.shop-bottom{padding:60px 7vw}}
