.db-mosaic .db-mosaic__inner { display: flex; flex-direction: column; gap: 24px; padding-block: 40px; }
.db-mosaic__title { font-size: clamp(2rem, 9vw, 5rem); line-height: 1.1; }
.db-mosaic .db-mosaic__grid  { display: flex; flex-direction: column; gap: 10px; }
.db-mosaic .db-mosaic__row   { display: flex; flex-direction: column; gap: 10px; }
.db-mosaic .db-mosaic__stack { display: flex; flex-direction: column; gap: 10px; }
.db-mosaic__item { margin: 0; } .db-mosaic .db-mosaic__item img {
width: 100%;
height: 300px;
object-fit: cover;
display: block;
transition: transform .6s ease;
}
.db-mosaic .db-mosaic__item--tall img { height: 340px; }
@media (min-width: 861px) {
.db-mosaic .db-mosaic__inner { padding-block: 120px; gap: 48px; }
.db-mosaic .db-mosaic__grid  { gap: 40px; }
.db-mosaic .db-mosaic__row {
display: grid;
gap: 40px;
grid-auto-rows: clamp(420px, 42vw, 600px);
}
.db-mosaic .db-mosaic__row--a  { grid-template-columns: 340fr 600fr 340fr; }
.db-mosaic .db-mosaic__row--b  { grid-template-columns: 600fr 340fr; }
.db-mosaic .db-mosaic__row--b3 { grid-template-columns: 600fr 340fr 340fr; } .db-mosaic .db-mosaic__stack {
display: grid;
grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
gap: 40px;
height: 100%;
min-height: 0;
}
.db-mosaic .db-mosaic__item { height: 100%; min-height: 0; }
.db-mosaic .db-mosaic__item img,
.db-mosaic .db-mosaic__item--tall img { height: 100%; }
} .db-mosaic--centered .db-mosaic__title { text-align: center; }
@media (min-width: 861px) {
.db-mosaic--flush .db-mosaic__inner { padding-block: 120px 60px; }
}
@media (prefers-reduced-motion: reduce) {
.db-mosaic .db-mosaic__item img { transition: none; }
}