.fonte-contact-page,
.fonte-contact-page * { box-sizing: border-box; }
.fonte-contact-page { position: relative; z-index: 2; width: 100%; padding: 5rem var(--fonte-public-inline-gutter) clamp(4.5rem, 9vh, 7.5rem); background: var(--fonte-web-cream); }
.fonte-contact-page__inner { display: flex; width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; flex-direction: column; gap: clamp(1.875rem, 4vw, 3.25rem); }
.fonte-contact-page__header { display: flex; flex-direction: column; align-items: flex-start; gap: 0.875rem; }
.fonte-contact-page__header > span { 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-contact-page__header svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-contact-page h1 { max-width: 15ch; margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-contact-page-heading-font-family); font-size: var(--fonte-contact-page-heading-font-size); font-weight: var(--fonte-contact-page-heading-font-weight); letter-spacing: var(--fonte-contact-page-heading-letter-spacing); line-height: var(--fonte-contact-page-heading-line-height); text-wrap: pretty; }
.fonte-contact-page__content { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(17rem, .8fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: start; }
.fonte-contact-page__details { display: flex; min-width: 0; flex-direction: column; gap: clamp(1.25rem, 3vw, 2rem); }
.fonte-contact-page .fonte-contact__form { width: 100%; }
.fonte-contact-details { display: flex; min-width: 0; padding: clamp(1.75rem, 3vw, 2.5rem); flex-direction: column; align-items: flex-start; gap: .875rem; border: var(--fonte-border-width) solid var(--fonte-web-accent-38); border-radius: 26px; background: var(--fonte-web-white); color: var(--fonte-web-ink); }
.fonte-contact-details > svg { width: 1.75rem; height: 1.75rem; color: var(--fonte-web-accent); }
.fonte-contact-details svg { flex: none; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-contact-details h2 { margin: 0; font-family: var(--fonte-font-public); font-size: var(--fonte-type-public-2xl); font-weight: var(--fonte-font-weight-bold); line-height: var(--fonte-leading-tight); }
.fonte-contact-details > p { margin: 0; color: var(--fonte-web-ink-soft); font-size: var(--fonte-type-public-lg); font-weight: var(--fonte-font-weight-light); line-height: var(--fonte-leading-normal); }
.fonte-contact-details__links { display: flex; margin-top: .25rem; flex-direction: column; gap: .875rem; }
.fonte-contact-details__links a,
.fonte-contact-details__links p { display: flex; margin: 0; align-items: center; gap: .875rem; color: var(--fonte-web-ink); font-size: var(--fonte-type-public-lg); font-weight: var(--fonte-font-weight-regular); line-height: var(--fonte-leading-normal); text-decoration: none; }
.fonte-contact-details__links svg { width: 1.25rem; height: 1.25rem; color: var(--fonte-web-accent); }
.fonte-contact-details__links a { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .16em; transition: color var(--fonte-motion-fast) var(--fonte-ease-standard); }
.fonte-contact-details__links a:focus-visible { color: var(--fonte-web-accent); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-contact-details__links a:hover { color: var(--fonte-web-accent); }
}
@media (max-width: 62rem) {
    .fonte-contact-page__content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 40rem) {
    .fonte-contact-page { padding-block: 3.125rem; }
    .fonte-contact-page h1 { font-size: 1.875rem; }
    .fonte-contact-page .fonte-locality-map .fonte-locality__map-wrap { border-radius: 1.5rem; }
}

@media (min-width: 40.001rem) and (max-width: 75rem) {
    .fonte-contact-page h1 { max-width: 60%; }
}
