.audience-fit-page {
  overflow: hidden;
}

.audience-fit-page .section,
.audience-fit-page .section--major {
  position: relative;
}

.audience-fit-page .af-section-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.audience-fit-page .af-section-heading > * {
  min-width: 0;
  margin: 0;
}

.audience-fit-page .af-section-heading h2 {
  max-width: 42rem;
}

.audience-fit-page .af-section-heading p {
  max-width: 42.5rem;
}

.audience-fit-page .af-hero {
  padding-block-start: var(--space-10);
  background: radial-gradient(circle at 82% 45%, rgba(240, 42, 155, 0.16), transparent 31%);
}

.audience-fit-page .af-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-8);
  align-items: center;
}

.audience-fit-page .af-hero__content,
.audience-fit-page .af-hero__action,
.audience-fit-page .af-hero__media,
.audience-fit-page .af-verdict__card,
.audience-fit-page .af-motive-card,
.audience-fit-page .af-asks__grounded,
.audience-fit-page .af-asks__media,
.audience-fit-page .af-tone__panel,
.audience-fit-page .af-session__card,
.audience-fit-page .af-counter__card,
.audience-fit-page .af-route,
.audience-fit-page .af-independent__panel,
.audience-fit-page .af-final__panel,
.audience-fit-page .af-final__media {
  min-width: 0;
}

.audience-fit-page .af-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.audience-fit-page .af-hero__label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  color: var(--color-text-muted);
  font-size: var(--text-14);
}

.audience-fit-page .af-hero__label .eyebrow {
  margin: 0;
}

.audience-fit-page .af-hero h1,
.audience-fit-page .af-hero__lead,
.audience-fit-page .af-hero__action p {
  margin: 0;
}

.audience-fit-page .af-hero h1 {
  max-width: 40rem;
}

.audience-fit-page .af-hero__lead {
  max-width: 40rem;
  color: var(--color-text-secondary);
  font-size: var(--text-18);
  line-height: 1.56;
}

.audience-fit-page .af-hero__action {
  display: flex;
  width: min(100%, 28.75rem);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.audience-fit-page .af-hero__platform {
  color: var(--color-text-secondary);
}

.audience-fit-page .af-hero__platform .meta-label {
  margin: 0 0 var(--space-1);
}

.audience-fit-page .af-hero__media {
  width: calc(100% + 2rem);
  margin: 0 -2rem 0 0;
  border: 1px solid var(--color-violet-line);
  background: var(--color-indigo);
  box-shadow: var(--shadow-floating), var(--glow-magenta);
  clip-path: polygon(0 0, calc(100% - 0.625rem) 0, 100% 0.625rem, 100% 100%, 0.625rem 100%, 0 calc(100% - 0.625rem));
}

.audience-fit-page .af-hero__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: right center;
}

.audience-fit-page .af-hero__media figcaption {
  padding: var(--space-2) var(--space-3);
}

.audience-fit-page .af-verdict__heading {
  margin-bottom: var(--space-6);
}

.audience-fit-page .af-verdict__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.audience-fit-page .af-verdict__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-violet-line);
  background: var(--color-archive);
  clip-path: polygon(0 0, calc(100% - 0.625rem) 0, 100% 0.625rem, 100% 100%, 0.625rem 100%, 0 calc(100% - 0.625rem));
}

.audience-fit-page .af-verdict__card > * { margin: 0; }
.audience-fit-page .af-verdict__card p { max-width: 20.625rem; }
.audience-fit-page .af-verdict__card--fit { border-inline-start: 3px solid var(--color-magenta); }
.audience-fit-page .af-verdict__card--tactical { border-inline-start: 3px solid var(--color-cyan); }
.audience-fit-page .af-verdict__card--caveat { border-inline-start: 3px solid var(--color-magenta); background: var(--color-indigo); }

.audience-fit-page .af-home {
  background-image: linear-gradient(rgba(64, 51, 107, 0.16) 1px, transparent 1px), linear-gradient(90deg, rgba(64, 51, 107, 0.16) 1px, transparent 1px);
  background-size: 2rem 2rem;
}

.audience-fit-page .af-home::before {
  position: absolute;
  top: 4rem;
  left: 18%;
  width: 20rem;
  height: 20rem;
  background: radial-gradient(circle, rgba(240, 42, 155, 0.1), transparent 68%);
  content: "";
  pointer-events: none;
}

.audience-fit-page .af-home__heading { margin-bottom: var(--space-6); }
.audience-fit-page .af-home__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }

.audience-fit-page .af-motive-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-violet-line);
  background: var(--color-archive);
  clip-path: polygon(0 0, calc(100% - 0.625rem) 0, 100% 0.625rem, 100% 100%, 0.625rem 100%, 0 calc(100% - 0.625rem));
}

.audience-fit-page .af-motive-card > * { margin: 0; }
.audience-fit-page .af-motive-card p { max-width: 20rem; }
.audience-fit-page .af-motive-card--cyan { border-inline-start: 3px solid var(--color-cyan); }
.audience-fit-page .af-motive-card--indigo { border-color: var(--color-magenta); background: var(--color-indigo); }

.audience-fit-page .af-asks__heading { margin-bottom: var(--space-6); }
.audience-fit-page .af-asks__split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(2rem, 1fr) minmax(0, 6fr); align-items: stretch; }

.audience-fit-page .af-asks__grounded {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-violet-line);
  border-inline-start: 3px solid var(--color-cyan);
  background: var(--color-archive);
}

.audience-fit-page .af-asks__grounded > * { margin: 0; }
.audience-fit-page .af-asks__grounded p { max-width: 30rem; }
.audience-fit-page .af-asks__seam { min-width: 0; background: linear-gradient(180deg, var(--color-cyan), var(--color-magenta), var(--color-cyan)); box-shadow: var(--glow-magenta); }

.audience-fit-page .af-asks__media { position: relative; margin: 0; overflow: hidden; background: var(--color-indigo); }
.audience-fit-page .af-asks__media > img { width: 100%; min-height: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: right center; opacity: 0.68; }
.audience-fit-page .af-asks__media figcaption { position: absolute; right: var(--space-3); bottom: var(--space-2); left: var(--space-3); }

.audience-fit-page .af-asks__supernatural {
  position: absolute;
  right: var(--space-5);
  bottom: var(--space-5);
  left: var(--space-5);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  background: rgba(27, 22, 64, 0.94);
  border-inline-start: 3px solid var(--color-magenta);
}

.audience-fit-page .af-asks__supernatural > * { margin: 0; }
.audience-fit-page .af-asks__supernatural p { max-width: 30rem; }
.audience-fit-page .af-asks__callout { width: min(100%, 43.75rem); margin: var(--space-6) 0 0; }
.audience-fit-page .af-asks__callout h3 { margin-bottom: var(--space-2); }

.audience-fit-page .af-tone__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3fr); column-gap: var(--space-5); }
.audience-fit-page .af-tone__panel { grid-column: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding: var(--space-6); border: 1px solid var(--color-violet-line); border-top: 2px solid var(--color-magenta); background: var(--color-indigo); }
.audience-fit-page .af-tone__panel > * { margin: 0; }
.audience-fit-page .af-tone__lead { max-width: 42.5rem; font-size: var(--text-18); line-height: 1.56; }
.audience-fit-page .af-tone__rows { display: flex; width: 100%; flex-direction: column; gap: var(--space-4); }
.audience-fit-page .af-tone__row { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-violet-line); }
.audience-fit-page .af-tone__glyph { width: 2rem; color: var(--color-signal); font-family: var(--font-heading); font-size: var(--text-22); font-weight: 700; text-align: center; }
.audience-fit-page .af-tone__row--caution .af-tone__glyph { color: var(--color-magenta-bright); }
.audience-fit-page .af-tone__row h3, .audience-fit-page .af-tone__row p { margin: 0; }
.audience-fit-page .af-tone__row p { max-width: 37.5rem; }
.audience-fit-page .af-tone__row h3 { margin-bottom: var(--space-2); }
.audience-fit-page .af-tone__store { margin: 0; }
.audience-fit-page .af-tone__store p { margin: 0; max-width: 37.5rem; }
.audience-fit-page .af-tone__ornament { grid-column: 2; min-width: 0; background: radial-gradient(circle at 50% 40%, rgba(91, 231, 242, 0.13) 0 1px, transparent 2px), radial-gradient(circle at 50% 50%, transparent 24%, rgba(240, 42, 155, 0.12) 25% 25.5%, transparent 26%); background-size: 1.25rem 1.25rem, 100% 100%; }

.audience-fit-page .af-session__heading { margin-bottom: var(--space-6); }
.audience-fit-page .af-session__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); padding-bottom: var(--space-5); border-bottom: 1px solid transparent; border-image: linear-gradient(90deg, var(--color-cyan), var(--color-magenta), rgba(64, 51, 107, 0)) 1; }
.audience-fit-page .af-session__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-violet-line); background: var(--color-archive); }
.audience-fit-page .af-session__card > * { margin: 0; }
.audience-fit-page .af-session__card p { max-width: 19rem; }
.audience-fit-page .af-session__note { width: min(100%, 43.75rem); margin-top: var(--space-5); padding: var(--space-4) var(--space-5); border-inline-start: 3px solid var(--color-violet-line); background: rgba(17, 13, 32, 0.7); }
.audience-fit-page .af-session__note > * { margin: 0; }
.audience-fit-page .af-session__note .card__label { margin-bottom: var(--space-2); }

.audience-fit-page .af-counter__heading { margin-bottom: var(--space-6); }
.audience-fit-page .af-counter__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.audience-fit-page .af-counter__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-violet-line); border-top: 3px solid var(--color-magenta); background: var(--color-archive); }
.audience-fit-page .af-counter__card > * { margin: 0; }
.audience-fit-page .af-counter__card p { max-width: 20rem; }
.audience-fit-page .af-counter__card--cyan { border-top-color: var(--color-cyan); }
.audience-fit-page .af-counter__card--indigo { background: var(--color-indigo); }

.audience-fit-page .af-routes__heading { margin-bottom: var(--space-6); }
.audience-fit-page .af-routes__list { display: flex; flex-direction: column; gap: var(--space-3); }
.audience-fit-page .af-route { display: grid; grid-template-columns: minmax(3rem, 1fr) minmax(0, 8fr) minmax(0, 3fr); gap: var(--space-4); padding: var(--space-5) 0; border-top: 1px solid var(--color-violet-line); }
.audience-fit-page .af-route__number { min-width: 0; color: var(--color-violet-line); font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 700; line-height: 1; }
.audience-fit-page .af-route__content { min-width: 0; }
.audience-fit-page .af-route__content h3 { margin-bottom: var(--space-2); }
.audience-fit-page .af-route__content p { max-width: 38.75rem; margin: 0; }
.audience-fit-page .af-route__field { min-width: 0; background: linear-gradient(135deg, transparent 46%, rgba(91, 231, 242, 0.22) 47%, transparent 48%), linear-gradient(45deg, transparent 46%, rgba(240, 42, 155, 0.18) 47%, transparent 48%); background-size: 1.25rem 1.25rem; }

.audience-fit-page .af-independent__panel { width: min(100%, 51.5rem); padding: var(--space-5); border: 1px solid var(--color-violet-line); background: var(--color-archive); }
.audience-fit-page .af-independent__panel > * { margin: 0; }
.audience-fit-page .af-independent__panel .eyebrow { margin-bottom: var(--space-2); }
.audience-fit-page .af-independent__panel h2 { margin-bottom: var(--space-3); font-size: var(--text-28); }
.audience-fit-page .af-independent__panel p { max-width: 42.5rem; }

.audience-fit-page .af-final { background: radial-gradient(circle at 82% 50%, rgba(240, 42, 155, 0.14), transparent 32%); }
.audience-fit-page .af-final__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: stretch; }
.audience-fit-page .af-final__panel { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding: var(--space-6); border: 1px solid var(--color-violet-line); background: var(--color-archive); }
.audience-fit-page .af-final__panel > * { margin: 0; }
.audience-fit-page .af-final__checklist { display: flex; width: min(100%, 38.75rem); flex-direction: column; gap: var(--space-3); padding: 0; list-style: none; }
.audience-fit-page .af-final__checklist li { position: relative; min-width: 0; padding-inline-start: var(--space-5); color: var(--color-text-secondary); }
.audience-fit-page .af-final__checklist li::before { position: absolute; top: 0.62em; left: 0; width: 0.625rem; height: 0.625rem; background: var(--color-cyan); content: ""; }
.audience-fit-page .af-final__close { width: min(100%, 37.5rem); padding-inline-start: var(--space-4); border-inline-start: 3px solid var(--color-magenta); }
.audience-fit-page .af-final__close p { margin: 0; }
.audience-fit-page .af-final__action { display: flex; width: min(100%, 28.75rem); flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.audience-fit-page .af-final__action p { margin: 0; }
.audience-fit-page .af-final__media { margin: 0; background: var(--color-indigo); }
.audience-fit-page .af-final__media img { width: 100%; height: 100%; min-height: 26rem; object-fit: cover; object-position: right center; opacity: 0.75; }

@media (max-width: 61.24rem) {
  .audience-fit-page .af-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-5); }
  .audience-fit-page .af-hero__media { width: 100%; margin: 0; }
  .audience-fit-page .af-asks__split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  .audience-fit-page .af-asks__seam { display: none; }
  .audience-fit-page .af-asks__grounded { padding: var(--space-5); }
  .audience-fit-page .af-asks__supernatural { position: static; margin-top: calc(var(--space-6) * -1); }
  .audience-fit-page .af-asks__media > img { min-height: auto; }
  .audience-fit-page .af-tone__layout { grid-template-columns: minmax(0, 1fr); }
  .audience-fit-page .af-tone__ornament { display: none; }
  .audience-fit-page .af-tone__panel { grid-column: 1; }
  .audience-fit-page .af-final__layout { grid-template-columns: minmax(0, 1fr); }
  .audience-fit-page .af-final__media { display: none; }
}

@media (max-width: 57.49rem) {
  .audience-fit-page .af-verdict__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-fit-page .af-verdict__card:nth-child(3) { grid-column: 1 / -1; }
  .audience-fit-page .af-session__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-fit-page .af-session__card:nth-child(3) { grid-column: 1 / -1; }
  .audience-fit-page .af-session__card:nth-child(3) p { max-width: 37.5rem; }
  .audience-fit-page .af-route { grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr); }
  .audience-fit-page .af-route__field { display: none; }
}

@media (max-width: 51.24rem) {
  .audience-fit-page .af-home__grid,
  .audience-fit-page .af-counter__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 47.49rem) {
  .audience-fit-page .af-hero { padding-block-start: var(--space-9); }
  .audience-fit-page .af-hero__grid,
  .audience-fit-page .af-verdict__grid,
  .audience-fit-page .af-asks__split,
  .audience-fit-page .af-session__grid { grid-template-columns: minmax(0, 1fr); }
  .audience-fit-page .af-hero__content { gap: var(--space-4); }
  .audience-fit-page .af-hero h1 { font-size: clamp(2.25rem, 10vw, 2.75rem); }
  .audience-fit-page .af-hero__lead { font-size: var(--text-16); line-height: var(--leading-body); }
  .audience-fit-page .af-hero__action { width: 100%; }
  .audience-fit-page .af-hero__action .button, .audience-fit-page .af-final__action .button { width: 100%; min-height: 3rem; }
  .audience-fit-page .af-hero__media { order: 2; }
  .audience-fit-page .af-verdict__card:nth-child(3), .audience-fit-page .af-session__card:nth-child(3) { grid-column: auto; }
  .audience-fit-page .af-verdict__card p, .audience-fit-page .af-motive-card p, .audience-fit-page .af-session__card p, .audience-fit-page .af-counter__card p { max-width: none; }
  .audience-fit-page .af-asks__grounded { padding: var(--space-4); }
  .audience-fit-page .af-asks__media { display: flex; flex-direction: column; gap: var(--space-4); background: transparent; }
  .audience-fit-page .af-asks__media > img { aspect-ratio: 4 / 3; opacity: 0.84; }
  .audience-fit-page .af-asks__media figcaption { position: static; order: 2; margin: calc(var(--space-3) * -1) 0 0; }
  .audience-fit-page .af-asks__supernatural { position: static; order: 3; margin: 0; padding: var(--space-4); background: var(--color-indigo); }
  .audience-fit-page .af-asks__callout { width: 100%; }
  .audience-fit-page .af-tone__panel, .audience-fit-page .af-final__panel { padding: var(--space-4); }
  .audience-fit-page .af-tone__lead { font-size: var(--text-16); line-height: var(--leading-body); }
  .audience-fit-page .af-tone__row { grid-template-columns: 1.5rem minmax(0, 1fr); }
  .audience-fit-page .af-tone__glyph { width: 1.5rem; }
  .audience-fit-page .af-route { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .audience-fit-page .af-route__number { font-size: var(--text-28); }
  .audience-fit-page .af-route__content h3 a { display: inline-block; padding-block: var(--space-2); }
  .audience-fit-page .af-independent__panel { width: 100%; padding: var(--space-4); }
  .audience-fit-page .af-final__checklist, .audience-fit-page .af-final__close, .audience-fit-page .af-final__action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .audience-fit-page .button:hover { transform: none; }
}
