/* Homepage audience decision point only. */
#who-its-for.home-audience {
  --audience-blue: #0b63e6;
  --audience-ink: #0d1b2a;
  --audience-copy: #52627b;
  --audience-line: #d6dfec;
  position: relative;
  isolation: isolate;
  padding: 5.5rem 0 4.5rem;
  background: #fff;
  color: var(--audience-ink);
  scroll-margin-top: 80px;
}
.home-audience::before,
.home-audience::after {
  content: "";
  position: absolute;
  top: 0;
  width: 220px;
  height: 150px;
  z-index: -1;
  background: radial-gradient(#0b63e62b 1px, transparent 1px) 0 0 / 18px 18px;
  pointer-events: none;
}
.home-audience::before { left: 0; mask-image: linear-gradient(135deg, #000, transparent 75%); }
.home-audience::after { right: 0; mask-image: linear-gradient(225deg, #000, transparent 75%); }
.home-audience__intro { margin-bottom: 2.5rem; }
.home-audience__intro h2 {
  max-width: 1050px;
  margin: 0 0 1.3rem;
  color: var(--audience-ink);
  font-size: clamp(2.5rem, 4.1vw, 4rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.home-audience__intro h2 span { display: block; color: var(--audience-blue); }
.home-audience__intro p { margin: 0; color: var(--audience-copy); font-size: 1.2rem; line-height: 1.6; }
.home-audience__paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.5rem; }
.home-audience__path { display: flex; flex-direction: column; min-width: 0; color: inherit; text-decoration: none; }
.home-audience__path:hover { color: inherit; }
.home-audience__path:focus-visible { outline: 3px solid var(--audience-blue); outline-offset: 8px; border-radius: 4px; }
.home-audience__image { position: relative; width: 100%; aspect-ratio: 1.55; overflow: hidden; background: #fff; }
.home-audience__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 80%, #fff); pointer-events: none; }
.home-audience__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; transition: transform .3s ease; }
.home-audience__image--educators img { width: 140%; max-width: none; margin-left: -40%; object-position: center 20%; }
.home-audience__path:hover .home-audience__image img,
.home-audience__path:focus-visible .home-audience__image img { transform: scale(1.025); }
.home-audience__copy { display: flex; flex-direction: column; flex: 1; padding-top: .55rem; }
.home-audience__copy h3 { margin: 0 0 .65rem; color: var(--audience-ink); font-size: clamp(1.5rem, 2.1vw, 1.9rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.home-audience__copy p { margin: 0 0 .8rem; color: var(--audience-copy); font-size: 1.1rem; line-height: 1.6; }
.home-audience__action { display: inline-flex; align-self: flex-start; align-items: center; gap: .8rem; min-height: 44px; margin-top: auto; color: var(--audience-blue); font-size: 1.1rem; font-weight: 600; line-height: 1.4; }
.home-audience__action i { flex-shrink: 0; transition: transform .18s ease; }
.home-audience__path:hover .home-audience__action,
.home-audience__path:focus-visible .home-audience__action { text-decoration: underline; text-underline-offset: .25em; }
.home-audience__path:hover .home-audience__action i,
.home-audience__path:focus-visible .home-audience__action i { transform: translateX(4px); }
.home-audience__upcoming { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.5rem; margin-top: 2.5rem; padding-top: 1.8rem; border-top: 1px solid var(--audience-line); }
.home-audience__upcoming > div { display: flex; flex-direction: column; align-items: flex-start; }
.home-audience__upcoming > div + div { border-left: 1px solid var(--audience-line); padding-left: 2rem; }
.home-audience__upcoming h3 { margin: 0 0 .5rem; color: var(--audience-ink); font-size: 1.05rem; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
.home-audience__upcoming p { margin: auto 0 0; color: var(--audience-copy); font-size: .95rem; line-height: 1.5; }
@media (max-width: 1199.98px) {
  .home-audience__paths, .home-audience__upcoming { gap: 2.5rem; }
  .home-audience__copy p { font-size: 1.05rem; }
  .home-audience__action { font-size: 1rem; }
}
@media (max-width: 991.98px) {
  #who-its-for.home-audience { padding: 4rem 0 3.5rem; }
  .home-audience__intro h2 { font-size: 2.9rem; }
  .home-audience__intro p { font-size: 1.1rem; }
  .home-audience__paths, .home-audience__upcoming { gap: 1.75rem; }
  .home-audience__copy h3 { font-size: 1.4rem; }
  .home-audience__copy p { font-size: 1rem; }
  .home-audience__upcoming > div + div { padding-left: 1.5rem; }
}
@media (max-width: 767.98px) {
  .home-audience__paths { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-audience__image { aspect-ratio: 1.55; }
  .home-audience__copy h3 { font-size: 1.65rem; }
  .home-audience__copy p { font-size: 1.05rem; }
  .home-audience__action { font-size: 1.05rem; }
  .home-audience__upcoming { gap: 1rem; }
  .home-audience__upcoming > div + div { padding-left: 1rem; }
}
@media (max-width: 575.98px) {
  .home-audience .container { padding-left: 24px; padding-right: 24px; }
  #who-its-for.home-audience { padding: 3.5rem 0 3rem; }
  .home-audience__intro { margin-bottom: 1.8rem; }
  .home-audience__intro h2 { font-size: 2.45rem; }
  .home-audience__intro p { font-size: 1.05rem; }
  .home-audience__paths { gap: 2rem; }
  .home-audience__copy h3 { font-size: 1.55rem; }
  .home-audience__copy p, .home-audience__action { font-size: 1rem; }
  .home-audience__upcoming { margin-top: 2rem; padding-top: 1.5rem; }
  .home-audience__upcoming h3 { font-size: .95rem; }
  .home-audience__upcoming p { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-audience__image img, .home-audience__action i { transition: none; }
  .home-audience__path:hover .home-audience__image img,
  .home-audience__path:focus-visible .home-audience__image img { transform: none; }
}
