:root {
  --primary-color: #292929;
}

* {
  box-sizing: border-box;
}

.no-break {
  white-space: nowrap;
}

a {
  text-decoration-skip-ink: from-font;
  text-decoration-thickness: 1px;
}

html {
  background-color: var(--primary-color);
}

body {
  background-color: white;
  background-image: url("jcage_headphones.png");
  background-position: center calc(100% - 2rem);
  background-repeat: no-repeat;
  background-size: auto 30dvh;
  border: 1rem solid var(--primary-color);
  border-bottom: none;
  display: grid;
  font-family: Georgia, Times, "Times New Roman", serif;
  grid-template-rows: max-content 1fr max-content;
  margin: 0;
  min-height: 100dvh;
  row-gap: 2rem;
  width: 100dwh;
}

header {
  align-items: flex-end;
  display: flex;
  justify-content: center;
  height: 9rem;
  padding: 0 1rem;
}

header h1 {
  line-height: 0;
  margin: 0;
  max-width: 20rem;
  width: 100%;
}

header svg {
  fill: var(--primary-color);
}

main {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 1.2rem;
  gap: 2rem;
  padding: 0 1rem;
}

main a {
  color: currentColor;
}

main p {
  backdrop-filter: blur(.5rem);
  color: var(--primary-color);
  line-height: 1.618;
  margin: 0;
  max-width: 60ch;
  text-align: center;
}

footer {
  background-color: var(--primary-color);
  color: white;
  padding: 1rem 0 1rem .25rem;
}

footer ul {
  align-items: center;
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

footer a {
  color: white;
}

@media(min-width: 640px) {
  body {
    background-size: auto 35dvh;
  }
  header {
    height: 12rem;
  }
  header h1 {
    max-width: 25rem;
  }
}

@media(min-width: 1024px) {
  body {
    background-size: auto 40dvh;
  }
  header {
    height: 14rem;
  }
  header h1 {
    max-width: 30rem;
  }
}
