* {
  box-sizing: border-box;
}

html {
  display: flex;
  justify-content: center;
  height: 100%;

  --text-color: #343434;
  --border-color: #bbb;
  --pink: #f18dbd;
  --secondary-text-color: #5a5a5a;
}

body {
  width: 100%;
  max-width: 960px;
  display: flex;
  flex-flow: column;
  color: var(--text-color);

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
    "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
    sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  padding-top: 32px;
}

a {
  text-decoration: none;
  color: var(--text-color);
}

h1,
h2 {
  font-weight: 100;
}

.link {
  box-shadow: inset 0 -1px 0 0 var(--pink);
}

.link:hover {
  box-shadow: inset 0 -3px 0 0 var(--pink);
}

.gradient-link {
  padding-inline: 8px;
  background: linear-gradient(
    0deg,
    rgba(241, 141, 189, 1) -333%,
    rgba(255, 255, 255, 0) 87%
  );
}

.gradient-link:hover {
  background: linear-gradient(
    0deg,
    rgba(241, 141, 189, 1) -150%,
    rgba(255, 255, 255, 0) 87%
  );
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

blockquote {
  border-left: 4px solid var(--pink);
  padding-left: 1.5rem;
  margin-left: 0;
  color: var(--secondary-text-color);
}

p {
  line-height: 1.8;
  margin-block: 24px;
}

.m-0 {
  margin: 0;
}

.mt-16 {
  margin-top: 16px;
}

.my-12 {
  margin-block: 12px;
}

.small {
  font-size: 0.8rem;
}

.bold {
  font-weight: 500;
}

.home-link {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 100;
}

.nav-desktop {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 36px;
  font-weight: 100;
}

.work-list li {
  padding: 12px;
}

.writings a,
.work-list a {
  padding-bottom: 3px;
  border-bottom: 1px solid var(--pink);
}

.writings a:hover,
.work-list a:hover {
  border-bottom: 3px solid var(--pink);
}

.writings .year,
.work-year {
  font-size: 0.6rem;
  padding-left: 4px;
}

.work figure {
  margin: 0;
  margin-top: 48px;
}

.work img {
  max-width: 100%;
  height: auto;
}

.work figcaption {
  font-size: 0.8rem;
}

.cv-links a {
  margin-top: 16px;
  display: flex;
  align-items: flex-end;
  width: fit-content;
  padding-bottom: 3px;
}

.cv-links svg {
  width: 18px;
  margin-right: 12px;
}

.cv section:not(:first-child) {
  margin-top: 50px;
}

.cv h1 {
  font-weight: 200;
  margin-bottom: 12px;
}

.cv li {
  margin-block: 18px;
  display: flex;
  line-height: 1.8;
  padding-left: 8px;
}

.cv li:hover .year {
  color: var(--pink);
}

.cv li:hover:has(.year) {
  box-shadow: inset 1px 0px 0 0 var(--pink);
}

.cv li .year {
  font-weight: 500;
  font-size: 0.8rem;
  padding-right: 12px;
}

.cv li p {
  margin: 0;
  font-size: 0.9rem;
}

.cv li a {
  padding-inline: 8px;
  background: linear-gradient(
    0deg,
    rgba(241, 141, 189, 1) -333%,
    rgba(255, 255, 255, 0) 87%
  );
}

.cv li a:hover {
  background: linear-gradient(
    0deg,
    rgba(241, 141, 189, 1) -150%,
    rgba(255, 255, 255, 0) 87%
  );
}

.footer-wrapper {
  margin-top: auto;
  display: flex;
  justify-content: center;
  padding-top: 64px;
}

.footer-desktop {
  border-top: 1px solid var(--border-color);
  width: 100%;
  max-width: 640px;
  display: flex;
  justify-content: center;
  place-items: center;
  gap: 16px;

  font-weight: 100;
}

.instagram-link {
  width: 24px;
  height: 24px;
}

.footer-copyright {
  font-size: 0.8rem;
}
