.video-link.media-card {
  display: grid;
  grid-template-columns: 108px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 10px;
}

.media-thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--rule);
  background: rgba(0,0,0,0.22);
}

.media-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.media-thumb::after {
  content: '▶';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--parchment);
  background: rgba(0,0,0,0.24);
  font-size: 1.2rem;
}

.media-label {
  display: grid;
  gap: 4px;
}

.media-platform {
  color: var(--stone);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.release-audio {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid var(--rule);
  background: rgba(255,255,255,0.025);
}

.release-audio audio {
  width: 100%;
}

.contact-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 40;
  border: 1px solid rgba(122,158,128,0.55);
  border-radius: 999px;
  background: rgba(30,31,28,0.76);
  color: var(--parchment);
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.10em;
  line-height: 1;
  padding: 8px 11px;
  text-transform: uppercase;
  box-shadow: 0 8px 26px rgba(0,0,0,0.25);
  opacity: 0.82;
  backdrop-filter: blur(6px);
}

.contact-launcher:hover,
.contact-launcher:focus-visible {
  border-color: var(--brass);
  color: var(--brass);
  opacity: 1;
  outline: none;
}

.contact-modal[hidden] {
  display: none;
}

.contact-modal {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0,0,0,0.58);
}

.contact-card {
  width: min(720px, 100%);
  max-height: min(90vh, 900px);
  overflow: auto;
  border: 1px solid var(--rule);
  background: var(--bg);
  color: var(--parchment);
  box-shadow: 0 22px 70px rgba(0,0,0,0.45);
}

.contact-card__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 24px 12px;
  border-bottom: 1px solid var(--rule);
}

.contact-card h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.7rem, 4vw, 2.7rem);
  line-height: 1;
}

.contact-card p {
  color: var(--stone);
}

.contact-close {
  align-self: flex-start;
  border: 1px solid var(--rule);
  background: transparent;
  color: var(--parchment);
  cursor: pointer;
  font: inherit;
  padding: 7px 10px;
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 24px;
}

.contact-form label {
  display: grid;
  gap: 6px;
  color: var(--stone);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-form .wide {
  grid-column: 1 / -1;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
  border: 1px solid var(--rule);
  background: rgba(255,255,255,0.035);
  color: var(--parchment);
  font: inherit;
  padding: 10px;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-column: 1 / -1;
}

.contact-actions button,
.contact-actions a {
  border: 1px solid var(--rule);
  background: transparent;
  color: var(--parchment);
  cursor: pointer;
  font: inherit;
  padding: 10px 13px;
  text-decoration: none;
}

.contact-actions .primary {
  border-color: var(--brass);
  background: rgba(122,158,128,0.14);
}

.contact-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--stone);
  font-size: 0.84rem;
}

body[data-site-template="forest-editorial"] {
  --bg: #1E1F1C;
  --surface: #2A2B27;
  --brass: #7A9E80;
  --rule: rgba(122,158,128,0.22);
}

body[data-site-template="press-minimal"] {
  --bg: #191a18;
  --surface: #242520;
  --brass: #B8BFAD;
  --rule: rgba(184,191,173,0.22);
}

body[data-site-template="acoustic-warm"] {
  --bg: #241d18;
  --surface: #33271f;
  --brass: #D6B275;
  --stone: #bda98e;
  --rule: rgba(214,178,117,0.24);
}

body[data-site-template="duif-electric"] {
  --bg: #111417;
  --surface: #17232a;
  --brass: #7AA8C4;
  --stone: #8fa2a8;
  --rule: rgba(122,168,196,0.26);
}

body[data-site-template="cinema-score"] {
  --bg: #171715;
  --surface: #26231e;
  --brass: #C6A261;
  --stone: #a59b89;
  --rule: rgba(198,162,97,0.24);
}

body[data-site-template="press-minimal"] .hero { min-height: 460px; height: 72svh; }
body[data-site-template="press-minimal"] .hero__img { filter: brightness(0.50) grayscale(0.45); }
body[data-site-template="press-minimal"] .content { max-width: 920px; }

body[data-site-template="acoustic-warm"] .hero__img { filter: brightness(0.45) sepia(0.52) saturate(1.05); }
body[data-site-template="acoustic-warm"] .offering-card { background: rgba(69,50,38,0.75); }

body[data-site-template="duif-electric"] .hero__img { filter: brightness(0.38) saturate(1.25) contrast(1.08); }
body[data-site-template="duif-electric"] .hero__name { letter-spacing: 0.09em; }
body[data-site-template="duif-electric"] .offering-card { border-left-width: 4px; }

body[data-site-template="cinema-score"] .hero__img { filter: brightness(0.36) sepia(0.22) contrast(1.18); }
body[data-site-template="cinema-score"] .credit-row { background: linear-gradient(90deg, rgba(198,162,97,0.08), var(--surface)); }

@media (max-width: 700px) {
  .video-link.media-card,
  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-launcher {
    right: 12px;
    bottom: 12px;
  }
}