:root {
  --ink: #0d0811;
  --plum: #1c1321;
  --plum-2: #332339;
  --wine: #562f4b;
  --mauve: #634768;
  --orchid: #a380a9;
  --lilac: #bda7c0;
  --link: #9950bf;
  --link-hover: #c991e6;
  --paper: #efe8f1;
  --body: #d6cbdb;
  --rule: rgba(189, 167, 192, 0.16);
  --panel: rgba(17, 10, 21, 0.86);
  --display: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --text: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bar: 56px;
}

html { background: var(--ink); }
body.tal-home, body.tal-inner {
  background: var(--ink);
  color: var(--body);
  font-family: var(--text);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.tal-home { height: 100vh; height: 100dvh; overflow: hidden; }
body.tal-inner [data-elementor-type="wp-page"], body.tal-inner .elementor-location-footer { position: relative; z-index: 2; }

body.tal-home a, body.tal-inner a { color: var(--link); text-decoration: none; transition: color 0.2s; }
body.tal-home a:hover, body.tal-inner a:hover { color: var(--link-hover); }

/* mosaic */
.mosaic { position: fixed; inset: 0; z-index: 0; display: grid; background: var(--ink); overflow: hidden; }
.cell { position: relative; overflow: hidden; background: #000; isolation: isolate; }
.cell > div { position: absolute; inset: 0; background-size: cover; background-position: center; will-change: transform, filter, opacity; }
.cell .ch { mix-blend-mode: screen; }
.cell .ch-r { filter: url(#tal-ch-r); }
.cell .ch-g { filter: url(#tal-ch-g); }
.cell .ch-b { filter: url(#tal-ch-b); }

.veil { position: fixed; inset: 0; z-index: 1; pointer-events: none; }
.tal-home .veil {
  background:
    radial-gradient(ellipse 60% 42% at 50% 50%, rgba(13, 8, 17, 0.62), rgba(13, 8, 17, 0) 72%),
    linear-gradient(rgba(13, 8, 17, 0.5), rgba(13, 8, 17, 0) 22%),
    rgba(13, 8, 17, 0.18);
}
.tal-inner .veil { background: rgba(13, 8, 17, 0.74); }

/* header: social icons left, full screen menu right */
.elementor-location-header { position: fixed; top: 0; left: 0; right: 0; z-index: 30; }
.elementor-location-header > .elementor-section > .elementor-container { min-height: var(--bar); align-items: center; padding: 0 14px; }
.elementor-location-header .elementor-widget-social-icons .elementor-social-icon {
  width: 34px; height: 34px; margin: 0; background: transparent; opacity: 0.82; transition: opacity 0.2s;
}
.elementor-location-header .elementor-widget-social-icons .elementor-social-icon:hover { opacity: 1; }
.elementor-location-header .elementor-widget-social-icons .elementor-social-icon i { color: var(--paper); font-size: 15px; }
.elementor-location-header .elementor-widget-social-icons .elementor-social-icon svg { fill: var(--paper); width: 15px; height: 15px; }

.fsmfe-wrapper .icon-bars { position: relative; z-index: 2000; }
.fsmfe-wrapper .icon-bar { background: var(--paper); height: 1px; width: 22px; }
.fsmfe-wrapper .menu-overlay {
  background: rgba(13, 8, 17, 0.93) !important;
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.fsmfe-wrapper .content-type-menu li { margin: 0; }
.fsmfe-wrapper .content-type-menu a,
.elementor-22 .elementor-element.elementor-element-45bd25e .content-type-menu a {
  display: block; padding: 7px 24px;
  font-family: var(--display) !important; font-weight: 300 !important;
  font-size: clamp(22px, 3.2vh, 30px) !important; line-height: 1.3; letter-spacing: 0.02em;
  text-transform: lowercase; color: var(--lilac) !important;
}
.fsmfe-wrapper .content-type-menu a:hover,
.fsmfe-wrapper .current-menu-item a,
.elementor-22 .elementor-element.elementor-element-45bd25e .content-type-menu .current-menu-item a { color: var(--paper) !important; font-weight: 300 !important; }

/* home hero: heading widget with class tal-hero */
.tal-home .elementor-location-header ~ * .elementor-14,
.tal-home .elementor-14 { position: fixed; inset: 0; z-index: 2; display: grid; place-items: center; pointer-events: none; }
.tal-home .elementor-14 .elementor-section-wrap, .tal-home .elementor-14 > .elementor-section { width: 100%; }
.tal-hero .elementor-heading-title { margin: 0; text-align: center; font-weight: 300; text-shadow: 0 1px 28px rgba(13, 8, 17, 0.55); }
.tal-hero .mark {
  display: block; font-family: var(--display); font-weight: 300; letter-spacing: 0.035em;
  text-transform: uppercase; color: var(--paper); line-height: 1; white-space: nowrap;
  font-size: clamp(34px, 6.2vw, 92px);
}
.tal-hero .album {
  display: block; margin-top: 0.5em; padding-left: 37%;
  font-family: var(--display); font-weight: 300; letter-spacing: 0.01em;
  font-size: clamp(15px, 2.35vw, 35px); line-height: 1; color: var(--paper);
}

/* inner pages: the page content becomes one panel */
.tal-inner [data-elementor-type="wp-page"] {
  width: calc(100% - 32px); max-width: 780px; margin: calc(var(--bar) + 8px) auto 40px;
  padding: clamp(24px, 4vw, 44px);
  background: var(--panel);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border: 1px solid var(--rule);
}
.tal-inner .elementor-28, .tal-inner .elementor-382 { max-width: 1040px; }
.tal-inner .elementor-34 { max-width: 460px; }
.tal-inner [data-elementor-type="wp-page"] .elementor-top-section,
.tal-inner [data-elementor-type="wp-page"] .elementor-inner-section { background: transparent !important; background-image: none !important; }
.tal-inner [data-elementor-type="wp-page"] .elementor-top-section > .elementor-container { max-width: none; }
.tal-inner [data-elementor-type="wp-page"] .elementor-column,
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-wrap { padding: 0 !important; background: transparent !important; background-image: none !important; }
.tal-inner [data-elementor-type="wp-page"] .elementor-background-overlay { display: none; }
.tal-inner [data-elementor-type="wp-page"] .elementor-top-section > .elementor-container { padding: 0; }
.tal-inner [data-elementor-type="wp-page"] > .elementor-top-section:first-child,
.tal-inner [data-elementor-type="wp-page"] > .elementor-section-wrap > .elementor-top-section:first-child { margin-top: 0 !important; }
.tal-inner [data-elementor-type="wp-page"] .elementor-widget:not(:last-child) { margin-bottom: 20px !important; }
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-heading:not(:last-child) { margin-bottom: 28px !important; }

.tal-inner [data-elementor-type="wp-page"] .elementor-widget-text-editor,
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-text-editor p {
  font-family: var(--text); font-size: 16px; line-height: 1.75; color: var(--body);
}
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-heading .elementor-heading-title {
  font-family: var(--display); font-weight: 300; text-align: center;
  font-size: clamp(34px, 5vw, 52px); line-height: 1.05; letter-spacing: 0.01em; color: var(--paper);
}
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-divider .elementor-divider-separator { border-color: var(--rule); }
.tal-inner [data-elementor-type="wp-page"] strong { color: var(--paper); font-weight: 500; }

/* panel head: wordmark heading with class tal-wordmark, tile strip in an HTML widget */
.tal-inner [data-elementor-type="wp-page"] .tal-wordmark { margin-bottom: 14px !important; }
.tal-inner .tal-wordmark .elementor-heading-title,
.tal-inner .tal-wordmark .elementor-heading-title a {
  font-family: var(--display); font-weight: 300; font-size: 15px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--orchid); line-height: 1;
}
.tal-inner .tal-wordmark .elementor-heading-title a:hover { color: var(--paper); }
.tal-inner [data-elementor-type="wp-page"] .tal-logo { margin-bottom: 18px !important; }
.tal-inner .tal-logo img { max-height: 48px; width: auto; margin: 0 auto; opacity: 0.85; }
.tal-tiles { display: flex; justify-content: center; margin: 4px 0 12px; line-height: 0; }
.tal-tiles i { display: block; width: 18px; height: 18px; background-size: cover; }
.tal-inner [data-elementor-type="wp-page"] .elementor-widget-html:has(.tal-tiles) { margin-bottom: 28px !important; }

/* section labels: heading widgets given the class tal-label in Elementor */
.tal-inner .tal-label .elementor-heading-title {
  margin: 48px 0 14px; padding-top: 22px; border-top: 1px solid var(--rule);
  font-family: var(--text); font-weight: 500; font-size: 12px; text-align: left;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--orchid);
}

/* logo image at the top of each page becomes the small wordmark */
.tal-inner [data-elementor-type="wp-page"] > .elementor-section-wrap > .elementor-top-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image:first-child,
.tal-inner [data-elementor-type="wp-page"] > .elementor-top-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image:first-child { text-align: center; }
.tal-inner [data-elementor-type="wp-page"] > .elementor-section-wrap > .elementor-top-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image:first-child img,
.tal-inner [data-elementor-type="wp-page"] > .elementor-top-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image:first-child img { max-height: 44px; width: auto; margin: 0 auto; opacity: 0.85; }

/* bio */
.elementor-26 .elementor-widget-image-carousel .swiper-slide img { filter: saturate(0.85); }
.elementor-26 .elementor-swiper-button { color: var(--lilac); }
.elementor-26 form.validate { max-width: 380px; margin-left: auto; margin-right: auto; }

/* videos */
.elementor-28 .elementor-inner-section > .elementor-container { gap: 22px; }
.tal-inner [data-elementor-type="wp-page"].elementor-28 .elementor-inner-column > .elementor-widget-wrap { padding: 0 0 40px !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-28 .elementor-widget-video { margin-bottom: 8px !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-28 .elementor-top-column > .elementor-widget-wrap > .elementor-widget-video { margin-bottom: 40px !important; }
.elementor-28 .elementor-widget-video { background: var(--plum-2); }
.elementor-28 .elementor-widget-video .elementor-custom-embed-image-overlay img { filter: saturate(0.7); transition: filter 0.4s; }
.elementor-28 .elementor-widget-video:hover .elementor-custom-embed-image-overlay img { filter: saturate(1); }
.elementor-28 .elementor-custom-embed-play i { color: var(--paper); opacity: 0.9; font-size: 54px; }
.elementor-28 .elementor-widget-text-editor, .elementor-28 .elementor-widget-text-editor p {
  font-family: var(--display); font-weight: 400; font-size: 17px; line-height: 1.35; color: var(--paper); margin: 0;
}
.tal-inner [data-elementor-type="wp-page"].elementor-28 .elementor-widget-text-editor { margin-bottom: 0 !important; }

/* tour dates (Bandsintown embed) */
.bit-widget-container, .bit-widget { font-family: var(--text) !important; color: var(--body) !important; background: transparent !important; }
.bit-widget .bit-no-dates-container { text-align: center; padding: 34px 0 10px; }
.bit-widget .bit-no-dates-container .bit-no-dates-message,
.bit-widget .bit-upcoming-events-show-all-button, .bit-widget .bit-track-button, .bit-widget .bit-play-my-city-button {
  font-size: 12px !important; letter-spacing: 0.18em; text-transform: uppercase; color: var(--paper) !important;
}
.bit-widget .bit-track-button, .bit-widget .bit-play-my-city-button, .bit-widget .bit-button {
  display: inline-block; padding: 13px 28px !important; border: 1px solid var(--orchid) !important; border-radius: 0 !important;
  background: transparent !important; margin: 22px 6px 0 !important; transition: background-color 0.2s, color 0.2s;
}
.bit-widget .bit-track-button:hover, .bit-widget .bit-play-my-city-button:hover, .bit-widget .bit-button:hover { background: var(--paper) !important; color: var(--ink) !important; }
.bit-widget .bit-event { border-bottom: 1px solid var(--rule) !important; }
.bit-widget .bit-details, .bit-widget .bit-date { color: var(--paper) !important; }

/* film tv composer header */
.elementor-382 .elementor-element-86fa566 {
  margin: 0 calc(clamp(24px, 4vw, 44px) * -1) 40px;
  min-height: 520px; padding: 40px;
  position: relative; overflow: hidden; background: #0b070d !important;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.elementor-382 .elementor-element-86fa566 > .elementor-container { width: 100%; max-width: none; }
.elementor-382 .elementor-element-86fa566 .elementor-container,
.elementor-382 .elementor-element-86fa566 .elementor-inner-section,
.elementor-382 .elementor-element-86fa566 .elementor-column,
.elementor-382 .elementor-element-86fa566 .elementor-widget-wrap { position: static; }
.elementor-382 .elementor-element-86fa566 .elementor-widget-image { position: absolute; top: 0; left: 12%; width: 118%; height: 100%; margin: 0; z-index: 0; }
.elementor-382 .elementor-element-86fa566 .elementor-widget-image .elementor-widget-container, .elementor-382 .elementor-element-86fa566 .elementor-widget-image img {
  width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 34%;
}
.elementor-382 .elementor-element-86fa566 .elementor-widget-image img {
  filter: brightness(1.3) contrast(1.05);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%); mask-image: linear-gradient(90deg, transparent 0%, #000 30%);
}
.elementor-382 .elementor-element-86fa566::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(17, 10, 21, 0.78) 0%, rgba(17, 10, 21, 0.2) 42%, rgba(17, 10, 21, 0) 100%),
    linear-gradient(rgba(17, 10, 21, 0) 45%, rgba(17, 10, 21, 0.92) 100%),
    rgba(99, 71, 104, 0.32);
}
.elementor-382 .elementor-element-86fa566 .elementor-element-e55a9e4 { position: relative; z-index: 2; justify-content: flex-end; }
.elementor-382 .elementor-element-86fa566 .elementor-widget-divider { display: none; }
.elementor-382 .elementor-element-0fd3663, .elementor-382 .elementor-element-0fd3663 p { font-family: var(--display) !important; font-weight: 300 !important; font-size: 22px !important; letter-spacing: 0.3em; color: var(--lilac) !important; line-height: 1 !important; text-align: left !important; }
.elementor-382 .elementor-element-dfea574, .elementor-382 .elementor-element-dfea574 p { font-family: var(--display) !important; font-weight: 300 !important; font-size: clamp(44px, 8vw, 84px) !important; letter-spacing: 0.02em; color: var(--paper) !important; line-height: 1 !important; text-align: left !important; }
.elementor-382 .elementor-element-9621e28, .elementor-382 .elementor-element-9621e28 p { font-size: 12px !important; letter-spacing: 0.3em; text-transform: uppercase; color: var(--orchid) !important; text-align: left !important; }
.tal-inner .elementor-382 .elementor-element-86fa566 .elementor-widget { margin-bottom: 8px !important; }

.elementor-382 .elementor-widget-heading .elementor-heading-title {
  margin: 48px 0 14px; padding-top: 22px; border-top: 1px solid var(--rule);
  font-family: var(--text) !important; font-weight: 500 !important; font-size: 12px !important; text-align: left !important;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--orchid) !important;
}
.elementor-382 .elementor-widget-divider { display: none; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-text-editor a,
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-text-editor a * { color: var(--link) !important; background: transparent !important; text-decoration: none; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-text-editor a:hover,
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-text-editor a:hover * { color: var(--link-hover) !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-element-ed3ee74 strong,
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-element-ed3ee74 b,
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-element-ed3ee74 a { font-weight: 400 !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-top-section:not(.elementor-element-86fa566) { padding: 0 !important; margin-top: 0 !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-heading { margin-bottom: 0 !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-heading .elementor-heading-title { margin: 36px 0 12px; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget .elementor-widget-container { padding-top: 0 !important; padding-bottom: 0 !important; }
.tal-inner [data-elementor-type="wp-page"].elementor-382 .elementor-widget-media-carousel { margin-bottom: 0 !important; }
.elementor-382 .elementor-widget-media-carousel .swiper-slide { background: transparent; }
.elementor-382 .elementor-widget-text-editor ul, .elementor-382 .elementor-widget-text-editor ol { list-style: none; margin: 0; padding: 0; }
.elementor-382 .elementor-widget-text-editor li { padding: 11px 0; border-bottom: 1px solid var(--rule); font-size: 15px; line-height: 1.5; }
.elementor-382 .elementor-widget-text-editor li:last-child { border-bottom: 0; }

/* mailing list (embedded form) */
.elementor-34 input[type="email"], .elementor-34 input[type="text"] {
  width: 100%; padding: 13px 14px; margin: 0; font: 400 16px var(--text); color: var(--paper);
  background: rgba(51, 35, 57, 0.45); border: 1px solid var(--rule); border-radius: 0; outline: 0;
}
.elementor-34 input::placeholder { color: rgba(214, 203, 219, 0.22); opacity: 1; }
.elementor-34 input:focus { border-color: var(--orchid); background: rgba(51, 35, 57, 0.8); }
.elementor-34 .mc-field-group { margin-bottom: 14px; }
.elementor-34 label { display: block; margin-bottom: 7px; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--orchid); }
.elementor-34 input[type="submit"], .elementor-34 button {
  width: 100%; margin: 8px 0 0; padding: 13px 28px; font: 500 12px var(--text); letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--paper); background: var(--wine); border: 1px solid var(--wine); border-radius: 0; cursor: pointer; transition: background-color 0.2s, color 0.2s;
}
.elementor-34 input[type="submit"]:hover, .elementor-34 button:hover { background: var(--paper); border-color: var(--paper); color: var(--ink); }

/* contact */
.tal-inner .elementor-36 .elementor-widget-text-editor { text-align: center; padding: 18px 0; margin: 0 !important; border-bottom: 1px solid var(--rule); }
.elementor-36 .elementor-widget-text-editor:last-child { border-bottom: 0; }
.elementor-36 .elementor-widget-text-editor, .elementor-36 .elementor-widget-text-editor p, .elementor-36 .elementor-widget-text-editor a {
  font-family: var(--display); font-weight: 300; font-size: clamp(18px, 3vw, 24px); color: var(--paper); line-height: 1.4;
}
.elementor-36 .elementor-widget-text-editor a:hover { color: var(--lilac); }
.elementor-36 .elementor-widget-text-editor small { display: block; margin-bottom: 4px; font-family: var(--text); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--orchid); }

/* footer social icons */
.elementor-location-footer { padding: 0 0 40px; }
.elementor-location-footer .elementor-top-section { background: transparent !important; }
.elementor-location-footer .elementor-social-icon { width: 34px; height: 34px; margin: 0; background: transparent; opacity: 0.82; }
.elementor-location-footer .elementor-social-icon:hover { opacity: 1; }
.elementor-location-footer .elementor-social-icon i { color: var(--paper); font-size: 15px; }
.elementor-location-footer .elementor-social-icon svg { fill: var(--paper); width: 15px; height: 15px; }
.tal-home .elementor-location-footer { display: none; }

@media (max-width: 767px) {
  .elementor-382 .elementor-element-86fa566 { padding: 24px; min-height: 360px; }
  .elementor-382 .elementor-element-86fa566 .elementor-widget-image { left: 0; width: 100%; }
  .elementor-382 .elementor-element-86fa566 .elementor-widget-image img { object-position: 62% 30%; -webkit-mask-image: none; mask-image: none; }
}
