:root {
    --bg: #f5f4f0;
    --text: #1a1a1a;
    --muted: #888;
    --accent: #c8b89a;
    --gap: 4px;
    --row-height: 772px;
    --section-gap: 56px;
}

body {
    background: #FDFCFC;
    color: var(--text);
    font-family: 'Barlow', sans-serif;
    font-weight: 300;
    margin: 0 auto;
}

main {
    padding: 48px 48px 89px;
}

.section {
    margin-bottom: var(--section-gap);
}

.section-header {
    margin-bottom: 30px;
}

.sectionTitle {
    font-family: 'SF Pro Display Regular';
    font-size: 36.82px;
    margin-bottom: 19px;
    line-height: 35.3px;
}

.sectionText {
    font-size: 21.8px;
    line-height: 23.5px;
}


.gallery-row {
    display: flex;
    gap: 17px;
    width: 100%;
}

.img-wrap {
    flex: 1;
    overflow: hidden;
    position: relative;
    background: #ddd;
    cursor: pointer;
}

.img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        filter 0.4s ease;
    filter: grayscale(8%);
}

.img-wrap:hover img {
    transform: scale(1.04);
    filter: grayscale(0%);
}

.img-wrap::after {
    content: attr(data-index);
    position: absolute;
    bottom: 12px;
    right: 14px;
    font-size: 10px;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.7);
    opacity: 0;
    transition: opacity 0.3s;
}

.img-wrap:hover::after {
    opacity: 1;
}

footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 42.67px 0 40px;
}

.socialMediaIcon {
    width: 54.14px;
    height: 54.65px;
}

#facebookLogo {
    margin-right: 9px;
}

.address {
    font-size: 26px;
    line-height: 28px;
}

@media (max-width: 1440px) {
    main {
        padding: 0 clamp(32px, calc(30.75px + 0.15625vw), 33px) 0 clamp(32px, calc(27px + 0.625vw), 36px);
    }

    .socialMediaIcon {
        width: 40.6px;
        height: 40.99px;
    }

    #facebookLogo {
        margin-right: 7px;
    }

    footer {
        padding: 0 32px 0 30px;
    }

    .social_media_link {
        width: 40.5px;
    }
}

@media (max-width: 800px) {
    main {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: clamp(16px, calc(1.81px + 3.774vw), 32px);
        padding-right: clamp(14px, calc(-1.962px + 4.245vw), 32px);
        margin-top: clamp(0px, calc(52.77px - 6.594vw), 27.96px);
    }

    footer {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: clamp(16px, calc(3.593px + 3.302vw), 30px);
        padding-right: clamp(14px, calc(-1.962px + 4.245vw), 32px);
    }

    .sectionTitle {
        font-size: clamp(15.35px, calc(-3.69px + 5.0637vw), 36.82px);
        margin-bottom: clamp(9px, calc(0.132px + 2.3585vw), 19px);
        line-height: clamp(14.71px, calc(-3.546px + 4.856vw), 35.3px);
    }

    .sectionText {
        font-size: clamp(8.32px, calc(-3.634px + 3.1792vw), 21.8px);
        line-height: clamp(8.97px, calc(-3.918px + 3.428vw), 23.5px);
    }

    .address {
        font-size: clamp(8.32px, calc(-7.359px + 4.1698vw), 26px);
        line-height: clamp(8.96px, calc(-7.926px + 4.491vw), 28px);
    }

    .socialMediaIcon {
        width: clamp(19px, calc(-0.155px + 5.094vw), 40.6px);
        height: clamp(19.18px, calc(-0.16px + 5.144vw), 40.99px);
    }
}

@media (max-width: 375px) {
    .gallery-row {
        flex-direction: column;
    }

    .sectionTitle {
        font-size: 15.35px;
        margin-bottom: 9px;
        line-height: 35.3px;
        display: inline !important;
    }

    .sectionText {
        font-size: 8.32px;
        line-height: normal;
    }

    .socialMediaIcon {
        width: 19px;
        height: 19.18px;
    }

    .address {
        font-size: 8.32px;
        line-height: normal;
    }

    main {
        margin-top: 27.96px;
        padding: 0 14px 0 16px;
    }

    footer {
        padding: 0 14px 0 16px;
    }

    .social_media_link {
        width: 19px;
    }
}