.audience-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .55fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: center;
  padding-top: clamp(76px, 10vw, 135px);
  padding-bottom: clamp(76px, 10vw, 135px);
  background: var(--color-cream);
}
.audience-hero h1 { max-width: 970px; font-size: clamp(62px, 7.6vw, 116px); }
.audience-hero-copy > p:not(.section-label, .audience-price) { max-width: 720px; margin: 0; color: var(--color-muted); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.audience-price { margin: 24px 0 0; color: var(--color-muted); font-size: 13px; }
.audience-brief { padding: clamp(28px, 4vw, 44px); background: var(--color-ink); color: var(--color-cream); box-shadow: 14px 14px 0 var(--color-lime); }
.audience-brief > p { margin: 0 0 28px; color: var(--color-lime); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.audience-brief ul { margin: 0; padding: 0; list-style: none; }
.audience-brief li { position: relative; padding: 15px 0 15px 24px; border-top: 1px solid rgb(244 239 229 / 22%); font: 400 24px/1.15 var(--font-display); }
.audience-brief li::before { position: absolute; top: 23px; left: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--color-coral); content: ''; }
.audience-brief > span { display: block; margin-top: 30px; color: #c0c7b9; font-size: 13px; line-height: 1.55; }
.audience-essentials { padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--color-paper); }
.audience-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-line); border-left: 1px solid var(--color-line); }
.audience-feature-grid article { min-height: 250px; padding: 32px; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.audience-dot { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--color-coral-text); }
.audience-feature-grid h3, .audience-process-grid h3 { margin: 52px 0 12px; font: 400 31px/1.05 var(--font-display); }
.audience-feature-grid p, .audience-process-grid p { max-width: 340px; margin: 0; color: var(--color-muted); line-height: 1.65; }
.audience-proof { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: clamp(40px, 7vw, 100px); padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--color-ink); color: var(--color-cream); }
.audience-proof-copy { align-self: start; }
.audience-proof-copy h2 { margin: 28px 0; font-size: clamp(48px, 5.6vw, 82px); }
.audience-proof-copy > p:not(.section-label) { margin: 0 0 30px; color: #c0c7b9; line-height: 1.65; }
.audience-proof-copy .text-link { color: var(--color-cream); }
.audience-proof-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.audience-proof-grid:has(.audience-proof-card:only-child) { grid-template-columns: minmax(0, 620px); justify-content: end; }
.audience-proof-card { overflow: hidden; background: var(--color-cream); color: var(--color-ink); }
.audience-proof-card > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.audience-proof-card > div { padding: 26px; }
.audience-proof-card > div > p:first-child { margin: 0 0 18px; color: var(--color-coral-text); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.audience-proof-card h3 { margin: 0 0 12px; font: 400 32px/1.05 var(--font-display); }
.audience-proof-card h3 + p { margin: 0 0 20px; color: var(--color-muted); font-size: 14px; line-height: 1.6; }
.audience-fit { display: grid; grid-template-columns: 1.1fr 1fr 1fr; align-items: stretch; padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--color-cream); }
.audience-fit-heading { padding-right: clamp(30px, 6vw, 90px); }
.audience-fit-heading h2 { margin-top: 28px; font-size: clamp(44px, 5vw, 72px); }
.audience-fit article { padding: 34px; border: 1px solid var(--color-ink); }
.audience-fit-good { background: var(--color-lime); }
.audience-fit-custom { margin-left: -1px; background: var(--color-paper); }
.audience-fit h3 { margin: 0 0 26px; font: 400 30px/1.1 var(--font-display); }
.audience-fit ul { margin: 0; padding: 0; list-style: none; }
.audience-fit li { position: relative; padding: 13px 0 13px 22px; border-top: 1px solid rgb(23 32 24 / 25%); font-size: 14px; line-height: 1.5; }
.audience-fit li::before { position: absolute; top: 21px; left: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--color-coral-text); content: ''; }
.audience-fit .text-link { margin-top: 28px; }
.audience-process { padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--color-paper); }
.audience-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 34px; border-top: 1px solid var(--color-line); }
.audience-process-grid article { padding: 32px 32px 32px 0; }
.audience-process-grid article + article { padding-left: 32px; border-left: 1px solid var(--color-line); }
.audience-process-grid h3 { margin-top: 42px; }
.audience-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; padding-top: var(--section-space); padding-bottom: var(--section-space); background: var(--color-coral); color: var(--color-ink); }
.audience-cta h2 { margin-top: 28px; font-size: clamp(50px, 6vw, 90px); }
.audience-cta > div:last-child > p { max-width: 520px; margin: 0 0 30px; font-size: 18px; line-height: 1.65; }
.audience-cta .button:hover { background: var(--color-lime); }
@media (max-width: 900px) {
  .audience-hero, .audience-proof, .audience-fit, .audience-cta { grid-template-columns: 1fr; }
  .audience-brief { width: min(100%, 620px); }
  .audience-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .audience-proof-grid:has(.audience-proof-card:only-child) { justify-content: start; }
  .audience-fit { gap: 0; }
  .audience-fit-heading { margin-bottom: 40px; }
  .audience-fit-custom { margin-top: -1px; margin-left: 0; }
}
@media (max-width: 600px) {
  .audience-hero { gap: 48px; padding-top: 62px; padding-bottom: 80px; }
  .audience-hero h1 { font-size: clamp(52px, 15vw, 70px); }
  .audience-brief { box-shadow: 9px 9px 0 var(--color-lime); }
  .audience-feature-grid, .audience-proof-grid, .audience-process-grid { grid-template-columns: 1fr; }
  .audience-feature-grid article { min-height: 0; }
  .audience-process-grid article, .audience-process-grid article + article { padding: 28px 0; border-bottom: 1px solid var(--color-line); border-left: 0; }
  .audience-process-grid h3 { margin-top: 28px; }
  .audience-cta { gap: 34px; }
  .audience-cta .button { width: 100%; }
}
