html, body.landing-body {
  height: 100%;
  overflow: hidden;
}

.split-wrap {
  display: flex;
  height: 100svh;
  width: 100%;
}

.split-panel {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: flex 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.panel-a { background: radial-gradient(circle at 30% 30%, rgba(124, 92, 255, 0.16), transparent 55%), var(--bg); }
.panel-b { background: radial-gradient(circle at 50% 50%, rgba(255, 107, 157, 0.14), transparent 55%), var(--bg); }
.panel-c { background: radial-gradient(circle at 70% 70%, rgba(41, 211, 200, 0.16), transparent 55%), var(--bg); }

.panel-glow {
  position: absolute;
  inset: -20%;
  opacity: 0;
  filter: blur(60px);
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.panel-a .panel-glow { background: radial-gradient(circle at 40% 40%, var(--accent-1), transparent 60%); }
.panel-b .panel-glow { background: radial-gradient(circle at 50% 50%, var(--accent-3), transparent 60%); }
.panel-c .panel-glow { background: radial-gradient(circle at 60% 60%, var(--accent-2), transparent 60%); }
.split-panel:hover .panel-glow { opacity: 0.35; }

.panel-content {
  position: relative;
  z-index: 1;
  text-align: center;
  transform: translateY(0);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
  padding: 0 20px;
}

.panel-index {
  display: block;
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  margin-bottom: 18px;
}

.panel-name {
  font-size: clamp(1.6rem, 3.4vw, 2.8rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.panel-role {
  margin-top: 14px;
  font-family: var(--font-mono);
  color: var(--text-muted);
  font-size: clamp(0.85rem, 1.3vw, 1rem);
}

.panel-cta {
  display: inline-block;
  margin-top: 30px;
  font-size: 0.85rem;
  color: var(--text-muted);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.panel-a .panel-name { background: linear-gradient(120deg, var(--accent-1), var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.panel-b .panel-name { background: linear-gradient(120deg, var(--accent-3), var(--accent-1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.panel-c .panel-name { background: linear-gradient(120deg, var(--accent-2), var(--accent-3)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.split-panel:hover .panel-cta { opacity: 1; transform: translateY(0); }
.split-panel:hover .panel-content { transform: translateY(-6px); }

.split-panel.panel-active { flex: 1.35; }
.split-panel.panel-dim { flex: 0.72; }
.split-panel.panel-dim .panel-content { opacity: 0.4; transform: scale(0.92); }
.split-panel.panel-dim .panel-glow { opacity: 0 !important; }

.split-divider {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  z-index: 2;
}

.divider-word {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.3em;
  color: var(--text-muted);
  padding: 24px 9px;
  white-space: nowrap;
}

@media (max-width: 860px) {
  .split-wrap { flex-direction: column; }
  .split-divider { border-left: none; border-right: none; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .divider-word { writing-mode: horizontal-tb; transform: none; padding: 6px 16px; font-size: 0.65rem; }
  .split-panel.panel-active,
  .split-panel.panel-dim { flex: 1; }
  .split-panel.panel-dim .panel-content { opacity: 1; transform: none; }
  .panel-cta { opacity: 1; transform: none; }
}
