.fonte-blog-index,
.fonte-blog-index * { box-sizing: border-box; }
.fonte-blog-index { position: relative; z-index: 3; margin-top: -2.5rem; padding: 8rem var(--fonte-public-inline-gutter) 6.875rem; background: var(--fonte-web-white); }
.fonte-blog-index__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-blog-index__header { display: flex; max-width: 38.75rem; flex-direction: column; align-items: flex-start; gap: 0.625rem; text-align: left; }
.fonte-blog-index__header h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-blog-index-heading-font-family); font-size: var(--fonte-blog-index-heading-font-size); font-weight: var(--fonte-blog-index-heading-font-weight); letter-spacing: var(--fonte-blog-index-heading-letter-spacing); line-height: var(--fonte-blog-index-heading-line-height); }
.fonte-blog-index__header p { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-blog-index-copy-font-family); font-size: var(--fonte-blog-index-copy-font-size); font-weight: var(--fonte-blog-index-copy-font-weight); line-height: var(--fonte-blog-index-copy-line-height); text-wrap: pretty; }
.fonte-blog-categories { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: 0.625rem; overflow: visible; }
.fonte-blog-categories::-webkit-scrollbar { display: none; }
.fonte-blog-categories button { position: relative; display: inline-flex; flex: 0 0 auto; height: 2.875rem; padding: 0 1.25rem; overflow: hidden; isolation: isolate; align-items: center; gap: 0.5625rem; border: var(--fonte-border-width) solid var(--fonte-blog-category-border-color); border-radius: var(--fonte-token-radius-pill); background: transparent; color: var(--fonte-blog-category-color); cursor: pointer; font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-md); font-weight: var(--fonte-font-weight-bold); white-space: nowrap; transition: border-color var(--fonte-hero-roll-color-transition), color var(--fonte-hero-roll-color-transition); }
.fonte-blog-categories button::before { position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: var(--fonte-blog-category-active-background); content: ""; transform: translateY(101%); transition: transform var(--fonte-action-roll-transition); pointer-events: none; }
.fonte-blog-categories button > * { position: relative; z-index: 1; }
.fonte-blog-categories [data-blog-category-icon] { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; line-height: 1; }
.fonte-blog-categories button svg { display: block; width: 1.0625rem; height: 1.0625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-blog-categories button[data-blog-category-theme="coral"] { --fonte-blog-category-border-color: var(--fonte-web-accent); --fonte-blog-category-color: var(--fonte-web-accent); --fonte-blog-category-active-background: var(--fonte-web-accent); }
.fonte-blog-categories button[data-blog-category-theme="ink"] { --fonte-blog-category-border-color: var(--fonte-web-ink); --fonte-blog-category-color: var(--fonte-web-ink); --fonte-blog-category-active-background: var(--fonte-web-ink); }
.fonte-blog-categories button[data-blog-category-theme="muted"] { --fonte-blog-category-border-color: var(--fonte-web-ink-soft); --fonte-blog-category-color: var(--fonte-web-ink-soft); --fonte-blog-category-active-background: var(--fonte-web-ink-soft); }
.fonte-blog-categories button[data-blog-category-theme="mint"] { --fonte-blog-category-border-color: #4F9278; --fonte-blog-category-color: #376C59; --fonte-blog-category-active-background: #4F9278; }
.fonte-blog-categories button[data-blog-category-theme="teal"] { --fonte-blog-category-border-color: #267F82; --fonte-blog-category-color: #226D70; --fonte-blog-category-active-background: #267F82; }
.fonte-blog-categories button[data-blog-category-theme="gold"] { --fonte-blog-category-border-color: #A7751E; --fonte-blog-category-color: #8A6018; --fonte-blog-category-active-background: #A7751E; }
.fonte-blog-categories button[data-blog-category-theme="blue"] { --fonte-blog-category-border-color: #4777A8; --fonte-blog-category-color: #3B6590; --fonte-blog-category-active-background: #4777A8; }
.fonte-blog-categories button[data-blog-category-theme="plum"] { --fonte-blog-category-border-color: #855578; --fonte-blog-category-color: #704766; --fonte-blog-category-active-background: #855578; }
.fonte-blog-categories button[aria-pressed="true"] { outline: 0; background: var(--fonte-blog-category-active-background); color: var(--fonte-web-white); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
    .fonte-blog-categories button:hover,
    .fonte-blog-categories button:focus-visible { outline: 0; border-color: var(--fonte-blog-category-active-background); color: var(--fonte-web-white); }
    .fonte-blog-categories button:hover::before,
    .fonte-blog-categories button:focus-visible::before { transform: translateY(0); }
}
@media (hover: none), (max-width: 75rem) {
}
.fonte-blog-categories__state { margin: -1.5rem 0 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-sm); }
.fonte-blog-categories__state[hidden] { display: none; }
.fonte-blog-articles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 1.75rem); }
.fonte-blog-articles.is-refreshing { opacity: 0.58; transition: opacity 240ms ease; pointer-events: none; }
.fonte-blog-card { display: flex; min-width: 0; padding: 0.875rem; flex-direction: column; gap: 1rem; border: var(--fonte-border-width) solid transparent; border-radius: 1.75rem; background: var(--fonte-web-white); box-shadow: var(--fonte-blog-card-shadow); opacity: 0; transform: translateY(0.375rem); animation: fonte-blog-card-enter var(--fonte-blog-card-enter-duration) var(--fonte-blog-card-enter-easing) forwards; animation-delay: calc(var(--fonte-blog-card-index, 0) * var(--fonte-blog-card-enter-stagger)); transition: border-color var(--fonte-apartment-card-hover-transition), box-shadow var(--fonte-apartment-card-hover-transition), transform var(--fonte-apartment-card-hover-transition); }
.fonte-blog-card.is-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(1.125rem, 2.4vw, 2rem); background: var(--fonte-web-cream); }
.fonte-blog-card__media { position: relative; display: block; min-width: 0; overflow: hidden; border-radius: 1.125rem; color: inherit; text-decoration: none; }
.fonte-blog-card__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform var(--fonte-gallery-image-transition); }
.fonte-blog-card.is-featured .fonte-blog-card__media img { aspect-ratio: 16 / 9; max-height: 21.25rem; }
.fonte-blog-card__category { position: absolute; top: 0.875rem; left: 0.875rem; display: inline-flex; height: 1.875rem; padding: 0 0.875rem; align-items: center; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); font-size: var(--fonte-type-public-xs); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; }
.fonte-blog-card__content { display: flex; min-width: 0; padding: 0 0.625rem 0.875rem; flex-direction: column; align-items: flex-start; gap: 0.625rem; }
.fonte-blog-card__content time { color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-md); font-weight: var(--fonte-font-weight-semibold); letter-spacing: 0.08em; text-transform: uppercase; }
.fonte-blog-card__content h3 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-public); font-size: var(--fonte-blog-card-heading-font-size); font-weight: var(--fonte-font-weight-bold); line-height: var(--fonte-leading-tight); }
.fonte-blog-card:not(.is-featured) .fonte-blog-card__content h3 { display: -webkit-box; min-height: calc(2em * var(--fonte-leading-tight)); overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.fonte-blog-card.is-featured .fonte-blog-card__content h3 { font-size: var(--fonte-blog-card-featured-heading-font-size); line-height: 1.15; }
.fonte-blog-card__content p { margin: 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-xl); font-weight: var(--fonte-font-weight-light); line-height: 1.55; text-wrap: pretty; }
.fonte-blog-card__link { position: relative; display: inline-flex; margin-top: 0.375rem; align-items: center; gap: 0.5rem; color: var(--fonte-web-action); font-size: var(--fonte-type-public-xl); font-weight: var(--fonte-font-weight-bold); text-decoration: none; transition: color var(--fonte-hero-roll-color-transition), transform var(--fonte-apartment-card-hover-transition); }
.fonte-blog-card__link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform var(--fonte-hero-icon-transition); }
.fonte-blog-card.is-featured .fonte-blog-card__link { height: 3.125rem; margin-top: 0.625rem; padding: 0 1.5rem; overflow: hidden; isolation: isolate; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-action); color: var(--fonte-web-white); }
.fonte-blog-card.is-featured .fonte-blog-card__link::before { position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: var(--fonte-web-ink); content: ""; transform: translateY(101%); transition: transform var(--fonte-action-roll-transition); pointer-events: none; }
.fonte-blog-articles__state { margin: 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-lg); text-align: center; }
.fonte-blog-articles__state.is-empty { display: flex; min-height: clamp(13rem, 24vw, 17rem); padding: clamp(2rem, 5vw, 4rem); flex-direction: column; align-items: center; justify-content: center; gap: 1rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1.75rem; background: var(--fonte-web-cream); color: var(--fonte-web-ink); font-family: var(--fonte-font-display); font-size: clamp(1.5rem, 2.4vw, 2.125rem); line-height: var(--fonte-leading-tight); text-wrap: balance; }
.fonte-blog-articles__empty-icon { display: inline-flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-accent); }
.fonte-blog-articles__empty-icon[hidden] { display: none; }
.fonte-blog-articles__empty-icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-blog-index.is-empty .fonte-blog-categories,
.fonte-blog-index.is-empty .fonte-blog-categories__state { display: none; }
.fonte-blog-articles__state[hidden], .fonte-blog-articles__more[hidden] { display: none; }
.fonte-blog-articles__more { display: flex; justify-content: center; }
.fonte-blog-articles__load { --fonte-button-border-color: var(--fonte-web-ink); --fonte-button-color: var(--fonte-web-ink); --fonte-button-hover-background: var(--fonte-web-ink); --fonte-button-hover-color: var(--fonte-web-white); height: 3.5rem; padding-inline: 1.875rem; cursor: pointer; }
.fonte-blog-articles__load svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-blog-articles__load:disabled { cursor: wait; opacity: 0.65; }
@keyframes fonte-blog-card-enter { to { opacity: 1; transform: translateY(0); } }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
    .fonte-blog-card:hover { box-shadow: var(--fonte-blog-card-hover-shadow); transform: translateY(-0.1875rem); }
    .fonte-blog-card:hover .fonte-blog-card__media img { transform: scale(1.025); }
    .fonte-blog-card:not(.is-featured) .fonte-blog-card__link:hover { transform: translateY(-0.1875rem); }
    .fonte-blog-card.is-featured .fonte-blog-card__link:hover::before,
    .fonte-blog-card.is-featured .fonte-blog-card__link:focus-visible::before { transform: translateY(0); }
    .fonte-blog-card__link:hover svg,
    .fonte-blog-card__link:focus-visible svg { transform: translateX(0.1875rem); }
}
@media (max-width: 50rem) {
    .fonte-blog-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
    .fonte-blog-categories button { width: 100%; min-width: 0; height: auto; min-height: 2.875rem; padding: 0.625rem 0.75rem; justify-content: center; gap: 0.5rem; white-space: normal; overflow-wrap: anywhere; }
    .fonte-blog-categories button svg { flex-shrink: 0; }
}
@media (max-width: 53.75rem) {
    .fonte-blog-index { padding-block: 6.5rem 5rem; }
    .fonte-blog-card.is-featured { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
    .public-blog .fonte-page-hero { padding-block: 3.125rem; }
    .public-blog .fonte-page-hero h1 { font-size: 1.875rem; }
    .public-blog .fonte-page-hero__content > p { font-size: 1rem; line-height: 1.5; }
    .fonte-blog-index { margin-top: -1.5rem; padding-block: 3.125rem; }
    .fonte-blog-index__header h2 { font-size: 1.875rem; }
    .fonte-blog-index__header p { font-size: 1rem; line-height: 1.5; }
    .fonte-blog-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-inline: 0; padding-inline: 0; flex-wrap: wrap; overflow: visible; mask-image: none; -webkit-mask-image: none; }
    .fonte-blog-categories button { min-width: 0; max-width: 100%; height: auto !important; padding-block: 0.625rem !important; white-space: normal; overflow-wrap: anywhere; }
    .fonte-blog-articles { grid-template-columns: 1fr; }
    .fonte-blog-card,
    .fonte-blog-card.is-featured { grid-column: auto; display: flex; padding: 0.75rem; flex-direction: column; gap: 0.875rem; border-radius: 1.375rem; }
    .fonte-blog-card__media img,
    .fonte-blog-card.is-featured .fonte-blog-card__media img { max-height: none; aspect-ratio: 2 / 1; }
    .fonte-blog-card__media { border-radius: 0.875rem; }
    .fonte-blog-card__category { top: 0.75rem; left: 0.75rem; height: 1.5rem; padding-inline: 0.625rem; font-size: 0.625rem; letter-spacing: 0.08em; }
    .fonte-blog-card__content { padding: 0 0.375rem 0.625rem; gap: 0.5rem; }
    .fonte-blog-card:not(.is-featured) .fonte-blog-card__content h3 { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; line-clamp: unset; }
    .fonte-blog-card.is-featured .fonte-blog-card__content h3,
    .fonte-blog-card__content h3 { font-size: var(--fonte-blog-card-mobile-heading-font-size); line-height: var(--fonte-leading-tight); }
    .fonte-blog-card__content time { font-size: var(--fonte-type-public-xs); }
    .fonte-blog-card__content p { display: -webkit-box; overflow: hidden; font-size: 1rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
    .fonte-blog-card.is-featured .fonte-blog-card__link { align-self: stretch; height: 3.125rem; padding-inline: 1.25rem; justify-content: center; font-size: 1rem; }
    .fonte-blog-card__media,
    .fonte-blog-card__link { transition: scale 120ms ease; }
    .fonte-blog-card__media:active,
    .fonte-blog-card__link:active { scale: 0.97; }
    .fonte-blog-articles__load { width: auto; padding-inline: 1.25rem; }
}
@media (max-width: 35rem) {
    .public-blog .fonte-page-hero__actions { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 0.625rem; }
    .public-blog .fonte-page-hero__actions .fonte-button { width: 100%; min-width: 0; height: 3.125rem; padding-inline: 0.625rem; gap: 0.375rem; font-size: 1rem; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    .fonte-blog-articles,
    .fonte-blog-card { opacity: 1; transform: none; animation: none; transition: none; }
}

/* Keep the viewport on the existing articles when a new batch is appended. */
.fonte-blog-index { overflow-anchor: none; }
.fonte-blog-card.is-appended { opacity: 1; transform: none; animation: none; }
