.public-blog-detail-page,
.fonte-blog-detail,
.fonte-blog-detail * { box-sizing: border-box; }
.public-blog-detail-page { background: var(--fonte-web-white); }
.public-page--blog-detail .fonte-header-spacer { background: var(--fonte-web-white); }
.fonte-blog-detail { min-height: 70vh; padding: clamp(1.75rem, 5vh, 3.5rem) var(--fonte-public-inline-gutter) clamp(4rem, 8vh, 6.5rem); color: var(--fonte-web-ink); font-family: var(--fonte-font-public); }
.fonte-blog-detail__inner { display: flex; width: 100%; max-width: var(--fonte-public-content-max-width); margin-inline: auto; flex-direction: column; gap: 1.375rem; }
.fonte-blog-detail__back { display: inline-flex; align-self: flex-start; align-items: center; gap: 0.5rem; color: var(--fonte-web-ink-soft); font-size: var(--fonte-blog-detail-back-font-size); font-weight: var(--fonte-font-weight-regular); text-decoration: none; transition: color var(--fonte-hero-roll-color-transition); }
.fonte-blog-detail__back svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform var(--fonte-hero-icon-transition); }
.fonte-blog-detail__meta { display: flex; margin-top: 0.5rem; flex-wrap: wrap; align-items: center; gap: 0.875rem; color: var(--fonte-web-ink-soft); font-size: var(--fonte-blog-detail-meta-font-size); font-weight: var(--fonte-font-weight-regular); }
.fonte-blog-detail__meta[hidden] { display: none; }
.fonte-blog-detail__category { display: inline-flex; height: 2rem; padding-inline: 1rem; align-items: center; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-mint-soft); color: var(--fonte-brand-primary); font-size: var(--fonte-type-public-xs); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.12em; text-transform: uppercase; }
.fonte-blog-detail__header { display: flex; flex-direction: column; gap: 1.375rem; }
.fonte-blog-detail__header[hidden] { display: none; }
.fonte-blog-detail__header h1 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-blog-detail-heading-font-family); font-size: var(--fonte-blog-detail-heading-font-size); font-weight: var(--fonte-blog-detail-heading-font-weight); letter-spacing: var(--fonte-blog-detail-heading-letter-spacing); line-height: var(--fonte-blog-detail-heading-line-height); text-wrap: pretty; }
.fonte-blog-detail__header p { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-blog-detail-lead-font-family); font-size: var(--fonte-blog-detail-lead-font-size); font-weight: var(--fonte-blog-detail-lead-font-weight); line-height: var(--fonte-blog-detail-lead-line-height); text-wrap: pretty; }
.fonte-blog-detail__author { display: flex; margin-top: 0.625rem; padding-block: 1.375rem; align-items: center; gap: 1rem; border-top: var(--fonte-border-width) solid var(--fonte-web-line); border-bottom: var(--fonte-border-width) solid var(--fonte-web-line); }
.fonte-blog-detail__author[hidden] { display: none; }
.fonte-blog-detail__author-initials { display: inline-flex; width: 3.5rem; height: 3.5rem; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-cream); color: var(--fonte-web-ink); font-size: var(--fonte-type-public-md); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.04em; }
.fonte-blog-detail__author-copy { display: flex; min-width: 0; flex-direction: column; gap: 0.125rem; }
.fonte-blog-detail__author-copy strong { color: var(--fonte-web-ink); font-size: var(--fonte-blog-detail-author-name-font-size); font-weight: var(--fonte-blog-detail-author-name-font-weight); }
.fonte-blog-detail__author-copy small { color: var(--fonte-web-ink-soft); font-size: var(--fonte-blog-detail-author-description-font-size); font-weight: var(--fonte-blog-detail-author-description-font-weight); }
.fonte-blog-detail__cover { display: block; width: 100%; margin-top: 0.375rem; margin-bottom: var(--fonte-blog-detail-cover-bottom-space); aspect-ratio: 16 / 8.5; border-radius: var(--fonte-blog-detail-cover-radius); object-fit: cover; }
.fonte-blog-detail__cover[hidden] { display: none; }
.fonte-blog-detail__body { display: flex; flex-direction: column; gap: 1.375rem; color: var(--fonte-web-ink); font-size: var(--fonte-blog-detail-body-font-size); font-weight: var(--fonte-blog-detail-body-font-weight); line-height: var(--fonte-blog-detail-body-line-height); }
.fonte-blog-detail__body[hidden] { display: none; }
.fonte-blog-detail__body > :first-child { margin-top: 0; }
.fonte-blog-detail__body > :last-child { margin-bottom: 0; }
.fonte-blog-detail__body h2,
.fonte-blog-detail__body h3 { margin: 1.625rem 0 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-public); font-size: var(--fonte-blog-detail-content-heading-font-size); font-weight: var(--fonte-blog-detail-content-heading-font-weight); letter-spacing: var(--fonte-blog-detail-content-heading-letter-spacing); line-height: var(--fonte-blog-detail-content-heading-line-height); text-wrap: pretty; }
.fonte-blog-detail__body h3 { font-size: var(--fonte-type-public-2xl); }
.fonte-blog-detail__body p,
.fonte-blog-detail__body ul,
.fonte-blog-detail__body ol { margin: 0; text-wrap: pretty; }
.fonte-blog-detail__body ul,
.fonte-blog-detail__body ol { padding-left: 1.5em; }
.fonte-blog-detail__body a { color: var(--fonte-web-accent); text-decoration: underline; text-underline-offset: 0.2em; transition: opacity var(--fonte-motion-fast) var(--fonte-ease-standard); }
.fonte-blog-detail__body a:focus-visible { opacity: var(--fonte-blog-detail-link-hover-opacity); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-blog-detail__body a:hover { opacity: var(--fonte-blog-detail-link-hover-opacity); }
}
.fonte-blog-detail__body blockquote { margin: 0.875rem 0; padding: 1.625rem 1.875rem; border-left: 0.25rem solid var(--fonte-blog-detail-quote-border-color); border-radius: 0 var(--fonte-blog-detail-quote-radius) var(--fonte-blog-detail-quote-radius) 0; background: var(--fonte-web-mint-form); color: var(--fonte-web-ink); font-size: var(--fonte-blog-detail-quote-font-size); font-style: italic; font-weight: var(--fonte-blog-detail-quote-font-weight); line-height: var(--fonte-leading-relaxed); }
.fonte-blog-detail__body blockquote p { margin: 0; }
.fonte-blog-detail__body figure { display: flex; margin: 0.875rem 0 0; flex-direction: column; gap: 0.75rem; }
.fonte-blog-detail__body figure img,
.fonte-blog-detail__body > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: var(--fonte-blog-detail-cover-radius); object-fit: cover; }
.fonte-blog-detail__body img[data-blog-align="center"] { margin-inline: auto; }
.fonte-blog-detail__body img[data-blog-align="left"] { margin-right: auto; }
.fonte-blog-detail__body img[data-blog-align="right"] { margin-left: auto; }
.fonte-blog-detail__body figcaption { color: var(--fonte-web-ink-soft); font-size: var(--fonte-blog-detail-caption-font-size); font-weight: var(--fonte-blog-detail-caption-font-weight); text-align: center; }
.fonte-blog-detail__keywords { display: flex; margin-top: 0.875rem; padding-top: 1.625rem; flex-wrap: wrap; gap: 0.75rem; border-top: var(--fonte-border-width) solid var(--fonte-web-line); }
.fonte-blog-detail__keywords[hidden] { display: none; }
.fonte-blog-detail__keywords span { display: inline-flex; min-height: 2.375rem; padding-inline: 1.25rem; align-items: center; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-ink); font-size: var(--fonte-blog-detail-keyword-font-size); font-weight: var(--fonte-blog-detail-keyword-font-weight); white-space: nowrap; }
.fonte-blog-detail__apartments-cta { display: flex; margin-top: 1rem; padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.5rem); flex-direction: column; align-items: center; gap: 0.875rem; border-radius: var(--fonte-blog-detail-cta-radius); background: var(--fonte-web-mint-form); text-align: center; }
.fonte-blog-detail__apartments-cta[hidden] { display: none; }
.fonte-blog-detail__apartments-cta-icon { display: inline-flex; width: 2.75rem; height: 2.75rem; 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-blog-detail__apartments-cta-icon svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-blog-detail__apartments-cta h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-public); font-size: var(--fonte-blog-detail-cta-heading-font-size); font-weight: var(--fonte-blog-detail-cta-heading-font-weight); line-height: 1.15; }
.fonte-blog-detail__apartments-cta p { max-width: 44ch; margin: 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-blog-detail-cta-copy-font-size); font-weight: var(--fonte-blog-detail-cta-copy-font-weight); line-height: var(--fonte-leading-relaxed); text-wrap: pretty; }
.fonte-blog-detail__apartments-cta-actions { display: flex; margin-top: 0.375rem; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
.fonte-blog-detail__apartments-cta-actions .fonte-button { --fonte-button-hover-background: var(--fonte-web-ink); --fonte-button-hover-color: var(--fonte-web-white); --fonte-button-font-size: var(--fonte-blog-detail-cta-button-font-size); height: var(--fonte-blog-detail-cta-button-height); padding-inline: 1.875rem; }
.fonte-blog-detail__apartments-cta-actions .fonte-button--filled { --fonte-button-background: var(--fonte-web-action); --fonte-button-color: var(--fonte-web-white); }
.fonte-blog-detail__apartments-cta-actions .fonte-button--outline { --fonte-button-border-color: var(--fonte-web-ink); --fonte-button-color: var(--fonte-web-ink); }
.fonte-blog-detail__state { margin: 0.5rem 0 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-md); }
.fonte-blog-detail__state[hidden] { display: none; }
.fonte-blog-related { position: relative; z-index: 3; padding: 0 var(--fonte-public-inline-gutter) clamp(4.5rem, 9vh, 6.875rem); background: var(--fonte-web-white); font-family: var(--fonte-font-public); }
.fonte-blog-related[hidden] { display: none; }
.fonte-blog-related__inner { display: flex; width: 100%; max-width: var(--fonte-public-content-max-width); margin-inline: auto; flex-direction: column; gap: clamp(1.25rem, 2.4vw, 1.875rem); }
.fonte-blog-related__inner > h2 { margin: 0; color: var(--fonte-web-ink); font-size: var(--fonte-blog-related-heading-font-size); font-weight: var(--fonte-font-weight-bold); letter-spacing: -0.015em; line-height: var(--fonte-leading-tight); }
.fonte-blog-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.875rem, 1.8vw, 1.375rem); }
.fonte-blog-related-card { display: flex; min-width: 0; padding: 0.875rem; flex-direction: column; border: var(--fonte-border-width) solid transparent; border-radius: var(--fonte-blog-detail-cta-radius); background: transparent; transition: transform var(--fonte-token-transition); }
.fonte-blog-related-card__media { display: block; overflow: hidden; border-radius: 1.125rem; color: inherit; text-decoration: none; }
.fonte-blog-related-card__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform var(--fonte-gallery-image-transition); }
.fonte-blog-related-card__content { display: flex; padding: 1rem 0.625rem 0.75rem; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 0.625rem; }
.fonte-blog-related-card__meta { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.fonte-blog-related-card__meta span { display: inline-flex; min-height: 1.75rem; padding-inline: 0.8125rem; align-items: center; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-mint-soft); 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-related-card__meta time { color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-md); font-weight: var(--fonte-font-weight-regular); }
.fonte-blog-related-card h3 { margin: 0; color: var(--fonte-web-ink); font-size: var(--fonte-blog-related-card-title-font-size); font-weight: var(--fonte-font-weight-bold); letter-spacing: -0.01em; line-height: var(--fonte-leading-snug); text-wrap: pretty; }
.fonte-blog-related-card h3 a { color: inherit; text-decoration: none; }
.fonte-blog-related-card__action { display: inline-flex; margin-top: auto; padding-top: 0.25rem; align-items: center; gap: 0.5rem; color: var(--fonte-web-action); font-size: var(--fonte-blog-related-card-action-font-size); font-weight: var(--fonte-font-weight-bold); text-decoration: none; }
.fonte-blog-related-card__action 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); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
    .fonte-blog-detail__back:hover { color: var(--fonte-web-action); }
    .fonte-blog-detail__back:hover svg { transform: translateX(-0.1875rem); }
    .fonte-blog-related-card:hover { transform: translateY(-0.1875rem); }
    .fonte-blog-related-card:hover .fonte-blog-related-card__media img { transform: scale(1.025); }
    .fonte-blog-related-card__action:hover svg,
    .fonte-blog-related-card__action:focus-visible svg { transform: translateX(0.1875rem); }
}
@media (max-width: 47.5rem) {
    .fonte-blog-detail { padding-top: 0.875rem; }
    .fonte-blog-detail__back { gap: 0.375rem; font-size: var(--fonte-type-public-xs); }
    .fonte-blog-detail__back svg { width: 0.875rem; height: 0.875rem; }
    .fonte-blog-detail__meta { display: grid; grid-template-columns: repeat(3, max-content); gap: 0.5rem; font-size: var(--fonte-type-public-sm); white-space: nowrap; }
    .fonte-blog-detail__category { grid-column: 1 / -1; justify-self: start; height: 1.75rem; padding-inline: 0.75rem; font-size: var(--fonte-type-public-xs); letter-spacing: 0.08em; }
    .fonte-blog-detail__header h1 { font-size: 1.875rem; }
    .fonte-blog-detail__header p { font-size: 1rem; line-height: 1.5; }
    .fonte-blog-detail__body { gap: 1.125rem; font-size: 1.0625rem; font-weight: var(--fonte-font-weight-regular); line-height: 1.7; }
    .fonte-blog-detail__body p,
    .fonte-blog-detail__body li { text-wrap: pretty; }
    .fonte-blog-detail__body li + li { margin-top: 0.5rem; }
    .fonte-blog-detail__body ul,
    .fonte-blog-detail__body ol { padding-left: 1.25rem; }
    .fonte-blog-detail__body h2 { margin-top: 1.25rem; font-size: 1.5rem; font-weight: var(--fonte-font-weight-bold); letter-spacing: -0.015em; line-height: 1.2; }
    .fonte-blog-detail__body h3 { margin-top: 1rem; font-size: 1.25rem; font-weight: var(--fonte-font-weight-semibold); letter-spacing: -0.01em; line-height: 1.3; }
    .fonte-blog-detail__cover { aspect-ratio: 2 / 1; }
    .fonte-blog-detail__body img { width: 100% !important; margin-inline: 0 !important; }
    .fonte-blog-detail__apartments-cta { padding: 1.25rem 0.875rem; }
    .fonte-blog-detail__apartments-cta h2,
    .fonte-blog-related__inner > h2 { font-size: 1.875rem; }
    .fonte-blog-detail__apartments-cta p { font-size: 1rem; line-height: 1.5; }
    .fonte-blog-detail__apartments-cta-actions { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; }
    .fonte-blog-detail__apartments-cta-actions .fonte-button { width: 100%; min-width: 0; padding-inline: 0.625rem; white-space: nowrap; }
    .fonte-blog-related { padding-bottom: 3.125rem; overflow: hidden; }
    .fonte-blog-related__grid { --fonte-blog-related-mobile-gap: 1.5rem; display: flex; box-sizing: border-box; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); padding-left: var(--fonte-public-inline-gutter); gap: var(--fonte-blog-related-mobile-gap); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: var(--fonte-public-inline-gutter); scroll-snap-type: inline mandatory; scrollbar-width: none; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
    .fonte-blog-related__grid::-webkit-scrollbar { display: none; }
    .fonte-blog-related__grid::after { display: block; min-width: 0; height: 1px; flex: 0 0 var(--fonte-public-inline-gutter); margin-left: calc(-1 * var(--fonte-blog-related-mobile-gap)); content: ""; }
    .fonte-blog-related-card { height: auto; padding: 0; border: 0; flex: 0 0 75%; scroll-snap-align: start; }
    .fonte-blog-related-card__content { padding-inline: 0; }
    .fonte-blog-related-card__media,
    .fonte-blog-related-card__action { transition: scale 120ms ease; }
    .fonte-blog-related-card__media:active,
    .fonte-blog-related-card__action:active { scale: 0.97; }
}
@media (prefers-reduced-motion: reduce) {
    .fonte-blog-related-card,
    .fonte-blog-related-card__media img,
    .fonte-blog-related-card__action svg { transition: none; }
}
