.ri-nav {
  position: absolute;
  inset: 0 0 auto;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100% - 2rem, var(--ri-max));
  margin: 1.25rem auto 0;
}

.ri-nav__brand {
  font-family: var(--ri-font-brand);
  font-size: 1.15rem;
  font-weight: 560;
  letter-spacing: 0.01em;
}

.ri-nav__link {
  color: var(--ri-ivory-muted);
  font-size: 0.95rem;
}

.ri-nav__link:hover {
  color: var(--ri-ivory);
}

.ri-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}

.ri-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(20, 15, 12, 0.25) 0%, rgba(20, 15, 12, 0.78) 58%, rgba(20, 15, 12, 0.96) 100%),
    radial-gradient(ellipse at 20% 10%, rgba(212, 165, 116, 0.22), transparent 45%),
    url("https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=2000&q=80")
      center / cover no-repeat;
  transform: scale(1.06);
  animation: ri-hero-drift 18s ease-in-out infinite alternate;
}

.ri-hero__grain {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.12;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
}

.ri-hero__content {
  width: min(100% - 2rem, var(--ri-max));
  margin: 0 auto 12vh;
  max-width: 36rem;
}

.ri-hero__brand {
  margin: 0 0 0.85rem;
  font-family: var(--ri-font-brand);
  font-size: clamp(2.8rem, 8vw, 4.8rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.02em;
  opacity: 0;
  transform: translateY(18px);
  animation: ri-rise 900ms cubic-bezier(0.22, 1, 0.36, 1) 120ms forwards;
}

.ri-hero__lead {
  margin: 0 0 1.75rem;
  max-width: 28rem;
  color: var(--ri-ivory-muted);
  font-size: clamp(1.05rem, 2.4vw, 1.2rem);
  opacity: 0;
  transform: translateY(18px);
  animation: ri-rise 900ms cubic-bezier(0.22, 1, 0.36, 1) 280ms forwards;
}

.ri-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  opacity: 0;
  transform: translateY(18px);
  animation: ri-rise 900ms cubic-bezier(0.22, 1, 0.36, 1) 420ms forwards;
}

.ri-section {
  padding: var(--ri-space-5) 0;
  background:
    linear-gradient(180deg, var(--ri-espresso) 0%, var(--ri-espresso-soft) 100%);
  border-top: 1px solid var(--ri-line);
}

.ri-section h2 {
  margin: 0 0 0.75rem;
  font-family: var(--ri-font-brand);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  font-weight: 500;
}

.ri-section p {
  margin: 0;
  max-width: 34rem;
  color: var(--ri-ivory-muted);
}

.ri-footer {
  padding: var(--ri-space-3) 0 var(--ri-space-4);
  border-top: 1px solid var(--ri-line);
  color: var(--ri-ivory-muted);
  font-size: 0.9rem;
}

@keyframes ri-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ri-hero-drift {
  to {
    transform: scale(1.12) translate3d(-1.2%, -1%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ri-hero__media,
  .ri-hero__brand,
  .ri-hero__lead,
  .ri-hero__cta {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
