.performance-site #audience.audience-section { background: #f5f5f1; color: #171815; padding: clamp(64px,7vw,104px) 24px; }
.audience-shell { max-width: 1232px; margin-inline: auto; }
.audience-header { display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: end; margin-bottom: 40px; }
.performance-site .audience-header .design-script { display: inline-block; transform-origin: left bottom; margin-bottom: 24px; }
.performance-site #audience-heading { font-size: clamp(32px,3.7vw,54px); margin: 0; }
#audience-heading span { color: #b54707; }
.audience-header > p { color: #60615d; font-size: 16px; line-height: 1.75; margin: 0; max-width: 400px; }
.audience-profiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #dcdcd4; background: #fff; }
.audience-profile { padding: 28px; display: flex; flex-direction: column; min-width: 0; }
.audience-profile + .audience-profile { border-left: 1px solid #dcdcd4; }
.audience-identity { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.audience-identity img { width: 72px; height: 80px; object-fit: cover; object-position: center 25%; flex-shrink: 0; }
.audience-number { font-size: 9px; font-weight: 700; letter-spacing: .09em; color: #ad4408; }
.performance-site .audience-identity h3 { font-size: 21px; line-height: 1.15; letter-spacing: -.025em; margin: 8px 0 0; }
.performance-site .audience-profile h4 { font-size: 25px; line-height: 1.15; font-weight: 700; margin: 0 0 14px; }
.audience-problem,.audience-need p { font-size: 14px; line-height: 1.75; color: #60615d; margin: 0; }
.audience-problem { margin-bottom: 24px; }
.audience-need { border-top: 1px solid #deded8; padding-top: 16px; margin-top: auto; }
.audience-need > span,.audience-note-label { font-size: 9px; font-weight: 700; letter-spacing: .1em; color: #ad4408; }
.audience-need p { color: #363930; margin-top: 8px; }
.audience-bottom { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 28px; }
.audience-bottom > div { max-width: 650px; }
.audience-note-label { margin: 0 0 8px; }
.audience-bottom > div > p:last-child { font-size: 13px; line-height: 1.7; color: #60615d; margin: 0; }
.audience-cta { display: inline-flex; align-items: center; justify-content: space-between; padding: 20px 24px; gap: 28px; text-decoration: none; flex-shrink: 0; }
.audience-cta span { font-size: 22px; line-height: 1; }
@media(max-width: 1023px) { .audience-profile { padding: 20px; } .audience-identity { align-items: start; flex-direction: column; } .audience-header { gap: 32px; } .audience-bottom { gap: 24px; } }
@media(max-width: 767px) {
 .audience-header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
 .audience-header > p { font-size: 14px; }
 .audience-profiles { grid-template-columns: 1fr; }
 .audience-profile { padding: 24px 20px; }
 .audience-profile + .audience-profile { border-left: 0; border-top: 1px solid #dcdcd4; }
 .audience-identity { flex-direction: row; align-items: center; margin-bottom: 20px; }
 .audience-identity img { width: 56px; height: 64px; }
 .performance-site .audience-identity h3 { font-size: 20px; }
 .performance-site .audience-profile h4 { font-size: 23px; }
 .audience-bottom { flex-direction: column; align-items: stretch; }
 .audience-cta { gap: 12px; padding-inline: 16px; }
}

/* Compact section spacing on mobile. */
@media (max-width: 767px) {
 .performance-site #audience.audience-section { padding-block: 48px; }
}
