:root {
  color-scheme: light;
  --cream: #f7f0e7;
  --ink: #2b211d;
  --red: #a6232e;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-width: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  background: var(--cream);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  overflow-x: hidden;
}

.home {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: start center;
  padding: max(13vh, 4.5rem) max(1.25rem, env(safe-area-inset-right))
    max(2rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
}

.brand {
  width: min(100%, 32rem);
  text-align: center;
  animation: brand-in 900ms ease-out both;
}

.brand__logo {
  display: block;
  width: min(100%, 23rem);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.brand__credit {
  margin: clamp(1.3rem, 3vw, 2rem) 0 0;
  font-size: clamp(0.78rem, 1.7vw, 0.96rem);
  line-height: 1.35;
  letter-spacing: 0.055em;
}

.brand__credit-name {
  color: var(--red);
}

@keyframes brand-in {
  from {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 30rem) {
  .home {
    padding-top: max(10vh, 3.5rem);
  }

  .brand__logo {
    width: min(100%, 17.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand {
    animation: none;
  }
}
