main h1 {
    text-align: center;
    margin-bottom: 3rem;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.3;
}

main h1::after {
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    margin: 1rem auto 0;
    background: #89A02C;
    border-radius: 2px;
}

h2 {
    margin: 0 0 1rem;
    color: #89A02C;
    font-size: 2rem;
    text-align: center;
}

#title {
    display: block;
    margin: auto;
    max-height: 350px;
    background-color: white;
    padding: 2rem;
    margin-top: 50px;
    margin-bottom: 5rem;
    border-radius: 15px;
}

#text {
    text-align: center;
    font-size: x-large;
    line-height: 1.6;
}

#ipbCard {
    margin: 1rem auto;
    display: flex;
    align-items: center;
    font-size: larger;
    gap: 1rem;
    background-color: white;
    border: #89A02C 2px solid;
    padding: 1.5rem;
    width: 400px;
    border-radius: 15px;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
    line-height: 1.6;
    transition: transform .2s ease, box-shadow .2s ease;
}

#ipbCard:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(0,0,0,.15);
}

#ipbCard a {
    background-color: white;
}

#img1 {
    max-height: 100px;
    border-radius: 50%;
    border: black 1px solid;
}

#grid {
    position: relative;
    width: min(95vw, 1100px);
    aspect-ratio: 3 / 2;
    margin: auto;
}

#img2 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: clamp(140px, 35vw, 340px);
    transform: translate(-50%, -50%);
}

.item {
    position: absolute;
    font-size: clamp(.7rem, 1.3vw, 1.1rem);
    padding: clamp(4px, 0.7vw, 8px) clamp(8px, 1vw, 14px);
    background: rgba(255,255,255,.8);
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
    white-space: nowrap;
}

.item1 { left:12%; top:8%; transform: rotate(-8deg);}
.item2 { left:72%; top:15%; transform: rotate(6deg);}
.item3 { left:5%; top:35%; transform: rotate(-5deg);}
.item4 { left:80%; top:42%; transform: rotate(8deg);}
.item5 { left:10%; top:68%; transform: rotate(5deg);}
.item6 { left:78%; top:72%; transform: rotate(-7deg);}
.item7 { left:25%; top:88%; transform: rotate(-3deg);}
.item8 { left:62%; top:90%; transform: rotate(5deg);}
.item9 { left:40%; top:12%; transform: rotate(-10deg);}

@media (max-width: 900px) {
    #title {
        max-width: 500px;
        height: auto;
    }
}

@media (max-width: 650px) {
    #ipbCard {
        width: 300px;
    }

    #title {
        max-width: 300px;
        height: auto;
    }
}

@media (max-width: 400px) {

    #grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: auto;
        gap: 12px;
    }

    #img2 {
        position: static;
        transform: none;
        width: 80%;
    }

    .item {
        position: static;
        transform: none;
        width: fit-content;
    }

    #ipbCard {
        width: 250px;
        font-size: small;
    }

    #title {
        max-width: 200px;
        height: auto;
    }
}