:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  color: #241b12;
  background: #b9956b;
  --gutter: clamp(24px, 5vw, 88px);
}

* { box-sizing: border-box; }
html { margin: 0; }
body { margin: 0; }

.hero {
  height: 400vh;
  height: 400svh;
}

.hero__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
}

.hero__logo {
  position: absolute;
  top: max(32px, env(safe-area-inset-top));
  left: var(--gutter);
  display: block;
  width: clamp(62px, 5.5vw, 86px);
  height: auto;
}

h1 {
  position: absolute;
  top: 50%;
  left: var(--gutter);
  transform: translateY(-50%);
  margin: 0;
  font-size: clamp(42px, 5vw, 82px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.hero__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
}

.is-tearing h1 { visibility: hidden; }
.is-tearing .hero__video { object-position: center; }

@media (max-width: 600px) {
  .hero__video { object-position: 68% center; }
  .hero__logo { top: max(24px, env(safe-area-inset-top)); width: 58px; }
  h1 { top: 27%; font-size: clamp(36px, 9vw, 50px); }
}

@media (max-height: 500px) and (min-width: 601px) {
  .hero__logo { top: 20px; width: 44px; }
  h1 { font-size: 38px; }
}
