.audience-section{
  position:relative;
  z-index:1;
  padding:clamp(84px,9vw,128px) 0;
  color:#f3eee7;
  overflow:hidden;
}

.audience-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(920px,90vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,89,105,.38),transparent);
}

.audience-content{position:relative}

.audience-heading{
  max-width:780px;
  margin:0 auto;
  text-align:center;
}

.audience-heading .section-label{
  margin-bottom:14px;
  color:#ff8995;
}

.audience-heading h2{
  color:#fff;
  font:600 clamp(2rem,3.5vw,3.35rem)/1.06 var(--display);
  letter-spacing:-.045em;
  text-wrap:balance;
}

.audience-heading>p:last-child{
  max-width:680px;
  margin:20px auto 0;
  color:rgba(243,238,231,.66);
  font-size:clamp(.94rem,1.2vw,1.03rem);
  line-height:1.7;
}

.audience-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:44px;
}

.audience-card{
  position:relative;
  min-height:210px;
  padding:25px 24px 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
}

.audience-card::after{
  content:"";
  position:absolute;
  right:-45px;
  bottom:-55px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(191,22,40,.12);
  filter:blur(28px);
  pointer-events:none;
}

.audience-icon{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  margin-bottom:25px;
  border:1px solid rgba(255,89,105,.34);
  border-radius:8px;
  background:rgba(191,22,40,.09);
  color:#ff8995;
}

.audience-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.65;
}

.audience-card h3{
  color:#fff;
  font:600 1.08rem/1.25 var(--display);
  letter-spacing:-.018em;
}

.audience-card p{
  margin-top:9px;
  color:rgba(243,238,231,.6);
  font-size:.84rem;
  line-height:1.62;
}

.audience-action{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:36px;
  margin-top:18px;
  padding:25px 26px;
  border:1px solid rgba(255,89,105,.2);
  border-radius:10px;
  background:linear-gradient(100deg,rgba(191,22,40,.13),rgba(255,255,255,.018));
}

.audience-action p{
  max-width:700px;
  color:rgba(243,238,231,.78);
  font:500 .94rem/1.6 var(--display);
}

.audience-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:#bf1628;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(191,22,40,.2);
}

.audience-cta:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

.audience-cta span{font-size:1.1rem}

@media(max-width:900px){
  .audience-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audience-action{grid-template-columns:1fr;gap:20px}
  .audience-cta{width:max-content}
}

@media(max-width:560px){
  .audience-section{padding-block:72px!important}
  .audience-heading h2{font-size:clamp(1.85rem,8vw,2.35rem)!important}
  .audience-heading>p:last-child{font-size:.9rem}
  .audience-cards{grid-template-columns:1fr;gap:10px;margin-top:32px}
  .audience-card{display:grid;grid-template-columns:40px 1fr;column-gap:15px;min-height:0;padding:20px}
  .audience-icon{grid-row:1/3;width:38px;height:38px;margin:0}
  .audience-card h3{align-self:end;font-size:1rem}
  .audience-card p{grid-column:2;margin-top:5px;font-size:.8rem}
  .audience-action{margin-top:12px;padding:21px 20px}
  .audience-action p{font-size:.88rem}
  .audience-cta{width:100%;white-space:normal;text-align:center}
}
