section {
    padding-block: var(--space-6);
}

.hero {
    padding-top: clamp(4rem, 12vw, 6.5rem);
    position: relative;
}

.hero::after {
    content: "";
    position: absolute;
    right: -6rem;
    top: -4rem;
    width: 19rem;
    height: 19rem;
    border-radius: 35% 65% 70% 30% / 35% 40% 60% 65%;
    background: radial-gradient(circle at 28% 24%, rgba(126, 83, 53, 0.9), rgba(53, 33, 21, 0.75));
    opacity: 0.34;
    z-index: -1;
}

.hero-grid {
    display: grid;
    gap: var(--space-5);
}

.hero-art {
    position: relative;
    overflow: hidden;
    background: rgba(154, 122, 89, 0.72);
    border-radius: 40% 60% 44% 56% / 63% 35% 65% 37%;
    min-height: 15rem;
    border: 2px solid rgba(88, 58, 39, 0.48);
    box-shadow: 0 18px 40px rgba(56, 35, 23, 0.26);
}

.about,
.skills,
.projects,
.contact {
    position: relative;
}

.about::before,
.projects::before {
    content: "";
    position: absolute;
    left: -6rem;
    top: 2.5rem;
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(133, 90, 59, 0.5), rgba(35, 21, 14, 0.24));
    border: 1px solid rgba(58, 36, 24, 0.36);
    z-index: -1;
}

.about::after,
.projects::after {
    content: "";
    position: absolute;
    right: 8%;
    bottom: 0.8rem;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 56% 44% 52% 48% / 45% 61% 39% 55%;
    background: radial-gradient(circle at 36% 30%, rgba(92, 60, 39, 0.34), rgba(29, 16, 10, 0.62));
    opacity: 0.7;
    z-index: -1;
}

.about p {
    max-width: 62ch;
}

.skills-grid {
    grid-template-columns: 1fr;
}

.project-grid {
    grid-template-columns: 1fr;
}

.contact-grid {
    grid-template-columns: 1fr;
}

.contact-card h3 {
    color: var(--deep-midnight);
}

@media (min-width: 48rem) {
    .hero-grid {
        grid-template-columns: 1.35fr 0.9fr;
        align-items: center;
    }

    .skills-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .project-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}