/* =========================================================
   LAYOUT — top bar, hero grid, sticky behavior, responsive
   ========================================================= */

/* ---------- Top bar ---------- */
.topbar {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--topbar-pad-y) var(--topbar-pad-x);
  pointer-events: none;
}
.topbar > * { pointer-events: auto; }

.wordmark {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  mix-blend-mode: difference;
}
.wordmark__logo {
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.02em;
}
.wordmark__divider {
  width: 1px;
  height: 22px;
  background: currentColor;
  opacity: 0.6;
}
.wordmark__powered {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.wordmark__powered-small {
  font-weight: 400;
  opacity: 0.7;
  display: block;
}
.wordmark__powered-name {
  font-weight: 700;
  letter-spacing: 0.12em;
}

.partner-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--c-ink);
}

/* ---------- Hero grid ---------- */
.hero {
  display: grid;
  grid-template-columns: 45% 55%;
  min-height: 100vh;
}

/* ---------- Hero right column (sticky text) ---------- */
.hero-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 80px;
  position: sticky;
  top: 0;
  height: 100vh;
}

.hero-text__headline {
  font-size: clamp(48px, 6.4vw, 110px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--c-ink);
  margin-bottom: 36px;
}

.hero-text__subline {
  font-family: var(--ff-sans);
  font-size: clamp(16px, 1.15vw, 18px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.005em;
  color: var(--c-ink-soft);
  max-width: 460px;
  margin-bottom: 44px;
  opacity: 0;
  animation: fadeUp 0.9s 0.7s ease forwards;
}

.cta-row {
  display: flex;
  gap: 12px;
  opacity: 0;
  animation: fadeUp 0.9s 0.85s ease forwards;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero-text {
    padding: 60px 32px;
    height: auto;
    min-height: 80vh;
    position: static;
  }
  .topbar { padding: 20px 24px; }
}
