/* ------------------------------------------------------------------------------------------- Reset */
* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
    box-sizing: border-box;
    unicode-bidi: unset;
}

/* For images to not be able to exceed their container */
img {
    width: 100%;
    height: auto;
}

:root {
    --offblk: #222;
    --dkgry: #333;
    --smoke: #666;
    --offwht: #f9f9f9;
    --warmteal: #5b7b79;
    --iceberg: #e3eeed;
    --warm: #A2987F;
    --chiffon: #FDE291;
    --blk-rgb: 0,0,0;
    --offwht-rgb: 255,255,255;
}

/* ------------------------------------------------------------------------------------------- Global */
body {
    font-size: 16px;
    font-family: sans-serif;
    color: var(--dkgry);
    background-color: var(--offwhite);
    text-rendering: optimizeLegibility;
    position: relative;
}

/* ------------------------------------------------------------------------------------------- Everything else */

main {
    position: relative;
    padding: 3rem 4vw 1rem;
    z-index: 10;
}

.content {
    margin: 1em auto;
    max-width: 1140px;
}
.content {
    padding-top: 2rem;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    gap: 2em;
}
h1 {
    font-size: 1.4rem;
    font-weight: normal;
    padding: 0 4em;
}
h2 {
    font-size: 2rem;
    color: var(--smoke);
    font-weight: bold;
    line-height: 1.2;
    padding: .5rem 0 1rem;
}
img {
    width: 35%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    box-shadow: 0 0 2px 0 var(--smoke);
    z-index: 2;
}
img:hover {
    transform: scale(1.01);
}
p {
    font-size: 1.1rem;
    padding: .5rem 0;
    line-height: 1.5;
}
p.extra {
    font-size: .8rem;
}
.sm {
    padding-top: 1rem;
}
p a {
    color: var(--warmteal);
    font-weight: bold;
}
.sm a {
    display: inline-block;
    padding: .5rem;
    font-size: 1.8rem;
    color: var(--offwht);
    background-color: var(--warmteal);
    border-radius: 50%;
    margin-right: .75rem;
    border: 2.5px solid transparent;
    
    &:hover,
    &:focus-visible {
        color: var(--warmteal);
        background-color: var(--offwht);
        border: 2.5px solid var(--warmteal);
    }
}
a:focus-visible {
    outline: 3px dotted var(--warmteal);
    outline-offset: .2em;
}
.deco1,
.deco2,
.deco3 {
    position: fixed;
    border-radius: 50%;
    overflow: hidden;
    z-index: 1;
}
.deco1 {
    width: 22vw;
    height: 22vw;
    left: -9vw;
    top: -11vw;
    background-color: var(--dkgry);
}
.deco2 {
    width: 15vw;
    height: 15vw;
    left: 70vw;
    bottom: -9vw;
    background-color: var(--warm);
}
.deco3 {
    width: 10vw;
    height: 10vw;
    right: -7vw;
    top: 30vh;
    background-color: var(--warmteal);
}
/* ------------------------------------------------------------------------------------------- Responsive */
@media screen and (max-width: 800px) {
    .content {
        padding-top: .5rem;
        flex-flow: column nowrap;
        gap: 1em;
    }
    img {
        margin: 0 auto;
        width: 60%;
    }
}