* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {

    font-family: Inter, sans-serif;
    color: #333;
    background: white;
    line-height: 1.7;

}

img {

    display: block;
    width: 100%;

}

.hero {

    max-width: 1200px;
    margin: auto;

    padding: 80px 30px;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;

}

.hero h1 {

    font-family: "Cormorant Garamond", serif;

    font-size: 3rem;

    font-weight: 400;

    margin-bottom: 25px;

}

.hero p {

    margin-bottom: 30px;

}

.btn {

    display: inline-block;

    padding: 14px 30px;

    background: #7d3f1f;

    color: white;

    text-decoration: none;

}

.about {

    background: #f3eee8;

    padding: 100px 30px;

}

.about h2 {

    text-align: center;

    font-family: "Cormorant Garamond";

    font-size: 3rem;

    margin-bottom: 60px;

}

.about-grid {

    max-width: 1200px;

    margin: auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 40px;

}

.card {

    background: white;

    padding: 45px;

}

.gallery {

    padding: 100px 30px;

}

.gallery h3 {

    margin-bottom: 30px;

    font-family: "Cormorant Garamond";

    font-size: 2rem;

}

.grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

    gap: 12px;

}

.grid img {

    aspect-ratio: 1;

    object-fit: cover;

    cursor: pointer;

    transition: .3s;

}

.grid img:hover {

    transform: scale(1.03);

}

footer {

    padding: 100px 30px;

    display: flex;

    justify-content: center;

    gap: 120px;

    text-align: center;

    font-size: 14px;

}

footer .social img {
    width: 36px;
    height: auto;
    display: inline-block;
}

footer .social a {
    display: inline-block
}

@media(max-width:900px) {

    .hero {

        grid-template-columns: 1fr;

    }

    .about-grid {

        grid-template-columns: 1fr;

    }

    .hero h1 {

        font-size: 2.2rem;

    }

    footer {

        flex-direction: column;

        gap: 40px;

    }

}

/* ---------------- LIGHTBOX ---------------- */

.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100vw;
    height: 100vh;

    background: rgba(0,0,0,0.9);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;

    z-index: 99999;
}

.lightbox.show{

    opacity:1;
    visibility:visible;

}

.lightbox img{

    max-width:92%;
    max-height:92%;
    object-fit:contain;

    border-radius:4px;

    box-shadow:0 20px 60px rgba(0,0,0,.5);

}

.close{

    position:absolute;

    top:25px;
    right:35px;

    color:white;

    font-size:48px;

    cursor:pointer;

    user-select:none;

}

.grid img{

    cursor:pointer;
}

/* ---------------- REVEAL ANIMATION ---------------- */

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.reveal.visible{

    opacity:1;

    transform:translateY(0);

}


/* ---------------- SCROLLBAR ---------------- */
.grid img{

    opacity:0;

    transform:translateY(25px);

    transition:.6s;

}

.grid img.visible{

    opacity:1;

    transform:none;

}

html {
    scroll-behavior: smooth;
}
