/* ---------- Hero ---------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: calc(var(--space-section) + 3rem) var(--space-lg) var(--space-lg);
}

.hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--space-lg);
  align-items: center;
  width: min(1200px, 92vw);
  margin-inline: auto;
}

.hero__eyebrow {
  --tilt: -2deg;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 0.4em 0.9em;
  margin-bottom: var(--space-md);
  background: var(--color-accent-pink);
  color: var(--color-text);
  font-weight: 700;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 999px;
  transform: rotate(var(--tilt));
}

.hero__title {
  font-size: var(--text-display);
  color: var(--color-text);
  text-shadow: 0 3px 0 rgba(10, 10, 10, 0.35);
}

.hero__title .highlight {
  display: inline-block;
  background: var(--color-accent-green-bright);
  color: var(--color-bg);
  text-shadow: none;
  padding-inline: 0.15em;
  transform: rotate(-1.5deg);
  box-shadow: var(--shadow-hard);
}

.hero__tagline {
  --tilt: -1deg;
  margin-top: var(--space-md);
  display: inline-block;
  padding: 0.5em 0.9em;
  background: var(--color-accent-pink);
  color: var(--color-text);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  transform: rotate(var(--tilt));
}

.hero__desc {
  --tilt: -0.4deg;
  margin-top: var(--space-md);
  display: inline-block;
  max-width: 46ch;
  padding: 0.7em 0.9em;
  background: rgba(10, 10, 10, 0.82);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  font-size: var(--text-lg);
  font-weight: 500;
  transform: rotate(var(--tilt));
}

.hero__desc strong {
  color: var(--color-accent-green-bright);
  font-weight: 700;
}

.hero__note {
  --tilt: 0.8deg;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  background: rgba(10, 10, 10, 0.88);
  border-radius: var(--radius-md);
  max-width: 34ch;
  transform: rotate(var(--tilt));
}

.hero__note-icon {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
}

.hero__note p {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.hero__note strong {
  display: block;
  color: var(--color-accent-green-bright);
  font-family: var(--font-display);
  font-size: var(--text-base);
  text-transform: uppercase;
}

.hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-top: var(--space-lg);
  padding: 0.85em 1.8em;
  background: var(--color-accent-green-bright);
  color: var(--color-bg);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-hard);
  transition: transform var(--duration-fast) var(--ease-out-back), box-shadow var(--duration-fast);
}

.hero__cta:hover {
  transform: translate(-3px, -3px);
  box-shadow: 9px 9px 0 var(--color-accent-pink);
}

.hero__cta:active {
  transform: translate(0, 0);
  box-shadow: 2px 2px 0 var(--color-accent-pink);
}

/* ---------- Hero cutout visual ---------- */
.hero__visual {
  position: relative;
  z-index: 2;
  justify-self: center;
}

.hero__cutout {
  width: min(100%, 480px);
  height: auto;
  filter: drop-shadow(0 18px 20px rgba(10, 10, 10, 0.45));
}

@media (max-width: 1024px) {
  .hero__inner {
    grid-template-columns: 1fr;
  }

  .hero__visual {
    order: -1;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-inline: var(--space-md);
  }
}
