/* ==========================================================
   Store pages — Spincoaster Music Bar (shinjuku / ebisu / kagurazaka)
   ========================================================== */
.st-wrap{max-width:1320px;margin:0 auto;padding-left:clamp(24px,5vw,88px);padding-right:clamp(24px,5vw,88px)}
.st-hero{padding-top:148px;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,3.4vw,44px);position:relative}
.st-hero::after{content:"";position:absolute;left:clamp(24px,5vw,88px);right:clamp(24px,5vw,88px);bottom:0;height:1px;background:var(--line-strong)}
.st-crumb{display:flex;flex-wrap:wrap;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-3);margin-bottom:28px}
.st-crumb a{color:var(--paper-3);transition:color .25s}
.st-crumb a:hover{color:var(--paper)}
.st-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--paper-3);display:block;margin-bottom:22px}
.st-title{font-weight:400;line-height:1.2;margin-bottom:26px}
.st-title-en{display:block;font-family:var(--serif-en);font-size:min(64px, calc((100vw - 2 * clamp(24px, 5vw, 88px)) / 20.5));line-height:1.1;letter-spacing:.005em;white-space:nowrap;color:var(--paper)}
.st-title-jp{display:block;font-family:var(--serif-jp);font-size:clamp(16px,1.5vw,19px);letter-spacing:.08em;color:var(--paper-2);margin-top:12px}
.st-lede{font-family:var(--serif-jp-body);font-size:15px;line-height:2.05;color:var(--paper-2);max-width:640px;text-wrap:pretty}
.st-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.st-hero-tags span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-2);border:1px solid var(--line-strong);padding:7px 12px}
.st-hero-head{grid-column:1/-1}
.st-hero-head .st-title{margin-bottom:0}
.st-hero-text{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px clamp(32px,5vw,72px);align-items:start}
.st-hero-text .st-hero-tags{margin-top:6px;justify-content:flex-end}
.st-hero-media{aspect-ratio:21/9;overflow:hidden;background:var(--ink-2)}
.st-hero-media img{width:100%;height:100%;object-fit:cover;display:block}

.st-section{padding-top:72px;padding-bottom:16px}
.st-head{display:flex;align-items:baseline;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line-strong);margin-bottom:28px}
.st-head-num{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--paper-3)}
.st-head-title{font-family:var(--serif-jp);font-weight:400;font-size:20px;letter-spacing:.06em;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.st-head-title .en{font-family:var(--serif-en);font-size:.95em;letter-spacing:.02em;color:var(--paper-3)}

.st-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(32px,5vw,72px)}
.st-info-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:15px 0;border-bottom:1px solid var(--line);align-items:baseline}
.st-info-row dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-3)}
.st-info-row dd{font-family:var(--serif-jp-body);font-size:14.5px;line-height:1.85;color:var(--paper)}
.st-info-row dd a{color:var(--paper);border-bottom:1px solid var(--line-strong);transition:border-color .25s}
.st-info-row dd a:hover{border-color:var(--paper)}
.st-info-row dd small{display:block;font-size:12px;color:var(--paper-3);margin-top:2px}
.st-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.st-btn{display:inline-flex;align-items:center;gap:12px;padding:13px 22px;border:1px solid var(--line-strong);color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:.25s}
.st-btn:hover{border-color:var(--paper)}
.st-btn-primary{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.st-btn-primary:hover{background:transparent;color:var(--paper)}

.st-audio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.st-audio-item{display:flex;flex-direction:column;gap:10px}
.st-audio-img{aspect-ratio:4/3;overflow:hidden;background:var(--ink-2);margin-bottom:6px}
.st-audio-img img{width:100%;height:100%;object-fit:cover;display:block}
.st-audio-cat{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-3)}
.st-audio-name{font-family:var(--serif-en);font-weight:400;font-size:21px;line-height:1.25;color:var(--paper)}
.st-audio-desc{font-family:var(--serif-jp-body);font-size:13px;line-height:1.95;color:var(--paper-2);text-wrap:pretty}

.st-price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.st-price-card{border:1px solid var(--line-strong);padding:26px 24px;display:flex;flex-direction:column;gap:14px}
.st-price-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-3)}
.st-price-label b{display:block;font-family:var(--serif-jp-body);font-weight:400;font-size:14px;letter-spacing:.04em;text-transform:none;color:var(--paper-2);margin-top:6px}
.st-price-amount{font-family:var(--serif-en);font-size:42px;line-height:1;color:var(--paper)}
.st-price-amount small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--paper-3);margin-left:6px}
.st-notes{margin-top:22px;display:flex;flex-direction:column;gap:6px;font-family:var(--serif-jp-body);font-size:13px;line-height:1.9;color:var(--paper-2)}
.st-notes li{list-style:none;padding-left:14px;position:relative}
.st-notes li::before{content:"";position:absolute;left:0;top:.95em;width:6px;height:1px;background:var(--paper-3)}

.st-faq{border-top:1px solid var(--line)}
.st-faq-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px clamp(24px,4vw,56px);padding:20px 4px;border-bottom:1px solid var(--line)}
.st-faq-q{font-family:var(--serif-jp-body);font-size:15px;line-height:1.75;color:var(--paper);display:flex;gap:14px}
.st-faq-q::before{content:"Q.";font-family:var(--mono);font-size:12px;color:var(--paper-3);line-height:2.1}
.st-faq-a{font-family:var(--serif-jp-body);font-size:13.5px;line-height:2;color:var(--paper-2);text-wrap:pretty}
.st-faq-a a,.st-more a{color:var(--paper);border-bottom:1px solid var(--line-strong)}
.st-more{margin-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}

.st-others{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.st-other{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);transition:border-color .25s;color:var(--paper)}
.st-other:hover{border-color:var(--paper-2)}
.st-other-img{aspect-ratio:4/3;overflow:hidden;background:var(--ink-2)}
.st-other-img img{width:100%;height:100%;object-fit:cover;display:block}
.st-other-body{padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.st-other-name{font-family:var(--serif-en);font-size:26px;line-height:1.1}
.st-other-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-3);line-height:1.8}

.st-cta{padding-top:72px;padding-bottom:96px}

/* language */
body.lang-en .st-title-jp,body.lang-en .st-head-title .jp{display:none}

@media (max-width:1000px){
  .st-audio{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .st-hero{padding-top:96px;padding-bottom:40px;gap:24px}
  .st-hero-media{order:-1;aspect-ratio:3/2}
  .st-hero-text{grid-template-columns:1fr}
  .st-hero-text .st-hero-tags{justify-content:flex-start;margin-top:0}
  .st-info{grid-template-columns:1fr}
  .st-info-row{grid-template-columns:96px minmax(0,1fr)}
  .st-price{grid-template-columns:1fr}
  .st-faq-item{grid-template-columns:1fr}
  .st-others{grid-template-columns:1fr}
  .st-section{padding-top:56px}
}
@media (max-width:560px){
  .st-audio{grid-template-columns:1fr}
  .st-other{grid-template-columns:1fr}
}
