/* Galeria: portfolio first. Quiet header, big centered title, photos in a mosaic with their own proportions. */
.t-galeria .header-row { height: 84px; }
.t-galeria .brand { font-size: 1.25rem; letter-spacing: .02em; }
.t-galeria .nav { gap: 28px; font-size: .88rem; letter-spacing: .04em; }
.t-galeria .btn { border-radius: 2px; letter-spacing: .04em; }

/* Hero "stack": centered title, then three photos (the cover in the middle, taller) */
.t-galeria .hero--stack { padding: clamp(32px, 6vw, 88px) 0 0; }
.t-galeria .stack-text { text-align: center; max-width: 980px; }
.t-galeria .stack-text h1 { font-size: clamp(2.8rem, 7vw, 6.4rem); margin-inline: auto; max-width: 12em; }
.t-galeria .stack-text .lead { margin-inline: auto; }
.t-galeria .stack-text .hero-actions { justify-content: center; }
.t-galeria .stack-photos { display: grid; grid-template-columns: 1fr 1.5fr 1fr; gap: clamp(10px, 1.6vw, 22px); align-items: end; width: min(1400px, 100% - 32px); margin: clamp(40px, 6vw, 80px) auto 0; }
.t-galeria .stack-photos figure { margin: 0; overflow: hidden; aspect-ratio: 3 / 4; }
.t-galeria .stack-photos figure.main { aspect-ratio: 4 / 5; }
.t-galeria .stack-photos img { width: 100%; height: 100%; object-fit: cover; }
.t-galeria .stack-1 { grid-template-columns: 1fr; width: min(1240px, 100% - 32px); }
.t-galeria .stack-1 figure.main { aspect-ratio: 16 / 8; }
.t-galeria .stack-2 { grid-template-columns: 1fr 1.5fr; }

.t-galeria .hero--frame .hero-media { border-radius: 0; }

/* Featured as a mosaic: each card keeps a different proportion */
.t-galeria .masonry { display: block; columns: 3 300px; column-gap: clamp(14px, 2vw, 28px); }
.t-galeria .masonry .card { break-inside: avoid; margin-bottom: clamp(22px, 3vw, 40px); display: block; }
.t-galeria .masonry .card-media { aspect-ratio: 4 / 5; }
.t-galeria .masonry .card:nth-child(3n+2) .card-media { aspect-ratio: 1; }
.t-galeria .masonry .card:nth-child(3n) .card-media { aspect-ratio: 3 / 4; }
.t-galeria .masonry .card:nth-child(4n) .card-media { aspect-ratio: 4 / 3; }
.t-galeria .card-media img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.t-galeria .card:hover .card-media img { transform: scale(1.03); }
.t-galeria .card-body { padding-top: 14px; }
.t-galeria .card-title { font-size: 1.15rem; }
.t-galeria .section-head { text-align: center; display: block; }
.t-galeria .section-head h2 { margin-inline: auto; }

.t-galeria .about-grid { grid-template-columns: 1fr 1fr; }
.t-galeria .about-media { aspect-ratio: 4 / 5; }
.t-galeria .stats { border-top: 0; }
.t-galeria .stats-row { text-align: center; }
.t-galeria .quote { text-align: center; }
.t-galeria .quotes { max-width: 920px; margin-inline: auto; grid-template-columns: 1fr; }
.t-galeria .contact { text-align: center; }
.t-galeria .contact-grid { grid-template-columns: 1fr; justify-items: center; }
.t-galeria .contact-list { justify-content: center; }

@media (max-width: 860px) {
    .t-galeria .stack-photos, .t-galeria .stack-2 { grid-template-columns: 1fr 1fr; }
    .t-galeria .stack-photos figure.main { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 4 / 3; }
    .t-galeria .about-grid { grid-template-columns: 1fr; }
}
