:root {
    /* Primary colors */
    --Green: hsl(75, 94%, 57%);

    /* Secondary colors */
    --White: hsl(0, 0%, 100%);
    --Grey: hsl(0, 0%, 20%);
    --Dark-Grey: hsl(0, 0%, 12%);
    --Off-Black: hsl(0, 0%, 8%);

    /* Fonts */
    --ff-base: "Inter", sans-serif;
}

/* ----- Global ----- */
html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--ff-base);
    background: var(--Off-Black);
    min-height: 50.75rem;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0); 
    clip-path: inset(50%);
    height: 0.0625rem;
    overflow: hidden;
    position: absolute;
    white-space: nowrap; 
    width: 0.0625rem;
  }

/* ----- Layout ----- */
.card {
    width: 87.75%;
    max-width: 24rem;
    background: var(--Dark-Grey);
    border-radius: .5rem;
    margin: 0 auto;
    padding: 1.5rem;
}

.card__dev-info, .card__dev-socials {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card__dev-info__img {
    border-radius: 50%;
    width: 5.5rem;
}

.card__dev-info__name {
    color: var(--White);
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2rem;
}

.card__dev-info__from {
    color: var(--Green);
    font-size: .9375rem;
    font-weight: 600;
    margin-top: .5rem;
}

.card__dev-info__quote {
    color: var(--White);
    font-weight: 400;
    font-size: .9375rem;
    margin: 1.5rem 0;
}

.card__dev-socials {
    gap: 1rem;
}

.card__dev-socials__social-link {
    width: 100%;
}

.card__dev-socials__social-link a {
    display: block;
    background: var(--Grey);
    color: var(--White);
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    border-radius: .5rem;
    padding: .75rem 0;
}

.card__dev-socials__social-link a:hover {
    background: var(--Green);
    color: var(--Dark-Grey);
    transition: 250ms;
}

.attribution {
    color: var(--White);
    font-size: .6875rem;
    text-align: center;
    margin-top: 1.5rem;
}

.attribution a {
    color: var(--Green);
    font-weight: 700;
}

.attribution a:hover {
    opacity: .7;
    transition: 250ms;
}

@media (min-width: 31.25rem) {
    .card {
        padding: 2.25rem 2.625rem;
    }
}