.newborn-gallery{
    max-width:1100px;
    margin:20px auto;
    padding:20px;
}

.newborn-gallery__hero{
    margin-bottom:24px;
    border-radius:12px;
}

.newborn-gallery__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}

.newborn-gallery__container{
    max-width:900px;
    margin:0 auto;
}

.newborn-gallery__hero img,
.newborn-gallery__item img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
    overflow:hidden;
    border-radius:16px;
    box-shadow:
    0 8px 24px rgba(0,0,0,.08);
}

.newborn-gallery__content{

    text-align:center;

    margin-top:48px;

}

.newborn-gallery__title{

    font-size:2rem;

    font-weight:400;

    color:#b57d97;

    margin-bottom:12px;

}

.newborn-gallery__caption{

    font-size:1.2rem;

    line-height:1.8;

    color:#7c5a6b;

}

.newborn-gallery{

    opacity:0;
    transform:translateY(30px);

    transition:
        opacity .9s ease,
        transform .9s ease;
}

.newborn-gallery.visible{

    opacity:1;
    transform:translateY(0);
}

.newborn-gallery__hero{

    opacity:0;
    transform:translateY(20px);

    transition:.8s ease;
}

.newborn-gallery__grid{

    opacity:0;
    transform:translateY(20px);

    transition:.8s ease;
    transition-delay:.2s;
}

.newborn-gallery__content{

    opacity:0;
    transform:translateY(20px);

    transition:.8s ease;
    transition-delay:.4s;
}

.newborn-gallery.visible .newborn-gallery__hero,
.newborn-gallery.visible .newborn-gallery__grid,
.newborn-gallery.visible .newborn-gallery__content{

    opacity:1;
    transform:translateY(0);
}