:root{
    background: radial-gradient(45.83% 70.9% at 50% 50%, #0C0020 0%, #000 100%);
}
@media screen and (max-width: 768px){
    body{
        justify-content: first baseline;
        padding: 40px 24px 40px 24px;
    }
    .cards{
        min-width: 30px;
    }
    
}
body{
    min-height: 100vh;
    padding:80px 10vw 0 10vw;
    margin:0;
    display: flex;
    flex-direction: column; 
    align-items:center; 
    gap: 40px;
}

#emoji{font-weight: normal;}

.title{
    color: #F4F4F4;
    font-family: Outfit;
    font-size: 40px;
    font-style: normal;
    font-weight: 900;
    line-height: 125%;
    margin:0;
}
h2{
    margin:0;
}

.cardBody{
    margin:0;
}
.myFace{
    width: 208px;
    height: 208px;
    border-radius: 100%;
}

.heroCard{
    display: flex;
    flex-direction: column;
    padding: 40px;
    gap: 24px;
    flex: 1;
    border-radius: 24px;
    min-width: 170px;
    position: relative;
}

.heroCard::before{
    position: absolute;
    background: radial-gradient(50% 50% at 50% 50%, #43CF07 0%, rgba(67, 207, 7, 0.00) 20%);

}

#heroCards:hover > .heroCard::after {
    opacity: 1;
}
.heroCard:hover::before {
    opacity: 1;
}

.heroCard::before,
.heroCard::after {
    border-radius: inherit;
    content: "";
    height: 100%;
    left: 0px;
    opacity: 0;
    position: absolute;
    top: 0px;
    transition: opacity 500ms;
    width: 100%;
}

.heroCard::before {
    background: radial-gradient(
      800px circle at var(--mouse-x) var(--mouse-y), 
      rgba(255, 255, 255, 0.06),
      transparent 40%
    );
    z-index: 3;
}

.heroCard::after {  
    background: radial-gradient(
      600px circle at var(--mouse-x) var(--mouse-y), 
      rgba(255, 255, 255, 0.4),
      transparent 40%
    );
    z-index: 1;
}

.heroCard > .card-content {
    background-color: var(--card-color);
    border-radius: inherit;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    inset: 1px;
    padding: 10px;
    position: absolute;
    z-index: 2;
}

.cardIcon{
    padding: 16px;
    border-radius: 100px;
    background-color: rgba(255, 255, 255, .05);
    background-blend-mode: overlay;
    flex-grow: 0;
    align-self:baseline;
}

div.cardCopy{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.cardTitle{
    color: #F4F4F4;
    font-family: Outfit;
    font-size: 32px;
    font-style: normal;
    font-weight: 900;  
}

.cardBody{
    color: #FFF;
    font-family: Trispace;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height:125%;
}

span.material-symbols-rounded{
    font-size: 48px;
    font-variation-settings: 'OPSZ' 48;
}

#heroCards{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px;  
    max-width: 1440px;
}

#designerCard{
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), rgba(19, 59, 2, 0.50);
}

#palette{
   color:hsla(102, 93%, 42%, 1); 
}

#dadCard{
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), rgba(207, 81, 7, 0.15);
}

#parent{
    color: hsla(22, 93%, 42%, 1);
    margin:0;
}

#studentCard{
    /** perfect example, is I wrote this all myself (with some AI guidance to get it to behave properly) **/
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%), rgba(18, 163, 247, 0.15);    
}

#student{
    color: hsla(202, 93%, 52%, 1);
}

.footer{
    width: 100%;
    color: #FFF;
    text-align: center;
    font-family: Trispace;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 0 10vw 40px 10vw;
}