
.tsw-gallery,
.tsw-gallery * { box-sizing: border-box; }

.tsw-gallery {
    width: 100%;
    background: #f3f1ed;
}

.tsw-gallery__inner {
    width: 100%;
    max-width: 965px;
    margin: 0 auto;
    padding: 40px 0 38px;
}

.tsw-gallery__title {
    margin: 0;
    text-align: center;
    color: #111111;
    font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    font-size: clamp(56px, 4.5vw, 74px);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.024em;
}
.tsw-gallery__highlight { color: #2f6d4c; }

.tsw-gallery__top {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.tsw-gallery__image img {
    display: block;
    width: 100%;
    height: auto;
}
.tsw-gallery__top-image img {
    aspect-ratio: 311 / 259;
    object-fit: cover;
}
.tsw-gallery__bottom {
    margin-top: 18px;
}
.tsw-gallery__bottom-image img {
    aspect-ratio: 965 / 249;
    object-fit: cover;
}

.tsw-gallery__footer {
    margin-top: 18px;
    text-align: center;
}
.tsw-gallery__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #2f6d4c;
    text-decoration: none;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}
.tsw-gallery__link:hover,
.tsw-gallery__link:focus,
.tsw-gallery__link:active,
.tsw-gallery__link-label { text-decoration: none; }
.tsw-gallery__link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.tsw-gallery__link-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

@media (max-width: 1100px) {
    .tsw-gallery__inner { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 767px) {
    .tsw-gallery__inner { padding: 24px 18px; }
    .tsw-gallery__title { font-size: clamp(38px, 11vw, 52px); }
    .tsw-gallery__top { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
    .tsw-gallery__bottom { margin-top: 12px; }
    .tsw-gallery__top-image img,
    .tsw-gallery__bottom-image img { aspect-ratio: auto; }
    .tsw-gallery__footer { margin-top: 14px; }
}
