@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/manrope-cyrillic-400.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/manrope-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/manrope-cyrillic-600.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/manrope-latin-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/manrope-cyrillic-700.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/manrope-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/cormorant-garamond-cyrillic-400.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/cormorant-garamond-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/cormorant-garamond-cyrillic-500.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/cormorant-garamond-latin-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/cormorant-garamond-cyrillic-400-italic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/cormorant-garamond-latin-400-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root,
:root[data-theme='light'] {
  color-scheme: light;
  --ink: #1c1c1a;
  --ink-2: #17191d;
  --muted: #6c6962;
  --paper: #ede8de;
  --paper-2: #e4ddd1;
  --white: #f8f5ee;
  --acid: #b99a66;
  --violet: #6f7f92;
  --coral: #95695f;
  --line: rgba(28, 28, 26, .16);
  --line-dark: rgba(255, 255, 255, .15);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
  --header-bg: rgba(248, 245, 238, .92);
  --header-nav: #373735;
  --surface-elevated: #fffdf8;
  --on-dark: #f4f1ea;
  --on-dark-muted: #c3c1bc;
  --accent-ink: #171613;
  --shadow: 0 30px 90px rgba(18, 19, 22, .14);
}

:root[data-theme='dark'] {
  color-scheme: dark;
  --ink: #eeebe4;
  --ink-2: #14171b;
  --muted: #aaa69e;
  --paper: #181b20;
  --paper-2: #20242a;
  --white: #101317;
  --acid: #b99a66;
  --violet: #7f8da2;
  --coral: #9b7167;
  --line: rgba(238, 235, 228, .15);
  --line-dark: rgba(255, 255, 255, .15);
  --header-bg: rgba(12, 14, 17, .91);
  --header-nav: #dedbd4;
  --surface-elevated: #15191e;
  --on-dark: #f4f1ea;
  --on-dark-muted: #c3c1bc;
  --accent-ink: #171613;
  --shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

html { background: var(--white); }
body {
  color: var(--ink);
  background: var(--white);
  font-family: var(--sans);
  letter-spacing: -.006em;
  transition: color .2s ease, background-color .2s ease;
}
h1,
h2,
h3 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.025em;
}
h1 { line-height: .92; }
h2 { line-height: .98; }
.eyebrow {
  color: var(--violet);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
}
.eyebrow.light { color: #d0b27c; }
:focus-visible { outline-color: var(--acid); }

.button {
  min-height: 54px;
  padding-inline: 27px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .075em;
}
.button:hover,
.button-dark,
.button-bright,
.header-cta {
  color: var(--accent-ink);
  background: var(--acid);
  border-color: var(--acid);
}
.button-dark:hover {
  color: var(--on-dark);
  background: #596779;
  border-color: #596779;
}
.text-link { font-size: 13px; letter-spacing: .02em; }
.text-link.light { color: var(--on-dark); }

.site-header {
  color: var(--ink);
  background: var(--header-bg);
  border-color: var(--line);
}
.header-inner {
  min-height: 82px;
  grid-template-columns: 232px minmax(0, 1fr) 44px 152px;
  grid-template-areas: 'logo nav theme cta';
  gap: 18px;
}
.logo { grid-area: logo; }
.logo-type strong {
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -.015em;
}
.logo-type small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
}
#main-nav {
  grid-area: nav;
  gap: clamp(15px, 1.65vw, 27px);
}
#main-nav a {
  padding: 10px 0;
  color: var(--header-nav);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
}
#main-nav a::after {
  bottom: 1px;
  height: 1px;
  background: var(--acid);
}
.theme-toggle {
  grid-area: theme;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--header-nav);
  background: transparent;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.theme-toggle:hover { color: var(--accent-ink); border-color: var(--acid); background: var(--acid); }
.theme-icon { display: none; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
:root[data-theme='dark'] .theme-icon-sun,
:root[data-theme='light'] .theme-icon-moon { display: block; }
.header-cta { grid-area: cta; min-height: 46px; font-size: 11px; }
.menu-button { grid-area: menu; color: var(--header-nav); }

.hero,
.manifesto,
.release-callout,
.media-callout,
.page-hero,
.concert-hero,
.bio-hero,
.music-hero,
.contact-hero,
.video-concerts,
.video-catalog-hero,
.video-detail-head,
.site-footer { color: var(--on-dark); }
.hero::before { background: #5e6b7c; opacity: .28; }
.hero::after {
  background: linear-gradient(90deg, rgba(9, 11, 14, .02) 0, rgba(9, 11, 14, .22) 34%, rgba(9, 11, 14, .86) 68%, #090b0e 100%);
}
.hero-stage img { object-fit: contain; object-position: left center; filter: saturate(.9) contrast(1.04); }
.hero-grid { grid-template-columns: .9fr 1.1fr; }
.hero-copy { grid-column: 2; max-width: 680px; margin-left: auto; }
.hero h1 em,
.concert-hero h1 em,
.bio-hero h1 em,
.contact-hero h1 em { color: #d0b27c; }
.hero-lead { color: var(--on-dark-muted); font-size: 19px; }
.hero-lines { opacity: .38; }
.next-concert,
.ticket-card { color: var(--accent-ink); background: #b99a66; }
.next-concert strong { font-weight: 500; }

.manifesto { background: #282d34; }
.manifesto::after { border-color: #7f8da2; opacity: .35; }
.manifesto-grid > div:last-child > p { color: #d4d1cb; }
.manifesto blockquote { border-color: #b99a66; }
.proof-grid div,
.bio-facts div,
.video-concert-card,
.video-catalog-card { background: var(--surface-elevated); }
.release-callout,
.media-callout,
.page-hero,
.concert-hero,
.contact-hero,
.site-footer { background-color: #0c0e11; }
.release-grid > img { box-shadow: 34px 34px 0 #586679; }
.track-row:hover,
.score-card:hover { color: var(--accent-ink); background: #b99a66; border-color: #b99a66; }
.sound-wave i { background: linear-gradient(#b99a66, #7f8da2); }
.page-hero::after { border-color: #6f7f92; opacity: .62; }
.score-hero::after { border-color: #b99a66; }
.portrait-hero::after { border-color: #95695f; }
.concert-hero::before { background: radial-gradient(circle at 70% 30%, rgba(127, 141, 162, .32), transparent 34%); }
.ticket-card small { color: rgba(23, 22, 19, .7); }
.ticket-card .button { color: var(--on-dark); background: #1b1d21; border-color: #1b1d21; }
.checks li::before { color: var(--acid); }
.ticket-dialog { color: var(--ink); background: var(--white); }
.ticket-dialog-head,
.ticket-dialog-foot { background: var(--surface-elevated); }
.ticket-dialog-head span { color: var(--violet); }

.music-hero { background: linear-gradient(125deg, #242a31, #3a424c); }
.music-hero::after { border-color: #b99a66; opacity: .45; }
.music-hero p:not(.eyebrow) { color: #ddd9d2; }
.album-art span { color: var(--accent-ink); background: #b99a66; }
.music-quote > span { color: var(--violet); }
.contact-hero::after { background: #805e56; opacity: .62; }
.contact-action i { color: var(--accent-ink); background: #b99a66; }
.video-placeholder { background: radial-gradient(circle, #536071, #0b0d13 70%); }
.video-placeholder span { color: #d0b27c; border-color: #d0b27c; }
.score-card .score-icon,
.empty-state span,
.video-search i,
.video-card-copy p { color: var(--violet); }
.video-catalog-hero,
.video-detail-head { background: linear-gradient(120deg, #0c0e11 0, #1d2229 66%, #3c4653 100%); }
.video-concerts { background: #15181d; }
.video-concerts::after { border-color: rgba(127, 141, 162, .2); }
.video-search input { color: var(--ink); background: var(--surface-elevated); }
.video-search input:focus { border-color: var(--acid); box-shadow: 0 0 0 3px rgba(185, 154, 102, .16); }
.video-filters button:hover,
.video-filters button.is-active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.video-player button:hover span { background: #64758a; }
.video-catalog-card:hover { box-shadow: var(--shadow); }
.site-footer { background: #0b0d10; }
.site-footer .logo-type strong { color: var(--on-dark); }

:root[data-theme='dark'] .button:not(.button-dark):not(.button-bright):not(.header-cta):not(.button-muted):not(.ticket-widget-button):not(.ticket-link) {
  color: #111317;
  background: #eeebe4;
  border-color: #eeebe4;
}
:root[data-theme='dark'] .button:not(.button-dark):not(.button-bright):not(.header-cta):not(.button-muted):not(.ticket-widget-button):not(.ticket-link):hover {
  color: var(--accent-ink);
  background: #b99a66;
  border-color: #b99a66;
}
:root[data-theme='dark'] .ticket-card .button {
  color: var(--on-dark);
  background: #1b1d21;
  border-color: #1b1d21;
}
:root[data-theme='dark'] .mobile-ticket-bar { background: rgba(16, 19, 23, .96); }

@media (max-width: 1120px) {
  .header-inner {
    grid-template-columns: 1fr auto 42px 44px;
    grid-template-areas: 'logo cta theme menu';
  }
  .menu-button { display: grid; width: 44px; height: 44px; place-content: center; gap: 7px; border: 0; background: transparent; }
  .menu-button span { display: block; width: 23px; height: 1px; background: currentColor; }
  #main-nav {
    position: absolute;
    top: 82px;
    right: 0;
    left: 0;
    display: none;
    align-items: stretch;
    padding: 22px 28px 30px;
    border-top: 1px solid var(--line);
    background: var(--header-bg);
    box-shadow: 0 25px 50px rgba(0, 0, 0, .12);
  }
  #main-nav.is-open { display: flex; flex-direction: column; }
  #main-nav a { padding: 8px 0; font-size: 16px; }
}

@media (max-width: 680px) {
  .header-inner {
    min-height: 72px;
    grid-template-columns: 1fr 42px 44px;
    grid-template-areas: 'logo theme menu';
    gap: 9px;
  }
  #main-nav { top: 72px; padding-inline: 20px; }
  .logo-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .logo-type strong { font-size: 22px; }
  .hero h1 { font-size: clamp(50px, 14.8vw, 72px); letter-spacing: -.03em; }
  .hero-lead { font-size: 16px; }
  .hero::after { background: linear-gradient(180deg, #090b0e 0, rgba(9, 11, 14, .97) 44%, rgba(9, 11, 14, .04) 76%, rgba(9, 11, 14, .42) 100%); }
  .hero-stage img { object-fit: cover; object-position: 38% center; }
  .hero-copy { margin-left: 0; }
  .eyebrow { font-size: 10px; }
  .event-main .eyebrow { font-size: 9px; }
  .release-grid > img { box-shadow: 22px 22px 0 #586679; }
  .mobile-ticket-bar { color: var(--ink); background: rgba(248, 245, 238, .96); }
}

@media (prefers-reduced-motion: reduce) {
  body { transition: none; }
}
