/* VARIABLE */
:root {
  --green: hsl(75, 94%, 57%);
  --white: hsl(0, 0%, 100%);
  --grey-700: hsl(0, 0%, 20%);
  --grey-800: hsl(0, 0%, 12%);
  --grey-900: hsl(0, 0%, 8%);
}
/* reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* BASE */
body {
  background-color: var(--grey-900);
  color: var(--white);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
}

/* LAYOUT AND COMPONENT */
/* page layout */
.page-layout {
  min-height: 100vh; /* fallback if the browser didn't support dvh */
  min-height: 100dvh;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 1rem;
  padding: 1rem;
}
/* main */
/* profile card mobile view */
.profile {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: min(85%, 21rem);
  margin: auto;
  padding: clamp(1rem, 6.5%, 1.5rem);
  background-color: var(--grey-800);
  border-radius: 0.75rem;
}
.profile svg {
  display: block;
  fill: var(--white);
  width: 6rem;
  height: 6rem;
  margin: 0 auto;
}
.profile-title h1 {
  font-size: 1.5rem;
  font-weight: 600;
}
.profile-title p {
  margin-top: 0.5rem;
  color: var(--green);
  font-weight: 600;
}
.profile li {
  list-style: none;
}
.profile li:not(:last-child) {
  margin-bottom: 1rem;
}
.profile a {
  display: block;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  padding: 0.8rem;
  background-color: var(--grey-700);
  border-radius: 0.5rem;
}
.profile a:hover,
.profile a:focus-visible {
  background-color: var(--green);
  color: var(--grey-900);
}
/* profile card tablet and desktop view */
@media (min-width: 600px) {
  .profile {
    width: min(59%, 24rem);
    padding: min(4.23%, 2.5rem);
  }
}
/* footer */
/* attributions */
.attribution {
  font-size: 0.6875rem;
  text-align: center;
}

.attribution a {
  color: hsl(228, 45%, 44%);
}
