:root {
  --mahi-ivory: #f4efe6;
  --mahi-coal: #181412;
  --mahi-wine: #4a1714;
  --mahi-sunset: #d65a2c;
  --mahi-gold: #d1a25c;
  --mahi-denim: #35546b;
  --mahi-night-green: #173a31;
  --mahi-white: #fffdf8;
  --mahi-radius-sm: 0.75rem;
  --mahi-radius-md: 1.5rem;
  --mahi-radius-pill: 999px;
  --mahi-shadow: 0 1.5rem 4rem rgb(24 20 18 / 16%);
  --mahi-container: min(92vw, 1320px);
  --mahi-section-space: clamp(5rem, 9vw, 9rem);
  --mahi-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
  scroll-behavior: smooth;
}

body.mahi-site {
  background: var(--mahi-ivory);
  color: var(--mahi-coal);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

.mahi-site h1,
.mahi-site h2,
.mahi-site h3,
.mahi-display {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 520;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.mahi-container {
  width: var(--mahi-container);
  margin-inline: auto;
}

.mahi-section {
  padding-block: var(--mahi-section-space);
}

.mahi-kicker {
  color: var(--mahi-sunset);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mahi-button .et_pb_button,
.mahi-site a.et_pb_button.mahi-button {
  border: 1px solid currentColor;
  border-radius: var(--mahi-radius-pill);
  padding: 0.85rem 1.35rem;
  transition: transform 240ms var(--mahi-ease), background-color 240ms ease, color 240ms ease;
}

.mahi-button .et_pb_button:hover,
.mahi-site a.et_pb_button.mahi-button:hover {
  transform: translateY(-2px);
}

.mahi-hero {
  isolation: isolate;
  min-height: min(100svh, 960px);
  overflow: hidden;
  position: relative;
}

.mahi-hero::before {
  background: radial-gradient(circle, rgb(255 239 211 / 78%) 0 28%, rgb(214 90 44 / 16%) 52%, transparent 72%);
  content: "";
  inset: -18% -10% auto auto;
  width: min(72vw, 900px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  position: absolute;
  transform: translate3d(0, var(--mahi-sun-shift, 0), 0);
  z-index: -1;
}

.mahi-glass {
  background: rgb(24 20 18 / 48%);
  border: 1px solid rgb(255 255 255 / 20%);
  backdrop-filter: blur(14px);
  border-radius: var(--mahi-radius-md);
}

.mahi-release-card,
.mahi-member-card {
  border-radius: var(--mahi-radius-md);
  box-shadow: var(--mahi-shadow);
  overflow: hidden;
}

.mahi-member-card {
  position: relative;
}

.mahi-member-card img {
  transition: transform 700ms var(--mahi-ease), filter 400ms ease;
}

.mahi-member-card:hover img {
  filter: saturate(1.06) contrast(1.03);
  transform: scale(1.025);
}

.mahi-cover-card {
  aspect-ratio: 1;
  border-radius: var(--mahi-radius-sm);
  box-shadow: 0 1rem 2.5rem rgb(24 20 18 / 18%);
  overflow: hidden;
  transition: transform 350ms var(--mahi-ease);
}

.mahi-cover-card:hover {
  transform: translateY(-8px) rotate(-0.5deg);
}

.mahi-reveal {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 700ms var(--mahi-ease), transform 700ms var(--mahi-ease);
}

.mahi-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.mahi-nav-scrolled {
  background: rgb(244 239 230 / 90%) !important;
  box-shadow: 0 0.5rem 2rem rgb(24 20 18 / 10%);
  backdrop-filter: blur(16px);
}

@media (max-width: 980px) {
  :root {
    --mahi-section-space: clamp(4rem, 13vw, 6rem);
  }

  .mahi-hero {
    min-height: 88svh;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .mahi-site *,
  .mahi-site *::before,
  .mahi-site *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .mahi-reveal {
    opacity: 1;
    transform: none;
  }
}

