/* Final visual layer: section-specific surfaces, interaction and footer. */
.trcm-site .trcm-hero-artist { display:block; margin-bottom:18px; font:600 14px/1.5 var(--amoxi-heading-font); letter-spacing:.06em; text-transform:none; color:var(--trcm-paper); }
.trcm-site {
  --trcm-shadow:0 18px 48px -24px rgba(0,0,0,.8);
  --trcm-glow:0 18px 48px -24px rgba(237,81,91,.38);
  --trcm-ease:cubic-bezier(.22,.61,.36,1);
  /* Matches the artist profile PDF's gradient panels (burgundy through plum to near-black). */
  --trcm-panel:linear-gradient(135deg, #852033 0%, #601539 36%, #340935 68%, #090013 100%);
}
.trcm-site .trcm-eyebrow { color:#ddd7d4; }
.trcm-site .trcm-section-heading .trcm-eyebrow::before,
.trcm-site .trcm-about-copy>.trcm-eyebrow::before,
.trcm-site .trcm-contact>.trcm-shell>.trcm-eyebrow::before {
  content:''; width:26px; height:2px; flex-shrink:0; background:var(--trcm-accent);
}
.trcm-site :is(.trcm-button,.trcm-icon-button,.trcm-play-button,.sm2_button) {
  transition:background .25s,border-color .25s,box-shadow .3s,transform .3s var(--trcm-ease);
}
.trcm-site :is(.trcm-button,.trcm-text-link,.trcm-header-book) span {
  transition:transform .3s var(--trcm-ease);
}
.trcm-site :is(.trcm-button,.trcm-play-button,.sm2_button):focus-visible {
  box-shadow:0 0 0 5px #ed515b22,var(--trcm-glow);
}
.trcm-site .trcm-header { box-shadow:0 6px 28px #0002; }
@media(min-width:1001px) {
  .trcm-site .trcm-nav a { position:relative; }
  .trcm-site .trcm-nav a::before { content:''; position:absolute; left:0; right:0; bottom:3px; height:2px; background:var(--trcm-accent); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
  .trcm-site .trcm-nav a:is(:hover,:focus-visible,[aria-current])::before { transform:scaleX(1); }
}

/* Hero and biography: framed photography with a restrained colour reveal. */
.trcm-site .hero-three__image__inner { overflow:hidden; }
.trcm-site .hero-three__image__inner img { transition:transform 1s var(--trcm-ease); }
.trcm-site .hero-three__button .amoxi-btn { box-shadow:var(--trcm-glow); }
.trcm-site .trcm-genre-strip { background:linear-gradient(90deg,#151416,#24171b,#151416); }
.trcm-site .trcm-genre-strip>span { transition:color .25s; }
.trcm-site .trcm-about-photo { isolation:isolate; box-shadow:0 30px 65px -25px #000a; }
.trcm-site .trcm-about-photo::before { content:''; position:absolute; inset:15px -15px -15px 15px; border:1px solid #ed515b66; z-index:-1; pointer-events:none; }
.trcm-site .trcm-about-photo img { transition:filter .65s; }
.trcm-site .trcm-about-copy h2 { margin-bottom:30px; }
.trcm-site .trcm-photo-label { padding:7px 10px; left:14px; bottom:14px; background:#111112b3; }

/* Statistics and release: tactile dividers and a softly lit listening area. */
.trcm-site .trcm-stats { padding-top:42px; padding-bottom:42px; }
.trcm-site .trcm-stats .funfact-one__wrapper { box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-stat-link>span { display:inline-block; transition:transform .3s; }
.trcm-site .trcm-release-info { position:relative; padding:30px; border:1px solid #ffffff14; background:var(--trcm-panel); box-shadow:var(--trcm-shadow); border-radius:8px; }
.trcm-site .trcm-latest-release .cover-img { overflow:hidden; border-radius:4px; }
.trcm-site .trcm-latest-release .cover-img img { transition:transform .7s; }
.trcm-site .trcm-latest-release .sm2_button { background:#ed515b12; border-radius:50%; }
.trcm-site .trcm-latest-release .sm2_button[aria-pressed="true"] { background:var(--trcm-accent); color:#111; box-shadow:0 0 0 7px #ed515b16; }

/* Audio: give the selected mix a clear rail and lift the player surface. */
.trcm-site .trcm-player-feature { padding:22px; background:#151416; border:1px solid #ffffff12; border-radius:8px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-artwork { border-radius:4px; }
.trcm-site .trcm-track { border-left:2px solid transparent; transition:background .25s,border-color .25s; }
.trcm-site .trcm-track[aria-current="true"] { border-left-color:var(--trcm-accent); background:linear-gradient(90deg,#ed515b16,transparent); }
.trcm-site .trcm-track-icon { transition:background .25s,transform .25s,border-color .25s; }
.trcm-site .trcm-track:focus-visible { background:#ffffff08; }
.trcm-site .trcm-playback { flex-wrap:wrap; }
.trcm-site .trcm-volume { flex:1 1 100px; max-width:160px; }

/* Shows and performance credits: bright edges and depth against the texture. */
.trcm-site .trcm-events .trcm-event-ticket { border:1px solid #ffffff1c; border-radius:10px; box-shadow:var(--trcm-shadow); transition:border-color .3s,box-shadow .3s,background .3s; }
.trcm-site .trcm-event-image { border-radius:5px; }
.trcm-site .trcm-event-image img { transition:transform .8s var(--trcm-ease); }
.trcm-site .trcm-event-ticket:focus-within { border-color:#ed515b70; box-shadow:var(--trcm-glow); }
.trcm-site .trcm-credit { border-radius:5px; transition:border-color .3s,background .3s; }
.trcm-site .trcm-credit-mark { transition:transform .45s,color .45s; }
.trcm-site .trcm-all-credits summary { transition:color .25s; }
.trcm-site .trcm-all-credits summary>span { transition:transform .3s; }
.trcm-site .trcm-all-credits[open] summary>span { transform:rotate(45deg); }
.trcm-site .trcm-all-credits[open] { border-color:#ed515b66; }

/* Video and gallery: colour comes forward on the selected frame. */
.trcm-site .trcm-video-card { border-radius:8px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-video-card>img { transition:transform .7s var(--trcm-ease),filter .5s; }
.trcm-site .trcm-video-play { transition:background .3s,border-color .3s,box-shadow .3s,transform .3s; }
.trcm-site .trcm-photo .rock-podcast-gallery-img { border-radius:5px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-photo-arrow { transition:background .25s,transform .25s; }
.trcm-site .trcm-photo:focus-visible img { filter:grayscale(0); }
.trcm-site .trcm-video-card:focus-visible .trcm-video-play { background:#b72c3d; box-shadow:0 0 0 8px #ed515b25; }

/* Booking formats: three individual cards with distinct light positions. */
.trcm-site .trcm-booking-grid { gap:20px; border:0; }
.trcm-site .trcm-booking-card,
.trcm-site .trcm-booking-card:first-child,
.trcm-site .trcm-booking-card:last-child {
  position:relative; overflow:hidden; padding:32px; border:1px solid var(--trcm-line); border-radius:8px;
  background:radial-gradient(ellipse at 100% 0,#ed515b14,transparent 65%),#191719;
  box-shadow:var(--trcm-shadow); transition:transform .35s var(--trcm-ease),border-color .3s,box-shadow .3s;
}
.trcm-site .trcm-booking-card:nth-child(2) { background:radial-gradient(ellipse at 50% 100%,#ed515b1c,transparent 65%),#191719; }
.trcm-site .trcm-booking-card:nth-child(3) { background:radial-gradient(ellipse at 0 0,#d4b0ff14,transparent 65%),#191719; }
.trcm-site .trcm-booking-card h3 { margin-bottom:20px; }
.trcm-site .trcm-card-index { width:42px; height:42px; display:grid; place-items:center; border:1px solid #ed515b44; border-radius:50%; margin-bottom:32px; }
.trcm-site .trcm-inline-link>span { transition:transform .3s; }
.trcm-site .trcm-booking-card:focus-visible { border-color:var(--trcm-accent); box-shadow:var(--trcm-glow); }

/* Social and contact: a quieter backdrop for information and input. */
.trcm-site .trcm-social-metrics { border-radius:8px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-social-metrics>div { transition:background .3s; }
.trcm-site .trcm-platform-card { border-radius:6px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-platform-cta>span { transition:transform .3s; }
.trcm-site .trcm-contact-grid { align-items:start; }
.trcm-site .trcm-form { min-width:0; padding:30px; background:var(--trcm-panel); border:1px solid #ffffff18; border-radius:8px; box-shadow:var(--trcm-shadow); }
.trcm-site .trcm-contact-copy { min-width:0; }
.trcm-site .trcm-email { max-width:100%; overflow-wrap:anywhere; }
.trcm-site .trcm-form :is(input,textarea,select) { padding-inline:10px; background-color:#11111255; transition:border-color .25s,background-color .25s,box-shadow .25s; }
.trcm-site .trcm-form :is(input,textarea,select):focus { border-color:var(--trcm-accent); background-color:#ed515b08; box-shadow:0 3px 0 -1px #ed515b33; }
.trcm-site .trcm-form-grid>div:focus-within>label { color:#ffb0b6; }
.trcm-site .trcm-phones { flex-wrap:wrap; }

/* Footer: a closing booking invitation, useful links and oversized signature. */
.trcm-site .trcm-footer-expanded { position:relative; padding-top:76px; background:radial-gradient(ellipse at 0 0,#ed515b12,transparent 55%),#0c0c0d; }
.trcm-footer-expanded .trcm-footer-callout { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:54px; border-bottom:1px solid var(--trcm-line); }
.trcm-site .trcm-footer-callout h2 { font-size:clamp(42px,6vw,82px); }
.trcm-site .trcm-footer-book { width:150px; height:150px; flex-shrink:0; border:1px solid #ed515b66; border-radius:50%; display:flex; align-items:center; justify-content:center; gap:15px; background:#ed515b0d; transition:background .3s,box-shadow .3s,transform .3s; }
.trcm-footer-book>span:first-child { font-size:11px; letter-spacing:.06em; line-height:1.6; }
.trcm-footer-book>span:last-child { font-size:34px; color:var(--trcm-accent); }
.trcm-footer-expanded .trcm-footer-columns { display:grid; grid-template-columns:1.3fr .8fr .9fr 1.1fr; gap:36px; padding:54px 0 42px; }
.trcm-footer-columns>*,.trcm-footer-links { min-width:0; }
.trcm-footer-expanded .trcm-footer-brand .trcm-footer-wordmark { display:inline-block; font-size:58px; }
.trcm-site .trcm-footer-brand p { font-size:12px; color:var(--trcm-muted); margin:24px 0 12px; }
.trcm-footer-expanded .trcm-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.trcm-site .trcm-footer-links h3 { font-size:10px; letter-spacing:.14em; color:var(--trcm-muted); font-weight:500; margin-bottom:13px; }
.trcm-footer-expanded .trcm-footer-links a { font-size:13px; padding:3px 0; overflow-wrap:anywhere; transition:color .25s; }
.trcm-footer-links a>span { display:inline-block; color:var(--trcm-accent); margin-left:6px; }
.trcm-footer-expanded .trcm-footer-region { color:var(--trcm-muted); font-size:9px; letter-spacing:.12em; margin-top:6px; }
.trcm-footer-expanded .trcm-footer-signature { font:800 clamp(90px,20vw,280px)/.9 var(--amoxi-heading-font); letter-spacing:-.065em; color:transparent; -webkit-text-stroke:1px #ffffff20; text-align:center; padding:20px 0 36px; user-select:none; }
.trcm-footer-signature>span { display:block; margin-top:24px; font:500 10px/1.5 var(--amoxi-font); letter-spacing:.4em; color:var(--trcm-muted); -webkit-text-stroke:0; }
.trcm-footer-expanded .trcm-footer-bottom { align-items:center; flex-wrap:wrap; font-size:10px; }
.trcm-footer-expanded .trcm-footer-bottom>a { display:inline-flex; gap:16px; align-items:center; min-height:44px; }
.trcm-footer-bottom>a>span { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--trcm-line); border-radius:50%; color:var(--trcm-accent); }

@media(hover:hover) and (pointer:fine) {
  .trcm-site .trcm-button:hover { transform:translateY(-2px); box-shadow:var(--trcm-glow); }
  .trcm-site :is(.trcm-button,.trcm-text-link,.trcm-header-book):hover>span { transform:translate(3px,-2px); }
  .trcm-site :is(.trcm-icon-button,.trcm-play-button,.sm2_button):hover { box-shadow:0 0 0 5px #ed515b13; }
  .trcm-site .hero-three__image__inner:hover img { transform:scale(1.025); }
  .trcm-site .trcm-genre-strip>span:hover { color:var(--trcm-accent); }
  .trcm-site .trcm-about-photo:hover img { filter:grayscale(0); }
  .trcm-site .funfact-one__item:hover .trcm-stat-link>span { transform:translate(3px,-3px); }
  .trcm-site .trcm-release-info:hover .cover-img img { transform:scale(1.04); }
  .trcm-site .trcm-track:hover { background:#ffffff08; }
  .trcm-site .trcm-track:hover .trcm-track-icon { transform:scale(1.08); border-color:var(--trcm-accent); }
  .trcm-site .trcm-events .trcm-event-ticket:hover { border-color:#ed515b66; box-shadow:var(--trcm-glow); }
  .trcm-site .trcm-event-ticket:hover .trcm-event-image img { transform:scale(1.035); }
  .trcm-site .trcm-credit:hover { border-color:#ed515b88; background:#2a2025; }
  .trcm-site .trcm-credit:hover .trcm-credit-mark { transform:rotate(-8deg); color:#ed515b25; }
  .trcm-site .trcm-all-credits summary:hover { color:var(--trcm-accent); }
  .trcm-site .trcm-video-card:hover>img { filter:grayscale(0) brightness(.8); }
  .trcm-site .trcm-video-card:hover .trcm-video-play { background:#b72c3d; border-color:#ed515b; box-shadow:0 0 0 9px #ed515b22; transform:scale(1.06); }
  .trcm-site .trcm-photo:hover .trcm-photo-arrow { background:#b72c3d; transform:rotate(-8deg); }
  .trcm-site .trcm-booking-card:hover { transform:translateY(-5px); border-color:#ed515b88; box-shadow:var(--trcm-glow); }
  .trcm-site .trcm-booking-card:hover .trcm-inline-link>span { transform:translate(3px,-3px); }
  .trcm-site .trcm-social-metrics>div:hover { background:#ffffff04; }
  .trcm-site .trcm-platform-card:hover .trcm-platform-cta>span { transform:translate(3px,-3px); }
  .trcm-site .trcm-footer-book:hover { background:#b72c3d; box-shadow:var(--trcm-glow); transform:rotate(-5deg); }
  .trcm-site .trcm-footer-book:hover>span:last-child { color:white; }
  .trcm-site .trcm-footer-links a:hover { color:var(--trcm-accent); }
}
@media(max-width:1100px) {
  .trcm-site .trcm-booking-card,.trcm-site .trcm-booking-card:first-child,.trcm-site .trcm-booking-card:last-child { padding:26px 22px; }
  .trcm-footer-expanded .trcm-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
}
@media(max-width:767px) {
  .trcm-site .trcm-release-info { padding:22px; }
  .trcm-site .trcm-booking-grid { gap:14px; }
  .trcm-site .trcm-form { padding:22px; }
  .trcm-site .trcm-footer-expanded { padding-top:54px; }
  .trcm-footer-expanded .trcm-footer-callout { gap:24px; }
  .trcm-site .trcm-footer-book { width:112px; height:112px; gap:8px; }
  .trcm-footer-book>span:first-child { font-size:9px; }
  .trcm-footer-book>span:last-child { font-size:25px; }
}
@media(max-width:600px) {
  .trcm-site .trcm-about-photo::before { inset:10px -10px -10px 10px; }
  .trcm-site .trcm-player-feature { padding:16px; }
  .trcm-site .trcm-artwork { height:300px; }
  .trcm-site .trcm-cover-type strong { font-size:66px; }
  .trcm-site .trcm-footer-callout h2 { font-size:42px; }
  .trcm-footer-expanded .trcm-footer-callout { flex-direction:column; align-items:flex-start; }
  .trcm-footer-expanded .trcm-footer-columns { gap:32px 22px; }
  .trcm-footer-expanded .trcm-footer-brand,.trcm-footer-expanded .trcm-footer-contact { grid-column:1/-1; }
  .trcm-footer-expanded .trcm-footer-signature { padding-top:0; }
  .trcm-footer-expanded .trcm-footer-bottom { gap:10px 22px; }
  .trcm-footer-expanded .trcm-footer-bottom>span:nth-child(2) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .trcm-site *, .trcm-site *::before,.trcm-site *::after { animation:none!important; transition:none!important; }
  .trcm-site :is(.trcm-button,.trcm-booking-card,.trcm-platform-card,.trcm-footer-book):hover { transform:none; }
}

/* Compact footer with Amoxi's animated SVG stroke signature. */
.trcm-site .trcm-footer-callout { position:relative; isolation:isolate; }
.trcm-site .trcm-footer-music-note {
  position:absolute;
  left:66%;
  top:calc(50% - 27px);
  width:clamp(120px,13vw,185px);
  height:auto;
  transform:translate(-50%,-50%) rotate(-10deg);
  opacity:.85;
  filter:drop-shadow(0 12px 22px #0008);
  pointer-events:none;
  user-select:none;
  z-index:-1;
}
@media(max-width:1100px) {
  .trcm-site .trcm-footer-music-note { display:none; }
}
.trcm-site .trcm-footer-signature.stroke-text-title { margin:0; padding:38px 0 32px; font-size:inherit; letter-spacing:normal; -webkit-text-stroke:0; }
.trcm-footer-signature.stroke-text-title svg { display:block; width:100%; height:auto; max-height:320px; }
.trcm-footer-signature.stroke-text-title svg text { font-size:300px; font-weight:800; letter-spacing:-16px; fill:url(#trcm-footer-gradient); stroke:none; animation:none; }
.trcm-footer-signature.stroke-text-title.is-drawing svg text { animation:trcm-footer-draw 5s ease-in-out infinite alternate both; }
@keyframes trcm-footer-draw {
  0% { fill-opacity:0; stroke:var(--trcm-paper); stroke-opacity:1; stroke-width:1.5; stroke-dashoffset:25%; stroke-dasharray:0 50%; }
  65% { fill-opacity:0; stroke:var(--trcm-paper); stroke-opacity:1; stroke-width:1.5; stroke-dashoffset:0; stroke-dasharray:50% 0; }
  80% { fill-opacity:0; stroke:var(--trcm-paper); stroke-opacity:1; stroke-width:1.5; stroke-dashoffset:0; stroke-dasharray:50% 0; }
  100% { fill-opacity:1; stroke:var(--trcm-paper); stroke-opacity:0; stroke-width:0; stroke-dashoffset:0; stroke-dasharray:50% 0; }
}
.trcm-footer-signature.stroke-text-title>span { margin-top:12px; }
.trcm-site .trcm-footer-expanded .trcm-footer-credit { display:block; color:var(--trcm-muted); font-size:11px; }
.trcm-footer-credit strong { color:var(--trcm-paper); font-weight:500; }
@media(max-width:600px) {
 .trcm-site .trcm-footer-signature.stroke-text-title { padding:28px 0; }
 .trcm-footer-signature.stroke-text-title>span { font-size:8px; letter-spacing:.25em; }
 .trcm-footer-expanded .trcm-footer-credit { flex-basis:100%; order:3; }
}
@media(prefers-reduced-motion:reduce) {
 .trcm-footer-signature.stroke-text-title svg text { animation:none!important; fill:url(#trcm-footer-gradient); stroke:none; }
}

/* Compact announcement keeps the selected artist image without empty event fields. */
.trcm-site #events .trcm-event-ticket { grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr); }
.trcm-site #events .trcm-event-image { min-height:0; height:300px; }
.trcm-site #events .trcm-event-image img { object-fit:contain; }
@media(max-width:767px) {
  .trcm-site #events .trcm-event-ticket { grid-template-columns:1fr; }
  .trcm-site #events .trcm-event-image { height:260px; aspect-ratio:auto; }
}
/* Preserve the artist portrait and branding on tablet and mobile. */
@media(max-width:1199px) {
  .trcm-site .hero-three.trcm-reference-hero { padding:132px 0 0; }
  .trcm-site .trcm-reference-hero .hero-three__col { width:100%; }
  .trcm-site .trcm-reference-hero .hero-three__content { max-width:760px; margin:0 auto 44px; }
  .trcm-site .trcm-reference-hero .hero-three__content__shape { display:none; }
  .trcm-site .trcm-reference-hero .hero-three__image { display:block; position:relative; inset:auto; width:100%; height:520px; }
  .trcm-site .trcm-reference-hero .hero-three__image img { width:100%!important; object-position:center 35%; }
  .trcm-site .trcm-reference-hero .hero-three__image .stroke-text-title { writing-mode:horizontal-tb; inset:auto 0 18px; width:100%; height:120px; }
  .trcm-site .trcm-reference-hero .stroke-text-title svg { width:100%; height:100%; }
  .trcm-site .trcm-reference-hero .stroke-text-title svg text { font-size:100px; }
  .trcm-site .trcm-reference-hero .about-badge { display:none; }
  .trcm-site .trcm-reference-hero .hero-three__bottom { position:relative; inset:auto; padding:22px 20px; width:100%; }
  .trcm-site .trcm-reference-hero .hero-three__bottom__title { font-size:15px; }
}
@media(max-width:600px) {
  .trcm-site .hero-three.trcm-reference-hero { padding-top:115px; }
  .trcm-site .trcm-reference-hero .hero-three__image { height:420px; }
  .trcm-site .trcm-reference-hero .hero-three__title { font-size:clamp(34px,9vw,52px); }
  .trcm-site .trcm-reference-hero .hero-three__title__highlight::after { display:none; }
}
/* Website surfaces: quiet charcoal with a restrained TRCM accent glow. */
.trcm-site #about.trcm-section {
  background:radial-gradient(ellipse at 0 35%,rgba(237,81,91,.12),transparent 65%),#111112;
}
.trcm-site .trcm-footer.trcm-footer-expanded {
  background:radial-gradient(ellipse at 50% 100%,rgba(237,81,91,.08),transparent 65%),#0c0c0d;
}

/* Decorative parallax layers; the foreground stays in normal document flow. */
.trcm-site #videos.trcm-parallax,
.trcm-site #bookings.trcm-parallax { position:relative; isolation:isolate; overflow:hidden; background:#111112; }
.trcm-site .trcm-parallax>.trcm-parallax-bg { position:absolute; inset:-64px 0; z-index:-1; pointer-events:none; background-position:center; background-size:cover; background-repeat:no-repeat; transform:translate3d(0,var(--parallax-y,0px),0); }
.trcm-site #videos>.trcm-parallax-bg { background-image:linear-gradient(180deg,rgba(9,9,15,.8),rgba(9,9,15,.55) 48%,rgba(9,9,15,.9)),url('../images/backgrounds/concert-bg.webp'); }
.trcm-site #bookings>.trcm-parallax-bg { background-image:linear-gradient(110deg,rgba(14,7,15,.7),rgba(14,7,15,.46),rgba(14,7,15,.8)),url('../images/backgrounds/4.jpg'); }
.trcm-site .trcm-parallax>.trcm-shell { position:relative; z-index:1; }
.trcm-site .trcm-parallax .trcm-section-intro { color:#ddd7df; }
@media(max-width:1000px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) {
  .trcm-site .trcm-parallax>.trcm-parallax-bg { inset:0; transform:none; }
}
.trcm-site #about .trcm-about-copy {
  padding:36px;
  border:1px solid #ffffff20;
  border-radius:12px;
  background:linear-gradient(135deg,#211d20,#171719);
  box-shadow:0 24px 60px -24px #000b;
}
.trcm-site #about .trcm-about-copy>p:not(.trcm-eyebrow):not(.trcm-lead) { color:#e5dce3; }
.trcm-site #about .trcm-about-copy em { color:#fff; }
.trcm-site #about .trcm-about-copy .trcm-text-link { border-color:#ffffff70; }
@media(min-width:851px) {
  .trcm-site #about .trcm-about-grid { gap:64px; grid-template-columns:.85fr 1.15fr; }
}
@media(max-width:767px) {
  .trcm-site #about .trcm-about-copy { padding:26px 22px; }
}

/* One closing booking section with direct email and telephone actions. */
.trcm-site .trcm-contact-intro { padding-bottom:40px; }
.trcm-site .trcm-contact-intro h2 { font-size:clamp(48px,7vw,96px); margin-bottom:24px; }
.trcm-contact-intro .trcm-lead { max-width:650px; margin-bottom:12px; }
.trcm-contact-invitation { color:var(--trcm-muted); max-width:560px; }
.trcm-contact-details { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:18px; }
.trcm-site .trcm-contact-card { position:relative; display:flex; flex-direction:column; justify-content:center; gap:16px; min-width:0; padding:30px 44px 30px 24px; border:1px solid var(--trcm-line); border-radius:12px; background:linear-gradient(135deg,rgba(121,52,184,.1),rgba(237,81,91,.06)); transition:background .25s,border-color .25s,box-shadow .25s; }
.trcm-contact-label { font-size:10px; letter-spacing:.12em; color:var(--trcm-muted); }
.trcm-contact-value { font-size:clamp(16px,1.6vw,23px); font-weight:600; letter-spacing:-.03em; overflow-wrap:anywhere; }
.trcm-contact-link-arrow { position:absolute; right:18px; top:24px; color:var(--trcm-accent); font-size:24px; }
.trcm-site .trcm-contact-card:hover,.trcm-site .trcm-contact-card:focus-visible { border-color:var(--trcm-accent); background:rgba(121,52,184,.16); box-shadow:0 12px 36px rgba(121,52,184,.12); }
.trcm-site .trcm-contact-card:focus-visible { outline:2px solid var(--trcm-accent); outline-offset:4px; }
@media(max-width:991px) {
  .trcm-contact-details { grid-template-columns:1fr 1fr; }
  .trcm-contact-card-email { grid-column:1 / -1; }
}
@media(max-width:575px) {
  .trcm-contact-details { grid-template-columns:1fr; gap:12px; }
  .trcm-site .trcm-contact-card { padding:24px 48px 24px 20px; }
  .trcm-contact-value { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .trcm-site .trcm-contact-card { transition:none; } }

/* Larger portrait slides; retain the existing caption font sizes. */
.trcm-site .trcm-credit-track { gap:18px; }
.trcm-site .trcm-credit { flex-basis:180px; width:180px; height:276px; }
.trcm-site .trcm-credit .portfolio-one__card__content { padding:14px; }
@media(max-width:600px) {
  .trcm-site .trcm-credit { flex-basis:160px; width:160px; height:245px; }
  .trcm-site .trcm-credit .portfolio-one__card__content { padding:12px; }
}
.trcm-site .trcm-credit-type { font-size:7px; letter-spacing:0; gap:3px; }
.trcm-site .trcm-credit h3 { font-size:13px; line-height:1.15; margin-bottom:4px; overflow-wrap:anywhere; }
.trcm-site .trcm-credit p:last-child { font-size:10px; line-height:1.2; }
.trcm-site .trcm-credit-mark { font-size:45px; right:4px; top:20px; }

/* Artist biography and opening hero share one responsive composition. */
.trcm-site .trcm-artist-hero { padding:150px 0 80px; background:radial-gradient(ellipse at 85% 20%,#7934b820,transparent 55%),radial-gradient(ellipse at 10% 85%,#ed515b12,transparent 55%); }
.trcm-artist-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:64px; }
.trcm-site .trcm-artist-hero h1 { font-size:clamp(36px,4vw,62px); line-height:1.08; letter-spacing:-.045em; margin:0 0 28px; font-weight:600; }
.trcm-artist-hero h1 em { font-style:normal; color:var(--trcm-accent); }
.trcm-artist-biography { max-width:640px; }
.trcm-site .trcm-artist-biography p { color:var(--trcm-muted); font-size:15px; line-height:1.75; margin:0 0 15px; }
.trcm-site .trcm-artist-biography .trcm-artist-opening { font-size:18px; color:#eee; line-height:1.55; }
.trcm-artist-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:28px; }
.trcm-artist-hero-photo { position:relative; margin:0; min-width:0; border:1px solid var(--trcm-line); border-radius:160px 160px 12px 12px; overflow:hidden; background:#201821; box-shadow:0 24px 70px #0005; }
.trcm-artist-hero-photo img { display:block; width:100%; height:720px; max-height:80vh; object-fit:cover; object-position:center 25%; }
.trcm-artist-hero-photo figcaption { position:absolute; inset:auto 0 0; display:flex; flex-direction:column; gap:8px; padding:70px 30px 28px; background:linear-gradient(transparent,#111112f5); }
.trcm-artist-hero-photo figcaption span { font-size:10px; letter-spacing:.16em; color:#fff; }
.trcm-artist-hero-photo strong { font-size:clamp(64px,8vw,120px); line-height:1; letter-spacing:-.06em; color:transparent; -webkit-text-stroke:1px #ffffffc0; }
@media(max-width:1000px) { .trcm-artist-hero-grid { gap:32px; } .trcm-site .trcm-artist-hero { padding-top:120px; } }
@media(max-width:767px) { .trcm-artist-hero-grid { grid-template-columns:1fr; } .trcm-site .trcm-artist-hero { padding:110px 0 50px; } .trcm-site .trcm-artist-hero h1 { font-size:clamp(34px,7vw,48px); } .trcm-artist-hero-photo { border-radius:100px 100px 12px 12px; } .trcm-artist-hero-photo img { height:540px; max-height:75svh; } }

.trcm-site .trcm-artist-quote { margin:26px 0 0; padding:4px 0 4px 20px; border-left:3px solid var(--trcm-accent); background:none; color:#eee; font-size:clamp(16px,1.6vw,22px); font-weight:600; line-height:1.5; letter-spacing:.015em; }

/* Restore the original Amoxi hero stroke-drawing animation. */
.trcm-site .trcm-artist-hero-photo .trcm-hero-signature { display:block; width:100%; margin:0; letter-spacing:normal; }
.trcm-site .trcm-hero-signature svg { display:block; width:100%; height:auto; }
.trcm-site .trcm-hero-signature svg text { font-size:150px; font-weight:700; letter-spacing:-6px; stroke:#fff; animation:svgTextAnimation3 4s infinite alternate; }
@media(prefers-reduced-motion:reduce) { .trcm-site .trcm-hero-signature svg text { animation:none; fill:transparent; stroke:#fff; stroke-width:1; } }

/* Social links share the booking section without reach counters. */
.trcm-connect-socials { margin-top:42px; padding-top:32px; border-top:1px solid var(--trcm-line); }
.trcm-connect-socials-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:22px; }
.trcm-site .trcm-connect-socials-heading h3 { font-size:24px; margin:0; }
.trcm-connect-socials-heading p { color:var(--trcm-muted); font-size:14px; margin:0; }
.trcm-connect-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.trcm-connect-links a { position:relative; display:flex; flex-direction:column; gap:8px; padding:22px 36px 22px 18px; border:1px solid var(--trcm-line); border-radius:10px; background:#ffffff03; transition:background .25s,border-color .25s; }
.trcm-connect-links strong { color:#fff; font-size:16px; line-height:1.4; }
.trcm-connect-links a>span:not(.trcm-connect-arrow) { font-size:12px; color:var(--trcm-muted); overflow-wrap:anywhere; }
.trcm-connect-arrow { position:absolute; top:19px; right:14px; color:var(--trcm-accent); font-size:22px; }
.trcm-connect-links a:hover { background:#7934b81a; border-color:var(--trcm-accent); }
.trcm-connect-links a:focus-visible { outline:2px solid var(--trcm-accent); outline-offset:4px; }
@media(max-width:991px) { .trcm-connect-links { grid-template-columns:repeat(2,minmax(0,1fr)); } .trcm-connect-socials-heading { display:block; } .trcm-connect-socials-heading p { margin-top:10px; } }
@media(max-width:480px) { .trcm-connect-links { grid-template-columns:1fr; gap:10px; } }
@media(prefers-reduced-motion:reduce) { .trcm-connect-links a { transition:none; } }

.trcm-site .trcm-portfolio {
  background:linear-gradient(180deg,rgba(12,10,18,.88),rgba(12,10,18,.74) 50%,rgba(12,10,18,.94)),url('../images/backgrounds/trcm-bg.webp') center / cover no-repeat;
}

/* Decorative speaker artwork sits in the gap between the event heading and introduction. */
.trcm-events-heading { position:relative; isolation:isolate; }
.trcm-site .trcm-events-element { position:absolute; top:50%; left:50%; width:130px; height:auto; transform:translate(-50%,-50%) rotate(-8deg); opacity:.85; pointer-events:none; user-select:none; filter:drop-shadow(0 12px 18px #0005); }
@media(max-width:1100px) { .trcm-site .trcm-events-element { display:none; } }

.trcm-site #events-title { white-space:nowrap; font-size:clamp(30px,5vw,72px); }

/* Tighter page rhythm while preserving clearance below the fixed header. */
.trcm-site { --trcm-space:72px; }
.trcm-site .trcm-section { padding-top:var(--trcm-space); padding-bottom:var(--trcm-space); }
.trcm-site .trcm-section-heading { margin-bottom:36px; }
.trcm-site .trcm-artist-hero { padding-top:124px; padding-bottom:52px; }
.trcm-site .trcm-contact-intro { padding-bottom:28px; }
.trcm-site .trcm-footer-expanded { padding-top:36px; }
@media(max-width:1000px) {
  .trcm-site { --trcm-space:56px; }
  .trcm-site .trcm-artist-hero { padding-top:112px; padding-bottom:40px; }
}
@media(max-width:767px) {
  .trcm-site { --trcm-space:44px; }
  .trcm-site .trcm-section-heading { margin-bottom:28px; }
  .trcm-site .trcm-artist-hero { padding-top:104px; padding-bottom:36px; }
  .trcm-site .trcm-footer-expanded { padding-top:24px; }
}

/* A CSS-built jukebox using the existing shared MP3 player. */
.trcm-site .trcm-jukebox { position:relative; padding:30px 26px 24px; border:3px solid #66536e; border-radius:160px 160px 24px 24px; background:linear-gradient(110deg,#241b2d,#101014 50%,#291b28); box-shadow:inset 0 0 0 6px #101014,inset 0 0 0 8px #7934b85c,0 20px 50px #0005; transition:border-color .3s,box-shadow .3s; }
.trcm-jukebox-crown { display:flex; flex-direction:column; align-items:center; gap:3px; margin:0 0 22px; }
.trcm-jukebox-crown>span { font-size:36px; font-weight:800; letter-spacing:.12em; color:#eee; }
.trcm-jukebox-crown small { font-size:9px; letter-spacing:.3em; color:#bba9c4; }
.trcm-site .trcm-jukebox-window { position:relative; height:230px; aspect-ratio:auto; margin-bottom:0; border:2px solid #57445e; border-radius:100px 100px 12px 12px; overflow:hidden; background:#08080c; }
.trcm-site .trcm-jukebox-window>img { width:100%; height:100%; object-fit:cover; opacity:.35; }
.trcm-jukebox-record { position:absolute; width:164px; height:164px; top:20px; left:calc(50% - 82px); border-radius:50%; border:3px solid #45404a; background:repeating-radial-gradient(circle,#141217 0 3px,#302a34 4px,#141217 5px); display:grid; place-items:center; box-shadow:0 8px 24px #0008; animation:trcm-jukebox-spin 6s linear infinite; animation-play-state:paused; }
.trcm-jukebox-record span { display:grid; place-items:center; width:62px; height:62px; border:5px solid #18111d; border-radius:50%; background:linear-gradient(135deg,#7934b8,#ed515b); font-size:12px; font-weight:700; color:#fff; }
.trcm-jukebox-genre { position:absolute; bottom:12px; left:18px; font-size:10px; letter-spacing:.15em; color:#fff; }
.trcm-jukebox-meter { display:flex; justify-content:center; align-items:center; gap:5px; height:40px; margin:14px 0; border-radius:6px; background:#09090d; }
.trcm-jukebox-meter i { display:block; width:5px; height:24px; border-radius:3px; background:linear-gradient(#ed515b,#7934b8); transform:scaleY(.2); }
.trcm-jukebox.is-playing .trcm-jukebox-meter i { animation:trcm-jukebox-level .7s ease-in-out infinite alternate; }
.trcm-jukebox-meter i:nth-child(3n) { animation-delay:-.3s!important; }
.trcm-jukebox-meter i:nth-child(2n) { animation-delay:-.5s!important; }
.trcm-jukebox.is-playing .trcm-jukebox-record { animation-play-state:running; }
.trcm-site .trcm-jukebox.is-playing { border-color:#c252ca; box-shadow:inset 0 0 0 6px #101014,inset 0 0 18px #7934b866,0 0 30px #b52b7833; }
.trcm-jukebox #nowPlay { padding-top:4px; }
@keyframes trcm-jukebox-spin { to { transform:rotate(360deg); } }
@keyframes trcm-jukebox-level { from { transform:scaleY(.2); } to { transform:scaleY(1); } }
@media(max-width:575px) { .trcm-site .trcm-jukebox { padding:26px 18px 20px; border-radius:120px 120px 20px 20px; } }
@media(prefers-reduced-motion:reduce) { .trcm-site .trcm-jukebox { transition:none; } .trcm-jukebox .trcm-jukebox-record,.trcm-jukebox.is-playing .trcm-jukebox-meter i { animation:none; } .trcm-jukebox.is-playing .trcm-jukebox-meter i { transform:scaleY(.7); } }
.trcm-site .trcm-jukebox #nowPlay { padding-top:4px; }
.trcm-site .trcm-jukebox-window>.trcm-demo { bottom:10px; right:10px; }
.trcm-site .trcm-jukebox-window>img { filter:none; }
.trcm-jukebox-genre { z-index:1; max-width:55%; }
.trcm-jukebox::after { content:""; display:block; height:48px; margin-top:18px; border:1px solid #493b50; border-radius:8px 8px 14px 14px; background:repeating-linear-gradient(0deg,#08080c 0 3px,#302735 3px 5px); box-shadow:inset 0 2px 8px #000; }

/* Instrument display replaces the portrait inside the jukebox. */
.trcm-jukebox-stage { position:absolute; inset:0; overflow:hidden; background:radial-gradient(ellipse at center,#472053 0%,#16101e 55%,#08080c 85%); }
.trcm-speaker { position:absolute; width:104px; height:148px; top:35px; border:2px solid #66516c; border-radius:10px; background:linear-gradient(120deg,#332b39,#100e14); box-shadow:0 8px 16px #0008; }
.trcm-speaker-left { left:10px; transform:rotate(-8deg); }
.trcm-speaker-right { right:10px; transform:rotate(8deg); }
.trcm-speaker::before,.trcm-speaker::after { content:""; position:absolute; border-radius:50%; left:50%; transform:translateX(-50%); background:radial-gradient(circle,#514657 0 18%,#16121b 20% 38%,#65566e 40% 44%,#201b27 46% 64%,#09080c 66%); box-shadow:0 2px 6px #0009; }
.trcm-speaker::before { width:34px; height:34px; top:10px; }
.trcm-speaker::after { width:78px; height:78px; bottom:12px; }
.trcm-stage-light { position:absolute; inset:0; border:3px solid #a341a866; border-radius:96px 96px 10px 10px; box-shadow:inset 0 0 18px #7934b833; }
.trcm-jukebox.is-playing .trcm-speaker::after { animation:trcm-speaker-pulse .6s ease-in-out infinite alternate; }
.trcm-jukebox.is-playing .trcm-stage-light { animation:trcm-stage-glow 1.8s ease-in-out infinite alternate; }
@keyframes trcm-speaker-pulse { to { transform:translateX(-50%) scale(1.06); } }
@keyframes trcm-stage-glow { to { border-color:#ed515bcc; box-shadow:inset 0 0 28px #b52b7866; } }
@media(prefers-reduced-motion:reduce) { .trcm-jukebox.is-playing .trcm-speaker::after,.trcm-jukebox.is-playing .trcm-stage-light { animation:none; } .trcm-jukebox.is-playing .trcm-stage-light { border-color:#ed515b; } }

/* Twin-deck controller built from individual elements, inspired by the supplied mixer. */
.trcm-site .trcm-sound .trcm-player-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:34px; }
.trcm-site .trcm-dj-player { padding:20px; min-width:0; border-radius:14px; background:#121216; }
.trcm-controller { padding:10px; border:2px solid #56565e; border-radius:10px; background:linear-gradient(145deg,#343438,#111114 25%,#202024 75%,#08080b); box-shadow:inset 0 1px 1px #ffffff44,0 14px 30px #0006; }
.trcm-controller-brand { display:flex; align-items:center; gap:10px; padding:2px 4px 10px; }
.trcm-controller-brand strong { color:#eee; font-style:italic; font-size:14px; letter-spacing:.1em; }
.trcm-controller-brand>span { font-size:6px; letter-spacing:.12em; color:#9f9fa8; }
.trcm-controller-power { width:5px; height:5px; margin-left:auto; border-radius:50%; background:#52565c; }
.trcm-controller-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr); gap:9px; }
.trcm-deck { min-width:0; padding:7px; border:1px solid #404047; border-radius:3px; background:linear-gradient(130deg,#2c2c31,#0b0b0e); }
.trcm-deck-screen,.trcm-mixer-screen { height:54px; overflow:hidden; padding:5px; border:2px solid #424249; background:#04090e; box-shadow:inset 0 0 8px #000; }
.trcm-deck-screen>span,.trcm-deck-screen small,.trcm-mixer-screen>span { display:block; font-size:5px; letter-spacing:.08em; color:#98c9d9; line-height:1.5; }
.trcm-waveform { display:flex; align-items:center; gap:1px; height:23px; overflow:hidden; }
.trcm-waveform i { flex:1; height:var(--level); min-width:1px; background:linear-gradient(#20c5dc,#487eff 50%,#7934b8); opacity:.45; transform:scaleY(.3); }
.trcm-deck-knobs { display:flex; align-items:center; gap:10%; padding:10px 2px; }
.trcm-deck-knobs i,.trcm-mixer-knob { position:relative; display:block; width:14px; height:14px; border-radius:50%; border:1px solid #777; background:conic-gradient(#555,#161616,#666,#151515,#555); box-shadow:0 2px 3px #000; }
.trcm-deck-knobs i:after,.trcm-mixer-knob:after { content:""; position:absolute; width:1px; height:5px; background:#ddd; top:1px; left:50%; transform:rotate(-25deg); transform-origin:bottom; }
.trcm-deck-knobs>span { margin-left:auto; font-size:6px; color:#a5a5ab; }
.trcm-jog { position:relative; width:100%; aspect-ratio:1; padding:8%; border-radius:50%; border:3px solid #96969c; background:repeating-conic-gradient(#49494e 0deg 10deg,#29292f 10deg 20deg); box-shadow:0 4px 6px #000, inset 0 0 0 3px #141418; }
.trcm-jog-disc { display:grid; place-items:center; width:100%; height:100%; border:2px solid #3a879b; border-radius:50%; background:conic-gradient(#050508,#33333a,#07070b,#383840,#050508); animation:trcm-jukebox-spin 5s linear infinite; animation-play-state:paused; }
.trcm-jog-disc>span { display:grid; place-items:center; width:40%; aspect-ratio:1; border:4px solid #484850; border-radius:50%; background:radial-gradient(#1d2028,#030307); color:#a4c4d8; font-size:clamp(5px,.8vw,10px); letter-spacing:.02em; }
.trcm-deck-bottom { display:flex; align-items:center; gap:7px; margin-top:12px; }
.trcm-deck-light { display:grid; place-items:center; width:18%; aspect-ratio:1; border:2px solid #687463; border-radius:50%; color:#c7c7cf; font-size:8px; background:linear-gradient(140deg,#777,#141414); }
.trcm-deck-pads { flex:1; display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.trcm-deck-pads i { aspect-ratio:1; border:1px solid #77daee55; border-radius:2px; background:#136e8a; }
.trcm-deck-pads i:nth-child(3n) { background:#863dad; }
.trcm-deck-pads i:nth-child(2n) { background:#168a66; }
.trcm-mixer { display:flex; flex-direction:column; min-width:0; padding:5px; border-inline:1px solid #44444b; }
.trcm-mixer-screen { height:49px; }
.trcm-mixer-channels { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; flex:1; margin:9px 0; }
.trcm-mixer-channel { display:flex; align-items:center; flex-direction:column; gap:7px; position:relative; }
.trcm-mixer-channel>span { font-size:6px; color:#bbb; }
.trcm-mixer-knob { width:12px; height:12px; flex-shrink:0; }
.trcm-channel-meter { height:28px; width:4px; background:#171f16; overflow:hidden; position:relative; }
.trcm-channel-meter b { position:absolute; bottom:0; width:100%; height:100%; background:repeating-linear-gradient(to top,#77c949 0 3px,#121212 3px 4px,#eeb944 4px 7px,#121212 7px 8px); transform:scaleY(.1); transform-origin:bottom; }
.trcm-channel-fader { position:relative; width:100%; flex:1; min-height:25px; background:linear-gradient(90deg,transparent 43%,#030305 43% 57%,transparent 57%); }
.trcm-channel-fader i { position:absolute; top:35%; left:8%; width:84%; height:8px; border:1px solid #666; background:linear-gradient(#888,#202025 45%,#aaa 50%,#202025 65%); }
.trcm-mixer-channel:nth-child(2n) .trcm-channel-fader i { top:58%; }
.trcm-crossfader { height:13px; margin:4px 10%; position:relative; background:linear-gradient(transparent 40%,#030305 40% 60%,transparent 60%); }
.trcm-crossfader i { position:absolute; left:45%; width:12%; height:100%; border:1px solid #777; background:linear-gradient(90deg,#222,#888,#222); }
.trcm-mixer>small { text-align:center; font-size:5px; letter-spacing:.1em; color:#aaa; margin-top:4px; }
.trcm-controller-meta { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:16px 0 0; }
.trcm-controller-genre { color:#bbb; font-size:10px; letter-spacing:.13em; }
.trcm-dj-player.is-playing .trcm-jog-disc { animation-play-state:running; border-color:#55dfff; }
.trcm-dj-player.is-playing .trcm-deck-light { border-color:#73e95c; box-shadow:0 0 8px #73e95c77; }
.trcm-dj-player.is-playing .trcm-controller-power { background:#73e95c; box-shadow:0 0 5px #73e95c; }
.trcm-dj-player.is-playing .trcm-waveform i { opacity:1; animation:trcm-jukebox-level .8s ease-in-out infinite alternate; animation-delay:calc(var(--beat) * -.17s); }
.trcm-dj-player.is-playing .trcm-channel-meter b { animation:trcm-jukebox-level .65s ease-in-out infinite alternate; }
.trcm-dj-player.is-playing .trcm-mixer-channel:nth-child(2n) .trcm-channel-meter b { animation-delay:-.3s; }
.trcm-dj-player.is-playing .trcm-deck-pads i { box-shadow:inset 0 0 8px #ffffff44,0 0 4px #38c7dd33; filter:brightness(1.5); }
@media(max-width:1100px) { .trcm-site .trcm-sound .trcm-player-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:450px) { .trcm-site .trcm-dj-player { padding:12px; } .trcm-controller { padding:6px; } .trcm-controller-body { gap:4px; } .trcm-deck { padding:4px; } .trcm-mixer { padding:3px; } .trcm-controller-brand>span { font-size:5px; } .trcm-deck-knobs { gap:8%; } .trcm-deck-knobs i { width:11px; height:11px; } .trcm-mixer-channels { gap:3px; } .trcm-deck-pads { gap:2px; } }
@media(prefers-reduced-motion:reduce) { .trcm-dj-player .trcm-jog-disc,.trcm-dj-player.is-playing .trcm-waveform i,.trcm-dj-player.is-playing .trcm-channel-meter b { animation:none; } .trcm-dj-player.is-playing .trcm-waveform i,.trcm-dj-player.is-playing .trcm-channel-meter b { transform:scaleY(.7); } }

/* Match the desktop playlist to the player; only the track list scrolls. */
.trcm-site .trcm-sound .trcm-playlist-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.trcm-site .trcm-playlist-panel > :not(.trcm-playlist) { flex-shrink: 0; }
.trcm-site .trcm-playlist-panel .trcm-playlist {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--trcm-accent) #ffffff0a;
  scrollbar-gutter: stable;
  scroll-padding-block: 6px;
}
.trcm-site .trcm-playlist::-webkit-scrollbar { width: 6px; }
.trcm-site .trcm-playlist::-webkit-scrollbar-track { background: #ffffff0a; }
.trcm-site .trcm-playlist::-webkit-scrollbar-thumb { background: var(--trcm-accent); border-radius: 6px; }
.trcm-site .trcm-playlist .trcm-track:focus-visible { outline-offset: -3px; }
@media (min-width: 1101px) {
  .trcm-site .trcm-sound .trcm-player-grid { align-items: stretch; }
  .trcm-site .trcm-sound .trcm-playlist-panel { contain: size; }
  .trcm-site .trcm-playlist-panel .trcm-playlist { flex: 1 1 0; }
}
@media (max-width: 1100px) {
  .trcm-site .trcm-playlist-panel .trcm-playlist { max-height: min(480px, 65vh); }
}

/* CMS portfolio: optional real flyers, otherwise intentional text cards. */
.trcm-site .trcm-credit-flyer { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--trcm-ease); }
.trcm-site .trcm-credit:hover .trcm-credit-flyer { transform:scale(1.05); }
.trcm-site .trcm-credit--text { background:linear-gradient(145deg,#342337,#18171c); }
.trcm-site a.trcm-credit:focus-visible { outline:2px solid var(--trcm-accent); outline-offset:-3px; }
.trcm-credit-reel { display:block; margin-top:10px; font-size:10px; color:#fff; }
.trcm-portfolio-toolbar[hidden] { display:none; }

/* Keep the brand inside the shared 88px / 76px header heights. */
.trcm-header .trcm-logo img { display:block; object-fit:contain; }
@media(max-width:1000px) {
  .trcm-header .trcm-logo img { max-height:60px; }
}
