/* One explicit palette. Colours follow the surface, independent of device theme. */
:root {
  color-scheme: light;
  --ink: #000; --paper: #fff; --surface: #fff; --muted: #000;
  --inverse: #0b0b0b; --inverse-text: #fff;
  --line: #dedede; --acid: #d4b36d; --red: #000;
}
body { background: #fff; color: #000; }
a { color: inherit; text-underline-offset: .22em; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.section { background: #fff; color: #000; }
.masthead, .hero, .updates, .artists, .services, .contact, footer {
  background: #0b0b0b; color: #fff; --ink: #fff; --surface: #0b0b0b;
  --paper: #0b0b0b; --muted: #fff; --line: #3b3b3b;
}
.masthead { border-bottom-color: #333; }
.brand-home, .nav a, .nav .nav-shop { color: #fff; }
.nav a:hover, .nav a:focus-visible { color: #fff; text-decoration: underline; }
.nav .nav-shop:hover, .nav .nav-shop:focus-visible { background: #fff; color: #000; border-color: #fff; }
.hero h1, .hero-copy p, .genre, .gold-text { color: #fff; }
.hero { background: #0b0b0b; }
.logo-poster { background: #0b0b0b; box-shadow: 0 24px 64px #0004; }
.logo-poster:after { background: #0b0b0b; color: #fff; }
.ticker, .promo-bar { background: #d4b36d; color: #000; }
.promo-bar:hover, .promo-bar:focus-visible { background: #e7d1a3; color: #000; }
.shop, .music, .about, .milestones, .booking { background: #fff; color: #000; }
.stat, .release, .spotify-link, .moment, .shop-card, .shop-card-body, .shop-faq,
.booking-form, #artists .artist-feature {
  background: #fff; color: #000; --ink: #000; --paper: #fff;
  --surface: #fff; --muted: #000; --line: #dedede;
}
.stat strong, .stat span, .catalog-intro, .release-meta, .release-no,
.release-title, .player-kicker, .player-meta p, .player-actions a, .track,
.track span:last-child, .streaming-copy, .moment time, .moment p,
.about-copy strong, .manifesto, .booking-intro p, .booking-phone,
.shop-intro, .shop-tools label, .shop-tools p, .shop-card-link, .shop-card-type,
.shop-card-title, .shop-card-price, .shop-card-price small, .shop-card-cta,
.shop-benefits, .shop-faq p, .shop-note, .shop-foot, .form-status { color: #000; }
.section-num { color: inherit; }
.release:hover, .release:focus-visible, .spotify-link:hover, .spotify-link:focus-visible {
  background: #0b0b0b; color: #fff; border-color: #0b0b0b;
}
.release:hover :is(.release-no,.release-title,.release-meta),
.release:focus-visible :is(.release-no,.release-title,.release-meta) { color: #fff; }
.player-actions a:hover, .player-actions a:focus-visible,
.booking-phone:hover, .booking-phone:focus-visible { color: #000; text-decoration: underline; }
.news-card, .service, .service:nth-child(n), .roster-card, .name-cloud span {
  background: #0b0b0b; color: #fff; border-color: #414141;
}
.news-date, .news-type, .news-card p, .roster-card span { color: #fff; }
#artists .artist-feature :is(.artist-name,.artist-role,.artist-copy,.artist-copy p,.small) { color: #000; }
.artist-feature { border-color: #dedede; border-radius: 8px; }
.artist-name { font-size: clamp(64px, 9vw, 120px); }
.artist-copy { border-top-color: #d4b36d; }
.artist-role { font-size: 13px; line-height: 1.7; }
.artist-copy { font-size: 17px; line-height: 1.8; }
.contact a, footer a { color: #fff; }
.contact-lines { border-top-color: #d4b36d; }
.contact-row { border-bottom-color: #414141; }
footer { color: #fff; }
.button, .button.gold { background: #d4b36d; color: #000; border-color: #d4b36d; }
.button:hover, .button:focus-visible, .button.gold:hover, .button.gold:focus-visible {
  background: #fff; color: #000; border-color: #000;
}
.button.secondary { background: #0b0b0b; color: #fff; border-color: #777; }
.button.secondary:hover, .button.secondary:focus-visible { background: #fff; color: #000; border-color: #fff; }
.contact .button { background: #fff; color: #000; border-color: #fff; }
.contact .button:hover, .contact .button:focus-visible { background: #d4b36d; color: #000; border-color: #d4b36d; }
.shop-filter { background: #fff; color: #000; border-color: #aaa; }
.shop-filter.is-active, .shop-filter:hover, .shop-filter:focus-visible { background: #0b0b0b; color: #fff; border-color: #0b0b0b; }
.shop-card-media { background: #fff; }
.shop-card:hover img { transform: none; }
.shop-card:hover { box-shadow: 0 12px 30px #0000000d; }
.shop-card-cta { background: #fff; }
.field label { color: #000; }
.field input, .field select, .field textarea, .shop-tools input {
  background: #fff; color: #000; border-color: #999; caret-color: #000;
}
input::placeholder, textarea::placeholder { color: #000; opacity: 1; }
.field select option { background: #fff; color: #000; }
input:autofill { background: #fff; color: #000; }
.skip { background: #fff; color: #000; }
:is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #a77b27; outline-offset: 4px; }
/* Restrained typography and spacing across the full page. */
h1,h2,h3,.manifesto,.artist-name {
  font-family: 'DM Sans',sans-serif; font-weight: 500; text-transform: none;
  letter-spacing: -.04em; line-height: 1.08;
}
.hero h1 { font-weight: 500; font-size: clamp(54px,6.8vw,98px); line-height: 1.03; }
h2 { font-size: clamp(36px,4.5vw,60px); }
.manifesto { font-size: clamp(32px,3.5vw,48px); line-height: 1.25; }
.section-head { padding-bottom: 24px; margin-bottom: 36px; }
.section-num { font-size: 11px; letter-spacing: .14em; }
.section { padding-block: clamp(56px,7vw,100px); }
.news-card h3, .moment h3, .service h3 { font-size: clamp(23px,2.4vw,32px); line-height: 1.25; }
.news-card:first-child h3 { font-size: clamp(30px,3.6vw,44px); }
.stat strong { font-size: clamp(40px,4vw,64px); line-height: 1.1; }
.streaming h3, .booking-intro h3 { font-size: clamp(30px,3.6vw,44px); line-height: 1.15; }
.release-title { font-family: 'DM Sans',sans-serif; font-size: clamp(18px,2.2vw,26px); font-weight: 600; line-height: 1.3; text-transform: none; }
.artist-feature, .news-card, .moment, .service, .booking-form { border-radius: 8px; }
.artist-feature { gap: clamp(28px,5vw,72px); }
.news-card p,.service p,.about-copy p { line-height: 1.8; }
.nav a { min-height: 44px; display: inline-flex; align-items: center; }
.shop-card-title { letter-spacing: 0; }
@media(max-width:800px) {
  .news-card:first-child { grid-template-columns: 1fr; }
  .booking-layout,.artist-feature,.about-grid,.music-layout,.contact { grid-template-columns: 1fr; }
  .section-head { grid-template-columns: 1fr; gap: 12px; }
  .booking-form { padding: 22px; }
  .nav { flex-wrap: wrap; justify-content: center; gap: 0 16px; }
  .nav a { font-size: 10px; }
  .masthead { position: relative; }
  .section { scroll-margin-top: 20px; }
}
@media(max-width:460px) {
  .hero h1 { font-size: clamp(42px,12vw,58px); }
  .booking-form { grid-template-columns: 1fr; }
  .artist-feature { padding: 24px; }
  .artist-name { font-size: 64px; }
  .artist-copy { font-size: 16px; }
  .shop-card-type { font-size: 10px; letter-spacing: .08em; }
  .shop-card-cta { font-size: 10px; }
}
