.audience-gateway { padding:64px 0 72px; background:#fff; scroll-margin-top:100px; }
.audience-heading { margin-bottom:28px; max-width:760px; }
.audience-heading h2 { font-size:clamp(26px,3vw,36px); line-height:1.2; letter-spacing:-.025em; font-weight:750; }
.audience-heading>p { color:#627069; margin-top:12px; line-height:1.7; }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.audience-card { padding:28px; border:1px solid #dce8e0; border-radius:16px; display:flex; flex-direction:column; align-items:flex-start; background:#fbfcfa; min-width:0; transition:box-shadow .2s,border-color .2s; }
.audience-card:hover { box-shadow:0 12px 35px #133b2510; border-color:#7ac69c; }
.audience-card-family { background:#edf8f1; border-color:#cae8d5; }
.audience-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#fff; color:#08794c; border:1px solid #dbece1; }
.audience-icon svg { width:22px; height:22px; }
.audience-card h3 { margin:20px 0 10px; font-weight:700; font-size:20px; line-height:1.4; letter-spacing:-.02em; }
.audience-card p { color:#52635a; font-size:15px; line-height:1.7; margin-bottom:24px; }
.audience-card-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; min-height:44px; padding:10px 0; font-weight:700; font-size:14px; color:#08794c; text-decoration:none; }
.audience-card-cta svg { flex-shrink:0; width:18px; height:18px; }
.audience-card:focus-visible { outline:3px solid #08794c; outline-offset:4px; border-radius:7px; }
@media(max-width:767px) {
  .audience-gateway { padding:38px 0 44px; }
  .audience-grid { grid-template-columns:1fr; gap:12px; }
  .audience-card { display:grid; grid-template-columns:38px 1fr; gap:0 14px; padding:20px; }
  .audience-icon { width:38px; height:38px; }
  .audience-card h3 { align-self:center; margin:0; font-size:18px; }
  .audience-card p,.audience-card-cta { grid-column:2; }
  .audience-card p { margin:10px 0 2px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .audience-card { transition:none; } }

.audience-card { color:#17243a; text-decoration:none; }
