.sm-artist-shop { --shop-navy:#071426; --shop-navy-soft:#11243a; --shop-gold:#d6a84c; --shop-ivory:#f5efe4; --shop-line:rgba(7,20,38,.16); background:var(--shop-ivory); color:var(--shop-navy); }
.sm-artist-shop > .sm-artist-shop-navigation { padding:14px max(20px,calc((100% - 1180px)/2)); background:#f5efe4; flex-wrap:wrap; justify-content:flex-start; gap:12px 36px; }
.sm-artist-shop > .sm-artist-shop-navigation a { white-space:nowrap; }
.sm-artist-shop-hero { background:radial-gradient(circle at 78% 17%,#244264 0,#071426 47%,#040a13 100%); color:#f5efe4; padding:clamp(58px,8vw,116px) 0; }
.sm-artist-shop-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:clamp(40px,7vw,112px); align-items:center; }
.sm-artist-shop-hero h1 { color:#fff9ef; font-family:var(--serif,Georgia,serif); font-weight:400; font-size:clamp(3.1rem,6vw,6.2rem); line-height:1.04; letter-spacing:-.035em; margin:.22em 0; }
.sm-artist-shop-hero .sm-artist-lead { max-width:640px; color:#d7dce2; }
.sm-artist-shop-hero .sm-artist-text-link { color:#efd59b; }
.sm-artist-shop-hero-note { border:1px solid rgba(214,168,76,.42); padding:clamp(28px,3vw,48px); background:rgba(4,10,19,.38); }
.sm-artist-shop-star { display:block; color:var(--shop-gold); font-size:2rem; margin-bottom:38px; }
.sm-artist-shop-note-title { font-family:var(--serif,Georgia,serif); font-size:clamp(1.8rem,2.6vw,3rem); line-height:1.1; margin:12px 0 20px; color:#fff9ef; }
.sm-artist-shop-hero-note > p:last-child { color:#c7d1dc; line-height:1.7; margin:0; }
.sm-artist-shop-index { display:flex; gap:clamp(22px,4vw,70px); border-bottom:1px solid var(--shop-line); padding-top:22px; padding-bottom:22px; }
.sm-artist-shop-index a { color:var(--shop-navy); font-size:.84rem; text-decoration:none; font-weight:600; }
.sm-artist-shop-index span { color:#8b682c; font-size:.69rem; margin-right:8px; }
.sm-artist-shop-section { padding-top:clamp(70px,8vw,120px); padding-bottom:clamp(72px,8vw,120px); }
.sm-artist-shop-section + .sm-artist-shop-section { border-top:1px solid var(--shop-line); }
.sm-artist-shop-section-head { display:grid; grid-template-columns:1fr minmax(260px,.6fr); gap:40px; align-items:end; margin-bottom:38px; }
.sm-artist-shop-section-head h2,.sm-artist-shop-tail h2 { font-family:var(--serif,Georgia,serif); font-weight:400; font-size:clamp(2.5rem,4vw,4.3rem); line-height:1.08; letter-spacing:-.025em; margin:.15em 0 0; }
.sm-artist-shop-section-head > p { margin:0; line-height:1.7; color:#3b4755; max-width:460px; }
.sm-artist-shop-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sm-artist-shop-card { min-width:0; background:#fffcf6; border:1px solid var(--shop-line); display:flex; flex-direction:column; }
.sm-artist-shop-card-art { min-height:235px; padding:25px; background:linear-gradient(145deg,#0b1b30,#142c44 72%,#263b50); display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; color:#f5efe4; position:relative; overflow:hidden; }
.sm-artist-shop-card-art::after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(214,168,76,.24); border-radius:50%; right:-45px; top:-57px; box-shadow:0 0 0 30px rgba(214,168,76,.045),0 0 0 60px rgba(214,168,76,.025); }
.sm-artist-shop-card-art > span:nth-child(2) { font-family:var(--serif,Georgia,serif); font-size:clamp(2.8rem,4vw,4.7rem); line-height:1; z-index:1; }
.sm-artist-shop-card-mark { color:var(--shop-gold); font-size:1.2rem; }
.sm-artist-shop-card-art small { color:#e5c782; text-transform:uppercase; letter-spacing:.16em; font-size:.57rem; z-index:1; }
.sm-artist-shop-card-copy { padding:25px; display:flex; flex-direction:column; flex:1; }
.sm-artist-shop-card-copy .sm-artist-eyebrow { color:#8b682c; margin:0 0 10px; }
.sm-artist-shop-card h3 { color:var(--shop-navy); font-family:var(--serif,Georgia,serif); font-size:1.44rem; line-height:1.2; font-weight:400; margin:0 0 12px; }
.sm-artist-shop-card-copy > p:not(.sm-artist-eyebrow) { color:#4c5964; font-size:.9rem; line-height:1.6; margin:0 0 24px; }
.sm-artist-shop-card-foot { margin-top:auto; border-top:1px solid var(--shop-line); padding-top:16px; display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.sm-artist-shop-price { color:var(--shop-navy); font-weight:700; }
.sm-artist-shop-card-foot a,.sm-artist-shop-more a,.sm-artist-shop-deposit-grid a { color:#76531d; font-size:.85rem; font-weight:650; text-underline-offset:4px; }
.sm-artist-shop-unavailable { color:#6c7380; font-size:.78rem; }
.sm-artist-shop-more { margin-top:29px; }
.sm-artist-shop-deposits { background:#e9e0d1; padding:clamp(70px,8vw,116px) 0; }
.sm-artist-shop-deposit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sm-artist-shop-deposit-grid > div { background:#fffcf6; border-top:3px solid var(--shop-gold); padding:28px; }
.sm-artist-shop-deposit-grid h3 { font-family:var(--serif,Georgia,serif); font-weight:400; font-size:1.55rem; margin:0 0 13px; }
.sm-artist-shop-deposit-grid p { color:#4c5964; line-height:1.65; margin:0 0 24px; }
.sm-artist-shop-deposit-grid span { color:#59616b; font-size:.83rem; font-weight:650; }
.sm-artist-shop-tail { padding-top:clamp(72px,8vw,122px); padding-bottom:clamp(74px,8vw,124px); }
.sm-artist-shop-tail > p:not(.sm-artist-eyebrow) { color:#4c5964; }
.sm-artist-shop-tail .sm-artist-text-link { color:#76531d; }
@media(max-width:1100px) { .sm-artist-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .sm-artist-shop-hero-grid,.sm-artist-shop-section-head,.sm-artist-shop-deposit-grid { grid-template-columns:1fr; } .sm-artist-shop-hero-note { display:none; } .sm-artist-shop-index { overflow-x:auto; white-space:nowrap; gap:22px; } .sm-artist-shop-grid { grid-template-columns:1fr; } .sm-artist-shop-card { display:grid; grid-template-columns:110px 1fr; } .sm-artist-shop-card-art { min-height:100%; padding:16px; } .sm-artist-shop-card-art > span:nth-child(2) { font-size:2rem; } .sm-artist-shop-card-art small { font-size:.45rem; } .sm-artist-shop-card-copy { padding:18px; } .sm-artist-shop-card h3 { font-size:1.28rem; } .sm-artist-shop-section-head { gap:14px; } }
@media(max-width:390px) { .sm-artist-shop-card { grid-template-columns:1fr; } .sm-artist-shop-card-art { min-height:140px; } }
