/* Reusable B2B artist EPK template — no real media required. */

.epk-page { background: var(--paper); }
.epk-page .site-header { background: rgba(243,241,236,.82); backdrop-filter: blur(12px); }

.epk-placeholder {
  position: relative;
  overflow: hidden;
  background: #dedbd4;
  border: 1px solid var(--line);
  color: rgba(17,16,15,.58);
}
.epk-placeholder::before,
.epk-placeholder::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140%;
  height: 1px;
  background: rgba(17,16,15,.16);
  transform-origin: center;
}
.epk-placeholder::before { transform: translate(-50%,-50%) rotate(32deg); }
.epk-placeholder::after { transform: translate(-50%,-50%) rotate(-32deg); }
.epk-placeholder-label {
  position: absolute;
  inset: auto 22px 20px 22px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.epk-placeholder-label span:last-child { text-align: right; color: var(--muted); }

.epk-media-image {
  position: relative;
  overflow: hidden;
  background: #fff;
}
.epk-media-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: grayscale(100%) contrast(1.02);
  transition: filter .7s var(--ease), transform 1s var(--ease);
}
.epk-media-image:hover img { filter: grayscale(0%) contrast(1); transform: scale(1.012); }
.epk-hero-media.epk-media-image img,
.epk-sound-visual.epk-media-image img {
  object-fit: contain;
  background: #fff;
}
.epk-media-grid figure { margin: 0; }

.wdj40-page .epk-media-grid .epk-media-image img {
  object-fit: contain;
  object-position: center top;
  background: #fff;
}

.raul-pedro-page .epk-media-grid .epk-media-image img {
  object-fit: contain;
  object-position: center top;
  background: #fff;
}

.epk-highlights-two { grid-template-columns: repeat(2,minmax(0,1fr)); }

.epk-hero {
  min-height: 760px;
  padding-top: 88px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  border-bottom: 1px solid var(--line);
}
.epk-hero-copy {
  padding: clamp(38px,4.5vw,70px) var(--page) clamp(36px,4.5vw,68px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.epk-kicker {
  margin-bottom: auto;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.epk-name {
  margin: 0 0 24px;
  font-family: var(--serif);
  font-size: clamp(68px,8vw,128px);
  font-weight: 400;
  line-height: .78;
  letter-spacing: -.065em;
}
.epk-positioning {
  max-width: 650px;
  margin: 0 0 clamp(34px,4vw,54px);
  font-size: clamp(17px,1.4vw,23px);
  line-height: 1.38;
}
.epk-meta {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.epk-meta div { padding: 17px 18px 18px 0; border-right: 1px solid var(--line); margin-right: 18px; }
.epk-meta div:last-child { border-right: 0; margin-right: 0; }
.epk-meta span,
.epk-meta strong { display: block; }
.epk-meta span { margin-bottom: 6px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.epk-meta strong { font-family: var(--serif); font-size: clamp(17px,1.3vw,22px); font-weight: 400; line-height: 1.08; }
.epk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }

.epk-hero-media {
  margin: 28px var(--page) 28px 0;
  min-height: 620px;
  clip-path: polygon(11% 0,100% 0,100% 100%,0 100%);
}

.epk-quickfacts {
  display: grid;
  grid-template-columns: 1.2fr repeat(3,1fr);
  border-bottom: 1px solid var(--line);
}
.epk-fact {
  min-height: 118px;
  padding: 24px var(--page);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--line);
}
.epk-fact:last-child { border-right: 0; }
.epk-fact span { margin-bottom: 7px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.epk-fact strong { font-family: var(--serif); font-size: clamp(21px,1.8vw,30px); font-weight: 400; line-height: 1.08; }

.epk-intro-grid,
.epk-booking-grid,
.epk-tech-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(48px,9vw,150px);
  align-items: end;
}
.epk-copy { max-width: 700px; justify-self: end; }
.epk-copy p { margin: 0 0 22px; font-size: clamp(17px,1.25vw,21px); line-height: 1.52; }
.epk-copy p:last-child { margin-bottom: 0; color: var(--muted); }
.epk-one-line {
  padding: clamp(38px,4vw,62px) 0;
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.epk-one-line p { margin: 0 auto 12px; }
.epk-quote {
  max-width: 1060px;
  margin: 0 auto;
  font-family: var(--serif);
  font-size: clamp(36px,4vw,68px);
  line-height: .97;
  letter-spacing: -.04em;
  font-weight: 400;
}

.epk-highlights {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.epk-highlight { padding: clamp(28px,4vw,52px) var(--page); border-right: 1px solid var(--line); }
.epk-highlight:last-child { border-right: 0; }
.epk-highlight span,
.epk-highlight small { display: block; font-size: 9px; letter-spacing: .17em; text-transform: uppercase; color: var(--muted); }
.epk-highlight strong { display: block; margin: 16px 0 10px; font-family: var(--serif); font-size: clamp(24px,2.2vw,38px); line-height: 1; font-weight: 400; }

.epk-sound {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  background: var(--dark);
  color: var(--paper);
  border-bottom: 1px solid var(--dark);
}
.epk-sound-visual { min-height: 650px; background: #282724; color: #d1cec6; border: 0; border-right: 1px solid rgba(255,255,255,.12); }
.epk-sound-visual::before,
.epk-sound-visual::after { background: rgba(255,255,255,.1); }
.epk-sound-copy { padding: var(--section) var(--page); display: flex; flex-direction: column; justify-content: center; }
.epk-sound-copy .eyebrow { color: #9b9891; }
.epk-sound-words { margin: 6px 0 34px; }
.epk-sound-words span { display: block; font-family: var(--serif); font-size: clamp(48px,5.3vw,84px); line-height: .9; letter-spacing: -.05em; }
.epk-sound-copy > p { max-width: 590px; color: #c9c6be; font-size: clamp(16px,1.2vw,20px); line-height: 1.5; }

.epk-listen {
  margin-top: 34px;
  border-top: 1px solid rgba(255,255,255,.2);
}
.epk-audio-row {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.epk-play {
  width: 46px; height: 46px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 12px;
}
.epk-audio-row span,
.epk-audio-row strong { display: block; }
.epk-audio-row span { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: #99968f; }
.epk-audio-row strong { margin-top: 3px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.epk-audio-arrow { font-size: 24px; }

.epk-fit-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(50px,9vw,150px);
  align-items: start;
}
.epk-fit-list { border-top: 1px solid var(--line-strong); }
.epk-fit-row { display: grid; grid-template-columns: 160px 1fr; gap: 30px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.epk-fit-row span { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.epk-fit-row strong { font-family: var(--serif); font-size: clamp(20px,1.75vw,28px); font-weight: 400; line-height: 1.12; }

.epk-media-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 36px; }
.epk-media-note { max-width: 290px; font-size: 10px; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); text-align: right; }
.epk-media-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  grid-template-rows: 1fr .7fr;
  gap: 12px;
}
.epk-media-grid .portrait { grid-row: 1 / 3; min-height: 720px; }
.epk-media-grid .landscape { min-height: 380px; }
.epk-media-grid .live { min-height: 270px; }

.epk-pressbar {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 20px;
  align-items: center;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.epk-pressbar p { margin: 0; color: var(--muted); font-size: 14px; }

.epk-tech-table { border-top: 1px solid var(--line-strong); }
.epk-tech-row { display: grid; grid-template-columns: 180px 1fr; gap: 30px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.epk-tech-row span { font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.epk-tech-row strong { font-weight: 400; }

.epk-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.epk-social {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-width: 190px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line-strong);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.epk-final {
  background: var(--dark);
  color: var(--paper);
}
.epk-final-inner {
  min-height: 430px;
  padding: var(--section) 0 58px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: 50px;
}
.epk-final p { max-width: 510px; color: #c8c5bd; }
.epk-final-actions { justify-self: end; display: flex; gap: 12px; flex-wrap: wrap; }
.epk-final .button:not(.button-dark) { border-color: var(--paper); color: var(--paper); }
.epk-final .button-dark { background: var(--paper); color: var(--ink); border-color: var(--paper); }

@media (max-width: 1000px) {
  .epk-hero { grid-template-columns: 1fr; padding-top: 76px; }
  .epk-hero-copy { min-height: 54svh; }
  .epk-hero-media { min-height: 50svh; margin: 0; clip-path: polygon(0 8%,100% 0,100% 100%,0 100%); }
  .epk-quickfacts { grid-template-columns: 1fr 1fr; }
  .epk-fact:nth-child(2) { border-right: 0; }
  .epk-fact { border-bottom: 1px solid var(--line); }
  .epk-intro-grid,
  .epk-booking-grid,
  .epk-tech-grid,
  .epk-fit-grid { grid-template-columns: 1fr; }
  .epk-copy { justify-self: start; }
  .epk-highlights { grid-template-columns: 1fr 1fr; }
  .epk-highlight:nth-child(2) { border-right: 0; }
  .epk-highlight { border-bottom: 1px solid var(--line); }
  .epk-sound { grid-template-columns: 1fr; }
  .epk-sound-visual { min-height: 55svh; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .epk-final-inner { grid-template-columns: 1fr; }
  .epk-final-actions { justify-self: start; }
}

@media (max-width: 760px) {
  .epk-name { font-size: clamp(64px,19vw,96px); }
  .epk-meta { grid-template-columns: 1fr; }
  .epk-meta div { border-right: 0; border-bottom: 1px solid var(--line); margin-right: 0; padding: 13px 0; }
  .epk-meta div:last-child { border-bottom: 0; }
  .epk-actions { align-items: flex-start; flex-direction: column; }
  .epk-quickfacts { grid-template-columns: 1fr; }
  .epk-fact { border-right: 0; }
  .epk-highlights { grid-template-columns: 1fr; }
  .epk-highlight { border-right: 0; }
  .epk-fit-row,
  .epk-tech-row { grid-template-columns: 1fr; gap: 8px; }
  .epk-media-head { align-items: flex-start; flex-direction: column; }
  .epk-media-note { text-align: left; }
  .epk-media-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .epk-media-grid .portrait,
  .epk-media-grid .landscape,
  .epk-media-grid .live { grid-row: auto; min-height: 52svh; }
  .epk-pressbar { grid-template-columns: 1fr; align-items: start; }
  .epk-final-actions { flex-direction: column; width: 100%; }
  .epk-final-actions .button { width: 100%; }
}
