.fonte-gallery,
.fonte-gallery * { box-sizing: border-box; }
.fonte-gallery { position: relative; z-index: 8; width: 100%; padding: 6rem var(--fonte-public-inline-gutter) 6.875rem; overflow: hidden; background: var(--fonte-web-white); }
.fonte-gallery[hidden] { display: none; }
.fonte-gallery__inner { display: flex; flex-direction: column; gap: clamp(1.75rem, 3.4vw, 2.75rem); width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; }
.fonte-gallery__header { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; text-align: center; }
.fonte-gallery__heading { display: flex; flex-direction: column; align-items: center; gap: 0.875rem; max-width: 38.75rem; }
.fonte-gallery__icon { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); }
.fonte-gallery__icon svg { width: 1.625rem; height: 1.625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-gallery h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-gallery-heading-font-family); font-size: var(--fonte-gallery-heading-font-size); font-weight: var(--fonte-gallery-heading-font-weight); letter-spacing: var(--fonte-gallery-heading-letter-spacing); line-height: var(--fonte-gallery-heading-line-height); }
.fonte-gallery__heading p { max-width: 52ch; margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-gallery-copy-font-family); font-size: var(--fonte-gallery-copy-font-size); font-weight: var(--fonte-gallery-copy-font-weight); line-height: var(--fonte-gallery-copy-line-height); text-wrap: pretty; }
.fonte-gallery__cta { position: relative; display: inline-flex; align-items: center; gap: 0.75rem; height: 3.25rem; padding: 0.25rem 0.5rem 0.25rem 1.625rem; overflow: hidden; isolation: isolate; border: 0; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-ink); color: var(--fonte-web-white); font-family: var(--fonte-gallery-action-font-family); font-size: var(--fonte-gallery-action-font-size); font-weight: var(--fonte-gallery-action-font-weight); text-decoration: none; transition: color var(--fonte-hero-grow-color-transition); }
.fonte-gallery__cta i { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-action); color: var(--fonte-web-white); transition: background 1s ease, color 1s ease; }
.fonte-gallery__cta i::after { position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: var(--fonte-web-action); content: ""; transform: scale(1); transform-origin: 50% 50%; transition: transform var(--fonte-hero-grow-transition); pointer-events: none; }
.fonte-gallery__cta i svg { transition: transform var(--fonte-hero-icon-transition); }
.fonte-gallery__cta svg { width: 1.0625rem; height: 1.0625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-gallery__state { margin: 0; color: var(--fonte-web-ink-soft); font-family: var(--fonte-gallery-copy-font-family); text-align: center; }
.fonte-gallery__state[hidden] { display: none; }
.fonte-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 6.25rem; gap: 1rem; width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; }
.fonte-gallery-card { position: relative; display: block; min-width: 0; height: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 1.375rem; background: var(--fonte-web-line); cursor: pointer; text-align: left; }
.fonte-gallery-card__image,
.fonte-gallery-card__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.fonte-gallery-card__image { opacity: 0; object-fit: cover; transform: scale(1.01); transition: opacity var(--fonte-gallery-image-transition), transform var(--fonte-gallery-image-transition); }
.fonte-gallery-card__image.is-loaded { opacity: 1; }
.fonte-gallery-card__scrim { background: var(--fonte-gallery-card-scrim); opacity: 0.25; transition: opacity var(--fonte-gallery-hover-transition); pointer-events: none; }
.fonte-gallery-card__scrim::after { position: absolute; inset: 0; background: var(--fonte-gallery-card-scrim); content: ""; opacity: 0.75; transform: translateY(101%); transition: transform var(--fonte-action-roll-transition); }
.fonte-gallery-card__copy { position: absolute; z-index: 1; bottom: 1.375rem; left: 1.375rem; display: flex; flex-direction: column; gap: 0.25rem; opacity: 0; color: var(--fonte-web-white); transform: translateY(1rem); transition: opacity var(--fonte-gallery-hover-transition), transform var(--fonte-gallery-hover-transition); }
.fonte-gallery-card__copy strong { font-family: var(--fonte-gallery-card-font-family); font-size: var(--fonte-gallery-card-title-font-size); font-weight: var(--fonte-gallery-card-title-font-weight); }
.fonte-gallery-card__copy small { color: var(--fonte-web-white-72); font-family: var(--fonte-gallery-card-font-family); font-size: var(--fonte-gallery-card-meta-font-size); font-weight: var(--fonte-gallery-card-meta-font-weight); }
.fonte-gallery-card__arrow { position: absolute; z-index: 1; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: 2.375rem; height: 2.375rem; border: var(--fonte-border-width) solid var(--fonte-web-white-32); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white-16); color: var(--fonte-web-white); opacity: 0; transition: opacity var(--fonte-gallery-hover-transition), background var(--fonte-gallery-hover-transition); }
.fonte-gallery-card__arrow svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
    .fonte-gallery-card:hover .fonte-gallery-card__image,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__image { transform: scale(1.035); }
    .fonte-gallery-card:hover .fonte-gallery-card__scrim,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__scrim { opacity: 1; }
    .fonte-gallery-card:hover .fonte-gallery-card__scrim::after,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__scrim::after { transform: translateY(0); }
    .fonte-gallery-card:hover .fonte-gallery-card__copy,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__copy,
    .fonte-gallery-card:hover .fonte-gallery-card__arrow,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__arrow { opacity: 1; transform: translateY(0); }
    .fonte-gallery-card:hover .fonte-gallery-card__arrow,
    .fonte-gallery-card:focus-visible .fonte-gallery-card__arrow { background: var(--fonte-web-accent); }
}
.fonte-gallery__grid[data-count="3"] .fonte-gallery-card:nth-child(1) { grid-area: 1 / 1 / 5 / 7; }
.fonte-gallery__grid[data-count="3"] .fonte-gallery-card:nth-child(2) { grid-area: 1 / 7 / 3 / 13; }
.fonte-gallery__grid[data-count="3"] .fonte-gallery-card:nth-child(3) { grid-area: 3 / 7 / 5 / 13; }
.fonte-gallery__grid[data-count="4"] .fonte-gallery-card:nth-child(1) { grid-area: 1 / 1 / 4 / 7; }
.fonte-gallery__grid[data-count="4"] .fonte-gallery-card:nth-child(2) { grid-area: 1 / 7 / 4 / 13; }
.fonte-gallery__grid[data-count="4"] .fonte-gallery-card:nth-child(3) { grid-area: 4 / 1 / 7 / 7; }
.fonte-gallery__grid[data-count="4"] .fonte-gallery-card:nth-child(4) { grid-area: 4 / 7 / 7 / 13; }
.fonte-gallery__grid[data-count="5"] .fonte-gallery-card:nth-child(1),
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(1),
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(1) { grid-area: 1 / 1 / 5 / 7; }
.fonte-gallery__grid[data-count="5"] .fonte-gallery-card:nth-child(2),
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(2),
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(2) { grid-area: 1 / 7 / 3 / 13; }
.fonte-gallery__grid[data-count="5"] .fonte-gallery-card:nth-child(3),
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(3),
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(3) { grid-area: 3 / 7 / 5 / 13; }
.fonte-gallery__grid[data-count="5"] .fonte-gallery-card:nth-child(4) { grid-area: 5 / 1 / 8 / 7; }
.fonte-gallery__grid[data-count="5"] .fonte-gallery-card:nth-child(5) { grid-area: 5 / 7 / 8 / 13; }
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(4) { grid-area: 5 / 1 / 8 / 5; }
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(5) { grid-area: 5 / 5 / 8 / 9; }
.fonte-gallery__grid[data-count="6"] .fonte-gallery-card:nth-child(6) { grid-area: 5 / 9 / 8 / 13; }
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(4) { grid-area: 5 / 1 / 8 / 4; }
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(5) { grid-area: 5 / 4 / 8 / 7; }
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(6) { grid-area: 5 / 7 / 8 / 10; }
.fonte-gallery__grid[data-count="7"] .fonte-gallery-card:nth-child(7) { grid-area: 5 / 10 / 8 / 13; }
@media (max-width: 53.75rem) {
    .fonte-gallery { padding: 4.5rem var(--fonte-public-inline-gutter) 5rem; }
    .fonte-gallery__grid { grid-auto-rows: 5rem; gap: 0.75rem; }
}
@media (max-width: 47.5rem) {
    .fonte-gallery__header,
    .fonte-gallery__heading { align-items: flex-start; text-align: left; }
    .fonte-gallery__grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 11.25rem; }
    .fonte-gallery__grid[data-count] .fonte-gallery-card:nth-child(n) { grid-area: auto; }
    .fonte-gallery-card__copy { bottom: 1rem; left: 1rem; opacity: 1; transform: none; }
    .fonte-gallery-card__scrim { opacity: 0.7; }
    .fonte-gallery-card__scrim::after { display: none; }
    .fonte-gallery-card__arrow { top: 0.75rem; right: 0.75rem; opacity: 1; }
    .public-home .fonte-gallery__grid { display: flex; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); max-width: none; margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); padding-inline: var(--fonte-public-inline-gutter); gap: 0.875rem; overflow-x: auto; overflow-y: hidden; scroll-padding-inline: var(--fonte-public-inline-gutter); scroll-snap-type: inline mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
    .public-home .fonte-gallery__grid::-webkit-scrollbar { display: none; }
    .public-home .fonte-gallery__grid[data-count] .fonte-gallery-card:nth-child(n) { height: auto; flex: 0 0 75%; aspect-ratio: 4 / 3; scroll-snap-align: start; }
}
@media (max-width: 75rem), (hover: none), (pointer: coarse) {
    .fonte-gallery-card,
    .fonte-gallery__cta { transition: scale 120ms ease; }
    .fonte-gallery-card:active,
    .fonte-gallery__cta:active { scale: 0.97; }
}
@media (prefers-reduced-motion: reduce) {
    .fonte-gallery-card__image,
    .fonte-gallery-card__scrim,
    .fonte-gallery-card__scrim::after,
    .fonte-gallery-card__copy,
    .fonte-gallery-card__arrow,
    .fonte-gallery__cta,
    .fonte-gallery__cta i { transition: none; }
}


/*# sourceMappingURL=public-gallery.css.map*/