:root {
  color-scheme: dark;
  --paper: #f4ead6;
  --ink: #111a16;
  --caption: #ccbea3;
}

* {
  box-sizing: border-box;
}

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

body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Apple Garamond", Garamond, "ITC Garamond", "Times New Roman",
    serif;
}

.home {
  min-height: 100svh;
}

.hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  place-items: end start;
  padding: clamp(28px, 5.2vw, 112px);
  padding-bottom: clamp(40px, 9svh, 120px);
  background: var(--ink);
}

.hero__image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.hero__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8, 16, 12, 0.28), transparent 43%),
    linear-gradient(0deg, rgba(8, 16, 12, 0.3), transparent 34%);
}

.hero__content {
  position: relative;
  max-width: 38%;
  text-align: left;
  text-shadow: 0 2px 24px rgba(5, 12, 8, 0.28);
}

h1 {
  margin: 0;
  font-size: clamp(3.5rem, 6.6vw, 8rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.96;
}

h1 span {
  display: block;
}

.hero__kicker {
  margin: clamp(20px, 2.3vw, 36px) 0 0;
  color: var(--caption);
  font-family: Optima, Candara, "Gill Sans", system-ui, sans-serif;
  font-size: clamp(0.6875rem, 0.82vw, 0.875rem);
  font-weight: 400;
  letter-spacing: 0.17em;
  line-height: 1.85;
  text-transform: uppercase;
}

/* Portrait screens keep the central figure's head clear of the title. */
@media (max-aspect-ratio: 1/1) {
  .hero {
    padding: 32px clamp(28px, 7.5vw, 64px);
    padding-bottom: max(6.5svh, env(safe-area-inset-bottom, 0px));
  }

  .hero__image {
    height: 78%;
    object-position: 45% 35%;
  }

  .hero__shade {
    background: linear-gradient(
      0deg,
      var(--ink) 0%,
      var(--ink) 21%,
      rgba(17, 26, 22, 0.94) 29%,
      rgba(17, 26, 22, 0.35) 46%,
      transparent 62%
    );
  }

  .hero__content {
    max-width: 100%;
  }

  h1 {
    font-size: clamp(3.3rem, 12.8vw, 6.75rem);
  }

  .hero__kicker {
    margin-top: 22px;
    font-size: clamp(0.625rem, 2.2vw, 0.8125rem);
  }
}

/* Keep the complete title within short landscape phone windows. */
@media (max-height: 500px) and (min-aspect-ratio: 1/1) {
  .hero {
    padding: 24px 5.2vw;
  }

  h1 {
    font-size: clamp(2.5rem, 6.6vw, 4.5rem);
  }

  .hero__kicker {
    margin-top: 16px;
    font-size: 0.625rem;
    letter-spacing: 0.12em;
  }
}
