/* InviteNoma — варианты шапки приглашения.
   Шаблон выбирает один: center, split, full или type. */

/* общее */
.hero { position: relative; isolation: isolate; overflow: hidden; }
.hero__inner { display: grid; gap: var(--sp-5); }

/* ---------- center: имена по центру, фон-подложка ---------- */
.hero[data-hero="center"] {
  min-height: 100svh;
  display: grid; place-items: center;
  padding: var(--sp-9) var(--gutter) var(--sp-8);
  text-align: center;
}
.hero[data-hero="center"] .hero__inner { max-width: 900px; }

/* ---------- split: фото и текст рядом ---------- */
.hero[data-hero="split"] {
  min-height: 100svh;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}
.hero[data-hero="split"] .hero__media {
  position: relative; inset: auto;
  min-height: 52svh;
  z-index: 0;
}
.hero[data-hero="split"] .hero__media img,
.hero[data-hero="split"] .hero__media video {
  width: 100%; height: 100%; object-fit: cover;
  position: absolute; inset: 0;
}
.hero[data-hero="split"] .hero__body {
  display: grid; place-items: center;
  padding: var(--sp-8) var(--gutter);
  background: var(--c-cream);
  text-align: center;
}
.hero[data-hero="split"] .hero__veil { display: none; }
@media (min-width: 900px) {
  .hero[data-hero="split"] { grid-template-columns: 1fr 1fr; }
  .hero[data-hero="split"] .hero__media { min-height: 100svh; }
  .hero[data-hero="split"] .hero__body { text-align: left; place-items: center start; }
  .hero[data-hero="split"] .hero__names { text-align: left; }
  .hero[data-hero="split"] .hero__meta { justify-content: flex-start; }
  .hero[data-hero="split"] .divider::before { display: none; }
}

/* ---------- full: фото на весь экран, текст поверх ---------- */
.hero[data-hero="full"] {
  min-height: 100svh;
  display: grid; place-items: center;
  padding: var(--sp-9) var(--gutter);
  text-align: center;
  color: var(--c-cream);
}
.hero[data-hero="full"] .hero__veil {
  background:
    radial-gradient(70% 50% at 50% 45%, rgba(0,0,0,.25), transparent 70%),
    linear-gradient(180deg, rgba(10,8,6,.55), rgba(10,8,6,.30) 40%, rgba(10,8,6,.70));
}
.hero[data-hero="full"] .hero__kicker,
.hero[data-hero="full"] .hero__meta,
.hero[data-hero="full"] .hero__scroll { color: rgba(255,255,255,.82); }
.hero[data-hero="full"] .hero__names { color: #fff; text-shadow: 0 2px 30px rgba(0,0,0,.35); }
.hero[data-hero="full"] .hero__meta .dot { background: var(--c-gold-soft); }

/* ---------- type: только типографика, во всю ширину ---------- */
.hero[data-hero="type"] {
  min-height: 100svh;
  display: grid; align-content: center;
  padding: var(--sp-9) var(--gutter) var(--sp-8);
}
.hero[data-hero="type"] .hero__media,
.hero[data-hero="type"] .hero__veil { display: none; }
.hero[data-hero="type"] { background: var(--c-cream); }
.hero[data-hero="type"] .hero__inner {
  width: min(100%, 1200px); margin-inline: auto;
  text-align: left;
}
.hero[data-hero="type"] .hero__names {
  font-size: clamp(3.4rem, 17vw, 12rem);
  line-height: .92;
  letter-spacing: -.03em;
}
.hero[data-hero="type"] .hero__names .amp {
  font-size: .3em; display: inline-block; margin-inline: .08em;
  vertical-align: super;
}
.hero[data-hero="type"] .hero__meta { justify-content: flex-start; }
.hero[data-hero="type"] .divider { justify-content: flex-start; }
.hero[data-hero="type"] .divider::before { display: none; }

/* строка-«бегущая» под типографической шапкой */
.hero-marquee {
  overflow: hidden;
  border-block: 1px solid var(--c-line-soft);
  padding-block: var(--sp-3);
  margin-top: var(--sp-6);
}
.hero-marquee__track {
  display: flex; gap: var(--sp-6);
  white-space: nowrap;
  font-size: var(--fs-micro); letter-spacing: var(--ls-wide);
  text-transform: uppercase; color: var(--c-ink-mute);
  animation: marquee 26s linear infinite;
  will-change: transform;
}
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .hero-marquee__track { animation: none; } }
