/* Responsive overrides — loaded last on every page */
html,body{max-width:100%}
img,svg,video{max-width:100%}
.hero-title,h2,.bio-name,.page-hero h1,.footer-mail{overflow-wrap:anywhere}

@media(max-width:1024px){
  .nav-links{gap:22px}
  .show{grid-template-columns:90px 1fr auto}
}

@media(max-width:860px){
  .nav{padding:14px 5%}
  /* backdrop-filter would trap the fixed full-screen menu inside the bar */
  .nav,.nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav.scrolled{background:rgba(10,10,10,.96)}
  .nav-links{padding-top:60px;overflow-y:auto}
  .nav-links a:not(.btn){font:700 34px var(--display);letter-spacing:-.01em;text-transform:uppercase}
  body.menu-open{overflow:hidden}
  .burger{z-index:2}
  .hero{min-height:92svh;padding:120px 0 70px}
  .hero-bg{object-position:center 20%}
  .section{padding:72px 0}
  .section-head{margin-bottom:36px}
  .marquee{font-size:18px}
  .marquee-track{font-size:18px}
  .notify,.press-grid{grid-template-columns:1fr}
  .stats b{font-size:36px}
  .footer{padding:70px 0 120px}
  .footer-row{flex-direction:column;align-items:flex-start}
  .bio-hero{padding:110px 0 60px;min-height:0}
  .page-hero{padding:120px 0 44px}
}

@media(max-width:640px){
  body{font-size:15px;padding-bottom:96px}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}
  .btn{padding:15px 22px}
  .eyebrow{font-size:11px}
  .stats{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .stats span{font-size:10px}
  .about-text p,.prose p{font-size:17px}
  .release-cover .play-fab{width:56px;height:56px;right:14px;bottom:14px}
  .stream a{padding:10px 16px}
  .roster{grid-template-columns:1fr}
  /* tour */
  .show{grid-template-columns:70px 1fr;gap:6px 16px;padding:18px}
  .show-date b{font-size:34px}
  .show-act{grid-column:1/-1}
  .show-act .btn{width:100%;justify-content:center}
  .show-info h3{font-size:22px}
  /* shop */
  .products{grid-template-columns:repeat(2,1fr);gap:14px}
  .product-body{padding:14px}
  .product-body h3{font-size:17px}
  .product-row{flex-wrap:wrap}
  /* press */
  .cover-row{grid-template-columns:1fr;gap:4px}
  .facts-table div{flex-direction:column;gap:2px}
  .facts{gap:14px 24px}
  /* player */
  .player{bottom:10px;width:calc(100% - 20px);padding:8px 12px 8px 8px;gap:8px;flex-wrap:wrap}
  .player img{width:44px;height:44px}
  .p-info{flex:1;min-width:0}
  .p-info b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .p-btn{width:42px;height:42px}
  #pSeek{flex:1 1 100%;order:5}
  .p-time{order:4;min-width:0}
  #pCur{margin-left:auto}
}

@media(max-width:380px){
  .products{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
}

/* Big touch targets on touch devices */
@media(hover:none){
  .btn:hover,.artist:hover,.product:hover{transform:none}
  input[type=range]{height:6px}
  input[type=range]::-webkit-slider-thumb{width:20px;height:20px}
  input[type=range]::-moz-range-thumb{width:20px;height:20px}
}

@media(max-width:860px){.nav-links a:not(.btn){font-size:30px}.nav-links{gap:20px}}

@media(max-width:1180px) and (min-width:861px){.nav-links{gap:16px;font-size:12px}}

/* Bigger header logo */
.nav .logo{font-size:32px;line-height:1}
.nav.scrolled .logo{font-size:28px}
@media(max-width:860px){.nav .logo,.nav.scrolled .logo{font-size:26px}}
@media(max-width:380px){.nav .logo,.nav.scrolled .logo{font-size:22px}}

/* Page titles match header logo size */
.page-hero h1{font-size:32px;line-height:1.1;letter-spacing:.08em;margin-bottom:14px}
.page-hero{padding:130px 0 44px}
@media(max-width:860px){.page-hero h1{font-size:26px}.page-hero{padding:104px 0 34px}}
@media(max-width:380px){.page-hero h1{font-size:22px}}

/* Larger type: shop + contact pages */
.shop-page,.contact-page{font-size:19px}
.shop-page .page-hero .lead,.contact-page .page-hero .lead{font-size:clamp(20px,2.4vw,26px)}
.shop-page .product-body h3{font-size:28px;margin-bottom:20px}
.shop-page .product-body .type{font-size:13px}
.shop-page .product-row b{font-size:26px}
.shop-page .tag{font-size:13px;padding:7px 14px}
.shop-page .btn-sm,.contact-page .btn-sm{font-size:14px;padding:12px 22px}
.shop-page .muted,.contact-page .muted{font-size:19px}
.shop-page .eyebrow,.contact-page .eyebrow{font-size:14px}
.shop-page .notify-form input,.contact-page .form input,.contact-page .form textarea,.contact-page .form select{font-size:19px;padding:17px 20px}
.shop-page .form-note,.contact-page .form-note{font-size:17px}
.contact-page .form label{font-size:14px}
.contact-page .contact-card{padding:26px 28px}
.contact-page .contact-card>span{font-size:13px}
.contact-page .contact-card p{font-size:19px}
.contact-page .contact-card>a:not(.link-arrow){font-size:clamp(20px,2.4vw,28px)}
.contact-page .link-arrow,.shop-page .link-arrow{font-size:15px}
.contact-page .btn,.shop-page .btn{font-size:16px}
.shop-page .products{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
@media(max-width:640px){.shop-page,.contact-page{font-size:17px}.shop-page .product-body h3{font-size:22px}.shop-page .product-row b{font-size:22px}}

/* Player: roomier layout */
.player{width:min(1040px,94%);padding:14px 26px 14px 14px;gap:22px;border-radius:18px;bottom:18px}
.player img{width:68px;height:68px;border-radius:10px;flex:none}
.p-info{flex:0 0 auto;min-width:150px;max-width:220px;line-height:1.35}
.p-info b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-info span{font-size:13px;display:block}
.p-btn{width:56px;height:56px}
.p-btn svg{width:26px;height:26px}
.p-time{font-size:13px;min-width:42px;text-align:center}
#pSeek{flex:1;min-width:120px;height:6px}
.p-vol{width:100px;height:6px}
input[type=range]::-webkit-slider-thumb{width:16px;height:16px}
input[type=range]::-moz-range-thumb{width:16px;height:16px}
body{padding-bottom:120px}

@media(max-width:860px){
  .player{gap:16px;padding:12px 18px 12px 12px}
  .p-vol{display:none}
  .p-info span{display:block}
}
@media(max-width:640px){
  .player{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"cover info play" "seek seek seek";gap:12px 14px;align-items:center;width:calc(100% - 20px);bottom:10px;padding:12px 14px 14px 12px;border-radius:16px}
  .player[hidden]{display:none}
  .player img{grid-area:cover;width:58px;height:58px}
  .p-info{grid-area:info;min-width:0;max-width:none}
  .p-btn{grid-area:play;width:52px;height:52px}
  .p-time{display:none}
  #pSeek{grid-area:seek;width:100%;min-width:0;height:8px}
  body{padding-bottom:150px}
}
