*,
:before,
:after {
    margin: 0;
    box-sizing: border-box;
}

html {
    text-align: center;
}

body {
    margin: 0;
    min-height: 100vh;
    background: 
    radial-gradient(circle at 50% 15%, #ffc0cb 0%, transparent 60%),
    radial-gradient(circle at 80% 35%, #f78da7 0%, transparent 50%),
    radial-gradient(circle at 20% 55%, #ffb6c1 0%, transparent 50%),
    radial-gradient(circle at 70% 75%, #f06292 0%, transparent 55%),
    radial-gradient(circle at 40% 90%, #d87093 0%, transparent 60%),
    #B6004C;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: serif;
    letter-spacing: 1px;
    font-weight: 400;
    line-height: 1.9;
}

.block:has(.content) {
    width: 100%;

    & .content {
        width: min(100% - 40px, 300px);
        margin-inline: auto;
        position: relative;
        padding: 25px 0;

        & .page-subtitle,
        & .title-section {
           font-family: cursive;
           font-weight: 400;
           line-height: 1;
           position: relative;
           z-index: 1;
           margin-bottom: 20px;
        }

        & .title-section {
            font-size: 2rem;
            opacity: 0;
            transform: translateX(-20px);
            transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
        }

        & .title-section.animate-in {
            opacity: 1;
            transform: translateX(0);
        }

    }
}