.fonte-project-audience,
.fonte-project-audience * { box-sizing: border-box; }
.fonte-project-audience { position: relative; z-index: 2; width: 100%; padding: 5.5rem var(--fonte-public-inline-gutter) 6.5rem; overflow: hidden; background: var(--fonte-web-white); }
.fonte-project-audience__inner { display: flex; width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; flex-direction: column; gap: clamp(1.75rem, 3.4vw, 2.75rem); }
.fonte-project-audience__header { display: flex; width: min(100%, 40rem); margin: 0 auto; flex-direction: column; align-items: center; gap: 0.875rem; text-align: center; }
.fonte-project-audience__heading-icon { display: inline-flex; width: 3.5rem; height: 3.5rem; flex: none; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); }
.fonte-project-audience__heading-icon svg { width: 1.625rem; height: 1.625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-project-audience h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-project-audience-heading-font-family); font-size: var(--fonte-project-audience-heading-font-size); font-weight: var(--fonte-project-audience-heading-font-weight); letter-spacing: var(--fonte-project-audience-heading-letter-spacing); line-height: var(--fonte-project-audience-heading-line-height); text-wrap: balance; }
.fonte-project-audience__header p { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-project-audience-lead-font-family); font-size: var(--fonte-project-audience-lead-font-size); font-weight: var(--fonte-project-audience-lead-font-weight); line-height: var(--fonte-project-audience-lead-line-height); text-wrap: pretty; }
.fonte-project-audience__header mark { position: relative; display: inline-block; isolation: isolate; background: transparent; color: inherit; }
.fonte-project-audience__header mark::after { position: absolute; z-index: -1; right: -2%; bottom: -0.125rem; left: -2%; height: 0.5625rem; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-highlight); content: ""; }
.fonte-project-audience__grid { display: grid; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 1.8vw, 1.625rem); scroll-margin-top: calc(var(--fonte-public-header-height) + 1rem); }
.fonte-project-audience__card { display: flex; min-width: 0; margin: 0; padding: 1.25rem; flex-direction: column; align-items: flex-start; gap: 0.625rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1.625rem; background: var(--fonte-web-white); color: inherit; cursor: pointer; font: inherit; text-align: left; }
.fonte-project-audience__icon { width: 2.5rem; height: 2.5rem; flex: none; align-self: flex-start; margin: 0; color: var(--fonte-web-accent); fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-project-audience__title { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-project-audience-title-font-family); font-size: var(--fonte-project-audience-title-font-size); font-weight: var(--fonte-project-audience-title-font-weight); line-height: var(--fonte-project-audience-title-line-height); }
.fonte-project-audience__description { display: none; }
@media (max-width: 68.75rem) {
    .fonte-project-audience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 40.001rem) and (max-width: 68.75rem) {
    .fonte-project-audience__card { padding: 1rem; }
    .fonte-project-audience__icon { width: 2rem; height: 2rem; }
}
@media (max-width: 40rem) {
    .fonte-project-audience { padding-block: 4rem 4.5rem; }
    .fonte-project-audience__header { align-items: flex-start; margin: 0; text-align: left; }
    .fonte-project-audience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; }
    .fonte-project-audience__card { padding: 1rem; gap: 0.75rem; }
    .fonte-project-audience__icon { width: 1.75rem; height: 1.75rem; }
}

.fonte-project-audience__card[aria-selected="true"] { border-color: var(--fonte-web-accent); background: var(--fonte-web-cream); box-shadow: inset 0 0 0 1px var(--fonte-web-accent); }
.fonte-project-audience__card:focus-visible { outline: 2px solid var(--fonte-web-accent); outline-offset: 3px; }
.fonte-project-audience__card { -webkit-tap-highlight-color: transparent; transition: transform 120ms ease; }
.fonte-project-audience__card:active { transform: scale(0.98); }
.fonte-project-audience .fonte-apartment-types__note:not([hidden]) { position: relative; display: flex; width: 100%; padding-bottom: clamp(1.25rem, 2.4vw, 2rem); scroll-margin-top: calc(var(--fonte-public-header-height) + 1rem); }
.fonte-project-audience .fonte-apartment-types__note::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: linear-gradient(to right, transparent, var(--fonte-web-line) 20%, var(--fonte-web-line) 80%, transparent); content: ""; }
.fonte-project-audience .fonte-apartment-types__note > span:first-child { display: none; }
@media (max-width: 23rem) {
    .fonte-project-audience__grid { grid-template-columns: minmax(0, 1fr); }
}

.fonte-project-audience .fonte-apartment-types__results { scroll-margin-top: calc(var(--fonte-public-header-height) + 1rem); }

@media (max-width: 40rem) {
    .fonte-project-audience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
    .fonte-project-audience__card { padding: 0.875rem; gap: 0.75rem; }
    .fonte-project-audience__title { min-width: 0; white-space: normal; overflow-wrap: normal; }
}
@media (max-width: 23rem) {
    .fonte-project-audience__grid { gap: 0.625rem; }
    .fonte-project-audience__card { padding: 0.75rem; }
}

@media (max-width: 40rem) {
    .fonte-project-audience__title { font-size: var(--fonte-type-public-base); line-height: 1.35; }
}
